/* Rispri solution system: editorial scale, shared spacing, quiet surfaces. */
body.solution-page { --sol-ink:#123238; --sol-muted:#526761; --sol-teal:#006b67; --sol-paper:#f7f8f2; --sol-line:#d9e2d9; --sol-accent:#bfe8cc; background:var(--sol-paper); color:var(--sol-ink); font-family:Inter,Arial,sans-serif; }
.solution-page .page-main,.solution-page .water-softener-page { padding-top:0!important; }
.solution-page .sol-shell,.solution-page .sol-content-width { width:min(1280px,calc(100% - 96px)); max-width:1280px; margin-inline:auto; }
.solution-page .sol-hero { background:#f7f8f2; margin:0; padding:0 0 56px; position:relative; overflow:hidden; }
.sol-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:11px; color:#6a7e75; font-size:11px; padding:24px 0 35px; }
.sol-breadcrumb a { color:#52675d; text-decoration:none; }
.sol-breadcrumb a:hover { color:#006b67; }
.sol-breadcrumb > span:last-child { color:#123238; }
.sol-hero-grid { display:grid; grid-template-columns:1.08fr 1fr; gap:56px; align-items:stretch; }
.sol-hero-copy { padding:28px 0 0; display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.solution-page .sol-eyebrow { display:flex; gap:10px; align-items:center; margin:0 0 27px; font:600 10px/1.5 Inter,Arial,sans-serif; letter-spacing:1.8px; color:#476960; }
.sol-eyebrow > span { width:7px; height:7px; background:#21876f; border-radius:50%; }
.solution-page .sol-hero h1 { font-family:Archivo,Inter,Arial,sans-serif; font-size:clamp(40px,4.65vw,67px); font-weight:500; line-height:1.04; letter-spacing:-3px; color:#123238; margin:0 0 28px; max-width:none; text-transform:none; }
.solution-page .sol-hero h1 em { font-family:Georgia,'Times New Roman',serif; color:#08766c; font-weight:400; letter-spacing:-2.5px; }
.solution-page .sol-hero-desc { font-size:15px; line-height:1.85; color:#526761; margin:0; max-width:510px; }
.sol-actions { display:flex; align-items:center; flex-wrap:wrap; gap:21px; margin-top:32px; }
.solution-page .sol-button { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; padding:16px 20px; color:#fff; background:#123238; border:1px solid #123238; border-radius:2px; text-decoration:none; font-size:12px; font-weight:600; line-height:1.5; transition:background .2s; }
.solution-page .sol-button span { font-size:20px; line-height:1; color:#bfe8cc; }
.solution-page .sol-button:hover { background:#006b67; border-color:#006b67; }
.solution-page .sol-text-link { color:#123238; text-decoration:none; font-size:11px; font-weight:600; line-height:1.7; border-bottom:1px solid #91a99c; padding:7px 0; }
.sol-text-link span { margin-left:8px; }
.sol-hero-foot { margin-top:auto; padding-top:42px; display:flex; flex-wrap:wrap; gap:18px; align-items:center; font-size:10px; color:#63786f; }
.sol-hero-foot span:first-child { letter-spacing:1.2px; font-size:8px; font-weight:700; }
.sol-hero-foot span+span { border-left:1px solid #c9d6ca; padding-left:18px; }
.sol-hero-visual { margin:0; position:relative; min-height:470px; background:#e4ece0; overflow:hidden; border-radius:2px 2px 64px 2px; }
.sol-hero-visual > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sol-hero-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#082c2610 45%,#082c26c0); pointer-events:none; }
.sol-image-index { position:absolute; z-index:1; top:24px; right:24px; width:64px; height:64px; border:1px solid #ffffff80; border-radius:50%; color:white; display:flex; align-items:center; justify-content:center; gap:3px; font-size:20px; background:#12323840; backdrop-filter:blur(5px); }
.sol-image-index span { font-size:8px; opacity:.8; }
.sol-hero-visual figcaption { position:absolute; z-index:1; bottom:24px; left:27px; right:35px; display:flex; align-items:center; justify-content:space-between; font-size:12px; font-weight:500; color:white; }
.sol-hero-visual figcaption > span:last-child { font-size:25px; }
.sol-hero-visual--product > img { object-fit:contain; padding:28px; }
.sol-hero-visual--product { background:radial-gradient(ellipse at center,#fff,#dde8d9); }
.sol-hero-visual--product::after { background:linear-gradient(transparent 75%,#12323888); }
.sol-index { background:#123238; border:0; margin:0; padding:0; }
.sol-index .sol-shell { display:flex; align-items:center; gap:25px; overflow-x:auto; scrollbar-width:thin; padding:0; }
.sol-index-label { font-size:8px; font-weight:700; letter-spacing:1.5px; color:#b5cec1; padding-right:16px; border-right:1px solid #ffffff30; white-space:nowrap; }
.sol-index a { color:#edf4ed; font:500 11px/1.5 Inter,Arial,sans-serif; padding:22px 0; text-decoration:none; white-space:nowrap; border-bottom:2px solid transparent; }
.sol-index a:hover,.sol-index a:focus-visible { color:#bfe8cc; border-bottom-color:#bfe8cc; }
.solution-page section[id] { scroll-margin-top:105px; }
.solution-page .sol-section { padding:88px 0!important; background:#fff; color:#123238; border-bottom:1px solid #dce5dc; }
.solution-page .sol-section--tint { background:#f1f4ed!important; }
.solution-page .sol-section--dark { background:#123238!important; color:#e1ebe5; border-color:#ffffff20; }
.solution-page .sol-heading, .solution-page .section-header h2 { font-family:Archivo,Inter,Arial,sans-serif!important; font-size:clamp(28px,3.2vw,44px)!important; line-height:1.15!important; letter-spacing:-1.5px!important; font-weight:500!important; text-transform:none!important; color:inherit; }
.solution-page .sol-kicker { font-family:Inter,Arial,sans-serif!important; font-size:10px!important; line-height:1.6; letter-spacing:1.7px!important; font-weight:600!important; color:#397968; }
.solution-page .sol-section--dark .sol-kicker { color:#bfe8cc!important; }
.solution-page .sol-section--dark .sol-heading { color:#fff!important; }
.solution-page [class$='-sec-desc'], .solution-page .section-header p { font-size:15px; line-height:1.85; max-width:690px; }
.solution-page .sol-card { border-radius:4px!important; box-shadow:none!important; border:1px solid #d5e0d7; transition:transform .25s,border-color .25s!important; }
.solution-page .sol-card:hover { transform:translateY(-3px)!important; border-color:#81b2a0!important; box-shadow:none!important; }
.solution-page .sol-card h3 { font-family:Archivo,Inter,Arial,sans-serif; font-weight:500; letter-spacing:-.6px; }
.solution-page .sol-card p { line-height:1.8; }
.solution-page .sol-table-wrap { border-radius:4px; overflow:auto; border-color:#d5e0d7; box-shadow:none; }
.solution-page .sol-table-wrap table { font-size:13px; line-height:1.7; }
.solution-page .sol-table-wrap th { background:#123238; color:#fff; padding:18px 20px; font-weight:600; }
.solution-page .sol-table-wrap td { padding:16px 20px; }
.solution-page :is(.ez-btn,.pc-btn,.bg-btn,.sw-btn,.ch-btn,.ep-btn,.ws-btn,.btn,.ind-btn) { border-radius:2px!important; font-family:Inter,Arial,sans-serif!important; font-size:12px!important; text-transform:none!important; letter-spacing:0!important; box-shadow:none!important; }
.solution-page :is(.ez-btn--primary,.pc-btn--primary,.bg-btn--primary,.sw-btn--primary,.ch-btn--primary,.ep-btn--primary,.btn-primary,.btn-orange) { background:#006b67!important; color:white!important; border-color:#006b67!important; }
.solution-page :is(.ez-stat-cell__n,.pc-stat-cell__n,.bg-stat-cell__n,.sw-stat-cell__n,.ep-stat-cell__n) { font-weight:500; letter-spacing:-1.5px; }
.solution-page :is(.ez-anchor-bar,.pc-anchor-bar,.bg-anchor-bar,.sw-anchor-bar,.ch-anchor-bar,.ep-anchor-bar,.ez-nav,.pc-nav,.bg-nav,.sw-nav,.ep-nav) { display:none!important; }
.solution-page .reveal { opacity:1; transform:none; }
.solution-page :is(.ws-intro,.ws-flow,.ws-applications,.ws-dealer,.ws-specs,.ws-details) { padding-block:88px; }
.solution-page .ws-shell { width:min(1280px,calc(100% - 96px)); }
.solution-page :focus-visible { outline:2px solid #3caa94; outline-offset:4px; }
@media (max-width:1000px) {
 .solution-page .sol-shell,.solution-page .sol-content-width,.solution-page .ws-shell { width:calc(100% - 48px); }
 .sol-hero-grid { gap:30px; }
 .solution-page .sol-hero h1 { font-size:46px; letter-spacing:-2px; }
 .sol-hero-visual { min-height:460px; }
 .sol-actions { gap:12px; }
 .sol-hero-foot { gap:8px; }
 .solution-page .sol-section { padding:64px 0!important; }
}
@media (max-width:700px) {
 .solution-page .sol-shell,.solution-page .sol-content-width,.solution-page .ws-shell { width:calc(100% - 40px); }
 .sol-breadcrumb { padding:18px 0 24px; font-size:9px; gap:8px; }
 .sol-hero-grid { grid-template-columns:1fr; gap:30px; }
 .sol-hero-copy { padding:10px 0 0; }
 .solution-page .sol-eyebrow { margin-bottom:20px; }
 .solution-page .sol-hero h1 { font-size:clamp(38px,9.8vw,55px); letter-spacing:-1.8px; margin-bottom:22px; }
 .solution-page .sol-hero h1 em { letter-spacing:-1.8px; }
 .solution-page .sol-hero-desc { font-size:14px; }
 .sol-hero-foot { padding-top:28px; }
 .sol-hero-visual { min-height:340px; border-bottom-right-radius:48px; }
 .solution-page .sol-hero { padding-bottom:30px; }
 .sol-index .sol-shell { gap:22px; }
 .sol-index-label { display:none; }
 .sol-index a { padding:18px 0; }
 .solution-page .sol-section { padding:54px 0!important; }
 .solution-page .sol-heading,.solution-page .section-header h2 { font-size:29px!important; letter-spacing:-1px!important; }
 .solution-page :is(.ws-intro,.ws-flow,.ws-applications,.ws-dealer,.ws-specs,.ws-details) { padding-block:54px; }
}
@media (prefers-reduced-motion:reduce) { .solution-page *, .solution-page *::before { scroll-behavior:auto!important; transition:none!important; } }

/* Bring legacy service components onto the same palette with rigorous contrast. */
.solution-page [data-reveal] { opacity:1!important; transform:none!important; }
.solution-page :is(.ez-stats-strip,.pc-stats-strip,.bg-stats-strip,.sw-stats-strip,.ep-stats-strip,.stats-strip) { background:#eaf0e7; color:#123238; border-bottom:1px solid #d9e2d9; }
.solution-page :is(.ez-stats-strip__inner,.pc-stats-strip__inner,.bg-stats-strip__inner,.sw-stats-strip__inner,.ep-stats-strip__inner) { background:transparent; }
.solution-page :is(.ez-stat-cell,.pc-stat-cell,.bg-stat-cell,.sw-stat-cell,.ep-stat-cell) { background:transparent; border-color:#cfdbd0; }
.solution-page :is(.ez-stat-cell__n,.pc-stat-cell__n,.bg-stat-cell__n,.sw-stat-cell__n,.ep-stat-cell__n,.stat-number) { color:#123238; }
.solution-page :is(.ez-stat-cell__l,.pc-stat-cell__l,.bg-stat-cell__l,.sw-stat-cell__l,.ep-stat-cell__l,.stat-label) { color:#526761; }
.solution-page :is(.ez-stat-cell__u,.pc-stat-cell__u,.bg-stat-cell__u,.sw-stat-cell__u,.ep-stat-cell__u) { color:#006b67; }
.solution-page :is(.ez-bento-cell--dark,.pc-bento-cell--dark,.bg-bento-cell--dark,.sw-bento-cell--dark,.ep-bento-cell--dark) { background:#173e42; border-color:#45645f; }
.solution-page :is(.ez-bento-cell--teal,.pc-bento-cell--teal,.bg-bento-cell--teal,.sw-bento-cell--teal,.ep-bento-cell--teal) { background:#235c54; border-color:#527e6e; }

/* Section numbers: High-contrast dark on light, luminous mint on dark */
.solution-page :is(.ez-sec-num,.pc-sec-num,.bg-sec-num,.sw-sec-num,.ep-sec-num) {
  font-family: Archivo, Inter, Arial, sans-serif;
  font-weight: 600;
  font-size: 54px;
  letter-spacing: -3px;
  margin-bottom: 12px;
  line-height: 1;
  color: #2b564c !important;
}
.solution-page :is(.sol-section--dark,.ez-section--dark,.pc-section--dark,.bg-section--dark,.sw-section--dark,.ep-section--dark,.ch-section--dark,.pc-fullbleed) :is(.ez-sec-num,.pc-sec-num,.bg-sec-num,.sw-sec-num,.ep-sec-num),
.solution-page :is(.ez-sec-num--dark,.pc-sec-num--dark,.bg-sec-num--dark,.sw-sec-num--dark,.ep-sec-num--dark) {
  color: #a3dbbf !important;
}

.solution-page :is(.ez-sec-head,.pc-sec-head,.bg-sec-head,.sw-sec-head,.ch-sec-head,.ep-sec-head) { margin-bottom:42px; }
.solution-page :is(.ez-faq-item,.pc-accordion-item,.bg-faq-item,.sw-faq-item,.ep-faq-item) { border-radius:2px; border-color:#d9e2d9; box-shadow:none; }

/* Hero visual captions and badges: always clear, protected by dark translucent backplate */
.solution-page .sol-hero-visual figcaption {
  position: absolute;
  z-index: 2;
  bottom: 24px;
  left: 24px;
  right: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 600;
  color: #ffffff !important;
  background: rgba(18, 50, 56, 0.9) !important;
  backdrop-filter: blur(10px);
  padding: 10px 18px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.15);
}
.solution-page .sol-hero-visual figcaption > span:last-child {
  font-size: 20px;
  line-height: 1;
  color: #bfe8cc !important;
}
.solution-page .sol-hero-visual--product figcaption {
  background: #123238 !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.2);
}
.solution-page .sol-image-index {
  position: absolute;
  z-index: 2;
  top: 24px;
  right: 24px;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  color: #ffffff !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  font-size: 18px;
  font-weight: 600;
  background: rgba(18, 50, 56, 0.9) !important;
  backdrop-filter: blur(8px);
}
.solution-page .sol-image-index span {
  font-size: 9px;
  color: #bfe8cc !important;
  font-weight: 500;
}
.solution-page .sol-hero-visual--product .sol-image-index {
  background: #123238 !important;
  border-color: #385d54 !important;
}

/* Chemical Catalog Section & Cards (Dark mode) */
.solution-page .ch-section--dark {
  background: #123238 !important;
  color: #e1ebe5 !important;
}
.solution-page .ch-section--dark .ch-sec-title {
  color: #ffffff !important;
}
.solution-page .ch-section--dark .ch-sec-desc {
  color: #c7dcd4 !important;
}
.solution-page .chem-card {
  background: #173e42 !important;
  border: 1px solid #335e58 !important;
  color: #e1ebe5 !important;
  border-radius: 4px !important;
  padding: 1.6rem;
  box-shadow: none !important;
}
.solution-page .chem-card:hover {
  border-color: #5ea893 !important;
  transform: translateY(-3px) !important;
}
.solution-page .chem-code {
  color: #bfe8cc !important;
  background: rgba(191, 232, 204, 0.12) !important;
  border: 1px solid rgba(191, 232, 204, 0.25) !important;
  padding: 4px 8px;
  border-radius: 3px;
  font-weight: 700 !important;
  font-size: 11px;
  letter-spacing: 0.5px;
}
.solution-page .chem-cat-tag {
  color: #9cd4c2 !important;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
}
.solution-page .chem-name {
  color: #ffffff !important;
  font-family: Archivo, Inter, Arial, sans-serif;
  font-weight: 600;
  font-size: 1.15rem;
  margin: 0.75rem 0;
  line-height: 1.3;
}
.solution-page .chem-desc {
  color: #c7dcd4 !important;
  font-size: 13px;
  line-height: 1.65;
  margin-bottom: 1.25rem;
}
.solution-page .chem-meta-list {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-bottom: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 1rem;
}
.solution-page .chem-meta-item {
  color: #c7dcd4 !important;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.solution-page .chem-meta-item strong {
  color: #ffffff !important;
  font-weight: 600;
}
.solution-page .chem-meta-item span {
  color: #e1ebe5 !important;
  text-align: right;
}
.solution-page .chem-btn-sm--primary {
  background: #006b67 !important;
  color: #ffffff !important;
  border: 1px solid #006b67 !important;
  font-weight: 600 !important;
}
.solution-page .chem-btn-sm--primary:hover {
  background: #008782 !important;
  border-color: #008782 !important;
}
.solution-page .chem-btn-sm--outline {
  background: transparent !important;
  color: #bfe8cc !important;
  border: 1px solid #4a776c !important;
  font-weight: 600 !important;
}
.solution-page .chem-btn-sm--outline:hover {
  background: rgba(191, 232, 204, 0.12) !important;
  border-color: #bfe8cc !important;
  color: #ffffff !important;
}
.solution-page .chem-tab-btn {
  background: #14353a !important;
  color: #c8dbd5 !important;
  border: 1px solid #2d5550 !important;
}
.solution-page .chem-tab-btn:hover {
  color: #ffffff !important;
  border-color: #55877c !important;
}
.solution-page .chem-tab-btn.active {
  background: #006b67 !important;
  color: #ffffff !important;
  border-color: #006b67 !important;
}
.solution-page .chem-search-box {
  border: 1px solid #2d5550 !important;
  background: #14353a !important;
}
.solution-page .chem-search-input {
  background: transparent !important;
  color: #ffffff !important;
}
.solution-page .chem-search-input::placeholder {
  color: #8daea3 !important;
}
.solution-page .chem-search-icon {
  color: #8daea3 !important;
}
.solution-page .chem-card[hidden] { display:none!important; }
.solution-page .sol-filter-status { color:#bfe8cc; font-size:12px; margin:0 0 20px; }

/* Light Chemical sections & Matrix table */
.solution-page .ch-section--light :is(.ch-sec-desc,.chem-table td,.sw-faq-item p) { color:#526761!important; }
.solution-page .ch-section--light .sw-faq-item { background:#fff!important; border-color:#d9e2d9!important; }
.solution-page .ch-section--light .sw-faq-item h4 { color:#123238!important; }
.solution-page .ch-section--light .chem-table tbody tr:hover { background:#e3ece1; }
.solution-page .ch-section--light .chem-table td { border-color:#d9e2d9; }
.solution-page .chem-table td strong { color: #006b67 !important; font-weight: 700; }

/* ZLD Card and Featured Cards in RAM Chemicals */
.solution-page .rce-zld-card {
  background: #173e42 !important;
  border: 1px solid #335e58 !important;
  color: #ffffff !important;
}
.solution-page .rce-zld-card h3 {
  color: #ffffff !important;
}
.solution-page .rce-zld-card p {
  color: #c8dbd5 !important;
}
.solution-page .rce-zld-card .rce-feature-list li {
  color: #e1ebe5 !important;
}
.solution-page .rce-zld-card .rce-spec-item {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 4px;
  padding: 12px 16px;
}
.solution-page .rce-zld-card .rce-spec-label {
  color: #9cd4c2 !important;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.solution-page .rce-zld-card .rce-spec-val {
  color: #ffffff !important;
  font-weight: 600;
  font-size: 15px;
}
.solution-page .rce-zld-card .test-action {
  background: #006b67 !important;
  color: #ffffff !important;
  border-color: #006b67 !important;
}
.solution-page .rce-why-card--accent {
  background: #173e42 !important;
  border: 1px solid #335e58 !important;
}
.solution-page .rce-why-card--accent h3 {
  color: #ffffff !important;
}
.solution-page .rce-why-card--accent p {
  color: #c8dbd5 !important;
}
.solution-page .rce-why-card--accent .rce-why-num {
  color: rgba(255, 255, 255, 0.15) !important;
}

/* Stats strip in RAM chemicals & legacy pages */
.solution-page .stat-number {
  background-image: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: initial !important;
  color: #123238 !important;
}
.solution-page .stat-suffix {
  color: #006b67 !important;
}
.solution-page .sol-kicker,
.solution-page .overline {
  color: #216d5b !important;
}
.solution-page :is(.sol-section--dark,.ez-section--dark,.pc-section--dark,.bg-section--dark,.sw-section--dark,.ep-section--dark,.ch-section--dark,.pc-fullbleed,.ws-flow,.ws-dealer-card,.rce-zld-card,.chem-card,.ws-proof-card,.ws-app-card) :is(.sol-kicker,.overline,.ws-kicker,[class*="-sec-eyebrow--light"]) {
  color: #bfe8cc !important;
}

/* Contextual Pills & Tags: dark on light, light on dark */
.solution-page :is(.sol-section--dark,.ez-section--dark,.pc-section--dark,.bg-section--dark,.sw-section--dark,.ep-section--dark,.ch-section--dark,.pc-fullbleed,.ws-flow) :is(.ez-pill,.pc-pill) {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  color: #e1ebe5 !important;
}
.solution-page :is(.sol-section--dark,.ez-section--dark,.pc-section--dark,.bg-section--dark,.sw-section--dark,.ep-section--dark,.ch-section--dark,.pc-fullbleed,.ws-flow) :is(.ez-pill strong,.pc-pill strong) {
  color: #bfe8cc !important;
}
.solution-page :is(.sol-section:not(.sol-section--dark),.ez-section--white,.ez-section--light,.pc-section--white,.pc-section--light) :is(.ez-pill,.pc-pill) {
  background: #e6f3f5 !important;
  border-color: #bce3eb !important;
  color: #123238 !important;
}
.solution-page :is(.sol-section:not(.sol-section--dark),.ez-section--white,.ez-section--light,.pc-section--white,.pc-section--light) :is(.ez-pill strong,.pc-pill strong) {
  color: #006b67 !important;
}
.solution-page :is(.sol-section--dark,.ez-section--dark,.pc-section--dark,.bg-section--dark,.sw-section--dark,.ep-section--dark,.ch-section--dark,.pc-fullbleed,.ws-flow) :is(.ez-tag,.pc-tag) {
  background: rgba(163, 219, 191, 0.15) !important;
  color: #a3dbbf !important;
}
.solution-page :is(.sol-section:not(.sol-section--dark),.ez-section--white,.ez-section--light,.pc-section--white,.pc-section--light) :is(.ez-tag,.pc-tag) {
  background: #def2eb !important;
  color: #006b67 !important;
}

/* Pharma ranges */
.solution-page .rce-range-card { background:#fff; color:#123238; }
.solution-page .consult-card { background:#fff; color:#123238; }
.solution-page .rce-range-num,
.solution-page .rce-range-num span {
  color: #006b67 !important;
  font-weight: 700;
}

/* Water Conditioner page */
.solution-page .ws-intro,.solution-page .ws-applications { background:#f7f8f2; color:#123238; }
.solution-page .ws-title { color:#123238; }
.solution-page .ws-title em { color:#08766c; font-weight:400; }
.solution-page :is(.ws-intro-copy p,.ws-app-copy>p,.ws-spec-head p,.ws-benefit p,.ws-details-head>p,.ws-detail-card p) { color:#526761; }
.solution-page .ws-benefits { border-color:#cad9ce; margin-top:48px; }
.solution-page .ws-benefit { border-color:#cad9ce; }
.solution-page .ws-benefit h3 { color:#123238; font-weight:500; }
.solution-page .ws-benefit .ico { color:#08766c; }
.solution-page .ws-benefit .n { color: #385d54 !important; font-weight: 700; }
.solution-page .ws-claim-band { background:#eaf0e7; color:#123238; border-bottom:1px solid #d5e0d7; }
.solution-page .ws-claim-band p { color:#526761; }
.solution-page .ws-claims i { background:#b1c5b8; }
.solution-page .ws-flow { height:auto; padding:0; background:#123238; }
.solution-page .ws-flow-sticky { position:relative; top:auto; height:auto; min-height:0; padding:72px 0; background:#123238; gap:50px; }
.solution-page .ws-flow-sticky::before { opacity:.3; }
.solution-page .ws-flow-head .ws-title { color:#fff; }
.solution-page .ws-flow-head .ws-title em { color:#bfe8cc; }
.solution-page .ws-flow-head>p { color:#d4e2da; }
.solution-page .ws-flow .ws-kicker,
.solution-page .ws-flow-head .ws-kicker { color: #bfe8cc !important; }
.solution-page .ws-flow-stage { width:min(1280px,calc(100% - 96px)); margin:auto; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; overflow:visible; }
.solution-page .ws-flow-axis,.solution-page .ws-flow-instruction { display:none; }
.solution-page .ws-flow-node,.solution-page .ws-flow-node--conditioner { position:relative; inset:auto; width:auto; transform:none!important; opacity:1!important; filter:none!important; will-change:auto; }
.solution-page .ws-flow-node figure,.solution-page .ws-flow-node--conditioner figure { height:210px; border:1px solid #91ae9b; box-shadow:none; border-radius:2px; }
.solution-page .ws-flow-node--conditioner figure { background:#eaf0e7; border:2px solid #bfe8cc; }
.solution-page .ws-flow-caption span { color:#c7dcce!important; }
.solution-page .ws-app-card { background:#123238; border-radius:3px; }
.solution-page .ws-app-card::after { background:linear-gradient(90deg,#12323888,#123238e6 40%,#20544d); }
.solution-page .ws-proof { background:#f7f8f2; padding-bottom:80px; }
.solution-page .ws-proof-card {
  background: #123238 !important;
  border: 1px solid #335e58 !important;
  border-radius: 4px;
}
.solution-page .ws-proof-copy span { color: #bfe8cc !important; }
.solution-page .ws-proof-copy h3 { color: #ffffff !important; }
.solution-page .ws-proof-copy p { color: #c8dbd5 !important; }
.solution-page .ws-dealer { background:#fff; }
.solution-page .ws-dealer-card { background:#123238; }
.solution-page .ws-dealer h2 { color:white; }
.solution-page .ws-dealer h2 em { color:#bfe8cc; }
.solution-page .ws-dealer p:not(.ws-kicker),.solution-page .ws-dealer-points span { color:#c7dcce; }
.solution-page .ws-dealer .ws-kicker { color:#bfe8cc; }
.solution-page .ws-dealer .ws-btn { background:#bfe8cc; color:#123238; }
.solution-page .ws-specs { background:#eaf0e7; }
.solution-page .ws-spec-brand,.solution-page .ws-warranty { background:#123238; }
.solution-page .ws-spec-list b { color:#123238; }
.solution-page .ws-spec-list span { color:#4a5f61; font-weight:600; }
.solution-page .ws-detail-card .detail-no,.solution-page .ws-detail-card h3 { color:#006b67; }
.solution-page .ws-fit-strip { background:#eaf0e7; }
.solution-page .ws-comparison-head { background:#123238; }
.solution-page .ws-app-copy .ws-btn { background:#123238; color:white; }
.solution-page .ws-link { color:#006b67; }
.solution-page .dealer-modal { z-index:1100; }
.solution-page .dealer-dialog h2 { color:#123238; font-weight:500; }
.solution-page .dealer-submit { background:#123238; color:#fff; }
.solution-page .pc-accordion-body.open { max-height:none; }

.sol-endcap { padding:84px 0!important; background:#dcebdc!important; color:#123238; }
.sol-endcap-top { display:grid; grid-template-columns:1.3fr 1fr; align-items:end; gap:60px; padding-bottom:55px; border-bottom:1px solid #b7cdb9; }
.sol-endcap h2 { color:#123238!important; font:500 clamp(32px,3.8vw,52px)/1.1 Archivo,Inter,Arial,sans-serif!important; letter-spacing:-2px; margin:18px 0 0; }
.sol-endcap h2 em { font-family:Georgia,serif; font-weight:400; color:#006b67; }
.sol-endcap-copy p { color:#526761; font-size:14px; line-height:1.8; margin:0 0 24px; }
.sol-related { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding-top:27px; }
.sol-related a { display:flex; align-items:center; gap:20px; color:#123238; text-decoration:none; font-size:15px; }
.sol-related small { display:block; color:#526761; font-size:8px; letter-spacing:1.5px; margin-bottom:8px; }
.sol-related a > span:last-child { margin-left:auto; font-size:27px; }
.solution-page .mega-footer { background:#102c31; }
.solution-page .mega-footer .brand img { filter:brightness(0) invert(1); }
@media (max-width:1000px) { .solution-page .ws-flow-stage { width:calc(100% - 48px); gap:14px; } .solution-page .ws-flow-node figure,.solution-page .ws-flow-node--conditioner figure { height:160px; } }
@media (max-width:700px) {
 .solution-page .ws-flow-stage { width:calc(100% - 40px); grid-template-columns:1fr 1fr; gap:26px 16px; }
 .solution-page .ws-flow-node--conditioner { grid-column:1 / -1; max-width:230px; width:100%; justify-self:center; }
 .solution-page .ws-flow-node--conditioner figure { height:230px; }
 .solution-page .ws-flow-sticky { padding:54px 0; }
 .sol-endcap { padding:54px 0!important; }
 .sol-endcap-top { grid-template-columns:1fr; gap:28px; padding-bottom:35px; }
 .sol-related { grid-template-columns:1fr; gap:26px; }
}

body.solution-page {
--ez-ink:#123238; --ez-teal:#006b67; --ez-teal-d:#006b67; --ez-teal-b:#a3dbbf; --ez-paper:#f1f4ed; --ez-line:#d9e2d9;
--pc-ink:#123238; --pc-teal:#006b67; --pc-teal-d:#006b67; --pc-teal-b:#a3dbbf; --pc-paper:#f1f4ed; --pc-line:#d9e2d9;
--bg-ink:#123238; --bg-teal:#006b67; --bg-teal-d:#006b67; --bg-teal-b:#a3dbbf; --bg-paper:#f1f4ed; --bg-line:#d9e2d9;
--sw-ink:#123238; --sw-teal:#006b67; --sw-teal-d:#006b67; --sw-teal-b:#a3dbbf; --sw-paper:#f1f4ed; --sw-line:#d9e2d9;
--ch-ink:#123238; --ch-teal:#006b67; --ch-teal-d:#006b67; --ch-teal-b:#a3dbbf; --ch-paper:#f1f4ed; --ch-line:#d9e2d9;
--ep-ink:#123238; --ep-teal:#006b67; --ep-teal-d:#006b67; --ep-teal-b:#a3dbbf; --ep-paper:#f1f4ed; --ep-line:#d9e2d9;
}

/* Technical capability panels: restrained, consistent, and scan-friendly. */
.solution-page .bg-bento {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(191, 232, 204, .22);
  border-radius: 4px;
  background: rgba(191, 232, 204, .22);
}

.solution-page .bg-bento-cell,
.solution-page .bg-bento-cell--dark,
.solution-page .bg-bento-cell--teal {
  grid-column: span 4;
  min-height: 270px;
  padding: 30px;
  border: 0 !important;
  border-radius: 0 !important;
  background: #173e42 !important;
  color: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: none !important;
}

.solution-page .bg-bento-cell:nth-child(even) {
  background: #1e4a49 !important;
}

.solution-page .bg-bento-cell:hover {
  transform: none !important;
  background: #24544f !important;
}

.solution-page .bg-bento-cell__tag,
.solution-page .bg-bento-cell--dark .bg-bento-cell__tag,
.solution-page .bg-bento-cell--teal .bg-bento-cell__tag {
  margin: 0 0 auto;
  color: #bfe8cc !important;
  font-size: 9px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: 1.6px;
}

.solution-page .bg-bento-cell__num,
.solution-page .bg-bento-cell--dark .bg-bento-cell__num,
.solution-page .bg-bento-cell--teal .bg-bento-cell__num {
  display: block;
  max-width: 18ch;
  margin: 46px 0 14px;
  color: #fff !important;
  font-family: Archivo, Inter, Arial, sans-serif;
  font-size: clamp(23px, 2vw, 32px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -1px;
}

.solution-page .bg-bento-cell__title,
.solution-page .bg-bento-cell--dark .bg-bento-cell__title,
.solution-page .bg-bento-cell--teal .bg-bento-cell__title {
  margin: 0 0 12px;
  color: #dce9e2 !important;
  font-family: Inter, Arial, sans-serif;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: 0;
}

.solution-page .bg-bento-cell p,
.solution-page .bg-bento-cell[style] p {
  margin: 0 !important;
  color: #b9cbc5 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}

@media (min-width: 901px) {
  .solution-page .bg-bento-cell:nth-child(-n+2) { grid-column: span 6; }
}

@media (max-width: 900px) {
  .solution-page .bg-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .solution-page .bg-bento-cell,
  .solution-page .bg-bento-cell--dark,
  .solution-page .bg-bento-cell--teal { grid-column: auto; }
}

@media (max-width: 580px) {
  .solution-page .bg-bento { grid-template-columns: 1fr; }
  .solution-page .bg-bento-cell,
  .solution-page .bg-bento-cell--dark,
  .solution-page .bg-bento-cell--teal { min-height: 240px; }
}
