@font-face{font-family:Didot;src:url('/assets/gfs-didot.ttf') format('truetype');font-display:swap}@font-face{font-family:Inter;src:url('/assets/inter.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('/assets/inter-semibold.ttf') format('truetype');font-weight:500 700;font-display:swap}
:root{--cream:#f4f0e7;--white:#fcfaf5;--blue:#214f5b;--olive:#575b42;--ink:#252722;--muted:#67685e;--line:#d6d5c9;--serif:Didot,'Bodoni MT',Didot,'Times New Roman',serif;--sans:Inter,Arial,sans-serif;--gutter:clamp(24px,5vw,96px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1}h1{font-size:clamp(52px,6.8vw,110px);letter-spacing:-.035em}h2{font-size:clamp(42px,4.5vw,74px);letter-spacing:-.025em}h3{font-size:32px}p{max-width:44ch}.eyebrow,.text-link,.button,.nav-link{font-size:13px;letter-spacing:.13em;text-transform:uppercase}.eyebrow{font-weight:500;letter-spacing:.2em;line-height:1.6}.skip-link{position:fixed;top:0;left:20px;padding:12px;background:var(--cream);z-index:100;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{height:108px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gutter);position:relative;background:var(--cream);z-index:30;border-bottom:1px solid var(--line)}.desktop-nav{display:flex;gap:26px;align-items:center}.nav-link{letter-spacing:.09em;position:relative;font-size:12px}.nav-link:after{content:'';display:block;position:absolute;bottom:-6px;left:0;width:0;height:1px;background:currentColor;transition:width .25s}.nav-link:hover:after,.nav-link[aria-current=page]:after{width:100%}.wordmark{font-family:var(--serif);color:var(--blue);font-size:44px;line-height:1;letter-spacing:.07em;display:inline-block}.brand{text-align:center;display:flex;flex-direction:column;gap:9px}.brand small{font-size:8px;letter-spacing:.22em;line-height:1.3}.header-right{justify-self:end;display:flex;gap:28px;align-items:center}.menu-toggle{display:none;border:0;background:transparent;min-height:44px;min-width:44px;padding:8px}.mobile-nav{display:none}.hero{position:relative;min-height:600px;height:calc(100svh - 108px);max-height:1120px;color:var(--white);overflow:hidden;background:#4d493c}.hero>img{position:absolute;inset:0;object-position:50% 65%;animation:hero-in 1.4s ease-out both}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,19,14,.5),rgba(15,19,14,.03) 72%),linear-gradient(0deg,rgba(15,19,14,.43),transparent 55%)}.hero-content{position:relative;z-index:1;height:100%;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;padding:64px var(--gutter) 66px}.hero .eyebrow{margin-bottom:28px}.hero h1{max-width:900px}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:34px}.hero-note{text-align:right;font-size:12px;letter-spacing:.12em;text-transform:uppercase;line-height:1.9}.intro{padding:120px var(--gutter) 125px;display:grid;grid-template-columns:1fr 1.65fr;gap:60px}.intro>.eyebrow{padding-top:11px;color:var(--blue)}.intro h2{max-width:810px;margin-bottom:34px}.intro-copy{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:start}.intro p{color:var(--muted)}.intro .text-link{justify-self:start;margin-top:18px}.photo-pair{display:grid;grid-template-columns:1.28fr 1fr;gap:24px;padding:0 var(--gutter) 110px;align-items:start}.photo-pair figure:first-child{height:750px}.photo-pair figure:last-child{height:610px;margin-top:140px}.photo-pair figure{position:relative;overflow:hidden}.photo-pair figcaption{position:absolute;bottom:24px;left:24px;color:white;font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 6px #111}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:55px}.section-top .eyebrow{margin-bottom:20px;color:var(--blue)}.food-section{padding:0 var(--gutter) 120px}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.food-grid figure{height:470px;overflow:hidden}.food-grid img{transition:transform .7s}.food-grid a:hover img{transform:scale(1.04)}.food-grid h3{font-size:29px;margin:24px 0 8px}.food-grid p{font-size:14px;color:var(--muted);line-height:1.65}.image-story{position:relative;height:850px;max-height:100svh;color:var(--white);background:#24251e}.image-story>img{object-position:center 43%}.image-story:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),transparent 82%)}.image-story .story-content{position:absolute;z-index:1;left:var(--gutter);top:50%;transform:translateY(-50%);max-width:580px}.story-content h2{margin:26px 0}.story-content p{margin-bottom:28px;max-width:38ch;color:#f1ede4}.weekends{padding:120px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.weekends-photo{height:770px;position:relative}.weekends-photo .photo-tag{position:absolute;bottom:28px;left:28px;color:white;font-size:12px;letter-spacing:.12em}.weekends .eyebrow{color:var(--blue);margin-bottom:22px}.weekends h2{margin-bottom:27px}.weekends-copy>p{color:var(--muted);margin-bottom:34px}.event-row{border-top:1px solid var(--line);padding:25px 0}.event-row .event-meta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--olive);margin-bottom:9px}.event-row h3{font-size:31px;margin-bottom:9px}.event-row p{font-size:14px;color:var(--muted)}.event-row:last-of-type{border-bottom:1px solid var(--line);margin-bottom:28px}.reviews{background:var(--blue);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;min-height:650px}.review-copy{padding:90px var(--gutter);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.review-copy h2{margin:30px 0}.review-copy p{color:#dfE5e2;max-width:37ch;margin-bottom:25px}.reviews figure{min-height:650px}.gallery-preview{padding:110px 0 0}.gallery-preview .section-top{padding:0 var(--gutter)}.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.gallery-strip a{height:430px;overflow:hidden}.gallery-strip img{transition:transform .7s}.gallery-strip a:hover img{transform:scale(1.04)}.visit{padding:115px var(--gutter);text-align:center}.visit .eyebrow{color:var(--blue);margin-bottom:28px}.visit h2{font-size:clamp(52px,6.2vw,98px);margin-bottom:30px}.visit p{margin:0 auto 30px;color:var(--muted)}.visit-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.site-footer{border-top:1px solid var(--line);padding:55px var(--gutter) 25px;background:var(--cream)}.footer-main{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:55px}.footer-brand .wordmark{font-size:50px;margin-bottom:18px}.footer-brand p{font-size:13px;color:var(--muted)}.footer-col h3{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:19px;color:var(--blue);font-weight:500}.footer-col a,.footer-col address{display:block;font-style:normal;font-size:14px;line-height:1.9}.footer-col a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted);gap:20px}.page-heading{padding:85px var(--gutter) 70px;text-align:center}.page-heading .eyebrow{color:var(--blue);margin-bottom:24px}.page-heading h1{font-size:clamp(62px,7.7vw,120px)}.page-heading p{margin:25px auto 0;color:var(--muted);max-width:54ch}.menu-downloads{display:flex;justify-content:center;gap:35px;flex-wrap:wrap;margin-top:30px}.menu-banner{height:430px;overflow:hidden}.menu-banner img{object-position:center 65%}.menu-nav{background:var(--cream);border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:flex;gap:28px;justify-content:center;padding:22px var(--gutter);position:sticky;top:0;z-index:20;overflow-x:auto;white-space:nowrap}.menu-nav a{font-size:12px;letter-spacing:.09em;text-transform:uppercase;padding:5px 0}.menu-nav a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:6px}.menu-content{max-width:1300px;margin:auto;padding:20px var(--gutter) 100px}.menu-section{padding:65px 0 10px;scroll-margin-top:50px}.menu-section-header{display:flex;align-items:center;gap:25px;margin-bottom:33px}.menu-section-header h2{font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.19em;text-transform:uppercase;color:var(--blue)}.menu-section-header:after{content:'';flex:1;height:1px;background:var(--line)}.menu-items{display:grid;grid-template-columns:1fr 1fr;column-gap:90px;row-gap:31px}.dish-head{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin-bottom:6px}.dish h3{font-size:23px;line-height:1.3}.dish .price{font-size:14px;white-space:nowrap}.dish p{font-size:14px;line-height:1.65;color:var(--muted);max-width:48ch}.dietary-note{text-align:center;font-size:13px;max-width:none;margin:65px 0 0;border-top:1px solid var(--line);padding-top:25px;color:var(--muted)}.gallery-main{padding:0 var(--gutter) 100px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:start}.gallery-column{display:grid;gap:30px}.gallery-column:nth-child(2){padding-top:100px}.gallery-link{display:block;position:relative;overflow:hidden}.gallery-link img{height:auto;transition:transform .6s}.gallery-link:hover img{transform:scale(1.025)}.gallery-link .zoom-label{position:absolute;bottom:18px;right:18px;width:40px;height:40px;background:var(--cream);border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:22px;opacity:0;transition:opacity .25s}.gallery-link:hover .zoom-label,.gallery-link:focus-visible .zoom-label{opacity:1}.lightbox{padding:25px;border:0;max-width:100vw;max-height:100svh;width:100vw;height:100svh;background:rgba(22,25,21,.97);color:var(--cream)}.lightbox::backdrop{background:rgba(0,0,0,.85)}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox img{object-fit:contain;max-height:85svh;max-width:85vw}.lightbox-close{position:absolute;right:25px;top:16px;padding:10px 16px;border:0;background:transparent;font-size:14px;letter-spacing:.1em}.lightbox-arrow{position:absolute;top:50%;border:1px solid #9a9e93;background:transparent;width:45px;height:45px;font-size:24px;transform:translateY(-50%)}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-count{position:absolute;bottom:15px;left:0;width:100%;text-align:center;font-size:12px;letter-spacing:.12em}.not-found{min-height:60vh;text-align:center;padding:100px 24px}.not-found h1{margin:20px 0}.not-found p{margin:0 auto 30px}@keyframes hero-in{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(min-width:1800px){.hero-content{padding-bottom:85px}.photo-pair figure:first-child{height:920px}.photo-pair figure:last-child{height:750px}.food-grid figure{height:620px}}
@media(max-width:1150px){.desktop-nav{gap:18px}.header-right .nav-link{display:none}.photo-pair figure:first-child{height:610px}.photo-pair figure:last-child{height:510px;margin-top:100px}.intro-copy{gap:30px}.food-grid figure{height:360px}.weekends{gap:6vw}.weekends-photo{height:720px}.gallery-strip a{height:340px}.footer-main{grid-template-columns:1.4fr 1fr 1fr}.footer-col:last-child{grid-column:2 / 4;display:flex;gap:20px;align-items:center}.footer-col:last-child h3{margin:0}.menu-items{column-gap:50px}}
@media(max-width:800px){.site-header{height:88px;grid-template-columns:1fr auto 1fr}.desktop-nav{display:none}.menu-toggle{display:block;justify-self:start;padding-left:0;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.wordmark{font-size:32px}.brand small{font-size:6px}.mobile-nav{display:block;position:fixed;inset:88px 0 0;background:var(--cream);padding:45px var(--gutter);z-index:29;overflow:auto}.mobile-nav[hidden]{display:none}.mobile-nav a{display:block;font-family:var(--serif);font-size:42px;line-height:1.4;border-bottom:1px solid var(--line);padding:13px 0}.mobile-nav .mobile-contact{font-family:var(--sans);font-size:14px;border:0;margin-top:25px}.hero{height:calc(100svh - 88px);min-height:600px;max-height:1000px}.hero>img{object-position:55% 62%}.hero-content{padding-top:40px;padding-bottom:40px}.hero:after{background:linear-gradient(0deg,rgba(12,17,10,.67),rgba(12,17,10,.08) 75%)}.hero h1{font-size:clamp(49px,8.5vw,78px);max-width:670px}.hero-bottom{margin-top:28px}.hero-note{font-size:10px}.intro{grid-template-columns:1fr;gap:30px;padding-top:75px;padding-bottom:75px}.intro-copy{grid-template-columns:1fr;gap:10px}.intro h2{margin-bottom:25px}.photo-pair{padding-bottom:75px;gap:15px;grid-template-columns:1.15fr 1fr}.photo-pair figure:first-child{height:490px}.photo-pair figure:last-child{height:380px;margin-top:90px}.photo-pair figcaption{font-size:10px;left:16px;bottom:17px}.section-top{margin-bottom:35px;align-items:start}.food-section{padding-bottom:80px}.food-grid{gap:18px}.food-grid figure{height:290px}.food-grid h3{font-size:25px}.food-grid p{font-size:13px}.image-story{height:720px}.image-story .story-content{right:var(--gutter);max-width:440px}.image-story:after{background:linear-gradient(90deg,rgba(0,0,0,.61),rgba(0,0,0,.12))}.weekends{padding-top:80px;padding-bottom:80px;grid-template-columns:1fr;gap:50px}.weekends-photo{height:620px}.weekends-photo img{object-position:center 50%}.weekends-copy{max-width:600px}.reviews{min-height:0}.review-copy{padding:55px 30px}.review-copy h2{font-size:42px}.reviews figure{min-height:590px}.gallery-preview{padding-top:75px}.gallery-strip{grid-template-columns:repeat(4,1fr)}.gallery-strip a{height:260px}.visit{padding-top:80px;padding-bottom:80px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1 / 3}.footer-col:last-child{grid-column:auto;display:block}.footer-col:last-child h3{margin-bottom:19px}.menu-nav{justify-content:flex-start;gap:23px}.menu-banner{height:330px}.menu-items{column-gap:35px}.dish h3{font-size:22px}.gallery-main{gap:18px}.gallery-column{gap:18px}.gallery-column:nth-child(2){padding-top:60px}}
@media(max-width:540px){.hero{min-height:560px}.hero-content{padding-bottom:34px}.hero .eyebrow{font-size:10px;margin-bottom:18px;letter-spacing:.13em}.hero h1{font-size:52px;line-height:1.1}.hero-bottom{align-items:center;gap:18px}.hero-note{max-width:90px;line-height:1.6;font-size:9px;letter-spacing:.1em}.intro h2{font-size:43px}.intro-copy p{font-size:16px}.photo-pair{padding-left:0;padding-right:0;gap:9px}.photo-pair figure:first-child{height:375px}.photo-pair figure:last-child{height:310px;margin-top:65px}.photo-pair figcaption{font-size:8px;letter-spacing:.05em;left:12px}.section-top{flex-direction:column;gap:22px}.section-top h2{font-size:44px}.food-grid{grid-template-columns:1fr;gap:42px}.food-grid figure{height:440px}.food-grid h3{font-size:30px;margin-top:21px}.food-grid p{font-size:14px}.image-story{height:680px}.image-story>img{object-position:60% center}.story-content h2{font-size:49px}.story-content p{font-size:16px}.weekends-photo{height:520px}.weekends h2{font-size:49px}.reviews{grid-template-columns:1fr}.review-copy{padding:65px var(--gutter)}.review-copy h2{font-size:48px}.reviews figure{min-height:0;height:470px}.gallery-strip{grid-template-columns:1fr 1fr;gap:6px}.gallery-strip a{height:285px}.visit h2{font-size:52px}.visit p{font-size:15px}.footer-main{gap:30px}.footer-col:last-child{grid-column:1/3}.footer-bottom{font-size:10px;flex-direction:column;gap:5px}.page-heading{padding-top:65px;padding-bottom:50px}.page-heading h1{font-size:66px}.page-heading p{font-size:15px}.menu-downloads{gap:18px}.menu-items{grid-template-columns:1fr;gap:26px}.menu-section{padding-top:48px}.menu-nav{padding-top:17px;padding-bottom:17px}.menu-content{padding-bottom:65px}.menu-banner{height:270px}.gallery-main{grid-template-columns:1fr 1fr;gap:12px;padding-left:15px;padding-right:15px;padding-bottom:60px}.gallery-column{gap:12px}.gallery-column:nth-child(2){padding-top:45px}.gallery-column:last-child{grid-column:1/3;grid-template-columns:1fr 1fr;align-items:start}.gallery-column:last-child a:last-child{grid-column:1/3;margin:0 22%}.lightbox{padding:10px}.lightbox img{max-width:95vw;max-height:83svh}.lightbox-arrow{top:auto;bottom:20px;transform:none}.lightbox-count{bottom:28px;pointer-events:none}.lightbox-close{right:6px;top:6px}.not-found h1{font-size:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Clear, readable navigation while retaining the menu’s restrained typography. */
.nav-link,.text-link,.button,.menu-nav a{font-size:14px}.desktop-nav{gap:22px}.brand small{display:none}.footer-brand p,.footer-bottom,.hero-note{font-size:12px}.footer-col h3{font-size:12px}.hero .eyebrow{font-size:12px}.photo-pair figcaption{font-size:12px}
@media(max-width:1150px){.desktop-nav{gap:16px}.nav-link{letter-spacing:.04em}.header-right{gap:16px}.site-header{padding-left:30px;padding-right:30px}}
@media(max-width:900px) and (min-width:801px){.desktop-nav{gap:13px}.nav-link{font-size:12px}.wordmark{font-size:36px}}
@media(max-width:800px){.site-header{padding-left:var(--gutter);padding-right:var(--gutter)}.menu-toggle{font-size:12px}.hero-note{font-size:12px}.photo-pair figcaption{font-size:12px}.wordmark{font-size:32px}}
@media(max-width:540px){.hero .eyebrow{font-size:12px}.hero-note{font-size:12px;max-width:115px;letter-spacing:.02em}.photo-pair figcaption{font-size:12px;letter-spacing:.02em}.footer-bottom{font-size:12px}.hero h1{font-size:clamp(43px,12vw,60px)}.brand .wordmark{font-size:30px;letter-spacing:.045em}}

/* The opening photograph reaches every edge of the viewport. */
.home-page .site-header{position:absolute;inset:0 0 auto;width:100%;height:116px;background:transparent;border-bottom:0;color:var(--white)}
.home-page .site-header .wordmark{color:var(--white)}
.home-page .site-header a:focus-visible,.home-page .site-header button:focus-visible,.home-page .hero a:focus-visible{outline-color:var(--white)}
.home-page .hero{height:100svh;min-height:680px;max-height:none;background:#28241f}
.home-page .hero>img{object-position:50% 67%;animation:none}
.home-page .hero:after{background:linear-gradient(90deg,rgba(11,13,11,.53),rgba(11,13,11,.12) 43%,transparent 70%),linear-gradient(180deg,rgba(10,12,10,.32),transparent 22%,transparent 78%,rgba(10,12,10,.26))}
.home-page .hero-content{justify-content:flex-start;padding:clamp(180px,24svh,290px) var(--gutter) 64px}
.home-page .hero .eyebrow{margin-bottom:23px;max-width:480px}
.home-page .hero h1{font-size:clamp(52px,4.8vw,76px);max-width:700px;line-height:1.12;letter-spacing:-.025em}
.home-page .hero-bottom{margin-top:30px}
.home-page .hero-note{position:absolute;bottom:45px;right:var(--gutter);max-width:none}
@media(max-width:800px){
 .home-page .site-header{height:88px}
 .home-page .hero{min-height:720px}
 .home-page .hero>img{object-position:55% 58%}
 .home-page .hero-content{padding-top:160px}
 .home-page .hero h1{font-size:clamp(50px,7.2vw,62px);max-width:600px}
 .home-page.locked .site-header{background:var(--cream);color:var(--blue)}
 .home-page.locked .site-header .wordmark{color:var(--blue)}
}

/* Legal pages */
.footer-legal{display:flex;gap:20px;flex-wrap:wrap}.footer-legal a:hover,.footer-legal a[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.legal-page{padding:90px var(--gutter) 120px}.legal-heading{max-width:1040px;margin:0 auto 72px;text-align:center}.legal-heading .eyebrow{color:var(--blue);margin-bottom:24px}.legal-heading h1{font-size:clamp(54px,7vw,104px)}.legal-heading>p:last-child{margin:22px auto 0;color:var(--muted);font-size:14px}.legal-content{max-width:850px;margin:0 auto}.legal-content section{padding:36px 0;border-top:1px solid var(--line)}.legal-content section:last-child{border-bottom:1px solid var(--line)}.legal-content h2{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin-bottom:18px}.legal-content p{max-width:none;color:var(--muted);margin-bottom:16px}.legal-content p:last-child{margin-bottom:0}.legal-content ul{margin:4px 0 20px;padding-left:24px;color:var(--muted)}.legal-content li{margin:8px 0;padding-left:5px}.legal-content a{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
@media(max-width:800px){.legal-page{padding-top:70px;padding-bottom:90px}.legal-heading{margin-bottom:50px}.legal-content section{padding:30px 0}}
@media(max-width:540px){.footer-legal{gap:14px}.legal-page{padding:54px 20px 70px}.legal-heading{margin-bottom:38px}.legal-heading h1{font-size:50px}.legal-content h2{font-size:14px}.legal-content p,.legal-content li{font-size:15px}}
@media(max-width:540px){
 .home-page .hero{min-height:700px}
 .home-page .hero>img{object-position:54% center}
 .home-page .hero:after{background:linear-gradient(180deg,rgba(10,12,10,.18),rgba(10,12,10,.1) 40%,transparent 56%,transparent 82%,rgba(10,12,10,.27))}
 .home-page .hero-content{padding-top:145px;padding-bottom:32px}
 .home-page .hero .eyebrow{font-size:12px;max-width:300px;letter-spacing:.12em;margin-bottom:19px}
 .home-page .hero h1{font-size:clamp(42px,10.3vw,54px);line-height:1.14;max-width:350px}
 .home-page .hero-bottom{margin-top:26px}
 .home-page .hero-note{bottom:27px;font-size:12px}
}

/* 404: a composed editorial split that keeps the way back obvious. */
.not-found-page .site-footer{margin-top:0}
.not-found{min-height:calc(100svh - 108px);display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);padding:0;text-align:left;background:var(--blue);color:var(--cream)}
.not-found-copy{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(60px,8vw,130px) var(--gutter)}
.not-found-copy .eyebrow{position:relative;z-index:1;color:#dbe4e1;margin-bottom:30px}
.not-found-number{position:absolute;top:50%;left:var(--gutter);transform:translateY(-58%);font-family:var(--serif);font-size:clamp(190px,25vw,430px);line-height:.8;letter-spacing:-.08em;color:rgba(244,240,231,.055);pointer-events:none;user-select:none}
.not-found h1{position:relative;z-index:1;font-size:clamp(56px,6vw,94px);max-width:7.7ch;margin:0 0 28px}
.not-found-intro{position:relative;z-index:1;max-width:37ch;color:#dbe4e1;font-size:17px}
.not-found-actions{position:relative;z-index:1;display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.not-found .button{border-color:rgba(244,240,231,.8);color:var(--cream)}
.not-found .button.filled{background:var(--cream);color:var(--blue)}
.not-found .button:is(:hover,:focus-visible){background:var(--cream);color:var(--blue)}
.not-found-contact{position:relative;z-index:1;margin-top:32px;color:#cbd8d4;font-size:13px}
.not-found-contact a{text-decoration:underline;text-underline-offset:4px;color:var(--cream)}
.not-found-image{position:relative;min-height:inherit;overflow:hidden;background:#20231d}
.not-found-image img{position:absolute;inset:0;object-position:54% center}
.not-found-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,79,91,.28),transparent 32%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%)}
.not-found-image figcaption{position:absolute;z-index:1;right:30px;bottom:26px;color:var(--cream);font-size:11px;letter-spacing:.15em;text-transform:uppercase}
@media(max-width:800px){
 .not-found{min-height:calc(100svh - 88px);grid-template-columns:1fr;grid-template-rows:auto minmax(350px,48svh)}
 .not-found-copy{padding-top:72px;padding-bottom:72px}
 .not-found-number{font-size:clamp(170px,54vw,300px);left:auto;right:-10px;top:47%}
 .not-found h1{font-size:clamp(52px,12vw,78px)}
 .not-found-image{min-height:350px}
}
@media(max-width:540px){
 .not-found-copy{padding:58px 22px 62px}
 .not-found h1{font-size:53px;max-width:8ch}
 .not-found-intro{font-size:16px}
 .not-found-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .not-found-actions .button{justify-content:center;padding-left:12px;padding-right:12px;text-align:center}
 .not-found-image figcaption{right:18px;bottom:18px}
}

/* Original serif identity, with a quieter type scale across every page. */
body{font-size:15px}
h1{font-size:clamp(44px,5.5vw,80px)}
h2{font-size:clamp(34px,3.5vw,54px)}
h3{font-size:25px}
.wordmark{font-size:36px}
.nav-link,.menu-nav a{font-size:12px}
.eyebrow{font-size:12px}
.home-page .hero h1{font-size:clamp(42px,4vw,56px);max-width:600px}
.food-grid h3,.event-row h3{font-size:24px}
.food-grid p,.event-row p{font-size:13px}
.footer-brand .wordmark{font-size:40px}
.footer-col a,.footer-col address{font-size:13px}
.page-heading h1{font-size:clamp(48px,6vw,80px)}
.menu-section-header h2{font-size:13px}
.dish h3{font-size:20px}
.dish p,.dish .price{font-size:13px}
.dietary-note{font-size:12px}
.visit h2{font-size:clamp(40px,4.8vw,64px)}
.lightbox-close{font-size:12px;min-height:44px}

@media(max-width:900px) and (min-width:801px){
 .wordmark{font-size:32px}
}
@media(max-width:800px){
 .wordmark{font-size:28px}
 .mobile-nav a{font-size:32px}
 .mobile-nav .mobile-contact{font-size:13px}
 .home-page .hero h1{font-size:clamp(40px,6vw,48px)}
 .food-grid h3{font-size:22px}
 .review-copy h2{font-size:34px}
}
@media(max-width:540px){
 .brand .wordmark{font-size:26px}
 .home-page .hero h1{font-size:clamp(36px,9.2vw,42px)}
 .intro h2,.section-top h2{font-size:34px}
 .story-content h2,.weekends h2,.review-copy h2{font-size:36px}
 .intro-copy p,.story-content p{font-size:15px}
 .food-grid h3{font-size:24px}
 .food-grid p{font-size:13px}
 .visit h2{font-size:40px}
 .visit p,.page-heading p{font-size:14px}
.page-heading h1,.not-found h1{font-size:50px}
}

/* Keep every category reachable when the menu bar overflows. */
.menu-nav{justify-content:flex-start}
.menu-nav a{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center}
.menu-nav a:first-child{margin-inline-start:auto}
.menu-nav a:last-child{margin-inline-end:auto}
.menu-nav a[aria-current=location]{color:var(--blue);text-decoration:underline;text-underline-offset:6px}
.mobile-nav a[aria-current]{color:var(--blue)}
.nav-link[aria-current=location]:after{width:100%}

/* One call-to-action style, with colours set by the surrounding surface. */
.button,.text-link{
 --button-ink:var(--blue);--button-border:var(--blue);--button-fill:var(--blue);--button-hover-ink:var(--white);--button-rest-fill:transparent;
 position:relative;display:inline-flex;align-items:center;justify-content:center;
 min-height:49px;max-width:100%;padding:13px 24px;border:1px solid var(--button-border);
 background:var(--button-rest-fill);color:var(--button-ink);font-family:var(--sans);font-size:13px;font-weight:400;
 line-height:1.5;letter-spacing:.1em;text-transform:uppercase;text-align:center;text-decoration:none;
 transition:background-color .3s ease,color .3s ease,border-color .3s ease;
}
.button-label{
 text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:.3em;
 transition:text-decoration-color .3s ease;
}
:is(.button,.text-link):is(:hover,:focus-visible){background:var(--button-fill);color:var(--button-hover-ink)}
:is(.button,.text-link):is(:hover,:focus-visible) .button-label{text-decoration-color:currentColor}
:is(.home-page .site-header,.hero,.image-story,.reviews,.photo-pair) :is(.button,.text-link){
 --button-ink:var(--white);--button-border:var(--white);--button-fill:var(--white);--button-hover-ink:var(--blue);
}
:is(.hero,.image-story,.reviews,.photo-pair) :is(.button,.text-link):focus-visible{outline-color:var(--white)}
.home-page.nav-open .site-header .button{
 --button-ink:var(--blue);--button-border:var(--blue);--button-fill:var(--blue);--button-hover-ink:var(--white);
}
/* The final reservation keeps its blue fill; only its label gains an underline. */
.visit .reservation-button{--button-rest-fill:var(--blue);--button-ink:var(--white)}
.section-top>.text-link,.review-copy>.text-link{flex-shrink:0}

/* Reveal the outline first; filling it requires hovering the button itself. */
.photo-pair figure::after,.hover-caption::after{
 content:'';position:absolute;inset:0;background:rgba(0,0,0,.48);opacity:0;
 pointer-events:none;transition:opacity .45s cubic-bezier(.22,1,.36,1);
}
.photo-pair .image-button{
 position:absolute;z-index:2;top:50%;left:50%;width:max-content;max-width:calc(100% - 32px);
 transform:translate(-50%,-50%) translateY(8px);opacity:0;pointer-events:none;
 transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1),background-color .3s ease,color .3s ease;
}
.photo-pair figure:is(:hover,:focus-within)::after{opacity:1}
.photo-pair figure:is(:hover,:focus-within) .image-button{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.hover-caption{overflow:hidden}
.hover-caption .photo-tag{
 z-index:2;left:50%;bottom:50%;width:max-content;max-width:calc(100% - 48px);text-align:center;
 transform:translate(-50%,50%);opacity:0;transition:opacity .35s ease,font-size .35s ease,letter-spacing .35s ease;
}
.hover-caption:hover::after{opacity:1}
.hover-caption:hover .photo-tag{opacity:1;font-size:14px;letter-spacing:.14em}
@media(max-width:800px){.header-right .button{font-size:12px;padding:10px 12px;min-height:44px}}
@media(max-width:540px){
 .button,.text-link{font-size:12px;padding:13px 20px}
 .header-right .button{padding:10px;letter-spacing:.025em}
 .photo-pair .image-button{padding:12px;letter-spacing:.06em}
}
@media(hover:none){
 .photo-pair figure::after{opacity:1}
 .photo-pair .image-button{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
}

/* New food photography: retain full compositions in the gallery. */
.menu-banner-new{height:clamp(330px,45vw,650px)}
.menu-banner-new picture{display:block;width:100%;height:100%}
.menu-banner-new img{object-position:center 55%}
.gallery-collection{padding:0 var(--gutter) 100px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}
.gallery-collection .gallery-link{aspect-ratio:2/3}
.gallery-collection .gallery-link img{width:100%;height:100%;object-fit:cover}
.gallery-collection .gallery-link-wide{grid-column:1/-1;aspect-ratio:2047/1366}
.gallery-collection .gallery-link:focus-visible{outline-offset:5px}
@media(max-width:800px){.gallery-collection{gap:18px;padding-bottom:75px}}
@media(max-width:540px){
 .menu-banner-new{height:auto;aspect-ratio:4/5}
 .menu-banner-new img{object-position:center}
 .gallery-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 15px 60px}
}

@media(max-width:800px){
 /* Keep Close and the home link available while the menu covers the page. */
 .nav-open .site-header{position:fixed;inset:0 0 auto;height:88px;background:var(--cream);color:var(--blue)}
 .nav-open .site-header a:focus-visible,.nav-open .site-header button:focus-visible{outline-color:var(--blue)}
 .interior-page.nav-open{padding-top:88px}
}

/* Brunch: clear day-by-day bookings within the existing Yammas identity. */
.weekend-actions{display:flex;gap:14px;flex-wrap:wrap}
.brunch-page .hero{min-height:700px;height:100svh;max-height:950px}
.brunch-page .hero>img{object-position:50% 48%}
.brunch-page .hero:after{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25) 55%,rgba(0,0,0,.08)),linear-gradient(180deg,rgba(0,0,0,.25),transparent 25%)}
.brunch-page .hero-content{padding-top:clamp(170px,22svh,240px);padding-bottom:70px}
.brunch-page .hero h1{font-size:clamp(42px,4vw,58px);max-width:620px}
.brunch-hero-summary{font-size:18px;line-height:1.65;margin-top:26px}
.brunch-hero-summary strong{font-weight:500}
.brunch-hero-duration{font-size:14px;margin-top:15px;max-width:none}
.brunch-hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:26px}
.brunch-hero-terms{font-size:12px;margin-top:18px;max-width:none}
.brunch-options{padding:95px var(--gutter) 80px;scroll-margin-top:0}
.brunch-options .section-top>p{font-size:15px;color:var(--muted)}
.brunch-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line)}
.brunch-option{padding:42px;display:flex;flex-direction:column;scroll-margin-top:30px}
.brunch-option+.brunch-option{border-left:1px solid var(--line)}
.brunch-option .eyebrow{color:var(--blue);letter-spacing:.12em}
.brunch-option-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}
.brunch-option h3{font-size:42px;color:var(--blue)}
.brunch-price{font-family:var(--serif);font-size:42px;line-height:1.1;text-align:right;color:var(--blue)}
.brunch-price span{display:block;font-family:var(--sans);font-size:12px;line-height:1.6;margin-top:7px}
.brunch-option-intro{font-size:15px;color:var(--muted);max-width:48ch}
.brunch-inclusions{list-style:none;margin:27px 0 32px;padding:0;font-size:15px}
.brunch-inclusions li{padding:11px 0;border-top:1px solid var(--line)}
.brunch-inclusions li:last-child{border-bottom:1px solid var(--line)}
.brunch-inclusions strong{font-weight:500}
.brunch-card-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:auto}
.brunch-booking-notes{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:27px}
.brunch-booking-notes p{font-size:13px;max-width:60ch;color:var(--muted)}
.brunch-food{display:grid;grid-template-columns:1fr 1.08fr;align-items:stretch}
.brunch-food>figure{position:relative;min-height:740px;overflow:hidden}
.brunch-food>figure img{position:absolute;inset:0;object-position:52% center}
.brunch-food figcaption{position:absolute;bottom:25px;left:25px;color:var(--white);font-size:12px;text-transform:uppercase;letter-spacing:.1em;text-shadow:0 1px 7px #000}
.brunch-food-copy{padding:70px clamp(32px,5vw,90px);background:var(--white)}
.brunch-food-copy>.eyebrow{color:var(--blue);margin-bottom:22px}
.brunch-food-copy h2{margin-bottom:26px}
.brunch-food-copy>p:not(.eyebrow){color:var(--muted);font-size:15px}
.brunch-menu-columns{display:grid;grid-template-columns:1fr 1.25fr;gap:28px;margin:35px 0}
.brunch-menu-columns h3{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--blue);margin-bottom:17px}
.brunch-menu-columns ul{list-style:none;padding:0;margin:0}
.brunch-menu-columns li{font-size:14px;line-height:1.55;margin-bottom:17px}
.brunch-menu-columns li strong{display:block;font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.35;color:var(--ink)}
.brunch-menu-columns li span{display:block;margin-top:3px;font-size:12px;line-height:1.55;color:var(--muted)}
.brunch-food-copy>.brunch-menu-note{font-size:12px;line-height:1.7;margin-top:22px;max-width:56ch}
.brunch-drinks{display:grid;grid-template-columns:1fr 1fr;background:var(--blue);color:var(--cream)}
.brunch-drinks-copy{padding:85px var(--gutter);align-self:center}
.brunch-drinks-copy .eyebrow{margin-bottom:25px}
.brunch-drinks-copy h2{margin-bottom:27px}
.brunch-drinks-copy>p:not(.eyebrow){font-size:15px;max-width:40ch}
.brunch-drinks-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;margin:34px 0 30px}
.brunch-drink{border-top:1px solid rgba(244,240,231,.35);padding-top:13px}
.brunch-drink h3{font-family:var(--serif);font-size:19px;line-height:1.3}
.brunch-drink p{font-size:12px;line-height:1.55;color:#dfe5e2;margin-top:4px}
.brunch-drinks-duration{margin:25px 0 30px}
.brunch-drinks .button{--button-ink:var(--white);--button-border:var(--white);--button-fill:var(--white);--button-hover-ink:var(--blue)}
.brunch-drinks .button:focus-visible{outline-color:var(--white)}
.brunch-drinks>figure{height:auto;min-height:900px}
.brunch-drinks>figure img{object-position:center 65%}
.brunch-details{padding:100px var(--gutter);display:grid;grid-template-columns:1fr 1.35fr;gap:70px}
.brunch-details .eyebrow{color:var(--blue);margin-bottom:22px}
.brunch-live-music{padding-top:75px;padding-bottom:75px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.brunch-live-copy{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;display:grid;gap:12px}
.brunch-live-copy p{font-size:15px;color:var(--muted);max-width:60ch}
.brunch-questions details{border-top:1px solid var(--line)}
.brunch-questions details:last-child{border-bottom:1px solid var(--line)}
.brunch-questions summary{padding:22px 24px 22px 0;cursor:pointer;font-size:16px;color:var(--blue);line-height:1.5}
.brunch-questions summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.brunch-questions details p{font-size:14px;color:var(--muted);padding-bottom:25px;max-width:60ch}
.brunch-questions details a{text-decoration:underline;text-underline-offset:4px;color:var(--blue)}
.brunch-visit{padding-top:75px;border-top:1px solid var(--line)}
.brunch-visit .brunch-final-note{font-size:12px;margin:24px auto 0}
.brunch-mobile-booking{display:none}
@media(max-width:1100px){
 .brunch-option{padding:30px}
 .brunch-food{grid-template-columns:.9fr 1.1fr}
 .brunch-menu-columns{grid-template-columns:1fr;gap:20px}
 .brunch-food>figure{min-height:880px}
}
@media(max-width:800px){
 .brunch-options{padding:70px var(--gutter)}
 .brunch-options .section-top{flex-direction:column}
 .brunch-option{padding:27px}
 .brunch-option h3,.brunch-price{font-size:34px}
 .brunch-card-actions{gap:10px;align-items:flex-start;flex-direction:column}
 .brunch-booking-notes{gap:25px}
 .brunch-food{grid-template-columns:1fr}
 .brunch-food>figure{min-height:0;height:430px}
 .brunch-food>figure img{object-position:center}
 .brunch-food-copy{padding:60px var(--gutter)}
 .brunch-menu-columns{grid-template-columns:1fr 1fr;gap:30px}
 .brunch-drinks-copy{padding:55px 30px}
 .brunch-drinks>figure{height:620px}
 .brunch-details{grid-template-columns:1fr;gap:35px;padding:70px var(--gutter)}
}
@media(max-width:540px){
 .brunch-page .hero{height:100svh;min-height:700px;max-height:900px}
 .brunch-page .hero>img{object-position:59% center}
 .brunch-page .hero-content{padding-top:145px;padding-bottom:95px}
 .brunch-page .hero h1{font-size:40px}
 .brunch-hero-summary{font-size:16px;margin-top:23px}
 .brunch-hero-duration{font-size:13px}
 .brunch-hero-actions{gap:10px}
 .brunch-hero-actions .button{padding:13px 17px}
 .brunch-hero-terms{max-width:30ch}
 .brunch-options-grid{grid-template-columns:1fr}
 .brunch-option{padding:30px 23px}
 .brunch-option+.brunch-option{border-left:0;border-top:1px solid var(--line)}
 .brunch-option h3,.brunch-price{font-size:38px}
 .brunch-card-actions{gap:18px}
 .brunch-booking-notes{grid-template-columns:1fr;gap:15px}
 .brunch-food>figure{height:320px}
 .brunch-menu-columns{grid-template-columns:1fr;gap:24px}
 .brunch-drinks{grid-template-columns:1fr}
 .brunch-drinks-copy{padding:65px var(--gutter)}
 .brunch-drinks-list{grid-template-columns:1fr;gap:15px}
 .brunch-drinks>figure{height:500px}
 .brunch-visit{padding:65px var(--gutter)}
 .brunch-page .site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
 .brunch-mobile-booking{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;inset:auto 0 0;z-index:28;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--cream);border-top:1px solid var(--line)}
 .brunch-mobile-booking .button{padding:11px 10px;min-height:44px}
 .brunch-page.nav-open .brunch-mobile-booking{display:none}
}

/* Focused mobile refinement: compact navigation and a quieter weekend hero. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.menu-icon{position:relative;display:block;width:25px;height:18px}
.menu-icon span{position:absolute;left:0;width:100%;height:1.5px;background:currentColor;transition:transform .25s ease,opacity .2s ease}
.menu-icon span:nth-child(1){top:0}
.menu-icon span:nth-child(2){top:8px}
.menu-icon span:nth-child(3){top:16px}
.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media(max-width:800px){
 .site-header,.home-page .site-header,.nav-open .site-header{height:76px;grid-template-columns:44px minmax(0,1fr) 44px;padding:0 18px}
 .menu-toggle{display:grid;place-items:center;justify-self:start;padding:9px;color:inherit}
 .brand{grid-column:2;justify-self:center;min-width:0}
 .header-right{display:none}
 .mobile-nav{inset:76px 0 0;padding-top:34px}
 .interior-page.nav-open{padding-top:76px}
}

@media(max-width:540px){
 .brunch-page .hero{height:auto;min-height:680px;max-height:none}
 .brunch-page .hero>img{object-position:82% center;filter:brightness(.68) saturate(.86)}
 .brunch-page .hero:after{background:linear-gradient(90deg,rgba(6,10,8,.82),rgba(6,10,8,.58) 64%,rgba(6,10,8,.3)),linear-gradient(180deg,rgba(6,10,8,.28),transparent 24%,rgba(6,10,8,.2))}
 .brunch-page .hero-content{justify-content:center;padding:96px 22px 38px}
 .brunch-page .hero .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.1em;margin-bottom:14px;max-width:290px}
 .brunch-page .hero h1{font-size:34px;line-height:1.08;max-width:320px}
 .brunch-hero-summary{font-size:15px;line-height:1.5;margin-top:18px}
 .brunch-hero-duration{font-size:12px;margin-top:11px}
 .brunch-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;max-width:340px;margin-top:20px}
 .brunch-hero-actions .button{min-height:46px;padding:10px 8px;font-size:12px;letter-spacing:.06em}
 .brunch-hero-terms{font-size:12px;line-height:1.5;margin-top:14px;max-width:none}
 .brunch-options{padding:55px 18px 60px}
 .brunch-options .section-top{gap:15px;margin-bottom:28px}
 .brunch-options .section-top h2{font-size:36px}
 .brunch-options .section-top>p{font-size:14px}
 .brunch-options-grid{border:0;gap:16px}
 .brunch-option{padding:24px 20px;border:1px solid var(--line)}
 .brunch-option+.brunch-option{border:1px solid var(--line)}
 .brunch-option-heading{margin:17px 0}
 .brunch-option h3,.brunch-price{font-size:32px}
 .brunch-option-intro{font-size:14px}
 .brunch-inclusions{font-size:14px;margin:20px 0 24px}
 .brunch-card-actions{width:100%;gap:10px}
 .brunch-card-actions .button{width:100%}
 .brunch-booking-notes{margin-top:22px}
}
