/* Shared vertical rhythm: equal space on each side of a content section.
   Desktop 120px; tablet 88px; mobile 64px. Hero, local navigation and
   component interiors keep their own spacing and dimensions. */
:root{--site-module-space:120px}
@media(max-width:1100px){:root{--site-module-space:88px}}
@media(max-width:700px){:root{--site-module-space:64px}}
html body main{--module-edge:var(--site-module-space);--module-cta:var(--site-module-space)}
html body main > section:not(.site-hero):not(.hero):not(.rental-intro):not(.strip):not(.tabs):not(.rows):not(.site-consultation),
html body main > .meeting-section-band.meeting-section-band,
html body main > .od-section-band.od-section-band,
html body main > .stand-management.stand-management,
html body main > .case-study-article.case-study-article,
html body main .window-signage-section.window-signage-section,
html body main > div > .digital-menu-support.digital-menu-section,
html body main.blog-page > .wrap > .blog-layout,
html body main > .wrap:has(> .cats){
 padding-top:var(--site-module-space)!important;
 padding-bottom:var(--site-module-space)!important;
 margin-top:0!important;
 margin-bottom:0!important;
 height:auto!important;
}
/* A band owns its whitespace once; its inner content must not add it again. */
html body main > .od-section-band > section.catalog-section{
 padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;
}
html body main > .wrap > .cats{
 padding-top:0!important;
}
/* Mount tabs and their product list are one module, with a compact internal gap. */
html body main > section.tabs.tabs{padding-top:var(--site-module-space)!important;padding-bottom:40px!important;margin-top:0!important;margin-bottom:0!important}
html body main > section.rows.rows{padding-top:0!important;padding-bottom:var(--site-module-space)!important;margin-top:0!important;margin-bottom:0!important}
