:root {
      --green: #0c8b61;
      --green2: #076545;
      --mint: #eaf8f1;
      --orange: #ff7a1a;
      --orange2: #ff9d2e;
      --black: #101915;
      --text: #5b645f;
      --white: #fff;
      --line: #e6eee9;
      --cream: #fff8ef;
      --radius: 28px;
      --shadow: 0 25px 70px rgba(9, 63, 43, .16);
    }

    * {
      box-sizing: border-box
    }

    html {
      scroll-behavior: smooth
    }

    body {
      margin: 0;
      font-family: Inter, system-ui, sans-serif;
      color: var(--black);
      background: #fff;
      overflow-x: hidden
    }

    img {
      max-width: 100%;
      display: block
    }

    a {
      text-decoration: none;
      color: inherit
    }

    .container {
      width: min(1200px, 92vw);
      margin: auto
    }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      border: none;
      border-radius: 999px;
      padding: 16px 25px;
      font-size: 30px;
      font-weight: 900;
      cursor: pointer;
      transition: .35s
    }

    .btn2 {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      border: none;
      border-radius: 999px;
      padding: 16px 25px;
      font-size: 20px;
      font-weight: 900;
      cursor: pointer;
      transition: .35s
    }

    .btn.orange {
      background: var(--orange);
      color: white;
      box-shadow: 0 15px 35px rgba(255, 122, 26, .32)
    }

    .btn2.orange {
      background: var(--orange);
      color: white;
      margin-top: 20px;
      box-shadow: 0 15px 35px rgba(255, 122, 26, .32)
    }

    .btn.green {
      background: var(--green);
      color: white
    }

    .btn:hover {
      transform: translateY(-4px)
    }

    .preloader {
      position: fixed;
      inset: 0;
      background: var(--green2);
      z-index: 99;
      display: grid;
      place-items: center;
      animation: hideLoad .75s 1.35s forwards
    }

    .preloader span {
      color: white;
      font-size: clamp(38px, 7vw, 96px);
      font-weight: 900;
      letter-spacing: .5em;
      animation: tracking 1s ease both
    }

    .preloader b {
      color: var(--orange)
    }

    @keyframes hideLoad {
      to {
        opacity: 0;
        visibility: hidden
      }
    }

    @keyframes tracking {
      from {
        letter-spacing: 1em;
        filter: blur(8px);
        opacity: 0
      }
    }

    .topbar {
      background: var(--green2);
      color: white;
      font-size: 14px
    }

    .topbar .container {
      height: 46px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px
    }

    .topbar strong {
      color: var(--orange2)
    }

    .quote-link {
      background: var(--orange);
      height: 46px;
      padding: 0 24px;
      display: grid;
      place-items: center;
      font-weight: 800;
      margin-right: -4vw;
      clip-path: polygon(16px 0, 100% 0, 100% 100%, 0 100%)
    }

    header {
      position: sticky;
      top: 0;
      background: rgba(255, 255, 255, .94);
      backdrop-filter: blur(16px);
      z-index: 50;
      border-bottom: 1px solid var(--line)
    }

    .nav {
      height: 86px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 30px;
      
    }

   

    .menu {
      display: flex;
      gap: 30px;
      font-weight: 800
    }

     .menu .active {
      color: #ff7a1a;
    }

    .menu a {
      position: relative
    }

    .menu a:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -10px;
      width: 0;
      height: 3px;
      background: var(--orange);
      transition: .3s
    }

    .menu a:hover:after {
      width: 100%
    }

    .hotline {
      display: flex;
      align-items: center;
      gap: 12px;
      font-weight: 900
    }

    .hotline span {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: var(--mint);
      display: grid;
      place-items: center;
      color: var(--green)
    }

    .hero {
      position: relative;
      padding: 90px 0 70px;
      background: linear-gradient(110deg, #f3fbf7 0 56%, #fff1df 56% 100%);
      overflow: hidden
    }

    .hero:before {
      content: "";
      position: absolute;
      inset: auto -8% -160px auto;
      width: 520px;
      height: 520px;
      background: var(--orange);
      border-radius: 50%;
      opacity: .13
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.02fr .98fr;
      gap: 55px;
      align-items: center
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--green);
      font-weight: 900;
      text-transform: uppercase;
      font-size: 13px;
      letter-spacing: .12em
    }

    .eyebrow:before {
      content: "";
      width: 36px;
      height: 4px;
      background: var(--orange);
      border-radius: 4px
    }

    .hero h1 {
      font-size: clamp(46px, 6vw, 55px);
      line-height: .99;
      margin: 18px 0;
      font-weight: 900;
      letter-spacing: .02em
    }

    .hero h1 span {
      color: var(--orange)
    }

    .hero p {
      font-size: 18px;
      line-height: 1.8;
      color: var(--text);
      max-width: 650px
    }

    .hero-actions {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
      margin-top: 28px
    }

    .hero-collage {
      position: relative;
      min-height: 590px
    }

    .photo {
      position: absolute;
      overflow: hidden;
      border: 10px solid #fff;
      box-shadow: var(--shadow);
      background: #ddd
    }

    .photo:before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(0deg, rgba(7, 101, 69, .18), transparent);
      z-index: 1
    }

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

    .p1 {
      width: 68%;
      height: 430px;
      right: 0;
      top: 24px;
      border-radius: 38px 38px 120px 38px
    }

    .p2 {
      width: 45%;
      height: 300px;
      left: 0;
      bottom: 38px;
      border-radius: 90px 28px 28px 28px
    }

    .stat {
      position: absolute;
      left: 95px;
      top: 65px;
      background: white;
      border-radius: 24px;
      padding: 20px 24px;
      box-shadow: var(--shadow);
      border-left: 7px solid var(--orange)
    }

    .stat strong {
      font-size: 42px;
      color: var(--green2);
      display: block
    }

    .stamp {
      position: absolute;
      right: 35px;
      bottom: 12px;
      width: 150px;
      height: 150px;
      border-radius: 50%;
      background: var(--green);
      color: white;
      display: grid;
      place-items: center;
      text-align: center;
      font-weight: 900;
      border: 10px solid white;
      box-shadow: var(--shadow);
      transform: rotate(-10deg)
    }

    .ticker {
      background: var(--orange);
      color: white;
      overflow: hidden
    }

    .track {
      display: flex;
      width: max-content;
      animation: marquee 22s linear infinite
    }

    .track span {
      padding: 22px 32px;
      font-size: 22px;
      font-weight: 900;
      white-space: nowrap
    }

    .track i {
      color: var(--green2);
      font-style: normal;
      margin-right: 20px
    }

    @keyframes marquee {
      to {
        transform: translateX(-50%)
      }
    }

    section {
      padding: 105px 0
    }

    .title {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 30px;
      margin-bottom: 46px
    }

    .title h2 {
      font-size: clamp(34px, 4.5vw, 50px);
      line-height: 1.05;
      margin: 10px 0 0;
      letter-spacing: -.045em
    }

    .title p {
      color: var(--text);
      line-height: 1.8;
      max-width: 490px
    }

    .about-grid {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 64px;
      align-items: center
    }

    .experience-card {
      border-radius: var(--radius);
      background: var(--green2);
      padding: 34px;
      color: white;
      position: relative;
      overflow: hidden
    }

    .experience-card:after {
      content: "";
      position: absolute;
      right: -80px;
      top: -80px;
      width: 220px;
      height: 220px;
      border-radius: 50%;
      background: var(--orange)
    }

    .experience-card img {
      height: 430px;
      width: 100%;
      object-fit: cover;
      border-radius: 24px;
      position: relative;
      z-index: 1
    }

    .since {
      position: absolute;
      z-index: 2;
      left: 0;
      bottom: 46px;
      background: white;
      color: var(--green2);
      padding: 24px 36px;
      border-radius: 0 999px 999px 0;
      font-weight: 900
    }

    .feature-list {
      display: grid;
      gap: 18px
    }

    .feature {
      display: grid;
      grid-template-columns: 76px 1fr;
      gap: 18px;
      padding: 22px;
      border: 1px solid var(--line);
      border-radius: 22px;
      background: white;
      transition: .35s
    }

    .feature:hover {
      transform: translateX(10px);
      border-color: var(--orange);
      box-shadow: var(--shadow)
    }

    .icon {
      width: 76px;
      height: 76px;
      border-radius: 18px;
      background: var(--mint);
      display: grid;
      place-items: center;
      font-size: 34px
    }

    .feature span {
      margin: 0 0 8px
    }

    .feature p {
      margin: 0;
      color: var(--text);
      line-height: 1.65
    }

    .services {
      background: var(--cream)
    }

    .service-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px
    }

    .service-card {
      background: white;
      border-radius: 26px;
      overflow: hidden;
      box-shadow: 0 10px 35px rgba(0, 0, 0, .06);
      transition: .35s
    }

    .service-card:hover {
      transform: translateY(-12px)
    }

    .service-card .media {
      height: 220px;
      overflow: hidden
    }

    .service-card img {
      height: 100%;
      width: 100%;
      object-fit: cover;
      transition: .55s
    }

    .service-card:hover img {
      transform: scale(1.1)
    }

    .service-card .body {
      padding: 26px
    }

    .service-card b {
      color: var(--orange);
      font-size: 13px;
      text-transform: uppercase
    }

    .service-card span {
      font-size: 20px;
      margin: 8px 0 12px;
      display: block;
    }

    .service-card p {
      color: var(--text);
      line-height: 1.65;
      margin: 0
    }

    .why {
      background: var(--green2);
      color: white;
      position: relative;
      overflow: hidden
    }

    .why:before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 85% 20%, rgba(255, 122, 26, .34), transparent 28%)
    }

    .why .container {
      position: relative
    }

    .why-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 38px
    }

    .why-card2 {
      border: 1px solid rgba(255, 255, 255, 0.18);
      background: rgb(255, 255, 255);
      border-radius: 28px;
      padding: 15px
    }

     .why-card {
      border: 1px solid rgba(255, 255, 255, 0.18);
      background: rgba(255, 255, 255, .07);
      border-radius: 28px;
      padding: 32px
    }

    .why-card span {
      font-size: 26px;
      margin: 12px 0
    }

    .why p {
      color: #d7ebe3;
      line-height: 1.75
    }

    .process {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 26px
    }

    .step {
      position: relative;
      padding: 36px;
      border-radius: 28px;
      background: white;
      border: 1px solid var(--line);
      box-shadow: 0 10px 30px rgba(0, 0, 0, .04)
    }

    .step .num {
      font-size: 60px;
      font-weight: 900;
      color: transparent;
      -webkit-text-stroke: 2px var(--orange)
    }

    .step span {
      font-size: 24px
    }

    .stats {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      margin-top: 48px
    }

    .counter {
      padding: 32px;
      border-radius: 26px;
      background: var(--mint);
      text-align: center
    }

    .counter strong {
      font-size: 48px;
      color: var(--green2)
    }

    .pricing {
      background: #f6fbf8
    }

    .price-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px
    }

    .price {
      background: white;
      border-radius: 30px;
      padding: 34px;
      border: 1px solid var(--line);
      position: relative;
      overflow: hidden
    }

    .price.featured {
      border: 3px solid var(--orange);
      transform: translateY(-18px)
    }

    .price h3 {
      font-size: 25px
    }

    .price .money {
      font-size: 44px;
      font-weight: 900;
      color: var(--green2)
    }

    .price ul {
      padding: 0;
      list-style: none;
      color: var(--text);
      line-height: 2.15
    }

    .price li:before {
      content: '✓';
      color: var(--orange);
      font-weight: 900;
      margin-right: 10px
    }

    .contact {
      background: linear-gradient(120deg, var(--green2) 0 60%, var(--orange) 40%);
      color: white
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 50px
    }

    .form {
      background: white;
      color: var(--black);
      border-radius: 30px;
      padding: 34px;
      box-shadow: var(--shadow)
    }

    .form input,
    .form textarea {
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 16px;
      margin-bottom: 14px;
      font: inherit
    }

    .form textarea {
      min-height: 130px
    }

    .faq-grid{
    display: flex;
    flex-direction: column;
    gap: 40px;
}

    .faq-item {
      border: 1px solid var(--line);
      border-radius: 20px;
      margin-bottom: 14px;
      overflow: hidden
    }

    .faq-q {
      padding: 20px;
      font-weight: 900;
      display: flex;
      justify-content: space-between;
      cursor: pointer
    }

    .faq-a {
      padding: 0 20px 20px;
      color: var(--text);
      line-height: 1.7;
      display: none
    }

    .faq-item.active .faq-a {
      display: block
    }

    .cta {
      padding: 70px 0;
      background: var(--orange);
      color: white
    }

    .cta .container {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 30px
    }

    .cta h2 {
      font-size: 42px;
      margin: 0
    }

    .footer {
      background: #081a13;
      color: #bed4ca;
      padding: 80px 0 30px
    }

    .foot-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:40px;
}

    .footer h5 {
      font-size: 16px;
      color: white
    }

    .footer a,
    .footer p {
      color: #bed4ca;
      line-height: 1.9
    }

    .reveal {
      opacity: 0;
      transform: translateY(34px);
      transition: 1s
    }

    .reveal.on {
      opacity: 1;
      transform: none
    }

    @media(max-width:900px) {

      .menu,
      .hotline {
        display: none
      }

      .hero-grid,
      .about-grid,
      .why-grid,
      .contact-grid,
      .faq-grid {
        grid-template-columns: 1fr
      }

      .service-grid,
      .price-grid,
      .process,
      .stats,
      .foot-grid {
        grid-template-columns: 1fr
      }

      .hero-collage {
        min-height: 500px
      }

      .p1 {
        width: 78%
      }

      .p2 {
        width: 56%
      }

      .title {
        display: block
      }

      .quote-link {
        display: none
      }
    }

    .split-section{
  padding: 100px 0;
  background: #fff;
}

