.sp-mb-30 {
    margin-bottom: 30px;
}
/* Heading Section */

.banner-title-heading {
    margin:10px 0px;
}

.banner-title-heading h2 {
    font-size:36px!important;
    color:#17479e;
}

/* ================
   Our Latest Insights
   ================ */
.insights-area {
  padding: 40px 0;
  background: #ecf0f0;
}

.insights-header {
  margin-bottom: 40px;
}

.insights-title { text-align:center;
  font-size: 32px;
  line-height: 1.25;
  color: #003a78; /* deep blue similar to LTTS */
  font-weight: 700;
}

/* Swiper wrapper */
.insights-slider {
  position: relative;
  padding-bottom: 40px;
}

.insights-slider .swiper-slide {
  height: auto;
  display: flex;
}

/* Cards */
.insight-card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 0 0 1px #e4e7eb;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* image-type cards */
.insight-card--image .insight-media {
  position: relative;
  overflow: hidden;
}

.insight-media img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 360px;
  object-fit: cover;
}

.insight-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 4px 12px;
  font-size: 12px;
  border-radius: 999px;
  background: #17479e;
  color: #ffffff;
  font-weight: 600;
}

/* overlay title for image cards */
.insight-content--overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 18px 20px 20px;
  background: linear-gradient(to top, rgba(0,0,0,0.75), rgba(0,0,0,0));
}

.insight-content--overlay .insight-heading {
  color: #ffffff;
}

/* text-only card */
.insight-card--text {
  background: #f6f7fb;
  padding: 26px 28px;
}

.insight-card--text .insight-media--flat {
  margin-bottom: 10px;
  position: relative;
}

.insight-card--text .insight-tag {
  position: static;
  display: inline-block;
  background: #00c1a3;
  color: #ffffff;
}

.insight-content {
  padding: 0;
}

.insight-heading {
  font-size: 20px;
  line-height: 1.4;
  color: #003a78;
  margin-bottom: 12px;
  font-weight: 700;
  padding:10px 0px 0px 0px;
}

.insight-text {
  font-size: 14px;
  line-height: 1.7;
  color: #4b5563;
  margin-bottom: 18px;
}

.insight-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: 8px;
  background: #003a78;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

