/* Shared spacing rhythm. Loaded after page styles; content and artwork unchanged. */
:root { --space-section: 56px; --space-heading: 32px; --space-layout: 40px; --space-card: 24px; }
body { --sect: var(--space-section); }
body .container { padding-inline: clamp(24px,4vw,56px); }
body :is(.section,.statement,.categories-v2,.services-section,.process-section,.bts-section,.buying-section,.selection-section,.solutions-section,.oem-process,.about-approach,.about-expertise,.about-behind,.about-quality,.about-who,.about-cta,.pm-section,.cfg-inq,.product-dark) { padding-block: var(--space-section); }
body[data-page="home"] :is(.statement,.categories-v2,.services-section,.process-section,.bts-section),
body[data-page="home"] main > .section { padding-block: var(--space-section); }
body :is(.section--flush-top,.pm-section--flush) { padding-top: 0; }
body :is(.page-hero,.range-hero,.oem-hero,.about-hero,.resources-hero) { padding-top: calc(var(--header-h) + 40px); padding-bottom: 48px; min-height: 0; }
body :is(.cat-top,.cfg-top) { padding-top: calc(var(--header-h) + 28px); }
body .cat-top { padding-bottom: 28px; }
body .contact-section { padding-top: calc(var(--header-h) + 40px); padding-bottom: var(--space-section); }
body :is(.legal,.article) { padding-top: calc(var(--header-h) + 40px); padding-bottom: var(--space-section); }
body :is(.section-head,.pm-head) { margin-bottom: var(--space-heading); gap: 32px; }
body[data-page="home"] .section-head { margin-bottom: var(--space-heading); }
body :is(.page-hero__intro,.range-hero__intro) { margin-top: 24px; }
body :is(.about-split,.bts-split,.cta-grid,.contact-grid,.services__grid--stacked) { gap: var(--space-layout); }
body :is(.services-grid,.process-grid) { gap: 24px 32px; }
body :is(.section-cta,.cfg-entries) { margin-top: 28px; }
body .section-cta { padding-top: 20px; }
body :is(.cta-container,.product-cta .container) { padding-block: var(--space-section); }
body[data-page="home"] .cta-container { padding-block: var(--space-section); }
body :is(.service-content,.approach-card,.pm-panel,.cta-form) { padding: var(--space-card); }
body[data-page="home"] .service-content { padding: var(--space-card); }
body .site-footer { padding-top: 48px; }
body .footer-grid { gap: 32px; }
body .pdp { padding-top: calc(var(--header-h) + 28px); padding-bottom: var(--space-section); }
body [data-product-detail] .pdp-size-section { margin-top: 40px; padding-top: 24px; }
body [data-product-detail] .pdp__below { margin-top: 40px; padding-top: 28px; gap: 32px; }
body [data-product-detail] .pdp__blocks { margin-top: 40px; padding-top: 28px; gap: 36px; }
body [data-product-detail] .application-intro { margin-bottom: 48px; }
body [data-product-detail] .application-section { padding-block: 36px; }
body [data-product-detail] .application-section--features { padding: 36px; margin-bottom: 32px; }
body [data-product-detail] [data-pdp-application] > h2 { margin-bottom: 32px; }
@media(min-width:1600px) { :root { --space-section: 64px; --space-layout: 48px; --space-card: 28px; --space-heading: 36px; } }
@media(max-width:980px) { :root { --space-section: 40px; --space-layout: 32px; } }
@media(max-width:640px) {
 :root { --space-section: 32px; --space-heading: 24px; --space-layout: 28px; --space-card: 20px; }
 body .container { padding-inline: 20px; }
 body :is(.page-hero,.range-hero,.oem-hero,.about-hero,.resources-hero,.contact-section,.legal,.article) { padding-top: calc(var(--header-h) + 28px); padding-bottom: 32px; }
 body :is(.section-head,.pm-head) { gap: 20px; }
 body[data-page="home"] .section-head { margin-bottom: 24px; }
 body :is(.section-cta,.cfg-entries) { margin-top: 24px; }
 body .section-cta { padding-top: 16px; }
 body [data-product-detail] .pdp-size-section { margin-top: 32px; }
 body [data-product-detail] .pdp__below, body [data-product-detail] .pdp__blocks { margin-top: 32px; padding-top: 24px; gap: 28px; }
 body [data-product-detail] .application-intro { margin-bottom: 32px; }
 body [data-product-detail] .application-section { padding-block: 28px; }
 body [data-product-detail] .application-section--features { padding: 24px 20px; }
 body .site-footer { padding-top: 32px; }
}
@media(max-width:640px) {
 body .faq-layout { grid-template-columns: minmax(0,1fr); gap: 24px; }
 body .cat-grid { grid-template-columns: minmax(0,1fr); }
 body .cat-card, body .cat-card__media, body .cat-card__meta { min-width: 0; max-width: 100%; }
 body .cat-card__spec { min-width: 0; overflow-wrap: anywhere; }
}

/* Responsive containment across narrow phones, tablets and wide screens. */
body :is(.oem-hero__content,.range-hero__content,.faq-list,.faq-layout > *, .contact-grid > *, .pm-cfg > *) { min-width: 0; }
body :is(.oem-hero h1,.range-hero h1,.faq-q) { overflow-wrap: anywhere; }
@media(max-width:1100px) {
 body .faq-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
}
@media(max-width:380px) {
 body .oem-hero__content { width: 100%; max-width: 100%; }
 body .oem-hero .breadcrumb { flex-wrap: wrap; }
 body .oem-hero .mono { overflow-wrap: anywhere; }
 body .pdp__actions { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:640px) {
 body .oem-hero .btn { white-space: normal; max-width: 100%; height: auto; min-height: 48px; text-align: center; padding: 14px 18px; }
 body .oem-hero .btn svg { flex-shrink: 0; }
}
@media(max-width:640px) {
 body .start-actions { flex-wrap: wrap; min-width: 0; }
 body .start-actions .btn { white-space: normal; max-width: 100%; height: auto; min-height: 48px; padding: 14px 18px; text-align: center; }
 body .start-actions .btn svg { flex-shrink: 0; }
}
