:root{--red:#a51d22;--red2:#d33a2f;--ink:#171513;--cream:#f5efe5;--paper:#fffaf3;--gold:#c99a4d;--line:rgba(23,21,19,.16);--serif:Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif;--display:"Oswald",Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}a{color:inherit}img{display:block;max-width:100%}.skip{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.7rem 1rem;z-index:99}.skip:focus{top:1rem}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,4rem);background:rgba(255,250,243,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-family:var(--display);font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em}.brand img{width:58px;height:58px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem)}.site-header nav a{text-decoration:none;font-weight:600;font-size:.92rem}.site-header nav a:hover{color:var(--red)}.nav-cta{background:var(--red);color:#fff!important;padding:.75rem 1rem}.nav-toggle{display:none;background:none;border:1px solid var(--ink);padding:.55rem .8rem;font:600 .9rem var(--sans)}.hero{min-height:calc(100vh - 86px);position:relative;display:flex;align-items:flex-end;background:url("assets/hero.jpg") center/cover no-repeat;padding:clamp(3rem,8vw,7rem) clamp(1rem,7vw,7rem);color:#fff;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,12,10,.88) 0%,rgba(15,12,10,.48) 55%,rgba(15,12,10,.1) 100%),linear-gradient(0deg,rgba(15,12,10,.62),transparent 55%)}.hero-content{position:relative;z-index:1;max-width:760px}.eyebrow{font-size:.77rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 1rem}.eyebrow.red{color:var(--red)}h1,h2,h3{font-family:var(--display);text-transform:uppercase;line-height:.98;margin:0}h1{font-size:clamp(4.4rem,10vw,9.5rem);letter-spacing:-.035em}h2{font-size:clamp(3rem,6vw,6.2rem);letter-spacing:-.03em}h3{font-size:clamp(2rem,3.2vw,3.4rem)}.hero-copy{font:1.25rem/1.5 var(--serif);max-width:630px;margin:1.7rem 0 2rem}.button-row{display:flex;gap:.85rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.35rem;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.78rem;border:1px solid transparent;cursor:pointer}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:#7f1217}.button-ghost{border-color:rgba(255,255,255,.8);color:#fff}.button-ghost:hover{background:#fff;color:var(--ink)}.button-light{background:var(--paper);color:var(--ink)}.hero-stamp{position:absolute;right:6vw;bottom:5vw;z-index:1;width:150px;height:150px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-8deg);text-transform:uppercase}.hero-stamp span{font-size:.68rem;letter-spacing:.18em}.hero-stamp strong{font:2rem var(--display)}.quick-bar{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:#fff}.quick-bar a{text-decoration:none;padding:1.4rem clamp(1rem,4vw,4rem);text-transform:uppercase;font:600 1rem var(--display);letter-spacing:.08em;border-right:1px solid rgba(255,255,255,.16)}.quick-bar a:hover{background:var(--red)}.quick-bar span{color:var(--gold);margin-right:.7rem}.section{padding:clamp(5rem,10vw,10rem) clamp(1rem,7vw,7rem)}.section-tight{margin:0 clamp(1rem,3vw,3rem)}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,8vw,8rem);align-items:end}.intro h2{max-width:850px}.intro-copy{font:1.2rem/1.75 var(--serif)}.text-link{display:inline-block;margin-top:1rem;color:var(--red);font:700 .85rem var(--sans);text-transform:uppercase;letter-spacing:.08em;text-decoration:none}.feature-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;min-height:620px}.feature{padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:flex-end;position:relative}.feature-image{color:#fff;background-position:center;background-size:cover}.feature-pizza{background-image:linear-gradient(0deg,rgba(15,12,10,.85),rgba(15,12,10,.08)),url("assets/pizza.jpg")}.feature p{font-family:var(--serif);font-size:1.1rem}.feature-dark{background:var(--ink);color:#fff;justify-content:center}.feature-dark ul{list-style:none;padding:0;margin:2rem 0 0}.feature-dark li{padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.18)}.feature-cream{background:var(--cream);justify-content:center}.feature-number{position:absolute;right:2rem;top:2rem;color:var(--red);font:2rem var(--display)}.section-heading{display:flex;justify-content:space-between;gap:3rem;align-items:end;margin-bottom:3rem}.section-heading>p{max-width:460px;font-family:var(--serif);font-size:1.1rem}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.location-card{padding:clamp(2rem,4vw,3.5rem);border-right:1px solid var(--line);background:#fff}.location-card:last-child{border:0}.location-featured{background:var(--cream)}.location-tag{text-transform:uppercase;color:var(--red);font-size:.72rem;font-weight:700;letter-spacing:.15em}.location-card h3{margin:.7rem 0 1.5rem}.location-card p{font-family:var(--serif);font-size:1.08rem}.location-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:1.8rem}.location-actions a{font-weight:700;color:var(--red);text-decoration:none}.catering{display:grid;grid-template-columns:1fr 1fr;background:var(--red);color:#fff}.catering-photo{min-height:720px;background:url("assets/interior.jpg") center/cover no-repeat}.catering-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem)}.catering-content p{font:1.15rem/1.7 var(--serif)}.service-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 2rem}.service-pills span{border:1px solid rgba(255,255,255,.4);padding:.5rem .75rem;font-size:.78rem}.trucks{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem);align-items:center}.truck-copy p:not(.eyebrow){font:1.2rem/1.7 var(--serif);margin:2rem 0}.truck-photo{position:relative}.truck-photo:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--red);z-index:-1}.truck-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.inquiry{background:var(--cream);display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,8rem)}.inquiry-heading p:not(.eyebrow){font-family:var(--serif);font-size:1.08rem}form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label span{display:block;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.7rem;margin-bottom:.35rem}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;padding:.95rem;font:1rem var(--sans);border-radius:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:1px}.wide{grid-column:1/-1}.form-footer{display:flex;align-items:center;gap:1rem}.form-footer small{max-width:260px;color:#635f59}.form-success{background:#fff;border-left:5px solid var(--red);padding:1.5rem;font-family:var(--serif)}.form-success strong{font:2rem var(--display);text-transform:uppercase}footer{background:var(--ink);color:#fff;padding:3rem clamp(1rem,7vw,7rem);display:grid;grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{display:flex;align-items:center;gap:1rem}.footer-brand img{width:74px;background:#fff;border-radius:50%;padding:.25rem}.footer-brand strong,.footer-brand span{display:block}.footer-brand strong{font:1.4rem var(--display);text-transform:uppercase}.footer-brand span{font-size:.8rem;color:#bbb}.footer-links{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;flex-wrap:wrap}.footer-links a{text-decoration:none;font-size:.85rem}.preview-note{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.16);padding-top:1.5rem;margin:0;color:#999;font-size:.75rem}
@media(max-width:900px){.nav-toggle{display:block}.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{min-height:720px}.hero-stamp{display:none}.quick-bar{grid-template-columns:1fr}.quick-bar a{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.intro,.catering,.trucks,.inquiry{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr}.feature{min-height:460px}.location-grid{grid-template-columns:1fr}.location-card{border-right:0;border-bottom:1px solid var(--line)}.catering-photo{min-height:420px}.section-heading{display:block}.section-heading>p{margin-top:1.5rem}.truck-copy{order:2}.truck-photo{order:1}footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:600px){.site-header{height:72px}.brand img{width:48px;height:48px}.brand span{font-size:1rem}.site-header nav{top:72px}.hero{min-height:650px;padding-bottom:3rem}h1{font-size:4.25rem}.hero-copy{font-size:1.08rem}.section{padding-top:5rem;padding-bottom:5rem}.button{width:100%}.button-row{display:grid}.quick-bar a{padding:1rem 1.25rem}.section-tight{margin:0}.feature{padding:2rem}.form-footer{display:block}.form-footer small{display:block;margin-top:.8rem}form{grid-template-columns:1fr}form label{grid-column:1/-1}.catering-content{padding:4rem 1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Approval-stage menu browser. SpotOn will replace this source after authorization. */
.menu-preview{background:#fff}
.menu-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.menu-tab{border:1px solid var(--line);background:var(--paper);padding:.8rem 1.2rem;font:700 .78rem var(--sans);text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.menu-tab.active{background:var(--red);border-color:var(--red);color:#fff}
.menu-status{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;background:var(--ink);color:#fff;padding:1rem 1.25rem;margin-bottom:1rem}
.menu-status span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#bbb}
.menu-status strong{font:1.6rem var(--display);text-transform:uppercase}
.menu-status small{color:#bbb;text-align:right}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.menu-category{padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.menu-category h3{color:var(--red);margin:0 0 .8rem}
.menu-category ul{list-style:none;margin:0;padding:0}
.menu-category li{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}
.menu-category li strong{font-size:.95rem}
.menu-category li p{font:1rem/1.45 var(--serif);margin:.25rem 0 0;color:#635f59}
.menu-category li>span{font-weight:700;color:var(--red);white-space:nowrap}
.menu-coming{grid-column:1/-1;padding:clamp(2rem,5vw,5rem);background:var(--cream);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.menu-coming p:not(.eyebrow){font:1.15rem/1.7 var(--serif);max-width:760px}
.menu-footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:1.5rem}
.menu-footer p{font-family:var(--serif);max-width:720px;margin:0}
@media(max-width:760px){.menu-status{grid-template-columns:1fr}.menu-status small{text-align:left}.menu-grid{grid-template-columns:1fr}.menu-footer{display:block}.menu-footer .button{margin-top:1.25rem}.menu-category{padding:1.25rem}.menu-category li{grid-template-columns:1fr}.menu-category li>span{margin-top:-.5rem}}

/* Fire Engine brand alignment */
:root{--red:#7d2026;--red2:#a63835;--ink:#101311;--cream:#f3eadb;--paper:#fffdf8;--gold:#b9965b;--line:rgba(47,28,19,.2);--serif:"Bree Serif",Georgia,serif;--sans:"Source Sans 3",Arial,sans-serif;--display:"Bree Serif",Georgia,serif}
body{background:var(--paper);background-image:radial-gradient(rgba(125,32,38,.035) 1px,transparent 1px);background-size:18px 18px}
.site-header{background:rgba(255,253,248,.97);border-bottom:4px solid var(--red);box-shadow:0 3px 12px rgba(27,16,12,.12)}
.brand{font-family:var(--serif);font-size:1.25rem;text-transform:none;letter-spacing:0;color:var(--ink)}
.brand img{width:66px;height:66px}
.site-header nav a{font-family:var(--serif);font-weight:400;font-size:1rem}
.nav-cta{background:var(--red);border-radius:6px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.2)}
.hero{min-height:calc(100vh - 86px);align-items:center;border-bottom:8px solid var(--gold)}
.hero-overlay{background:linear-gradient(90deg,rgba(16,19,17,.91) 0%,rgba(16,19,17,.64) 50%,rgba(16,19,17,.18) 100%),linear-gradient(0deg,rgba(16,19,17,.5),transparent 52%)}
h1,h2,h3{font-family:var(--serif);text-transform:none;letter-spacing:0;line-height:1.05}
h1{font-size:clamp(3.8rem,8vw,7.7rem);max-width:800px;text-shadow:0 3px 12px rgba(0,0,0,.45)}
h2{font-size:clamp(2.8rem,5vw,5.3rem)}
h3{font-size:clamp(1.8rem,2.8vw,3rem)}
.eyebrow{font-family:var(--sans);font-weight:700;letter-spacing:.15em}
.hero-copy{font-family:var(--sans);font-weight:500;max-width:690px}
.button{font-family:var(--serif);text-transform:none;letter-spacing:.01em;font-size:1rem;border-radius:6px}
.button-primary{background:var(--red);box-shadow:inset 0 0 0 2px rgba(255,255,255,.18)}
.button-ghost{background:rgba(255,253,248,.1);border-width:2px}
.hero-stamp{width:170px;height:170px;border:3px solid var(--gold);background:rgba(16,19,17,.72);box-shadow:0 0 0 7px rgba(255,255,255,.2),0 0 0 10px var(--red);font-family:var(--serif);transform:rotate(-5deg)}
.hero-stamp strong{font:2.4rem var(--serif);color:#fff}
.quick-bar{background:var(--red);border-bottom:5px solid var(--gold)}
.quick-bar a{font-family:var(--serif);text-transform:none;letter-spacing:.02em;font-size:1.12rem}
.quick-bar a:hover{background:var(--ink)}
.quick-bar span{color:#f3d9a9}
.intro-copy,.section-heading>p,.location-card p,.catering-content p,.truck-copy p:not(.eyebrow),.inquiry-heading p:not(.eyebrow),.menu-footer p,.menu-coming p:not(.eyebrow){font-family:var(--sans)}
.feature-grid{gap:14px;background:var(--ink);padding:14px;border-top:6px solid var(--red);border-bottom:6px solid var(--red)}
.feature{border-radius:8px;overflow:hidden}
.feature-dark{background:var(--red)}
.feature-cream{background:var(--cream)}
.feature-number{font-family:var(--serif);color:var(--red)}
.menu-preview{background:rgba(255,255,255,.94);border-top:8px solid var(--gold)}
.menu-tabs{gap:.75rem}
.menu-tab{background:#fff;border:2px solid var(--red);border-radius:6px;font-family:var(--serif);font-size:.95rem;text-transform:none;letter-spacing:0;color:var(--red)}
.menu-tab.active{background:var(--red);color:#fff}
.menu-status{background:var(--ink);border-left:8px solid var(--red);border-radius:6px}
.menu-status strong{font-family:var(--serif);text-transform:none}
.menu-grid{border:0;gap:1rem;margin-top:1rem}
.menu-category,.menu-coming{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 18px rgba(40,27,20,.08)}
.menu-category h3{color:var(--red)}
.location-grid{gap:1.25rem;border:0}
.location-card,.location-card:last-child{border:1px solid var(--line);border-radius:9px;box-shadow:0 7px 22px rgba(40,27,20,.1);position:relative;overflow:hidden}
.location-card:before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:var(--red)}
.location-featured{background:#fff}
.location-tag{font-family:var(--sans);color:var(--red)}
.location-actions a{color:var(--red)}
.location-card .private-space{display:inline-block;margin:.9rem 0 0;padding:.38rem .65rem;background:var(--cream);border-radius:999px;color:var(--red);font:700 .78rem var(--sans)}
.catering{background:var(--red);border-top:8px solid var(--gold);border-bottom:8px solid var(--gold)}
.service-pills span{background:rgba(255,255,255,.08);border-radius:999px}
.truck-photo:before{border:6px solid var(--gold);background:var(--red);inset:-18px 18px 18px -18px}
.truck-photo img{border:5px solid #fff;box-shadow:0 8px 22px rgba(40,27,20,.18)}
.travel-area{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.6rem}
.travel-area strong,.travel-area small{flex-basis:100%}
.travel-area strong{font-family:var(--serif);font-size:1.15rem;color:var(--red)}
.travel-area span{border:1px solid var(--red);border-radius:999px;padding:.42rem .7rem;font-size:.78rem;font-weight:700;color:var(--red);background:#fff}
.travel-area small{color:#655b52;line-height:1.45}
.growth-services{background:#fff}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.service-grid article{border:1px solid var(--line);border-top:7px solid var(--red);border-radius:8px;padding:1.5rem;background:var(--paper);box-shadow:0 5px 18px rgba(40,27,20,.07)}
.service-grid article>span{color:var(--gold);font:1.25rem var(--serif)}
.service-grid h3{font-size:1.75rem;margin:.6rem 0 1rem}
.service-grid p{font-size:.96rem}
.service-grid ul{padding-left:1.1rem;min-height:6rem}
.service-grid a{color:var(--red);font-family:var(--serif);font-weight:700;text-decoration:none}
.approval-note{margin:2rem 0 0;padding:1rem 1.25rem;border-left:6px solid var(--gold);background:var(--cream)}
.occasion-section{background:var(--ink);color:#fff;padding:clamp(3rem,6vw,6rem)}
.occasion-heading{max-width:800px;margin-bottom:2rem}
.occasion-grid{display:flex;flex-wrap:wrap;gap:.75rem}
.occasion-grid span{padding:.75rem 1rem;border:1px solid rgba(255,255,255,.45);border-radius:999px;font-weight:700}
.corporate{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:start;background:#fff}
.corporate-copy>p:not(.eyebrow){font-size:1.1rem}
.corporate-points{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1.5rem 0}
.corporate-points span{padding:.8rem;background:var(--cream);border-left:4px solid var(--red);font-weight:700}
.booking-steps{background:var(--cream);padding:clamp(1.5rem,4vw,3rem);border-radius:9px}
.booking-steps ol{list-style:none;margin:0;padding:0;counter-reset:steps}
.booking-steps li{counter-increment:steps;display:grid;grid-template-columns:42px 1fr;gap:0 .8rem;padding:1rem 0;border-top:1px solid var(--line)}
.booking-steps li:before{content:counter(steps);grid-row:1/3;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--red);color:#fff;border-radius:50%;font-family:var(--serif)}
.booking-steps li strong,.booking-steps li span{grid-column:2}
.booking-steps li span{color:#655b52}
.connect{background:var(--red);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center;border-top:8px solid var(--gold);border-bottom:8px solid var(--gold)}
.connect>div>p:not(.eyebrow){font-size:1.1rem;max-width:680px}
.connect-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.connect-form label span{color:#fff}
.connect-form .button,.connect-form small{grid-column:1/-1}
.connect-form small{color:#f2dedc}
.connect-success{background:#fff;color:var(--ink);padding:1.5rem;border-radius:8px}
.inquiry{background:var(--cream);border-top:8px solid var(--red)}
input,select,textarea{border:1px solid #9b8976;border-radius:5px}
.form-success{border-left:7px solid var(--red);border-radius:6px}
.form-success strong{font-family:var(--serif);text-transform:none}
footer{background:var(--ink);border-top:8px solid var(--red)}
.footer-brand strong{font-family:var(--serif);text-transform:none}
.ordering{background:var(--cream)}
.ordering-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.ordering-card{display:flex;flex-direction:column;min-height:300px;padding:2rem;background:#fff;border:1px solid var(--line);border-top:6px solid var(--gold)}
.ordering-card.ordering-direct{background:var(--red);color:#fff;border-color:var(--red)}
.ordering-card h3{font-size:clamp(1.8rem,2.4vw,2.5rem);margin:.8rem 0 1rem}
.ordering-card p{font-family:var(--sans);margin:0 0 1.5rem}
.ordering-label{font:700 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.ordering-direct .ordering-label{color:#f0d4a4}
.ordering-status{display:block;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);font:700 .78rem var(--sans);color:var(--red)}
.ordering-direct .ordering-status{color:#fff;border-color:rgba(255,255,255,.35)}
.ordering-note{max-width:960px;margin:1.5rem 0 0;font-family:var(--sans)}
@media(max-width:1000px){.service-grid,.ordering-grid{grid-template-columns:repeat(2,1fr)}.corporate,.connect{grid-template-columns:1fr}}
@media(max-width:600px){.brand img{width:52px;height:52px}.brand span{font-size:.9rem}h1{font-size:3.5rem}.hero{min-height:680px}.feature-grid{padding:8px;gap:8px}.service-grid,.ordering-grid{grid-template-columns:1fr}.service-grid ul{min-height:0}.corporate-points,.connect-form{grid-template-columns:1fr}.connect-form label,.connect-form .button,.connect-form small{grid-column:1/-1}.occasion-grid span{width:100%;border-radius:6px}.ordering-card{min-height:0}}
