
:root{--paper:#f7f1e6;--ink:#363b28;--olive:#565d38;--line:#d8d2c3;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b78548;outline-offset:5px}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:10px 5%;background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand img{width:156px;height:76px;object-fit:contain}nav{display:flex;align-items:center;gap:34px;font-size:13px}nav a:not(.button){padding:8px 0}nav a:hover{opacity:.7}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 25px;border:1px solid var(--olive);background:var(--olive);color:var(--paper);font-size:12px;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.outline{background:transparent;color:inherit;border-color:currentColor}.hero{min-height:670px;height:calc(100svh - 96px);max-height:950px;position:relative;display:flex;align-items:center;color:#fff}.hero video,.hero>.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,rgba(23,28,17,.76),rgba(23,28,17,.12))}.hero-content{position:relative;width:100%;padding:65px 8%}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:3px;display:block;margin-bottom:22px}h1,h2,h3,p{margin-top:0}h1{font:clamp(54px,6.4vw,94px)/1.06 var(--serif);font-weight:400;max-width:800px;letter-spacing:-2px;margin-bottom:25px}h1 em,h2 em{font-weight:400} .hero p{max-width:390px;font-size:16px;color:#eee9dd}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-bottom{position:absolute;bottom:26px;left:8%;right:8%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px;text-transform:uppercase}.video-toggle{color:#fff;background:transparent;border:1px solid #ffffff77;padding:6px 12px;cursor:pointer;font-size:11px}.strap{display:flex;justify-content:space-around;gap:25px;flex-wrap:wrap;padding:24px 5%;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:2px;text-transform:uppercase}section{padding:100px 8%}h2{font:clamp(38px,4.1vw,62px)/1.12 var(--serif);letter-spacing:-1px;font-weight:400;margin-bottom:25px}.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.story p{max-width:460px;color:#646654}.story figure{margin:0;position:relative}.story img{width:100%;height:470px;object-fit:cover;border-radius:48% 48% 0 0}.story figcaption{font-size:11px;letter-spacing:1px;margin-top:16px}.text-link{display:inline-block;margin-top:15px;border-bottom:1px solid;padding-bottom:5px;font-size:13px}.menu{background:#eae5d8}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-top p{max-width:320px;color:#646654}.tabs{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid #c8c8b5;margin:25px 0 10px}.tabs button{background:transparent;border:0;border-bottom:2px solid transparent;padding:15px 20px;color:var(--ink);cursor:pointer;font-size:13px}.tabs button[aria-pressed=true]{border-color:var(--olive);font-weight:bold}.dishes{display:grid;grid-template-columns:1fr 1fr;column-gap:80px}.dish{padding:27px 0;border-bottom:1px solid #cbcbbb}.dish h3{font:27px var(--serif);margin-bottom:5px}.dish p{font-size:14px;color:#666854;margin:0}.note{font-size:12px;color:#676956;margin:26px 0 0}.invite{background:var(--olive);color:var(--paper);display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.invite p{color:#e0e0d0;max-width:390px}.word{font:italic 46px var(--serif);margin-bottom:20px}.definition{border-left:1px solid #a6aa8c;padding-left:45px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact{margin:35px 0}.contact a{display:block;width:fit-content}.contact a:hover{text-decoration:underline}.booking{border:1px solid var(--line);padding:35px}.booking h3{font:32px var(--serif);margin-bottom:12px}.booking p{font-size:13px;color:#686a59}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px}input,select{display:block;width:100%;min-width:0;margin-top:5px;border:1px solid var(--line);padding:11px;background:#fffcf6;color:var(--ink);border-radius:0}.full{grid-column:1/-1}.booking .button{margin-top:20px;width:100%}footer{padding:35px 8%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px}footer img{width:140px}footer p{margin:0}.mobile-menu{display:none}@media(max-width:760px){header{height:80px;padding:8px 6%}.brand img{width:125px;height:64px}nav{gap:15px}header nav>a:not(.button){display:none}nav .button{padding:10px 14px;font-size:10px}.hero{min-height:640px;height:calc(100svh - 80px)}.hero-content{padding:60px 7%}h1{font-size:57px;letter-spacing:-1.5px}.hero p{max-width:310px}.hero-bottom{left:7%;right:7%;font-size:9px}.strap{font-size:9px;gap:10px;padding:20px}.strap span:last-child{display:none}section{padding:65px 7%}.story,.invite,.visit{grid-template-columns:1fr;gap:40px}.story img{height:380px}.section-top{display:block}.dishes{grid-template-columns:1fr}.definition{padding-left:25px}.booking{padding:24px}footer{padding:25px 7%;flex-wrap:wrap}h2{font-size:43px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Shared navigation, page layouts and accessible mobile controls. */
[hidden]{display:none!important}.skip{position:fixed;left:15px;top:-100px;z-index:30;background:var(--paper);padding:12px}.skip:focus{top:10px}.nav-toggle{display:none}nav a[aria-current=page]:not(.button){border-bottom:1px solid var(--ink)}.breadcrumb{padding:24px 8% 0;font-size:12px;color:#62674e}.breadcrumb a{text-decoration:underline}.page-intro{padding-bottom:60px;max-width:1300px}.page-intro h1{font-size:clamp(50px,6vw,80px);max-width:900px}.page-intro>p{max-width:630px;color:#646654;font-size:18px}.compact{padding-top:65px;padding-bottom:65px}.small-heading{font:30px/1.2 var(--serif);margin:25px 0 15px}.menu-jumps{display:flex;gap:30px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px}.menu-jumps a{font-size:14px}.menu-section{padding-top:55px;scroll-margin-top:110px}.menu-section h2{font-size:40px}.dish-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.dish-list li{padding:20px 0;border-bottom:1px solid #cccfbd;font:27px var(--serif)}.menu-notice{margin-top:50px;max-width:750px}.menu-notice h3{font:30px var(--serif)}.menu-notice p{font-size:14px}.booking-page{padding-top:25px;align-items:start}.copy-email{border:0;border-bottom:1px solid;background:none;color:inherit;cursor:pointer;padding:0}.faq{padding-top:25px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font:22px/1.4 var(--serif);cursor:pointer}.faq details p{max-width:750px;margin:20px 0 0}.faq a{text-decoration:underline}.prose{max-width:1000px;padding-top:0}.prose h2{font-size:30px;margin-top:38px}.prose a{text-decoration:underline}address{font-style:normal}.footer-links{display:flex;gap:17px;flex-wrap:wrap}.footer-links a:hover{text-decoration:underline}.mobile-cta{display:none}footer{flex-wrap:wrap}.hero video{object-position:center}button:disabled{opacity:.6}a.button:hover{filter:brightness(.94)}@media(max-width:760px){.nav-toggle{display:block;background:transparent;border:1px solid var(--line);padding:9px 13px;color:var(--ink);font-size:13px;cursor:pointer}header nav{position:absolute;left:0;right:0;top:80px;background:var(--paper);padding:20px 7%;border-bottom:1px solid var(--line);display:flex;align-items:stretch;flex-direction:column;gap:10px}header nav>a:not(.button){display:block}html.js header nav:not(.is-open){display:none}html:not(.js) header{height:auto;min-height:80px;flex-wrap:wrap}html:not(.js) header nav{position:static;flex-direction:row;flex-wrap:wrap;padding:10px 0}html:not(.js) .nav-toggle{display:none}.breadcrumb{padding:20px 7% 0}.page-intro{padding-top:50px;padding-bottom:40px}.page-intro h1{font-size:49px}.page-intro>p{font-size:16px}.dish-list{grid-template-columns:1fr}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;background:var(--paper);padding:9px 12px max(9px,env(safe-area-inset-bottom));gap:8px;z-index:11;border-top:1px solid var(--line)}body{padding-bottom:70px}.mobile-cta .button{font-size:10px;padding:11px}.mobile-cta .button:first-child{background:var(--paper);color:var(--ink)}footer{align-items:start}.menu-jumps{display:flex;position:static;flex-direction:row}.menu-jumps a{display:block}.prose{overflow-wrap:anywhere}.hero{max-height:none}.fields{gap:12px}.contact a{overflow-wrap:anywhere}.booking p{overflow-wrap:anywhere}}
.food-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:45px 0 15px}.food-gallery figure{margin:0}.food-gallery img{display:block;width:100%;height:440px;object-fit:cover}.food-gallery figure:first-child img{object-position:center 35%}.food-gallery figcaption{font:italic 22px Georgia,serif;margin-top:13px}.menu-body>.food-gallery{margin:0 0 55px}.menu-body>.food-gallery img{height:380px}@media(max-width:760px){.food-gallery{gap:15px}.food-gallery img,.menu-body>.food-gallery img{height:270px}.food-gallery figcaption{font-size:17px}}
.priced-dishes{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem;text-align:left}.priced-dishes li{border-bottom:1px solid #555a3430;padding:1.4rem 0}.dish-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.dish-heading h3{font-size:1.3rem;margin:0}.dish-price{white-space:nowrap;font-variant-numeric:tabular-nums}.priced-dishes p{font-size:.95rem;line-height:1.65;margin:.6rem 0 0;max-width:48ch}.gift-card{background:#f1e5d2;border:1px solid #555a3460;box-shadow:0 18px 40px #25271418;padding:3rem 2rem;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:350px}.gift-card img{width:min(100%,300px);height:auto}.gift-card p{font-family:Georgia,serif;font-style:italic;font-size:1.4rem}.gift-teaser{text-align:center;background:#e9e5d7;padding:5rem 1.5rem}.gift-teaser p{margin:1.5rem auto}.menu-jumps{flex-wrap:wrap}.voucher-section>div{min-width:0}@media(max-width:760px){.priced-dishes{grid-template-columns:1fr}.dish-heading h3{font-size:1.2rem}.gift-card{padding:2rem 1rem;min-height:280px}}@media(min-width:761px) and (max-width:1100px){header{flex-wrap:wrap}header nav{gap:1rem}}

.hours{max-width:420px}.hours div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}.hours dd{margin:0;white-space:nowrap}.menu-section{padding-left:0;padding-right:0;padding-bottom:0}.story>*,.visit>*{min-width:0}footer a{overflow-wrap:anywhere}@media(max-width:380px){h1{font-size:47px}.page-intro h1{font-size:43px}.fields{grid-template-columns:1fr}.food-gallery{grid-template-columns:1fr}}

.voucher-amounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.voucher-amounts .button{letter-spacing:.5px;padding:15px 10px}.voucher-delivery{border-left:3px solid var(--olive);padding-left:18px;margin-top:24px}.voucher-delivery h3{font:25px var(--serif);margin-bottom:12px}.voucher-terms{border-block:1px solid var(--line);padding:18px 0}.voucher-terms summary{cursor:pointer;font-weight:bold}.voucher-terms p{margin-top:18px}.voucher-section{align-items:start}
/* Crawlable shortcuts to the restaurant's main visitor tasks. */
.quick-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem;padding:1.2rem;background:#f4efe5;color:#555a34}.quick-links a{text-decoration:underline;text-underline-offset:4px;font-size:.95rem}.quick-links a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
/* Mobile-first comfort: resilient text, touch controls and safe-area clearance. */
img,video{max-width:100%}input,select{font-size:16px;min-height:48px}
.button,.nav-toggle,.video-toggle{min-height:44px;touch-action:manipulation}
.contact a,.footer-links a,.menu-jumps a,.quick-links a{min-height:44px;display:inline-flex;align-items:center}
.contact a{display:flex}.dish-heading h3{min-width:0;overflow-wrap:anywhere}
.booking,.fields,.fields label{min-width:0}.booking input,.booking select{max-width:100%}
@media(min-width:761px) and (max-width:1100px){header{height:auto;min-height:96px;gap:8px}header nav{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:760px){
 html{scroll-padding-top:96px;scroll-padding-bottom:110px}
 body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
 header nav{max-height:calc(100dvh - 174px);overflow-y:auto;overscroll-behavior:contain}
 header nav a{min-height:44px;display:flex;align-items:center}
 .hero{height:auto;min-height:clamp(500px,calc(100svh - 160px),700px)}
 .hero-content{padding:52px 7% 100px}
 h1{font-size:clamp(39px,10.8vw,57px)}
 .page-intro h1{font-size:clamp(36px,10vw,49px)}
 h2{font-size:clamp(34px,9vw,43px)}
 .hero-bottom{align-items:center;gap:12px;bottom:22px}
 .hero-bottom>span{max-width:60%;letter-spacing:1px}
 .hero .actions{display:grid;grid-template-columns:1fr;max-width:360px}
 .quick-links{gap:8px 16px;padding:16px 7%;justify-content:flex-start}
 .quick-links a{font-size:14px;padding:4px 0}
 .story img{height:auto;aspect-ratio:4/3;object-fit:cover}
 .story .gift-card img{aspect-ratio:auto;height:auto;border-radius:0}
 .booking{padding:22px 18px}.fields{grid-template-columns:minmax(0,1fr);gap:16px}
 .fields label{font-size:14px}.booking p{font-size:14px}
 .voucher-amounts{grid-template-columns:minmax(0,1fr)}
 .voucher-amounts .button{min-height:52px;font-size:13px}
 .voucher-section .gift-card{min-height:230px}
 .gift-card img{max-width:240px}
 .mobile-cta{padding:10px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
 .mobile-cta .button{min-height:48px;font-size:11px;letter-spacing:.7px}
 .mobile-cta.is-keyboard-open{display:none}
 .footer-links{gap:4px 18px}footer{font-size:13px}
 .copy-email{min-height:44px}.faq summary,.voucher-terms summary{min-height:44px}
 .food-gallery{grid-template-columns:minmax(0,1fr)}
 .food-gallery img,.menu-body>.food-gallery img{height:auto;aspect-ratio:4/3;object-fit:cover}
 .menu-jumps{gap:6px 20px}.menu-section{scroll-margin-top:96px}
}
