.ensure-hero {
  position: relative;

  .hero {
    padding: 4rem 1.5rem;
    display: flex;
    align-items: center;
    height: calc(100vw * 760 / 1440);
    max-height: 760px;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
    position: relative;
    overflow: hidden;

    .hero-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1;

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

    }

    .hero-content {
      position: relative;
      z-index: 2;
      padding: 4rem 1.5rem;

      .title {
        color: var(--white-color);
        font-family: var(--font-semibold-600);
        font-size: clamp(2.188rem, 5vw + 1rem, 3.75rem);
        font-style: normal;
        font-weight: 600;
        line-height: 64px;
      }

      p {
        color: var(--white-color);
        font-family: var(--font-regular-400);
        font-size: 20px;
        font-style: normal;
        font-weight: 400;
        line-height: 32px;
      }

    }

  }

}

.ensure-casos {
  margin-top: 2rem;
  margin-bottom: 3rem;

  .ensure-casos__head {
    .title {
      padding-bottom: 1.5rem;

      .titleh2 {
        color: var(--secondary-color);
        font-family: var(--font-semibold-600);
        font-size: clamp(1.875rem, 3vw + 0.75rem, 2.563rem);
        font-style: normal;
        font-weight: 600;
        line-height: 56px;
      }

    }

  }

}

.ensure-testimonials {

  margin-top: 2rem;
  margin-bottom: 3rem;

  .ensure-testimonials__head {

    .title {
      padding-bottom: 1.5rem;

      .subtitle {
        color: var(--black-color);
        font-family: var(--font-regular-400);
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 32px;
      }

      .titleh2 {
        color: var(--secondary-color);
        font-family: var(--font-semibold-600);
        font-size: clamp(1.875rem, 3vw + 0.75rem, 2.563rem);
        font-style: normal;
        font-weight: 600;
        line-height: 56px;
      }

    }

  }

  .ensure-testimonials__body {
    margin-bottom: 3rem;

    .testimonials-card {
      width: 360px;
      margin: 0 auto;

      .testimonials__body {
        padding: 2rem;
        border-radius: 24px 24px 0 24px;
        overflow: hidden;
        height: 175px;
        color: var(--white-color);
        font-family: var(--font-medium-500);
        font-size: clamp(1.188rem, 1vw + 0.75rem, 1.375rem);
        font-style: normal;
        font-weight: 500;
        line-height: 34px;
        width: 360px;
        transition: height 0.4s ease;
        text-align: left;

        &.expanded {
          height: auto;
        }

        &.ellipsis-line {
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 4;
          overflow: hidden;
        }

        &.green {
          background-color: var(--primary-color);
        }

        &.blue {
          background-color: var(--secondary-color);
        }

      }

      .testimonials__footer {
        background: url('../img/ensure/footer-testimonios.png') no-repeat top left;
        width: 360px;
        text-align: left;
        border-bottom-right-radius: 24px;

        &.green {
          background-color: var(--primary-color);
        }

        &.blue {
          background-color: var(--secondary-color);
        }

        .testimonials__name {
          border-top-right-radius: 24px;
          display: inline-block;
          width: 228px;
          vertical-align: top;
          padding: .6rem .4rem;
          line-height: 1;
          font-size: 13px;

          span {
            display: block;

            &.name {
              color: var(--secondary-color);
              font-family: var(--font-medium-500);
              font-size: clamp(1rem, 3vw, 1.015rem);
              font-style: normal;
              font-weight: 500;
              line-height: 1.1;
              white-space: nowrap;
              overflow: hidden;
              text-overflow: ellipsis;
              margin-bottom: 0;
            }

            &.puesto {
              color: var(--primary-color);
              font-family: var(--font-regular-400);
              font-size: 13px;
              font-style: normal;
              font-weight: 400;
              line-height: 1.1;
              display: -webkit-box;
              -webkit-line-clamp: 2;
              -webkit-box-orient: vertical;  
              overflow: hidden;
            }

          }

        }

        .testimonials__arrow {
          background: url('../img/ensure/arrow-border.webp') no-repeat bottom left;
          display: inline-block;
          height: 60px;
          width: 127px;

          .testimonials__arrow-int {

            &.green {
              background-color: var(--primary-color);
            }

            &.blue {
              background-color: var(--secondary-color);
            }

            border-bottom-left-radius: 24px;
            border-bottom-right-radius: 24px;
            height: 80px;
            width: 127px;
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            align-content: center;
            justify-content: center;
            align-items: center;
          }

        }

      }

    }

  }

}

