/* Start custom CSS for html, class: .elementor-element-f3ff1b6 *//* ===== GLOBAL RESET (Elementor Cleanup) ===== */
.iup-page,
.iup-page *,
.iup-page *::before,
.iup-page *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box !important;
}

html {
  scroll-behavior: smooth;
}

.iup-page {
  font-family: 'Inter', sans-serif !important;
  color: #1e1e1e !important;
  background: #fff !important;
  line-height: 1.6 !important;
  overflow-x: hidden !important;
}

.iup-page a {
  text-decoration: none !important;
  color: inherit !important;
}

.iup-page img {
  max-width: 100% !important;
  display: block !important;
}

.container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* ===== Hero Section ===== */
.hero {
  width: 100% !important;
  height: 297px !important; /* Matched to chemical.css */
  position: relative !important;
  overflow: hidden !important;
}

.hero img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

/* ===== Breadcrumb &amp; Intro ===== */
.intro {
  background: #fff !important;
  padding: 50px 0 60px !important;
  text-align: center !important;
}

.intro .container {
  max-width: 1036px !important;
}

.breadcrumbs {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin-bottom: 20px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

.breadcrumbs a {
  color: #808080 !important;
  transition: color 0.2s ease !important;
}

.breadcrumbs a:hover {
  text-decoration: underline !important;
  color: #005cb0 !important;
}

.breadcrumbs .separator {
  color: #005cb0 !important;
}

.breadcrumbs .active {
  color: #005cb0 !important;
}

.intro .subtitle {
  color: #005cb0 !important;
  font-size: 20px !important; /* Scaled down */
  font-weight: 600 !important;
  margin-bottom: 10px !important;
}

.intro .title {
  font-size: 32px !important; /* Scaled down */
  font-weight: 500 !important;
  margin-bottom: 24px !important;
  color: #1e1e1e !important;
}

.intro .description {
  font-size: 15px !important; /* Scaled down */
  font-weight: 500 !important;
  color: #1e1e1e !important;
  line-height: 25px !important;
  max-width: 1036px !important;
  margin: 0 auto !important;
}

/* ===== Section Titles ===== */
.section-title {
  font-size: 30px !important; /* Scaled down */
  font-weight: 600 !important;
  color: #1e1e1e !important;
}

/* ===== Feature Blocks (Image Left, Text Right) ===== */
.feature-block {
  padding: 60px 0 !important;
}

.feature-block.bg-light {
  background-color: #f2f9ff !important;
}

.feature-block.bg-white {
  background-color: #ffffff !important;
}

.feature-row {
  display: flex !important;
  align-items: center !important;
  gap: 60px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

.feature-image {
  flex: 0 0 45% !important; 
}

.feature-image img {
  width: 100% !important;
  border-radius: 20px !important; /* As per uploaded screenshot */
  object-fit: cover !important;
}

.feature-content {
  flex: 1 !important;
}

.feature-title {
  font-size: 20px !important; /* Scaled down */
  font-weight: 600 !important;
  color: #1e1e1e !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
  line-height: 1.4 !important;
}

.feature-desc {
  font-size: 15px !important; /* Scaled down */
  font-weight: 400 !important;
  color: #1e1e1e !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

/* ===== Alumni Testimonials ===== */
.alumni-testimonial {
  padding: 80px 0 !important;
  background: #ffffff !important;
}

.testimonial-row {
  display: flex !important;
  gap: 60px !important;
  align-items: flex-start !important;
  max-width: 1000px !important;
  margin: 0 auto 60px !important;
}

.testimonial-row:last-child {
  margin-bottom: 0 !important;
}

.testimonial-profile {
  flex: 0 0 160px !important;
}

.testimonial-profile img {
  width: 160px !important;
  height: 160px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

.testimonial-content {
  flex: 1 !important;
  text-align: left !important;
}

.alumni-testimonial .qa-quote {
  font-size: 20px !important; /* Scaled down */
  font-weight: 600 !important;
  color: #1e1e1e !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
  line-height: 1.4 !important;
}

.alumni-testimonial .qa-desc {
  font-size: 15px !important; /* Scaled down */
  font-weight: 400 !important;
  color: #1e1e1e !important;
  margin-bottom: 24px !important; /* Space between paragraphs */
  line-height: 1.8 !important;
}

.alumni-testimonial .qa-name {
  font-size: 14px !important; /* Scaled down */
  font-weight: 400 !important;
  color: #1e1e1e !important;
  margin: 0 !important;
}

/* ===== Back to Previous Page ===== */
.btn-outline {
  display: inline-block !important;
  border: 1px solid #005cb0 !important;
  border-radius: 10px !important;
  padding: 10px 40px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #005cb0 !important;
  text-align: center !important;
  background: transparent !important;
  transition: all 0.3s ease !important;
}

.btn-outline:hover {
  background: #005cb0 !important;
  color: #fff !important;
}

/* ===== Mobile Responsiveness ===== */
@media (max-width: 991px) {
  .hero {
    height: 150px !important;
  }
  .intro .subtitle {
    font-size: 16px !important;
  }
  .intro .title {
    font-size: 24px !important;
  }
  .intro .description {
    font-size: 14px !important;
  }
  .section-title {
    font-size: 24px !important;
  }

  /* feature styling mobile - stack them */
  .feature-block {
    padding: 40px 0 !important;
  }
  .feature-row {
    flex-direction: column !important;
    gap: 30px !important;
  }
  .feature-image {
    width: 100% !important;
  }
  .feature-title {
    font-size: 18px !important;
    text-align: center !important;
  }
  .feature-desc {
    font-size: 14px !important;
    text-align: center !important;
  }

  /* Keep Testimonial Left/Right on Mobile */
  .testimonial-row {
    flex-direction: row !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 20px !important;
    margin-bottom: 40px !important;
  }
  .testimonial-profile {
    flex: 0 0 80px !important;
  }
  .testimonial-profile img {
    width: 80px !important;
    height: 80px !important;
  }
  .testimonial-content {
    text-align: left !important;
  }
  .alumni-testimonial .qa-quote {
    font-size: 16px !important;
    margin-bottom: 12px !important;
  }
  .alumni-testimonial .qa-desc, .alumni-testimonial .qa-name {
    font-size: 13px !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-91381e8 *//* ===================================
   CLEAN PARTNER WRAPPER (RESPONSIVE)
=================================== */

/* Optional Scope to prevent global overrides */
.fti-partner-scope * {
    box-sizing: border-box !important;
}

.partner-wrapper {
    max-width: 1200px !important;
    margin: 70px auto !important;
    /* Center horizontally + vertical spacing */
    padding: 45px 40px !important;

    background: #ffffff !important;
    border-radius: 22px !important;

    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.07) !important;
    width: 100% !important;
}

/* 
   Center content - Adding true responsive flex grid support 
   for the Elementor container.
*/
.partner-wrapper .elementor-container {
    display: flex !important;
    flex-wrap: wrap !important;
    /* CRITICAL: Allows items to break to the next line on small screens */
    align-items: center !important;
    justify-content: center !important;
    /* Centers the whole block of logos */
    gap: 40px !important;
    /* Consistent spacing between logos without relying on margins */
    width: 100% !important;
}

/* Control column behavior so they don't break the container */
.partner-wrapper .elementor-column {
    text-align: center !important;
    flex: 0 0 auto !important;
    /* Stop logos from stretching out of proportion */
    display: flex !important;
    justify-content: center !important;
    padding: 0 !important;
    /* Remove default Elementor column padding to rely strictly on gap */
}

/* Ensure logos stay reasonably sized and maintain aspect ratio */
.partner-wrapper img {
    max-height: 70px !important;
    max-width: 100% !important;
    /* Ensures a logo won't overflow its container on tiny phones */
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
}

/* ===================================
   TABLET RESPONSIVE (&lt; 1024px)
=================================== */
@media (max-width: 1024px) {
    .partner-wrapper {
        padding: 40px 30px !important;
        margin: 50px 20px !important;
    }

    .partner-wrapper .elementor-container {
        gap: 30px !important;
    }

    .partner-wrapper img {
        max-height: 60px !important;
    }
}

/* ===================================
   MOBILE RESPONSIVE (&lt; 767px)
=================================== */
@media (max-width: 767px) {
    .partner-wrapper {
        padding: 20px 10px !important;
        /* Smaller padding to maximize horizontal space */
        margin: 30px 10px !important;
        border-radius: 12px !important;
        width: calc(100% - 20px) !important;
        /* Take up as much screen as possible */
    }

    .partner-wrapper .elementor-container {
        flex-wrap: nowrap !important;
        /* Force 1 strictly straight row */
        gap: 8px !important;
        /* Tiny gap so 6 logos fit side-by-side */
        justify-content: space-between !important;
        width: 100% !important;
    }

    /* Force columns to shrink down aggressively to fit */
    .partner-wrapper .elementor-column {
        width: auto !important;
        min-width: 0 !important;
        /* Crucial to allow shrinking below element&#039;s natural width */
        flex: 1 1 0 !important;
        /* Let all 6 columns distribute space equally */
        padding: 0 !important;
    }

    /* Keep images fully responsive to the tiny columns */
    .partner-wrapper img {
        max-width: 100% !important;
        height: auto !important;
        max-height: 35px !important;
        /* Cap vertical height to avoid weird stretching */
        object-fit: contain !important;
    }
}/* End custom CSS */