/* V2 spatial rules: a readable measure, fluid gutters and room for larger type. */
:root{font-size:100%;--orange:#cd3714;--orange-hover:#b42e10;--content-max:82.5rem;--page-gutter:clamp(1.25rem,3.4vw,3rem);--section-space:clamp(3rem,5vw,5rem)}
.container{width:min(var(--content-max),calc(100% - 2 * var(--page-gutter)))}
.section{padding-block:var(--section-space)}
.section-heading{align-items:flex-start;gap:2rem;margin-bottom:2rem}
.section-heading>div{min-width:0}
.section-heading>.text-link{flex-shrink:0;margin-top:.5rem}
.button{min-height:3.25rem;padding:1rem 1.5rem;white-space:normal;text-align:center}
.button-small{min-height:3rem;padding:.75rem 1.125rem}
.text-link{min-height:2.75rem;gap:.625rem}
.icon-button{width:2.75rem;height:2.75rem;flex-shrink:0}
.header-inner{min-height:5.5rem;height:auto;padding-block:1rem;gap:1.5rem}
.desktop-nav{gap:1.5rem;margin-right:0}
.desktop-nav>a{padding-block:.75rem;white-space:nowrap}
.header-cta{white-space:nowrap}
.menu-toggle{display:none}
.hero{min-height:39rem}
.hero-inner{padding-block:4rem 1.5rem}
.hero-copy{max-width:43rem}
.hero-checks{gap:1.5rem;flex-wrap:wrap}
.photo-caption{right:0;max-width:20rem;top:2rem;text-align:right;background:var(--cream);color:var(--ink);padding:.5rem .75rem;border-radius:.5rem;text-shadow:none}
.hero-shade{background:linear-gradient(90deg,#fbf8f3 0%,#fbf8f3f5 25%,#fbf8f3b8 43%,#fbf8f330 58%,transparent 75%)}
.quick-form{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.9fr) minmax(14rem,1.1fr);gap:1.25rem;padding:1.5rem;margin-top:2.5rem;align-items:stretch}
.quick-field{display:flex;flex-direction:column;justify-content:center;min-width:0}
.quick-field label{margin-bottom:.5rem}
.input-wrap{gap:.625rem;min-height:2.75rem}
.input-wrap input{height:2.75rem;min-width:0;padding:0}
.quick-form>.button{min-height:3.5rem;height:auto;align-self:center}
.quick-field:not(:nth-child(3)){padding-right:1rem}
.hero-footnote{margin-top:1rem;gap:.5rem;align-items:flex-start}
.hero-footnote>svg{margin-top:.25rem;width:1rem;height:1rem}
.benefit-grid{padding-block:2rem;gap:2rem}
.benefit-grid>div{gap:1rem;align-items:flex-start;min-width:0}
.benefit-grid>div>svg{width:2rem;height:2rem;margin-top:.25rem}
.benefit-grid strong{margin-bottom:.25rem}
.catalogue-tools{align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}
.cuisine-tabs{gap:.5rem;flex-wrap:wrap}
.filter-chip{min-height:2.75rem;padding:.625rem .9375rem}
.city-filter{gap:.5rem;min-height:2.75rem}
.city-filter select{max-width:12rem;min-height:2.75rem;padding:.5rem 1.25rem .5rem 0}
.demo-note{align-items:flex-start;gap:.5rem;margin-bottom:1.5rem}
.demo-note>.status-dot{margin-top:.55rem}
.truck-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.truck-card{min-width:0}
.truck-photo{height:12.75rem}
.truck-content{padding:1.25rem;display:flex;flex-direction:column;flex:1;min-width:0}
.truck-title-row{align-items:flex-start;margin-bottom:.5rem;gap:.5rem}
.truck-title-row>svg{width:1.125rem;height:1.125rem;margin-top:.25rem}
.truck-location{gap:.375rem}
.truck-location svg{width:1rem;height:1rem}
.truck-description{margin-top:.75rem;min-height:0}
.truck-type{padding:.375rem .625rem;left:.875rem;bottom:.875rem}
.tags{gap:.375rem;padding-top:.875rem;margin-top:auto}
.tag{padding:.375rem .5rem;white-space:normal}
.how-section{padding-block:var(--section-space)}
.steps{grid-template-columns:minmax(0,1fr) 2.5rem minmax(0,1fr) 2.5rem minmax(0,1fr);gap:1.5rem;margin-top:2.5rem;align-items:start}
.steps article{min-width:0}
.steps h3{margin-bottom:.75rem}
.steps p{max-width:48ch}
.step-arrow{margin-top:5rem;width:2.5rem}
.step-number{width:2rem;height:2rem}
.event-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.event-card{height:15rem}
.event-label{left:1.25rem;right:1.25rem;bottom:1.25rem;align-items:flex-end;gap:.75rem}
.event-label>span{min-width:0}
.event-label small{margin-bottom:.5rem}
.event-image:after{background:linear-gradient(transparent 8%,#142014f2)}
.cities-section{padding-block:var(--section-space)}
.cities-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:4rem}
.cities-intro .text-link{margin-top:1.5rem;max-width:30ch}
.cities-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1.5rem}
.city-link{padding:1.25rem 0;min-height:5rem;align-items:center;min-width:0}
.city-link>span{min-width:0;overflow-wrap:anywhere}
.city-link small{margin-top:.375rem}
.faq-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:5rem}
.faq-intro>.text-link{margin-top:1.5rem}
.faq-list summary{padding:1.25rem 2rem 1.25rem 0}
.faq-list summary:after{top:1.125rem}
.faq-list details p{padding:0 1.5rem 1.5rem 0}
.supplier-section{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);margin-block:0 var(--section-space)}
.supplier-copy{padding:3rem}
.supplier-copy>p{max-width:48ch;margin-block:1rem 1.5rem}
.supplier-note{margin-top:1rem}
.final-cta{padding-block:2.75rem}
.final-cta>.container{gap:2rem;align-items:center}
.final-cta .button{flex-shrink:0}
.site-footer{padding-top:3rem}
.footer-main{gap:2rem;padding-bottom:2.5rem}
.footer-main>div{min-width:0}
.footer-main h3{margin:0 0 1rem}
.footer-main>div:not(:first-child)>a,.footer-link{min-height:2.25rem;display:flex;align-items:center;margin:0;padding:.25rem 0}
.footer-brand p{margin-top:1rem}
.footer-bottom{padding-block:1.5rem;flex-wrap:wrap;gap:1rem}
.footer-bottom>div{gap:1.5rem}
.footer-bottom button{min-height:2.75rem}
.preview-badge{padding:.5rem .75rem;gap:.5rem}
.quote-dialog{width:min(45rem,calc(100% - 2rem))}
.profile-dialog{width:min(45rem,calc(100% - 2rem))}
.info-dialog{width:min(41.25rem,calc(100% - 2rem))}
.dialog-inner{padding:1.5rem 2rem 2rem}
.dialog-top{gap:1rem;margin-bottom:1.5rem}
.form-grid{gap:1.25rem}
.form-group input,.form-group select,.form-group textarea{min-height:3rem;padding:.75rem}
.form-group textarea{min-height:6.5rem}
.form-group legend{padding:0 0 .75rem}
.choice-grid{gap:.75rem}
.check-choice{padding:.875rem;min-height:3rem}
.check-choice input{width:1.125rem;height:1.125rem}
.form-notice{padding:.875rem 1rem}
.form-actions{gap:1rem;margin-top:1.5rem}
.form-actions>.button{min-height:3rem;padding:.875rem 1.25rem}
.review-list{grid-template-columns:minmax(8rem,.65fr) minmax(0,1.4fr);gap:.75rem 1rem}
.profile-content{padding:2rem}
.profile-content>p{margin-top:1rem}
.profile-content .demo-note{margin-top:1.5rem}
.profile-capacity{padding:1rem}
.empty-state{padding:3rem 1.5rem}

