.elementor-kit-4{--e-global-color-primary:#A83435;--e-global-color-secondary:#424242;--e-global-color-text:#0B0B0B;--e-global-color-accent:#F0D5D5;--e-global-color-c7911ae:#A83435;--e-global-color-d2e7ddb:#812E2F;--e-global-color-1457e80:#812E2F;--e-global-color-5f4efb3:#0B0B0B;--e-global-color-f69dcb7:#F8F8FB;--e-global-color-cf16eac:#F2EAED;--e-global-color-ee4a83a:#FFFFFF;--e-global-typography-primary-font-family:"Nexa Heavy";--e-global-typography-primary-font-size:50px;--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Nexa Extra Bold";--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Nexa Regular";--e-global-typography-text-font-size:26px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Nexa Extra Bold";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:400;--e-global-typography-08e3a90-font-family:"Nexa Regular";--e-global-typography-08e3a90-font-size:16px;--e-global-typography-08e3a90-font-weight:400;--e-global-typography-08e3a90-line-height:22px;--e-global-typography-7dd0c04-font-family:"Nexa Extra Bold";--e-global-typography-7dd0c04-font-size:20px;--e-global-typography-7dd0c04-font-weight:900;--e-global-typography-7dd0c04-text-transform:uppercase;--e-global-typography-7dd0c04-line-height:1.4em;--e-global-typography-f8208fc-font-family:"Nexa Regular";--e-global-typography-f8208fc-font-size:13px;--e-global-typography-f8208fc-font-weight:400;--e-global-typography-ea7824b-font-family:"Nunito Sans";--e-global-typography-ea7824b-font-size:14px;--e-global-typography-ea7824b-font-weight:700;--e-global-typography-ea7824b-text-transform:none;--e-global-typography-9bc9668-font-family:"Nexa Extra Bold";--e-global-typography-9bc9668-font-size:26px;--e-global-typography-9bc9668-font-weight:400;--e-global-typography-9bc9668-line-height:30px;--e-global-typography-17998ef-font-family:"Nexa Regular";--e-global-typography-17998ef-font-size:22px;--e-global-typography-17998ef-font-weight:400;--e-global-typography-17998ef-line-height:1.1em;--e-global-typography-636452e-font-family:"Nexa Regular";--e-global-typography-636452e-font-size:22px;--e-global-typography-636452e-font-weight:400;--e-global-typography-636452e-line-height:1.21em;color:var( --e-global-color-text );font-family:"Nexa Regular", Sans-serif;font-size:18px;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Nexa Extra Bold", Sans-serif;font-size:20px;color:var( --e-global-color-ee4a83a );border-radius:10px 10px 10px 10px;padding:10px 40px 8px 40px;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:transparent;color:var( --e-global-color-ee4a83a );background-image:linear-gradient(88deg, var( --e-global-color-primary ) 50%, var( --e-global-color-1457e80 ) 100%);box-shadow:0px 8px 10px 0px rgba(167.99999999999991, 51.99999999999998, 52.999999999999986, 0.23);}.elementor-kit-4 a{color:var( --e-global-color-primary );}.elementor-kit-4 h1{color:var( --e-global-color-text );font-family:"Nexa Heavy", Sans-serif;font-size:50px;}.elementor-kit-4 h2{color:var( --e-global-color-text );font-family:"Nexa Heavy", Sans-serif;font-size:32px;}.elementor-kit-4 h3{color:var( --e-global-color-text );font-family:"Nexa Extra Bold", Sans-serif;font-size:30px;}.elementor-kit-4 h4{color:var( --e-global-color-text );font-family:"Nexa Regular", Sans-serif;font-size:26px;}.elementor-kit-4 h5{color:var( --e-global-color-text );font-family:"Nexa Extra Bold", Sans-serif;font-size:24px;}.elementor-kit-4 h6{color:var( --e-global-color-text );font-family:"Nexa Regular", Sans-serif;font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1280px){.elementor-kit-4{--e-global-typography-9bc9668-font-size:22px;--e-global-typography-17998ef-font-size:20px;--e-global-typography-17998ef-line-height:25px;--e-global-typography-636452e-font-size:20px;--e-global-typography-636452e-line-height:1.1em;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:transparent;background-image:linear-gradient(90deg, var( --e-global-color-primary ) 50%, var( --e-global-color-1457e80 ) 100%);}}@media(max-width:1024px){.elementor-kit-4{--e-global-typography-9bc9668-font-size:18px;--e-global-typography-9bc9668-line-height:20px;--e-global-typography-17998ef-font-size:16px;--e-global-typography-17998ef-line-height:18px;--e-global-typography-636452e-font-size:16px;--e-global-typography-636452e-line-height:1.1em;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:transparent;background-image:linear-gradient(90deg, var( --e-global-color-primary ) 50%, var( --e-global-color-1457e80 ) 100%);}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4{--e-global-typography-primary-font-size:34px;--e-global-typography-08e3a90-line-height:1.8em;--e-global-typography-9bc9668-font-size:18px;--e-global-typography-9bc9668-line-height:25px;--e-global-typography-17998ef-font-size:16px;--e-global-typography-17998ef-line-height:18px;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:transparent;background-image:linear-gradient(90deg, var( --e-global-color-primary ) 50%, var( --e-global-color-1457e80 ) 100%);}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.color-active a {
    background-color: #A83435 !important;
    color: #fff !important;
}

