@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#24483d;--green-dark:#19372e;--lime:#d8e29f;--cream:#faf8f2;--paper:#fff;--ink:#243a31;--muted:#6e796f;--line:#e2e5dc;--orange:#ca704a;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:15px/1.7 'DM Sans',Arial,sans-serif;background:var(--cream)}h1,h2,h3,h4{font-family:'Manrope',Arial,sans-serif;line-height:1.18;letter-spacing:-.04em;margin:0 0 18px;font-weight:600}h1{font-size:clamp(36px,4.7vw,66px)}h2{font-size:clamp(28px,3vw,42px)}h3{font-size:22px}p{margin:0 0 18px}a{color:var(--green);text-underline-offset:4px}a:hover{color:#a74f2b}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ba682f;outline-offset:3px}label{display:block;font-size:13px;font-weight:700;margin:18px 0 7px}input,textarea,select{border:1px solid #cdd4c9;border-radius:9px;padding:11px 13px;width:100%;background:white;color:var(--ink);min-height:46px}textarea{resize:vertical}input[type=checkbox]{width:18px;min-height:18px;flex-shrink:0;accent-color:var(--green)}input[type=file]{max-width:100%}button,.button{cursor:pointer}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;background:var(--green);color:white;padding:13px 23px;border-radius:9px;text-decoration:none;font-weight:600;white-space:normal;line-height:1.5}button:hover,.button:hover{background:var(--green-dark);color:white}.button.secondary{background:#e8eedb;color:var(--green)}.button.light{background:var(--lime);color:var(--green)}button.quiet{padding:7px 12px;background:transparent;color:var(--green);border:1px solid var(--line)}form>button{margin-top:18px}small{display:block;font-size:12px;color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:28px 0}.muted,.help{color:var(--muted)}.help{font-size:12px;margin-top:8px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--green);margin:0 0 20px}.lead{font-size:18px;line-height:1.8;color:#677469}.wrap{max-width:1240px;margin:auto;padding-left:40px;padding-right:40px}.section{padding-top:75px;padding-bottom:75px}.narrow{max-width:820px}.brand{font-family:'Manrope',Arial,sans-serif;display:block;font-size:31px;font-weight:800;line-height:1.15;letter-spacing:-1.8px;color:var(--green);text-decoration:none}.brand span{font-weight:500;color:#779354}.brand small{font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:.16em;font-weight:500;margin-top:9px;text-transform:uppercase}.public-header{display:flex;align-items:center;justify-content:space-between;min-height:112px;gap:22px}.public-header nav{display:flex;align-items:center;gap:28px}.public-header nav>a{font-size:13px;font-weight:500;text-decoration:none}.public-header .button{padding:12px 20px}.announcement{text-align:center;padding:8px;background:var(--green);color:#fff;font-size:13px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;padding-top:44px;padding-bottom:65px}.hero h1{font-size:clamp(42px,4.8vw,67px);line-height:1.12;max-width:630px}.hero .lead{max-width:465px;font-size:16px}.tiny-leaf{font-size:20px;margin-right:7px;color:#91a167}.actions{display:flex;align-items:center;gap:26px;margin:28px 0}.text-link{font-size:14px;font-weight:700;text-decoration:none}.hero-note{display:flex;gap:13px;align-items:center;margin-top:40px;font-size:12px;color:var(--muted)}.hero-note>span{font-size:37px;color:#8c9a64}.hero-note p{margin:0}.hero-note strong{font-weight:500;color:var(--ink)}.hero-image{background:#eeeade;position:relative;min-height:495px;border-radius:48% 48% 14px 14px;display:flex;align-items:center;padding:26px;isolation:isolate}.hero-image:before{content:'';position:absolute;width:94%;height:94%;border:1px solid #d3d6c4;border-radius:50%;left:3%;top:3%;z-index:-1}.hero-image>img{width:100%;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 22px 18px #283b3025)}.image-note{position:absolute;bottom:27px;left:-15px;background:white;padding:16px 27px;border-radius:8px;box-shadow:0 10px 25px #293f3010;transform:rotate(-5deg)}.image-note span{font-size:11px;color:var(--muted);display:block}.image-note strong{font-family:Georgia,serif;font-size:25px;font-style:italic;font-weight:normal}.vertical-note{writing-mode:vertical-rl;position:absolute;right:8px;top:35%;font-size:8px;letter-spacing:.2em;color:var(--muted)}.values-strip{background:#e8eddf;border-block:1px solid #dce3d3;padding:18px 0}.values-strip>.wrap{display:flex;justify-content:space-between;gap:14px;font-size:12px;font-weight:500}.values-strip span:nth-child(even){color:#8b9e71}.section-heading,.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.section-heading h2{margin-bottom:10px}.section-heading p:last-child{margin:0;color:var(--muted)}.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.food-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.food-image{position:relative;display:block;overflow:hidden;background:#edeedf}.food-image img{width:100%;aspect-ratio:1.45;object-fit:cover;transition:transform .3s}.food-image:hover img{transform:scale(1.03)}.food-category{position:absolute;bottom:14px;left:16px;background:#ffffffed;border-radius:20px;padding:4px 13px;font-size:11px;font-weight:600}.food-copy{padding:23px}.food-copy h3{font-size:21px;margin-bottom:12px}.food-copy h3 a{text-decoration:none}.food-copy p{font-size:13px;color:var(--muted)}.food-meta{display:flex;justify-content:space-between;gap:9px;font-size:12px;padding:15px 0;border-top:1px solid var(--line)}.food-copy .dietary{color:#487446;font-size:11px}.menu-empty{text-align:center;padding:50px!important;background:#f1f3e9!important}.story-section{background:#eeeee3;padding:70px 0}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.story-photo img{width:100%;height:420px;object-fit:cover;border-radius:100px 14px 14px 14px}.story-grid .lead{font-size:16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:40px}.steps article>span{display:block;color:#9ba87b;font-size:38px;font-family:Georgia,serif;margin-bottom:15px}.steps h3{font-size:23px}.steps p{color:var(--muted);font-size:14px}.cta-section{background:var(--green);color:white;text-align:center;padding:60px 25px;border-radius:20px;margin:10px auto 70px}.cta-section .eyebrow{color:var(--lime)}.cta-section h2{font-size:44px}.cta-section p{color:#dae2d3}.public-footer{background:#eceee5;padding-top:55px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:60px;padding-bottom:45px}.footer-grid h3{font-size:15px;letter-spacing:0;margin-top:5px}.footer-grid p,.footer-grid a:not(.brand){font-size:13px;color:#617063}.footer-grid a:not(.brand){display:block;text-decoration:none;margin:8px 0}.footer-description{margin-top:20px}.footer-bottom{display:flex;gap:30px;border-top:1px solid #d7dece;padding-top:20px;padding-bottom:20px;font-size:11px;color:var(--muted)}.footer-bottom a:last-child{margin-left:auto}.panel{background:white;border:1px solid var(--line);padding:28px;border-radius:var(--radius);margin-bottom:25px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:25px}.inquiry-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:35px;margin-top:35px}.event-aside{background:#edf0e2;position:sticky;top:25px}.event-aside h2{font-size:33px}.event-aside h3{font-size:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid+h2,form h2:not(:first-child){margin-top:35px}.check{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:400;line-height:1.6}.check input{margin-top:2px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.preserve{white-space:pre-line;overflow-wrap:anywhere}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:18px;font-weight:600}details p{padding-top:18px;color:var(--muted)}.skip{position:absolute;left:15px;top:-100px;background:white;padding:12px;z-index:99}.skip:focus{top:12px}.notice{padding:14px 18px;background:#f0f3e6;border:1px solid #d3dfbf;border-radius:9px;margin-bottom:22px;font-size:14px}.notice.error,.validation-summary-errors,.field-validation-error{color:#a12e27;background:#fff2ef}.validation-summary-errors{padding:12px;border-radius:8px}.validation-summary-valid{display:none}.input-validation-error{border-color:#ae4537}.success{color:#2c6544;background:#eff7eb}.pill{display:inline-block;background:#edf2e4;color:#45653e;padding:4px 12px;border-radius:30px;font-size:11px;font-weight:600;white-space:nowrap}.details{display:grid;grid-template-columns:135px 1fr;gap:14px;font-size:14px}.details dt{color:var(--muted)}.details dd{margin:0;overflow-wrap:anywhere}.filters{display:flex;gap:18px;align-items:end;flex-wrap:wrap}.filters>div{flex:1;min-width:135px}.filters label{margin-top:0}.filters button{margin:0}.filters>a{font-size:12px;align-self:center}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-weight:600;font-size:11px;letter-spacing:.02em;color:var(--muted);background:#f7f8f3}th,td{padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:middle}td a{font-weight:600;text-decoration:none}td small{font-size:11px;margin-top:3px}.empty{text-align:center;padding:38px 20px;color:var(--muted)}.empty>span{font-size:32px;color:#899e71}.empty h3{font-size:20px;color:var(--ink);margin-top:14px}.empty p{font-size:13px}.admin-body{background:#f5f6f1;font-size:14px}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#1f3e34;color:white;padding:35px 22px;overflow-y:auto;z-index:5}.sidebar .brand{color:#fff;padding:0 12px 35px}.sidebar .brand span{color:var(--lime)}.sidebar .brand small{color:#a8bdb0;font-size:8px;letter-spacing:.22em}.sidebar nav{display:grid;gap:5px}.sidebar nav a{color:#c9d5ca;text-decoration:none;padding:10px 15px;border-radius:8px;font-size:12px}.sidebar nav a:hover,.sidebar nav a.active{background:#365347;color:#eaf1cb}.site-link{display:block;color:#d4e3c9;text-decoration:none;padding:30px 15px 0;font-size:12px}.admin-shell{margin-left:244px}.admin-shell.signed-out{margin-left:0}.admin-top{min-height:78px;padding:18px 38px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:20px}.admin-top form{display:flex;align-items:center;gap:14px}.admin-top button{margin:0}.admin-main{max-width:1560px;margin:auto;padding:38px}.admin-main h1{font-size:34px}.admin-main h2{font-size:21px;letter-spacing:-.025em}.admin-main h3{font-size:17px}.admin-main .eyebrow{font-size:9px;margin-bottom:12px}.admin-main .page-heading p{font-size:13px;margin-bottom:0}.admin-main .button{font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:28px 0}.stats article{background:white;border:1px solid var(--line);border-radius:15px;padding:22px;min-width:0}.stats article>span{font-size:11px;color:var(--muted)}.stats strong{display:block;font-size:35px;line-height:1.6;letter-spacing:-1px;font-family:'Manrope',sans-serif;overflow-wrap:anywhere}.stats a{font-size:11px;text-decoration:none}.stats small{font-size:10px}.admin-main .section-heading{margin-bottom:18px}.admin-main .section-heading h2{margin-bottom:0}.admin-main .section-heading a{font-size:11px;white-space:nowrap}.event-row{display:flex;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}.event-row>b{padding:10px;background:#f0f3e6;border-radius:8px;font-size:13px;white-space:nowrap}.event-row>span:nth-child(2){flex:1}.event-row small{font-size:11px}.banner{background:#e8eddd;display:flex;align-items:center;justify-content:space-between;gap:25px}.banner p:last-child{font-size:12px;margin-bottom:0}.admin-footer{padding:15px 38px 30px;color:var(--muted);font-size:10px}.bar-row{display:flex;gap:15px;align-items:center;font-size:12px;margin:20px 0}.bar-row>span{width:90px}meter{flex:1;height:18px;accent-color:var(--green)}.login-card{max-width:470px;margin:40px auto;padding:38px}.login-card h1{font-size:35px}.login-card p{font-size:13px}.login-card button{width:100%;margin:24px 0}.admin-main .hero-header{display:none}.admin-main .container-xxl{padding:0}.admin-main .container{max-width:100%}.admin-main input[style]{max-width:100%}.admin-main .container h2{font-size:29px}.admin-main .container form:not([style]){background:white;padding:25px;border:1px solid var(--line);border-radius:14px}.admin-main .container table{background:white}.admin-main .container form[style]{padding:0}.admin-main .container label{margin-top:5px}.dish-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:45px}.dish-photo{width:100%;max-height:500px;object-fit:cover;border-radius:20px}.thumbs{display:flex;gap:10px;margin:15px 0;flex-wrap:wrap}.thumbs button{padding:0;border:2px solid transparent;background:none;border-radius:8px;overflow:hidden}.thumbs img{width:70px;height:65px;object-fit:cover}.dish-form{margin-top:30px}.public-body .container-xxl{max-width:1160px;margin:auto;padding:35px 20px}.public-body .hero-header{display:none}@media(min-width:1450px){.hero{padding-top:65px;padding-bottom:80px}.hero-image{min-height:540px}}@media(max-width:1100px){.sidebar{width:205px;padding:30px 15px}.admin-shell{margin-left:205px}.admin-main{padding:25px}.stats{grid-template-columns:repeat(2,1fr)}.public-header nav{gap:16px}.hero-image{min-height:400px}.story-grid{gap:40px}.hero{gap:25px}.actions{gap:15px}.two-col{grid-template-columns:1fr}.food-grid{gap:18px}}@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.public-header{padding-top:24px;padding-bottom:20px;flex-direction:column;align-items:flex-start}.public-header nav{gap:18px;flex-wrap:wrap}.public-header nav .button{padding:9px 13px}.hero{grid-template-columns:1fr;padding-top:30px;gap:45px}.hero h1{font-size:46px}.hero-image{max-width:520px;width:100%;margin:auto;min-height:340px}.hero-note{margin-top:25px}.values-strip>.wrap{flex-wrap:wrap;justify-content:center;font-size:10px}.values-strip span:nth-child(even){display:none}.section{padding-top:45px;padding-bottom:45px}.section-heading,.page-heading{align-items:flex-start;flex-direction:column}.food-grid{grid-template-columns:1fr}.story-grid{grid-template-columns:1fr;gap:30px}.story-photo img{height:350px}.steps{grid-template-columns:1fr;gap:15px}.steps article{position:relative;padding-left:65px}.steps article>span{position:absolute;left:0;top:0;font-size:30px}.steps h3{font-size:20px}.cta-section{border-radius:0;margin-bottom:0}.cta-section h2{font-size:35px}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-bottom{gap:18px}.inquiry-grid,.form-grid,.dish-grid{grid-template-columns:1fr}.sidebar{position:static;width:100%;padding:20px}.sidebar .brand{padding:0 0 20px;font-size:25px}.sidebar nav{display:flex;overflow:auto;gap:8px}.sidebar nav a{white-space:nowrap;font-size:11px;padding:8px 12px}.sidebar .site-link{display:none}.admin-shell{margin-left:0}.admin-top{padding:15px 20px;min-height:60px}.admin-top>span .muted{display:none}.admin-main{padding:22px 16px}.admin-main h1{font-size:28px}.panel{padding:22px 18px}.stats{gap:12px}.stats article{padding:16px}.stats strong{font-size:30px}.banner{align-items:flex-start;flex-direction:column}.filters{gap:12px}.filters>div{min-width:100%;width:100%}.login-card{margin:20px auto}.details{grid-template-columns:105px 1fr}.event-row{gap:10px}.event-row small{font-size:10px}.actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.recaptcha-field { margin: 20px 0; }

