:root{--site-max:1440px;--site-gutter:clamp(22px,3vw,56px)}.site-header{padding-left:max(var(--site-gutter),calc((100vw - var(--site-max))/2));padding-right:max(var(--site-gutter),calc((100vw - var(--site-max))/2))}.hero-content{width:min(var(--site-max),calc(100% - (var(--site-gutter) * 2)))}.section,.page-hero,.intro-band,footer{padding-left:max(var(--site-gutter),calc((100vw - var(--site-max))/2));padding-right:max(var(--site-gutter),calc((100vw - var(--site-max))/2))}.content-page{max-width:none;width:100%}.process-block{margin-left:calc(-1 * max(var(--site-gutter),calc((100vw - var(--site-max))/2)));margin-right:calc(-1 * max(var(--site-gutter),calc((100vw - var(--site-max))/2)));padding-left:max(var(--site-gutter),calc((100vw - var(--site-max))/2));padding-right:max(var(--site-gutter),calc((100vw - var(--site-max))/2))}.content-page:not(:has(.subpage-shell,.service-intro,.factory-intro,.insights-head,.catalog-grid,.contact))>p,.content-page:not(:has(.subpage-shell,.service-intro,.factory-intro,.insights-head,.catalog-grid,.contact))>h2,.content-page:not(:has(.subpage-shell,.service-intro,.factory-intro,.insights-head,.catalog-grid,.contact))>ol,.content-page:not(:has(.subpage-shell,.service-intro,.factory-intro,.insights-head,.catalog-grid,.contact))>ul,.content-page:not(:has(.subpage-shell,.service-intro,.factory-intro,.insights-head,.catalog-grid,.contact))>.kicker{max-width:980px}.blog-content,.cms-article-body{max-width:900px;margin-left:auto;margin-right:auto}@media(min-width:1680px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.featured-grid{gap:26px}.service-links,.insights-grid,.detail-points,.insight-entries{gap:24px}.factory-showcase{grid-template-columns:1.2fr .8fr}}@media(max-width:980px){:root{--site-gutter:28px}.site-header{padding-left:28px;padding-right:28px}.process-block{margin-left:-28px;margin-right:-28px;padding-left:28px;padding-right:28px}}@media(max-width:640px){:root{--site-gutter:18px}.site-header{padding-left:18px;padding-right:18px}.section,.page-hero,.intro-band,footer{padding-left:18px;padding-right:18px}.process-block{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.hero-content{width:calc(100% - 36px)}}


/* =========================================================
   GLOBAL COMPACT SPACING SYSTEM (Eliminate excessive white-space)
   ========================================================= */

/* Hero sections */
.page-hero {
  min-height: 240px !important;
  padding-top: 44px !important;
  padding-bottom: 34px !important;
  display: flex !important;
  align-items: center !important;
}
.page-hero > div {
  max-width: 860px !important;
}
.page-hero h1 {
  font-size: clamp(38px, 4.6vw, 60px) !important;
  margin: 6px 0 12px !important;
  line-height: 1.08 !important;
}
.page-hero span {
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* Connect hero to first section tightly */
.page-hero + .section,
.page-hero + .content-page,
main > .page-hero + section {
  padding-top: 36px !important;
}

/* Sections vertical rhythm */
.section {
  padding-top: 44px !important;
  padding-bottom: 54px !important;
}

/* Content page headings & paragraphs */
.content-page h2 {
  margin-top: 24px !important;
  margin-bottom: 12px !important;
}

/* Service / detail lead titles */
.detail-lead {
  margin-bottom: 28px !important;
  gap: 36px !important;
}
.detail-lead h2 {
  font-size: clamp(34px, 4vw, 50px) !important;
  margin-top: 6px !important;
}

/* Mobile responsive padding */
@media (max-width: 640px) {
  .page-hero {
    min-height: 180px !important;
    padding-top: 32px !important;
    padding-bottom: 24px !important;
  }
  .page-hero + .section,
  .page-hero + .content-page,
  main > .page-hero + section {
    padding-top: 24px !important;
  }
  .section {
    padding-top: 32px !important;
    padding-bottom: 40px !important;
  }
}
