.elementor-14367 .elementor-element.elementor-element-dcfe037{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14367 .elementor-element.elementor-element-c52f7c0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14367 .elementor-element.elementor-element-d1936d1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14367 .elementor-element.elementor-element-ace14f1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-14367 .elementor-element.elementor-element-6eeaa70{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-14367 .elementor-element.elementor-element-6eeaa70 .elementor-divider-separator{width:100%;}.elementor-14367 .elementor-element.elementor-element-6eeaa70 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-14367 .elementor-element.elementor-element-36c0186{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14367 .elementor-element.elementor-element-a484e2f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}}@media(max-width:767px){.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );}}/* Start custom CSS for html, class: .elementor-element-926619b */.pw-intro {
  padding: 40px 0 32px;
  background: #f7fbff; /* light band for visual separation */
}

.pw-intro-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: center;
}

.pw-intro-copy {
  flex: 1 1 260px;
}

.pw-intro-visual {
  flex: 0 0 260px;
  text-align: center;
}

.pw-intro-visual img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 8px;
}

.pw-intro-caption {
  font-size: 0.85rem;
  color: #4b6478;
  margin: 0;
}

.pw-intro h2 {
  margin-top: 0;
  margin-bottom: 12px;
}

.pw-intro p {
  margin-bottom: 12px;
}

.pw-intro-note {
  font-size: 0.9rem;
  color: #4b6478;
}

/* step pills */

.pw-steps-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 12px 0 8px;
}

.pw-step-pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: #f0f7fb;
  border: 1px solid #d0e4f2;
  font-size: 0.9rem;
  color: #17476b;
}

.pw-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #17476b;
  color: #ffffff;
  font-size: 0.8rem;
  margin-right: 8px;
}

.pw-step-label {
  white-space: nowrap;
}

/* responsive */

@media (max-width: 768px) {
  .pw-intro-inner {
    flex-direction: column;
  }
  .pw-intro-visual {
    order: -1; /* optional: show visual above text on mobile */
  }
  .pw-step-pill {
    padding: 6px 10px;
    font-size: 0.8rem;
  }
}
/* Intro section tightening */
.pw-intro {
  margin-bottom: 24px; /* was likely ~32–40px */
}

.pw-intro h2 {
  margin-bottom: 8px;  /* reduce space under headline */
}

.pw-intro p {
  margin-top: 8px;
  margin-bottom: 8px;  /* tighter paragraphs overall */
}

/* Step pills row */
.pw-steps-strip {
  margin-top: 8px;     /* less gap above pills */
  margin-bottom: 8px;  /* less gap below pills */
}

/* Optional: last paragraph in section */
.pw-intro-caption {
  margin-bottom: 0;    /* avoid extra space at bottom */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-cf84586 *//* Step 1: Map Your Roof – visual styling test */

.pw-map-roof {
  max-width: 900px;
  margin: 40px auto;
  padding: 32px 24px;
  background: #f7fbff;          /* light blue band */
  border-radius: 8px;
}

.pw-map-roof h2 {
  text-align: center;
  margin-top: 0;
  margin-bottom: 12px;
}

.pw-map-roof .pw-map-intro {
  text-align: center;
  margin-bottom: 8px;
}

.pw-map-roof .pw-map-link {
  text-align: center;
  margin-bottom: 16px;
}

.pw-map-roof .pw-map-link a {
  color: #1769aa;               /* primary blue link */
  font-weight: 600;
  text-decoration: none;
}

.pw-map-roof .pw-map-link a:hover {
  text-decoration: underline;
}

.pw-map-roof > p {
  margin-bottom: 16px;
}

/* figures stack in a single column with nice spacing */

.pw-map-figure {
  margin: 20px 0;
}

.pw-map-figure img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

.pw-map-figure figcaption {
  font-size: 0.9rem;
  color: #4b6478;
  margin-top: 6px;
  line-height: 1.4;
}

/* mobile tweaks if needed */

@media (max-width: 600px) {
  .pw-map-roof {
    padding: 24px 16px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3d0242b *//* Step 1 screenshot rows: two images side by side */

.pw-map-roof-images {
  max-width: 900px;
  margin: 24px auto 40px;
}

.pw-map-roof-images > p {
  margin-bottom: 16px;
}

.pw-map-row {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}

.pw-map-figure {
  flex: 1;
  margin: 0;
}

.pw-map-figure img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

.pw-map-figure figcaption {
  font-size: 0.9rem;
  color: #4b6478;
  margin-top: 6px;
  line-height: 1.4;
}

/* Stack on small screens */

@media (max-width: 768px) {
  .pw-map-row {
    flex-direction: column;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f6e9d73 *//* Calculator card background only */
.pw-calc-box {
  max-width: 420px;
  width: 100%;
  background-color: #f0f7fb;   /* soft blue behind calculator */
  padding: 24px 20px;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
}
/* Tighten spacing in intro section */
.elementor-14367 .elementor-element.elementor-element-f6e9d73.pw-intro {
  margin-bottom: 24px;
  padding-top: 24px;
  padding-bottom: 24px;
}

.elementor-14367 .elementor-element.elementor-element-f6e9d73.pw-intro h2 {
  margin-bottom: 8px;
}

.elementor-14367 .elementor-element.elementor-element-f6e9d73.pw-intro p {
  margin-top: 8px;
  margin-bottom: 8px;
}

.elementor-14367 .elementor-element.elementor-element-f6e9d73 .pw-steps-strip {
  margin-top: 8px;
  margin-bottom: 8px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-36c0186 *//* Step 2: Product Water Calculator intro */

.pw-calc-intro {
  max-width: 900px;
  margin: 40px auto 24px;
  padding: 32px 24px;
  background: #f9fbfd;          /* light neutral/blue band */
  border-radius: 8px;
}

.pw-calc-intro h2 {
  margin-top: 0;
  margin-bottom: 12px;
  text-align: center;
}

.pw-calc-intro p {
  margin-bottom: 12px;
}

.pw-calc-intro ul {
  margin: 8px 0 12px 20px;
  padding-left: 0;
}

.pw-calc-intro li {
  margin-bottom: 6px;
}

@media (max-width: 600px) {
  .pw-calc-intro {
    padding: 24px 16px;
  }
}/* End custom CSS */
/* Start custom CSS *//* Tighten vertical spacing between custom sections on this page */

.pw-intro,
.pw-map-roof,
.pw-map-roof-images,
.pw-calc-intro,
.pw-calc-section,
.pw-calc-next-steps,
.pw-survey-intro,
.pw-survey-embed,
.pw-final-cta {
  margin-top: 24px;
  margin-bottom: 24px;
}

/* If Elementor adds extra padding on sections, gently reduce it */

.elementor-section {
  padding-top: 40px;
  padding-bottom: 40px;
}/* End custom CSS */