.ensure-carruselogos {
  margin-top: 4.5rem;
  margin-bottom: 4.5rem;

  .ensure-carruselogos__head {

    .title {
      padding-bottom: 2.5rem;

      .titleh2 {
        color: var(--secondary-color);
        font-family: var(--font-semibold-600);
        font-size: clamp(1.875rem, 3vw + 0.75rem, 2.563rem);
        font-style: normal;
        font-weight: 600;
        line-height: 56px;
      }

    }

  }

  .container-fluid {
    border-radius: var(--border-radius24);
    background-color: #F4F4F4;
    overflow: hidden;
    padding: 90px 0;

    .logo-swiper {
      position: relative;
    }

    .swiper-wrapper {
      align-items: center;
      transition-timing-function: linear !important;
    }

    .swiper-slide.logo-item {
      width: 220px;
      height: auto;
      border-radius: 8px;
      display: flex;
      justify-content: center;
      align-items: center;
      box-sizing: border-box;
      flex-shrink: 0;
      cursor: grab;
    }

    .logo-item img {
      display: block;
      max-width: calc(100% - 20px);
      max-height: calc(100% - 20px);
      object-fit: contain;
      padding: 10px;
    }

  }

}

.ensure-industries {

  margin-top: erem;
  margin-bottom: 3rem;

  .ensure-industries__head {

    .title {
      padding-bottom: 1.5rem;

      .subtitle {
        color: var(--black-color);
        font-family: var(--font-regular-400);
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 32px;
      }

      .titleh2 {
        color: var(--secondary-color);
        font-family: var(--font-semibold-600);
        font-size: clamp(1.875rem, 3vw + 0.75rem, 2.563rem);
        font-style: normal;
        font-weight: 600;
        line-height: 56px;
      }

      p {
        max-width: 990px;
        margin: 0 auto;
      }

    }

  }

  .ensure-industries__body {
    margin-bottom: 3rem;

    .industry-tile {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.5rem 15%;
      background-color: var(--primary-color);
      border-radius: 8px;
      transition: background-color 0.3s ease, transform 0.2s ease;
      min-height: 185px;
      text-align: left;
      flex-wrap: nowrap;
      flex-direction: row;
      gap: 15px;

      span {
        color: var(--white-color);
        font-family: var(--font-semibold-600);
        font-size: clamp(1.525rem, 2vw + 1rem, 1.75rem);
        font-style: normal;
        font-weight: 600;
        line-height: 1.2;
        text-wrap: balance;
        text-align: left;
      }

      &:hover {
        background-color: var(--secondary-color);
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
      }

      &.active {
        background-color: var(--secondary-color);
      }

      img {
        display: block;
      }

    }

  }

}

