/* Matrix's split program, ruled disclosures, and process columns,
   adapted to P2P's shared typography, rounded panels, and brand green.
   Scoped to the four requested areas. */
.p2p-matrix{--mx-ink:#171b18;--mx-muted:#626963;--mx-line:#dce2dc;--mx-green:#38af4a;color:var(--mx-ink);font-family:var(--primary-font,'Manrope',sans-serif);font-size:var(--p2p-type-body);line-height:var(--p2p-leading-body)}
.p2p-matrix *,.p2p-matrix *::before,.p2p-matrix *::after{box-sizing:border-box}
/* Use the template's shared .container widths and gutters at every breakpoint. */
.p2p-matrix :is(h2,h3,h4,p){margin:0}
.p2p-matrix :is(h2,h3,h4){color:var(--mx-ink);font-family:inherit;font-weight:600}
.p2p-matrix p{color:var(--mx-muted);font-size:var(--p2p-type-body);line-height:var(--p2p-leading-body)}
.p2p-matrix a{color:inherit;text-decoration:none}
.p2p-matrix :is(a,summary):focus-visible{outline:2px solid #288638;outline-offset:6px}
.p2p-matrix .mx-eyebrow{display:block;color:#278837;font-size:var(--p2p-type-label);line-height:var(--p2p-leading-copy);font-weight:600;letter-spacing:.045em;margin-bottom:24px;text-transform:uppercase}
.p2p-matrix .mx-split{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(60px,8vw,120px);align-items:start}
.p2p-matrix .mx-intro h2{font-size:var(--p2p-type-split);font-weight:600;line-height:var(--p2p-leading-split);letter-spacing:-.065em;margin-bottom:27px;text-wrap:balance}
.p2p-matrix .mx-intro em{font-weight:400}
.p2p-matrix .mx-intro>p{max-width:39ch;margin-bottom:26px}
.p2p-matrix .mx-text-link{display:inline-flex;gap:19px;align-items:center;font-size:var(--p2p-type-action);font-weight:600;line-height:var(--p2p-leading-copy);padding:5px 0;border-bottom:1px solid #adb6ad}
.p2p-matrix .mx-text-link:hover{color:#278837;border-color:#278837}
.p2p-matrix .mx-arrow{font-size:22px;line-height:1;font-weight:400;display:inline-block;flex:none}
.p2p-matrix .mx-icon{width:27px;height:27px;color:#278837;flex:none}
.p2p-matrix.mx-services-section{padding:100px 0 0}
.p2p-matrix .mx-service{display:grid;grid-template-columns:28px 1fr 20px;gap:20px;padding:26px 0;border-top:1px solid var(--mx-line);align-items:start}
.p2p-matrix .mx-service:first-child{border-top:0;padding-top:3px}
.p2p-matrix .mx-service h3{font-size:var(--p2p-type-feature);letter-spacing:-.04em;line-height:var(--p2p-leading-heading);margin-bottom:10px}
.p2p-matrix .mx-service p{font-size:var(--p2p-type-compact);max-width:44ch;line-height:var(--p2p-leading-compact)}
.p2p-matrix .mx-service>.mx-arrow{margin-top:4px;color:#7a847c;transition:transform .18s,color .18s}
.p2p-matrix .mx-service:hover h3{color:#278837}
.p2p-matrix .mx-service:hover>.mx-arrow{transform:translate(2px,-2px);color:#278837}
.p2p-matrix .mx-explore{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:35px;border-top:1px solid var(--mx-line);border-bottom:1px solid var(--mx-line);margin-top:52px;padding:28px 0;align-items:center}
.p2p-matrix .mx-explore>span{font-size:var(--p2p-type-note);color:var(--mx-muted);line-height:var(--p2p-leading-copy);max-width:160px}
.p2p-matrix .mx-explore>a{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:var(--p2p-type-feature);font-weight:600;letter-spacing:-.025em;line-height:var(--p2p-leading-heading)}
.p2p-matrix .mx-explore>a:hover{color:#278837}
.p2p-matrix.mx-dust-section{padding:110px 0 0;background:transparent}
.p2p-matrix .mx-disclosures{border-top:1px solid var(--mx-line)}
.p2p-matrix .mx-disclosure{border-bottom:1px solid var(--mx-line)}
.p2p-matrix .mx-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:21px 0;list-style:none;cursor:pointer}
.p2p-matrix .mx-disclosure summary::-webkit-details-marker{display:none}
.p2p-matrix .mx-disclosure h3{font-size:var(--p2p-type-group);line-height:var(--p2p-leading-heading);letter-spacing:-.035em}
.p2p-matrix .mx-disclosure summary:hover h3{color:#278837}
.p2p-matrix .mx-toggle{position:relative;display:block;flex:none;width:18px;height:18px}
.p2p-matrix .mx-toggle::before,.p2p-matrix .mx-toggle::after{content:'';position:absolute;left:2px;top:8px;width:14px;height:1px;background:currentColor}
.p2p-matrix .mx-toggle::after{transform:rotate(90deg);transition:transform .18s}
.p2p-matrix .mx-disclosure[open] .mx-toggle::after{transform:rotate(0)}
.p2p-matrix .mx-disclosure-body{padding:0 30px 25px 0}
.p2p-matrix .mx-disclosure-body>p{font-size:var(--p2p-type-detail);line-height:var(--p2p-leading-copy)}
.p2p-matrix .mx-disclosure-body .mx-products{font-size:var(--p2p-type-note);line-height:var(--p2p-leading-copy);margin-top:17px;color:#677569}
.p2p-matrix .mx-products>span{display:block;font-size:var(--p2p-type-note);text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:#278837;margin-bottom:3px;line-height:var(--p2p-leading-copy)}
.p2p-matrix .mx-file-type{font-size:var(--p2p-type-note);letter-spacing:.06em;color:var(--mx-muted);line-height:var(--p2p-leading-copy)}
.p2p-matrix .mx-chemistry{margin-top:70px;background:var(--mx-green);border-radius:16px;display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:32px;padding:38px 36px}
.p2p-matrix .mx-chemistry .mx-eyebrow{font-size:var(--p2p-type-note);color:#153a1b;margin-bottom:11px;line-height:var(--p2p-leading-copy)}
.p2p-matrix .mx-chemistry h3{font-size:var(--p2p-type-group);line-height:var(--p2p-leading-heading);letter-spacing:-.05em;color:#102b14}
.p2p-matrix .mx-chemistry h4{font-size:var(--p2p-type-feature);line-height:var(--p2p-leading-heading);margin-bottom:10px;color:#102b14;letter-spacing:-.015em}
.p2p-matrix .mx-chemistry p{font-size:var(--p2p-type-panel);color:#163b1c;line-height:var(--p2p-leading-copy)}
.p2p-matrix .mx-chemistry>div+div{border-left:1px solid #22773166;padding-left:27px}
.p2p-matrix.mx-water-applications{margin-top:72px;border-top:1px solid var(--mx-line);padding-top:36px}
.p2p-matrix .mx-module-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-bottom:42px}
.p2p-matrix .mx-module-heading h2{font-size:var(--p2p-type-module);line-height:var(--p2p-leading-heading);letter-spacing:-.05em}
.p2p-matrix .mx-module-heading p{font-size:var(--p2p-type-lead);max-width:45ch;line-height:var(--p2p-leading-copy)}
.p2p-matrix .mx-treatment-groups{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.p2p-matrix .mx-treatment-group{padding-top:24px;border-top:2px solid #38af4a}
.p2p-matrix .mx-treatment-group .mx-eyebrow{font-size:var(--p2p-type-note);margin-bottom:14px;line-height:var(--p2p-leading-copy)}
.p2p-matrix .mx-treatment-group>h3{font-size:var(--p2p-type-group);line-height:var(--p2p-leading-heading);letter-spacing:-.045em;margin-bottom:26px}
.p2p-matrix .mx-treatment{padding:21px 0;border-top:1px solid var(--mx-line)}
.p2p-matrix .mx-treatment h4{font-size:var(--p2p-type-item);line-height:var(--p2p-leading-heading);letter-spacing:-.025em;margin-bottom:10px}
.p2p-matrix .mx-treatment p{font-size:var(--p2p-type-body);line-height:var(--p2p-leading-body)}
.p2p-matrix.mx-thermal{margin-top:76px;padding-top:40px;border-top:1px solid var(--mx-line);scroll-margin-top:60px}
.p2p-matrix .mx-thermal-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:44px}
.p2p-matrix .mx-thermal .mx-intro h2,.p2p-matrix.mx-thermal .mx-intro h2{font-size:var(--p2p-type-module);line-height:var(--p2p-leading-heading)}
.p2p-matrix.mx-thermal .mx-intro>p{font-size:var(--p2p-type-lead);line-height:var(--p2p-leading-copy)}
.p2p-matrix.mx-thermal .mx-eyebrow{font-size:var(--p2p-type-label);margin-bottom:22px;line-height:var(--p2p-leading-copy)}
.p2p-matrix .mx-system{padding-left:35px;border-left:1px solid var(--mx-line)}
.p2p-matrix .mx-system-label{display:block;color:#278837;font-size:var(--p2p-type-note);letter-spacing:.04em;text-transform:uppercase;line-height:var(--p2p-leading-copy);margin-bottom:22px;font-weight:600}
.p2p-matrix .mx-system h3{font-size:var(--p2p-type-group);line-height:var(--p2p-leading-heading);letter-spacing:-.045em;margin-bottom:18px}
.p2p-matrix .mx-system>p{font-size:var(--p2p-type-detail);line-height:var(--p2p-leading-copy);margin-bottom:22px;max-width:28ch}
.p2p-matrix .mx-system ul{list-style:none;margin:0;padding:0}
.p2p-matrix .mx-system li{position:relative;padding:9px 0 9px 13px;font-size:var(--p2p-type-compact);line-height:var(--p2p-leading-compact);color:#515d54;border-top:1px solid #e6ebe6}
.p2p-matrix .mx-system li::before{content:'·';position:absolute;left:0;color:#278837;font-size:18px;line-height:1.1}
.p2p-matrix .mx-program{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--mx-line);margin-top:38px;padding-top:22px;align-items:center}
.p2p-matrix .mx-program>span{font-size:var(--p2p-type-detail);color:#68716a;line-height:var(--p2p-leading-copy)}
.p2p-matrix .mx-program p{font-size:var(--p2p-type-body);color:#334838;line-height:var(--p2p-leading-compact)}
.p2p-matrix .mx-program p>span{padding:0 20px;color:#278837}
/* Preserve the supplied mark and its alpha. Only About uses black CHEMICALS. */
img[src="images/p2p/v4/p2p-logo-new.png"]{background-color:transparent!important;object-fit:contain}
.p2p-about-logo-art{display:block;position:relative;width:100%;max-width:520px;margin:0 auto}
.p2p-about-logo-art img{clip-path:inset(0 0 15.22872% 0)}
.p2p-about-logo-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:#111;clip-path:inset(84.77128% 0 0 0);-webkit-mask:url('../images/p2p/v4/p2p-logo-new.png') center/100% 100% no-repeat;mask:url('../images/p2p/v4/p2p-logo-new.png') center/100% 100% no-repeat}
@media(max-width:1199px){
 .p2p-matrix .mx-split{gap:55px}
 .p2p-matrix .mx-service{gap:15px}
 .p2p-matrix .mx-service h3{font-size:var(--p2p-type-feature);line-height:var(--p2p-leading-heading)}
 .p2p-matrix .mx-chemistry{grid-template-columns:1fr 1fr 1fr;gap:25px;padding:30px}
 .p2p-matrix .mx-chemistry-intro{grid-column:1/-1}
 .p2p-matrix .mx-chemistry>div:nth-child(2){padding-left:0;border-left:0}
 .p2p-matrix .mx-treatment-groups{gap:60px}
 .p2p-matrix .mx-thermal-grid{gap:28px}
 .p2p-matrix .mx-system{padding-left:25px}
 .p2p-matrix .mx-explore{gap:25px}
 .p2p-matrix .mx-explore>a{font-size:var(--p2p-type-feature);line-height:var(--p2p-leading-heading)}
}
@media(max-width:991px){
 .p2p-matrix.mx-services-section{padding-top:75px}
 .p2p-matrix.mx-dust-section{padding-top:80px}
 .p2p-matrix .mx-split{grid-template-columns:1fr;gap:40px}
 .p2p-matrix .mx-intro h2{font-size:var(--p2p-type-split);max-width:600px;line-height:var(--p2p-leading-split)}
 .p2p-matrix .mx-intro>p{max-width:58ch}
 .p2p-matrix .mx-service-list{display:grid;grid-template-columns:1fr 1fr;column-gap:38px}
 .p2p-matrix .mx-service:first-child{border-top:1px solid var(--mx-line);padding-top:26px}
 .p2p-matrix .mx-service{grid-template-columns:24px 1fr;gap:15px}
 .p2p-matrix .mx-service>.mx-arrow{display:none}
 .p2p-matrix .mx-icon{width:23px;height:23px}
 .p2p-matrix .mx-service h3{font-size:var(--p2p-type-feature);line-height:var(--p2p-leading-heading)}
 .p2p-matrix .mx-service p{font-size:var(--p2p-type-compact);line-height:var(--p2p-leading-compact)}
 .p2p-matrix .mx-explore{grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:28px}
 .p2p-matrix .mx-explore>span{grid-column:1/-1;max-width:none}
 .p2p-matrix .mx-chemistry{margin-top:45px}
 .p2p-matrix .mx-module-heading{gap:40px}
 .p2p-matrix .mx-module-heading h2{font-size:var(--p2p-type-module);line-height:var(--p2p-leading-heading)}
 .p2p-matrix .mx-treatment-groups{gap:40px}
 .p2p-matrix .mx-thermal-grid{grid-template-columns:1fr 1fr;gap:35px}
 .p2p-matrix .mx-thermal-grid>.mx-intro{grid-column:1/-1}
 .p2p-matrix .mx-system{padding-left:0;border-left:0;border-top:1px solid var(--mx-line);padding-top:27px}
 .p2p-matrix .mx-system h3 br{display:none}
 .p2p-matrix .mx-system h3{font-size:var(--p2p-type-group);line-height:var(--p2p-leading-heading)}
 .p2p-matrix .mx-system>p{max-width:36ch}
 .p2p-matrix .mx-program{flex-direction:column;align-items:start;gap:10px}
}
@media(max-width:575px){
 .p2p-matrix.mx-services-section{padding-top:58px}
 .p2p-matrix.mx-dust-section{padding-top:65px}
 .p2p-matrix .mx-intro h2{font-size:var(--p2p-type-split);letter-spacing:-.065em;line-height:var(--p2p-leading-split)}
 .p2p-matrix .mx-eyebrow{font-size:var(--p2p-type-label);margin-bottom:20px;line-height:var(--p2p-leading-copy)}
 .p2p-matrix .mx-intro>p{font-size:var(--p2p-type-lead);margin-bottom:22px;line-height:var(--p2p-leading-copy)}
 .p2p-matrix .mx-split{gap:34px}
 .p2p-matrix .mx-service-list{display:block}
 .p2p-matrix .mx-service{grid-template-columns:25px 1fr 18px;gap:15px;padding:22px 0}
 .p2p-matrix .mx-service>.mx-arrow{display:block;font-size:18px}
 .p2p-matrix .mx-service:first-child{padding-top:22px}
 .p2p-matrix .mx-explore{grid-template-columns:1fr;gap:0;padding:18px 0 9px;margin-top:22px}
 .p2p-matrix .mx-explore>span{margin-bottom:10px}
 .p2p-matrix .mx-explore>a{font-size:var(--p2p-type-feature);padding:10px 0;line-height:var(--p2p-leading-heading)}
 .p2p-matrix .mx-disclosure h3{font-size:var(--p2p-type-group);line-height:var(--p2p-leading-heading)}
 .p2p-matrix .mx-disclosure summary{padding:19px 0}
 .p2p-matrix .mx-disclosure-body{padding-right:15px}
 .p2p-matrix .mx-disclosure-body>p{font-size:var(--p2p-type-detail);line-height:var(--p2p-leading-copy)}
 .p2p-matrix .mx-chemistry{grid-template-columns:1fr;gap:23px;padding:28px 25px}
 .p2p-matrix .mx-chemistry>div+div{border-left:0;padding-left:0;border-top:1px solid #22773166;padding-top:20px}
 .p2p-matrix .mx-chemistry>div:nth-child(2){border-top:1px solid #22773166}
 .p2p-matrix .mx-chemistry h4{margin-bottom:5px}
 .p2p-matrix .mx-chemistry p{font-size:var(--p2p-type-panel);line-height:var(--p2p-leading-copy)}
 .p2p-matrix.mx-water-applications{margin-top:48px;padding-top:28px}
 .p2p-matrix .mx-module-heading{grid-template-columns:1fr;gap:17px;margin-bottom:30px}
 .p2p-matrix .mx-module-heading h2{font-size:var(--p2p-type-module);line-height:var(--p2p-leading-heading)}
 .p2p-matrix .mx-treatment-groups{grid-template-columns:1fr;gap:30px}
 .p2p-matrix .mx-treatment-group>h3{font-size:var(--p2p-type-group);margin-bottom:21px;line-height:var(--p2p-leading-heading)}
 .p2p-matrix .mx-treatment p{font-size:var(--p2p-type-body);line-height:var(--p2p-leading-body)}
 .p2p-matrix.mx-thermal{margin-top:48px;padding-top:30px}
 .p2p-matrix .mx-thermal-grid{grid-template-columns:1fr;gap:30px}
 .p2p-matrix.mx-thermal .mx-intro h2{font-size:var(--p2p-type-module);line-height:var(--p2p-leading-heading)}
 .p2p-matrix .mx-system h3{font-size:var(--p2p-type-group);line-height:var(--p2p-leading-heading)}
 .p2p-matrix .mx-system-label{margin-bottom:15px}
 .p2p-matrix .mx-system>p{margin-bottom:18px}
 .p2p-matrix .mx-system li{font-size:var(--p2p-type-compact);line-height:var(--p2p-leading-compact)}
 .p2p-matrix .mx-program p{font-size:var(--p2p-type-detail);line-height:var(--p2p-leading-compact)}
 .p2p-matrix .mx-program p>span{padding:0 7px}
}
@media(prefers-reduced-motion:reduce){.p2p-matrix *{transition:none!important}}
