.resi-home-hero  {
  background: linear-gradient(135deg, rgb(4 41 43) 0%, rgb(0 0 0 / 25%) 52%, rgb(10 56 59) 100%), url(/uploads/home_bg/chemisage-bg.webp) center center / cover no-repeat !important;
  overflow: hidden
}

.resi-home-hero:before,.resi-home-hero:after  {
  content: '';
  position: absolute;
  opacity: 1;
  filter: none
}

.resi-home-hero:before  {
  top: 0;
  left: 0;
  width: 100%;
  height: 18px;
  background: #1b858f;
  border-radius: 0;
  clip-path: polygon(0 0,48% 0,40% 100%,0 100%);
}

.resi-home-hero:after  {
  bottom: 0;
  right: 0;
  left: auto;
  width: 100%;
  height: 18px;
  background: #1b858f;
  border-radius: 0;
  clip-path: polygon(100% 0,100% 100%,58% 100%,66% 0)
}

.resi-badge  {
  display: inline-block;
  padding: .45rem .9rem;
  border: 1px solid rgba(230,248,248,.28);
  border-radius: 999px;
  color: #e6f8f8;
  background: rgba(27,133,143,.16);
  font-size: .9rem;
  letter-spacing: .04em
}

.resi-section-title  {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 1rem;
  font-weight: 700
}

.resi-section-title:before  {
  content: '';
  position: absolute;
  left: 0;
  top: .2rem;
  width: 4px;
  height: 1.4rem;
  background: #1b858f;
  border-radius: 4px
}

.resi-card  {
  height: 100%;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 12px 35px rgba(16,24,40,.08);
  transition: transform .25s ease,box-shadow .25s ease
}

.resi-card:hover  {
  transform: translateY(-6px);
  box-shadow: 0 18px 38px rgba(16,24,40,.14)
}

.resi-icon-wrap  {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(27,133,143,.12);
  color: #1b858f;
  font-size: 1.45rem
}

.resi-step  {
  position: relative;
  padding: 1.5rem 1.25rem 1.25rem;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16,24,40,.08);
  height: 100%
}

.resi-step-number  {
  font-size: 2rem;
  font-weight: 800;
  color: #1b858f;
  line-height: 1;
  margin-bottom: .75rem
}

.resi-dark-band  {
  background: #04292b;
  color: #fff
}

.resi-trust-logo  {
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e9ecef;
  border-radius: 14px;
  background: #fff;
  color: #6c757d;
  font-weight: 700
}

.resi-checklist li  {
  margin-bottom: .7rem
}

.resi-highlight  {
  color: #1b858f
}

.resi-trust-wrap  {
  background: linear-gradient(180deg,#ffffff 0%,#f8fbfc 100%);
  border: 1px solid #eaf1f4;
  border-radius: 24px;
  padding: 2rem 1.25rem;
  box-shadow: 0 14px 40px rgba(16,24,40,.06)
}

.resi-trust-item  {
  padding: .5rem
}

.resi-trust-logo-card  {
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e9ecef;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(16,24,40,.05);
  transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  padding: 1rem
}

.resi-trust-logo-card:hover  {
  transform: translateY(-4px);
  box-shadow: 0 16px 30px rgba(16,24,40,.1);
  border-color: #d7eef1
}

.resi-trust-logo-card img  {
  max-width: 100%;
  max-height: 58px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .9;
  transition: filter .25s ease,opacity .25s ease,transform .25s ease
}

.resi-trust-logo-card:hover img  {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.03)
}

.resi-home-hero .container  {
  z-index: 2
}

.resi-home-hero .row  {
  min-height: 100vh
}

.resi-home-hero .lead  {
  color: rgba(255,255,255,.88) !important;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto
}

.resi-home-hero .display-4  {
  font-size: 2.1rem;
  line-height: 1.08;
  text-transform: uppercase;
  letter-spacing: .01em
}

.resi-home-hero .btn-light  {
  background: #1b858f;
  border-color: #1b858f;
  color: #fff
}

