:root{--paper:#f7f4ec;--ink:#263d2d;--muted:#5a6354;--sage:#e7ecdf;--line:#d6d8ca;--accent:#916344;--white:#fffdf7;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--header-height:100px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.045em}h2{font-size:clamp(42px,4.3vw,64px)}p{color:var(--muted)}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section-space{padding-block:110px}.skip-link{position:fixed;left:20px;top:-100px;padding:12px 22px;background:var(--ink);color:var(--paper);z-index:100}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{display:flex;align-items:baseline;gap:10px;white-space:nowrap;line-height:1.1}.wordmark span:first-child{font-family:var(--serif);font-size:39px;font-weight:500;letter-spacing:-2.4px}.wordmark span:last-child{font-size:15px;font-weight:600;letter-spacing:-.25px}.navigation{display:flex;align-items:center;gap:39px;font-size:15px;font-weight:500}.navigation>a:not(.header-call){position:relative;padding-block:12px}.navigation>a:not(.header-call)::after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.navigation>a:hover::after,.navigation>a[aria-current=page]::after{transform:scaleX(1)}.header-call{display:flex;align-items:center;gap:20px;border:1px solid var(--ink);border-radius:50px;padding:11px 22px;margin-left:10px}.header-call:hover{background:var(--ink);color:var(--paper)}.nav-toggle{display:none}.hero{display:grid;grid-template-columns:.93fr 1.07fr;gap:60px;align-items:center;padding-block:50px 88px}.hero-copy{padding-block:35px}.hero h1{font-size:clamp(60px,6.35vw,94px);line-height:1.035;letter-spacing:-.045em}.hero h1 em{color:var(--accent);font-weight:400;font-style:normal}.hero-copy>p{font-size:18px;line-height:1.7;max-width:390px;margin-top:29px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:50px;padding:16px 25px;font-size:15px;font-weight:600;line-height:1.5;transition:background .2s,color .2s,transform .2s}.button>span{font-size:20px;line-height:1}.button:hover{background:#3c5540;transform:translateY(-2px)}.text-link{display:inline-flex;gap:23px;align-items:center;font-size:15px;font-weight:600;padding-block:8px;border-bottom:1px solid var(--ink);line-height:1.5}.text-link>span{font-size:21px;line-height:1}.text-link:hover{color:var(--accent);border-color:var(--accent)}.hero-photos{position:relative;padding-left:24px}.hero-photo{width:100%;height:650px;object-fit:cover;object-position:52% 50%;border-radius:270px 270px 16px 16px}.coffee-inset{position:absolute;width:185px;height:185px;object-fit:cover;border:9px solid var(--paper);border-radius:50%;left:-35px;bottom:28px}.menu-preview{background:var(--sage)}.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:end;margin-bottom:46px}.section-heading>div{max-width:340px;justify-self:end}.section-heading p{margin-bottom:13px}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.food-image{overflow:hidden;border-radius:140px 140px 5px 5px;aspect-ratio:1.12}.food-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.food-card:hover .food-image img{transform:scale(1.045)}.food-card-heading{display:flex;gap:18px;align-items:center;justify-content:space-between;margin:24px 0 12px}.food-card h3{font-size:27px;line-height:1.2;letter-spacing:-.04em}.food-card-heading>span{font-size:25px;line-height:1}.food-card>p{font-size:15px;max-width:290px;line-height:1.6}.place-grid{display:grid;grid-template-columns:1fr .85fr;gap:105px;align-items:center}.place-photo img{width:100%;aspect-ratio:1.13;object-fit:cover;border-radius:8px 8px 180px 8px}.place-copy p{margin-top:25px;font-size:17px;line-height:1.75}.place-copy .text-link{margin-top:22px}.visit{background:var(--ink);color:var(--paper);padding-bottom:96px}.visit p{color:#d4dbcc}.visit-intro{display:flex;align-items:end;justify-content:space-between;gap:35px;padding-bottom:53px;border-bottom:1px solid #70806c}.visit-intro p{font-size:17px;padding-bottom:7px}.visit-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:70px;padding-top:50px}.visit h3{font-family:var(--sans);font-size:19px;letter-spacing:-.4px;font-weight:500;margin-bottom:23px}.visit address{font-style:normal;font-size:18px;line-height:1.7}.button-light{background:var(--paper);color:var(--ink);border-color:var(--paper);margin-top:28px}.button-light:hover{background:#dfe6d4}.opening-hours{margin:0;font-size:16px}.opening-hours>div{display:flex;justify-content:space-between;gap:20px;margin-bottom:12px}.opening-hours dd{margin:0;white-space:nowrap}.contact-phone{display:flex;align-items:center;gap:24px;font-size:20px;line-height:1.4}.contact-email{display:inline-block;font-size:16px;margin-top:15px;overflow-wrap:anywhere}.social-link{display:flex;width:fit-content;gap:20px;font-size:15px;border-bottom:1px solid #a2b09a;padding-bottom:5px;margin-top:30px}.visit-contact a:hover{color:#d3e4bf}.site-footer{padding-block:40px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.footer-inner .wordmark span:first-child{font-size:31px}.footer-inner .wordmark span:last-child{font-size:13px}.footer-inner p,.footer-inner>a:last-child{font-size:13px}.footer-inner>a:last-child{display:flex;gap:18px;align-items:center}.mobile-actions{display:none}

/* Menu */
.menu-intro{display:grid;grid-template-columns:1fr 340px;gap:90px;align-items:center;padding-block:65px}.menu-intro h1{font-size:clamp(64px,7.5vw,104px)}.menu-intro p{max-width:480px;font-size:18px;margin-top:24px}.menu-intro img{width:340px;height:230px;object-fit:cover;border-radius:140px 140px 6px 6px}.menu-category-bar{position:sticky;top:var(--header-height);z-index:20;border-block:1px solid var(--line);background:var(--paper)}.menu-categories{display:flex;gap:34px;overflow-x:auto;scrollbar-width:none;align-items:center}.menu-categories::-webkit-scrollbar{display:none}.menu-categories a{flex-shrink:0;position:relative;display:block;padding-block:22px;font-size:16px;font-weight:500}.menu-categories a::after{content:'';height:3px;position:absolute;bottom:0;left:0;right:0;background:var(--ink);transform:scaleX(0);transition:transform .2s}.menu-categories a[aria-current=location]::after,.menu-categories a:hover::after{transform:scaleX(1)}.menu-sections{padding-block:12px 100px}.menu-section{scroll-margin-top:65px;padding-block:65px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:270px 1fr;gap:65px}.menu-section:last-child{border-bottom:0}.menu-section-heading h2{font-size:43px;line-height:1.15}.menu-section-heading>p{margin-top:18px;font-size:15px;max-width:220px}.menu-subsection+.menu-subsection{margin-top:48px}.menu-subsection>h3{font-size:27px;margin-bottom:24px;letter-spacing:-.03em}.menu-subsection>p{margin:-10px 0 24px;font-size:15px}.menu-items{display:grid;grid-template-columns:1fr 1fr;column-gap:45px;row-gap:34px}.menu-item{min-width:0}.dish-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:9px}.dish-heading h3{font-family:var(--sans);font-size:17px;font-weight:600;letter-spacing:-.3px;line-height:1.4}.dish-price{font-size:17px;white-space:nowrap;font-variant-numeric:tabular-nums}.menu-item>p{font-size:15px;line-height:1.65}.dish-options{margin:12px 0 0;padding:0;list-style:none;font-size:14px}.dish-options li{display:flex;justify-content:space-between;gap:15px;padding-block:4px}.dish-choices{margin:12px 0 0;padding:0;list-style:none;font-size:14px;color:var(--muted)}.dish-choices li+li{margin-top:7px}.dish-choices strong{font-weight:500;color:var(--ink)}.dish-extras{font-size:14px!important;margin-top:10px;color:var(--muted)}.category-extras{font-size:14px;margin-top:25px}.menu-visit{background:var(--sage);padding-block:65px}.menu-visit .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.menu-visit h2{font-size:49px}.menu-visit p{margin-top:15px}.menu-visit .button{white-space:nowrap}

