/* Responsive preset. Last stylesheet by design; legacy checkout/account remain supported.
   Client brand tokens are supplied by client.json. No device-specific page copies. */
.fc-site { --fc-cream:#fff9ed; --fc-paper:#fffdf8; --fc-ink:#30231f; --fc-muted:#705e55; --fc-line:#e6d9c5; --fc-radius:1rem; --fc-max:90rem; color:var(--fc-ink); background:var(--fc-cream); font:400 1rem/1.6 "Nunito",system-ui,sans-serif; margin:0; padding:0; overflow-wrap:break-word; }
.fc-site *, .fc-site *::before, .fc-site *::after { box-sizing:border-box; }
.fc-site h1,.fc-site h2,.fc-site h3,.fc-site h4,.fc-site h5,.fc-site h6,.fc-site a,.fc-site p,.fc-site span { transition-property:color,background-color,opacity; }
.fc-site input:focus,.fc-site textarea:focus { color:var(--fc-ink); }
.fc-detail>*,.fc-split>*,.fc-story-stage>*,.fc-contact-layout>*,.fc-catering-layout>*,.fc-booking-layout>*,.fc-footer-grid>* { min-width:0; }
.fc-site .dsf-acct-who,.fc-site .dsf-acct-progress { min-width:0; overflow-wrap:anywhere; }.fc-site .theme-btn { white-space:normal; max-width:100%; }
.fc-site .dsf-coupon { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.6rem; }.fc-site .dsf-coupon>.fc-input-label { grid-column:1/-1; margin:0; }.fc-site .dsf-coupon>input { min-width:0; width:100%; }.fc-site .dsf-coupon>.theme-btn { padding:.7rem 1rem; }
.fc-site [hidden] { display:none!important; }
.fc-site h1,.fc-site h2,.fc-site h3,.fc-site h4 { font-family:"Signika","Signika",system-ui,sans-serif; color:var(--brand-red-deep); font-weight:700; line-height:1.13; text-transform:none; letter-spacing:-.025em; margin:0 0 .75em; }
.fc-site h1 { font-size:clamp(2.1rem,4vw,4rem); }.fc-site h2 { font-size:clamp(1.7rem,2.7vw,2.65rem); }.fc-site h3 { font-size:1.35rem; }
.fc-site p { font:inherit; margin:0 0 1rem; color:inherit; }.fc-site a { color:inherit; text-decoration:none; }.fc-site p a { text-decoration:underline; text-underline-offset:.2em; }
.fc-site button,.fc-site input,.fc-site select,.fc-site textarea { font:inherit; }.fc-site button { cursor:pointer; }.fc-site img { max-width:100%; height:auto; }.fc-site button:disabled { opacity:.55; cursor:not-allowed; }
.fc-site :focus-visible { outline:3px solid #2278b7!important; outline-offset:4px; }.fc-site .fc-icon { width:1.35em; height:1.35em; flex:none; vertical-align:middle; }
.fc-container { width:calc(100% - 3rem); max-width:var(--fc-max); margin-inline:auto; }.fc-section { padding-block:clamp(2.5rem,5vw,5rem); }.fc-section + .fc-section { padding-top:0; }
.fc-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }.fc-skip { position:fixed; top:-8rem; left:1rem; z-index:10000; background:white; padding:1rem; }.fc-skip:focus { top:1rem; }
.fc-header { position:sticky; top:0; z-index:100; background:var(--fc-paper); border-bottom:1px solid var(--fc-line); }.fc-header-inner { display:flex; align-items:center; gap:2rem; min-height:6rem; }
.fc-logo { width:10rem; display:inline-flex; flex:none; }.fc-logo img { width:100%; max-height:4.75rem; object-fit:contain; }.fc-navigation { display:flex; flex:1; align-items:center; justify-content:center; gap:clamp(.75rem,1.5vw,1.7rem); }
.fc-navigation a { font-size:.9rem; padding-block:.8rem; white-space:nowrap; font-weight:600; }.fc-navigation a[aria-current],.fc-navigation a:hover { color:var(--brand-red); box-shadow:0 2px var(--brand-red); }
.fc-header-actions { display:flex; gap:.4rem; }.fc-site .fc-icon-button { position:relative; display:inline-flex; align-items:center; justify-content:center; width:2.75rem; min-height:2.75rem; padding:.6rem; border:1px solid transparent; background:transparent; border-radius:50%; color:var(--brand-red-deep); }
.fc-icon-button:hover { background:#f3e8d7; }.fc-cart-link [data-cart-count] { position:absolute; right:-.3rem; top:0; border-radius:2rem; background:var(--brand-red); color:white; min-width:1.2rem; width:max-content; padding:0 .3rem; font:600 .65rem/1.2rem "Nunito",system-ui,sans-serif; text-align:center; }   /* padding and max-content, or three characters fill the badge edge to edge (owner, 2026-09-23) */
.fc-site .fc-nav-toggle,.fc-bottom-nav { display:none; }
.fc-site .fc-button { display:inline-flex; align-items:center; justify-content:center; gap:.8rem; min-height:3rem; padding:.8rem 1.35rem; background:var(--brand-red); border:1px solid var(--brand-red); color:white; font-size:.94rem; font-weight:600; line-height:1.4; border-radius:.6rem; text-decoration:none; transition:background .15s,transform .15s; }
.fc-site .fc-button:hover { background:var(--brand-red-deep); color:white; }.fc-site .fc-button-yellow { background:var(--brand-yellow); color:var(--brand-red-deep); border-color:var(--brand-yellow); }.fc-site .fc-button-yellow:hover { background:#ffdb73; color:var(--brand-red-deep); }
.fc-site .fc-button-light { background:transparent; border-color:#fff7df99; color:var(--fc-cream); }.fc-site .fc-button-outline { color:var(--brand-red); background:transparent; }.fc-site .fc-button-outline:hover { background:#f3e6d4; color:var(--brand-red-deep); }.fc-actions { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.75rem; }
.fc-site .fc-eyebrow { font:600 .78rem/1.4 "Nunito",system-ui,sans-serif; text-transform:uppercase; letter-spacing:.14em; margin-bottom:1rem; color:var(--brand-red); }.fc-page-heading { text-align:center; max-width:46rem; margin:0 auto 2.2rem; }.fc-page-heading h1 { margin-bottom:.4em; }.fc-page-heading>p:last-child { color:var(--fc-muted); }
.fc-hero { background:radial-gradient(ellipse at 77% 30%,#b74925 0,transparent 58%),var(--brand-red-deep); color:var(--fc-cream); overflow:hidden; }.fc-hero-inner { position:relative; display:grid; grid-template-columns:1fr 1.1fr; align-items:center; min-height:36rem; gap:1rem; }
.fc-hero-copy { position:relative; z-index:2; padding:3.5rem 0; }.fc-hero .fc-eyebrow { color:var(--brand-yellow); }.fc-hero h1 { color:var(--fc-cream); font-size:clamp(3rem,5.2vw,5.3rem); font-style:italic; line-height:1.04; max-width:10ch; margin-bottom:.45em; }.fc-hero-copy>p { max-width:33rem; }.fc-hero-art { position:relative; align-self:stretch; min-height:31rem; }.fc-hero-truck { position:absolute; width:110%; max-width:none!important; top:0; right:-10%; height:85%!important; object-fit:contain; }.fc-hero-food { position:absolute; width:115%; max-width:none!important; bottom:-5%; right:-7%; height:75%!important; object-fit:contain; filter:drop-shadow(0 1rem 1rem #22070388); }
.fc-section-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.7rem; }.fc-section-heading h2 { margin-bottom:0; }.fc-services { display:grid; grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); gap:1.15rem; }.fc-service { overflow:hidden; border-radius:.8rem; border:1px solid #d8bb75; background:white; box-shadow:0 .3rem .6rem #65320f09; }.fc-service>div { aspect-ratio:1.5; background:#f3e7d0; overflow:hidden; display:grid; place-items:center; }.fc-service img { width:100%; height:100%; object-fit:cover; transition:transform .2s; }.fc-service:hover img { transform:scale(1.04); }.fc-service>span { position:relative; display:block; padding:1rem 2.7rem 1rem 1rem; background:var(--brand-yellow); color:var(--brand-red-deep); }.fc-service strong { display:block; font-size:1.15rem; }.fc-service small { display:block; font-size:.75rem; }.fc-service .fc-icon { position:absolute; right:1rem; top:1.2rem; }
.fc-featured-section { background:#f6eddd; padding-top:3rem!important; }.fc-products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.fc-products.fc-featured { grid-template-columns:repeat(4,minmax(0,1fr)); }.fc-product { min-width:0; position:relative; background:var(--fc-paper); border:1px solid var(--fc-line); border-radius:var(--fc-radius); overflow:hidden; display:flex; flex-direction:column; }.fc-product>a { display:block; }.fc-product-image { display:flex; align-items:center; justify-content:center; aspect-ratio:1.65; background:#f8f0e0; overflow:hidden; }.fc-product-image img { width:90%; height:90%; object-fit:contain; }.fc-product-body { padding:1.2rem; flex:1; display:flex; flex-direction:column; }.fc-product h3 { margin-bottom:.4rem; font-size:1.3rem; }.fc-product p { color:var(--fc-muted); font-size:.85rem; line-height:1.5; margin-bottom:1rem; }.fc-product-bottom { display:flex; align-items:center; justify-content:space-between; margin-top:auto; gap:.5rem; }.fc-product-price { font-weight:600; color:var(--brand-red); }.fc-product .fc-button { min-height:2.75rem; font-size:.8rem; padding:.6rem .8rem; }
.fc-story-banner,.fc-split,.fc-contact-layout,.fc-catering-layout,.fc-booking-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,4rem); align-items:center; }.fc-story-banner { background:#f4e6ce; border:1px solid var(--fc-line); padding:2rem; border-radius:1.2rem; }.fc-story-banner img { width:100%; border-radius:.75rem; }.fc-story-banner h2 { max-width:16ch; }.fc-split-image img { width:100%; border-radius:var(--fc-radius); aspect-ratio:1.25; object-fit:cover; }.fc-lead { font-size:1.12rem!important; }.fc-story-stage { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; margin-bottom:4rem; }.fc-story-stage:nth-child(even)>div:first-child { order:2; }.fc-story-stage img { height:22rem; width:100%; object-fit:contain; border-radius:var(--fc-radius); background:#f1e4cc; }.fc-cta { text-align:center; background:var(--brand-red); color:white; padding:3rem; border-radius:1rem; }.fc-cta h2 { color:white; }
.fc-menu-toolbar { display:flex; gap:1rem; margin:0 auto 1rem; }.fc-search { display:flex; align-items:center; gap:.7rem; border:1px solid var(--fc-line); border-radius:.65rem; background:white; padding:.35rem 1rem; flex:1; min-width:0; }.fc-site .fc-search input { border:0; padding:.55rem 0; width:100%; min-width:0; background:transparent; color:var(--fc-ink); outline-offset:0; }.fc-menu-note,.fc-result-count { color:var(--fc-muted)!important; font-size:.82rem!important; }.fc-menu-layout { display:grid; grid-template-columns:10rem minmax(0,1fr) 18rem; align-items:start; gap:1.5rem; }.fc-categories { display:flex; flex-direction:column; gap:.5rem; position:sticky; top:7.5rem; }.fc-site .fc-category { min-height:2.8rem; padding:.6rem .9rem; border:1px solid var(--fc-line); border-radius:.6rem; background:var(--fc-paper); color:var(--brand-red-deep); text-align:left; font-size:.88rem; }.fc-site .fc-category[aria-pressed=true] { background:var(--brand-red); border-color:var(--brand-red); color:white; }
.fc-site .fc-panel,.fc-cart-panel { background:var(--fc-paper); border:1px solid var(--fc-line); border-radius:var(--fc-radius); padding:1.6rem; color:var(--fc-ink); }.fc-cart-panel { position:sticky; top:7.5rem; }.fc-cart-panel h2 { font-size:1.6rem; }.fc-cart-panel p { font-size:.85rem; }.fc-cart-panel .fc-button { width:100%; }.fc-cart-summary-line { display:flex; justify-content:space-between; gap:.75rem; border-bottom:1px solid var(--fc-line); padding:.75rem 0; font-size:.9rem; }.fc-cart-summary-total { font-size:1.15rem; font-weight:600; margin-bottom:1rem; }.fc-cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 23rem; gap:2rem; align-items:start; }.fc-cart-lines { display:grid; gap:1rem; }.fc-cart-line { display:grid; grid-template-columns:6.5rem minmax(0,1fr) auto; align-items:center; gap:1.2rem; padding:1.3rem; border-radius:1rem; background:var(--fc-paper); color:var(--fc-ink); border:1px solid var(--fc-line); }.fc-cart-line img { width:100%; height:6rem; object-fit:contain; }.fc-cart-line h2 { font-size:1.25rem; margin-bottom:.4rem; }.fc-cart-line p { font-size:.85rem; color:var(--fc-muted); }.fc-cart-line-actions { display:grid; gap:.6rem; justify-items:end; }.fc-quantity { display:inline-flex; align-items:center; border:1px solid var(--fc-line); border-radius:.55rem; background:white; overflow:hidden; }.fc-quantity button { width:2.75rem; min-height:2.75rem; border:0; color:var(--brand-red); background:transparent; font-size:1.25rem; }.fc-quantity input,.fc-quantity output { width:2.5rem; min-height:2.75rem; text-align:center; border:0; padding:.45rem 0; }.fc-remove { background:transparent; border:0; text-decoration:underline; padding:.6rem; color:var(--brand-red); font-size:.8rem!important; }
.fc-red-section { background:var(--brand-red); }.fc-red-section>.fc-container>.fc-page-heading h1,.fc-red-section>.fc-container>.fc-page-heading p { color:var(--fc-cream); }.fc-site .fc-status { grid-column:1/-1; padding:2rem; border:1px dashed var(--fc-line); border-radius:.75rem; background:var(--fc-paper); color:var(--fc-muted); }.fc-status .fc-button { margin-top:1rem; }.fc-back { display:inline-block; margin-bottom:1.5rem; padding:.5rem 0; }.fc-detail { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }.fc-detail-image { background:#f4e9d3; padding:2rem; border-radius:1.25rem; aspect-ratio:1; display:grid; place-items:center; }.fc-detail-image img { width:100%; max-height:30rem; object-fit:contain; }.fc-detail-price { font-size:1.75rem!important; color:var(--brand-red)!important; font-weight:700!important; }.fc-detail fieldset { margin:1.25rem 0; border:1px solid var(--fc-line); padding:1rem; border-radius:.7rem; }.fc-detail legend { float:none; width:auto; font-size:1rem; padding:0 .4rem; font-weight:700; }.fc-options { display:flex; gap:.5rem; flex-wrap:wrap; }.fc-option { display:flex; gap:.5rem; align-items:center; padding:.6rem .8rem; border:1px solid var(--fc-line); border-radius:.5rem; background:white; min-height:2.75rem; }.fc-option:has(input:checked) { border-color:var(--brand-red); background:#fbe7dc; }.fc-option input { accent-color:var(--brand-red); width:1.1rem; height:1.1rem; }.fc-detail .fc-actions { align-items:center; }
.fc-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.fc-full { grid-column:1/-1; }.fc-field { display:grid; align-content:start; gap:.35rem; font-size:.9rem; color:var(--fc-ink); min-width:0; margin:0; }.fc-site .fc-field input,.fc-site .fc-field select,.fc-site .fc-field textarea { min-width:0; width:100%; min-height:3rem; padding:.7rem .9rem; border:1px solid #cdbda6; border-radius:.5rem; background:white; color:var(--fc-ink); font-size:1rem; box-shadow:none; }.fc-field textarea { resize:vertical; }.fc-form-note { font-size:.8rem!important; margin:0!important; color:var(--fc-muted)!important; }.fc-editorial-photo { overflow:hidden; border-radius:1rem; margin-bottom:2rem; background:#f1e3ce; }.fc-editorial-photo img { width:100%; aspect-ratio:1.5; object-fit:cover; }.fc-catering-layout,.fc-contact-layout,.fc-booking-layout { align-items:start; }.fc-booking-photo { overflow:hidden; border-radius:1rem; background:var(--brand-red-deep); color:white; }.fc-booking-photo>img { height:24rem; width:100%; object-fit:contain; background:#f4e8d3; }.fc-booking-photo>div { padding:2rem; }.fc-booking-photo h2 { color:var(--fc-cream); }.fc-contact-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-bottom:2rem; }.fc-contact-cards .fc-icon { color:var(--brand-red); width:2rem; height:2rem; margin-bottom:1rem; }.fc-contact-cards h2 { font-size:1.5rem; }.fc-contact-cards span { font-size:.9rem; overflow-wrap:anywhere; }.fc-map { aspect-ratio:1.8; margin-bottom:1rem; border:1px solid var(--fc-line); border-radius:1rem; overflow:hidden; }.fc-map iframe { width:100%; height:100%; border:0; }
.fc-auth-layout { display:grid; grid-template-columns:1.05fr 1fr; max-width:70rem; border:1px solid var(--fc-line); border-radius:1.25rem; overflow:hidden; background:var(--fc-paper); }.fc-auth-art { height:100%; min-height:38rem; background:var(--brand-red-deep); display:flex; flex-direction:column; }.fc-auth-art>img { width:100%; height:28rem; object-fit:contain; background:#f0e3ce; flex:1; }.fc-auth-art>div { padding:2rem; color:var(--fc-cream); }.fc-auth-art h2 { color:var(--fc-cream); font-style:italic; }.fc-auth-content { padding:clamp(1.5rem,3vw,3rem); }.fc-auth-content .fc-page-heading { text-align:left; }.fc-auth-content h1 { font-size:2.5rem; }.fc-auth-content .signup-form { display:grid; gap:1rem; }.fc-auth-content .signup-form .signup-btn { margin:0; width:100%; }.fc-auth-content .signin-link { font-size:.85rem; margin-top:1.25rem; }.fc-auth-content .forgot-password { text-align:right; font-size:.85rem; }.fc-auth-content .dsf-choice { margin:0; font-size:.85rem; }
.fc-blog-search { max-width:36rem; margin:0 auto 2rem; }.fc-blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }.fc-blog-card { background:var(--fc-paper); border:1px solid var(--fc-line); border-radius:1rem; overflow:hidden; }.fc-blog-cover { width:100%; aspect-ratio:1.5; object-fit:cover; }.fc-blog-body { padding:1.5rem; }.fc-blog-body h2 { font-size:1.6rem; }.fc-blog-body p { font-size:.9rem; }.fc-blog-body>span { color:var(--fc-muted); font-size:.8rem; }
.fc-footer { border-top:1px solid var(--fc-line); background:#f3e8d4; padding:3rem 0 1.5rem; }.fc-footer-grid { display:grid; grid-template-columns:1.3fr .8fr 1fr; gap:4rem; }.fc-footer h2 { font:700 1rem/1.4 "Signika",system-ui,sans-serif; margin-bottom:1rem; }.fc-footer p,.fc-footer a { font-size:.85rem; }.fc-footer-grid>div>a:not(.fc-logo) { display:block; margin-bottom:.55rem; }.fc-footer .fc-logo { margin-bottom:1rem; }.fc-footer .fc-social { display:flex; flex-wrap:wrap; gap:.65rem; }.fc-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1.5rem; margin-top:2rem; border-top:1px solid #d8c9ad; }.fc-footer-bottom nav { display:flex; flex-wrap:wrap; gap:1rem; }.fc-footer-bottom small { font-size:.75rem; }.fc-noscript { padding:1rem; background:white; }
/* Existing commerce screens get the same responsive surfaces, without replacing their APIs. */
.fc-navigation>ul { display:flex; gap:inherit; align-items:center; list-style:none; padding:0; margin:0; flex-wrap:wrap; justify-content:center; }.fc-navigation>ul>li { margin:0; }.fc-navigation a { display:block; }.fc-blog-list { display:contents; }.fc-blog-tags { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.5rem; }.fc-blog-tags a { border:1px solid var(--fc-line); border-radius:2rem; padding:.55rem 1rem; font-size:.8rem; background:white; }.fc-newsletter { display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding-bottom:2rem; margin-bottom:2rem; border-bottom:1px solid var(--fc-line); }.fc-newsletter h2 { font:700 1.8rem/1.2 Georgia; }.fc-newsletter form { display:grid; grid-template-columns:1fr auto; gap:.6rem; align-content:start; }.fc-newsletter input { min-width:0; border:1px solid #cdbda6; border-radius:.6rem; padding:.75rem; background:white; }.fc-newsletter .fc-form-note,.fc-newsletter .dsf-form-status { grid-column:1/-1; }.fc-footer .dsf-policy-links { display:flex; gap:1rem; flex-wrap:wrap; padding:0; margin:0; list-style:none; }.fc-input-label { display:block; font-size:.85rem; margin-bottom:.35rem; }.fc-reviews figure { padding:2rem; border:1px solid var(--fc-line); border-radius:1rem; background:white; }.fc-reviews blockquote { font:italic 1.4rem/1.5 Georgia; }.fc-legacy-content .wow { visibility:visible!important; }.fc-legacy-content .char { opacity:1!important; transform:none!important; clip-path:none!important; }
@media (max-width:767px) { .fc-navigation>ul { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; grid-column:1/-1; width:100%; }.fc-newsletter { grid-template-columns:1fr; gap:1rem; }.fc-newsletter h2 { font-size:1.6rem; }.fc-newsletter form { grid-template-columns:1fr; }.fc-footer .dsf-policy-links { gap:.7rem; }.fc-site .app-install-banner { bottom:calc(5rem + env(safe-area-inset-bottom)); } }
.fc-site .checkout-section { padding:0; }.fc-site .checkout-single-wrapper,.fc-site .dsf-summary { background:var(--fc-paper); padding:1.5rem; border-radius:1rem; border:1px solid var(--fc-line); }.fc-site .checkout-section .dsf-pay-methods { background:var(--fc-paper); border-radius:1rem; padding:1.2rem; }.fc-site .checkout-section input,.fc-site .checkout-section select { min-height:2.8rem; }.fc-site .checkout-section h3 { font-size:1.3rem; }.fc-site .dsf-account { padding:0; }.fc-site .dsf-acct-head { margin-top:0; }.fc-site .dsf-acct-nav { flex-wrap:wrap; }.fc-site .dsf-acct-main { min-width:0; }.fc-site .dsf-alert:empty { display:none; }.fc-site .theme-btn { min-height:2.8rem; border-radius:.6rem; background:var(--brand-red); color:white; font:600 .94rem/1.4 "Nunito",system-ui,sans-serif; text-transform:none; }.fc-site .dsf-modal .modal-content { background:var(--fc-paper); }.fc-site .dsf-modal .dsf-opt { min-height:2.8rem; }.fc-site [data-reservations] h2 { font-size:1.6rem; }.fc-site [data-reservations] .dsf-reserve-form { width:100%; }.fc-site .fc-legacy-content .breadcrumb-wrapper { padding:3rem 0!important; background:var(--brand-red)!important; min-height:0!important; margin:0!important; }.fc-site .fc-legacy-content .breadcrumb-wrapper .shape-1,.fc-site .fc-legacy-content .breadcrumb-wrapper .shape-2 { display:none; }.fc-site .fc-legacy-content .breadcrumb-wrapper h1 { color:var(--fc-cream); font-size:clamp(2rem,5vw,4rem); }.fc-site .fc-legacy-content .section-padding { padding:3rem 0; }.fc-site .fc-legacy-content .container { max-width:var(--fc-max); width:calc(100% - 3rem); padding:0; }.fc-site .fc-legacy-content [class*="shape"] { max-width:100%; pointer-events:none; }.fc-site .fc-legacy-content table { max-width:100%; }.fc-site .dsf-table-wrap { overflow:auto; }.fc-site .dsf-app-intro,.fc-site .app-tabbar { display:none!important; }
@media (max-width:1199px) { .fc-header-inner { gap:1rem; }.fc-navigation { gap:.75rem; }.fc-navigation a { font-size:.8rem; }.fc-logo { width:8rem; }.fc-account-link { display:none!important; }.fc-menu-layout { grid-template-columns:8rem minmax(0,1fr) 16rem; gap:1rem; }.fc-cart-panel { padding:1rem; }.fc-products { gap:.75rem; }.fc-product-body { padding:1rem; }.fc-product h3 { font-size:1.15rem; }.fc-product-bottom { flex-wrap:wrap; }.fc-hero-inner { min-height:30rem; }.fc-hero-art { min-height:28rem; } }
@media (max-width:1023px) { .fc-menu-layout { grid-template-columns:8rem minmax(0,1fr); }.fc-menu-layout>.fc-cart-panel { display:none; }.fc-header-inner { min-height:5rem; }.fc-search-link { display:none!important; }.fc-products.fc-featured { grid-template-columns:repeat(2,minmax(0,1fr)); }.fc-services { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; }.fc-service>span { padding:.8rem; }.fc-service strong { font-size:1rem; }.fc-service small { display:none; }.fc-service .fc-icon { display:none; }.fc-cart-layout { grid-template-columns:minmax(0,1fr) 18rem; gap:1rem; }.fc-cart-line { grid-template-columns:5rem minmax(0,1fr); gap:.75rem; }.fc-cart-line-actions { grid-column:2; justify-items:start; }.fc-contact-layout,.fc-catering-layout,.fc-booking-layout { gap:1.5rem; }.fc-form-grid { grid-template-columns:1fr; }.fc-auth-layout { grid-template-columns:1fr 1fr; }.fc-auth-content { padding:1.5rem; }.fc-auth-art { min-height:32rem; }.fc-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.fc-detail { gap:2rem; }.fc-footer-grid { gap:2rem; } }
@media (max-width:767px) { .fc-site { padding-bottom:calc(4.3rem + env(safe-area-inset-bottom)); }.fc-container { width:calc(100% - 2rem); }.fc-header-inner { gap:.5rem; justify-content:space-between; min-height:4.75rem; }.fc-logo { width:8rem; }.fc-site .fc-nav-toggle { display:inline-flex; }.fc-header>.fc-header-inner>.fc-logo { position:absolute; left:50%; transform:translateX(-50%); }.fc-navigation { display:none; position:absolute; top:100%; left:0; right:0; background:var(--fc-paper); padding:1rem; max-height:calc(100dvh - 10rem); overflow:auto; box-shadow:0 .7rem 1rem #2f140d22; }.fc-navigation.is-open { display:grid; grid-template-columns:1fr 1fr; }.fc-navigation a { font-size:1rem; padding:.75rem; border:1px solid var(--fc-line); border-radius:.5rem; }.fc-header-actions { margin-left:auto; }.fc-bottom-nav { display:flex; position:fixed; bottom:0; inset-inline:0; z-index:99; background:var(--brand-red); color:white; padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom)); border-top:1px solid #ffffff44; }.fc-bottom-nav>a { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; position:relative; gap:.2rem; min-height:3.5rem; border-radius:.5rem; font-size:.65rem; }.fc-bottom-nav .fc-icon { width:1.3rem; height:1.3rem; }.fc-bottom-nav a[aria-current] { background:#ffffff1a; color:var(--brand-yellow); }.fc-bottom-nav b { position:absolute; top:.1rem; right:20%; background:var(--brand-yellow); border-radius:1rem; color:var(--brand-red-deep); font-size:.6rem; min-width:1rem; text-align:center; }
.fc-hero-inner { grid-template-columns:1fr; gap:0; }.fc-hero-copy { padding:2.4rem 0 0; text-align:center; }.fc-hero-copy h1 { font-size:clamp(2.7rem,9vw,4rem); max-width:13ch; margin-inline:auto; }.fc-hero-copy>p { font-size:.9rem; margin-inline:auto; max-width:30rem; }.fc-hero .fc-eyebrow { font-size:.66rem; }.fc-hero .fc-actions { justify-content:center; margin-top:1.3rem; }.fc-hero .fc-button { font-size:.8rem; padding:.7rem 1rem; }.fc-hero-art { min-height:19rem; width:100%; max-width:35rem; margin-inline:auto; }.fc-hero-truck { top:-1rem; width:100%; right:0; height:100%!important; }.fc-hero-food { width:110%; right:-5%; bottom:-8%; height:100%!important; }.fc-section { padding-block:2.2rem; }.fc-home-services { padding-top:2rem; }.fc-section-heading { align-items:start; }.fc-section-heading .fc-button { font-size:.75rem; padding:.6rem .75rem; white-space:nowrap; }.fc-section-heading h2 { font-size:1.6rem; }.fc-section-heading .fc-eyebrow { font-size:.65rem; }.fc-services { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }.fc-service>span { padding:.85rem .75rem; }.fc-service strong { font-size:.95rem; }.fc-service>div { aspect-ratio:1.4; }.fc-story-banner,.fc-split,.fc-story-stage,.fc-contact-layout,.fc-catering-layout,.fc-booking-layout,.fc-detail { grid-template-columns:1fr; gap:1.5rem; }.fc-story-banner { padding:1.2rem; }.fc-story-banner h2 { max-width:none; }.fc-story-stage { margin-bottom:2rem; }.fc-story-stage:nth-child(even)>div:first-child { order:0; }.fc-story-stage img { height:16rem; }.fc-cta { padding:2rem 1rem; }.fc-page-heading { margin-bottom:1.6rem; }.fc-page-heading>p:last-child { font-size:.9rem; }
.fc-menu-toolbar { flex-wrap:wrap; gap:.6rem; }.fc-menu-toolbar .fc-search { flex-basis:100%; }.fc-menu-toolbar .fc-button { min-height:2.75rem; width:100%; padding:.5rem; font-size:.85rem; }.fc-menu-layout { display:block; }.fc-categories { position:static; flex-direction:row; overflow-x:auto; padding:0 0 .75rem; margin-bottom:1rem; scrollbar-width:thin; }.fc-category { flex:none; white-space:nowrap; }.fc-products { grid-template-columns:1fr; }.fc-product { flex-direction:row; display:grid; grid-template-columns:7rem minmax(0,1fr); }.fc-product>a { height:100%; }.fc-product-image { height:100%; aspect-ratio:auto; min-height:9rem; }.fc-product-image img { width:100%; height:90%; }.fc-product-body { padding:.85rem; }.fc-product h3 { font-size:1.15rem; }.fc-product p { font-size:.75rem; margin-bottom:.65rem; }.fc-product-bottom { flex-wrap:nowrap; }.fc-product .fc-button { font-size:.75rem; min-height:2.75rem; }.fc-products.fc-featured { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }.fc-featured .fc-product { display:flex; flex-direction:column; }.fc-featured .fc-product-image { min-height:0; aspect-ratio:1.4; }.fc-featured .fc-product-body { padding:.8rem; }.fc-featured .fc-product h3 { font-size:1.05rem; }.fc-featured .fc-product p { display:none; }.fc-featured .fc-product-bottom { flex-wrap:wrap; }.fc-featured .fc-product .fc-button { width:100%; }.fc-cart-layout { grid-template-columns:1fr; }.fc-cart-panel { position:static; }.fc-cart-line { padding:1rem; }.fc-detail-image { aspect-ratio:1.3; padding:1rem; }.fc-detail h1 { font-size:2.3rem; }.fc-detail .fc-actions>.fc-button { flex:1; }.fc-detail .fc-field { margin-top:1rem; }.fc-detail .fc-options { gap:.45rem; }.fc-option { font-size:.85rem; }.fc-contact-cards { grid-template-columns:1fr; gap:.75rem; }.fc-contact-cards .fc-panel { display:grid; grid-template-columns:2rem 1fr; column-gap:1rem; padding:1.2rem; }.fc-contact-cards .fc-icon { grid-row:span 2; margin:0; }.fc-contact-cards h2 { margin-bottom:.35rem; }.fc-site .fc-panel { padding:1.25rem; }.fc-booking-photo>img { height:17rem; }.fc-booking-photo>div { padding:1.25rem; }.fc-auth-layout { display:flex; flex-direction:column; border:0; background:transparent; }.fc-auth-art { min-height:0; border-radius:1rem; overflow:hidden; }.fc-auth-art>img { height:12rem; flex:auto; }.fc-auth-art>div { display:none; }.fc-auth-content { padding:1.5rem 0 0; }.fc-auth-content .fc-page-heading { text-align:center; }.fc-auth-content h1 { font-size:2rem; }.fc-blog-grid { grid-template-columns:1fr; }.fc-blog-body h2 { font-size:1.5rem; }.fc-footer { padding-top:2rem; }.fc-footer-grid { grid-template-columns:1fr 1fr; gap:1.5rem; }.fc-footer-grid>div:first-child { grid-column:1/-1; }.fc-footer-bottom { display:block; }.fc-footer-bottom nav { gap:.65rem; margin-top:.75rem; }.fc-footer-bottom nav a { font-size:.7rem; }.fc-footer p,.fc-footer a { font-size:.8rem; }.fc-footer-grid>div:last-child { overflow-wrap:anywhere; }.fc-site .checkout-single-wrapper,.fc-site .dsf-summary { padding:1rem; }.fc-site .fc-legacy-content .container { width:calc(100% - 2rem); }.fc-site .dsf-acct-nav a { padding:.6rem; }.fc-site .dsf-acct-head { flex-wrap:wrap; }.fc-site .dsf-acct-main .dsf-form-row { flex-wrap:wrap; }.fc-site .dsf-dl { overflow-wrap:anywhere; }
}
@media (min-width:2400px) { html:has(.fc-site) { font-size:20px; }.fc-site { --fc-max:100rem; } }
@media (min-width:3800px) { html:has(.fc-site) { font-size:26px; }.fc-site { --fc-max:110rem; } }
@media (min-width:6000px) { html:has(.fc-site) { font-size:36px; } }
@media (hover:none) and (pointer:coarse) { .fc-site .fc-icon-button,.fc-site .fc-button,.fc-site .fc-category { min-height:3rem; }.fc-site .fc-quantity button { min-width:3rem; min-height:3rem; }.fc-service:hover img { transform:none; } }
@media (prefers-reduced-motion:reduce) { .fc-site *, .fc-site *::before, .fc-site *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print { .fc-header,.fc-bottom-nav,.fc-footer,.fc-actions { display:none!important; }.fc-site { background:white; padding:0; }.fc-red-section { background:white; }.fc-site h1,.fc-site h2,.fc-page-heading p { color:black!important; } }