.split-section.alt{
  background: #f7f7f7;
}

.split-wrap{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  align-items: center;
}

.split-content h2{
  margin: 12px 0 20px;
}

.split-content p{
  font-size: 17px;
  line-height: 1.8;
  margin-bottom: 18px;
}

.split-image img{
  width: 100%;
  height: 430px;
  object-fit: cover;
  border-radius: 24px;
  display: block;
}

.feature-list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.feature-list li{
  margin-bottom: 3px;
  line-height: 1.7;
}

@media(max-width: 768px){
  .split-wrap{
    grid-template-columns: 1fr;
  }

  .split-section.alt .split-image{
    order: 2;
  }

  .split-section.alt .split-content{
    order: 1;
  }

  .split-image img{
    height: 320px;
  }
}

.CUS{
    padding:0;
}

.CUS .form-row{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.CUS .form-row p{
    flex:1;
    margin:0;
}

.CUS label{
    display:block;
    font-size:14px;
    margin-bottom:6px;
    color:#666;
    font-weight:500;
}

.CUS input,
.CUS select,
.CUS textarea{
    width:100%;
    padding:10px 20px;
    border:1px solid #e5e5e5;
    border-radius:15px;
    background:#fff;
    font-size:15px;
    color:#222;
    transition:.3s ease;
    box-sizing:border-box;
    margin: 2px;
}

.CUS textarea{
    min-height:140px;
    resize:none;
}

.CUS input::placeholder,
.CUS textarea::placeholder{
    color:#a0a0a0;
    
}

.CUS input:focus,
.CUS select:focus,
.CUS textarea:focus{
    border-color:#1e88e5;
    box-shadow:0 10px 25px rgba(30,136,229,.12);
    outline:none;
    transform:translateY(-2px);
}

.CUS .submit{
    background:#1e88e5;
    color:#fff;
    border:none;
    border-radius:15px;
    padding:16px 35px;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.CUS .submit:hover{
    background:#1565c0;
    transform:translateY(-2px);
}

form.CUS,
.CUS fieldset{
    border:none;
    padding:0;
}

@media(max-width:500px){
    .CUS .form-row{
        flex-direction:column;
    }
}

.cta-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.cta-box > div{
    flex:1;
}

.cta-box img{
    max-width:100%;
    height:auto;
}

@media(max-width:768px){
    .cta-box{
        flex-direction:column;
        text-align:center;
    }
}




.menu-toggle{
    display:none;
    background:none;
    border:0;
    font-size:30px;
    cursor:pointer;
}

@media (max-width:768px){

.menu-toggle{
    display:block;
}

.menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#fff;
    flex-direction:column;
    gap: 15px;
}

.menu.active{
    display:flex;
}

.menu a{
    margin-left: 10px;
}
}



#backToTop{
    position:fixed;
    left:20px;
    bottom:20px;
    width:50px;
    height:50px;
    border:none;
    border-radius:50%;
    background:#ff7a00;
    color:#fff;
    font-size:24px;
    cursor:pointer;
    box-shadow:0 5px 15px rgba(0,0,0,.2);
    opacity:0;
    visibility:hidden;
    transform:translateY(15px);
    transition:.3s;
    z-index:9999;
}

#backToTop:hover{
    background:#076545;
}

#backToTop.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}


/* locations */
.service-areas{
 
    background: var(--light);
}

.area-card{
    background:#fff;
    padding:25px 15px;
    text-align:center;
    border-radius:12px;
    height:100%;
    transition:.3s;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.area-card:hover{
    transform:translateY(-5px);
}



.area-card i{
    font-size:32px;
    color: var(--orange);
    margin-bottom:12px;
    display:block;
}

.area-card h5{
    margin:0;
    font-size:18px;
}