:root{--cream:#fff8f1;--ink:#000000;--sage:#ffe0c2;--muted:#000000;--line:#f0d5bd;--accent:#ff942e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12}h2{font-size:clamp(32px,3.5vw,51px);letter-spacing:-1.6px}h3{font-size:25px}p{color:var(--muted)}:focus-visible{outline:3px solid #ed7b16;outline-offset:5px}[hidden]{display:none!important}.topbar{padding:9px 5%;display:flex;justify-content:space-between;background:var(--ink);color:#000000;font-size:10px;letter-spacing:1.3px}.topbar i{font-style:normal;color:var(--accent);padding:0 13px}.topbar a{letter-spacing:.5px}.site-header{height:102px;padding:0 5%;display:flex;align-items:center;gap:4%;background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid #00000010}.brand{display:inline-flex;align-items:center;flex-direction:column;min-width:100px}.brand b{font-family:Georgia,serif;font-weight:400;font-size:47px;line-height:1;letter-spacing:-4px;position:relative}.brand b span{font-family:Arial;font-size:18px;position:absolute;top:0;right:-19px;letter-spacing:0}.brand small{text-transform:uppercase;font-size:8px;letter-spacing:2.2px;margin-top:5px}.site-header nav{display:flex;justify-content:center;gap:30px;flex:1;font-size:12px}.site-header nav a{padding:10px 0;position:relative}.site-header nav a.active:after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:var(--ink);bottom:0;left:50%}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:16px 25px;font-size:12px;font-weight:600;letter-spacing:.2px;transition:.2s}.button:hover{background:#e77912;transform:translateY(-1px)}.button.small{padding:13px 19px;gap:25px}.nav-toggle{display:none}.hero{position:relative;isolation:isolate;min-height:640px;display:flex;align-items:center;color:white;padding:85px 8% 100px}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-position:center 58%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(25,16,9,.83),rgba(25,16,9,.35) 62%,rgba(25,16,9,.22)),linear-gradient(0deg,#25150b90,transparent 35%)}.hero h1{font-size:clamp(48px,5.7vw,84px);max-width:780px;letter-spacing:-2.8px;line-height:1.07;margin:24px 0}.hero-content>p{color:#e5e5dd;max-width:470px;font-size:14px;line-height:1.85}.eyebrow{font-family:Arial,Helvetica,sans-serif;display:block;font-size:10px;letter-spacing:2.1px;font-weight:600;margin-bottom:20px;text-transform:uppercase}.eyebrow.light{color:#fff0de;display:flex;align-items:center;gap:15px}.line{width:32px;height:1px;background:#ff942e}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:33px}.hero .button{background:var(--accent);color:#000000;border-color:var(--accent)}.text-link{font-size:12px;border-bottom:1px solid #ffffff80;padding:7px 0}.text-link span{margin-left:20px}.hero-bottom{position:absolute;bottom:28px;left:8%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.7px;color:#fff0de}.hero-bottom a{letter-spacing:.3px;font-size:11px}.hero-seal{position:absolute;right:8%;bottom:135px;width:118px;height:118px;border:1px solid #fff0de8c;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:8px;letter-spacing:2px;line-height:1.2;transform:rotate(12deg);color:#fff0de}.hero-seal b{font-size:25px;line-height:.2}.ribbon{padding:25px 8%;background:var(--sage);display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:1.8px}.ribbon i{font-size:19px;font-style:normal}.section{padding:88px 8%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:38px}.section-heading p{font-size:13px;margin-bottom:18px}.underlink{display:inline-block;border-bottom:1px solid var(--ink);padding:6px 0;font-size:12px;font-weight:600}.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.dish-photo{position:relative;overflow:hidden}.dish-photo img{width:100%;height:280px;transition:transform .45s}.dish-card:hover .dish-photo img{transform:scale(1.035)}.dish-category{position:absolute;bottom:16px;left:16px;background:var(--cream);padding:5px 12px;font-size:9px;letter-spacing:1px;text-transform:uppercase}.dish-info{padding:22px 0}.dish-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.dish-title h3{font-size:23px;line-height:1.2}.dish-title>span{white-space:nowrap;font-family:Georgia;font-size:21px}.dish-title small{font:8px Arial;letter-spacing:.8px}.dish-info p{font-size:12px;line-height:1.8;margin-top:12px}.story-split{display:grid;grid-template-columns:1fr 1fr;background:#fff0e2}.story-visual{position:relative;min-height:530px}.story-visual img{width:100%;height:100%;position:absolute}.image-note{position:absolute;bottom:24px;left:35px;color:#fff;font-size:9px;letter-spacing:2px}.story-copy{padding:75px 15% 65px 13%}.story-copy h2{font-size:44px}.story-copy p{font-size:13px;margin:23px 0}.story-signature{display:block;margin-top:30px;font:italic 26px Georgia;color:#000000}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}.location-card{height:380px;position:relative;overflow:hidden;color:white;display:flex;align-items:flex-end;padding:30px}.location-card:after{position:absolute;inset:0;content:'';background:linear-gradient(transparent 15%,#25150bd9);z-index:0}.location-card img{position:absolute;inset:0;width:100%;height:100%;transition:transform .4s}.location-card:hover img{transform:scale(1.035)}.location-card>div{position:relative;z-index:1;width:100%}.location-card h3{font-size:34px}.location-card h3 span{float:right;font-family:Arial;font-size:25px}.location-card p{font-size:12px;color:#e4e9e1;margin-top:12px;max-width:370px}.location-card .eyebrow{margin-bottom:14px;font-size:9px}.gather-cta{margin:0 8% 85px;background:var(--sage);padding:65px;text-align:center;position:relative}.gather-cta h2{margin-bottom:30px;font-size:52px}.gather-cta .button{font-size:11px}footer{background:var(--ink);color:#f3f1e8;padding:50px 8% 22px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:45px;border-bottom:1px solid #ffffff25;gap:25px}.footer-top h2{font-size:31px;letter-spacing:-.5px}.footer-top .underlink{border-color:#000000}.footer-bottom{display:flex;justify-content:space-between;font-size:9px;color:#000000;margin-top:22px}.footer-bottom>div{display:flex;gap:25px}.page-intro{padding:72px 8% 66px;text-align:center;background:#ffead7}.page-intro h1{font-size:clamp(42px,5vw,67px);letter-spacing:-2px;max-width:900px;margin:auto}.page-intro p{max-width:610px;margin:23px auto 0;font-size:14px}.page-intro .button{margin-top:25px}.page-section{padding-top:48px}.filter-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:38px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter-bar .filters{margin:0}.filter{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 18px;font-size:11px;border-radius:2px}.filter.selected{background:var(--ink);color:white;border-color:var(--ink)}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #ebc9aa;background:#fffefa;color:var(--ink);border-radius:0;min-width:0}textarea{resize:vertical}.search{max-width:210px;font-size:12px}.menu-note{border-top:1px solid var(--line);padding-top:25px;margin-top:25px;font-size:12px}.about-layout{display:grid;grid-template-columns:.8fr 1fr;gap:70px;align-items:start}.about-layout>img{width:100%;height:700px;position:sticky;top:130px}.about-layout .prose{margin:28px 0}.prose{font-size:14px;line-height:1.95;color:var(--muted);overflow-wrap:anywhere}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-item{background:transparent;border:0;text-align:left;padding:0;color:var(--ink)}.gallery-item img{height:320px;width:100%}.gallery-item span{display:block;padding:14px 0;font:20px Georgia}dialog{border:0;background:var(--cream);max-width:90vw;max-height:90vh;padding:18px}dialog::backdrop{background:#25150bd9}dialog img{max-height:72vh;width:auto;margin:auto}dialog p{text-align:center;margin-top:12px}#close-lightbox{position:absolute;right:22px;top:22px;background:white;border:0;border-radius:50%;width:36px;height:36px;font-size:25px}.journal-card>img{width:100%;height:250px}.journal-card .eyebrow{font-size:9px;margin:22px 0 12px}.journal-card p{margin:15px 0;font-size:13px}.article-body{max-width:850px;margin:auto;padding:55px 25px 90px}.article-body>img{width:100%;max-height:500px;margin-bottom:35px}.article-body .lead{font:24px/1.6 Georgia;color:var(--ink);margin-bottom:22px}.article-body .underlink{margin-top:35px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.contact-layout>div:first-child>p{margin-top:25px;font-size:14px}.contact-layout>div:first-child>a{display:block}.contact-phone{font:29px Georgia;margin:28px 0 14px}.contact-note{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;line-height:1.8}.form-card{background:#fff0e2;padding:32px}.form-tabs{display:flex;border-bottom:1px solid #ebc9aa;margin-bottom:28px}.form-tabs button{background:none;color:var(--muted);border:0;border-bottom:2px solid transparent;padding:0 12px 14px;font-size:12px;flex:1}.form-tabs button.selected{border-bottom-color:var(--ink);color:var(--ink);font-weight:bold}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:block;font-size:11px}.form-grid input,.form-grid select,.form-grid textarea{display:block;margin-top:6px;font-size:13px}.full{grid-column:1/-1}.form-fine{font-size:10px;line-height:1.7;margin:18px 0}.form-card .button{width:100%}.address-card>img{width:100%;height:270px}.address-card h3{margin:24px 0 14px;font-size:32px}.address-card p{font-size:13px;margin-bottom:12px}.address-card .underlink{margin-top:8px}.notice,.error{padding:16px;margin-bottom:22px;font-size:13px;border:1px solid #edb780;background:#fff0e2;color:#000000}.error{background:#fae6df;border-color:#dfb4a7;color:#873c28}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.empty-public{text-align:center;padding:30px 20px 55px}.empty-public>span{font-size:40px;display:block;margin-bottom:20px}.empty-public p{margin:25px 0}.empty-public h2{font-size:40px}
@media(min-width:1600px){.hero{min-height:760px}.hero h1{font-size:90px}.section{padding-left:max(8%,calc((100% - 1320px)/2));padding-right:max(8%,calc((100% - 1320px)/2))}}
@media(max-width:1000px){.site-header{gap:20px;padding:0 4%;height:90px}.site-header nav{gap:17px}.header-book{display:none}.hero{min-height:620px;padding-left:6%}.hero-seal{right:5%;bottom:90px}.section{padding:65px 5%}.story-copy{padding:55px 10%}.story-copy h2{font-size:36px}.dish-grid{gap:18px}.dish-photo img{height:230px}.dish-title{display:block}.dish-title>span{display:block;margin-top:8px}.ribbon{padding:22px 5%;font-size:8px}.contact-layout{gap:5%}.form-card{padding:24px}.filter-bar{flex-direction:column;align-items:flex-start}.search{max-width:100%}.about-layout{gap:40px}.gather-cta{margin-left:5%;margin-right:5%}.footer-top h2{font-size:25px}}
@media(max-width:680px){.topbar{justify-content:center;padding:9px 12px;font-size:8px}.topbar>span:first-child,.topbar>a{display:none}.site-header{height:80px;justify-content:space-between;padding:0 6%}.brand{min-width:70px}.brand b{font-size:39px}.brand small{font-size:7px}.nav-toggle{display:block;border:1px solid #ebc9aa;padding:7px 12px;background:transparent;color:var(--ink);font-size:22px}.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--cream);padding:22px 8%;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #0001}.site-header nav.open{display:flex;flex-direction:column;gap:7px}.site-header nav a{font-size:14px}.site-header nav a.active:after{left:0;bottom:5px}.hero{min-height:620px;padding:65px 7% 100px;align-items:flex-start}.hero h1{font-size:51px;letter-spacing:-2px;margin:25px 0}.hero-content>p{font-size:13px;max-width:320px}.hero .eyebrow{font-size:8px;letter-spacing:1.7px}.hero-shade{background:linear-gradient(90deg,#25150bd9,#25150b75)}.hero-actions{gap:22px;align-items:flex-start;flex-direction:column;margin-top:28px}.hero .button{gap:40px}.hero-seal{width:85px;height:85px;font-size:6px;right:7%;bottom:78px}.hero-seal b{font-size:20px}.hero-bottom{left:7%;right:7%;bottom:24px;display:block;font-size:7px}.hero-bottom a{display:none}.ribbon{display:grid;grid-template-columns:1fr 20px 1fr;gap:16px;text-align:center;padding:22px 5%;font-size:8px;letter-spacing:1px}.ribbon i:nth-of-type(2){display:none}.section{padding:52px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading>div+div,.section-heading>.underlink{margin-top:22px}.section-heading h2{font-size:36px}.section-heading p{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:16px}.dish-grid{grid-template-columns:1fr;gap:25px}.dish-photo img{height:290px}.dish-title{display:flex}.dish-title>span{margin:0}.dish-info{padding:20px 0 0}.dish-info p{font-size:13px}.story-split{grid-template-columns:1fr}.story-visual{min-height:330px}.story-copy{padding:45px 7%}.story-copy h2{font-size:37px}.location-grid{grid-template-columns:1fr;gap:26px}.location-card{height:340px;padding:25px}.location-card h3{font-size:31px}.gather-cta{margin:0 6% 50px;padding:44px 18px}.gather-cta h2{font-size:37px}.gather-cta .button{padding:14px 20px;gap:15px}.footer-top{flex-direction:column;align-items:flex-start;gap:27px;padding-bottom:35px}.footer-top h2{font-size:27px}.footer-bottom{flex-direction:column;gap:20px;font-size:10px}footer{padding:42px 7% 30px}.page-intro{padding:50px 6%}.page-intro h1{font-size:42px;letter-spacing:-1.4px}.page-intro p{font-size:13px}.filters{gap:7px}.filter{padding:9px 13px;font-size:10px}.about-layout{grid-template-columns:1fr;gap:36px}.about-layout>img{height:360px;position:static}.about-layout h2{font-size:37px}.gallery-grid{grid-template-columns:1fr 1fr;gap:18px}.gallery-item img{height:210px}.gallery-item span{font-size:17px}.contact-layout{grid-template-columns:1fr;gap:36px}.form-card{padding:22px 18px}.form-grid{gap:15px}.contact-phone{font-size:27px}.address-card>img{height:250px}.article-body{padding:38px 6% 55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Fixed navigation keeps its layout space, avoiding a jump as it reaches the top. */
.header-slot{height:102px}
.site-header{position:relative;transition:background-color .25s ease,box-shadow .25s ease}
.site-header.is-fixed{position:fixed;top:0;left:0;right:0;background:rgba(255,248,241,.97);box-shadow:0 8px 28px #0000001a;backdrop-filter:blur(12px)}
.site-header nav a{transition:color .2s ease}
.site-header nav a::before,.site-header nav a::after,.site-header nav a.active::after{content:'';position:absolute;left:0;width:100%;height:3px;border-radius:0;background:radial-gradient(circle,currentColor 1.2px,transparent 1.4px) left center/7px 3px repeat-x;opacity:0;transform:scaleX(0);transition:transform .35s cubic-bezier(.22,.61,.36,1),opacity .2s ease;pointer-events:none}
.site-header nav a::before{bottom:6px;transform-origin:left center}
.site-header nav a::after,.site-header nav a.active::after{bottom:2px;transform-origin:right center;transition-delay:.06s}
.site-header nav a.active::before,.site-header nav a.active::after{transform:scaleX(0);opacity:0}
.site-header nav a:hover,.site-header nav a:focus-visible{color:#000000}
.site-header nav a:hover::before,.site-header nav a:hover::after,.site-header nav a:focus-visible::before,.site-header nav a:focus-visible::after{transform:scaleX(1);opacity:1}
@media(max-width:1000px){.header-slot{height:90px}}
@media(max-width:680px){.header-slot{height:80px}.site-header nav{top:100%;max-height:calc(100dvh - 80px);overflow-y:auto}.site-header nav a{align-self:flex-start}.site-header nav a.active::after{left:0;bottom:2px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header nav a,.site-header nav a::before,.site-header nav a::after{transition:none!important}}

/* Orange brand accents with black text on plain surfaces. */
:root{--orange:#ff942e}
.topbar,.button,.filter.selected,footer{background:var(--orange);color:#000}
.button{border-color:var(--orange)}
.button:hover{background:#ef801a;color:#000;border-color:#ef801a}
.hero .button{color:#000}
.topbar i{color:#000}
footer .underlink{border-color:#000}
.footer-bottom{color:#000}
.story-signature,.empty-public,.article-body .lead{color:#000}

/* Readable header and footer copy at every breakpoint. */
.topbar,.topbar a,.site-header nav,.site-header nav a,.site-header .header-book,.footer-top .underlink,.footer-bottom,.footer-bottom a,.site-header .brand small,footer .brand small{font-size:14px}
.site-header .brand small,footer .brand small{letter-spacing:1px}
.site-header{gap:clamp(16px,2vw,28px)}
.site-header nav{gap:clamp(12px,1.7vw,24px)}
.footer-bottom>div{flex-wrap:wrap}

/* Uppercase header and navigation labels. */
.topbar,.site-header nav a,.site-header .header-book{text-transform:uppercase}

/* Locally hosted Roboto Slab, including true bold navigation weights. */
@font-face{font-family:'Roboto Slab';src:url('fonts/RobotoSlab-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
body,button,input,select,textarea,h1,h2,h3,.brand b,.brand b span,.eyebrow,.dish-title>span,.dish-title small,.story-signature,.location-card h3 span,.gallery-item span,.article-body .lead,.contact-phone{font-family:'Roboto Slab',Georgia,serif}
.site-header nav a{font-weight:700}
@media(min-width:681px) and (max-width:1100px){.header-book{display:none}.site-header{gap:16px}.site-header nav{gap:12px}.site-header nav a{white-space:nowrap}}

/* Night theme: transparent site chrome and orange navigation hover. */
:root{color-scheme:dark;--cream:#111315;--ink:#f6f2ec;--sage:#1d2023;--muted:#c9c5bf;--line:#363a3e;--accent:#ff942e;--orange:#ff942e}
html,body{background:#111315;color:var(--ink)}
.topbar,.site-header,.site-header.is-fixed,footer{background:transparent;color:var(--ink)}
.topbar{border-bottom:1px solid var(--line)}
.site-header,.site-header.is-fixed{border-bottom:1px solid #ffffff20;box-shadow:none}
.site-header.is-fixed{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.site-header nav a{color:var(--ink)}
.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--orange)}
.topbar a:hover,.topbar a:focus-visible,footer a:hover,footer a:focus-visible{color:var(--orange)}
.topbar i,.ribbon i{color:var(--orange)}
footer{border-top:1px solid var(--line)}
.footer-bottom{color:var(--muted)}
footer .underlink{border-color:var(--orange)}
.story-split,.form-card,.page-intro{background:#1a1d20}
.ribbon,.gather-cta{background:var(--sage);color:var(--ink)}
.story-signature,.empty-public,.article-body .lead{color:var(--ink)}
.dish-category{background:#1a1d20;color:var(--ink)}
.dish-title>span,.eyebrow{color:var(--orange)}
.hero .eyebrow,.location-card .eyebrow{color:#fff0de}
input,select,textarea{background:#121517;color:var(--ink);border-color:#51565c}
input::placeholder,textarea::placeholder{color:#aaa8a4;opacity:1}
.form-tabs{border-color:var(--line)}
.form-tabs button.selected{color:var(--orange);border-color:var(--orange)}
.button,.filter.selected{background:var(--orange);border-color:var(--orange);color:#111315}
.button:hover,.button:focus-visible{background:#ffad5c;color:#111315;border-color:#ffad5c}
.filter:hover,.filter:focus-visible{border-color:var(--orange)}
.notice{background:#282217;border-color:#a66a2d;color:#ffe1b8}
.error{background:#321e1b;border-color:#b86c59;color:#ffd6cc}
.nav-toggle{color:var(--ink);border-color:#65605a}
#close-lightbox{background:#202428;color:var(--ink)}
dialog{color:var(--ink);border:1px solid var(--line)}
@media(max-width:950px){.site-header nav{background:var(--cream);border-bottom:1px solid var(--line)}}

/* Let the homepage photograph extend behind both transparent header rows. */
body.hero-header .topbar{position:relative;z-index:21;background:transparent}
body.hero-header .header-slot{position:relative;z-index:20}
body.hero-header main{margin-top:calc(-1 * var(--header-overlay-height,144px))}
body.hero-header .hero{min-height:calc(640px + var(--header-overlay-height,144px));padding-top:calc(85px + var(--header-overlay-height,144px))}
body.hero-header .site-header,body.hero-header .site-header.is-fixed{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
body.hero-header .site-header nav a,body.hero-header .topbar{text-shadow:0 1px 5px #000c}
@media(min-width:1600px){body.hero-header .hero{min-height:calc(760px + var(--header-overlay-height,144px))}}
@media(max-width:1000px){body.hero-header .hero{min-height:calc(620px + var(--header-overlay-height,132px))}}
@media(max-width:680px){body.hero-header .hero{padding-top:calc(65px + var(--header-overlay-height,122px))}}