/* The card wrapper should be a positioning context for the absolute icon */
.project-card {
  position: relative;
  overflow: hidden; /* optional, keeps children clipped if needed */
}

/* Base styling for the icon – adjust bottom/right to taste */
.project-card .sust-icon,
.project-card .sust-icon img,
.project-card .sust-icon svg {
  
  transition: opacity .7s ease, transform .7s ease;
  opacity: 1;
  pointer-events: none; /* icon is decorative; clicks pass through */
}

/* Fade the icon out when the card is hovered or focused (keyboard/touch) */
.project-card:hover .sust-icon,
.project-card:hover .sust-icon img,
.project-card:hover .sust-icon svg,
.project-card:focus-within .sust-icon,
.project-card:focus-within .sust-icon img,
.project-card:focus-within .sust-icon svg {
  opacity: 0;
  transform: scale(.96); /* optional: a tiny shrink while fading */
}

/*Mobile tabs Project Highlights*/
@media (max-width: 767px) {
  .tabs-row {
    display: flex !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 12px;
    padding: 0px 0px 6px;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    grid-template-columns: none !important;
    grid-auto-flow: unset !important;
  }

  .tabs-row .elementor-widget-button {
    flex: 0 0 auto;
    scroll-snap-align: center;

    /* ensure all 8 fit scrollable */
    min-width: calc((100% - 24px) / 3); /* ~3 tabs per screen */
  }

  .tabs-row .elementor-widget-button,
  .tabs-row .elementor-button-wrapper,
  .tabs-row .elementor-button {
    width: auto !important;
    white-space: nowrap;
  }

  .tabs-row::-webkit-scrollbar {
    display: none;
  }
}
/* Mobile tabs Project Highlights */
@media (max-width: 767px) {
  .tabs-row {
    display: flex !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 12px;
    padding: 0 0 6px;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    grid-template-columns: none !important;
    grid-auto-flow: unset !important;
  }

  .tabs-row .elementor-widget-button {
    flex: 0 0 auto;
    scroll-snap-align: center;
    min-width: calc((100% - 24px) / 3); /* ~3 tabs per screen */
  }

  .tabs-row .elementor-widget-button,
  .tabs-row .elementor-button-wrapper,
  .tabs-row .elementor-button {
    width: auto !important;
    white-space: nowrap;
  }

  .tabs-row::-webkit-scrollbar {
    display: none;
  }
}

/* Tablet tabs Project Highlights */
@media (min-width: 768px) and (max-width: 1024px) {
  .tabs-row {
    display: flex !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 12px;
    padding: 0 0 6px;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    
  }

  .tabs-row .elementor-widget-button {
    flex: 0 0 auto;
    scroll-snap-align: center;
    min-width: calc((100% - 48px) / 5); /* ~5 tabs per screen */
  }

  .tabs-row .elementor-widget-button,
  .tabs-row .elementor-button-wrapper,
  .tabs-row .elementor-button {
    width: auto !important;
    white-space: nowrap;
  }

  .tabs-row::-webkit-scrollbar {
    display: none;
  }
}

/* ===== Flip card overlay fix =====
   Show overlay icons on FRONT side only
   and hide them when card flips (hover or click)
==================================== */

/* Default: visible on front */
.flip-card .overlay-icon {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  pointer-events: none; /* decorative, not clickable */
}

/* When FLIPPED (on hover OR click) → hide */
.flip-card:hover .overlay-icon,
.flip-card.elementor-flip-box--flipped .overlay-icon {
  opacity: 0;
  visibility: hidden;
}

/* =========================
   CTA Full Button Styling
   ========================= */

/* Style the red circular chevron (desktop default) */
.cta-full-button .elementor-button-icon {
  background: #a83435 !important;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 46px;   /* desktop circle size */
  height: 46px;  /* keep circle shape */
}

/* Chevron inside the circle */
.cta-full-button .elementor-button-icon i,
.cta-full-button .elementor-button-icon svg {
  font-size: 18px; 
  width: 18px;
  height: 18px;
  color: #fff !important;
  fill:  #fff !important;
}

/* Align text + icon horizontally */
.cta-full-button .elementor-button-content-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* Tablet scaling */
@media (max-width: 1024px) {
  .cta-full-button .elementor-button-icon {
    width: 36px;
    height: 36px;
  }
  .cta-full-button .elementor-button-icon i,
  .cta-full-button .elementor-button-icon svg {
    font-size: 14px;
    width: 14px;
    height: 14px;
  }
}

