html{
    overflow-x: hidden;
}


body{
    margin: 0;
    background-color:#fff;
      font-family: "Instrument Sans", sans-serif !important;
scroll-behavior: smooth;
    overflow-x: hidden; 
}


/*shrinks*/
body.modal-open {
    padding-right: 0 !important;
}
a{
    text-decoration: none;
    transition: all ease-in-out .5s;
    -webkit-transition: all ease-in-out .5s;
-o-transition: all ease-in-out .5s;
-moz-transition: all ease-in-out .5s;

}
button{
    transition: all ease-in-out .5s;
    -webkit-transition: all ease-in-out .5s;
-o-transition: all ease-in-out .5s;
-moz-transition: all ease-in-out .5s;

}
.instrument-sans-<uniquifier> {
  font-family: "Instrument Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

    #main-content {
      display: none;
    }
  .side-contact-wrapper {
            position: fixed;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
            z-index: 999; /* Maximum possible z-index */
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            pointer-events: none; /* Allows clicking through empty space */
        }

        /* 2. The Buttons */
        .side-link {
            pointer-events: auto; /* Re-enables clicking on buttons */
            display: flex;
            align-items: center;
            width: 54px; /* Default: Only icon visible */
            height: 55px;
            text-decoration: none;
            transition: width 0.3s ease-in-out;
            overflow: hidden;
          
        }

        /* 3. Hover: Grow width to the LEFT */
        .side-link:hover {
            width: 219px;
        }

        /* 4. Colors */
        .bg-whatsapp {background-color: #8FB53E !important;border-radius: 10px 0 0 0px;}
        .bg-email {background-color: #161616 !important;border-radius: 0 0 0 10px;}

        /* 5. Icon Styling: Fixed width container ensures visibility */
        .icon-holder {
            width: 60px;
            height: 55px;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-shrink: 0;
        }

        .icon-holder img {
            width: 32px;
            height: 32px;
            display: block !important;
            visibility: visible !important;
            opacity: 1 !important;
        }

        /* 6. Text Styling */
        .contact-label {
            color: white !important;
            /* font-family: Arial, sans-serif; */
            font-size: 13px;
            font-weight: 600;
            padding: 0px;
            white-space: nowrap;
            opacity: 0;
            transition: opacity 0.2s;
        }

        .side-link:hover .contact-label {
            opacity: 1;
        }


/*loder*/
.ip-loader{
    bottom: 40%!important;
}
.loader {
  width: 260px;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  margin: auto;
  display: block;
}
.c-leaf {
  position: relative;
  overflow: hidden;
  width: 208px;
  object-fit: cover;
  height: 142px;
  margin: 0 auto;
  background: #161616;
  transform: scale(1);
}

.c-leaf__icon {
  position: absolute;
  top: 5px;
  left: -1px;
  z-index: 1;
  width: 208px;
  height: 99px;
  object-fit: contain;
  filter: brightness(100);
}

.c-leaf__fill {
  width: 304px;
  height: 101px;
  background: #161616;
  position: relative;
  z-index: 1;
  -webkit-animation: fillUp 1.5s ease-in-out infinite;
  animation: fillUp 1.5s ease-in-out infinite;
}

@-webkit-keyframes fillUp {
  0% {
    transform: translate(0, 135px);
  }
  100% {
    transform: translate(0, -135px);
  }
}

@keyframes fillUp {
  0% {
    transform: translate(0, 135px);
  }
  100% {
    transform: translate(0, -135px);
  }
}


.header {
    width: 100%;
    float: left;
    position: relative;
    z-index: 11;
    height: 0;
    padding: 0px 20px 0px 20px;
}
.main-hdr{
    width: auto;
    float: right;
    padding-top: 61px;
    padding-left: 0px;
    position: relative;
}
.logo{
    width: auto;
    float: left;
    padding-top: 45px;
    padding-bottom: 17px;
}
.logo img{
    width: 100%;
    float: left;
    max-width: 169px;
    /* filter: brightness(100); */
}
.head-menu{
    
    width: 100%;
    float: left;
}
.red{float: right;/* margin-top: -15px; */padding-right: 0px !important;}
.red img{
    width: 41px;
}

.banner {
    width: 100%;
    float: left;
    position: relative;

}
.banner img{
    width: 100%;
    float: left;
    position: relative;
}
.bnt-tex{
    width: 100%;
    float: left;
    position: absolute;
    top: 152px;
}
.bnt-tex h2{
    width: 100%;
    float: left;
    text-align: left;
    color: #FFFFFF;
    margin-bottom: 0;
    font-size: 64px;
    font-weight: 600;
    line-height: 120%;
    padding-bottom: 12px;
    margin-top: 15px;
}
.bnt-tex h6{
    float: left;
    text-align: left;
    color: #f5f5f5;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 116%;
    /* padding-bottom: 30px; */
    border: 1px solid #f5f5f569;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 15px;
}
.m-img{
    float: left;
    width: 18px !important;
    margin-right: 12px;
    display: flex !important;
}
.bnt-tex p{
    width: 100%;
    float: left;
    text-align: left;
    color: #dbdbdb;
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 200%;
    padding-bottom: 26px;
}
.read-more {
    float: left;
}

.read-more a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 177px;
    height: 50px;
    padding: 0 px 0px 0px;
    background: #FFFFFF;
    color: #000;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    border-radius: 42px;
    box-sizing: border-box;
    overflow: hidden;
    transition: color 0.3s ease;
     -o-transition: all ease-in-out 0.5s;-ms-transition: all ease-in-out 0.5s;-moz-transition: all ease-in-out 0.5s;-webkit-transition: all ease-in-out 0.5s;
}
.read-more a:hover{
    background-color: #35316F;
    color: #ffff;
     -o-transition: all ease-in-out 0.5s;-ms-transition: all ease-in-out 0.5s;-moz-transition: all ease-in-out 0.5s;-webkit-transition: all ease-in-out 0.5s;

}
.banner-arrow{
    margin-top: 1px;
    float: right;
    width: 15px !important;
}
 

 

.slide {
      background: #000;
      float: left;
      width: 100%;
      top: 0px;
      position: relative;
      z-index: 1;
      height: 800px;
}



.slide .item .slide-image {
       float: right;
       margin-left: 0px;
       width: 100%;
       right: 0;
       object-fit: cover;
       top: 0;
       height: 800px;
}

@keyframes entryUp {
  0% {
    opacity: 0;
    transform: translateY(80px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===== Slide Out Up (exit) ===== */
@keyframes exitUp {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-40px);
  }
}

/* ===== Image Fade Zoom for .slider-ban ===== */
@keyframes fadeZoomIn {
  0% {
    opacity: 0;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes fadeZoomOut {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0.95);
  }
}

/* === Apply Owl Animate Classes === */
.slider-ban .owl-animate-in {
  animation: fadeZoomIn 0.4s ease-out forwards;
}
.slider-ban .owl-animate-out {
  animation: fadeZoomOut 0.3s ease-in forwards;
}

.slider-ban2 .owl-animate-in {
  animation: entryUp 0.35s ease-out forwards;
}
.slider-ban2 .owl-animate-out {
  animation: exitUp 0.25s ease-in forwards;
}

/* === Initial Entry Animations === */
.slider-ban2 {
  opacity: 0;
  clip-path: inset(100% 0 0 0); /* Start clipped from bottom */
  transition: opacity 1.2s ease, clip-path 1.2s ease;
}

/* After loaded */
.slide.loaded .slider-ban2 {
  opacity: 1;
  clip-path: inset(0 0 0 0); /* Reveal content */
}
.slider-ban {
  opacity: 0;
  transition: opacity 1.2s ease;
}
.slide.loaded .slider-ban {
  opacity: 1;
}
.slider-ban2{
    position: absolute !important;
    top: 54%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    z-index: 2;
    text-align: center;
    width: 100%; /
    }

.slider-ban2  h2{
        transform: auto !important;
       transition: auto !important;
}





.slider-ban2  h2 {
    text-align: center;
    float: left;
    font-size: 90px;
    color: #fff;
    font-weight: 500;
    line-height: 100%;
    width: 100%;
    letter-spacing: -4px;
    margin-bottom: 22px;
}
.slider-ban2  p{text-align: center;float: left;font-size: 16px;color: #fff;font-weight: 400;line-height: 180%;width: 100%;margin-bottom: 32px;}



.slider-ban2  a {
      background: #8FB53E;
      /* padding: 15px 29px; */
      border-radius: 30px;
      color: #fff;
      font-size: 16px;
      font-weight: 500;
      text-decoration: none;
      display: table;
      align-items: center;
      justify-content: center;
      margin: auto;
      float: none;
      position: relative;
      overflow: hidden;
      transition: color 0.3s ease;
      width: 165px;
      display: inline-flex;
      gap: 13px;
      align-items: center;
      justify-content: center;
      height: 54px;
}
.slider-ban2 a::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transition: transform 0.3s ease;
}
.slider-ban2 a:hover {
  color: #fff;
}
.slider-ban2 a:hover::before {
  transform: scale(1);
}
.owl-carousel .slider-ban  .owl-nav.disabled {
    display: none;
}


.slider-ban .owl-dots {
    display: block;
    position: absolute;
    /* text-align: center; */
    right: 16px;
    bottom: 23%;
}
.slider-ban .owl-dots button span {
    background: #f9f9f9;
    width: 23px;
    height: 3px;
    float: right;
    border-radius: 0px;
    border-radius: 10px;
    margin-right: 11px;
    margin-bottom: 4px;
    border: 1px solid #f9f9f9;
    margin-top: 0px;
    position: relative;
    z-index: 999;
}
.slider-ban .owl-dot.active span {
    background: #a18730;
    border-color: #a18730;
    width: 35px;

}.services-section {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  background: linear-gradient(to top, rgba(45, 35, 10, 0.9), rgba(0, 0, 0, 0)); /* subtle dark overlay */
  /* padding: 40px 0px; */
  color: #fff;
  z-index: 3;
  border-top: 1px solid #64604f;
  /* margin-top: 40px; */
}
.services-section-mob{
    float: left;
    width: 100%;
}

.service-box {
  /* flex: 1; */
  max-width: 380px;
  text-align: left;
  /* display: flex; */
  /* align-items: unset; */
  float: left;
  padding: 37px 69px;
  width: auto;
  border-right: 1px solid #3f3d32;
}

.service-box img {
  width: 62px;
  margin-bottom: 0px;
  float: left;
  margin-right: 20px;
}

.service-box h4 {
  font-size: 16px;
  color: #eac440;
  margin-bottom: 6px;
  font-weight: bold;
}

.service-box p {
  font-size: 16px;
  color: #fff;
  margin: 0;
  font-weight: 400;
  line-height: 21px;
} 




.banner1{
    float: left;
    width: 100%;
    padding: 95px 0px;
    background-image: url("../images/marble-bg.webp");
    background-size: cover;
    background-repeat: no-repeat;
}

.banner1 h4{
    float: left;
    color: #FFFFFF;
    font-size: 40px;
    font-weight: 400;
    text-align: left;
    line-height: 120%;
    width: 67%;
    /* margin-bottom: 200px; */
    letter-spacing: -1.5px;
    font-family: "Instrument Sans", sans-serif !important;
}.banner1 h4 span{
    color: #808080;
}

.banner1-cont{
        display: flex;
        align-items: end;
        justify-content: space-between;
}
.b1-a {
  float: left;
  background: #8FB53E;
  padding: 15px 31px;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1; /* keep text above */
  width: 165px;
  height: 54px;
  gap: 13px;
}
.b1-a img{
  margin-top: 1px;
    float: right;
    width: 15px !important;
}

.b1-a::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; /* keep it behind */
}

.b1-a:hover {
  color: #fff;
}

.b1-a:hover::before {
  transform: scale(1);
  z-index: 2; /* bring border above background */
}


  @media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1209px;
    }
}