.resi-home-hero .btn-light:hover  {
  background: #0b393b;
  border-color: #0b393b;
  color: #fff
}

.resi-home-hero .btn-outline-light  {
  border-color: #ffffff;
  color: #ffffff;
  background: transparent
}

.resi-home-hero .btn-outline-light:hover  {
  background: #196c91;
  border-color: #196c91;
  color: #fff
}

.resi-home-hero-overlay  {
  position: absolute;
  inset: 0;
  z-index: 1
}

.resi-home-hero-glow  {
  display: none
}

.resi-home-hero-glow-1  {
  width: 320px;
  height: 320px;
  top: 12%;
  left: 8%;
  background: #1b858f
}

.resi-home-hero-glow-2  {
  width: 220px;
  height: 220px;
  right: 10%;
  bottom: 18%;
  background: #e6f8f8;
  opacity: .07
}

.resi-home-hero-panel  {
  background: linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.06) 100%);
  border: 1px solid rgba(230,248,248,.18);
  border-radius: 24px;
  padding: 2.75rem 2.2rem;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 18px 40px rgba(0,0,0,.16)
}

.resi-home-hero-divider  {
  width: 110px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg,#1b858f 0%,#6cb3af 100%);
  margin: 0 auto 1.5rem auto
}

.resi-home-hero-proof  {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .75rem;
  margin-top: 1.5rem
}

.resi-home-hero-proof-item  {
  display: inline-flex;
  align-items: center;
  padding: .55rem .95rem;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: #e6f8f8;
  font-size: .92rem
}

.resi-home-hero-proof-item i  {
  color: #6cb3af;
  margin-right: .5rem
}

.resi-home-hero-wave  {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden
}

.resi-home-hero-wave span  {
  position: absolute;
  display: block;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 42% 58% 63% 37% / 41% 39% 61% 59%;
  opacity: .55
}

.resi-home-hero-wave-1  {
  width: 900px;
  height: 320px;
  top: -40px;
  left: -120px;
  transform: rotate(-10deg)
}

.resi-home-hero-wave-2  {
  width: 760px;
  height: 280px;
  top: 120px;
  right: -180px;
  transform: rotate(18deg)
}

.resi-home-hero-wave-3  {
  width: 980px;
  height: 360px;
  bottom: -120px;
  left: -140px;
  transform: rotate(8deg)
}

.resi-home-hero-wave-4  {
  width: 760px;
  height: 300px;
  bottom: -60px;
  right: -120px;
  transform: rotate(-14deg)
}

.resi-home-hero-wave span:before,.resi-home-hero-wave span:after  {
  content: '';
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: inherit
}

.resi-home-hero-wave span:after  {
  inset: 36px;
  border-color: rgba(255,255,255,.08)
}

.resi-home-hero-panel--wire  {
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  padding: 2rem 1rem
}

.resi-home-hero-logo  {
  max-width: 320px;
  height: auto
}

.resi-home-hero-content  {
  max-width: 760px;
  margin: 0 auto;
  text-align: center
}

.resi-home-hero-content .resi-badge,.resi-home-hero-content .resi-home-hero-proof  {
  justify-content: center
}

.resi-home-hero-content .resi-home-hero-divider  {
  margin: 0 auto 1.5rem auto
}

.resi-home-hero-content .lead  {
  margin-left: auto;
  margin-right: auto;
  max-width: 620px
}

.resi-home-hero-content .d-flex  {
  justify-content: center !important
}

.resi-home-typing-wrap  {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1.5rem
}

.resi-home-care-anim  {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .85rem;
  min-height: 92px;
  padding: .35rem 0
}

.resi-home-care-label  {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  color: #e6f8f8;
  font-size: .92rem;
  letter-spacing: .18em;
  text-transform: uppercase
}

.resi-home-care-letters  {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  flex-wrap: wrap;
  perspective: 1200px
}

