@font-face{font-family:Montserrat;src:url('montserrat.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--cream:#F2F6D0;--berry:#841719;--pink:#DDAACE;--blue:#46A7B5;--green:#2D5531;--ink:#23221e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--berry);font-family:Montserrat,Arial,sans-serif;font-weight:500}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:6px}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1{font-weight:900}h2,h3{font-weight:700}h1,h2{letter-spacing:-.045em}h3{letter-spacing:.04em}p{line-height:1.7}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;line-height:1.6}.small,figcaption{font-size:12px;font-weight:400;line-height:1.7}.skip{position:fixed;left:20px;top:-80px;z-index:20;background:var(--cream);padding:15px}.skip:focus{top:15px}.site-header{position:fixed;top:0;left:0;right:0;z-index:10;transition:color .2s;color:var(--berry)}.site-header nav{height:104px;max-width:1600px;margin:auto;padding:12px 5.5%;display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;gap:20px}.nav-left{display:flex;gap:32px}.nav-right{text-align:right}.nav-left a,.nav-right a{padding:9px 0;font-size:14px;font-weight:700}.nav-logo{display:block;width:154px;justify-self:center}.nav-logo img{width:100%;mix-blend-mode:multiply}.site-header a[aria-current]{border-bottom:2px solid currentColor}.site-header.light{color:var(--cream)}.site-header.light a:hover{color:var(--pink)}.home-hero{padding:145px 6% 44px;text-align:center}.hero-logo{width:clamp(300px,43vw,570px);max-height:51vh;object-fit:contain;margin:20px auto 28px;mix-blend-mode:multiply}.home-hero h1{font-size:clamp(28px,3.3vw,50px);margin:0 0 30px;line-height:1.1}.press{display:flex;justify-content:center;gap:52px}.press p{font-size:13px;margin:0;max-width:390px}.press span{display:block;font-size:10px;letter-spacing:.12em;font-weight:700;margin-top:8px}.home-transition{text-align:center;background:linear-gradient(var(--cream),var(--pink) 35%,var(--blue));padding:45px 20px 135px}.order-circle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;border-radius:50%;height:146px;width:146px;background:var(--berry);color:var(--cream);margin:0 auto;font-size:19px;font-weight:700;transition:transform .2s,background .2s;letter-spacing:.04em}.order-circle span:last-child{font-size:30px;font-weight:400}.order-circle:hover{background:var(--green);color:var(--cream);}.home-transition .eyebrow{margin:30px 0 0}.visit{background:var(--blue);color:var(--cream);text-align:center;padding:20px 20px 100px}.visit h2{font-size:clamp(26px,4vw,52px);line-height:1.25;margin-bottom:32px}.visit-hours h3{font-size:13px}.visit-hours p{font-size:20px;font-weight:700;line-height:1.9}.visit-hours span{margin-left:14px}.gallery-section{background:var(--blue);color:var(--cream);padding:0 5.5% 100px}.section-label{display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.14em;margin-bottom:18px}.slideshow{position:relative}.slides{position:relative;background:var(--green);overflow:hidden}.gallery-section .slides{height:min(64vw,650px)}.slide{width:100%;height:100%;object-fit:cover}.slide[hidden]{display:none}.slide-controls{display:flex;align-items:center;gap:22px;padding-top:20px;font-size:12px}.slide-controls button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:50%;width:39px;height:39px}.slide-controls button:hover{background:var(--cream);color:var(--berry)}.slide-controls .pause{border-radius:0;width:auto;padding:6px 13px;margin-left:auto;height:auto}.page-heading{text-align:center;padding:170px 20px 35px}.page-heading h1,.order-heading h1{font-size:clamp(56px,10vw,140px);line-height:1;margin:20px 0}.menu-section{padding:0 5.5% 100px;text-align:center}.menu-image{display:block;max-width:1150px;margin:10px auto 22px}.menu-image img{width:100%}.menu-text{max-width:1150px;margin:20px auto;text-align:left;border-bottom:1px solid;padding:16px 0}.menu-text summary{cursor:pointer;font-size:13px}.menu-text pre{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.menu-section .order-circle{margin-top:40px}.order-heading{padding:190px 20px 150px;text-align:center;background:linear-gradient(var(--berry) 64%,var(--cream));color:var(--cream)}.down-arrow{font-size:50px;display:block;margin-top:35px}.order-options{text-align:center;padding:50px 6% 100px}.order-options h2{font-size:clamp(25px,3vw,40px)}.delivery-services{display:flex;justify-content:center;gap:100px;margin:70px 0 115px}.delivery-services a{display:flex;flex-direction:column;align-items:center;gap:18px;font-size:22px;font-weight:700}.service-monogram{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid currentColor;font-weight:900;font-size:12px;border-radius:50%}.delivery-services .service-monogram{height:110px;width:110px;font-size:43px;border-width:3px}.delivery-services a:hover{color:var(--pink)}.pickup{color:var(--ink)}.pickup h2{margin-bottom:10px}.pickup p{font-size:clamp(25px,3vw,40px);font-weight:400}.pickup a:hover{color:var(--berry)}figure{max-width:1000px;margin:45px auto 0}figure img{width:100%;max-height:700px;object-fit:cover}figcaption{color:var(--ink);margin-top:16px}.about-section{background:linear-gradient(var(--cream),var(--pink) 30%);padding:175px 6% 110px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.about-photo .slides{height:760px;max-height:85vw}.about-copy h1{font-size:clamp(30px,3.1vw,48px);line-height:1.2;margin:18px 0 30px}.about-copy blockquote{margin:0;font-size:16px;line-height:1.8}.about-copy cite{font-style:normal;font-weight:700}.follow-note{font-style:italic;margin:35px 0 16px;font-size:14px}.about-social a{display:flex;align-items:center;gap:12px;font-size:12px}svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.contact-info{text-align:center;padding:15px 20px 100px;font-size:20px}.contact-info .contact-phone{font-size:clamp(28px,4vw,45px);font-weight:700;margin-bottom:22px}.contact-info p{margin-bottom:24px}.contact-info span{margin-left:10px}.email-link{font-size:16px;border-bottom:1px solid}.catering{padding:85px 6% 110px;background:linear-gradient(var(--cream),var(--pink));text-align:center}.catering h2{font-size:clamp(52px,8vw,105px);font-weight:900;margin-bottom:20px}.catering form{text-align:left;max-width:850px;margin:50px auto 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px 30px}.form-grid label{font-size:12px;font-weight:700;display:block;letter-spacing:.02em}.full{grid-column:1/-1}input,textarea{display:block;width:100%;border:1px solid #84171966;background:#f2f6d04d;color:var(--berry);padding:14px;margin-top:10px;border-radius:0;font-size:16px}textarea{resize:vertical}.catering form>.small{margin-top:30px}.submit-button{display:flex;justify-content:space-between;align-items:center;gap:50px;background:var(--berry);color:var(--cream);border:0;padding:20px 27px;font-size:13px;font-weight:700}.submit-button:hover{background:var(--green)}#form-status{font-size:13px;margin-top:20px}footer{background:var(--blue);color:var(--cream);padding:65px 5.5% 25px}.footer-grid{display:grid;grid-template-columns:1.1fr 1.4fr 1fr .8fr;gap:30px}.footer-grid h3{font-size:12px;margin-bottom:23px}.footer-grid p,.footer-links{font-size:11px;font-weight:400;line-height:1.9}.footer-grid p{margin-bottom:12px}.footer-grid span{white-space:nowrap}.footer-links{display:flex;flex-direction:column;gap:15px}.footer-links a{display:flex;align-items:center;gap:10px}.footer-bottom{border-top:1px solid #f2f6d066;margin-top:55px;padding-top:24px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em}footer a:hover{color:var(--green)}
@media(min-width:1600px){main>section:not(.home-transition):not(.visit):not(.order-heading){padding-left:max(6%,calc((100vw - 1440px)/2));padding-right:max(6%,calc((100vw - 1440px)/2))}}
@media(max-width:760px){.site-header nav{height:94px;padding:12px 5%;grid-template-columns:1fr 100px 1fr;gap:9px}.nav-logo{width:100px}.nav-left{gap:12px}.nav-left a,.nav-right a{font-size:11px}.home-hero{padding-top:125px}.hero-logo{width:85%;max-height:44vh;margin-top:30px}.home-hero h1{font-size:30px}.press{flex-direction:column;gap:19px;align-items:center}.press p{font-size:12px}.home-transition{padding-bottom:95px}.visit{padding-bottom:60px}.visit-hours p{font-size:15px}.visit-hours span{margin-left:5px}.gallery-section{padding-bottom:65px}.section-label{font-size:8px;gap:16px}.gallery-section .slides{height:430px}.page-heading{padding-top:140px}.order-heading{padding-top:160px;padding-bottom:110px}.delivery-services{gap:60px;margin:45px 0 80px}.delivery-services a{font-size:17px}.delivery-services .service-monogram{width:85px;height:85px;font-size:30px}.about-section{grid-template-columns:1fr;padding-top:130px;gap:45px}.about-photo .slides{height:540px;max-height:none}.about-copy h1{font-size:36px}.about-copy blockquote{font-size:15px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-bottom{gap:24px;line-height:1.7}.contact-info{font-size:16px;padding-bottom:40px}.email-link{font-size:14px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.catering{padding-top:70px}.catering>p{font-size:14px}}
@media(max-width:380px){.site-header nav{grid-template-columns:1fr 77px 1fr}.nav-logo{width:77px}.nav-left{gap:8px}.nav-left a,.nav-right a{font-size:10px}.footer-grid{grid-template-columns:1fr}.delivery-services{gap:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.service-logo{fill:currentColor;stroke:none;width:28px;height:28px}.delivery-services .service-logo{width:110px;height:110px}@media(max-width:760px){.delivery-services .service-logo{width:85px;height:85px}}

/* Update 1 */
.nav-logo img,.hero-logo{mix-blend-mode:normal;filter:none}
.site-header.scrolled{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.nav-left a,.nav-right a,.nav-logo{position:relative;isolation:isolate}
.site-header.scrolled .nav-left a::before,.site-header.scrolled .nav-right a::before,.site-header.scrolled .nav-logo::before{content:"";position:absolute;inset:-20px;z-index:-1;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border-radius:20px;pointer-events:none}
.order-circle{width:170px;height:88px;border-radius:50%;animation:order-jiggle .65s ease-in-out infinite;transform-origin:center;gap:0}
@keyframes order-jiggle{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
.order-circle:hover{animation-play-state:running}
.index-page main{background:var(--scroll-color,var(--cream))}
.index-page .home-transition,.index-page .visit,.index-page .gallery-section{background:transparent}
.home-transition{padding-top:30px;padding-bottom:160px}
.index-page .visit a[href^="tel:"]{letter-spacing:.09em}
.footer-bottom{justify-content:center}
.footer-links a[href*="doordash"] .service-logo,.delivery-services a[href*="doordash"] .service-logo{fill:#ff3008}
.footer-links a[href*="grubhub"] .service-logo,.delivery-services a[href*="grubhub"] .service-logo{fill:#f63440}
.menu-section .small{margin-top:14px;margin-bottom:35px}
.order-page main{background:var(--scroll-color,var(--cream))}
.order-heading{background:transparent;color:var(--berry);padding-bottom:200px}
.order-options{background:transparent;color:var(--cream)}
.order-page .pickup,.order-page figcaption{color:var(--cream)}
.order-page .pickup a:hover{color:var(--pink)}
.about-social a{font-size:14px;line-height:1.8}.about-social a:hover{color:var(--green)}.about-social svg{flex-shrink:0}
.contact-page .page-heading h1{letter-spacing:.055em}
.contact-info .email-link{font-size:clamp(19px,2.6vw,30px);border:0;overflow-wrap:anywhere}
.catering{background:var(--scroll-color,var(--cream));color:var(--form-color,var(--berry))}
.catering input,.catering textarea{color:inherit;border-color:currentColor;background:transparent}
.catering input::placeholder{color:inherit;opacity:.75}
.catering .submit-button{background:var(--cream);color:var(--berry);margin-top:30px}
.catering .submit-button:hover{background:var(--pink)}
@media(prefers-reduced-motion:reduce){.order-circle{animation:none}}

/* Update 2: shared typography, header and responsive menu */
.site-header.scrolled{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(242,246,208,.08)}
.site-header.scrolled .nav-left a::before,.site-header.scrolled .nav-right a::before,.site-header.scrolled .nav-logo::before{content:none}
.page-heading h1,.order-heading h1,.catering h2{font-size:clamp(48px,9vw,130px);font-weight:900;line-height:1.08;letter-spacing:.025em;word-spacing:.06em}
.contact-page .page-heading h1{letter-spacing:.025em}
.order-circle,.order-circle:hover{animation:none;transform:none}
.order-circle span{display:inline-block;animation:none}
.order-circle:hover,.order-circle:focus-visible,.order-circle:active{background:var(--green);color:var(--cream)}
.order-circle:hover span,.order-circle:focus-visible span,.order-circle:active span{animation:order-jiggle .25s ease-in-out infinite}
.footer-links a .service-logo,.delivery-services a .service-logo{fill:currentColor!important}
.order-page footer,.contact-page footer{background:var(--berry);color:var(--cream)}
.order-options>h2{color:var(--delivery-heading,var(--berry))}
.about-heading{padding-bottom:100px;background:var(--cream)}
.about-section{padding-top:110px;background:linear-gradient(var(--cream),var(--pink) 35%)}
.about-copy h2{font-size:clamp(30px,3.1vw,48px);line-height:1.2;margin:18px 0 30px;font-weight:900}
.about-social{margin-top:75px}
.about-social a{font-size:19px;line-height:1.65;font-weight:400;align-items:center}
.about-social a:hover{font-weight:700;color:var(--green)}
.about-social svg{width:38px;height:38px}
.about-page footer{background:var(--pink);color:var(--berry)}
.about-page .footer-bottom{border-top-color:#84171966}
.contact-info h3{font-size:15px;letter-spacing:.08em;margin:32px 0 14px}
.catering{background:var(--scroll-color,var(--berry));color:var(--form-color,var(--cream))}
.contact-page .site-header.light{color:var(--cream)}
.menu-toggle,.mobile-menu{display:none}
@media(max-width:1100px){
 .site-header>nav{display:flex;justify-content:space-between;height:94px;padding:12px 6%}
 .site-header .nav-left,.site-header .nav-right{display:none}
 .site-header .nav-logo{width:125px;position:relative;z-index:12}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;border:0;background:transparent;color:inherit;padding:8px;z-index:12}
 .menu-toggle span{display:block;height:2px;width:30px;background:currentColor}
 .mobile-menu:not([hidden]){display:block;position:fixed;inset:94px 0 auto;background:var(--cream);color:var(--berry);padding:25px 7% 45px;max-height:calc(100dvh - 94px);overflow:auto;box-shadow:0 20px 30px #0001}
 .mobile-menu nav{display:flex;flex-direction:column;align-items:flex-end;gap:22px;height:auto;padding:0}
 .mobile-menu a{font-size:clamp(42px,7vw,72px);font-weight:900;line-height:1.15;letter-spacing:.025em;word-spacing:.06em}
 .site-header.menu-open{background:var(--cream);color:var(--berry)}
 .site-header.menu-open a:hover{color:var(--green)}
}
@media(max-width:760px){.about-heading{padding-bottom:60px}.about-section{padding-top:65px}.about-social{margin-top:50px}.about-social a{font-size:18px}.about-copy h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.order-circle span{animation:none!important}}

/* Update 3 */
.footer-bottom{border-top:0!important}
.home-hero h1{font-weight:600}
.press{flex-direction:column;align-items:center;gap:14px}
.press p{max-width:none;font-size:clamp(16px,1.45vw,21px);line-height:1.6}
.press span{display:inline;font-size:inherit;letter-spacing:.035em;margin-left:.55em;margin-top:0;font-weight:700}
.index-page .visit{color:var(--visit-color,var(--berry))}
.menu-page footer{background:var(--cream);color:var(--berry)}
.menu-section>.small{font-size:18px}
.order-page .delivery-services{color:var(--delivery-heading,var(--berry))}
@media(max-width:760px){.press p{font-size:16px}.press span{font-size:14px}.menu-section>.small{font-size:16px}}

/* Pickup follows the same scroll-driven color as delivery services. */
.order-page .pickup{color:var(--delivery-heading,var(--berry))}
.order-page .pickup a:hover{color:inherit}

/* Keep slideshow backing neutral and hold the current photo until ready. */
.slides{background:transparent}
.slides>.slide{position:absolute;inset:0}

/* Published interaction and slideshow fixes. */
.order-page .pickup-call{display:block;width:fit-content;margin:auto}
.order-page .pickup-call:hover,.order-page .pickup-call:focus-visible{color:var(--pink)}
.order-page footer a:hover,.contact-page footer a:hover,.order-page footer a:focus-visible,.contact-page footer a:focus-visible{color:var(--pink)}
.visit-title{font-size:clamp(36px,5vw,64px);letter-spacing:.025em;margin:0 0 24px;font-weight:900}
.address-title{margin-top:75px}
.index-page .visit .visit-title a{letter-spacing:.025em}
.contact-info .email-link{font-size:inherit;font-weight:500}
.slides{background:transparent!important}

/* Unified contact links and final hover overrides. */
.visit-block{display:block;width:fit-content;max-width:100%;margin:0 auto;color:inherit}
.address-block{margin-top:75px}
.index-page .visit .visit-block:hover,.index-page .visit .visit-block:focus-visible{color:var(--pink)}
.visit-block h1,.visit-block h2{color:inherit}
.phone-block h2{letter-spacing:.09em}
.order-page .pickup .pickup-call:hover,.order-page .pickup .pickup-call:focus-visible,.order-page .pickup .pickup-call:active{color:var(--pink)}
.pickup-call h2,.pickup-call p{color:inherit}
footer a:hover,footer a:focus-visible{color:var(--pink)}
.about-page footer a:hover,.menu-page footer a:hover{color:var(--green)}
.home-hero .hero-logo{width:clamp(340px,57vw,760px);max-height:62vh;margin-bottom:30px}
.home-hero h1{font-size:clamp(22px,2.3vw,34px);font-weight:500;margin-bottom:32px}
@media(max-width:760px){.home-hero .hero-logo{width:94%;max-height:52vh}.home-hero h1{font-size:24px}}
