:root{--green:#173b2c;--brand-green:#317423;--red:#b72c22;--gold:#b8860b;--yellow:#f9bc11;--cream:#f9f6ed;--ink:#222b24;--muted:#61675e;--line:#deded1;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.75}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04}h1{font-size:clamp(65px,6.8vw,104px);letter-spacing:-3px}h2{font-size:clamp(43px,4.1vw,65px);letter-spacing:-1.5px}h3{font-size:28px}h1 em,h2 em{font-weight:400}p+p{margin-top:20px}.skip-link{position:fixed;top:-80px;left:20px;background:white;padding:12px;z-index:99}.skip-link:focus{top:10px}.announcement{background:var(--green);color:#f8f4de;text-align:center;padding:8px 24px;font-size:11px;letter-spacing:1.4px}.announcement span{margin-left:38px;color:#c8d2c6}.header{position:sticky;top:0;z-index:20;min-height:105px;padding:12px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#f9f6edf5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.brand img{width:76px;height:76px;object-fit:contain;border-radius:50%}.brand>span{font-family:var(--serif);font-size:28px;font-weight:600;line-height:1.05;color:var(--green)}.brand em{color:var(--red);font-style:normal}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:1.8px;margin-top:9px;font-weight:500}.header nav{display:flex;gap:32px;font-size:13px}.header nav a:hover,.text-link:hover{color:var(--red)}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:52px;padding:15px 25px;border:1px solid transparent;border-radius:2px;font-size:13px;font-weight:700;line-height:1.4;transition:background .2s,transform .2s}.button span{font-size:20px;line-height:1}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--yellow);color:#202619}.button-gold:hover{background:#eeb10a}.button-green{background:var(--green);color:white}.button-green:hover{background:#28563e}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:700px}.hero-copy{padding:70px 8% 50px 10%}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.1px;line-height:1.6;margin-bottom:24px;color:var(--green)}.hero .eyebrow{display:flex;gap:10px;align-items:center;font-size:9px}.eyebrow>span{width:6px;height:6px;background:var(--red);border-radius:50%;flex-shrink:0}.hero h1 em{color:var(--brand-green)}.hero-description{max-width:390px;margin:28px 0;color:var(--muted);font-size:14px}.hero-phone{display:block;font-size:11px;margin-top:18px;color:var(--muted)}.hero-phone strong{color:var(--green);font-weight:600}.hero-details{display:flex;gap:25px;margin-top:42px;font-size:10px;letter-spacing:.5px}.hero-details span:before{content:'✓';color:var(--brand-green);margin-right:8px}.hero-visual{position:relative;min-height:600px;overflow:hidden;background:var(--green)}.hero-visual>img{height:100%;position:absolute;inset:0;object-position:58% center}.hero-visual:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#082014c9)}.image-caption{position:absolute;left:40px;bottom:42px;z-index:1;color:white}.image-caption>span{font-size:9px;letter-spacing:2px;color:#f1cb64}.image-caption p{font:38px/1.05 var(--serif);margin-top:14px}.image-caption em{color:#f3d27b}.since-seal{position:absolute;right:28px;top:28px;border-radius:50%;width:106px;height:106px;border:1px solid #f6dda0;background:#173b2ce8;color:#f7dda2;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:8px;letter-spacing:2px;line-height:1.2;transform:rotate(9deg)}.since-seal span{font:italic 20px var(--serif);margin-top:6px;letter-spacing:0}.since-seal strong{font:30px var(--serif);letter-spacing:0}.promise-strip{display:flex;justify-content:space-evenly;align-items:center;gap:18px;padding:24px 4%;background:#eee9da;color:var(--green);font-size:11px;letter-spacing:.7px}.promise-strip i{color:var(--gold);font-size:16px}.section{max-width:1440px;margin:auto;padding:108px 7%}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-visual{position:relative;margin-right:20px}.about-visual img{height:540px;object-position:center;border-radius:160px 160px 2px 2px}.about-note{position:absolute;bottom:28px;right:-35px;padding:22px 30px;background:var(--green);color:white;font:26px/1.1 var(--serif);border-bottom:3px solid var(--gold)}.about-note em{color:#e5c476}.about h2{margin-bottom:30px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:14px}.about-copy .friendly-line{color:var(--green)!important;font-weight:600}.about-copy .button{margin-top:28px}.dinner-banner{background:var(--green);color:var(--cream);padding:60px 7%;display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:center;border-top:4px solid var(--gold)}.dinner-banner .eyebrow{color:#dec17a}.dinner-banner h2{font-size:52px}.dinner-banner>div>p:not(.eyebrow){color:#c8d4c9;font-size:14px;margin-bottom:24px;max-width:360px}.delivery{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.delivery-intro>p:not(.eyebrow){margin:25px 0;color:var(--muted);font-size:14px;max-width:410px}.delivery-callout{display:flex;gap:15px;align-items:center;margin-bottom:26px}.delivery-callout>span{background:#eee7d3;border:1px solid #dcd0a7;width:43px;height:43px;display:grid;place-items:center;color:var(--gold);font-size:24px}.delivery-callout p{font-size:11px;color:var(--muted)}.delivery-callout strong{color:var(--green);font-size:13px}.delivery-guide{padding:35px;background:white;border:1px solid var(--line);border-top:3px solid var(--gold)}.guide-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:23px;border-bottom:1px solid var(--line)}.guide-heading h3{font-size:27px}.guide-heading>span{font-size:8px;letter-spacing:1px;text-align:right}.delivery-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:17px 0;font-size:14px}.delivery-row small{display:block;font-size:10px;color:var(--brand-green)}.delivery-row strong{font:32px var(--serif);color:var(--green)}.fine-print{font-size:11px;color:var(--muted);line-height:1.6}.delivery-guide .fine-print{margin-top:20px}.contact{border-top:1px solid var(--line)}.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:55px}.contact-heading h2{font-size:52px}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:5%}.contact-block{border-top:1px solid #b9c0af;padding-top:22px}.number{font-size:9px;letter-spacing:1.8px;color:var(--gold);font-weight:700}.contact-block h3{margin:18px 0;font-size:25px}.contact-block p,.contact-block address{font-size:13px;color:var(--muted);font-style:normal}.parking{margin-top:14px;color:var(--green)!important;font-weight:600}.text-link{display:inline-flex;gap:25px;font-size:12px;font-weight:700;margin-top:22px;border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:5px}.contact-block dl{font-size:12px;margin:18px 0}.contact-block dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:7px 0}.contact-block dd{margin:0}.contact-block .phone{display:block;font-family:var(--serif);font-size:27px;color:var(--green)}.email{font-size:12px;display:block;margin:5px 0 20px;overflow-wrap:anywhere}.last-call{text-align:center;padding:70px 20px;background:#eae9da;border-bottom:3px solid var(--gold)}.last-call h2{margin-bottom:30px}.last-call .eyebrow{margin-bottom:16px}footer{padding:42px 7% 25px;background:var(--green);color:#e5ebdf}.footer-brand{font:32px var(--serif)}.footer-brand em{color:#e6c372}footer>p{font-size:9px;letter-spacing:2px;margin-top:7px}footer>div{display:flex;gap:30px;margin-top:35px;padding-top:18px;border-top:1px solid #ffffff20;font-size:10px;color:#c3cdbf}.photo-note{margin-left:auto}.mobile-order{display:none}dialog{max-width:540px;width:calc(100% - 32px);border:1px solid var(--gold);padding:44px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#102419bb;backdrop-filter:blur(4px)}dialog h2{font-size:39px}dialog>p:not(.eyebrow){margin:22px 0;font-size:14px;color:var(--muted)}.dialog-close{position:absolute;right:16px;top:9px;font-size:30px;background:none;border:0}.dialog-back{display:block;margin-top:24px}.dialog-open{overflow:hidden}
@media(min-width:1600px){.hero-copy{padding-left:max(10%,calc((100vw - 1240px)/2))}.hero{min-height:790px}}
@media(max-width:1050px){.header{padding:12px 4%;gap:14px}.header nav{gap:20px}.brand>span{font-size:23px}.brand small{font-size:7px}.brand img{width:62px;height:62px}.header .button{padding:14px 18px;gap:18px}.hero-copy{padding:65px 8%}.hero{min-height:650px}.hero .eyebrow{font-size:8px}.hero-details{gap:15px;font-size:9px;flex-wrap:wrap}.section{padding:80px 6%}.about{gap:7%}.about-visual img{height:490px}.contact-heading h2{font-size:43px}.contact-grid{gap:4%}.dinner-banner{gap:7%}.dinner-banner h2{font-size:45px}.delivery{gap:6%}.guide-heading{display:block}.guide-heading>span{display:block;text-align:left;margin-top:10px}}
@media(max-width:760px){html{scroll-padding-top:100px}.announcement{font-size:9px;padding:7px 12px;letter-spacing:.7px}.announcement span{display:none}.header{min-height:83px;padding:9px 5%;flex-wrap:wrap;gap:5px 12px}.brand img{width:56px;height:56px}.brand>span{font-size:23px}.brand small{font-size:6px;letter-spacing:1px}.header nav{display:none}.header .button{font-size:11px;min-height:43px;padding:10px 13px;gap:10px}.header .button span{font-size:16px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 36px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:20px}h1{font-size:70px;line-height:1;letter-spacing:-2px}.hero-description{font-size:14px;margin:24px 0;max-width:450px}.hero-details{margin-top:25px;font-size:10px;gap:25px}.hero-visual{min-height:430px}.hero-visual>img{object-position:center}.image-caption{left:26px;bottom:25px}.image-caption p{font-size:31px}.since-seal{width:88px;height:88px;right:20px;top:20px}.since-seal strong{font-size:25px}.promise-strip{display:grid;grid-template-columns:1fr 1fr;text-align:center;padding:20px 5%;font-size:9px;gap:13px}.promise-strip i{display:none}.section{padding:65px 7%}.about{grid-template-columns:1fr;gap:55px}.about-visual{margin-right:18px}.about-visual img{height:430px;border-radius:140px 140px 2px 2px}.about-note{right:-18px;bottom:20px;font-size:25px}.about-copy h2{font-size:49px}.dinner-banner{grid-template-columns:1fr;gap:28px;padding:48px 7%}.dinner-banner h2{font-size:43px}.dinner-banner>div>p:not(.eyebrow){max-width:100%}.delivery{grid-template-columns:1fr;gap:36px}.delivery-guide{padding:27px}.guide-heading{display:flex}.guide-heading h3{font-size:25px}.guide-heading>span{text-align:right;margin:0;max-width:90px}.contact-heading{display:block;margin-bottom:40px}.contact-heading h2{font-size:43px}.contact-heading .button{margin-top:26px}.contact-grid{grid-template-columns:1fr;gap:34px}.contact-block dl{max-width:420px}.last-call{padding:55px 7%}.last-call h2{font-size:45px}footer{padding:35px 7% 105px}footer>div{flex-wrap:wrap;gap:10px 22px}.photo-note{width:100%;margin:0}.mobile-order{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;align-items:center;gap:20px;padding:10px 5% calc(10px + env(safe-area-inset-bottom));background:var(--green);box-shadow:0 -4px 20px #0002}.mobile-order>a:not(.button){color:white;font-size:12px;white-space:nowrap;padding:12px}.mobile-order .button{flex:1;min-height:46px}dialog{padding:35px 25px}dialog h2{font-size:33px}}
@media(max-width:370px){.brand>span{font-size:19px}.brand img{width:44px;height:44px}.brand{gap:8px}.header .button{font-size:10px;padding:10px}.header .button span{display:none}h1{font-size:61px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:760px){.header{flex-wrap:nowrap}.brand{gap:9px}.brand img{width:43px;height:43px}.brand>span{font-size:20px}.brand small{font-size:5.5px;letter-spacing:.8px}.header .button{font-size:10px;padding:10px 11px;gap:8px;white-space:nowrap}.header .button span{font-size:14px}h1{font-size:clamp(52px,15vw,68px)}.hero-copy{padding-top:36px}}
@media(max-width:370px){.brand>span{font-size:18px}.brand img{width:38px;height:38px}.header .button{font-size:9px;padding:10px 8px}.brand small{font-size:5px}}
footer>.powered-by{margin-top:20px;align-items:center;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;font-size:11px}.powered-by a{color:#e6c372}.powered-by a:hover{text-decoration:underline;text-underline-offset:4px}.powered-by strong{font-weight:600}.powered-by>span{font-size:10px;letter-spacing:1px}
.payment-methods{display:flex;align-items:center;gap:24px;margin-top:26px;flex-wrap:wrap}.payment-label{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#e5ebdf}.payment-methods ul{display:flex;gap:14px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.payment-methods li{display:flex;align-items:center;justify-content:center;width:84px;height:54px;border:1px solid #e6c37240;border-radius:4px}.payment-methods img{width:70px;height:48px;object-fit:contain}.payment-methods+div{margin-top:25px}@media(max-width:760px){.payment-methods{gap:12px}.payment-label{width:100%}.payment-methods ul{gap:9px}.payment-methods li{width:70px;height:48px}.payment-methods img{width:60px;height:42px}}

/* Responsive usability: readable copy, accessible navigation and touch controls. */
.hero>*,.about>*,.delivery>*,.contact-grid>*,.dinner-banner>*{min-width:0}
.hero-description,.about-copy>p:not(.eyebrow),.delivery-intro>p:not(.eyebrow),.dinner-banner>div>p:not(.eyebrow),.contact-block p,.contact-block address{font-size:16px}
.button{font-size:14px;min-height:48px}
.header nav a,.text-link,.hero-phone,.email,.powered-by a,footer>div>a{min-height:44px;display:inline-flex;align-items:center}
.header nav a{padding:5px 4px}
.email{display:flex;font-size:14px;overflow-wrap:anywhere;word-break:break-word}
.hero-phone{font-size:12px;gap:4px;flex-wrap:wrap}
.contact-block dl{font-size:14px}.fine-print,.delivery-row small{font-size:12px}
.dialog-close{width:44px;height:44px;display:grid;place-items:center;line-height:1}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
.delivery-callout>span{flex-shrink:0}
@media(min-width:1600px){.hero{max-width:1600px;margin-inline:auto}.hero-copy{padding-left:10%}}
@media(min-width:761px) and (max-width:1050px){
  .header{display:grid;grid-template-columns:1fr auto;row-gap:4px;padding-bottom:4px}
  .header .brand{grid-column:1;grid-row:1}.header-order{grid-column:2;grid-row:1}
  .header nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:40px}
  html{scroll-padding-top:155px}
  .hero h1{font-size:clamp(52px,6.7vw,70px);letter-spacing:-2px}
  .hero-copy{padding:48px 8%}.hero-visual{min-height:620px}
  .contact-grid{grid-template-columns:1fr 1fr;gap:30px}.contact-block:last-child{grid-column:1/-1}
  .contact-heading{align-items:flex-start}.contact-heading .button{flex-shrink:0}
  .contact-block dl div{flex-wrap:wrap}
}
@media(max-width:760px){
  .header{display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:2px;padding-bottom:0;min-height:100px}
  .header .brand{grid-column:1;grid-row:1}.header-order{grid-column:2;grid-row:1}
  .header nav{display:flex;grid-column:1/-1;grid-row:2;justify-content:space-between;gap:12px;font-size:12px}
  .header nav a{justify-content:center;flex:1}.header .button{min-height:44px;font-size:12px;padding:10px}
  .brand small{display:none}.brand>span{font-size:20px}
  html{scroll-padding-top:120px;scroll-padding-bottom:90px}
  .hero-details{font-size:11px;flex-wrap:wrap}.hero .eyebrow{font-size:10px}
  .payment-methods ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:350px}
  .payment-methods li{width:100%;min-width:0}.payment-methods img{max-width:100%}
  footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
  .mobile-order{padding-left:max(5%,env(safe-area-inset-left));padding-right:max(5%,env(safe-area-inset-right))}
  .mobile-order>a:not(.button){min-height:44px;display:flex;align-items:center}
}
@media(max-width:370px){.brand img{width:35px;height:35px}.brand{gap:6px}.brand>span{font-size:18px}.header .button{font-size:11px;padding:10px 8px}.contact-heading h2,.about-copy h2,.last-call h2{font-size:39px}.hero-details{gap:10px}.delivery-guide{padding:20px}}
@media(max-height:500px) and (orientation:landscape){.header{position:relative}.mobile-order{position:static}footer{padding-bottom:30px}html{scroll-padding-top:15px}}
@media(max-width:370px){.mobile-order{gap:10px}.mobile-order .button{font-size:13px;white-space:nowrap;padding-inline:12px;gap:14px}.mobile-order>a:not(.button){padding-inline:8px}}
.location-map{margin-top:48px;border:0;border-top:3px solid var(--gold);background:var(--green)}
.map-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;color:var(--cream)}
.map-heading .eyebrow{color:#e6c372;margin-bottom:9px}.map-heading h3{font-size:30px}.map-heading p:not(.eyebrow){font-size:12px;color:#d4ddce;margin-top:10px}.map-heading .button{flex-shrink:0}
.location-map iframe{display:block;width:100%;height:420px;border:0;background:#eee9da}.location-map iframe:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
@media(max-width:760px){.map-heading{padding:24px;flex-direction:column;align-items:flex-start;gap:20px}.map-heading h3{font-size:27px}.location-map iframe{height:340px}}

/* Full-width photographic hero, with a readable text layer on every device. */
.hero{position:relative;isolation:isolate;display:block;min-height:720px;max-width:none;margin:0;background:var(--green);color:var(--cream)}
.hero-visual{position:absolute;inset:0;min-height:0;z-index:-1;overflow:hidden}
.hero-visual>img{width:100%;height:100%;object-position:center 52%}
.hero-visual:after{inset:0;background:linear-gradient(90deg,rgba(8,27,18,.94) 0%,rgba(8,27,18,.82) 32%,rgba(8,27,18,.32) 65%,rgba(8,27,18,.18) 100%)}
.hero-copy{position:relative;z-index:1;width:min(650px,60%);padding:76px 0 55px;margin-left:7%}
.hero .eyebrow{color:#f2d388}.hero .eyebrow>span{background:var(--yellow)}
.hero h1 em{color:#f3d27b}.hero-description{color:#f0f1e8;max-width:420px;text-shadow:0 1px 4px #0006}
.hero-phone,.hero-phone strong,.hero-details{color:#f3f2e8}.hero-details span:before{color:#e6c372}
.hero .image-caption{left:auto;right:5%;bottom:38px;text-align:right}.hero .since-seal{right:5%;top:35px}
@media(min-width:1600px){.hero-copy{padding:85px 0 65px;margin-left:max(7%,calc((100vw - 1440px)/2));width:650px}.hero{min-height:800px}}
@media(min-width:761px) and (max-width:1050px){.hero-copy{width:60%;padding:60px 0;margin-left:6%}.hero{min-height:680px}.hero-visual{min-height:0}.hero .image-caption p{font-size:30px}}
@media(max-width:760px){.hero{min-height:0}.hero-copy{width:auto;margin:0;padding:48px 7% 45px}.hero-visual{min-height:0}.hero-visual>img{object-position:60% center}.hero-visual:after{background:linear-gradient(90deg,rgba(8,27,18,.91),rgba(8,27,18,.63)),linear-gradient(0deg,rgba(8,27,18,.3),transparent)}.hero .image-caption,.hero .since-seal{display:none}.hero-description{max-width:420px}.hero h1{font-size:clamp(52px,14vw,80px)}}

/* Muted green-and-gold map treatment; preserve native map controls. */
.location-map iframe{filter:grayscale(.65) sepia(.3) hue-rotate(35deg) saturate(.8);}

/* Footer: two aligned rows, with related information kept together. */
.site-footer{padding:42px 7% 28px}
.site-footer>.footer-main{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:0;padding:0 0 28px;border:0;flex-wrap:nowrap}
.footer-identity{min-width:0}.footer-identity>p{font-size:11px;letter-spacing:1.4px;color:#d5dfce;margin-top:5px}
.footer-contact{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#e6c372;margin-top:6px}
.site-footer .payment-methods{margin:0;display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-wrap:nowrap}
.site-footer .payment-label{width:auto;font-size:11px;letter-spacing:1.6px}
.site-footer .payment-methods ul{display:flex;gap:10px;width:auto;max-width:none;flex-wrap:nowrap}
.site-footer .payment-methods li{width:80px;height:52px;background:#ffffff03}
.site-footer>.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0;padding:22px 0 0;border-top:1px solid #e6c37230;flex-wrap:nowrap}
.footer-legal{font-size:12px;line-height:1.7;color:#d5dfce}
.site-footer .photo-note{width:auto;margin:5px 0 0;font-size:11px;color:#b9cbb5}
.site-footer .powered-by{text-align:right;flex-shrink:0}
.site-footer .powered-by a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;gap:4px;color:#e6c372}
.site-footer .powered-by a>span{margin-left:5px}
.site-footer .powered-by p{font-size:11px;letter-spacing:.6px;line-height:1.6;margin:0;color:#d5dfce}
.site-footer a:hover{color:#ffe29a}.site-footer a:focus-visible{outline-color:var(--yellow)}
@media(max-width:760px){.site-footer{padding:34px 7% calc(100px + env(safe-area-inset-bottom))}.site-footer>.footer-main,.site-footer>.footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:24px}.site-footer .payment-methods{align-items:center;width:100%}.site-footer .payment-methods ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:350px;gap:8px}.site-footer .payment-methods li{width:100%;min-width:0;height:48px}.site-footer .payment-methods img{max-width:100%}.site-footer .powered-by{text-align:center}.site-footer>.footer-bottom{gap:16px;padding-top:22px}.footer-legal{font-size:11px}}
@media(max-height:500px) and (orientation:landscape){.site-footer{padding-bottom:28px}}
.hygiene-badge{display:inline-block;width:168px;flex-shrink:0;line-height:0;border-radius:4px;overflow:hidden}.hygiene-badge img{width:100%;height:auto;object-fit:contain}.hero-hygiene{margin-top:24px;width:160px}.about-hygiene{display:flex;align-items:center;gap:20px;margin-top:28px}.about-hygiene .hygiene-badge{width:160px}.about-hygiene p{font-size:12px;color:var(--muted);line-height:1.7}.about-hygiene strong{color:var(--green)}.site-footer .footer-hygiene{width:160px}.site-footer>.footer-main{gap:28px;flex-wrap:wrap}
@media(max-width:1050px) and (min-width:761px){.site-footer .payment-methods{width:100%;align-items:flex-start}.about-hygiene{flex-direction:column;align-items:flex-start;gap:12px}}
@media(max-width:760px){.about-hygiene{flex-wrap:wrap;gap:14px}.hero-hygiene{width:144px}.site-footer>.footer-main{flex-wrap:nowrap}}
.reviews{background:#f0edde}.reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:36px}.reviews-heading>p{max-width:290px;color:var(--muted);font-size:15px}.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.review-card{margin:0;padding:32px;background:var(--cream);border-top:3px solid var(--gold);display:flex;flex-direction:column}.review-stars{color:#9c7108;letter-spacing:4px;font-size:20px}.review-card blockquote{margin:20px 0 28px;font:500 30px/1.3 var(--serif);color:var(--green);flex:1}.review-card figcaption{display:flex;flex-direction:column;font-size:13px}.review-card figcaption>span{font-size:11px;color:var(--muted);margin-top:3px}.review-card a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:4px;margin-top:7px}.reviews-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:28px}.reviews-bottom p{max-width:440px;font-size:12px;color:var(--muted)}.reviews-bottom p a{text-decoration:underline;text-underline-offset:3px}.reviews-bottom .button{flex-shrink:0}
@media(max-width:760px){.reviews-heading{display:block}.reviews-heading>p{margin-top:20px;max-width:none}.reviews-grid{grid-template-columns:1fr;gap:20px}.review-card{padding:25px}.review-card blockquote{font-size:28px}.reviews-bottom{align-items:flex-start;flex-direction:column}}

/* Fit the available screen without clipping longer or zoomed content. */
.dinner-banner.dinner-with-image{padding:0;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}.dinner-photo{height:100%;min-height:360px;max-height:530px;object-fit:cover}.dinner-copy{padding:clamp(28px,4vw,60px);align-self:center}.dinner-copy h2{font-size:clamp(38px,4vw,56px);margin-bottom:24px}.delivery-photo{height:170px;width:100%;object-fit:cover;object-position:center 55%;margin-bottom:24px;border-bottom:3px solid var(--gold);border-radius:3px}.dinner-with-image .dinner-copy>p:not(.eyebrow){max-width:420px}@media(max-width:760px){.dinner-banner.dinner-with-image{grid-template-columns:1fr}.dinner-photo{height:260px;min-height:0;max-height:none}.dinner-copy{padding:32px 7%}.delivery-photo{height:200px}}@media(min-width:761px) and (max-height:800px){.delivery-photo{height:130px;margin-bottom:18px}}
.footer-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px}.footer-links .footer-contact{margin-top:0}.footer-social{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:12px;color:#e6c372}@media(max-width:760px){.footer-links{justify-content:center;gap:16px}}
/* Spice red and saffron accents carry the logo palette through the page. */
.announcement{background:var(--red);color:#fff8e7}
.announcement span{color:#fff0cc}
.header{border-bottom-color:#b8860b66}
.promise-strip{background:var(--yellow);color:var(--green)}
.promise-strip i{color:var(--red)}
.about-copy>.eyebrow,.delivery-intro>.eyebrow,.contact-heading .eyebrow{color:var(--red)}
.about-note{background:var(--red);border-bottom-color:var(--yellow)}
.about-note em{color:#ffe29a}
.dinner-banner{background:var(--red);border-top-color:var(--yellow)}
.dinner-banner .eyebrow{color:#ffe29a}
.dinner-with-image .dinner-copy>p:not(.eyebrow){color:#fff1df}
.dinner-copy h2 em{color:#ffe29a}
.reviews{background:#f4e6b6}
.review-card{border-top-color:var(--red)}
.review-stars{color:#926500}
.delivery-guide{border-top-color:var(--red);background:#fffaf0}
.delivery-callout>span{background:var(--yellow);border-color:var(--gold);color:var(--red)}
.contact-block{border-top-color:var(--gold)}
.contact-block .number{color:var(--red)}
.last-call{background:var(--yellow);border-bottom-color:var(--red)}
.last-call h2{color:var(--green)}
.last-call .eyebrow{color:var(--red)}
.last-call .button-gold{background:var(--red);color:#fff}
.last-call .button-gold:hover{background:#972319}
.site-footer{border-top:4px solid var(--red)}
:root{--header-space:105px}
html{scroll-padding-top:calc(var(--header-space) + 12px)}
main>section{height:auto;overflow:visible}
.section{padding-block:clamp(30px,5vh,65px)}
.hero{min-height:calc(100svh - var(--header-space) - 35px)}
.hero-copy{padding-block:clamp(24px,4vh,45px)}
.hero h1{font-size:clamp(54px,8.5vh,88px);line-height:1;letter-spacing:-2px}
.hero .eyebrow{margin-bottom:16px}.hero-description{margin-block:20px;font-size:15px;line-height:1.6}
.hero-phone{margin-top:10px}.hero-details{margin-top:18px}.hero-hygiene{width:128px;margin-top:16px}
.about-visual img{height:clamp(320px,58svh,500px)}
.about h2{margin-bottom:20px}.about-copy>p+p{margin-top:14px}.about-hygiene{margin-top:18px}.about-copy .button{margin-top:20px}
.about h2,.delivery h2,.reviews h2,.contact-heading h2{font-size:clamp(38px,6.5vh,58px)}
.reviews-heading{margin-bottom:24px}.review-card{padding:24px}.review-card blockquote{margin-block:16px 20px}.reviews-bottom{margin-top:20px}
.contact-heading{margin-bottom:30px}.contact-block{padding-top:16px}.contact-block h3{margin-block:12px}
.map-section{padding-top:15px}.map-section .location-map{margin-top:0}.map-section iframe{height:clamp(260px,calc(100svh - var(--header-space) - 210px),480px)}
.dinner-banner,.last-call{padding-block:clamp(30px,5vh,60px)}
@media(min-width:761px) and (max-height:800px){.hero-copy{padding-block:24px}.hero h1{font-size:clamp(48px,8vh,64px)}.hero-description{margin-block:14px}.hero .eyebrow{margin-bottom:12px}.hero-details{margin-top:10px}.hero-hygiene{width:112px;margin-top:10px}.section{padding-block:28px}.about-copy>p:not(.eyebrow){font-size:15px;line-height:1.6}.about-hygiene .hygiene-badge{width:128px}.delivery-guide{padding:24px}.delivery-row{padding-block:12px}}
@media(max-width:760px){.hero{min-height:0}.hero-copy{padding:32px 7%}.hero h1{font-size:clamp(48px,13vw,68px)}.section{padding-block:38px}.about{gap:30px}.about-visual img{height:clamp(250px,45svh,380px)}.about h2,.delivery h2,.reviews h2,.contact-heading h2{font-size:42px}.hero-hygiene{width:128px}.map-section iframe{height:320px}.map-section{padding-top:0}}

/* Legible notices stay with each food photograph at every screen size. */
.food-photo{position:relative;min-width:0}
.food-image-disclaimer{display:block;font:400 10px/1.45 var(--sans);letter-spacing:0;color:#eee9dc}
.food-photo>.food-image-disclaimer,.about-visual>.food-image-disclaimer{position:absolute;inset:auto 0 0;padding:6px 10px;background:linear-gradient(transparent,rgba(12,25,17,.45));text-shadow:0 1px 3px #000;z-index:2}
.hero-copy>.food-image-disclaimer{margin-top:10px;max-width:360px;color:#b6bcb0}
.about-note{bottom:62px}
.dinner-photo-frame{align-self:stretch;overflow:hidden}
.dinner-photo-frame .dinner-photo{height:100%}
.delivery-photo-frame{margin-bottom:24px;overflow:hidden;border-radius:3px}
.delivery-photo-frame .delivery-photo{margin-bottom:0}
@media(max-width:760px){.dinner-photo-frame .dinner-photo{height:260px}.food-image-disclaimer{font-size:10px}}
@media(min-width:761px) and (max-height:800px){.delivery-photo-frame{margin-bottom:18px}}

/* Full-width reviews backdrop with a consistent, centred content column. */
.reviews.section{
  max-width:none;
  background:var(--green);
  color:var(--cream);
  padding-inline:max(7%,calc((100% - 1238px)/2));
}
.reviews-heading{align-items:center;gap:28px}
.reviews-heading .eyebrow{color:#e6c372}
.reviews-heading h2{color:var(--cream)}
.reviews-heading h2 em{color:#f3d27b}
.reviews-heading>p,.reviews-bottom>p{color:#d5dfce}
.reviews-grid{gap:24px}
.reviews .review-card{
  background:var(--cream);
  color:var(--ink);
  border:1px solid #e6c37240;
  border-radius:6px;
  padding:28px;
}
.reviews .review-stars{color:#926500}
.reviews .review-card blockquote{color:var(--green)}
.reviews .review-card figcaption{border-top:1px solid var(--line);padding-top:16px}
.reviews .review-card figcaption>strong{color:var(--red)}
.reviews-bottom{padding-top:22px;border-top:1px solid #e6c37230}
.reviews-bottom .button{background:var(--yellow);color:var(--green)}
.reviews-bottom .button:hover{background:#eeb10a}
.reviews-bottom a:focus-visible,.reviews-bottom .button:focus-visible{outline-color:var(--yellow)}
@media(max-width:760px){
  .reviews.section{padding-inline:7%}
  .reviews .review-card{padding:24px}
  .reviews-heading>p{max-width:360px}
  .reviews-bottom .button{width:100%}
}

/* Approved logo alongside the footer identity. */
.footer-identity{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:20px;align-items:center}
.footer-logo{grid-column:1;grid-row:1 / 4;display:block;width:96px;height:96px;border-radius:50%;overflow:hidden}
.footer-logo img{width:96px;height:96px;object-fit:contain}
.footer-identity>.footer-brand,.footer-identity>p,.footer-identity>.footer-links{grid-column:2}
@media(max-width:760px){
  .footer-identity{display:flex;flex-direction:column}
  .footer-logo{margin-bottom:16px}
}

/* Keep every food hygiene badge compact and consistent. */
.hygiene-badge,
.hero-hygiene,
.about-hygiene .hygiene-badge,
.site-footer .footer-hygiene{
  width:112px;
  flex-shrink:0;
}

/* Each main section fills the usable viewport; content may grow without clipping. */
:root{--order-space:0px;--section-screen:calc(100svh - var(--header-space) - var(--order-space))}
html{scroll-padding-top:var(--header-space);scroll-padding-bottom:var(--order-space)}
main>section{min-height:var(--section-screen)}
.hero{display:flex;align-items:center}
.reviews.section,.contact.section,.map-section.section,.last-call{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.reviews.section>*,.contact.section>*,.map-section.section>*{width:100%}
.last-call{align-items:center}
.map-section.section{padding-block:30px}
@media(min-width:761px){
  .dinner-photo-frame .dinner-photo{position:absolute;inset:0;min-height:0;max-height:none;height:100%;width:100%}
}
@media(max-width:760px){
  .hero-copy{width:100%}
  .dinner-banner.dinner-with-image{align-content:center}
}

/* Explain the casual seating while keeping takeaway as the primary offer. */
.seating-note{margin-top:20px;padding:16px 0 16px 20px;border-left:3px solid var(--gold)}
.seating-note h3{font-size:27px;color:var(--red);margin-bottom:10px}
.seating-note p{font-size:14px;line-height:1.7;color:var(--muted)}
.contact-block .seating-summary{margin-top:12px;font-size:13px}

/* Responsive refinements after phone and tablet viewport checks. */
main>section.hero{min-height:var(--section-screen)}
@media(min-width:761px) and (max-width:1050px){
  .about{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:5%}
  .about-visual{margin-right:0}
  .about-note{right:0;padding:18px 16px;font-size:23px}
  .about-hygiene{flex-direction:row;align-items:center;flex-wrap:wrap}
}
@media(max-width:760px){
  .about-note{right:0}
  .contact-block dl div{flex-wrap:wrap}
}

/* Match the footer's deep green so the approved round logo stands out. */
.header{background:var(--green);color:var(--cream);border-bottom:1px solid #e6c37250}
.header .brand>span{color:var(--cream)}
.header .brand em{color:#e6c372}
.header .brand small{color:#d5dfce}
.header nav a{color:#f3f2e8}
.header nav a:hover{color:var(--yellow)}
.header a:focus-visible,.header button:focus-visible{outline-color:var(--yellow)}

/* Consistent uppercase labels on website action controls. */
button,.button,.text-link,.mobile-order>a:not(.button){text-transform:uppercase}

/* Vector arrows avoid platform-dependent font glyphs on iOS and macOS. */
.arrow-icon{display:inline-block;width:1em;height:1em;min-width:1em;flex-shrink:0;vertical-align:-.15em;overflow:visible}
