body:has(.solution-page) #main.wrap {
  max-width:none;
  width:100%;
  padding:0;
  margin:0
}
.solution-page {
  --sol-ink:#202529;
  --sol-paper:#fff;
  --sol-muted:#59636a;
  color:var(--sol-ink);
  background:var(--sol-paper);
  font-family:Onest,Arial,sans-serif
}
.solution-page * {
  box-sizing:border-box
}
.solution-page h1,.solution-page h2,.solution-page h3,.solution-page p,.solution-page figure {
  margin:0
}
.solution-page h1 {
  font-size:clamp(40px,4.1vw,66px);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:650
}
.solution-page h2 {
  font-size:clamp(30px,3vw,43px);
  line-height:1.12;
  letter-spacing:-.035em;
  font-weight:600
}
.solution-page h3 {
  font-size:23px;
  line-height:1.25;
  letter-spacing:-.02em
}
.solution-page p {
  font-size:16px;
  line-height:1.65
}
.solution-page a {
  color:inherit
}
.sol-width {
  max-width:1280px;
  padding-inline:48px;
  margin-inline:auto
}
.sol-review {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 48px;
  background:#f2f3f2;
  color:#546068;
  font-size:12px
}
.sol-review a {
  text-decoration:underline;
  text-underline-offset:3px;
  padding:8px 0
}
.sol-kicker {
  font-size:11px!important;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#d51e2b;
  margin-bottom:16px!important
}
.sol-topic {
  font-size:14px!important;
  margin-bottom:18px!important
}
.sol-hero {
  display:grid;
  grid-template-columns:46% 54%;
  position:relative;
  min-height:540px;
  background:#eeeae2
}
.sol-hero-copy {
  padding:52px max(36px,calc((100vw - 1184px)/2));
  padding-right:30px;
  z-index:1;
  align-self:center
}
.sol-intro {
  max-width:530px;
  margin-top:24px!important
}
.sol-hero-actions {
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  margin-top:30px
}
.sol-action {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:16px 22px;
  background:#d51e2b;
  color:#fff!important;
  text-decoration:none;
  border:1px solid #d51e2b;
  min-height:50px;
  font-size:14px;
  font-weight:600
}
.sol-action:hover {
  background:#b81523
}
.sol-action-secondary {
  background:transparent;
  border-color:#aab1b5;
  color:inherit!important;
  margin-top:28px
}
.sol-action-secondary:hover {
  background:#edf0ed
}
.sol-hero-actions>a:not(.sol-action) {
  font-size:14px;
  text-underline-offset:5px
}
.sol-hero-photo {
  position:relative;
  min-width:0;
  min-height:470px
}
.sol-hero-photo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0
}
.sol-hero-photo figcaption {
  position:absolute;
  bottom:16px;
  right:18px;
  font-size:10px;
  background:rgba(255,255,255,.9);
  padding:5px 9px;
  color:#333
}
.sol-hero-foot {
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  padding:16px 48px;
  border-top:1px solid #c6c4be;
  font-size:12px;
  gap:20px
}
.sol-lead {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  padding-block:74px
}
.sol-lead p {
  padding-top:4px;
  color:var(--sol-muted);
  font-size:18px
}
.sol-section-heading {
  max-width:730px;
  margin-bottom:34px
}
.sol-section-heading>p:last-child:not(.sol-kicker) {
  margin-top:18px;
  color:var(--sol-muted)
}
.sol-zones {
  padding-block:50px 76px
}
.sol-zones-layout {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:54px;
  align-items:center
}
.sol-plan-wrap {
  background:#f1f4f2;
  padding:15px 20px
}
.sol-plan-wrap>p {
  font-size:11px;
  text-align:center;
  color:var(--sol-muted);
  padding-bottom:12px
}
.sol-plan {
  display:block;
  width:100%;
  height:auto;
  max-height:350px
}
.sol-plan-lines {
  stroke:#8c9b95;
  stroke-width:2;
  fill:none
}
.sol-building {
  fill:#fff
}
.sol-plot {
  fill:#e6ede5
}
.sol-fixtures {
  fill:#d8e2df;
  stroke:#b2c0bb
}
.sol-plan-point circle {
  fill:#667e74;
  stroke:#fff;
  stroke-width:2
}
.sol-plan-point .sol-plan-halo {
  fill:#819d8c;
  opacity:.09;
  stroke:none
}
.sol-plan-point text {
  fill:#fff;
  font-size:15px;
  font-family:Arial,sans-serif;
  font-weight:700
}
.sol-plan-point.is-active circle {
  fill:#d51e2b
}
.sol-plan-point.is-active .sol-plan-halo {
  fill:#d51e2b;
  opacity:.12
}
.sol-zone-buttons:not([hidden]) {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:30px
}
.sol-zone-buttons button {
  font:inherit;
  font-size:13px;
  text-align:left;
  background:none;
  border:1px solid #c6ceca;
  color:var(--sol-ink);
  padding:12px;
  min-height:48px;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px
}
.sol-zone-buttons button span {
  font-weight:600;
  color:#718178
}
.sol-zone-buttons button[aria-pressed=true] {
  border-color:#d51e2b;
  background:#fff2f1
}
.sol-zone-buttons button[aria-pressed=true] span {
  color:#d51e2b
}
.sol-zone-name {
  color:#d51e2b;
  font-size:12px!important;
  margin-bottom:12px!important
}
.sol-zone-panels article p:last-child {
  margin-top:18px;
  color:var(--sol-muted)
}
.sol-zone-panels article+article {
  margin-top:24px
}
.sol-zone-panels article[hidden] {
  display:none
}
.sol-zone-panels:has(article[hidden]) article {
  margin-top:0
}
.sol-story {
  background:#edf0ec;
  padding-block:72px
}
.sol-story-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px
}
.sol-story-layout>div>p:not(.sol-kicker) {
  margin-top:24px;
  color:var(--sol-muted)
}
.sol-story ol {
  margin:0;
  padding:0;
  list-style:none
}
.sol-story li {
  display:flex;
  gap:22px;
  padding:22px 0;
  border-top:1px solid #c8d0c8
}
.sol-story li p {
  margin-top:9px;
  color:var(--sol-muted);
  font-size:14px
}
.sol-number {
  font-size:12px;
  color:#d51e2b;
  letter-spacing:.08em;
  padding-top:5px
}
.sol-equipment {
  padding-block:80px
}
.sol-equipment-list {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px
}
.sol-equipment-list>article {
  border-top:2px solid #202529;
  padding-top:20px;
  display:flex;
  flex-direction:column;
  align-items:start
}
.sol-equipment-role h3 {
  margin-top:12px
}
.sol-equipment-role p {
  color:var(--sol-muted);
  font-size:14px;
  margin-top:12px
}
.sol-product {
  display:grid;
  width:100%;
  gap:10px;
  margin:26px 0;
  text-decoration:none;
  font-size:14px
}
.sol-product img {
  width:100%;
  height:170px;
  object-fit:contain;
  background:white
}
.sol-product strong {
  font-size:20px
}
.sol-product-link {
  font-size:12px;
  text-decoration:underline;
  text-underline-offset:4px
}
.sol-text-link {
  display:inline-block;
  font-size:13px;
  text-decoration:underline;
  text-underline-offset:5px;
  padding:14px 0
}
.sol-equipment-list>article>.sol-text-link {
  margin-top:auto
}
.sol-questions {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:70px;
  padding-block:35px 80px
}
.sol-questions details {
  border-top:1px solid #cbd0cc;
  padding:20px 0
}
.sol-questions summary {
  font-size:17px;
  cursor:pointer;
  line-height:1.5;
  padding-right:12px
}
.sol-questions details p {
  margin-top:16px;
  color:var(--sol-muted);
  font-size:14px
}
.sol-closing {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:60px;
  border-top:1px solid #cbd0cc;
  padding-block:45px 80px;
  align-items:center
}
.sol-closing p {
  margin-top:18px;
  color:var(--sol-muted)
}
.sol-closing>div:last-child {
  display:flex;
  flex-direction:column;
  align-items:start
}
.solution-page :focus-visible {
  outline:3px solid #256bc2;
  outline-offset:4px
}
.sol-index {
  padding-block:60px 90px
}
.sol-index h1 {
  max-width:850px
}
.sol-index>p {
  max-width:760px;
  margin-top:24px
}
.sol-index-list {
  margin-top:50px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px
}
.sol-index-list>a {
  display:grid;
  grid-template-columns:180px 1fr;
  gap:24px;
  text-decoration:none;
  border-top:1px solid #bdc7c2;
  padding-top:20px;
  align-items:center
}
.sol-index-list img {
  width:180px;
  height:120px;
  object-fit:cover
}
.sol-index-list h2 {
  font-size:25px
}
.sol-index-list p {
  font-size:12px;
  color:var(--sol-muted);
  margin-top:12px
}
.sol-index-list>a {
  position:relative;
  padding-right:22px
}
.sol-index-arrow {
  position:absolute;
  right:0;
  top:25px
}
.sol-product img[hidden] {
  display:none
}
.solution-page h1,.solution-page h2,.solution-page h3 {
  overflow-wrap:anywhere
}
.sol-action {
  max-width:100%;
  overflow-wrap:anywhere
}
.sol-index-list>a>div {
  min-width:0
}