@media(min-width:1600px){.hero{gap:90px}.hero-photo{height:690px}}
@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.navigation{gap:26px}.hero{gap:32px}.hero h1{font-size:7vw}.hero-photo{height:580px}.hero-actions{gap:20px}.hero-actions .button{gap:18px;padding-inline:21px}.coffee-inset{width:155px;height:155px;left:-20px}.section-heading{gap:60px}.place-grid{gap:65px}.visit-grid{gap:35px}.visit-grid .opening-hours{font-size:14px}.menu-section{grid-template-columns:215px 1fr;gap:40px}.menu-items{gap:32px}.menu-intro{gap:60px}.footer-inner p{display:none}}
@media(max-width:850px){:root{--header-height:88px}.wrap{width:calc(100% - 48px)}.navigation{gap:23px}.header-call{display:none}.hero{gap:15px;padding-top:35px;padding-bottom:65px}.hero h1{font-size:7.45vw}.hero-copy>p{font-size:16px;max-width:310px}.hero-photo{height:510px}.coffee-inset{width:140px;height:140px;left:-8px;bottom:16px;border-width:7px}.hero-photos{padding-left:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px;margin-top:25px}.section-space{padding-block:80px}.section-heading{gap:45px;margin-bottom:35px}.section-heading p{font-size:15px}.food-grid{gap:21px}.food-card h3{font-size:23px}.food-card>p{font-size:14px}.place-grid{gap:40px;grid-template-columns:1fr 1fr}.place-copy p{font-size:15px;margin-top:20px}.visit-intro{display:block}.visit-intro p{margin-top:20px}.visit-grid{grid-template-columns:1fr 1fr;gap:45px}.visit-contact{grid-column:1/-1}.contact-phone{display:inline-flex}.contact-email{display:inline-block;margin-left:40px}.social-link{display:flex;width:fit-content;margin-top:22px}.menu-intro{grid-template-columns:1fr 250px;gap:30px;padding-block:45px}.menu-intro img{width:250px;height:210px}.menu-intro p{font-size:16px}.menu-section{grid-template-columns:1fr;gap:30px;padding-block:45px}.menu-section-heading>p{max-width:none;margin-top:12px}.menu-items{column-gap:45px}.menu-categories{gap:30px}.menu-categories a{font-size:15px;padding-block:18px}.menu-visit h2{font-size:40px}}
@media(max-width:600px){:root{--header-height:80px}html{scroll-padding-top:100px}body{font-size:16px}.wrap{width:calc(100% - 40px)}.header-inner{gap:16px}.wordmark{gap:8px}.wordmark span:first-child{font-size:33px;letter-spacing:-2px}.wordmark span:last-child{font-size:13px}.navigation{gap:12px}.navigation>a:not(.header-call){padding:12px 0}.js .nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:46px;height:46px;border:1px solid var(--line);background:none;border-radius:50%;flex-shrink:0}.nav-toggle span{width:19px;height:1px;background:var(--ink);transition:transform .2s}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.js .navigation{display:none;position:absolute;top:var(--header-height);left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:2px;box-shadow:0 12px 20px #263d2d0c}.js .navigation.is-open{display:flex}.js .navigation>a{padding:12px 5px;font-size:18px}.navigation>a:not(.header-call)::after{display:none}.js .navigation .header-call{display:flex;margin:12px 0 5px;justify-content:center;gap:25px;font-size:16px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding-block:39px 55px}.hero-copy{padding:0}.hero h1{font-size:clamp(55px,14.1vw,80px);line-height:1.04;letter-spacing:-.05em}.hero-copy>p{max-width:330px;font-size:16px;line-height:1.65;margin-top:22px}.hero-actions{flex-direction:row;align-items:center;gap:19px;margin-top:25px}.button{font-size:14px;padding:14px 20px;gap:25px}.hero-actions .button{gap:17px;padding-inline:19px}.text-link{font-size:14px;gap:12px}.hero-photos{padding-left:24px;margin-top:9px}.hero-photo{height:365px;width:100%;border-radius:180px 180px 9px 9px;object-position:50% 48%}.coffee-inset{width:132px;height:132px;bottom:13px;left:-2px;border-width:7px}.section-space{padding-block:62px}h2{font-size:43px;letter-spacing:-.05em}.section-heading{display:block;margin-bottom:32px}.section-heading>div{max-width:310px;margin-top:22px}.section-heading p{margin-bottom:9px}.food-grid{display:flex;flex-direction:column;gap:36px}.food-image{aspect-ratio:1.28;border-radius:155px 155px 5px 5px}.food-card-heading{margin-top:19px;margin-bottom:8px}.food-card h3{font-size:29px}.food-card>p{font-size:15px;max-width:none}.place-grid{display:flex;flex-direction:column;gap:35px}.place-photo{width:100%}.place-photo img{aspect-ratio:1.15;border-bottom-right-radius:130px}.place-copy p{font-size:16px;line-height:1.75;margin-top:21px}.place-copy .text-link{margin-top:20px}.visit-intro{padding-bottom:30px}.visit-intro h2{font-size:45px}.visit-intro p{font-size:16px;margin-top:18px}.visit-grid{grid-template-columns:1fr;gap:38px;padding-top:32px}.visit h3{font-size:18px;margin-bottom:16px}.visit address{font-size:17px}.button-light{margin-top:23px}.visit-grid .opening-hours{font-size:16px;max-width:340px}.opening-hours>div{margin-bottom:9px}.visit-contact{grid-column:auto}.contact-phone{display:flex;font-size:20px}.contact-email{display:block;margin:12px 0 0}.social-link{margin-top:22px}.site-footer{padding-block:32px 96px}.footer-inner{display:block}.footer-inner .wordmark span:first-child{font-size:33px}.footer-inner>a:last-child{margin-top:22px;font-size:14px}.mobile-actions{display:grid;grid-template-columns:1fr 1.2fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:35;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -4px 20px #263d2d08;padding-bottom:env(safe-area-inset-bottom)}.mobile-actions>a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;font-size:14px;font-weight:600}.mobile-actions>a:first-child{background:var(--ink);color:var(--paper)}.mobile-actions>a:nth-child(2){border-right:1px solid var(--line)}.menu-intro{display:block;padding-block:40px 35px}.menu-intro h1{font-size:70px}.menu-intro p{margin-top:20px;font-size:16px;max-width:330px}.menu-intro img{display:none}.menu-categories{gap:28px;width:calc(100% - 40px)}.menu-categories a{font-size:15px;padding-block:17px}.menu-sections{padding-block:0 45px}.menu-section{padding-block:38px;gap:27px;scroll-margin-top:60px}.menu-section-heading h2{font-size:37px}.menu-section-heading>p{font-size:14px;max-width:320px}.menu-items{grid-template-columns:1fr;gap:28px}.dish-heading{gap:15px;margin-bottom:7px}.dish-heading h3{font-size:17px}.dish-price{font-size:17px}.menu-item>p{font-size:15px}.dish-options,.dish-choices,.dish-extras{font-size:14px}.dish-choices{margin-top:9px}.dish-options li{padding-block:3px}.menu-subsection+.menu-subsection{margin-top:40px}.menu-subsection>h3{font-size:27px;margin-bottom:22px}.menu-visit{padding-block:45px}.menu-visit .wrap{display:block}.menu-visit h2{font-size:42px}.menu-visit .button{margin-top:25px}.menu-visit p{font-size:16px;max-width:290px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:54px}.hero-actions{gap:14px}.hero-actions .button{padding-inline:16px;font-size:13px}.hero-actions .text-link{font-size:13px}.wordmark span:first-child{font-size:30px}.wordmark span:last-child{font-size:12px}.hero-photo{height:335px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

@media(max-width:600px){html:not(.js) .header-inner{height:auto;min-height:var(--header-height);flex-wrap:wrap;padding-block:19px;row-gap:12px}html:not(.js) .navigation{flex-basis:100%;justify-content:space-between;gap:20px}html:not(.js) .navigation>a:not(.header-call){padding-block:3px}}

@media(max-width:600px){html:not(.js) .site-header{position:relative}html:not(.js) .menu-category-bar{top:0}}

/* Keep navigation, anchors and fixed actions usable when text grows. */
html{scroll-padding-top:calc(var(--measured-header-height,var(--header-height)) + 25px)}
h1,h2,h3{overflow-wrap:anywhere}
.button{max-width:100%;min-width:0}
.button>span{flex-shrink:0}
.menu-category-bar{top:var(--measured-header-height,var(--header-height))}
.menu-section{scroll-margin-top:var(--measured-categories-height,65px)}
@media(max-width:600px){
  html{scroll-padding-top:calc(var(--measured-header-height,var(--header-height)) + 20px);scroll-padding-bottom:calc(var(--measured-mobile-actions-height,58px) + 16px)}
  .header-inner{height:auto;min-height:var(--header-height);padding-block:12px}
  .header-inner .wordmark{min-width:0;flex-wrap:wrap;white-space:normal;row-gap:0}
  .header-inner .wordmark>span{white-space:nowrap}
  .js .navigation{top:100%;max-height:calc(100svh - var(--measured-header-height,var(--header-height)) - var(--measured-mobile-actions-height,58px));overflow-y:auto;overscroll-behavior:contain}
  .mobile-actions>a{min-width:0;padding:10px 6px;flex-wrap:wrap;column-gap:6px;row-gap:0;line-height:1.25;overflow-wrap:anywhere}
  .site-footer{padding-bottom:calc(var(--measured-mobile-actions-height,58px) + 38px)}
  .site-footer .wordmark{min-width:0;flex-wrap:wrap;white-space:normal;row-gap:0}
  .site-footer .wordmark>span{white-space:nowrap}
  .menu-intro h1{font-size:clamp(54px,17vw,70px)}
  .menu-visit .button{white-space:normal}
  .contact-phone{flex-wrap:wrap;row-gap:4px;column-gap:16px}
  .opening-hours>div{flex-wrap:wrap;row-gap:2px}
  .opening-hours dd{margin-left:auto}
}