/*odometer*/

 .counterup-section {
      text-align: center;
      float: left;
      width: 100%;
      /* background-color: #000; */
      display: flex;
      padding-top: 86px;
      align-items: center;
      justify-content: space-between;
    }

    .counterup-container {
 float: left;
 width: 100%;
 display: flex;
 align-items: center;
 background-color: transparent;
 gap: 117px;
 justify-content: space-between;
 }
.odometer-wrapper {
  align-items: baseline;
  font-size: 40px;
  justify-content: center;
  font-weight: bold;
  float: left;
}
.odometer-wrapper {
  gap: 0;
  padding: 0;
  display: flex;
  align-items: baseline;
}
.plus{
 display: inline-flex;
 align-items: baseline;
 font-size: 50px;
 justify-content: center;
 font-weight: 400;
 float: left;
 top: 2px;
 position: relative;
color: #fff;
  font-size: 64px;
  line-height: 72px;


}
    .counter-box {
        float: left;
     
        justify-content: center;
    }

 .odometer,
.odometer .odometer-digit,
.odometer .odometer-value {
  font-size: 64px;
  font-weight: 400;
  line-height: 72px;
  letter-spacing: 2px;
  background: #fff;
  font-family: "Instrument Sans", sans-serif !important;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

   
.counter-box h6{
    font-family: "Instrument Sans", sans-serif !important;
    float: left;
    width: 100%;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 15px;
    line-height: 32px;
}
.counter-1 {
    float: left;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.counter-box {border-top: 1px solid;padding-top: 27px;}
.counter-box:last-of-type {/* border-top-right-radius: 20px; */}

.banner2{
    float: left;
    width: 100%;
    padding: 75px 0 117px 0px;
    background-color: #fff;
}
.b2-1{
    float: left;
    width: 66.5%;
}
.b2-2{
    float: left;
    width: 33.5%;
}
/* Typography */
.banner2 h6 {
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    color: #161616;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: 1px;
    margin-bottom: 24px;
}
.banner2 h6 img{
    width: 13px !important;
    height: auto !important;
}

.banner2 h5 {
    font-size: 60px;
    color: #161616;
    letter-spacing: -4px;
    font-weight: 400;
    margin-bottom: 54px;
    word-spacing: 5px;
}

.banner2 h5 span {
    color: #919191;
}

.mission-carousel h2 {
    font-size: 42px;
    font-weight: 400;
    letter-spacing: -3px;
    line-height: 40px;
    margin-bottom: 20px;
}

.mission-carousel p {
    color: #373A3B;
    line-height: 180%;
    font-size: 16px;
    font-weight: 400;
    float: left;
     text-align: justify;
    margin-bottom: 19px;
}

/* Image Styling */
.banner2 img {
    max-width: 724px;
    height: 390px;
    object-fit: cover;
}

/* Custom Owl Carousel Pagination */
.mission-carousel.owl-carousel .owl-dots {
    margin-top: 58px;
    display: flex;
    justify-content: flex-start;
    gap: 20px;
    counter-reset: carousel-counter;
}

.mission-carousel.owl-carousel .owl-dot {
    flex: 1;
    max-width: 92px;
    height: 2px;
    background: #000!important; /* Inactive line color */
    position: relative;
}

.mission-carousel.owl-carousel .owl-dot.active {
        max-width: 174px;

    background: #8FB53E !important; /* Active green color from image */
}

.mission-carousel.owl-carousel .owl-dot::before {
    counter-increment: carousel-counter;
    content: "0" counter(carousel-counter);
    position: absolute;
    top: -30px;
    right: 0;
    line-height: 26px;
    font-size: 16px;
    font-weight: 500;
    color: #000;
}

.banner3{
    float: left;
    width: 100%;
    padding: 76px 0px 94px 0px;
    background-image: url("../images/cta-bg-1.webp");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position: right;
}

.banner3 h5 {
    font-size: 60px;
    color: #fff;
    letter-spacing: -4px;
    font-weight: 400;
    margin-bottom: 25px;
    word-spacing: 5px;
    float: left;
    width: 100%;
    line-height: 100%;
}

.banner3 h5 span {
    color: #808080;
    float: left;
    width: 100%;
}
.banner3 p {
    float: left;
    font-size: 16px;
    color: #fff;
    font-weight: 400;
    line-height: 180%;
    width: 100%;
    margin-bottom: 28px;
}

.banner3 a {
  float: left;
  background: #8FB53E;
  padding: 15px 31px;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1; /* keep text above */
  width: 205px;
  height: 54px;
  gap: 13px;
}
.banner3 a img{
  margin-top: 1px;
    float: right;
    width: 15px !important;
}

.banner3 a::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; /* keep it behind */
}

.banner3 a:hover {
  color: #fff;
}

.banner3 a:hover::before {
  transform: scale(1);
  z-index: 2; /* bring border above background */
}


.tile-wrapper{
    float: left;
    width: 100%;
    padding: 90px 0px;
    display: flex;
}


    

       .tile-wrapper h6 {
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    color: #161616;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: 1px;
    margin-bottom: 24px;
}

     .tile-wrapper h2 {
    font-size: 60px;
    color: #161616;
    letter-spacing: -4px;
    font-weight: 400;
    margin-bottom: 29px;
    word-spacing: 5px;
}

.tile-wrapper h2 span {
    color: #919191;
}

       .tile-wrapper h6 img{
    width: 13px !important;
}

.tile-wrapper p {
    color: #373A3B;
    line-height: 180%;
    font-size: 16px;
    font-weight: 400;
    float: left;
    margin-bottom: 27px;
}
     .tile-a {
  float: left;
  background: #8FB53E;
  padding: 15px 31px;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1; /* keep text above */
  width: 205px;
  height: 54px;
  gap: 13px;
}
.tile-a img{
  margin-top: 1px;
    float: right;
    width: 15px !important;
}

.tile-a::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; 
}

