@font-face{font-family:Brand;src:url('../assets/fonts/Brand-Pro.otf') format('opentype');font-display:swap}@font-face{font-family:Keymer;src:url('../assets/fonts/Keymer-Radius-Bold.otf') format('opentype');font-weight:700;font-display:swap}@font-face{font-family:Keymer;src:url('../assets/fonts/Keymer-Radius-Heavy.otf') format('opentype');font-weight:800;font-display:swap}
:root{--green:#006736;--deep-green:#004523;--pink:#ffbacd;--cream:#faf0e6;--aqua:#9bd7d0;--yellow:#f4d451;--ink:#133b2a;--page-pad:clamp(1.25rem,5vw,4.5rem);--max:76rem;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--green);font-family:Brand,Arial,sans-serif;font-size:1rem;line-height:1.5}img{max-width:100%;height:auto}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:0;left:1rem;z-index:20;transform:translateY(-120%);padding:.65rem 1rem;background:var(--yellow);color:var(--deep-green);font-weight:700}.skip-link:focus{transform:translateY(0)}.eyebrow{margin:0 0:.75rem;font:800 .8rem/1.15 Keymer,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3rem;padding:.75rem 1.15rem;border:0;text-decoration:none;font:800 .86rem/1 Keymer,Arial,sans-serif;letter-spacing:.035em;text-transform:uppercase;transition:transform .18s ease,background .18s ease}.button:hover{transform:translateY(-2px)}.button--green{background:var(--green);color:var(--cream)}.button--green:hover{background:var(--deep-green)}.button--pink{background:var(--pink);color:var(--green)}
.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(0,103,54,.16);background:rgba(250,240,230,.98)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:calc(var(--max) + (var(--page-pad) * 2));min-height:5.1rem;margin:auto;padding:.65rem var(--page-pad)}.brand{display:block;line-height:0}.brand img{width:8rem;max-height:3.15rem;object-fit:contain}.primary-nav{display:flex;align-items:center;gap:clamp(.8rem,2vw,2rem);font:800 .96rem/1 Keymer,Arial,sans-serif}.primary-nav a{text-decoration:none}.primary-nav>a:not(.button):hover{text-decoration:underline}.nav-toggle{display:none;padding:.65rem;border:0;background:transparent;color:var(--green)}.nav-toggle span:not(.sr-only){display:block;width:1.7rem;height:2px;margin:.29rem;background:currentColor}
.hero{overflow:hidden;background:var(--pink);padding:clamp(3.25rem,7vw,6.5rem) var(--page-pad) 0}.hero-inner,.content-grid,.menu-layout,.location-grid{max-width:var(--max);margin:auto}.hero-inner{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(1.5rem,5vw,4.5rem);align-items:center}.hero h1,h2{margin:0;font:800 clamp(2.75rem,6vw,5.7rem)/.9 Keymer,Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase}.hero h1{max-width:38rem}.lead{max-width:31rem;margin:1.35rem 0 1.7rem;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.5}.hero-photo-wrap{position:relative;padding:0 1.1rem 1.1rem 0}.hero-photo{display:block;width:100%;height:clamp(23rem,39vw,31rem);object-fit:cover;box-shadow:1rem 1rem 0 var(--yellow);transform:rotate(1.8deg)}.spark{position:absolute;z-index:1;top:-2rem;right:-.25rem;font:800 4.6rem/1 Keymer}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);max-width:var(--max);margin:3.3rem auto 0;border-top:1px solid rgba(0,103,54,.3)}.quick-links a{display:flex;min-height:4.7rem;align-items:center;justify-content:center;gap:.45rem;padding:.5rem;border-right:1px solid rgba(0,103,54,.3);font:800 .85rem/1.15 Keymer,Arial,sans-serif;text-align:center;text-decoration:none;text-transform:uppercase}.quick-links a:last-child{border:0}.quick-links a:hover{background:rgba(255,255,255,.25)}
.section{padding:clamp(4rem,8vw,7.5rem) var(--page-pad)}.about{background:var(--green);color:var(--cream)}.content-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(2rem,6vw,5.5rem);align-items:center}.about h2{font-size:clamp(2.65rem,5.1vw,4.7rem)}.body-copy{max-width:35rem;margin:1.4rem 0 0;font-family:Brand,Arial,sans-serif;font-size:clamp(1.05rem,1.7vw,1.2rem);line-height:1.62}.framed-image{display:block;width:100%;aspect-ratio:1.18;object-fit:cover}.framed-image--pink{box-shadow:-.85rem .85rem 0 var(--pink)}
.menu{background:var(--cream)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;max-width:var(--max);margin:0 auto 2.5rem}.menu h2{font-size:clamp(3.5rem,7vw,6.6rem);font-style:italic}.menu-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,5.5rem);align-items:center}.menu-preview{position:relative;display:block;overflow:hidden;width:100%;padding:0;border:0;box-shadow:.85rem .85rem 0 var(--aqua);background:var(--green);color:var(--cream);cursor:zoom-in}.menu-preview img{display:block;width:100%;transition:opacity .2s ease}.menu-preview:hover img{opacity:.76}.menu-preview span{position:absolute;right:0;bottom:0;padding:.65rem .85rem;background:var(--green);font:800 .75rem/1 Keymer,Arial,sans-serif;text-transform:uppercase}.menu-copy h3{margin:0 0 .7rem;font:800 clamp(1.5rem,2.3vw,2rem)/1 Keymer,Arial,sans-serif;text-transform:uppercase}.menu-copy p{max-width:25rem;margin:0 0 1.4rem;font-size:1.06rem;color:#285640}.menu-dialog{width:min(92vw,70rem);max-height:92vh;padding:0;border:0;background:var(--cream);color:var(--green);box-shadow:0 .5rem 3rem rgba(0,0,0,.32)}.menu-dialog::backdrop{background:rgba(0,50,28,.7)}.dialog-bar{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:var(--green);color:var(--cream)}.dialog-bar h2{font-size:1.4rem}.dialog-bar button{width:2.7rem;height:2.7rem;border:0;background:var(--pink);color:var(--green);font-size:2rem;line-height:1;cursor:pointer}.menu-dialog>img{display:block;width:100%}.menu-dialog>.button{margin:1rem}
.gallery{background:var(--cream);padding-bottom:clamp(3.5rem,6vw,5rem)}.gallery-heading{max-width:var(--max);margin:0 auto 1.8rem}.gallery h2{font-size:clamp(2.8rem,5.4vw,5rem)}.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:1.25rem;max-width:var(--max);margin:auto}.gallery-grid img{display:block;width:100%;height:18rem;object-fit:cover}.gallery-grid>img{height:100%}.gallery-exterior{box-shadow:-.65rem .65rem 0 var(--green)}.gallery-grid p{margin:1rem 0 0;padding:1.25rem;background:var(--yellow);color:var(--green);font-size:1rem;line-height:1.5}.gallery-grid strong{display:block;margin-bottom:.35rem;font:800 1.2rem/1 Keymer,Arial,sans-serif;text-transform:uppercase}
.reviews{background:var(--pink)}.limited{max-width:var(--max);margin:auto}.reviews h2{font-size:clamp(2.8rem,5vw,4.7rem)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.review{display:flex;min-height:12rem;flex-direction:column;justify-content:space-between;padding:1.4rem;background:var(--cream);color:var(--green)}.review-label{margin:0;color:var(--deep-green);font:800 .72rem/1 Keymer,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.review>p:not(.review-label){margin:1rem 0;font:700 1.1rem/1.35 Keymer,Arial,sans-serif}.review small{font-size:.9rem}.section-note,.placeholder{margin:1rem 0 0;font:700 .85rem/1.4 Keymer,Arial,sans-serif}.catering{padding:clamp(3.75rem,6vw,5rem) var(--page-pad);background:var(--yellow)}.catering-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:var(--max);margin:auto}.catering h2{font-size:clamp(2.8rem,5vw,4.7rem)}.catering p:not(.eyebrow){max-width:34rem;margin:1rem 0 0;font-size:1.08rem}
.location{background:var(--green);color:var(--cream)}.location-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:clamp(2.2rem,6vw,5rem);align-items:start}.location h2{font-size:clamp(2.8rem,5vw,4.7rem)}.location-details{display:grid;gap:1.3rem;margin:1.7rem 0}.location-details>div{padding-bottom:1.1rem;border-bottom:1px solid rgba(250,240,230,.35)}.location h3,.site-footer h2{margin:0 0 .45rem;color:var(--yellow);font:800 .8rem/1 Keymer,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.location a{font-size:1.05rem;font-weight:700}.operational-data,.operational-data :is(a,p,dl,dt,dd,h2,h3){font-family:Arial,sans-serif;letter-spacing:normal}.hours{display:grid;gap:.3rem;margin:0;font-size:1rem}.hours div{display:flex;justify-content:space-between;gap:1rem}.hours dt,.hours dd{margin:0}.hours div:first-child dt::after{content:' —'}.hours dd{text-align:right}.closed{color:var(--pink);font-weight:700}.location .placeholder{color:var(--pink)}.map{display:block;width:100%;min-height:31rem;border:0;background:var(--aqua)}
.site-footer{padding:3.3rem var(--page-pad) 5.5rem;background:var(--deep-green);color:var(--cream)}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:1.75rem;max-width:var(--max);margin:auto}.footer-grid img{width:9rem;height:auto;filter:brightness(0) invert(1)}.footer-grid p,.footer-grid a{margin:.6rem 0;line-height:1.45}.footer-grid a{display:block;text-decoration:none}.footer-grid a:hover{text-decoration:underline}.footer-grid strong{color:var(--pink)}.site-footer .placeholder{color:var(--pink)}.copyright{max-width:var(--max);margin:2.7rem auto 0;font-size:.8rem;color:rgba(250,240,230,.7)}
@media (max-width:760px){.header-inner{min-height:4.3rem}.brand img{width:6.8rem;max-height:2.6rem}.nav-toggle{display:block}.primary-nav{position:absolute;top:100%;right:0;left:0;display:none;align-items:stretch;gap:0;padding:.6rem var(--page-pad) 1rem;border-bottom:1px solid rgba(0,103,54,.18);background:var(--cream);box-shadow:0 .7rem 1rem rgba(0,65,35,.1)}.primary-nav.is-open{display:flex;flex-direction:column}.primary-nav a{padding:.75rem .25rem}.primary-nav .button{margin-top:.3rem}.hero{padding-top:3rem}.hero-inner,.content-grid,.menu-layout,.location-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(3.15rem,15vw,4.8rem)}.hero-copy .lead{font-size:1.02rem}.hero-photo-wrap{margin-top:.3rem}.hero-photo{height:19rem;box-shadow:.65rem .65rem 0 var(--yellow)}.spark{top:-1.4rem;right:-.3rem;font-size:3.5rem}.quick-links{margin-top:2.5rem}.quick-links a{min-height:4rem;padding:.45rem;font-size:.68rem}.section{padding-top:4rem;padding-bottom:4rem}.content-grid{gap:2rem}.framed-image{max-width:32rem}.section-heading{display:block;margin-bottom:1.8rem}.desktop-cta{display:none}.menu-layout{gap:2.2rem}.menu-preview{box-shadow:.6rem .6rem 0 var(--aqua)}.gallery-grid{grid-template-columns:1fr;gap:1rem}.gallery-grid>img,.gallery-grid img{height:13rem}.gallery-grid>img{height:16rem}.gallery-exterior{box-shadow:-.45rem .45rem 0 var(--green)}.gallery-grid p{margin:.8rem 0 0;padding:1rem}.review-grid{grid-template-columns:1fr;gap:.75rem}.review{min-height:9.5rem}.catering-inner{display:block}.catering-inner .button{margin-top:1.4rem}.location-grid{gap:2.3rem}.map{min-height:18rem}.footer-grid{grid-template-columns:1fr 1fr;gap:1.8rem 1rem}.footer-grid>div:first-child{grid-column:1/-1}}
@media (max-width:360px){.hero h1{font-size:3rem}.quick-links a{font-size:.62rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.hours{font-size:.92rem}}

/* Footer-specific readability */
.footer-order-link{font-family:Arial,sans-serif}

/* Long-form About copy uses the clean informational typeface. */
.body-copy{font-family:Arial,sans-serif}

.footer-hours{white-space:nowrap}

.about-photo{aspect-ratio:auto;object-fit:contain}
.footer-hours-grid{display:grid;gap:.35rem;margin:.6rem 0;font:inherit}.footer-hours-grid div{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:.65rem;align-items:baseline}.footer-hours-grid dt,.footer-hours-grid dd{margin:0}.footer-hours-grid dt{overflow-wrap:anywhere}.footer-hours-grid dd{white-space:nowrap;text-align:right}
@media (max-width:1200px){.footer-hours-grid div{grid-template-columns:1fr;gap:0}.footer-hours-grid dd{text-align:left}}

/* Compact gallery: dining room, storefront, and outdoor seating. */
.gallery-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.gallery-details p{grid-column:1/-1}
@media (max-width:760px){.gallery-details{gap:1rem}}

.review-stars{margin:0;color:var(--green);font:800 1rem/1 Arial,sans-serif;letter-spacing:.12em}.review>p.review-quote{margin:1rem 0;font-family:Arial,sans-serif;font-size:1rem;font-weight:700;line-height:1.5}.reviews-link{margin-top:1.25rem}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