/* Responsive sizing, wrapping and touch controls shared by the storefront and admin. */
.nav-toggle{display:none}
.hero>*,.story-grid>*,.two-col>*,.inquiry-grid>*,.form-grid>*,.dish-grid>*,.footer-grid>*,.admin-shell,.panel{min-width:0}
input,select,textarea{min-width:0;max-width:100%}
.panel,.food-copy,.footer-grid,.notice,.announcement,.event-row{overflow-wrap:anywhere}
.table-scroll{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.table-scroll table{min-width:480px}
@media(max-width:760px){
 input,select,textarea{font-size:16px}
 button,.button,button.quiet{min-height:44px}
 .public-header{flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px;padding-top:18px;padding-bottom:18px}
 .public-header .brand{font-size:28px}
 .public-header nav{width:100%;gap:6px}
 .public-header nav>a{min-height:44px;display:flex;align-items:center;padding:10px 12px}
 .navigation-ready>.nav-toggle{display:inline-flex;padding:10px 14px}
 .navigation-ready>nav:not(.is-open){display:none}
 .public-header nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-header nav .button{grid-column:1/-1;margin-top:4px}
 .sidebar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:16px}
 .sidebar .brand{padding:0;font-size:25px}
 .sidebar .nav-toggle{background:#365347}
 .sidebar nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible}
 .sidebar nav a{white-space:normal;min-height:44px;display:flex;align-items:center;font-size:13px}
 .admin-top{flex-wrap:wrap;gap:8px}
 .admin-top form{min-width:0;max-width:100%;flex-wrap:wrap}
 .admin-top form>span{overflow-wrap:anywhere}
 .hero h1{font-size:clamp(34px,9vw,46px)}
 .hero-image{min-height:0;padding:18px}
 .image-note{left:0;bottom:12px;padding:12px 18px}
 .story-photo img{height:auto;max-height:350px;aspect-ratio:1.1;object-fit:cover}
 .event-aside{position:static}
 .footer-bottom{flex-wrap:wrap;gap:8px 20px}
 .footer-bottom a{min-height:44px;display:flex;align-items:center}
 .footer-bottom a:last-child{margin-left:0}
 .footer-grid a:not(.brand),.text-link{min-height:44px;display:inline-flex;align-items:center}
 .footer-grid a:not(.brand){display:flex}
 .check{min-height:44px;align-items:center;padding:6px 0}
 .check input{margin-top:0;width:22px;height:22px}
 .event-row>span{min-width:0}
 .panel:not(.table-scroll)>table{table-layout:fixed}
 .panel:not(.table-scroll)>table th,.panel:not(.table-scroll)>table td{overflow-wrap:anywhere;padding:12px 6px}
 .recaptcha-field{max-width:100%}
}
@media(max-width:380px){
 .wrap{padding-left:16px;padding-right:16px}
 .admin-main{padding:20px 12px}
 .panel{padding:20px 14px}
 .stats{grid-template-columns:1fr}
 .details{grid-template-columns:1fr;gap:5px}
 .details dd{margin-bottom:12px}
 .actions{align-items:stretch;flex-direction:column;gap:12px}
 .actions a{text-align:center;justify-content:center}
 .cta-section h2{font-size:30px}
 .login-card{padding:24px 16px}
}