.tile-a:hover {
  color: #fff;
}

.tile-a:hover::before {
  transform: scale(1);
  z-index: 2;
}

.tile-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columns */
    gap: 38px;
    width: 100%;
    margin: 0;
    padding: 0;
}

.tile {
    width: 100%;
    aspect-ratio: 1 / 1; 
    overflow: hidden;
    position: relative;
}

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


.banner4{
    float: left;
    width: 100%;
    padding: 73px 0px 103px 0px;
    background-color: #f9f9f9;
}

       .banner4 h6 {
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    color: #161616;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: 1px;
    margin-bottom: 18px;
}

     .banner4 h2 {
    font-size: 60px;
    color: #161616;
    letter-spacing: -4px;
    font-weight: 400;
    margin-bottom: 40px;
    word-spacing: 5px;
}

.banner4 h2 span {
    color: #919191;
}

       .banner4 h6 img{
    width: 13px !important;
}
.b4-loop .item{
    width: 100%;
    float: left;
}
.b4-loop{
    padding-left: 118px;
}

.b4-product-box {
  /* border-radius: 20px; */
  overflow: hidden;
  position: relative;
  transition: all 0.3s ease;
  float: left;
  width: 100%;
}

.product-image {
  position: relative;
}

.product-image-img {
  width: 100%;
  height: 364px;
  display: block;
  transition: 0.3s ease;
  position: relative;
  z-index: 99;
}



.product-text {
 position: absolute;
 bottom: 0;
 left: 0;
 float: left;
 z-index: 99;
}

.product-text h4 {
  margin: 0;
  font-size: 30px;
  font-weight: 500;
  color: #343333;
  line-height: 140%;
  transition: color 0.3s ease;
  width: 100%;
  float: left;
  padding: 15px 23px 9px 32px;
  background-color: #fff;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 17px;
}


.b4-loop .owl-nav {
    position: absolute;
    top: -82px;
    text-align: right;
    right: 118px; /* Remove manual positioning */
}

.b4-loop .owl-nav .owl-next img {
    width: 21px !important;
    margin-bottom: 0 !important;
    margin-right: 0 !important;
}

.b4-loop .owl-nav .owl-prev img {
    width: 21px !important;
    margin-bottom: 0 !important;
    margin-right: 5px !important;
}



.banner5{
    float: left;
    width: 100%;
    padding: 79px 0px 84px 0px;
    background-image: url("../images/cta-bg.webp");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}

.banner5 h5 {
    font-size: 60px;
    color: #fff;
    letter-spacing: -3px;
    font-weight: 400;
    margin-bottom: 20px;
    word-spacing: 5px;
    float: left;
    line-height: 100%;
}

.banner5 h5 span {
    float: left;
    width: 100%;
}
.banner5 p {
    float: left;
    font-size: 16px;
    color: #fff;
    font-weight: 400;
    line-height: 180%;
    width: 100%;
    margin-bottom: 23px;
}
.banner5 a {
  float: left;
  background: #8FB53E;
  padding: 15px 31px;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1; /* keep text above */
  width: 179px;
  height: 54px;
  gap: 13px;
}
.banner5 a img{
  margin-top: 1px;
    float: right;
    width: 15px !important;
}

.banner5 a::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; /* keep it behind */
}

.banner5 a:hover {
  color: #fff;
}

.banner5 a:hover::before {
  transform: scale(1);
  z-index: 2; /* bring border above background */
}




