/* Shared V4 type and spacing settings.
   Reference: About/Water/Products for display and body text; Why Choose Us
   for split headings and compact rows; Products for disclosure headings.
   Component styles consume these variables. The hero has its own scale. */
:root{
 --p2p-type-display:5.313rem;
 --p2p-type-split:70px;
 --p2p-type-module:40px;
 --p2p-type-group:28px;
 --p2p-type-item:24px;
 --p2p-type-feature:17px;
 --p2p-type-lead:19px;
 --p2p-type-body:18px;
 --p2p-type-detail:17px;
 --p2p-type-panel:16px;
 --p2p-type-compact:15px;
 --p2p-type-label:15px;
 --p2p-type-note:13px;
 --p2p-type-action:13px;
 --p2p-leading-display:1;
 --p2p-leading-split:1.18;
 --p2p-leading-editorial:1;
 --p2p-leading-heading:1.2;
 --p2p-leading-body:34px;
 --p2p-leading-copy:1.65;
 --p2p-leading-compact:1.55;
 --p2p-tracking-heading:-.075em;
 --p2p-weight-heading:600;
 --p2p-weight-feature:700;
 --p2p-section-space:120px;
 --p2p-module-space:64px;
 --p2p-content-space:40px;
 --p2p-title-space:28px;
 --p2p-label-space:16px;
 --p2p-row-space:22px;
 --p2p-copy-space:24px;
}
@media(max-width:1399px){:root{
 --p2p-type-display:4.063rem;
 --p2p-leading-display:1.15383;
 --p2p-type-split:65px;
 --p2p-type-module:36px;
 --p2p-section-space:100px;
}}
@media(max-width:991px){:root{
 --p2p-type-display:3.125rem;
 --p2p-leading-display:1.04;
 --p2p-type-split:60px;
 --p2p-type-module:34px;
 --p2p-type-group:22px;
 --p2p-section-space:80px;
 --p2p-module-space:52px;
 --p2p-content-space:32px;
}}
@media(max-width:767px){:root{
 --p2p-type-split:35px;
 --p2p-leading-split:1.1;
 --p2p-type-module:30px;
 --p2p-type-lead:17px;
 --p2p-section-space:64px;
 --p2p-module-space:40px;
 --p2p-content-space:28px;
 --p2p-title-space:24px;
 --p2p-row-space:20px;
}}