/* arrows */
.insights-nav {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.insights-arrow {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  border: 1px solid #d1d5db;
  background: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.insights-arrow:hover {
  background: #003a78;
  color: #ffffff;
  border-color: #003a78;
}

/* responsive tweaks */
@media (max-width: 767px) {
  .insights-title { text-align:center;
    font-size: 26px;
  }

  .insight-card--text {
    padding: 22px 20px;
  }

  .light-cta-section .cta-right .mobile-show {
		display:block!important;
	}

  .mobile-hide {
    display:none!important;
  }

  .contact-person-info h2 {
    font-size:20px!important;
  }

  .light-cta-section .cta-wrapper {
	
		justify-content: center!important;
	
	}

  .hero3-wrapper {
    display:none!important;
  }
}


.read-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 20px;
  margin-top: 16px;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  color: #e11b22;
  background: transparent;
  border: 1.5px solid #e11b22;
  border-radius: 40px;
  transition: all 0.3s ease;
  cursor: pointer;
}

.read-more-btn .btn-icon {
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
}

.read-more-btn:hover {
  background: #e11b22;
  color: white;
  border-color: #e11b22;
  box-shadow: 0 4px 12px rgba(225, 27, 34, 0.2);
}

.read-more-btn:hover .btn-icon {
  transform: translateX(4px);
}



/* Responsive styles for the tab section (wwd-compact-section) */
/* Breakpoints: 767px, 480px, 320px */

/* ---------- 767px and below ---------- */

@media (min-width: 992px) {
  .wwd-compact-nav-row {
          display: grid;
          grid-template-columns: repeat(5, 1fr);
          gap: 8px;
          width: 100%;
        }


     .wwd-compact-content-area {
          background: white;
          border-radius: 12px;
          padding: 20px;
          box-shadow: 0 4px 12px rgba(0,0,0,0.08);
          border: 1px solid rgba(226,232,240,0.8);
          max-height: 500px;
          overflow-y: hidden;
          position: relative;
          
        }

        
        .wwd-compact-content-area {
           
            margin:0px auto;        
        }



      }



@media (max-width: 767px) {
  /* Tab navigation – vertical stack */
  .wwd-compact-tabs-nav .wwd-compact-nav-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .wwd-compact-tab {
    width: 100%;
    justify-content: flex-start;   /* left align content */
    padding: 12px 16px;
  }

  .wwd-ctab-icon svg {
    width: 18px;
    height: 18px;
  }

  .wwd-ctab-text {
    font-size: 0.9rem;
    font-weight: 500;
  }

  /* Tab content – stack vertically */
  .wwd-ctab-content .row {
    flex-direction: column;
    gap: 1.5rem;
  }

  .wwd-cvisual-box {
    margin-bottom: 0;
    text-align: center;
  }

  .wwd-cimg {
    max-height: 220px;
    object-fit: cover;
    width: 100%;
    border-radius: 12px;
  }

  .wwd-ctitle {
    font-size: 1.2rem;
    margin-top: 0 !important;
  }

  .wwd-ccontent-box {
    padding: 0;
  }

  .wwd-cdesc {
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 1rem;
  }

  .wwd-cfeatures {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .wwd-cfeature {
    background: #f3f4f6;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
  }

  .wwd-cfeat-text {
    font-size: 0.85rem;
  }

  .svc-image-frame img , .showcase-content {
    display:none!important;
  }


  .case-studies-style1 {

    padding: 20px 0 20px;
 
}
  
}




/* Container for the entire grid section */
.zp-grid {
  max-width: 1200px !important;         /* adjust as needed */
  margin-left: auto!important;
  margin-right: auto!important;
  padding: 0 15px!important;           /* consistent with Bootstrap container */
}

/* Each row is a flex container that wraps */
.zp-row {
  display: flex!important;
  flex-wrap: wrap!important;
  justify-content: center!important;  /* centers all cards horizontally as a group */
  gap: 24px!important;                /* space between cards */
  margin-bottom: 40px!important;     /* space between rows */
}

/* Card styling – flexible width, fixed minimum */
.zp-card {
  flex: 0 0 calc(33.333% - 24px)!important; /* three columns minus gap */
  min-width: 250px!important;               /* prevents cards from getting too narrow */
  /* your existing card styles here */
}

/* Tablet: switch to two columns */
@media (max-width: 991px) {
  .zp-card {
    flex: 0 0 calc(50% - 24px)!important;  /* two columns minus gap */
  }
}

/* Mobile: single column */
@media (max-width: 575px) {
  .zp-card {
    flex: 0 0 100%!important;
  }
}



/* Mobile view (adjust the max-width as needed) */
@media (max-width: 768px) {
  .contact-person-info .cta-wrapper {
    display: flex!important;
    flex-direction: column-reverse!important; /* Swaps order: profile on top, contact details below */
  }

  /* Optional: add spacing between the two sections */
  .contact-person-info .cta-right {
    margin-bottom: 2rem!important;
  }

  /* Optional: center text on mobile for better readability */
  .contact-person-info .cta-left h2,
  .contact-person-info .cta-actions {
    text-align: center!important;
  }

  .contact-person-info .cta-actions {
    justify-content: center!important;
  }


  .icon-categories-grid  .icon-wrapper {
    width: 75px;
    height: 75px;
  }
}


/* Hide mobile dropdown on desktop */
.wwd-mobile-dropdown {
  display: none;
}

/* Hide desktop tabs on mobile/tablet */
@media (max-width: 991px) {
  .wwd-compact-tabs-nav {
    display: none!important;
  }
  .wwd-mobile-dropdown {
    display: block!important;
  }
  
}

/* Style the dropdown to look consistent with your design */
.wwd-mobile-select {
  width: 100%;
  padding: 12px 16px;
  font-size: 16px;
  font-weight: 500;
  background-color: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 20px;
  cursor: pointer;
}

.wwd-mobile-select:focus {
  outline: none;
  border-color: #e11b22;
  box-shadow: 0 0 0 3px rgba(225, 27, 34, 0.1);
}




/* Desktop tabs visible by default, dropdown hidden */
.wwd-compact-tabs-nav {
  display: block;
}
.wwd-mobile-dropdown {
  display: none;
}

/* On mobile/tablet: hide tabs, show dropdown */
@media (max-width: 991px) {
  .wwd-compact-tabs-nav {
    display: none;
  }
  .wwd-mobile-dropdown {
    display: block;
    margin-bottom: 1.5rem;
  }
}

/* Dropdown styling */
.wwd-mobile-select {
  width: 100%;
  padding: 12px 16px;
  font-size: 16px;
  font-weight: 500;
  background-color: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 20px;
  cursor: pointer;
}

.wwd-mobile-select:focus {
  outline: none;
  border-color: #e11b22;
  box-shadow: 0 0 0 3px rgba(225, 27, 34, 0.1);
}

/* Ensure content area is visible on mobile */
@media (max-width: 991px) {
  .wwd-compact-content-area {
    display: block;
  }
}

/* Tab content visibility (already present but keep) */
.wwd-ctab-content {
  display: none;
}
.wwd-ctab-content.wwd-ctab-show {
  display: block;
}



 @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
    
    /* Mobile Responsive Styles */
    @media (max-width: 1024px) {
      .approach-tools-grid {
        gap: 2rem !important;
      }
      
      .step-card {
        width: calc(50% - 1rem) !important;
        min-width: 180px !important;
      }
    }
    
    @media (max-width: 768px) {
      .approach-tools-grid {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
      }
      
      .step-card {
        width: 100% !important;
        max-width: 280px !important;
        margin: 0 auto !important;
      }
      
      .steps-row {
        justify-content: center !important;
        gap: 1rem !important;
        margin-bottom: 1rem !important;
      }
      
      .tools-grid {
        grid-template-columns: 1fr !important;
        gap: 0.8rem !important;
      }
      
      /* Adjust padding for cards */
      .approach-tools-grid > div {
        padding: 1.5rem !important;
      }
      
      /* Adjust heading sizes */
      .approach-tools-grid h3 {
        font-size: 1.5rem !important;
      }
      
      /* Adjust icon containers */
      .approach-tools-grid > div > div:first-child {
        margin-bottom: 1.5rem !important;
      }
    }
    
    @media (max-width: 480px) {
      .step-card {
        max-width: 100% !important;
        height: auto !important;
        min-height: 90px !important;
        padding: 0.8rem !important;
      }
      
      .step-card span:first-child {
        font-size: 1.2rem !important;
      }
      
      .step-card span:last-child {
        font-size: 0.7rem !important;
      }
      
      .tools-grid > div {
        padding: 1rem !important;
      }
      
      .tools-grid i {
        font-size: 1.2rem !important;
      }
      
      .approach-tools-grid > div {
        border-radius: 32px !important;
      }
      
      .approach-tools-grid h3 {
        font-size: 1.3rem !important;
      }
      
      .approach-tools-grid > div > div:first-child > div {
        width: 40px !important;
        height: 40px !important;
      }
      
      .approach-tools-grid > div > div:first-child i {
        font-size: 1.2rem !important;
      }
    }


    @media (max-width: 991px) {
  /* Make the wrapper a grid container with three rows */
  .light-cta-section .cta-wrapper {
    display: grid !important;
    grid-template-rows: auto auto auto !important;
    gap: 1.5rem !important;          /* Space between sections */
    text-align: center !important;
    align-items: center !important;
  }

  /* Flatten the two columns so their children become direct grid items */
  .light-cta-section .cta-left,
  .light-cta-section .cta-right {
    display: contents !important;
  }

  /* Hide the desktop‑only heading on mobile */
  .light-cta-section .cta-left .mobile-hide {
    display: none !important;
  }

  /* Ensure the mobile heading is visible and properly placed */
  .light-cta-section .cta-right .mobile-show {
    display: block !important;
    margin: 0 !important;
    text-align: center !important;
  }

  /* Place the mobile heading in the first grid row */
  .light-cta-section .cta-right .mobile-show {
    grid-row: 1 / 2 !important;
  }

  /* Place the profile card in the second grid row */
  .light-cta-section .light-profile-card {
    grid-row: 2 / 3 !important;
    display: flex !important;
    flex-direction: column !important;   /* Stack image and text vertically on mobile */
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  /* Center profile image */
  .light-cta-section .light-profile-image {
    margin: 0 auto 1rem auto !important;
  }

  /* Center profile text */
  .light-cta-section .light-profile-info {
    text-align: center !important;
  }

  /* Place the buttons group in the third grid row */
  .light-cta-section .cta-actions {
    grid-row: 3 / 4 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 1rem !important;
    margin-top: 0 !important;
  }

  /* Ensure buttons themselves are centered */
  .light-cta-section .light-cta-btn {
    margin: 0 !important;
  }

  /* Optional: remove any unwanted margins from the wrapper */
  .light-cta-section .container {
    padding: 0 1rem !important;
  }
}


.case-studies-style1 {
    position: relative;
    display: block;
    background-color: #fff;
    padding: 120px 0 120px;
    z-index: 10;
	overflow:hidden;
}

.case-studies-style1__title {
    position: relative;
    display: block;
}

.case-studies-style1__title .sec-title.withtext {
    padding-bottom: 0;
}

.case-studies-style1__title .sec-title h2 {
    color: #17479e;
}

.case-studies-style1__title .sec-title p {
    color: #ced2e2;
}

.single-case-studies-style1 {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 8px;
}

.single-case-studies-style1 .img-box {
    position: relative;
    display: block;
    overflow: hidden;
    background-color: var(--thm-base);
    border-radius: 8px;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.single-case-studies-style1 .img-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0.70;
    background-color: #00a2ff;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
    transform-origin: bottom right;
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    z-index: 1;
}

.single-case-studies-style1:hover .img-box::before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    transform-origin: top center;
}

.single-case-studies-style1 .img-box img {
    width: 100%;
}

.single-case-studies-style1:hover .img-box {
    opacity: 0.90;
    transform: scale(1.0) translateY(10px);
}

.case-studies-carousel.owl-nav-style-one {
    margin-right: -360px;
}

.case-studies-carousel.owl-theme .owl-nav {
    position: absolute;
    left: -310px;
    bottom: -20px;
}




@media (min-width: 768px) { 
 .case-studies-carousel.owl-carousel .owl-stage-outer {
    margin-right: -390px;
}

}


    @media (max-width: 767px) {
  .case-studies-style1 {
    padding: 2rem 0;
  }

  .banner-title-heading h2 {
    font-size:20px!important;
   
}

.ltts-footer {
   
    margin-top: 0px!important;
   
}

}