.banner6{
    float: left;
    width: 100%;
    padding: 113px 0px;
    background-image: url("../images/marble-bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
}


    

       .banner6 h6 {
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: 1px;
    margin-bottom: 41px;
}

     .banner6 h2 {
    font-size: 60px;
    color: #fff;
    letter-spacing: -3px;
    font-weight: 400;
    margin-bottom: 42px;
    word-spacing: 5px;
}

.banner6 h2 span {
    color: #919191;
}

       .banner6 h6 img{
    width: 13px !important;
}


.feature-list {
    display: flex;
    flex-direction: column;
    gap: 46px;
}

.feature-item {
    border-bottom: 1px solid #fff; /* Dark divider line */
    padding-bottom: 38px;
    width: 100%; /* Width of the text blocks */
}

.item-left {align-self: flex-start;border-bottom-color: #98c045;} /* Green line for first item */

.feature-item:hover {
    border-bottom: 1px solid #8FB53E;
}
.item-header {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 19px;
}

.count-b6 {
    font-size: 24px;
    font-weight: 400;
    color: #fff;
}
.count-b6 span{
    color: #808080;
}
.head-2{
    justify-content: center;
}
.head-3{
    justify-content: flex-end;
}
.small-arrow {
    width: 32px;
     /* Makes arrow white if the icon is black */
}
.feature-item:last-child {
    border-bottom: none; /* Example: remove bottom border from the last one */
    margin-bottom: 0;
}

.feature-item h3 {
    font-size: 32px;
    margin-bottom: 21px;
    font-weight: 400;
    letter-spacing: -2px;
    color: #fff;
    line-height: 40px;
}

.feature-item p {
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
    color: #999;
}

/* Layout Container */
.banner7 {
    float: left;
    padding: 77px 0;
    background: #fff;
    overflow: hidden; /* Prevents carousel bleed on mobile */
    width: 100%;
}

.b7-flex-wrapper {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}
.test-loop .owl-nav button img{
    width: 21px;
    margin-left: 10px;
}
/* Left Section */
.b7-brand {
    flex: 0 0 31%; /* Fixed ratio */
    text-align: center;
    border-right: 1px solid #6f6a6a;
    padding-right: 30px;
}

.b7-brand h2 {
    font-size: 32px;
    color: #161616;
    font-weight: 400;
    line-height: 40px;
    letter-spacing: -1px;
}

.years-logo img {
    max-width: 262px;
    height: auto;
    margin: 27px 0 15px 0px;
}

.b7-brand h3 {
    font-size: 16px;
    color: #161616;
    font-weight: 500;
}

/* Right Section */
.b7-content {
    flex: 1;
    padding-left: 83px;
    min-width: 0; /* CRITICAL: Allows flex child to shrink below content size for carousel */
}

.content-header h6 {
    color: #161616;
    font-size: 16px;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.content-header h4 {
    font-size: 60px;
    margin-bottom: 30px;
    color: #161616;
    letter-spacing: -3px;
}

.content-header h4 .light {
    color: #808080; /* Light grey 'Our' */
    font-weight: 300;
}

/* Carousel Item Styling */
.test-card p {
    font-size: 32px;
    letter-spacing: -2px;
    color: #161616;
    margin-bottom: 25px;
    line-height: 40px;
}


.client-info .name {
    color: #8FB53E;
    font-size: 20px;
    font-weight: 500;
    margin: 0;
}

.client-info .location {
    font-size: 16px;
    color: #161616;
    display: block;
    margin-top: 8px;
    font-weight: 500;
}

/* Navigation Dots/Arrows (if using Owl Carousel) */
.test-loop .owl-nav {
    position: absolute;
    top: -80px;
    right: 0;
}
.content-header h6 img{
    width: 13px !important;
}

.footer-above{
    float: left;
    position: relative;
    width: 100%;
    z-index: 9;
}

.footer-above-inner{
    background-image: url("../images/abv-ftr-cta-bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
    padding: 100px 80px;
}
.footer-above-inner h2{
      font-size: 60px;
      color: #fff;
      letter-spacing: -3px;
      font-weight: 400;
      text-align: right;
      margin-bottom: 42px;
}
   .above-a {
  float: right;
  background: #8FB53E;
  padding: 15px 31px;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1; /* keep text above */
  width: 205px;
  height: 54px;
  gap: 13px;
}
.above-a img{
  margin-top: 1px;
    float: right;
    width: 15px !important;
}

.above-a::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; 
}

.above-a:hover {
  color: #fff;
}

.above-a:hover::before {
  transform: scale(1);
  z-index: 2;
}

    .footer {
     float: left;
     width: 100%;
     background-color: #232321;
     padding: 257px 0px 35px 0px;
     margin-top: -181px;
    }

 


/* TOP SECTION */
.footer-top {
  display: flex;
  flex-wrap: wrap;
  gap: 139px;
  justify-content: space-between;
  margin-bottom: 40px;
}

.footer-brand {
  flex: 1;
  min-width: 250px;
}

.logo-ftr {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 27px;
}

.logo-ftr img{
    width: 326px;
}
.brand-desc {
  color: #cacaca;
  font-weight: 400;
  font-size: 16px;
  line-height: 180%;
  width: 97%;
  margin: 0;
  text-align: justify;
}
.icon-ftr img{
    width: 20px;
}
.contact-info p a{
    color: #cacaca;
}
.footer-links {
  display: flex;
  flex: 2;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: -5px;
}

.link-group h3 {
  font-size: 16px;
  line-height: 160%;
  margin-bottom: 19px;
  font-weight: 600;
  color: #fff;
}

.link-group ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.link-group ul li {
  margin-bottom: 1px;
}

.link-group ul li a {
  color: #cacaca;
  text-decoration: none;
  font-size: 16px;
  text-decoration: 400;
  line-height: 180%;
  transition: color 0.3s;
}

.link-group ul li a:hover {
  color: #f5f5f5;
}

.contact-info p {
  color: #cacaca;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 2px;
  line-height: 29px;
}

.phone-box {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #333;
  padding: 7px 12px;
  border-radius: 50px;
  margin-top: 21px;
  color: #cacaca;
     transition: all ease-in-out .5s;
    -webkit-transition: all ease-in-out .5s;
-o-transition: all ease-in-out .5s;
-moz-transition: all ease-in-out .5s;
}

/* DIVIDER */
.footer-divider {
  border: 0;
  border-top: 1px solid #222;
  margin-top: 36px;
  margin-bottom: 14px;
}

/* CTA SECTION */
.footer-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 50px 0;
  flex-wrap: wrap;
  gap: 20px;
  border-top: 1px solid #414141;
  border-bottom: 1px solid #414141;
}

.ftr-text {
  text-transform: capitalize;
  font-size: 60px;
  font-weight: 400;
  color: #fff;
  letter-spacing: -3px;
  margin: 0;
}

.ftr-text span {
  color: #808080;
}

 .btn-connect {
  float: left;
  background: #8FB53E;
  padding: 15px 31px;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1; /* keep text above */
  width: 205px;
  height: 54px;
  gap: 13px;
}
.btn-connect img{
  margin-top: 1px;
    float: right;
    width: 15px !important;
}

.btn-connect::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; 
}

.btn-connect:hover {
  color: #fff;
}

.btn-connect:hover::before {
  transform: scale(1);
  z-index: 2;
}


/* BOTTOM SECTION */
.footer-bottom {
  display: flex;
  justify-content: space-between;
  color: #e7e7e7;
  font-size: 16px;
  font-weight: 400;
}
.footer-bottom a{
      color: #e7e7e7;
}
.footer-bottom a:hover{
      color: #fff;
}


/* RESPONSIVE */
@media (max-width: 768px) {
  .footer-cta {
    flex-direction: column;
    align-items: flex-start;
  }
  .cta-text { font-size: 1.8rem; }
  .footer-bottom { flex-direction: column; gap: 10px; }
}



.abt-banner{
  float: left;
  width: 100%;
  background-image: url("../images/s-inner-banner.webp");
  background-repeat: no-repeat;
  background-position: right;
  padding: 100px 0px;

  background-size: cover;
  margin-top: 0px;
}

.abt-banner h1{
    padding-top: 80px;
    float: left;
    width: 100%;
color: #fff;
    font-size: 50px;
    font-weight: 500;
    line-height: 110%;
    text-align: center;
    margin-bottom: 0px;
  
}


.abt-ban2{
  float: left;
  width: 100%;
  padding: 90px 0px 40px 0px;
}

.abt-ban2 h1 span{
    color: #3e3e3e;

}


.abt-ban2 h1 strong {
  font-weight: bold;
}


.test-carousel-wrapper{
float: left;
width: 100%;
}


/*careers*/
#sub-page-intro {
    float: left;
    width: 100%;
    padding-top: 90px;
    padding-bottom: 62px;
}
#sub-page-intro h6 {
    font-size: 60px;
    color: #161616;
    letter-spacing: -4px;
    font-weight: 400;
    word-spacing: 3px;
    float: left;
    width: 100%;
    text-align: center;
}

