
/* Shared layout contract. Page-specific art, colors and behavior stay local. */
:root{--space-1:4px;--space-2:8px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--content-max:1280px;--reading-max:760px;--page-gutter:16px;--section-space:48px;--card-space:24px}
@media(min-width:640px){:root{--page-gutter:24px;--section-space:64px}}
@media(min-width:1024px){:root{--page-gutter:32px;--section-space:96px;--card-space:32px}}
*,*::before,*::after{box-sizing:border-box}
body{min-width:0}
main,section,article,form,fieldset,dialog{min-width:0}
:where(h1,h2,h3,h4,p,li,dd,label){overflow-wrap:break-word}
:where(main,section,article,form) :where(input,select,textarea){max-width:100%}
:where(img,video){max-width:100%}
:where(.hero-actions,.cap-actions,.purchase-actions,.storefront-actions,.owner-actions,.proof-actions,.measurement-actions){display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4)}
:where(.hero-actions,.cap-actions,.purchase-actions,.storefront-actions,.owner-actions,.proof-actions)>*{margin:0;min-width:0}
body :is(.button,.solid-button,.outline-button,.storefront-actions a){display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:12px 24px;max-width:100%;white-space:normal;text-align:center;line-height:1.4}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){min-height:48px;padding:12px 16px;font-size:16px;line-height:1.5}
body :is(.check-row,.dash-check){gap:var(--space-2)}
body :is(.check-row,.dash-check) input{flex-shrink:0}
body :is(.site-header,.restaurant-nav,.onboarding-header){max-width:var(--content-max);margin-inline:auto;width:100%;padding-inline:var(--page-gutter)}
body :is(.home-industries,.storefront-grid,.industry-directory,.industry-pricing-grid,.resource-section,.service-overview,.service-process,.service-faq,.related-services,.cap-block,.cap-explain,.ag-section,.co-section,.proof-section,.industry-benefits,.industry-experience,.industry-services,.industry-planning,.industry-boundaries,.industry-related,.lead-contact,.experience-layout,.owner-tour,.owner-dashboard,.handoff-section,.owner-scope,.restaurant-pricing,.owner-faq,.restaurant-close){max-width:var(--content-max);width:100%;margin-inline:auto;padding-inline:var(--page-gutter)}
body :is(.resource-section,.service-overview,.service-process,.service-faq,.related-services,.cap-block,.cap-explain,.ag-section,.co-section,.proof-section,.industry-benefits,.industry-experience,.industry-services,.industry-planning,.industry-boundaries,.industry-related,.lead-contact,.owner-tour,.owner-dashboard,.handoff-section,.owner-scope,.restaurant-pricing,.owner-faq,.restaurant-close){margin-block:0;padding-block:calc(var(--section-space)/2)}
body :is(.home-hero,.service-hero,.cap-hero,.co-hero,.industry-hero,.industry-hub,.industry-pricing-hero,.proof-hero,.restaurant-hero){padding-inline:max(var(--page-gutter),calc((100% - var(--content-max))/2 + var(--page-gutter)));padding-top:var(--section-space)}
body.storefront-page #main-content{padding:0}
body.storefront-page .home-industries{margin-block:var(--section-space)}
body .storefront-grid{gap:var(--space-6);padding-bottom:var(--section-space)}
body :is(.storefront-copy,.industry-showcase-copy,.industry-price-copy){padding:var(--card-space)}
body :is(.cap-card,.resource-card,.co-link-card,.co-model-card,.co-research-card,.proof-case-copy,.proof-review,.rest-checkout-card,.restaurant-upgrades article,.restaurant-starter){padding:var(--card-space);min-width:0}
body :is(.resource-card,.cap-card){min-height:0}
body :is(.cap-card-grid,.co-grid,.resource-grid,.proof-cases,.proof-reviews,.industry-directory,.industry-pricing-grid,.restaurant-upgrades,.rest-checkout-grid,.dashboard-benefits){gap:var(--space-6)}
body :is(.cap-card-grid,.co-grid,.resource-grid,.proof-cases,.proof-reviews,.industry-directory,.industry-pricing-grid,.restaurant-upgrades,.rest-checkout-grid,.dashboard-benefits)>*{min-width:0}
body :is(.cap-card,.resource-card,.co-link-card,.co-model-card,.proof-case-copy,.proof-review,.industry-price-copy) :is(p,ul,ol){text-align:left}
body :is(.answer-body,.answer-header,.answer-toc){max-width:var(--reading-max);margin-inline:auto}
body .answer-body{padding-inline:0}
body .answer-body>section{padding-block:var(--space-6);margin-block:0}
body :is(.answer-table,.ag-table-wrap,.dash-table-wrap,.co-table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
body :is(.answer-table,.ag-table-wrap,.dash-table-wrap,.co-table-wrap) :is(th,td){text-align:left}
body :is(.footer-layout,.footer-bottom){max-width:var(--content-max);margin-inline:auto;gap:var(--space-8)}
body .experience-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:var(--space-8)}
body .restaurant-nav nav{flex-wrap:wrap;gap:var(--space-4);min-width:0}
body .restaurant-hero{max-width:var(--content-max);padding-inline:var(--page-gutter);gap:var(--space-8)}
body .restaurant-starter{gap:var(--space-8)}
body .rest-plan-choices a{align-items:center;flex-wrap:wrap;gap:var(--space-4)}
body #ai-panel .ai-panel-header{padding-inline:max(var(--page-gutter),calc((100% - var(--content-max))/2 + var(--page-gutter)))}
body #ai-panel :is(.ai-messages,.chat-agent-identity){min-width:0;min-height:0}
body #ai-panel .ai-close{min-height:48px}
@media(max-width:767px){
 body :is(.resource-grid,.co-grid,.cap-card-grid,.proof-cases,.proof-reviews,.industry-directory,.industry-pricing-grid,.restaurant-upgrades,.rest-checkout-grid,.dashboard-benefits,.restaurant-starter,.experience-layout){grid-template-columns:minmax(0,1fr)}
 body .storefront-grid{grid-template-columns:minmax(0,1fr)}
 body .restaurant-hero{grid-template-columns:minmax(0,1fr)}
 body .restaurant-nav{flex-wrap:wrap;gap:var(--space-4)}
 body .restaurant-nav nav{width:100%;flex-wrap:nowrap;overflow-x:auto;gap:var(--space-2)}
 body .dash-menu-row{grid-template-columns:56px minmax(0,1fr);gap:var(--space-4)}
 body .dash-hours-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
 body .section-top{flex-wrap:wrap;gap:var(--space-4)}
 body .checkout-rest{padding-inline:var(--page-gutter);margin-block:var(--space-12)}
 body .answer-body{width:calc(100% - 2 * var(--page-gutter))}
}
@media(min-width:768px) and (max-width:1023px){body .restaurant-nav{flex-wrap:wrap}body .restaurant-nav nav{width:100%;flex-wrap:nowrap;overflow-x:auto}body .restaurant-nav nav>a{flex-shrink:0}}
body .home-industries>.industry-directory{padding-inline:0}
body:has(.setup-shell)>main{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:var(--page-gutter)}
body:has(#renewal)>:is(header,main,footer){width:100%;max-width:var(--content-max);padding-inline:var(--page-gutter)}
body:has(#renewal) .card{padding:var(--card-space)}
body :is(.nav-dropdown a,.dashboard-tabs button,.menu-tabs button){min-height:48px;align-content:center}
/* Mobile drawer: one scrolling menu, without boxed nested dropdowns. */
@media(max-width:1120px){
 body .site-header .nav-dropdown,body .site-header #nav-industries,body .site-header #nav-services{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0 0 8px!important;max-height:none!important;overflow:visible!important}
 body .site-header .nav-disclosure{flex-shrink:0}
 body .site-header .nav-dropdown ul{border:0!important;background:transparent!important}
 body .site-header .service-navigation.site-navigation{position:fixed!important;top:72px!important;left:auto!important;right:0!important;width:min(540px,100vw)!important;max-width:100vw!important;max-height:calc(100dvh - 80px)!important;overflow-y:auto!important;overscroll-behavior:contain;grid-area:auto!important;justify-content:flex-start!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