/* The existing sections share the same settings without changing their layout. */
body :is(#about,#water-treatment,#products) .section-title-light{
 font-size:var(--p2p-type-display);line-height:var(--p2p-leading-display);
}
body .wcu-headline{font-size:var(--p2p-type-split);line-height:var(--p2p-leading-split)}
body #about p{font-size:var(--p2p-type-body);line-height:var(--p2p-leading-body)}
body :is(.wt-lead,#products p.fs-19){font-size:var(--p2p-type-lead);line-height:var(--p2p-leading-copy)}
body .wcu-lead,body .product-row__desc{font-size:var(--p2p-type-detail);line-height:var(--p2p-leading-copy)}
body .wcu-feature__title{font-size:var(--p2p-type-feature);font-weight:var(--p2p-weight-feature);line-height:1.3}
body .wcu-feature__desc{font-size:var(--p2p-type-compact);line-height:var(--p2p-leading-compact)}
body .product-row__name{font-size:var(--p2p-type-group)}
body .wt-partner__title{font-size:var(--p2p-type-item);line-height:var(--p2p-leading-heading)}
body .wt-partner__text{font-size:var(--p2p-type-panel);line-height:var(--p2p-leading-copy)}
body .wcu-eyebrow{font-size:var(--p2p-type-label)}
body :is(#about,#water-treatment,#products)>.container>.row:first-child>.col-12>.fs-15,
body .wcu-eyebrow{line-height:var(--p2p-leading-copy);margin-bottom:var(--p2p-label-space)!important}

/* Keep the live template's section padding utilities: About 8%/3%,
   Why Us 6%/6%, Products 5%/8%, Contact 2%/5%, banner 2%/5% margins.
   The replacement services section uses the live Services 5%/6% rhythm. */
body section#work{padding-top:5%;padding-bottom:6%}

/* Shared heading and content rhythm inside the revised modules. */
/* The revised smaller titles keep their tight lines independently of the
   original template's large display and Why Choose Us heading settings. */
#work .mx-services-heading h2,
#dust-control .mx-intro h2,
#thermal-systems .mx-intro h2,
.p2p-matrix .mx-module-heading h2{line-height:var(--p2p-leading-editorial)}
#work .mx-services-heading{margin-bottom:var(--p2p-content-space)}
#work .mx-services-heading .mx-eyebrow,.p2p-matrix .mx-eyebrow{margin-bottom:var(--p2p-label-space)}
#work .mx-services-heading h2,.p2p-matrix .mx-intro h2{
 font-weight:var(--p2p-weight-heading);letter-spacing:var(--p2p-tracking-heading);
}
.p2p-matrix .mx-intro h2{margin-bottom:var(--p2p-title-space)}
.p2p-matrix .mx-intro>p{font-size:var(--p2p-type-lead);line-height:var(--p2p-leading-copy);font-weight:500;margin-bottom:var(--p2p-copy-space)}
#work .mx-services-heading>p{font-weight:500}
.p2p-matrix :is(.mx-chemistry,.mx-explore){margin-top:var(--p2p-module-space)}
.p2p-matrix.mx-water-applications,.p2p-matrix.mx-thermal{margin-top:var(--p2p-module-space);padding-top:var(--p2p-content-space)}
.p2p-matrix .mx-module-heading{margin-bottom:var(--p2p-content-space)}
.p2p-matrix .mx-treatment-group>h3{margin-bottom:var(--p2p-copy-space)}
.p2p-matrix .mx-treatment-group{padding-top:var(--p2p-copy-space)}
.p2p-matrix :is(.mx-treatment,.mx-disclosure summary),#work .mx-service,#work .mx-service:first-child{padding-top:var(--p2p-row-space);padding-bottom:var(--p2p-row-space)}
.p2p-matrix .mx-disclosure-body{padding-bottom:var(--p2p-copy-space)}
.p2p-matrix .mx-program{margin-top:var(--p2p-content-space);padding-top:var(--p2p-copy-space)}
body .wt-partner{margin-top:var(--p2p-module-space)}
body .wt-cta{margin-top:var(--p2p-content-space)}

/* Let the fuller copy wrap naturally within the retained layouts. */
.p2p-matrix .mx-explore>span{max-width:none}
.p2p-matrix .mx-program{flex-wrap:wrap}
.p2p-matrix .mx-program p{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.p2p-matrix .mx-program p>span{padding:0}
#work .mx-service h3,.p2p-matrix .mx-chemistry h4{font-weight:var(--p2p-weight-feature);line-height:1.3}
#work .mx-service h3{margin-bottom:6px}
#work .mx-service p{font-weight:400}
.p2p-matrix .mx-system li{line-height:var(--p2p-leading-compact)}
.p2p-matrix .mx-system-label{margin-bottom:var(--p2p-label-space)}
.p2p-matrix .mx-system h3{margin-bottom:var(--p2p-label-space)}
.p2p-matrix .mx-system>p{margin-bottom:var(--p2p-copy-space)}
@media(max-width:1199px){
 .p2p-matrix .mx-thermal-grid{grid-template-columns:1fr 1fr}
 .p2p-matrix .mx-thermal-grid>.mx-intro{grid-column:1/-1}
 .p2p-matrix .mx-system{padding:var(--p2p-copy-space) 0 0;border-left:0;border-top:1px solid var(--mx-line)}
}
@media(max-width:575px){
 .p2p-matrix .mx-thermal-grid{grid-template-columns:minmax(0,1fr)}
}
