.elementor-2602 .elementor-element.elementor-element-60e9e6d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-4427070 */.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-page,
.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-page *,
.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-page *::before,
.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-page *::after{
  box-sizing:border-box !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-page{
  position:relative !important;
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:145px 0 110px !important;
  overflow:hidden !important;
  font-family:'DM Sans',sans-serif !important;
  color:#fff !important;

  background:
    radial-gradient(
      circle at 75% 5%,
      rgba(0,201,201,.18) 0%,
      rgba(0,115,114,.11) 18%,
      transparent 36%
    ),
    radial-gradient(
      circle at 8% 32%,
      rgba(0,105,103,.08),
      transparent 25%
    ),
    radial-gradient(
      circle at 85% 62%,
      rgba(0,201,201,.12),
      transparent 25%
    ),
    linear-gradient(
      180deg,
      #001412 0%,
      #00100f 15%,
      #000605 34%,
      #000302 50%,
      #00110f 69%,
      #000504 85%,
      #000 100%
    ) !important;
}


/* ==============================================
   BACKGROUND GRID
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-page::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;

  background-image:
    linear-gradient(
      rgba(0,201,201,.025) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(0,201,201,.025) 1px,
      transparent 1px
    ) !important;

  background-size:72px 72px !important;

  -webkit-mask-image:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.70),
      transparent 32%,
      rgba(0,0,0,.20) 64%,
      transparent 96%
    ) !important;

  mask-image:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.70),
      transparent 32%,
      rgba(0,0,0,.20) 64%,
      transparent 96%
    ) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-page::after{
  content:"" !important;
  position:absolute !important;
  width:1000px !important;
  height:1000px !important;
  top:-460px !important;
  right:-270px !important;
  z-index:0 !important;
  border-radius:50% !important;

  background:
    radial-gradient(
      circle,
      rgba(0,201,201,.09),
      transparent 67%
    ) !important;

  filter:blur(20px) !important;
  pointer-events:none !important;
}


/* ==============================================
   BACKGROUND DECOR
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-bg-art{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-bg-ring{
  position:absolute !important;
  display:block !important;
  border:1px solid rgba(0,201,201,.04) !important;
  border-radius:50% !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-bg-ring-1{
  width:540px !important;
  height:180px !important;
  top:280px !important;
  left:-210px !important;
  transform:rotate(28deg) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-bg-ring-2{
  width:720px !important;
  height:230px !important;
  top:2200px !important;
  right:-340px !important;
  transform:rotate(-26deg) !important;
}


/* ==============================================
   CONTENT WIDTH
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-wrap{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  max-width:1260px !important;
  margin:0 auto !important;
  padding:0 30px !important;
}


/* ==============================================
   GLOBAL TEXT
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-page p{
  color:#fff !important;
  opacity:1 !important;
  font-size:14px !important;
  line-height:1.75 !important;
  font-weight:400 !important;
}


/* ==============================================
   EYEBROW
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-eyebrow{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 16px !important;
  color:#02B6B5 !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:2px !important;
  text-transform:uppercase !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-eyebrow::before{
  content:"" !important;
  display:block !important;
  width:14px !important;
  height:1px !important;
  flex:0 0 14px !important;
  background:#02B6B5 !important;
}


/* ==============================================
   SHARED SECTIONS
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-section{
  position:relative !important;
  width:100% !important;
  margin:0 0 125px !important;
  padding:0 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-section > h2{
  margin:0 0 18px !important;
  color:#fff !important;
  font-family:'Instrument Sans',sans-serif !important;
  font-size:38px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:-1.6px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-section-desc{
  max-width:700px !important;
  margin:0 0 42px !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1.75 !important;
}


/* ==============================================
   HERO
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 520px !important;
  gap:68px !important;
  align-items:center !important;
  min-height:610px !important;
  margin:0 0 100px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero-copy{
  position:relative !important;
  z-index:3 !important;
  padding-top:15px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero h1{
  max-width:680px !important;
  margin:0 0 26px !important;
  color:#fff !important;
  font-family:'Instrument Sans',sans-serif !important;
  font-size:49px !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:-2.3px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero h1 span{
  color:#fff !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero-desc{
  max-width:660px !important;
  margin:0 0 27px !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1.78 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero-tags span{
  min-height:32px !important;
  padding:6px 12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(0,201,201,.22) !important;
  border-radius:999px !important;
  background:rgba(0,201,201,.045) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:500 !important;
}


/* ==============================================
   3D VISUAL
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-visual{
  position:relative !important;
  width:100% !important;
  min-height:560px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-3d{
  position:absolute !important;
  z-index:0 !important;
  top:-45px !important;
  left:-65px !important;
  width:540px !important;
  max-width:none !important;
  display:block !important;
  pointer-events:none !important;

  filter:
    drop-shadow(0 0 50px rgba(0,201,201,.15))
    drop-shadow(0 25px 60px rgba(0,0,0,.42)) !important;

  animation:cs-roof-float 8s ease-in-out infinite !important;
}

@keyframes cs-roof-float{
  0%{
    transform:translateY(0) rotate(0deg);
  }

  25%{
    transform:translateY(-13px) rotate(1.5deg);
  }

  50%{
    transform:translateY(-5px) rotate(-.7deg);
  }

  75%{
    transform:translateY(-10px) rotate(.8deg);
  }

  100%{
    transform:translateY(0) rotate(0deg);
  }
}


/* ==============================================
   SNAPSHOT CARD
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snapshot{
  position:relative !important;
  z-index:2 !important;
  width:360px !important;
  margin:88px 0 0 auto !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:18px !important;

  background:
    linear-gradient(
      165deg,
      rgba(0,93,90,.52) 0%,
      rgba(0,60,58,.49) 20%,
      rgba(0,31,30,.66) 52%,
      rgba(0,14,14,.78) 100%
    ) !important;

  backdrop-filter:blur(24px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(24px) saturate(135%) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    inset 0 -1px 0 rgba(0,201,201,.08),
    0 32px 85px rgba(0,0,0,.48),
    0 0 40px rgba(0,0,0,.20) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snapshot::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;

  background:
    radial-gradient(
      ellipse at 25% -15%,
      rgba(255,255,255,.09),
      transparent 48%
    ),
    radial-gradient(
      ellipse at 85% 110%,
      rgba(0,201,201,.07),
      transparent 42%
    ) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-head{
  position:relative !important;
  z-index:1 !important;
  padding:23px 25px 19px !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;

  background:
    linear-gradient(
      135deg,
      rgba(0,201,201,.13),
      rgba(0,201,201,.04) 60%,
      transparent
    ) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-head > span{
  display:block !important;
  margin:0 0 8px !important;
  color:#00c9c9 !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:2px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-head h3{
  margin:0 0 5px !important;
  color:#fff !important;
  font-family:'Instrument Sans',sans-serif !important;
  font-size:20px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:-.7px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-head p{
  margin:0 !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-body{
  position:relative !important;
  z-index:1 !important;
  padding:6px 25px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-row{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:20px !important;
  padding:12px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.055) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-row:last-child{
  border-bottom:0 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-row span{
  color:#00c9c9 !important;
  font-size:13px !important;
  font-weight:500 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-row strong{
  color:#fff !important;
  font-size:13px !important;
  font-weight:600 !important;
  text-align:right !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-foot{
  position:relative !important;
  z-index:1 !important;
  padding:18px 25px 22px !important;
  border-top:1px solid rgba(255,255,255,.06) !important;

  background:
    linear-gradient(
      135deg,
      rgba(0,201,201,.055),
      transparent 65%
    ) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-foot > span{
  display:block !important;
  margin:0 0 5px !important;
  color:#00c9c9 !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:1.8px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-foot strong{
  display:block !important;
  color:#00c9c9 !important;
  font-family:'Instrument Sans',sans-serif !important;
  font-size:27px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:-1px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-foot em{
  color:#fff !important;
  font-size:13px !important;
  font-style:normal !important;
  font-weight:500 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-foot p{
  margin:6px 0 0 !important;
  color:#fff !important;
  font-size:13px !important;
}


/* ==============================================
   CHALLENGE / SOLUTION
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-duo-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:18px !important;
  margin-top:40px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-duo-card{
  position:relative !important;
  overflow:hidden !important;
  min-height:250px !important;
  padding:37px 34px !important;
  border-radius:16px !important;

  transition:
    transform .4s ease,
    border-color .4s ease,
    box-shadow .4s ease !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-duo-card:hover{
  transform:translateY(-4px) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-challenge{
  border:1px solid rgba(255,255,255,.10) !important;

  background:
    radial-gradient(
      circle at 15% 100%,
      rgba(0,47,46,.13),
      transparent 45%
    ),
    linear-gradient(
      135deg,
      rgba(255,255,255,.03),
      rgba(255,255,255,.008)
    ) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 18px 50px rgba(0,0,0,.23) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-solution{
  border:1px solid rgba(0,201,201,.29) !important;

  background:
    linear-gradient(
      135deg,
      rgba(0,80,78,.40) 0%,
      rgba(0,155,153,.30) 36%,
      rgba(0,201,201,.23) 62%,
      rgba(0,220,220,.14) 100%
    ) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 18px 50px rgba(0,0,0,.24),
    0 0 30px rgba(0,201,201,.045) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-solution::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;

  background:
    radial-gradient(
      ellipse at 90% 15%,
      rgba(255,255,255,.10),
      transparent 43%
    ) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-duo-label{
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 0 20px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-duo-label svg{
  width:15px !important;
  height:15px !important;
  color:#00c9c9 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-duo-label span{
  color:#00c9c9 !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:1px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-duo-card p{
  position:relative !important;
  z-index:1 !important;
  margin:0 !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1.8 !important;
}


/* ==============================================
   WHAT WE BUILT
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built{
  position:relative !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-art{
  position:absolute !important;
  z-index:0 !important;
  width:360px !important;
  max-width:none !important;
  top:-70px !important;
  right:-220px !important;
  opacity:.68 !important;
  pointer-events:none !important;
  transform:rotate(30deg) !important;
  filter:drop-shadow(0 0 45px rgba(0,201,201,.14)) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built > *:not(.cs-roof-built-art){
  position:relative !important;
  z-index:2 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:14px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-card{
  position:relative !important;
  overflow:hidden !important;
  min-height:220px !important;
  padding:29px 25px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:14px !important;

  background:
    radial-gradient(
      circle at 20% 0%,
      rgba(0,47,46,.11),
      transparent 45%
    ),
    linear-gradient(
      135deg,
      rgba(255,255,255,.025),
      rgba(255,255,255,.007)
    ) !important;

  transition:
    transform .38s ease,
    border-color .38s ease,
    box-shadow .38s ease !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  opacity:0 !important;
  pointer-events:none !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(0,201,201,.11),
      transparent 50%
    ) !important;

  transition:opacity .38s ease !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-card:hover{
  transform:translateY(-5px) !important;
  border-color:rgba(0,201,201,.32) !important;

  box-shadow:
    0 20px 55px rgba(0,0,0,.28),
    0 0 24px rgba(0,201,201,.06),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-card:hover::before{
  opacity:1 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-icon{
  position:relative !important;
  z-index:1 !important;
  width:42px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 19px !important;
  border:1px solid rgba(0,201,201,.21) !important;
  border-radius:11px !important;
  background:rgba(0,201,201,.07) !important;
  color:#00c9c9 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-icon svg{
  width:19px !important;
  height:19px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-card h4{
  position:relative !important;
  z-index:1 !important;
  margin:0 0 10px !important;
  color:#fff !important;
  font-family:'Instrument Sans',sans-serif !important;
  font-size:16px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-card p{
  position:relative !important;
  z-index:1 !important;
  margin:0 !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.72 !important;
}


/* ==============================================
   TIMELINE
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-section > h2{
  margin-bottom:58px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-line{
  position:absolute !important;
  left:12% !important;
  right:12% !important;
  top:124px !important;
  border-top:1.5px dashed rgba(0,201,201,.35) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-step{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-copy{
  min-height:105px !important;
  padding:0 18px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-copy strong{
  display:block !important;
  margin:0 0 7px !important;
  color:#00c9c9 !important;
  font-family:'Instrument Sans',sans-serif !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-copy p{
  max-width:220px !important;
  margin:0 auto !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.65 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-dot{
  position:relative !important;
  z-index:2 !important;
  width:13px !important;
  height:13px !important;
  margin:12px 0 38px !important;
  border-radius:50% !important;
  background:#00c9c9 !important;
  box-shadow:0 0 17px rgba(0,201,201,.46) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-dot i{
  position:absolute !important;
  inset:-6px !important;
  border:1px solid rgba(0,201,201,.32) !important;
  border-radius:50% !important;
  animation:cs-roof-pulse 2.5s ease-in-out infinite !important;
}

@keyframes cs-roof-pulse{
  0%,100%{
    opacity:.55;
    transform:scale(1);
  }

  50%{
    opacity:0;
    transform:scale(1.65);
  }
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-badge{
  min-width:126px !important;
  height:36px !important;
  padding:0 16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(0,201,201,.28) !important;
  border-radius:999px !important;

  background:
    linear-gradient(
      135deg,
      rgba(0,201,201,.10),
      rgba(0,201,201,.035)
    ) !important;

  color:#00c9c9 !important;
  font-size:12px !important;
  font-weight:700 !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
}


/* ==============================================
   RESULTS
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-results-panel{
  position:relative !important;
  overflow:hidden !important;
  margin-top:42px !important;
  padding:30px !important;
  border:1px solid rgba(0,201,201,.20) !important;
  border-radius:18px !important;

  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(0,201,201,.08),
      transparent 38%
    ),
    linear-gradient(
      145deg,
      rgba(0,55,54,.27),
      rgba(0,18,18,.40)
    ) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 25px 80px rgba(0,0,0,.27) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat-grid{
  display:grid !important;
  grid-template-columns:1.25fr repeat(4,1fr) !important;
  gap:9px !important;
  margin:0 0 30px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat{
  min-height:155px !important;
  padding:20px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  border:1px solid rgba(255,255,255,.075) !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.018) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat-featured{
  background:
    linear-gradient(
      135deg,
      #07d1ce,
      #05b9b8
    ) !important;

  border-color:rgba(255,255,255,.15) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat > span{
  display:block !important;
  margin:0 0 8px !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:1.2px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat strong{
  display:block !important;
  margin:0 0 8px !important;
  color:#fff !important;
  font-family:'Instrument Sans',sans-serif !important;
  font-size:27px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:-1px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat p{
  margin:0 !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat-featured > span,
.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat-featured strong,
.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat-featured p{
  color:#00201f !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-compare{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  padding:6px 3px 2px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-compare-row{
  width:100% !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-compare-head{
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin:0 0 8px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-compare-head span{
  color:#fff !important;
  font-size:13px !important;
  font-weight:500 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-compare-head em{
  color:#00c9c9 !important;
  font-size:13px !important;
  font-weight:700 !important;
  font-style:normal !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-compare-bars{
  position:relative !important;
  height:10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.10) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-before,
.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-after{
  position:absolute !important;
  left:0 !important;
  border-radius:999px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-before{
  top:2px !important;
  height:6px !important;
  background:rgba(255,255,255,.30) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-after{
  top:0 !important;
  height:10px !important;

  background:
    linear-gradient(
      90deg,
      #00aaa9,
      #16e4df
    ) !important;

  box-shadow:0 0 13px rgba(0,201,201,.18) !important;
}


/* BAR WIDTHS */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-revenue-before{
  width:43% !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-revenue-after{
  width:100% !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-jobs-before{
  width:29% !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-jobs-after{
  width:100% !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-call-before{
  width:35% !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-call-after{
  width:2% !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-review-before{
  width:30% !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-review-after{
  width:100% !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-maps-before{
  width:25% !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-maps-after{
  width:100% !important;
}


/* ==============================================
   TESTIMONIAL
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-quote-layout{
  position:relative !important;
  max-width:950px !important;
  margin:48px auto 0 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-big-quote{
  position:absolute !important;
  color:#00c9c9 !important;
  font-family:Georgia,serif !important;
  font-size:130px !important;
  line-height:.6 !important;
  font-weight:700 !important;
  opacity:.72 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-big-quote-left{
  top:25px !important;
  left:-80px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-big-quote-right{
  right:-75px !important;
  bottom:-30px !important;
  opacity:.55 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-quote-card{
  position:relative !important;
  overflow:hidden !important;
  padding:45px 48px !important;
  border:1px solid rgba(0,201,201,.25) !important;
  border-radius:18px !important;

  background:
    linear-gradient(
      140deg,
      rgba(0,83,81,.48) 0%,
      rgba(0,155,153,.35) 33%,
      rgba(0,201,201,.26) 57%,
      rgba(0,220,218,.17) 100%
    ) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    0 25px 75px rgba(0,0,0,.31),
    0 0 35px rgba(0,201,201,.05) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-quote-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;

  background:
    radial-gradient(
      ellipse at 80% 0%,
      rgba(255,255,255,.08),
      transparent 43%
    ) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-quote-card > p{
  position:relative !important;
  z-index:1 !important;
  margin:0 0 30px !important;
  color:#fff !important;
  font-family:'Instrument Sans',sans-serif !important;
  font-size:19px !important;
  line-height:1.65 !important;
  font-weight:500 !important;
  letter-spacing:-.35px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-quote-author{
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-avatar{
  width:39px !important;
  height:39px !important;
  flex:0 0 39px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(0,201,201,.29) !important;
  border-radius:50% !important;
  background:rgba(0,60,58,.50) !important;
  color:#00c9c9 !important;
  font-size:12px !important;
  font-weight:700 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-quote-author strong{
  display:block !important;
  margin:0 0 3px !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:700 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-quote-author span{
  display:block !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.5 !important;
}


/* ==============================================
   FAQ
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-list{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  margin-top:36px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-item{
  width:100% !important;
  overflow:hidden !important;
  border:1px solid rgba(0,201,201,.16) !important;
  border-radius:10px !important;

  background:
    linear-gradient(
      135deg,
      rgba(0,67,65,.28),
      rgba(0,25,25,.54)
    ) !important;

  transition:
    border-color .3s ease,
    box-shadow .3s ease !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-item:hover,
.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-item[open]{
  border-color:rgba(0,201,201,.43) !important;

  box-shadow:
    0 10px 35px rgba(0,0,0,.18),
    0 0 22px rgba(0,201,201,.045) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-item summary{
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) 30px !important;
  gap:13px !important;
  align-items:center !important;
  min-height:69px !important;
  padding:16px 18px !important;
  cursor:pointer !important;
  list-style:none !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-item summary::-webkit-details-marker{
  display:none !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-item summary::marker{
  content:"" !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-num{
  width:32px !important;
  height:32px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(0,201,201,.25) !important;
  border-radius:8px !important;
  background:rgba(0,201,201,.055) !important;
  color:#00c9c9 !important;
  font-size:10px !important;
  font-weight:700 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-title{
  color:#fff !important;
  font-size:14px !important;
  line-height:1.5 !important;
  font-weight:600 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-icon{
  position:relative !important;
  width:29px !important;
  height:29px !important;
  justify-self:end !important;
  border:1px solid rgba(0,201,201,.34) !important;
  border-radius:50% !important;
  background:rgba(0,201,201,.06) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-icon::before,
.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-icon::after{
  content:"" !important;
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  width:10px !important;
  height:1.5px !important;
  border-radius:2px !important;
  background:#00c9c9 !important;
  transform:translate(-50%,-50%) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-icon::after{
  transform:translate(-50%,-50%) rotate(90deg) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-item[open] .cs-roof-faq-icon{
  background:#00c9c9 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-item[open] .cs-roof-faq-icon::before,
.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-item[open] .cs-roof-faq-icon::after{
  background:#00201f !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-item[open] .cs-roof-faq-icon::after{
  opacity:0 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-answer p{
  margin:0 !important;
  padding:0 64px 22px !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1.75 !important;
}


/* ==============================================
   MORE CASE STUDIES
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:16px !important;
  margin-top:42px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-card{
  position:relative !important;
  display:block !important;
  overflow:hidden !important;
  padding:27px 24px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:14px !important;

  background:
    radial-gradient(
      circle at 20% 0%,
      rgba(0,47,46,.10),
      transparent 45%
    ),
    linear-gradient(
      135deg,
      rgba(255,255,255,.025),
      rgba(255,255,255,.008)
    ) !important;

  color:#fff !important;
  text-decoration:none !important;

  transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-card:hover{
  transform:translateY(-5px) !important;
  border-color:rgba(0,201,201,.35) !important;

  box-shadow:
    0 20px 55px rgba(0,0,0,.28),
    0 0 24px rgba(0,201,201,.06) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-num{
  display:block !important;
  margin:0 0 15px !important;
  color:#00c9c9 !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:1.1px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-card h4{
  margin:0 0 5px !important;
  color:#fff !important;
  font-family:'Instrument Sans',sans-serif !important;
  font-size:18px !important;
  font-weight:700 !important;
  letter-spacing:-.5px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-type{
  margin:0 0 23px !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-stats{
  display:flex !important;
  gap:20px !important;
  padding-top:16px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-stats div{
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-stats strong{
  color:#00c9c9 !important;
  font-family:'Instrument Sans',sans-serif !important;
  font-size:16px !important;
  font-weight:800 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-stats span{
  color:#fff !important;
  font-size:12px !important;
  line-height:1.4 !important;
}


/* ==============================================
   FINAL CTA
============================================== */

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-cta{
  position:relative !important;
  overflow:hidden !important;
  padding:52px 30px !important;
  border-radius:18px !important;
  text-align:center !important;

  background:
    radial-gradient(
      ellipse at 80% 0%,
      rgba(255,255,255,.12),
      transparent 40%
    ),
    linear-gradient(
      120deg,
      #08c8c5,
      #12dfda
    ) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    0 30px 80px rgba(0,0,0,.29),
    0 0 45px rgba(0,201,201,.10) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-kicker{
  display:block !important;
  margin:0 0 9px !important;
  color:#003332 !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:1.6px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-cta h2{
  max-width:680px !important;
  margin:0 auto 10px !important;
  color:#001b1a !important;
  font-family:'Instrument Sans',sans-serif !important;
  font-size:31px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  letter-spacing:-1px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-cta > p{
  max-width:650px !important;
  margin:0 auto 22px !important;
  color:#002928 !important;
  font-size:14px !important;
  line-height:1.65 !important;
  font-weight:500 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-btn{
  min-height:41px !important;
  padding:10px 18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  border-radius:999px !important;
  background:#001817 !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:13px !important;
  font-weight:700 !important;

  transition:
    transform .25s ease,
    box-shadow .25s ease !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-btn:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 9px 24px rgba(0,0,0,.20) !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-btn svg{
  width:13px !important;
  height:13px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin-top:20px !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-meta span{
  color:#003332 !important;
  font-size:12px !important;
  font-weight:600 !important;
}

.elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-meta i{
  width:3px !important;
  height:3px !important;
  border-radius:50% !important;
  background:rgba(0,28,27,.45) !important;
}


/* ==============================================
   TABLET
============================================== */

@media(max-width:1024px){

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-page{
    padding-top:130px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-wrap{
    padding:0 24px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero{
    grid-template-columns:minmax(0,1fr) 430px !important;
    gap:35px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero h1{
    font-size:42px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-3d{
    width:460px !important;
    left:-50px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snapshot{
    width:330px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat-grid{
    grid-template-columns:repeat(3,1fr) !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-grid{
    grid-template-columns:1fr !important;
    max-width:520px !important;
  }
}


/* ==============================================
   MOBILE
============================================== */

@media(max-width:767px){

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-page{
    width:100vw !important;
    padding:105px 0 75px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-wrap{
    max-width:100% !important;
    padding:0 16px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-section{
    margin-bottom:82px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-section > h2{
    font-size:28px !important;
    line-height:1.15 !important;
    letter-spacing:-1px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-section-desc{
    margin-bottom:30px !important;
    font-size:14px !important;
  }


  /* HERO */

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero{
    display:block !important;
    min-height:0 !important;
    margin-bottom:85px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero h1{
    font-size:36px !important;
    line-height:1.1 !important;
    letter-spacing:-1.5px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero-desc{
    font-size:14px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-visual{
    min-height:0 !important;
    margin-top:30px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-3d{
    position:relative !important;
    top:auto !important;
    left:-7% !important;
    width:93% !important;
    margin:0 0 -60px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snapshot{
    width:100% !important;
    max-width:350px !important;
    margin:0 auto !important;
  }


  /* DUO */

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-duo-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:30px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-duo-card{
    min-height:0 !important;
    padding:28px 22px !important;
    border-radius:14px !important;
  }


  /* WHAT WE BUILT */

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-grid{
    grid-template-columns:1fr !important;
    gap:11px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-card{
    min-height:0 !important;
    padding:25px 22px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-built-art{
    display:none !important;
  }


  /* TIMELINE */

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-section > h2{
    margin-bottom:36px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline{
    display:flex !important;
    flex-direction:column !important;
    gap:25px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-line{
    display:none !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-step{
    display:grid !important;
    grid-template-columns:24px minmax(0,1fr) !important;
    column-gap:14px !important;
    text-align:left !important;
    align-items:start !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-copy{
    grid-column:2 !important;
    grid-row:1 !important;
    min-height:0 !important;
    padding:0 !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-copy p{
    max-width:none !important;
    margin:0 !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-dot{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    margin:4px auto 0 !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-timeline-badge{
    grid-column:2 !important;
    grid-row:2 !important;
    justify-self:start !important;
    min-width:110px !important;
    height:32px !important;
    margin-top:12px !important;
  }


  /* RESULTS */

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-results-panel{
    padding:17px !important;
    border-radius:14px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:8px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat-featured{
    grid-column:span 2 !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat{
    min-height:130px !important;
    padding:17px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat strong{
    font-size:23px !important;
  }


  /* TESTIMONIAL */

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-quote-layout{
    margin-top:32px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-big-quote{
    display:none !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-quote-card{
    padding:28px 22px !important;
    border-radius:14px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-quote-card > p{
    font-size:15px !important;
    line-height:1.62 !important;
  }


  /* FAQ */

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-item summary{
    grid-template-columns:minmax(0,1fr) 29px !important;
    gap:12px !important;
    padding:16px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-num{
    display:none !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-title{
    font-size:14px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-faq-answer p{
    padding:0 16px 18px !important;
    font-size:14px !important;
    line-height:1.72 !important;
  }


  /* MORE */

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-grid{
    grid-template-columns:1fr !important;
    gap:11px !important;
    margin-top:30px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-card{
    padding:23px 21px !important;
  }


  /* CTA */

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-cta{
    padding:36px 20px !important;
    border-radius:14px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-cta h2{
    font-size:24px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-meta{
    gap:7px 9px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-final-meta i{
    display:none !important;
  }
}


/* ==============================================
   SMALL MOBILE
============================================== */

@media(max-width:390px){

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-hero h1{
    font-size:32px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-head,
  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-body,
  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-snap-foot{
    padding-left:19px !important;
    padding-right:19px !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat-grid{
    grid-template-columns:1fr !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-stat-featured{
    grid-column:auto !important;
  }

  .elementor-2602 .elementor-element.elementor-element-4427070 .cs-roof-more-stats{
    gap:15px !important;
  }
}/* End custom CSS */