.resi-home-care-letter  {
  width: 31px;
  height: 31px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #ffffff;
  font-size: 1.55rem;
  font-weight: 800;
  transform: rotateX(90deg);
  transform-origin: center center;
  opacity: 0;
  animation: resiCareFlip 8s infinite
}

.resi-home-care-letter-1  {
  animation-delay: .2s
}

.resi-home-care-letter-2  {
  animation-delay: 1s
}

.resi-home-care-letter-3  {
  animation-delay: 1.8s
}

.resi-home-care-letter-4  {
  animation-delay: 2.6s
}

.resi-home-method-word  {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .08em;
  perspective: 1200px
}

.resi-home-method-letter  {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #e6f8f8;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
  text-transform: uppercase;
  opacity: 0;
  transform: rotateX(90deg) translateY(10px);
  animation: resiMethodFlip 6s infinite
}

.resi-home-method-letter-1  {
  animation-delay: .1s
}

.resi-home-method-letter-2  {
  animation-delay: .25s
}

.resi-home-method-letter-3  {
  animation-delay: .4s
}

.resi-home-method-letter-4  {
  animation-delay: .55s
}

.resi-home-method-letter-5  {
  animation-delay: .7s
}

.resi-home-method-letter-6  {
  animation-delay: .85s
}

.resi-home-method-letter-7  {
  animation-delay: 1s
}

@keyframes resiCareFlip  {
  0%  {
    opacity: 0;
    transform: rotateX(90deg) translateY(12px)
  }
  8%  {
    opacity: 1;
    transform: rotateX(0deg) translateY(0)
  }
  22%  {
    opacity: 1;
    transform: rotateX(0deg) translateY(0)
  }
  30%  {
    opacity: 1;
    transform: rotateX(-8deg) translateY(0)
  }
  36%  {
    opacity: 0;
    transform: rotateX(-90deg) translateY(-12px)
  }
  100%  {
    opacity: 0;
    transform: rotateX(-90deg) translateY(-12px)
  }
}

@keyframes resiMethodFlip  {
  0%,100%  {
    opacity: 0;
    transform: rotateX(90deg) translateY(10px)
  }
  12%,72%  {
    opacity: 1;
    transform: rotateX(0deg) translateY(0)
  }
  82%  {
    opacity: 0;
    transform: rotateX(-90deg) translateY(-10px)
  }
}

@media (max-width: 767.98px)  {
  .resi-home-hero h1  {
    font-size: 2.2rem
  }
  .resi-home-hero .lead  {
    font-size: 1.05rem
  }
  .resi-trust-wrap  {
    padding: 1.5rem .75rem
  }
  .resi-trust-logo-card  {
    height: 96px;
    padding: .85rem
  }
  .resi-trust-logo-card img  {
    max-height: 46px
  }
  .resi-home-hero-panel  {
    padding: 1.75rem 1rem
  }
  .resi-home-hero .display-4  {
    font-size: 1rem
  }
  .resi-home-hero-proof  {
    gap: .5rem
  }
  .resi-home-hero-proof-item  {
    font-size: .85rem;
    padding: .5rem .75rem
  }
  .resi-home-hero-panel--wire  {
    padding: 1.25rem 0
  }
  .resi-home-hero-content  {
    text-align: center
  }
  .resi-home-hero-content .resi-badge,.resi-home-hero-content .resi-home-hero-proof,.resi-home-hero-content .d-flex  {
    justify-content: center !important
  }
  .resi-home-hero-content .resi-home-hero-divider  {
    margin: 0 auto 1.5rem auto
  }
  .resi-home-hero-content .lead  {
    margin-left: auto;
    margin-right: auto
  }
  .resi-home-hero-wave-1  {
    width: 520px;
    height: 220px;
    left: -180px
  }
  .resi-home-hero-wave-2  {
    width: 420px;
    height: 180px;
    right: -140px
  }
  .resi-home-hero-wave-3  {
    width: 560px;
    height: 220px;
    left: -160px
  }
  .resi-home-hero-wave-4  {
    width: 420px;
    height: 180px;
    right: -120px
  }
  .resi-home-care-anim  {
    min-height: 84px;
    gap: .65rem
  }
  .resi-home-care-label  {
    font-size: .8rem;
    letter-spacing: .12em;
    padding: 0
  }
  .resi-home-care-letters  {
    gap: .45rem
  }
  .resi-home-care-letter  {
    width: 21px;
    height: 21px;
    font-size: 1rem;
    border-radius: 14px
  }
}

