/* Shared rhythm: section boundaries, card spacing and mobile gutters. */
:root{--section-space:clamp(32px,4.2vw,56px);--content-gap:clamp(20px,2.4vw,32px);--card-space:clamp(20px,2.2vw,28px)}
main .section{padding-block:var(--section-space)}
main .section .section{padding-block:24px}
main .section+.section{padding-top:calc(var(--section-space)*.7)}
main .page-hero{padding-block:clamp(30px,4vw,52px)}
main .section-head{gap:24px;margin-bottom:28px}
main .tech-section{padding-block:28px}
main .tech-fold-section{padding-block:10px}
main .lp-route,main .lp-quote,main .lp-teaser{padding-block:var(--section-space)}
main :is(.visual-section,.expert-section,.director-section,.company-origins){padding-block:var(--section-space)}
main .visual-section.compact{padding-block:28px}
main :is(.grid,.cms-collection-grid,.tech-grid,.lp-services,.ed-grid){gap:24px}
main :is(.card,.tech-card,.ed-card,.cms-collection-card)>:last-child{margin-bottom:0}
main :is(.card,.tech-card,.ed-card,.cms-collection-card) p{line-height:1.65}
main :is(.tech-card-copy,.ed-card>div){padding:var(--card-space)}
main :is(.cms-collection-card,.ed-card,.tech-card){min-width:0}
main .cms-collection-card img{display:block;aspect-ratio:4/3;width:100%;object-fit:contain}
main :is(.section,.page-hero) .container>h2:first-child{margin-top:0;margin-bottom:24px}
main :is(.section,.page-hero) .container>p:last-child{margin-bottom:0}
main .section.cms-lead-section{padding-block:24px}
.enquiry-dialog .cms-lead-section{padding:0}
.cms-consent{align-items:start;gap:12px}.cms-consent input{flex:0 0 auto;margin-top:5px}
#contact-brief{min-height:180px;padding:24px;background:#eef4f1;border-radius:12px;line-height:1.7}
.privacy-link{display:block;margin-top:24px;font-size:14px}
.policy-body{max-width:900px}.policy-body section{margin:0 0 32px}.policy-body h2{font-size:24px;line-height:1.3}.policy-body p,.policy-body li{line-height:1.75}.policy-body a{overflow-wrap:anywhere}
.catalog-site-header{display:block;max-width:none;padding:0;background:white;position:relative}
.catalog-site-header .catalog-top,.catalog-site-header .catalog-nav{max-width:1320px;margin:auto;padding:20px 24px}
.catalog-site-header .catalog-top{display:flex;align-items:center;justify-content:space-between;gap:24px}
.catalog-site-header .catalog-nav{border-top:1px solid #e5ece9;display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding-block:14px}
.catalog-site-header nav a{text-decoration:none;font-size:15px}.catalog-site-header .languages{display:flex;gap:12px}
.catalog-site-header .brand{font-size:20px;line-height:1.4;letter-spacing:1px}
@media(max-width:700px){
 main .section+.section{padding-top:24px}
 main :is(.grid,.cms-collection-grid,.tech-grid,.lp-services,.ed-grid){gap:20px}
 main .section-head{align-items:start;gap:16px;margin-bottom:24px}
 main .split,main .detail-grid{gap:28px}
 main .tech-section{padding-block:24px}main .tech-fold-section{padding-block:8px}
 main .container{max-width:100%}
 main .section .section{padding-block:20px}
 .catalog-site-header .catalog-top{flex-wrap:wrap;gap:14px;padding:18px}
 .catalog-site-header .catalog-nav{padding:14px 18px;gap:14px 20px}
 .catalog-site-header .brand{font-size:18px}.policy-body h2{font-size:22px}
}