@media(max-width:760px){.public-header>.brand{flex:1;min-width:0}.public-header>.nav-toggle{flex-shrink:0}.table-scroll:before{content:"Swipe sideways to see all columns";display:block;font-size:12px;color:var(--muted);margin-bottom:12px}.table-scroll td a{display:inline-flex;align-items:center;min-height:44px}}

/* Customer planning and catalogue clarity. */
.local-intro{max-width:55ch;font-size:15px;color:#40574d;line-height:1.65}.availability{font-weight:650;color:#24483d}.reading-page{max-width:900px}.reading-page h1{max-width:20ch}.reading-page h2{font-size:30px;margin-top:38px}.reading-page h3{font-size:23px}.reading-page p,.planning-list{max-width:72ch;line-height:1.8}.planning-list{padding-left:24px}.planning-list li{margin:12px 0}.breadcrumbs{font-size:14px;margin-bottom:25px}.planning-links{border-top:1px solid #dce2d6}.planning-links .two-col{gap:40px}.reading-page a:not(.button),.planning-links a:not(.button){text-decoration:underline;text-underline-offset:3px}.dish-photo{height:auto;aspect-ratio:1/1;object-fit:cover}.thumbs img{height:70px;object-fit:cover}.food-image img{height:100%;object-fit:cover}@media(max-width:760px){.reading-page h1{font-size:36px}.reading-page h2{font-size:27px}.planning-links .two-col{gap:18px}.dish-grid .actions{gap:15px}.local-intro{font-size:16px}}

.hero-image>img{height:auto}