#sub-page-intro h6 span {
    color: #919191;
}
#sub-page-intro p {
    text-align: center;
    float: left;
    width: 100%;
    padding: 0px 18%;
    color: #373A3B;
    line-height: 180%;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 50px;
}
.career-frn {
    float: left;
    width: 100%;
}
.frm-titel {
    float: left;
    padding-bottom: 8px;
    width: 100%;
    color: #161616;
    font-size: 16px;
    font-weight: 500;
}
.career-frm {
    border: 4px solid #b0aaaa;
    color: #161616;
    display: block;
    padding-left: 15px !important;
    font-weight: 400;
    font-size: 16px;
    height: 55px;
    margin-bottom: 30px !important;
    padding: 0 20px;
    outline: none;
    background: #f5f5f5;
    width: 100%;
    padding-left: 0px;
    border: none;
    transition: all 500msease;
    /* border: solid 1px #343170; */
    /* margin-top: 3px; */
    width: 100%;
    float: left;
    padding: 17px 10px;
    /* margin-top: 3px; */
    border-radius: 8px;
}
  .career-btn {
  float: left;
  background: #8FB53E;
  padding: 15px 31px;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1; /* keep text above */
  width: 100%;
  height: 54px;
  gap: 13px;
  margin-top: 32px;
}
.career-btn img{
  margin-top: 1px;
    float: right;
    width: 15px !important;
}

.career-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; 
}

.career-btn:hover {
  color: #fff;
}

.career-btn:hover::before {
  transform: scale(1);
  z-index: 2;
}
.custom-phone-input .iti__selected-flag {
    top: 0px !important;
}









/* ===== BASE ===== */
.nova-contact {
    /* background: #181919; */
    padding: 80px 0;
    position: relative;
    overflow: hidden;
    color: #fff;
    float: left;
    width: 100%;
}


.nova-contact-box {
    display: flex;
    backdrop-filter: blur(24px);
    background: rgb(0 0 0 / 25%);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    z-index: 2;
    padding: 0;
}

/* ===== LEFT SECTION ===== */
.nova-sec1 {
    width: 35%;
    padding: 60px 40px;
    background: rgb(0 0 0);
}

.nova-sec1 h2 {
    font-size: 30px;
    margin-bottom: 30px;
    /* font-family: 'GeneralSans-Medium'; */
    letter-spacing: -1px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 20px;
}

.nova-sec1 a {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ddd;
    text-decoration: none;
    margin-bottom: 10px;
    font-size: 17px;
    /* font-family: 'GeneralSans-Regular'; */
    font-weight: 400;
}

.nova-sec1 h2 img {
    width: 29px;
    filter: brightness(100);
}

.nova-sec1 h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 17px;
    font-weight: 409;
    line-height: 180%;
    color: #ccc;
    /* font-family: 'GEneralSans-Regular'; */
}

.nova-sec1 h3 img {
    width: 29px;
    /* margin-top: 3px; */
    filter: brightness(100);
}

/* ===== RIGHT SECTION ===== */
.nova-sec2 {
    width: 65%;
    padding: 40px;
    background: #808080;
}

.contact-label2 {
    font-size: 16px;
    color: #fff;
    font-weight: 400;
    margin-bottom: 8px;
}

/* Inputs */
.mct_form2 {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255,255,255,0.4);
    padding: 10px 5px;
    color: #fff;
    outline: none;
    font-size: 14px;
    margin-bottom: 18px;
}

.mct_form2::placeholder {
    color: #aaa;
}

textarea.mct_form2 {
    resize: none;
}


  .contact_snd {
  margin-top: 23px;
  border: none;
  float: left;
  background: #8FB53E;
  padding: 15px 31px;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1; /* keep text above */
  width: 205px;
  height: 54px;
  gap: 13px;
}
.contact_snd img{
  margin-top: 1px;
    float: right;
    width: 15px !important;
}

.contact_snd::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; 
}

.contact_snd:hover {
  color: #fff;
}

.contact_snd:hover::before {
  transform: scale(1);
  z-index: 2;
}




/* Sidebar Container */
#sidebar {
    position: fixed;
    top: 0;
    right: 0;
    width: 35%;
    height: 100%;
    z-index: 1000;
    background-color: #000;
    color: #d9d9d9;
    
    /* Set the hinge to the far right */
    transform-origin: right center; 
    
    /* INITIAL STATE: 
       - Rotated 90 deg
       - Scaled down (looks further away)
       - Slid slightly off-screen */
    transform: perspective(1000px) rotateY(90deg) scale(0.9) translateX(50px);
    opacity: 0;
    transition: 
        transform 1.1s cubic-bezier(0.4, 0, 0.2, 1), 
        opacity 0.8s ease,
        visibility 0s 1.1s;
    visibility: hidden;
    overflow-y: hidden;
    padding: 0px 60px 0px 60px;
    display: flex;
    flex-direction: column;
}

/* Sidebar Active State (Opened) */
body.sidebar-open #sidebar {
    /* ACTIVE STATE: 
       - Back to normal rotation/scale
       - Use a slight "overshoot" in the bezier for a springy feel */
    transform: perspective(1000px) rotateY(0deg) scale(1) translateX(0);
    opacity: 1;
    
    transition: 
        transform 1.1s cubic-bezier(0.34, 1.56, 0.64, 1), 
        opacity 0.6s ease;
    visibility: visible;
}
/* Optional: Overlay/Body Dimming */
body.sidebar-open {
    overflow: hidden; 
   
}

/* Sidebar Content Styling */
.sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 91px;
    padding-bottom: 10px;
    position: relative;
}

.sidebar-title {
    font-size: 37px;
    font-weight: 500;
    color: #fff;
    /* text-decoration: underline; */
    letter-spacing: -2px;
    /* margin-bottom: 30px; */
    /* text-underline-offset: 9px; */
    /* text-decoration-thickness: 1px; */
}
.sidebar-title img{
    width: 11px;
    margin-left: 29px;
}
.sidebar-title:hover{
        color: #969595;

}
.close-btn {
    color: #969595;
    font-size: 59px;
    text-decoration: none;
    line-height: 0.5;
    transition: color 0.3s;
    margin-top: -2px;
    float: left;
    text-align: left;
    position: absolute;
    top: 28px;
    font-weight: 300;
}

.close-btn:hover {
    color: #858585;
    text-decoration: none;
}

/* Section Styling */
.social-links-side{
    
}
 .social-links-side h4 {
    margin-top: 30;
    color: #fff; /* Highlight color for headers */
    font-weight: 500;
    font-size: 26px;
    letter-spacing: -1px;
    margin-bottom: 20px;
    /* text-decoration: underline; */
    /* text-underline-offset: 5px; */
    /* text-decoration-thickness: 1px; */
}