@media(max-width:1199px){
 .truck-grid,.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .truck-photo{height:15rem}
 .quick-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem}
 .quick-field:nth-child(2){border-right:0}
 .quick-field:nth-child(3){border-right:1px solid var(--line);padding-right:1rem}
 .quick-form>.button{align-self:stretch}
 .hero{min-height:0}
 .photo-caption{display:none}
 .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}
 .cities-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .steps{gap:1rem;grid-template-columns:minmax(0,1fr) 1.25rem minmax(0,1fr) 1.25rem minmax(0,1fr)}
 .step-arrow{width:1.25rem}
}
@media(max-width:1150px){.desktop-nav{display:none}.menu-toggle{display:inline-grid}.header-cta{margin-left:auto}}
@media(max-width:900px){
 .cities-layout{grid-template-columns:1fr;gap:2rem}
 .cities-list{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cities-intro h2 br,.faq-intro h2 br{display:none}
 .large-pin{position:static;margin-bottom:1rem}
 .faq-section{display:grid;grid-template-columns:1fr;gap:1.5rem}
 .faq-intro>.text-link{display:none}
 .benefit-grid{grid-template-columns:1fr;gap:1.5rem}
 .benefit-grid>div{gap:1.25rem}
 .supplier-copy{padding:2rem}
 .handwritten{display:none}
}
@media(max-width:760px){
 .steps{display:grid;grid-template-columns:1fr;gap:1.75rem}
 .steps article{display:grid;grid-template-columns:2rem minmax(0,1fr);column-gap:1rem}
 .step-top{grid-column:1;grid-row:1/3;margin:0;align-items:flex-start}
 .step-top>svg,.step-arrow{display:none}
 .steps h3{grid-column:2;margin:0 0 .625rem;padding:0;line-height:1.35}
 .steps p{grid-column:2;padding:0;margin:0;max-width:60ch}
 .supplier-section{grid-template-columns:1fr}
 .supplier-photo{height:16rem;background-position:0% 40%}
 .supplier-copy{padding:2rem}
 .final-cta>.container{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
 .site-header .container{width:calc(100% - 2rem)}
 .header-inner{min-height:5rem;padding-block:.875rem;gap:.75rem;justify-content:space-between}
 .header-cta{display:none}
 .menu-toggle{margin-left:auto;width:2.75rem;height:2.75rem;padding:.625rem}
 .header-inner>.brand{--symbol-height:2.5rem;--wordmark-width:clamp(9.25rem,48vw,12rem);gap:.4375rem}
 .mobile-nav{padding:1rem 1.25rem 1.5rem}
 .mobile-nav>a{min-height:3rem;padding:.75rem}
 .hero-inner{padding-block:2.5rem 1.5rem}
 .hero-photo,.hero-shade{height:34rem}
 .hero-shade{background:linear-gradient(90deg,#fbf8f3f7,#fbf8f3de 75%,#fbf8f3bf),linear-gradient(0deg,#fbf8f3,transparent 30%)}
 .hero-copy>p{margin-top:1.25rem}
 .hero-copy>p br{display:none}
 .hero-checks{gap:.75rem 1rem;margin-top:1.5rem}
 .hero-checks svg{width:1.125rem;height:1.125rem}
 .hero-checks li{gap:.5rem}
 .quick-form{margin-top:2rem;padding:1.25rem;grid-template-columns:1fr;gap:1rem}
 .quick-field:not(:nth-child(3)),.quick-field:nth-child(3){border:0;border-bottom:1px solid var(--line);padding:0 0 .75rem;grid-column:auto}
 .quick-field label{margin-bottom:.25rem}
 .quick-form>.button{grid-column:auto;min-height:3.5rem}
 .input-wrap{gap:.75rem}
 .input-wrap>svg{width:1.25rem;height:1.25rem}
 .hero-footnote{align-items:flex-start;margin-top:1rem}
 .section-heading{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}
 .catalogue .section-heading{display:flex}
 .catalogue .section-heading>.text-link{margin:0}
 .catalogue-tools{gap:.75rem}
 .cuisine-tabs{width:100%;flex-wrap:wrap;overflow:visible;padding:0}
 .city-filter{width:100%}
 .city-filter select{flex:1;max-width:none}
 .demo-note{margin-bottom:1.25rem}
 .event-label{left:1.125rem;right:1.125rem;bottom:1.125rem;gap:.75rem}
 .event-label small{max-width:none}
 .cities-intro .text-link{margin-top:1rem;max-width:none}
 .cities-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.25rem}
 .city-link{padding:1.125rem 0}
 .faq-intro p{margin-top:.75rem;margin-bottom:0}
 .supplier-copy{padding:1.75rem}
 .supplier-photo{height:14rem}
 .final-cta .button{margin-top:0}
 .footer-main{gap:2rem 1.5rem}
 .footer-brand,.footer-about{grid-column:1/-1}
 .footer-brand .brand{--wordmark-width:13rem;--symbol-height:2.75rem}
 .footer-brand p{margin-left:0}
 .footer-bottom{align-items:flex-start;flex-direction:column;gap:.5rem}
 .footer-bottom>div{gap:1.5rem}
 .footer-bottom>span:last-child{display:none}
 .dialog-inner{padding:1.25rem}
 .brand.dialog-brand{--wordmark-width:clamp(8rem,40vw,10.9375rem);--symbol-height:2rem;gap:.375rem}
 .dialog-top{gap:.5rem;margin-bottom:1.25rem}
 .form-grid{grid-template-columns:1fr;gap:1.25rem}
 .form-group.full{grid-column:auto}
 .choice-grid{grid-template-columns:1fr}
 .form-actions>.button{padding-inline:1rem}
 .review-list{grid-template-columns:1fr;gap:.25rem}
 .review-list dd{margin-bottom:.75rem}
 .profile-content{padding:1.5rem}
 .profile-photo{height:14rem}
 .success-actions{flex-direction:column}
 .success-actions .button{width:100%}
}
@media(max-width:599px){
 .truck-grid,.event-grid{grid-template-columns:1fr;gap:1.5rem}
 .truck-photo{height:13.5rem;background-position-y:43%}
 .truck-content{padding:1.25rem}
 .truck-description{max-width:42ch}
 .tags{margin-top:.5rem}
 .event-card{height:13rem}
 .event-label{align-items:center}
 .event-label svg{display:block;width:1.25rem;height:1.25rem}
 .empty-state .text-link{margin:.75rem 0 0}
}
@media(max-width:370px){
 .cities-list{grid-template-columns:1fr}
 .form-actions{flex-wrap:wrap}
 .form-actions>.button{margin-left:auto}
 .footer-brand .brand{--wordmark-width:12rem;--symbol-height:2.5rem}
}