.ensure-casos.grid-filter {

  .filters {
    margin-bottom: 2rem;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    align-items: center;

    .custom-select {
      width: auto;
      height: auto;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      color: #6c757d;
      border: none;
      padding: 0.6rem 3rem 0.6rem 1.2rem;
      border-radius: 50px;
      font-size: 1rem;
      font-weight: 500;
      cursor: pointer;
      outline: none;
      transition: background-color 0.2s ease;
      background: url("../img/ensure/grid-casos/ico-arrow.svg") no-repeat #f0f2f5;
      background-position: 95% center;
      margin-right: 1rem;
    }

    .custom-select:hover {
      background-color: #e4e6e9;
    }

    .filter-chip {
      display: inline-flex;
      align-items: center;
      background-color: #e0f7fa;
      color: #00838f;
      padding: 0.6rem 0.8rem 0.6rem 1.2rem;
      border-radius: 50px;
      font-weight: 500;
      font-size: 1rem;
      transition: opacity 0.3s ease;
      margin-left: .5rem;
      margin-bottom: 0;

      .btn-close {
        background: url("../img/ensure/grid-casos/ico-close.svg") no-repeat center center;
      }

    }

  }

  .ensure-casos__body {
    margin-bottom: 3rem;
  }

  .case-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    aspect-ratio: 1 / 1;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    color: white;

    .icon {
      position: absolute;
      z-index: 10;
      top: 20px;
      left: 20px;
      padding: 7px;
      border-radius: 100px;
      background-color: var(--primary-color);
      width: 60px;
      height: 60px;
      display: flex;
      justify-content: center;
      align-items: center;

      .icon-img {
        width: 100%;
        height: auto;
        display: flex;
        align-content: center;
        justify-content: center;
        align-items: center;
        padding: 3px;

        img {
          width: 80%;
          height: auto;
          border-radius: 0;
        }

      }

    }

    .case-card-img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 1;
      transition: transform 0.4s ease-in-out;
    }

    .case-card-content {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      padding: 1.5rem;
      z-index: 2;
      background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 50%, transparent 100%);

      .case-card-title {
        margin: 0;
        transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        color: #FFF;
        font-size: 30px;
        font-style: normal;
        font-weight: 600;
        line-height: 1.3;
      }

      .case-card-description {
        margin-top: 0.5rem;
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        transition: opacity 0.4s ease-out, max-height 0.5s ease-out;
        color: #FFF;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 1.4;
      }

    }

  }

  .case-card:hover .case-card-img {
    transform: scale(1.02);
  }

  .case-card:hover .case-card-title {
    transform: translateY(-10px);
  }

  .case-card:hover .case-card-description {
    opacity: 1;
    max-height: 150px;
  }

}



@media (max-width: 1200px) {}

@media (max-width: 1024px) {

  .ensure-industries {
    .ensure-industries__body {
      .industry-tile {
        min-height: 200px;

        span {
          font-size: 26px;
        }

      }

    }

  }

}

@media (max-width: 992px) {

  .ensure-casos.grid-filter {
    .case-card {
      .case-card-content {
        .case-card-title {
          font-size: 27px;
          line-height: 1.1;
        }

        .case-card-description {
          font-size: 15px;
          line-height: 1.2;
        }

      }
    }
  }

  .ensure-testimonials {
    .ensure-testimonials__body {
      .testimonials-card {
        padding-bottom: 2rem;
      }
    }
  }

}

@media (max-width: 768px) {

  .ensure-hero {
    .hero {
      padding: 3rem 1.5rem;
      height: auto;
      max-height: 100%;
    }

  }

  .ensure-casos.grid-filter {
    & .filters {
      .custom-select {
        width: 100%;
        margin-bottom: 20px;
      }
    }
  }

}

@media (max-width: 600px) {}

@media (max-width: 560px) {}

@media (max-width: 480px) {

  .ensure-carruselogos {
    margin-top: 1.5rem;
    margin-bottom: 2.5rem;

    .container-fluid {
      padding: 25px 0;
    }

  }

  .ensure-industries {
    .ensure-industries__body {
      .industry-tile {
        padding: 1rem 10%;
      }
    }
  }

  .ensure-casos {
    margin-top: 1rem;

    .ensure-casos__head {
      .title {
        padding-bottom: 0;

        .titleh2 {
          line-height: 1.3;
        }
      }
    }
  }

  .ensure-casos.grid-filter {
    & .filters {
      flex-direction: column;

      .d-flex {
        width: 100% !important;
        display: block !important;

        .custom-select {
          width: 100%;
          margin-bottom: 20px;
        }
      }
    }
  }

  .ensure-casos.grid-filter {
    .filters {
      .filter-chip {
        margin-bottom: 10px;
      }
    }
  }

  .ensure-industries {
    & .ensure-industries__body {
      .industry-tile {
        display: flex;
        text-align: center;
        flex-wrap: nowrap;
        flex-direction: column;
        gap: 15px;
        align-content: center;
        justify-content: center;
        align-items: center;
      }
    }
  }

  .ensure-industries {
    & .ensure-industries__body {
      & .industry-tile {
        span {
          text-align: center;
        }
      }
    }
  }

}

@media (max-width: 320px) {

  .ensure-casos.grid-filter {
    .case-card {
      .case-card-content {
        .case-card-title {
          font-size: 1.4rem;
          line-height: 1.1;
        }
      }
    }
  }

}