.side-social{
    display: flex;
    gap: 19px;
}
/* Social Icon Styling */
.social-icon-side {
    display: inline-block;
    /* display: flex; */
    /* gap: 28px; */
}

.social-icon-side img{
    width: 23px;
}
.social-icon-side:hover {
    background-color: #000;
    color: #000;
}
.quick-enquiry {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.sidebar-content {
    display: flex;
    flex-direction: column;
    gap: 54px;
}
.sidebar-content::-webkit-scrollbar {
    width: 1px;
    background-color: transparent; 
}

.sidebar-content::-webkit-scrollbar-track {
    background: #000; 
}

.sidebar-content::-webkit-scrollbar-thumb {
    background-color: #000; 
    border-radius: 1px; 
}

.sidebar-content::-webkit-scrollbar-thumb:hover {
    background-color: #000;
}
/* Stylish Two-Column Modal for Join Now Form */

/* Stylish Two-Column Modal for Join Now Form */

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease, visibility 0.3s;
    padding: 20px;
    box-sizing: border-box;
}

.modal-overlay.is-visible {
    visibility: visible;
    opacity: 1;
}

.modal-content {
    background: rgb(41 41 41);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(12px);
    
    /* Existing Styles */
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    width: 95%;
    max-width: 800px;
    position: relative;
    overflow: hidden;
    color: #000; /* Ensures text remains readable */
}

.join-form input {
    /* background: rgba(255, 255, 255, 0.5) !important; */
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
.close-button {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 2.5rem;
    color: #fff;
    cursor: pointer;
    transition: color 0.2s;
}

.close-button:hover {
    color: #333;
    /* transform: rotate(90deg); */
}

.modal-header-form {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #7e7e7e;
}

.modal-header-form h2 {
   font-size: 38px; /* Adjust font size as needed */
   font-weight: 400;
   line-height: 125%;
   margin-bottom: 16px;
   color: #fff; /* Dark text color */
   letter-spacing: -2px;
   /* font-family: 'GeneralSans-Medium'; */
}

.modal-header-form p {
    color: #fff;
    font-size: 16px;
    /* font-family: 'GeneralSans-Regular'; */
    font-weight: 400;
}

.join-form {
    display: flex;
    flex-wrap: wrap; /* Allows columns to wrap on smaller screens */
    gap: 20px; /* Spacing between columns and rows */
}

.join-form .form-group {
    flex: 1 1 calc(50% - 10px); /* Two columns: 50% width minus half the gap */
    margin-bottom: 0;
}

@media (max-width: 600px) {
    .join-form .form-group {
        flex: 1 1 100%; /* Stack columns on very small screens */
    }
    .modal-content {
        padding: 5px;
    }
}

.join-form label {
    display: block;
    font-weight: 400;
    color: #fff;
    margin-bottom: 8px;
    font-size: 16px;
    /* font-family: 'GeneralSans-Regular'; */
    /* letter-spacing: -0.5px; */
}

.join-form label i {
    margin-right: 8px;
    color: #ffffff; /* Accent color for icons */
}

.join-form input[type="text"],
.join-form input[type="email"],
.join-form input[type="password"],
.join-form input[type="tel"] {
    width: 100%;
    padding: 14px 15px;
    border: none;
    border-radius: 11px;
    font-size: 14px;
    transition: border-color 0.3s, box-shadow 0.3s;
    box-sizing: border-box;
    /* font-family: 'GeneralSans-Regular'; */
    font-weight: 400;
    color: #000;
}

.iti { width: 100%; }
.iti__country-list { z-index: 2001; }

.join-form input:focus {
    /* border-color: #34db72; */
    box-shadow: 0 0 8px rgb(0 128 0 / 10%);
    background-color: #fff;
    outline: none;
}

.subscribe-form {
    display: flex;
    justify-content: flex-end;
    width: 93%;
    position: relative;
    align-items: center;
}

.subscribe-form input[type="email"] {
    background: transparent; /* Darker background for the input field */
    border: 1px solid #2b2b2b;
    color: #fff;
    padding: 20px 24px;
    font-size: 16px;
    border-radius: 100px;
    width: 100%;
    outline: none;
    transition: border-color 0.3s;
    position: relative;
    height: 64px;
    font-weight: 400;
    float: left;
}

.subscribe-form input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.subscribe-form button {
       position: absolute;
       right: 8px;
       width: 125px;
       height: 48px;
       border-radius: 100px;
       border: 1px solid rgba(255, 255, 255, 0.18);
       background: #8fb53d;
       backdrop-filter: blur(14px);
       -webkit-backdrop-filter: blur(14px);
       /* box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.45), 0 8px 20px rgb(143 181 61); */
       color: #ffffff;
       font-size: 16px;
       font-weight: 500;
       cursor: pointer;
       transition: all 0.3s ease;
}


.subscribe-form button::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; 
}

.subscribe-form button:hover {
  color: #fff;
}

.subscribe-form button:hover::before {
  transform: scale(1);
  z-index: 2;
}


.abt-ban2{
  float: left;
  width: 100%;
  padding: 90px 0px 40px 0px;
}
.abt-ban2 h1{
  text-transform: capitalize;
  margin-bottom: 20px;
  font-size: 55px;
  line-height: 60px;
  color: #161616;
  font-weight: 400;
  letter-spacing: -3px;
}
.abt-ban2 h1 span{
    color: #808080;
}


.abt-ban2 h1 strong {
  font-weight: bold;
}