/* Mobile: hide icon & center text */
@media (max-width: 767px) {
  .cta-full-button .elementor-button-icon {
    display: none !important;
  }
  .cta-full-button .elementor-button-text {
    text-align: center;
    flex: 1;
  }
}


/* Optional: stronger fade for mobile */
@media (max-width: 767px) {
  .grey-container {
    background: linear-gradient(
      180deg,
      #ffffff 0%,
      #ffffff 100%
    ) !important;
  }
}

/* 🎯 Apply only to this specific carousel */
.custom-carousel .elementor-swiper {
  position: relative !important; /* define positioning anchor for pagination */
  overflow: hidden !important;   /* prevent layout breaking */
}

/* 🎯 Position pagination neatly inside bottom-left area */
.custom-carousel .swiper-pagination {
  position: absolute !important;
  inset: auto auto 45px 0px !important; /* top right bottom left */
  transform: none !important;
  display: flex !important;
  gap: 1px !important;
  justify-content: flex-start !important;
  width: auto !important;
  z-index: 10 !important;
}

/* 🔴 Inactive bullets */
.custom-carousel .swiper-pagination-bullet {
  background-color: #A83435 !important; /* red tone */
  opacity: 0.4 !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  transition: all 0.3s ease !important;
}

/* 🔴 Active bullet (elongated and darker) */
.custom-carousel .swiper-pagination-bullet-active {
  background-color: #A83435 !important; /* same red but full opacity */
  opacity: 1 !important;
  width: 30px !important;
  border-radius: 5px !important;
}

/* ✅ Tablet adjustments */
@media (max-width: 1024px) {
  .custom-carousel .swiper-pagination {
    inset: auto auto 40px 5px !important; /* slightly higher & closer in */
    gap: 1px !important; /* reduce spacing */
  }

  .custom-carousel .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
  }

  .custom-carousel .swiper-pagination-bullet-active {
    width: 22px !important;
  }
}

/* ✅ Mobile adjustments */
@media (max-width: 767px) {
  .custom-carousel .swiper-pagination {
    inset: auto auto 30px 5px !important;
    gap: 0px !important; /* tighter gap for small screens */
  }

  .custom-carousel .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
  }

  .custom-carousel .swiper-pagination-bullet-active {
    width: 20px !important;
  }
}
/*END*/
/*KPI Counter Home*/

.kpicounter {
  text-align: center !important;
}

.kpicounter .elementor-counter-number-wrapper,
.kpicounter .elementor-counter-title {
  justify-content: center !important;
  text-align: center !important;
  width: 100%;
}

.kpicounter .elementor-counter-number {
  display: block;
  margin: 0 auto;
}

.kpicounter .elementor-counter-title {
  margin-top: 8px; /* adjust spacing as needed */
  font-weight: 400; /* optional, matches your typography */
}

/* Only affect the BACK side text of all flip boxes */
@media (max-width: 767px) and (min-width: 401px) {
  .flip-card .elementor-flip-box__back .elementor-flip-box__layer__inner {
    font-size: 10px !important;
  }
}

@media (max-width: 400px) {
  .flip-card .elementor-flip-box__back .elementor-flip-box__layer__inner {
    font-size: 12px !important;
  }
}

/* Button base (uses your existing background from Elementor) */
.cta-button .elementor-button {
  position: relative;
  overflow: hidden;                /* keep overlay clipped to the radius */
}

/* keep text/icon above the overlay */
.cta-button .elementor-button .elementor-button-content-wrapper {
  position: relative;
  z-index: 1;
}

/* gradient overlay that fades in on hover */
.cta-button .elementor-button::before {
  content: "";
  position: absolute;
  inset: 0;                        /* top/right/bottom/left: 0 */
  border-radius: inherit;          /* preserve rounded corners */
  background: linear-gradient(90deg, #a83435 50%, #812E2F 100%);
  opacity: 0;                      /* hidden by default */
  transition: opacity 0.7s ease-in-out;   /* smooth fade */
  z-index: 0;                      /* sit under the content wrapper */
}

.cta-button:hover .elementor-button::before {
  opacity: 1;                      /* fade in gradient */
}

/* Icon slide on hover (what you already had) */
.cta-button .elementor-button-icon {
  transition: transform 0.5s ease-in-out;
}
.cta-button:hover .elementor-button-icon {
  transform: translateX(3px);
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Nexa Heavy';
	font-display: auto;
	src: url('https://heuristic-chandrasekhar.185-87-21-9.plesk.page/wp-content/uploads/2025/07/Fontfabric-Nexa-Heavy.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Nexa Extra Bold';
	font-display: auto;
	src: url('https://heuristic-chandrasekhar.185-87-21-9.plesk.page/wp-content/uploads/2025/07/Fontfabric-Nexa-Extra-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Nexa Regular';
	font-display: auto;
	src: url('https://heuristic-chandrasekhar.185-87-21-9.plesk.page/wp-content/uploads/2025/07/Fontfabric-Nexa-Regular.ttf') format('truetype');
}
/* End Custom Fonts CSS */