@font-face{font-family:Fraunces;src:url('assets/fonts/fraunces-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-latin.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/fonts/barlow-condensed-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
:root{--cream:#f4eedb;--forest:#383e24;--forest-dark:#272d18;--gold:#ca4326;--ink:#303621;--muted:#696c58;--line:#383e242b;--white:#fff9e9;--heading:'DM Sans',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif;--display:'DM Sans',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
button:not(:disabled),a{touch-action:manipulation}
button{cursor:pointer}
::selection{background:var(--gold);color:var(--forest)}
:focus-visible{outline:3px solid #b37b00;outline-offset:5px}
[hidden]{display:none!important}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--heading);font-weight:650;letter-spacing:-.055em;line-height:1.05}
h2{font-size:clamp(40px,4.7vw,68px)}
h3{font-size:30px}
p{margin-bottom:1.3em}
.container{width:min(1280px,calc(100% - 104px));margin-inline:auto}
.section{padding-block:104px}
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;background:var(--gold);padding:12px 20px;transform:translateY(-150%);font-weight:700}
.skip-link:focus{transform:translateY(0)}
.icon{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 24px;border:1.5px solid var(--forest);border-radius:3px;background:var(--forest);color:var(--cream);font-size:15px;font-weight:750;line-height:1.3;transition:background .18s,color .18s,transform .18s}
.button:hover{background:var(--forest-dark);transform:translateY(-2px)}
.button-gold{background:var(--gold);color:var(--forest);border-color:var(--gold)}
.button-gold:hover{background:#edc661;border-color:#edc661}
.button-outline{color:var(--forest);background:transparent}
.button-outline:hover{background:var(--forest);color:var(--cream)}
.button-light{color:var(--forest);background:var(--cream);border-color:var(--cream)}
.button-light:hover{background:white}
.text-link{display:inline-flex;align-items:center;gap:15px;font-weight:700;font-size:15px;padding-block:9px;border-bottom:1px solid currentColor;line-height:1.4}
.text-link:hover .icon{transform:translateX(4px)}
.text-link .icon{transition:transform .18s}
.site-header{position:sticky;top:0;z-index:100;background:rgba(246,242,231,.97);border-bottom:1px solid var(--line)}
.header-inner{height:100px;display:flex;align-items:center;gap:48px}
.brand{display:inline-flex;align-items:center;flex:none;gap:13px}
.brand img{width:60px;height:65px;object-fit:contain;mix-blend-mode:multiply}
.brand-name{font-family:var(--display);font-size:30px;line-height:1;letter-spacing:.045em}
.main-nav{display:flex;align-items:center;gap:31px;margin-left:auto}
.main-nav>a{font-size:15px;font-weight:650;white-space:nowrap}
.main-nav>a:not(.button){padding:10px 0;position:relative}
.main-nav>a:not(.button)::after{content:'';position:absolute;inset:auto 0 4px;height:1px;background:var(--forest);transform:scaleX(0);transition:transform .18s;transform-origin:left}
.main-nav>a:hover::after,.main-nav>a[aria-current=page]::after{transform:scaleX(1)}
.main-nav .button{min-height:47px;padding:12px 19px;gap:14px}
.header-order{margin-left:6px}
.nav-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:3px;width:46px;height:46px;align-items:center;justify-content:center}
.nav-toggle .close-icon{display:none}
.nav-toggle[aria-expanded=true] .open-icon{display:none}
.nav-toggle[aria-expanded=true] .close-icon{display:block}
.hero{padding-top:44px;padding-bottom:72px}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}
.hero-copy{padding-bottom:12px}
.hero h1{font-size:clamp(70px,7.65vw,110px);line-height:.98;letter-spacing:-.065em;margin-bottom:30px;font-weight:680}
.hero h1 span{display:block}
.hero h1 .warm{color:#a66c29}
.hero-copy>p{max-width:375px;font-size:19px;line-height:1.6;margin-bottom:31px}
.hero-actions{display:flex;flex-wrap:wrap;gap:13px}
.hero-photo{position:relative;margin:0;isolation:isolate}
.hero-photo img{width:100%;height:642px;object-fit:cover;object-position:center 54%;border-radius:270px 270px 6px 6px}
.hero-photo::before{content:'';position:absolute;inset:18px -18px -18px 18px;border:1px solid #b9ab86;border-radius:270px 270px 6px 6px;z-index:-1}
.intro-rule{border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:80px;padding-top:30px;margin-top:76px;align-items:start}
.intro-rule p{font-size:18px;max-width:490px;margin-bottom:0}
.intro-rule .intro-statement{font-family:var(--heading);font-size:30px;line-height:1.3;letter-spacing:-.03em;max-width:570px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px}
.section-heading h2{margin-bottom:0;max-width:700px}
.section-heading .text-link{white-space:nowrap;margin-bottom:8px}
.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.food-card{display:block;min-width:0}
.food-card-image{overflow:hidden;border-radius:5px;background:#ded6c3}
.food-card-image img{width:100%;aspect-ratio:1.05;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.3,1)}
.food-card:hover img{transform:scale(1.035)}
.food-card:first-child img{object-position:center 58%}
.food-card:nth-child(2) img{object-position:center 65%}
.food-card:nth-child(3) img{object-position:center 50%}
.food-card-label{display:flex;align-items:center;justify-content:space-between;padding-top:22px;gap:12px}
.food-card h3{font-size:29px;margin:0}
.round-arrow{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;transition:background .18s}
.food-card:hover .round-arrow{background:var(--gold)}
.specials{background:var(--forest);color:var(--cream)}
.specials .section-heading{align-items:flex-start;margin-bottom:48px}
.specials .section-heading p{max-width:282px;margin:9px 0 0;color:#dddccc;font-size:17px}
.specials-list{border-top:1px solid #789184}
.special-row{display:grid;grid-template-columns:150px 1fr 135px 220px;gap:28px;align-items:center;border-bottom:1px solid #789184;padding:31px 0}
.special-day{font-size:17px;font-weight:600}
.special-name h3{font-size:34px;letter-spacing:-.04em;margin:0 0 8px}
.special-name p{color:#d9ded1;font-size:15px;margin:0}
.special-time{font-size:16px}
.special-prices{text-align:right;font-size:17px;line-height:1.8}
.special-prices strong{font-weight:750;color:var(--gold)}
.special-action{display:flex;justify-content:flex-end;margin-top:31px}
.breakfast-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.breakfast-copy h2{max-width:530px;margin-bottom:27px}
.breakfast-copy>p{max-width:400px;font-size:18px}
.breakfast-hours{font-size:20px!important;font-weight:700;margin-bottom:25px}
.breakfast-menu{padding:43px 40px;border:1px solid var(--forest);border-radius:4px;box-shadow:9px 9px 0 #e6dfc9}
.breakfast-menu h3{font-size:35px;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:8px}
.breakfast-item{padding-block:21px;border-bottom:1px solid var(--line)}
.breakfast-item:last-child{border:0;padding-bottom:0}
.breakfast-item-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:6px;font-size:18px;font-weight:750}
.breakfast-item-title span:last-child{white-space:nowrap;font-weight:550}
.breakfast-item p{font-size:15px;color:var(--muted);margin:0}
.breakfast-offers{margin-top:25px;padding:21px 22px 17px;background:#eae2c9;border-radius:3px}
.breakfast-offers h4{font-size:15px;font-weight:750;margin:0 0 13px}
.breakfast-offers p{font-size:14px;line-height:1.65;margin:0 0 8px}
.breakfast-offers strong{white-space:nowrap;margin-right:5px}
.breakfast-image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}
.coffee-scene{display:flex;gap:28px;align-items:center;margin-top:29px}
.coffee-scene img{width:139px;height:176px;object-fit:cover;object-position:center 70%;border-radius:70px 70px 3px 3px}
.coffee-scene p{font-family:var(--heading);font-size:22px;line-height:1.35;letter-spacing:-.03em;margin-bottom:13px}
.drinks{background:#eae1c5}
.drinks-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.drinks-image{width:100%;height:590px;object-fit:cover;object-position:center 49%;border-radius:5px}
.drinks-copy h2{margin-bottom:29px}
.drinks-copy p{max-width:375px;font-size:18px}
.drinks-copy .text-link{margin-left:24px}
.visit{padding-bottom:97px}
.visit-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:47px;gap:20px}
.visit-heading h2{margin:0}
.visit-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:80px;align-items:start}
.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.visit-details h3{font-family:var(--body);font-weight:750;letter-spacing:-.015em;font-size:20px;margin-bottom:19px}
.visit-details address{font-style:normal;line-height:1.7;font-size:17px}
.contact-links{margin-top:26px;display:grid;gap:7px}
.contact-links>a{font-size:16px;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--line)}
.social-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px}
.social-links a{font-weight:650;font-size:15px;text-decoration:underline}
.hours-list{margin:0;display:grid;gap:13px;font-size:15px}
.hours-row{display:grid;grid-template-columns:42px 1fr;gap:17px}
.hours-row dt{font-weight:750}
.hours-row dd{margin:0}
.hours-row dd span{display:block}
.map-frame{position:relative;aspect-ratio:1.25;border:1px solid var(--line);background:#e4e7db;border-radius:5px;overflow:hidden;display:block}
.map-frame>svg{display:block;width:100%;height:100%}
.map-frame>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 57%}
.map-action{position:absolute;bottom:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 19px;background:var(--cream);box-shadow:0 3px 15px #173e3210;font-size:15px;font-weight:700}
.gift-strip{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:39px;margin-top:61px}
.gift-strip h3{font-size:31px;margin-bottom:8px}
.gift-strip p{font-size:16px;margin:0}
.site-footer{background:var(--forest-dark);color:var(--cream);padding-block:47px 30px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:36px}
.footer-wordmark{font-family:var(--display);font-weight:600;font-size:clamp(50px,7vw,94px);line-height:1;letter-spacing:.025em}
.footer-links{display:flex;gap:30px;flex-wrap:wrap;justify-content:flex-end;font-size:15px;font-weight:600}
.footer-bottom{border-top:1px solid #426052;padding-top:23px;display:flex;justify-content:space-between;gap:25px;color:#c8d0c2;font-size:13px}
.footer-bottom p{margin:0}
.mobile-actions{display:none}
.menu-page .site-header{position:sticky}
.menu-heading{padding-block:64px 46px;border-bottom:1px solid var(--line)}
.menu-heading-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.menu-heading h1{font-size:clamp(64px,7.2vw,104px);margin-bottom:16px}
.menu-heading p{font-size:18px;margin:0;max-width:580px}
.menu-heading .text-link{margin-bottom:5px;white-space:nowrap}
.menu-controls{position:sticky;top:100px;z-index:70;background:var(--cream);border-bottom:1px solid var(--line)}
.menu-controls-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:18px}
.service-filters{display:flex;gap:8px;flex-wrap:wrap}
.service-filter{background:transparent;border:1px solid var(--line);padding:11px 19px;border-radius:3px;font-size:15px;font-weight:700;min-height:47px}
.service-filter:hover{border-color:var(--forest)}
.service-filter[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.menu-search{position:relative;display:block;width:250px;flex:none}
.menu-search>.icon{position:absolute;left:12px;top:15px;width:18px;height:18px}
.menu-search input{padding:12px 12px 12px 40px;border:1px solid var(--line);background:transparent;border-radius:3px;width:100%;height:47px;font-size:15px;color:var(--forest)}
.menu-search input::placeholder{color:var(--muted);opacity:1}
.menu-layout{display:grid;grid-template-columns:190px 1fr;gap:72px;padding-block:55px 100px;align-items:start}
.category-nav{position:sticky;top:206px;display:flex;flex-direction:column;gap:3px;padding-bottom:12px;max-height:calc(100svh - 235px);overflow-y:auto}
.category-nav a{padding:9px 11px;border-left:2px solid transparent;font-size:15px;line-height:1.4}
.category-nav a:hover,.category-nav a.is-active{border-color:var(--forest);background:#e9e5d7}
.menu-sections{min-width:0}
.menu-section{scroll-margin-top:205px;margin-bottom:57px}
.menu-section:last-child{margin-bottom:0}
.menu-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:1.5px solid var(--forest);padding-bottom:17px;margin-bottom:6px}
.menu-section h2{font-size:41px;letter-spacing:-.045em;margin:0}
.menu-section-heading>p{font-size:14px;margin:0;text-align:right;max-width:250px}
.menu-category-description{font-size:15px;color:var(--muted);margin:18px 0 4px}
.menu-items{display:grid;grid-template-columns:1fr 1fr;column-gap:42px}
.menu-item{padding:24px 0;border-bottom:1px solid var(--line);min-width:0}
.menu-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:8px}
.menu-item h3{font-family:var(--body);font-size:18px;font-weight:750;line-height:1.4;letter-spacing:-.015em;margin:0}
.menu-price{font-size:17px;white-space:nowrap}
.menu-item>p{font-size:15px;color:var(--muted);line-height:1.6;margin:0}
.menu-item-variants{display:flex;flex-direction:column;gap:5px;margin-top:10px;font-size:14px}
.menu-variant{display:flex;justify-content:space-between;gap:14px}
.menu-options{margin-top:11px;padding-top:10px;font-size:14px;color:var(--muted)}
.menu-options p{margin:0 0 3px}
.menu-choice{margin-top:9px!important;font-size:14px!important}
.menu-notice{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:25px;margin-top:35px}
.menu-notice p{margin-bottom:8px}
.menu-empty{padding:45px 0;font-size:20px}
.menu-end{margin-top:48px;display:flex;gap:15px;flex-wrap:wrap}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.container{width:min(1360px,calc(100% - 144px))}.hero-photo img{height:710px}.hero h1{font-size:118px}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.header-inner{gap:23px}.main-nav{gap:21px}.brand-name{font-size:27px}.hero-grid{gap:45px}.hero h1{font-size:clamp(73px,8vw,96px)}.hero-photo img{height:570px}.special-row{grid-template-columns:120px 1fr 105px 175px;gap:20px}.special-name h3{font-size:29px}.special-prices{font-size:15px}.breakfast-grid,.drinks-grid{gap:55px}.visit-grid{gap:45px;grid-template-columns:1.15fr 1fr}.visit-details{gap:25px}.menu-layout{gap:42px;grid-template-columns:160px 1fr}.menu-items{column-gap:30px}.menu-item h3{font-size:17px}}
@media(max-width:900px){.container{width:calc(100% - 48px)}.header-inner{height:82px;gap:15px}.brand img{width:49px;height:53px}.brand-name{font-size:25px}.main-nav{gap:18px}.main-nav>a{font-size:14px}.main-nav .book-link{display:none}.hero{padding-top:35px;padding-bottom:56px}.hero-grid{gap:36px}.hero h1{font-size:clamp(60px,8.3vw,76px)}.hero-copy>p{font-size:17px}.hero-photo img{height:490px}.hero-actions .button{padding-inline:17px;gap:12px;font-size:14px;min-height:50px}.hero-photo::before{inset:12px -12px -12px 12px}.intro-rule{gap:40px;margin-top:58px}.intro-rule .intro-statement{font-size:26px}.intro-rule p{font-size:16px}.section{padding-block:77px}.section-heading{gap:25px}.food-grid{gap:18px}.food-card h3{font-size:25px}.round-arrow{width:33px;height:33px}.food-card-label{padding-top:17px}.special-row{grid-template-columns:105px 1fr 155px;gap:18px}.special-time{grid-column:2;grid-row:auto;font-size:14px;margin-top:-5px}.special-name{grid-column:2}.special-prices{grid-column:3;grid-row:1 / 3}.special-day{grid-row:1 / 3}.special-name h3{font-size:29px}.breakfast-grid,.drinks-grid{gap:38px}.breakfast-menu{padding:28px 25px}.breakfast-menu h3{font-size:30px}.breakfast-item-title{font-size:16px}.breakfast-copy>p,.drinks-copy p{font-size:16px}.drinks-image{height:480px}.drinks-copy .button{padding-inline:20px}.drinks-copy .text-link{margin-left:0;margin-top:12px}.visit-grid{grid-template-columns:1fr;gap:40px}.visit-details{gap:65px;grid-template-columns:1fr 1fr}.hours-list{font-size:16px}.map-frame{aspect-ratio:2.1}.map-frame svg{object-fit:cover}.gift-strip{margin-top:42px}.footer-links{gap:21px}.menu-controls{top:82px}.menu-controls-inner{gap:15px}.service-filter{padding-inline:13px;font-size:14px}.menu-search{width:210px}.menu-layout{gap:30px;grid-template-columns:145px 1fr}.menu-items{grid-template-columns:1fr}.category-nav{top:190px}.menu-section{scroll-margin-top:185px}.menu-heading{padding-block:45px 35px}.menu-heading p{font-size:16px}.menu-heading h1{font-size:78px}}
@media(max-width:680px){html{scroll-padding-top:84px}body{font-size:16px;padding-bottom:70px}.container{width:calc(100% - 40px)}.header-inner{height:76px;justify-content:space-between}.brand{gap:10px}.brand img{width:44px;height:48px}.brand-name{font-size:25px}.nav-toggle{display:flex;margin-left:auto}.main-nav{display:none;position:fixed;inset:77px 0 70px;background:var(--cream);padding:35px 26px;align-items:stretch;justify-content:flex-start;gap:8px;overflow-y:auto;margin:0}.main-nav.is-open{display:flex;flex-direction:column}.main-nav>a:not(.button){font-family:var(--heading);font-size:34px;font-weight:600;padding:16px 0;border-bottom:1px solid var(--line);letter-spacing:-.04em}.main-nav>a:not(.button)::after{display:none}.main-nav .book-link{display:block}.main-nav .button{font-size:17px;margin-top:20px;min-height:54px}.header-order{margin-left:0}.hero{padding-top:34px;padding-bottom:45px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy{padding:0}.hero h1{font-size:clamp(65px,15.7vw,94px);line-height:.97;letter-spacing:-.06em;margin-bottom:23px}.hero-copy>p{font-size:17px;max-width:360px;margin-bottom:24px}.hero-actions{gap:12px}.hero-actions .button{font-size:14px;min-height:51px;padding:14px 18px;gap:17px}.hero-photo{margin-right:9px}.hero-photo img{height:auto;aspect-ratio:1.04;object-position:50% 58%;border-radius:190px 190px 4px 4px}.hero-photo::before{border-radius:190px 190px 4px 4px;inset:10px -10px -10px 10px}.intro-rule{margin-top:42px;padding-top:28px;grid-template-columns:1fr;gap:15px}.intro-rule .intro-statement{font-size:27px;max-width:480px}.intro-rule p{font-size:16px}.section{padding-block:58px}h2{font-size:44px}.section-heading{align-items:flex-start;gap:21px;flex-direction:column;margin-bottom:28px}.section-heading .text-link{margin:0}.food-grid{gap:25px;grid-template-columns:1fr}.food-card{display:grid;grid-template-columns:135px 1fr;gap:22px;align-items:center}.food-card-image img{aspect-ratio:1.02}.food-card-image{border-radius:4px}.food-card h3{font-size:29px;max-width:170px}.food-card-label{padding:0;gap:9px}.round-arrow{width:34px;height:34px}.specials .section-heading{gap:20px;margin-bottom:31px}.specials .section-heading p{max-width:320px;margin:0;font-size:16px}.special-row{grid-template-columns:1fr auto;gap:12px;padding-block:25px}.special-day{grid-column:1/-1;grid-row:auto;font-size:16px;color:var(--gold)}.special-name{grid-column:1;grid-row:auto}.special-name h3{font-size:29px;margin-bottom:6px;max-width:220px}.special-name p{font-size:14px;max-width:220px}.special-time{grid-column:1;grid-row:auto;margin-top:1px}.special-prices{grid-column:2;grid-row:2 / 4;align-self:center;font-size:14px;max-width:132px}.special-action{justify-content:flex-start;margin-top:26px}.breakfast-grid{grid-template-columns:1fr;gap:32px}.breakfast-copy h2{margin-bottom:24px;max-width:390px}.breakfast-copy>p{font-size:17px;max-width:400px}.breakfast-hours{font-size:19px!important;margin-bottom:22px}.breakfast-menu{padding:30px 26px;box-shadow:7px 7px 0 #e6dfc9;margin-right:7px}.breakfast-menu h3{font-size:33px;padding-bottom:22px}.breakfast-item{padding-block:20px}.breakfast-item-title{font-size:17px}.breakfast-item p{font-size:15px}.drinks-grid{grid-template-columns:1fr;gap:33px}.drinks-image{height:auto;aspect-ratio:1.08;object-position:center 45%}.drinks-copy h2{font-size:44px;margin-bottom:24px;max-width:470px}.drinks-copy p{font-size:17px;max-width:420px}.drinks-copy .text-link{margin-left:16px;margin-top:0}.drinks-copy .button{font-size:14px;padding-inline:18px;gap:12px}.visit-heading{flex-direction:column;gap:16px;margin-bottom:31px}.visit-grid{gap:31px}.visit-details{grid-template-columns:1fr;gap:35px}.visit-details h3{font-size:21px;margin-bottom:15px}.visit-details address{font-size:17px}.contact-links{margin-top:21px}.contact-links>a{font-size:16px}.hours-list{gap:11px}.hours-row{grid-template-columns:55px 1fr;gap:20px}.hours-row dd{display:flex;flex-wrap:wrap;gap:4px 15px}.map-frame{aspect-ratio:1.22}.map-action{left:13px;right:13px;bottom:13px;padding:15px;font-size:14px}.gift-strip{margin-top:36px;padding-top:29px;align-items:flex-start;flex-direction:column;gap:23px}.gift-strip h3{font-size:30px}.site-footer{padding-block:37px 25px}.footer-top{align-items:flex-start;flex-direction:column;gap:28px;padding-bottom:28px}.footer-wordmark{font-size:64px}.footer-links{gap:18px 25px;justify-content:flex-start;font-size:14px}.footer-bottom{flex-direction:column;gap:9px;font-size:12px}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:150;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid var(--line);gap:9px}.mobile-actions .button{min-height:47px;font-size:14px;gap:12px;padding:11px 15px}.menu-heading{padding:38px 0 28px}.menu-heading-inner{flex-direction:column;align-items:flex-start;gap:16px}.menu-heading h1{font-size:73px;letter-spacing:-.065em;margin-bottom:14px}.menu-heading p{font-size:16px;max-width:370px}.menu-heading .text-link{font-size:14px;padding-block:5px}.menu-controls{top:76px}.menu-controls-inner{padding-block:12px;flex-direction:column;align-items:stretch;gap:11px}.service-filters{gap:6px;flex-wrap:nowrap;display:grid;grid-template-columns:repeat(3,1fr)}.service-filter{min-height:45px;padding:10px 5px;font-size:13px;white-space:nowrap}.menu-search{width:100%}.menu-search input{height:44px}.menu-search>.icon{top:13px}.menu-layout{grid-template-columns:1fr;gap:23px;padding-block:22px 56px}.category-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:6px;max-height:none;overflow:visible;padding-bottom:20px;border-bottom:1px solid var(--line)}.category-nav a{padding:7px 10px;border:1px solid var(--line);border-radius:3px;font-size:13px;white-space:normal}.category-nav a:hover,.category-nav a.is-active{border-color:var(--forest)}.menu-section{scroll-margin-top:225px;margin-bottom:42px}.menu-section h2{font-size:35px}.menu-section-heading{gap:12px;align-items:flex-start;flex-direction:column;padding-bottom:15px}.menu-section-heading>p{text-align:left;max-width:none}.menu-item{padding-block:20px}.menu-item h3{font-size:18px}.menu-item>p{font-size:15px}.menu-end{gap:12px}.menu-end .button{font-size:14px;padding-inline:18px}}
@media(max-width:365px){.container{width:calc(100% - 32px)}.hero h1{font-size:64px}.hero-actions .button{padding-inline:13px;gap:10px;font-size:13px}.food-card{grid-template-columns:112px 1fr;gap:16px}.food-card h3{font-size:25px}.special-name h3{font-size:25px}.special-prices{font-size:13px;max-width:116px}.drinks-copy .text-link{margin-left:0;margin-top:14px}.service-filter{font-size:12px}.menu-heading h1{font-size:65px}.mobile-actions .button{font-size:13px;padding-inline:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:900px){.coffee-scene{gap:20px}.coffee-scene img{width:105px;height:150px}.coffee-scene p{font-size:20px}.coffee-scene .text-link{font-size:14px;gap:10px}}
@media(max-width:680px){.coffee-scene{gap:27px}.coffee-scene img{width:126px;height:166px}.coffee-scene p{font-size:23px}.coffee-scene .text-link{font-size:14px}}
/* Final type and image proportions are shared across page sizes. */
h1,h2,h3{letter-spacing:-.035em}
.hero h1{letter-spacing:-.035em;font-weight:620}
.food-card-image{aspect-ratio:1.04}
.food-card-image img{width:100%;height:100%;aspect-ratio:auto}
.menu-heading h1{letter-spacing:-.04em}
.map-action .icon{width:21px;height:21px}
@media(max-width:680px){.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .button{padding-inline:12px;gap:9px;font-size:13px}.food-card-image{aspect-ratio:1.02}.menu-heading h1{font-size:clamp(49px,15vw,65px);letter-spacing:-.04em}.hero h1{font-size:clamp(65px,15.7vw,94px);letter-spacing:-.035em}}
@media(max-width:365px){.hero h1{font-size:61px}.hero-actions .button{font-size:12px;gap:7px;padding-inline:9px}.menu-heading h1{font-size:48px}}
.hero h1 span{white-space:nowrap}
.map-frame>img{object-position:center bottom}
@media(min-width:681px) and (max-width:900px){.hero h1{font-size:clamp(50px,7.7vw,70px)}}
@media(max-width:365px){.hero h1{font-size:clamp(49px,16.4vw,59px)}}

/* Shared brand system for the expanded restaurant website. */
.menu-item{scroll-margin-top:205px}
:root{--cream:#f4efe4;--forest:#16332b;--forest-dark:#10271f;--gold:#f6c744;--ink:#16332b;--line:#16332b33}
.site-header{background:#f4efe4f5}
.brand-name{font-size:35px;letter-spacing:.015em}
.button{border-radius:0}
.button-gold:hover{background:#ffda66;border-color:#ffda66}
.main-nav{gap:26px}
.menu-heading h1{font-family:var(--display);text-transform:uppercase;letter-spacing:-.02em;font-size:110px;line-height:.95}
.menu-section h2{font-family:var(--display);text-transform:uppercase;font-size:47px;letter-spacing:-.01em}
.menu-search{width:280px}
.menu-controls-inner{gap:20px}
.service-filters{gap:7px}
.service-filter{padding-inline:15px}
@media(max-width:1150px){.main-nav{gap:21px}.brand-name{font-size:31px}.menu-search{width:245px}.service-filter{padding-inline:12px}}
@media(min-width:681px) and (max-width:960px){.nav-toggle{display:flex;margin-left:auto}.header-inner{justify-content:space-between}.main-nav{display:none;position:fixed;inset:82px 0 0;background:var(--cream);padding:30px 35px;align-items:stretch;gap:6px;overflow-y:auto;margin:0}.main-nav.is-open{display:flex;flex-direction:column}.main-nav>a:not(.button){font-family:var(--display);font-size:37px;font-weight:600;padding:15px 0;border-bottom:1px solid var(--line);letter-spacing:0}.main-nav>a:not(.button)::after{display:none}.main-nav .book-link{display:block}.main-nav .button{font-size:17px;margin-top:20px;min-height:54px}.header-order{margin-left:0}.menu-controls-inner{flex-wrap:wrap}.menu-search{width:100%}.menu-controls-inner{padding-block:14px;gap:11px}.category-nav{top:244px}.menu-section{scroll-margin-top:240px}}
@media(max-width:680px){.brand-name{font-size:29px}.main-nav>a:not(.button){font-family:var(--display);text-transform:uppercase;letter-spacing:0;font-size:38px}.menu-heading h1{font-size:clamp(58px,15vw,85px)}.menu-search{width:100%}.menu-controls-inner{gap:12px}.service-filters{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px}.service-filter{font-size:13px;padding:9px 12px;min-height:40px}.menu-controls-inner{padding-block:14px}.menu-section{scroll-margin-top:258px}.menu-section h2{font-size:42px}}
@media(min-width:681px) and (max-width:960px){.menu-item{scroll-margin-top:245px}}
@media(max-width:680px){.menu-item{scroll-margin-top:265px}}

/* One brand, from the first look to the last step. */
:root{--cream:#f4eedb;--forest:#383e24;--forest-dark:#272d18;--gold:#ca4326;--ink:#303621;--muted:#696c58;--line:#383e242b;--heading:'DM Sans',Arial,sans-serif;--display:'DM Sans',Arial,sans-serif}
html{scroll-padding-top:100px}
h1,h2,h3{font-family:var(--body);font-weight:850;letter-spacing:-.055em;color:var(--forest)}
.container{width:min(1328px,calc(100% - 88px))}
.button{min-height:53px;border-radius:6px;font-size:14px;font-weight:700;padding:15px 22px;gap:22px}
.button-gold{color:#fff6e5;background:var(--gold);border-color:var(--gold)}
.button-gold:hover{background:#af361d;border-color:#af361d;color:#fff6e5}
.button-outline{background:transparent;color:var(--forest)}
.button-outline:hover{background:var(--forest);color:var(--cream)}
.button-light{background:var(--cream);color:var(--forest)}
:focus-visible{outline-color:#7e381f}
.site-header{background:var(--forest);color:var(--cream);border-color:#f4eedb26}
.header-inner{height:82px;gap:32px}
.brand{gap:12px}
.brand img{width:49px;height:53px;filter:grayscale(1) invert(1);mix-blend-mode:screen}
.brand-name{font-family:var(--body);font-size:25px;font-weight:850;letter-spacing:-.05em;line-height:1}
.main-nav{gap:27px}
.main-nav>a{font-size:14px;font-weight:600}
.main-nav>a:not(.button)::after{background:var(--cream)}
.main-nav .button{border-radius:6px;min-height:47px;padding:12px 19px}
.nav-toggle{border-color:#f4eedb55;border-radius:3px;color:var(--cream)}
.site-header :focus-visible{outline-color:var(--cream)}
.site-header [data-bag-count]{background:#fff4;color:var(--cream)}
.site-footer{background:#30371f;color:var(--cream);padding-block:55px 28px}
.footer-wordmark{font-family:var(--body);font-size:88px;letter-spacing:-.085em;font-weight:1000;line-height:1;color:var(--cream)}
.footer-links{gap:26px}
.footer-links a{font-size:14px;font-weight:600}
.footer-bottom{color:#d0d3b8;border-color:#f4eedb33;font-size:12px}
.mobile-actions .button{border-radius:6px}
.menu-heading{padding-block:42px 35px}
.menu-heading h1{font-family:var(--body);font-size:clamp(48px,5.3vw,76px);font-weight:850;line-height:1;text-transform:none;letter-spacing:-.06em;margin-bottom:17px}
.menu-heading p{font-size:16px;line-height:1.6;max-width:610px}
.menu-heading .text-link{font-size:14px}
.menu-controls{top:82px;background:var(--cream)}
.menu-controls-inner{padding-block:16px;gap:22px}
.service-filters{gap:8px}
.service-filter{border-radius:30px;min-height:44px;padding:10px 17px;font-size:14px}
.service-filter[aria-pressed=true]{background:var(--forest);color:var(--cream)}
.menu-search{width:290px}
.menu-search input{height:44px;border-radius:6px;font-size:14px}
.menu-search>.icon{top:13px}
.menu-layout{grid-template-columns:170px minmax(0,1fr);gap:55px;padding-block:42px 85px}
.category-nav{top:184px;max-height:calc(100svh - 210px)}
.category-nav a{font-size:14px;padding:10px 13px;border-radius:0 5px 5px 0}
.category-nav a:hover,.category-nav a.is-active{background:#e6e2ca}
.menu-section,.menu-item{scroll-margin-top:185px}
.menu-section h2{font-family:var(--body);font-size:36px;font-weight:850;text-transform:none;letter-spacing:-.05em;line-height:1.1}
.menu-section-heading{padding-bottom:19px}
.menu-items{column-gap:40px}
.menu-item{padding-block:25px}
.menu-item h3{font-size:19px;font-weight:800;letter-spacing:-.03em}
.menu-price{font-size:17px;font-weight:700}
.menu-item>p{font-size:14px;line-height:1.65}
.menu-category-description{font-size:14px}
@media(max-width:1150px){.header-inner{gap:20px}.main-nav{gap:20px}.main-nav>a{font-size:13px}.brand-name{font-size:23px}.menu-layout{gap:35px;grid-template-columns:155px minmax(0,1fr)}.menu-search{width:260px}.service-filter{padding-inline:14px}}
@media(max-width:1000px){.container{width:calc(100% - 64px)}.menu-layout{gap:30px;grid-template-columns:140px minmax(0,1fr)}.footer-wordmark{font-size:62px}}
@media(max-width:960px){.header-inner{height:78px;justify-content:space-between}.nav-toggle{display:flex;margin-left:auto}.main-nav{display:none;position:fixed;inset:78px 0 0;background:var(--forest);padding:25px 35px 110px;align-items:stretch;gap:8px;overflow-y:auto;margin:0}.main-nav.is-open{display:flex;flex-direction:column}.main-nav>a:not(.button){font-family:var(--body);font-size:30px;font-weight:750;color:var(--cream);padding:15px 0;border-color:#f4eedb33;letter-spacing:-.04em;text-transform:none}.main-nav>a:not(.button)::after{display:none}.main-nav .book-link{display:block}.main-nav .button{font-size:16px;min-height:52px;margin-top:22px}.header-order{margin-left:0}.brand-name{font-size:24px}.menu-controls{top:78px}.menu-controls-inner{flex-wrap:wrap;padding-block:14px;gap:12px}.menu-search{width:100%}.category-nav{top:224px}.menu-section,.menu-item{scroll-margin-top:230px}.footer-links a{font-size:12px}}
@media(max-width:680px){html{scroll-padding-top:90px}body{padding-bottom:69px}.container{width:calc(100% - 40px)}.header-inner{height:72px}.brand{gap:10px}.brand img{width:39px;height:42px}.brand-name{font-size:22px}.nav-toggle{width:41px;height:41px}.main-nav{inset:72px 0 0;padding:25px 24px 110px}.main-nav>a:not(.button){font-size:28px}.main-nav>.button{font-size:16px}.site-footer{padding-block:41px 24px}.footer-wordmark{font-size:65px}.footer-links a{font-size:13px}.footer-bottom{font-size:11px}.mobile-actions{padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:9px}.mobile-actions .button{font-size:12px;min-height:45px;padding:11px 15px;gap:12px}.menu-heading{padding-block:29px 26px}.menu-heading-inner{gap:14px}.menu-heading h1{font-size:43px;letter-spacing:-.055em;margin-bottom:14px;max-width:300px}.menu-heading p{font-size:15px;max-width:350px}.menu-heading .text-link{font-size:13px}.menu-controls{top:72px}.menu-controls-inner{padding-block:12px;gap:10px}.service-filters{display:grid;grid-template-columns:1fr 1fr;gap:7px}.service-filter{min-height:39px;font-size:12px;padding:8px 12px}.menu-search input{height:42px;font-size:14px}.menu-search>.icon{top:12px}.menu-layout{grid-template-columns:1fr;gap:24px;padding-block:20px 50px}.category-nav{position:static;display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;overflow:auto;max-height:none;margin-right:-20px;padding:0 20px 14px 0;border-bottom:1px solid var(--line);scrollbar-width:thin}.category-nav a{border:1px solid var(--line);border-radius:5px;font-size:13px;padding:9px 12px;white-space:nowrap;flex:none}.category-nav a.is-active{border-color:var(--forest);background:var(--forest);color:var(--cream)}.menu-section,.menu-item{scroll-margin-top:255px}.menu-section h2{font-size:32px}.menu-section-heading{gap:13px;padding-bottom:15px}.menu-items{grid-template-columns:1fr}.menu-item{padding-block:22px}.menu-item h3{font-size:19px}.menu-item>p{font-size:14px}.menu-price{font-size:16px}}
@media(max-width:365px){.container{width:calc(100% - 32px)}.brand-name{font-size:21px}.menu-heading h1{font-size:38px}.category-nav{margin-right:-16px;padding-right:16px}.footer-wordmark{font-size:57px}.mobile-actions .button{font-size:11px;padding-inline:10px}}