.abt-ban2 p{color: #161616;font-size: 16px;font-weight: 400;line-height: 180%;padding-bottom: 0px;text-align: justify;/* letter-spacing: 0.5px; */}
.abt-ban2 img{
        margin-top: 20px;
  border-radius: 35px;
  float: left;
  width: 520px;
  height: 480px;
  object-fit: cover;
  margin-right: 80px;
  margin-bottom: 20px;
  /* filter: grayscale(1); */
  transition: all ease-in-out .5s;
  -webkit-transition: all ease-in-out .5s;
  -o-transition: all ease-in-out .5s;
  -moz-transition: all ease-in-out .5s;
  position: relative;
  z-index: 9;
}






.abt-ban3{
  float: left;
  width: 100%;
  padding: 90px 0px 0px 0px;
}
.abt-ban3 h1{  margin-bottom: 20px;
  font-size: 55px;
  line-height: 60px;
  color: #5a4d20;

  font-weight: 300;
}
.abt-ban3 h1 span{
    color: #3e3e3e;

}


.abt-ban3 h1 strong {
  font-weight: bold;
}


.abt-ban3 p{color: #3e3e3e;font-size: 16px;font-weight: 400;line-height: 190%;padding-bottom: 0px;text-align: left;/* letter-spacing: 0.5px; */}
.abt-ban3 img{
  border-radius: 35px;
  float: left;
  width: 520px;
  height: 480px;
  object-fit: cover;
  margin-right: 80px;
  margin-bottom: 20px;
  /* filter: grayscale(1); */
  transition: all ease-in-out .5s;
  -webkit-transition: all ease-in-out .5s;
  -o-transition: all ease-in-out .5s;
  -moz-transition: all ease-in-out .5s;
  position: relative;
  z-index: 9;
}

.abt-ban3 h6 {
  font-size: 19px;
  color: #564816;
  margin-bottom: 19px;
  font-weight: 500;
 
  text-decoration: underline;
  text-underline-offset: 4px;
}





.strength{
    float: left;
    width: 100%;
    padding: 70px 0px 60px 0px;
    position: relative;
    /* background: linear-gradient(180deg, rgba(255, 255, 253, 1) 0%, rgba(253, 242, 207, 1) 100%); */
    background: #161616;
}
.strength h6 {
  font-size: 19px;
  color: #564816;
  margin-bottom: 19px;
  font-weight: 500;
  float: left;
  width: 100%;
  /* text-decoration: underline; */
  /* text-underline-offset: 4px; */
}

.strength h5 {
  margin-bottom: 57px;
  font-size: 55px;
  line-height: 60px;
  color: #5a4d20;
  float: left;
  width: 100%;
  font-weight: 300;
}
.strength h5 span{
    color: #3e3e3e;
    float: left;
    width: 100%;
}


.strength h5 strong {
  /* float: left; */
  /* width: 100%; */
  font-weight: bold;
}



    .strength-box{
            height: 502px;
            float: left;
            width: 100%;
            border-radius: 20px;
            padding: 30px 30px;
            text-align: center;
            border: 1px d #000;
            margin-bottom: 20px;
            border: 1px solid #d5d5d5;
            background-color: #fff;
            transition: background-color 0.5s ease-in-out;
            -o-transition: background-color 0.5s ease-in-out;
            -ms-transition: background-color 0.5s ease-in-out;
            -moz-transition: background-color 0.5s ease-in-out;
            -webkit-transition: background-color 0.5s ease-in-out;
}

.strength-box:hover {
  background-color: #8fb33e;
  transition: background-color 0.5s ease-in-out;
  -o-transition: background-color 0.5s ease-in-out;
  -ms-transition: background-color 0.5s ease-in-out;
  -moz-transition: background-color 0.5s ease-in-out;
  -webkit-transition: background-color 0.5s ease-in-out;
}

.strength-box:hover img{filter: invert(1);}

.strength-box:hover h2 {color: #fff;}

.strength-box:hover h3 {color: #fff;}
.strength-box img{
    /* filter: invert(1); */
    float: none;
    margin-left: auto;
    margin-right: auto;
    display: block;
    margin-bottom: 15px;
    width: 70px;
    transition: all ease-in-out 0.5s;
    -o-transition: all ease-in-out 0.5s;
    -ms-transition: all ease-in-out 0.5s;
    -moz-transition: all ease-in-out 0.5s;
    -webkit-transition: all ease-in-out 0.5s;
}
.strength-box h2
{
      transition: all ease-in-out 0.5s;
      -o-transition: all ease-in-out 0.5s;
      -ms-transition: all ease-in-out 0.5s;
      -moz-transition: all ease-in-out 0.5s;
      -webkit-transition: all ease-in-out 0.5s;
      float: left;
      width: 100%;
      text-align: center;
      font-weight: 500;
      font-size: 33px;
      margin-bottom: 15px;
      color: #000;
      letter-spacing: -1px;
}


.strength-box h3{
      transition: all ease-in-out 0.5s;
      -o-transition: all ease-in-out 0.5s;
      -ms-transition: all ease-in-out 0.5s;
      -moz-transition: all ease-in-out 0.5s;
      -webkit-transition: all ease-in-out 0.5s;
      font-size: 16px;
      color: #000;
      font-weight: 400;
      float: left;
      width: 100%;
      line-height: 180%;
      text-align: center;
      }

.inner-p {
      text-align: justify;
      float: left;
      font-size: 17px !important;
      letter-spacing: 0 !important;
      font-weight: 400;
      line-height: 180% !important;
      width: 100%;
}



.quality-ban{
  float: left;
  width: 100%;
  padding: 70px 0px;
      margin-bottom: 75px;
      background-color: #f9f9f9; 
}
.q-box{
  height: 300px;
  float: left;
  width: 100%;
  padding: 30px 30px;
  background-color: #161616;
  border-radius: 20px;
  border: 1px dashed #fff;
  margin-bottom: 20px;
}
.q-box img{
  float: none;
  display: block;
  margin:auto;
  width: 50px;
  filter: invert(1);

}
.q-box h5{
      color: #fff;
      float: left;
      width: 100%;
      font-weight: 500;
      font-size: 24px;
      margin-bottom: 20px;
      margin-top: 20px;
      text-align: center;
      letter-spacing: -1px;
}
.q-box p{
      float: left;
      font-size: 16px;
      color: #adadad;
      font-weight: 400;
      text-align: left;
      line-height: 180%;
      width: 100%;
      text-align: center;
}

.quality-ban h6 {
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    color: #161616;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: 1px;
    margin-bottom: 24px;
        float: left;
    width: 100%;
    text-align: center;
    justify-content: center;
}
.quality-ban h6 img{
    width: 13px !important;
}

.quality-ban h2 {
    font-size: 60px;
    color: #161616;
    letter-spacing: -4px;
    font-weight: 400;
    margin-bottom: 54px;
    word-spacing: 5px;
    float: left;
    width: 100%;
    text-align: center;
}

.quality-ban h2 span {
    color: #919191;
}


/* Layout Containers */
.service-sec {
    /* padding: 30px 0; */ /* Top/bottom padding for the whole section */
    float: left;
    width: 100%;
}

.main-content-layout {
    display: flex;
    gap: 30px; /* Space between content and sidebar */
}

.content-column {
    flex: 3; /* Takes up more space */
    min-width: 0; /* Important for flex items with content like images */
    padding: 60px 0px;
}

.sidebar-column {
    flex: 1.2; /* Takes up less space */
    min-width: 280px; /* Minimum width for the sidebar */
    background-color: #8fb53d24;
    padding: 60px 20px;
}

/* Typography and Headings */
h2 {
    font-size: 30px;
    margin-bottom: 15px;
    /* color: #333; */
}

h3.widget-title {
    font-size: 35px;
    letter-spacing: -2px;
    margin-bottom: 0;
    /* background-color: #834594; */
    color: #161616;
    font-weight: 400;
    float: left;
    width: 100%;
}
.service-list a{color: #181818;}
.service-list{
    padding: 8px 10px;
    background-color: #fff;
    border-radius: 11px;
    float: left;
    width: 100%;
}
.service-list:hover{
    background-color: #8eb444;
}
.service-list:hover a{
    color:#FEF8FF ;
        padding-left: 10px;


}
a:hover{
    cursor: pointer;
}
.active-service{background-color: #8eb444 !important;}
.active-service a{
        color: #ffff!important;
        padding-left: 10px !important;
}
/* Sections */
.section {
    margin-bottom: 10px;
}

.hero-image img {
    width: 100%;
    height: 432px;
    display: block;
    margin-bottom: 40px;
    object-fit: cover;
    border-radius: 20px;
}

/* Bedroom Content/List Styling */
.bedroom-content-list {
    display: flex;
    gap: 30px;
    align-items:center;
    float: left;
    width: 100%;
}

.bedroom-image {
    flex-basis: 52%;
    max-width: 40%;
    /* height: 418px; */
}

.bedroom-image img {
    width: 100%;
    height: 229px;
    display: block;
    border-radius: 20px;
    object-fit: cover;
}

.list-container {
    flex-basis: 65%;
    display: flex;
    gap: 20px;
    padding-top: 10px;
}

.list-container ul {
    list-style: none;
    flex: 1;
}

.list-container li {
    padding: 5px 0;
    display: flex;
    align-items: center;
    font-family: 'Syne';
    font-weight: 400;
    line-height: 200%;
    font-size: 16px;
}

.list-container li i {
    color: #7b9449; 
    margin-right: 10px;
    font-size: 14px;
}


/* Sidebar Widgets */
.widget {

    margin-bottom: 30px;
}

/* Contact Form Styling */
.contact-form {
    position: relative;
    padding: 20px 0px;
    float: left;
    width: 100%;
    /* border: 1px solid #efefef; */
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: none;
    /* font-family: 'Syne', sans-serif; */
    font-size: 16px;
    border-radius: 10px;
    line-height: 1.5;
    color: #161616;
    font-weight: 400;
}

.contact-form textarea {
    resize: vertical;
    min-height: 100px;
}


 .submit-button {
  float: left;
  background: #8FB53E;
  padding: 15px 31px;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1; /* keep text above */
  width: 100%;
  border: none;
  height: 54px;
  gap: 13px;
}


.submit-button::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; 
}

.submit-button:hover {
  color: #fff;
}

.submit-button:hover::before {
  transform: scale(1);
  z-index: 2;
}

/* Contact Details Styling */
.contact-details-widget {
    float: left;
    width: 100%;
    margin-top: 28px;
}

.contact-details-widget ul {
    list-style: none;
    padding: 20px 0px;
    float: left;
    width: 100%;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.contact-details-widget li {
    line-height: 200%; /* Adjust line height for list to look tighter */
    cursor: pointer;
    align-items: center;
    float: left;
    width: 100%;
    gap: 2px;
    text-align: left;
}

.contact-details-widget li i {
    color: #7b8e5c; /* Accent color */
    margin-right: 15px;
    font-size: 18px;
    width: 20px; /* Fixed width for consistent alignment */
    text-align: center;
    float: left;
    width: 100%;
}
.wi-img{
    width: 23px;
    margin-right: 10px;
}
/* Ad/Flyer Widget */
.ad-widget {
    padding: 0;
    border: none; /* No border for the ad image */
    float: left;
    width: 100%;
}

.ad-widget img {
    width: 100%;
    height: auto;
    display: block;
}



.technology-integration p{
      float: left;
      font-size: 16px;
      color: #161616;
      font-weight: 400;
      text-align: left;
      line-height: 180%;
      width: 100%;
      margin-bottom: 30px;
}

.technology-integration h2 {
    font-size: 52px;
    color: #161616;
    letter-spacing: -4px;
    font-weight: 400;
    margin-bottom: 15px;
    word-spacing: 5px;
    float: left;
    width: 100%;
}

.technology-integration h2 span {
    color: #919191;
}



.contact2-widget {
  background: #ffffff;
  /* border-radius: 12px; */
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  padding: 29px 20px;
  color: #333333;
  /* font-family: 'Lora', sans-serif; */
  float: left;
  width: 100%;
  background-image: url("../images/s-cta-img.webp");
  background-size: cover;
  position: relative;
  background-attachment: fixed;
}
.cw-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
  border-radius: 12px;
  /* padding: 0px 40px; */
}

/* Left section (icon + title) */
.cw-title {
  font-weight: 400;
  font-size: 31px;
  color: #fff;
  float: left;
  width: 100%;
  text-align: left;
}
.cw-inner {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 2;
  padding: 0px 29px;
}
.sona-icon{
    width: 212px;
}

/* Right section (contact info + button) */
.cw-contacts {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  float: left;
  width: 100%;
  align-items: baseline;
}

.cw-contact {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
  font-size: 14px;
  justify-content: center;
}

.cw-link {
  float: none;
  color: #fff;
  font-weight: 400;
  transition: color 0.3s ease;
  font-size: 30px;
  text-align: center;
}
.cw-icon-box {
    display: flex;
    flex-direction: column;
    min-width: 100%;
    text-align: center;
    gap: 18px;
}
.cw-link:hover {
  color: #0b76ff;
}

/* Call back button */
.cw-action {
  margin-top: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cw-callback {
  float: left;
  background: #8FB53E;
  padding: 15px 31px;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1; /* keep text above */
  width: 250px;
  height: 54px;
  gap: 13px;
}


.cw-callback::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; 
}

.cw-callback:hover {
  color: #fff;
}

.cw-callback:hover::before {
  transform: scale(1);
  z-index: 2;
}





.join {
  float: left;
  background: #8FB53E;
  padding: 15px 31px;
  border-radius: 30px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1; /* keep text above */
  width: 100%;
  height: 54px;
  gap: 13px;
}


.join::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 30px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
  z-index: -1; 
}

.join:hover {
  color: #fff;
}

.join:hover::before {
  transform: scale(1);
  z-index: 2;
}



.whats-float {
    position: fixed;
    transform:translate(108px,0px);
    top: 45%;
    right: -113px;
    width: 270px;
    overflow: hidden;
    background-color: #8FB53E;
    color: #FFF;
    border-radius: 10px 0 0 0px;
    z-index: 10;
    transition: all 0.5s ease-in-out;
    vertical-align: middle;
    /* display: flex; */
    /* align-items: center; */
    justify-content: center;
    z-index: 99999;
}
.whats-float small {
    color: white;
    font-size: 13px;
    padding: 22px 0px;
    /* padding-bottom: 10px; */
    position: absolute;
    line-height: 16px;
    font-weight: 600;
}

.whats-float img {
    width: 54px;
    color: white;
    line-height: 30px;
    padding: 16px 10px 16px 14px;
    transform:rotate(0deg);
    transition: all 0.5s ease-in-out;
    text-align:center;
}

.whats-float:hover {
    color: #FFFFFF;
    transform:translate(0px,0px);
}

.whats-float:hover i  {
    transform:rotate(360deg);
}
.mail-float{
     top: 52% !important;
     border-radius: 0px 0 0 10px;
     background-color: #161616;
}




/* Full screen overlay */
.loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000; /* Matches your black logo background */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.sona-loader {
    position: relative;
    width: 200px;
    height: 200px;
}

/* The Hexagonal Green Ring */
.hex-outer {
    box-sizing: border-box;
    position: absolute;
    width: 100%;
    height: 100%;
    border: 4px solid transparent;
    border-top-color: #88b444; /* Your Logo Green */
    border-bottom-color: #88b444;
    border-radius: 35%; /* Mimics the organic hex shape */
    animation: spin 1.5s linear infinite;
}

/* The Pulsing Marble Core */
.marble-core {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* font-family: 'serif'; */ /* Matches "SONA" font style */
    font-weight: bold;
    font-size: 81px;
    color: #fff;
    text-shadow: 0 0 10px rgba(255,255,255,0.8);
    animation: pulse 1.5s ease-in-out infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); border-width: 4px; }
    50% { transform: rotate(180deg); border-width: 1px; }
    100% { transform: rotate(360deg); border-width: 4px; }
}

@keyframes pulse {
    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(0.9); }
    50% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
}


.phone-box:hover {
   transition: all ease-in-out .5s;
    -webkit-transition: all ease-in-out .5s;
-o-transition: all ease-in-out .5s;
-moz-transition: all ease-in-out .5s;
    border: 1px solid #f5f5f5;
}

.contact-info p a:hover {
    color: #fff;
}