.resi-flyer-panel  {
  position: relative;
  background: #fff;
  overflow: hidden
}

.resi-flyer-panel-dark  {
  background: linear-gradient(180deg,#04292b 0%,#000000 100%);
  color: #fff
}

.resi-flyer-kicker  {
  display: inline-block;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase
}

.resi-flyer-kicker .text-info  {
  color: #1b858f!important
}

.resi-flyer-angle-top,.resi-flyer-angle-bottom  {
  position: absolute;
  left: 0;
  width: 100%;
  height: 18px;
  background: #1b858f
}

.resi-flyer-angle-top  {
  top: 0;
  clip-path: polygon(0 0,100% 0,88% 100%,0 100%)
}

.resi-flyer-angle-bottom  {
  bottom: 0;
  clip-path: polygon(0 0,88% 0,100% 100%,0 100%)
}

.resi-flyer-photo-frame  {
  position: relative;
  background: #fff;
  padding: 14px;
  clip-path: polygon(0 0,100% 0,100% 82%,82% 100%,0 100%);
  box-shadow: 0 18px 40px rgba(0,0,0,.18)
}

.resi-flyer-photo-frame img  {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.resi-flyer-map  {
  background: linear-gradient(180deg,#ffffff 0%,#f4f8f9 100%);
  border: 1px solid #e8edf1;
  border-radius: 6px;
  min-height: 250px;
  position: relative;
  overflow: hidden
}

.resi-flyer-map:before,.resi-flyer-map:after  {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px);
  background-size: 38px 38px;
  opacity: .55
}

.resi-flyer-map:after  {
  background-image: none;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  background: #196c91;
  top: 42%;
  left: 48%;
  box-shadow: 0 0 0 8px rgba(25,108,145,.12)
}

.resi-flyer-contact-card  {
  background: #ffffff;
  border-radius: 4px;
  padding: 1.5rem 1.25rem
}

.resi-flyer-contact-card .media i  {
  width: 34px;
  height: 34px;
  border-radius: 4px;
  background: #196c91;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center
}

.resi-flyer-stamp  {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 150px;
  border: 4px solid #b42318;
  color: #b42318;
  border-radius: 50%;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1.05;
  transform: rotate(-18deg);
  font-size: 1.05rem;
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 20px rgba(0,0,0,.08)
}

.resi-flyer-stamp span  {
  display: block;
  text-align: center
}

.resi-flyer-stamp small  {
  display: block;
  font-size: .8rem
}

.resi-flyer-quote  {
  background: linear-gradient(180deg,#04292b 0%,#000000 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
  border-radius: 0
}

.resi-flyer-quote:before  {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 18px;
  background: #1b858f;
  clip-path: polygon(0 0,34% 0,42% 100%,0 100%)
}

.resi-flyer-quote-photo  {
  clip-path: polygon(0 0,100% 0,100% 84%,78% 100%,0 100%);
  overflow: hidden;
  height: 100%
}

.resi-flyer-quote-photo img  {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.resi-flyer-mission-card  {
  background: #04292b;
  color: #fff;
  padding: 2rem;
  position: relative;
  box-shadow: 0 18px 40px rgba(0,0,0,.12)
}

.resi-flyer-mission-card:before  {
  content: '';
  position: absolute;
  left: 0;
  top: 1.5rem;
  width: 6px;
  height: 42px;
  background: #1b858f
}

.resi-flyer-mission-card h3,.resi-flyer-tech-title  {
  font-weight: 800;
  text-transform: uppercase
}

.resi-flyer-chevron  {
  position: relative;
  height: 34px;
  background: #1b858f;
  clip-path: polygon(0 0,84% 0,100% 50%,84% 100%,0 100%,12% 50%)
}

.resi-flyer-method-card  {
  background: transparent;
  padding: 1.25rem;
  border-radius: 4px;
  height: 100%
}

.resi-flyer-method-step  {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.5rem
}

.resi-flyer-method-step:last-child  {
  margin-bottom: 0
}

.resi-flyer-method-icon  {
  width: 72px;
  min-width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(180deg,#ffffff 0%,#f4f8f9 100%);
  border: 3px solid #196c91;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #04292b;
  font-size: 1.5rem;
  margin-right: 1rem;
  box-shadow: inset 0 0 0 6px #ffffff
}

.resi-flyer-method-step h4  {
  font-size: 1.1rem;
  font-weight: 800;
  margin-bottom: .35rem;
  text-transform: uppercase
}

.resi-flyer-tech-box  {
  background: #ffffff;
  padding: 1.25rem;
  border-radius: 4px
}

.resi-flyer-tech-photo  {
  position: relative;
  background: #fff;
  padding: 12px;
  clip-path: polygon(0 0,100% 0,100% 82%,82% 100%,0 100%);
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
  max-width: 340px;
  margin-left: auto;
  margin-right: auto
}

.resi-flyer-tech-photo img  {
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: contain;
  display: block
}

.resi-method-image  {
  width: 72px;
  min-width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 1rem;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  border: 3px solid #fff
}

.resi-method-image img  {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block
}

.resi-trust-bottom-wrap  {
  gap: 1.5rem
}

.resi-trust-separator  {
  width: 1px;
  align-self: stretch;
  min-height: 170px;
  background: linear-gradient(180deg,rgba(27,133,143,0) 0%,rgba(27,133,143,.45) 18%,rgba(27,133,143,.95) 50%,rgba(27,133,143,.45) 82%,rgba(27,133,143,0) 100%)
}

.resi-trust-stamp-col  {
  flex: 0 0 auto
}

.resi-trust-text-col  {
  flex: 1 1 auto
}

.resi-trust-balance-col  {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.resi-trust-balance-inner  {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%
}

@media (max-width: 991.98px)  {
  .resi-flyer-stamp  {
    width: 120px;
    height: 120px;
    font-size: .9rem
  }
  .resi-flyer-map  {
    min-height: 220px
  }
  .resi-flyer-tech-photo  {
    max-width: 300px
  }
  .resi-trust-bottom-wrap  {
    gap: 1rem
  }
  .resi-trust-separator  {
    min-height: 140px
  }
}

@media (max-width: 767.98px)  {
  .resi-flyer-mission-card,.resi-flyer-tech-box,.resi-flyer-method-card,.resi-flyer-contact-card  {
    padding: 1rem
  }
  .resi-flyer-method-step  {
    flex-direction: column
  }
  .resi-flyer-method-icon  {
    margin-right: 0;
    margin-bottom: .75rem
  }
  .resi-method-image  {
    margin-right: 0;
    margin-bottom: .75rem
  }
  .resi-flyer-quote-photo  {
    height: 280px
  }
  .resi-flyer-stamp  {
    margin-top: 1rem
  }
  .resi-flyer-tech-photo  {
    max-width: 240px
  }
  .resi-flyer-tech-photo img  {
    max-height: 320px
  }
  .resi-trust-bottom-wrap  {
    gap: .75rem
  }
  .resi-trust-separator  {
    width: 100%;
    height: 1px;
    min-height: 1px;
    background: linear-gradient(90deg,rgba(27,133,143,0) 0%,rgba(27,133,143,.45) 18%,rgba(27,133,143,.95) 50%,rgba(27,133,143,.45) 82%,rgba(27,133,143,0) 100%)
  }
}

.resi-home-local-text  {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  color: rgba(255, 255, 255, 0.72);
  font-size: 1rem;
  line-height: 1.65;
}

.resi-home-local-text strong  {
  color: #ffffff;
  font-weight: 700;
}