.elementor-2037 .elementor-element.elementor-element-c1694ea{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--background-transition:0.3s;}body.elementor-page-2037:not(.elementor-motion-effects-element-type-background), body.elementor-page-2037 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-a291686 );}/* Start custom CSS for html, class: .elementor-element-a70a655 */*{
  box-sizing:border-box;
}

.portfolio-pro-section{

  width:calc(100vw - 96px);

  margin-left:calc(50% - 50vw + 48px);

  padding:110px 20px;

  position:relative;

  overflow:hidden;

  border-radius:48px;

  background:
    radial-gradient(circle at 20% 20%, rgba(79,124,255,.10), transparent 25%),
    radial-gradient(circle at 80% 80%, rgba(124,58,237,.12), transparent 30%),
    linear-gradient(180deg,#f8fbff 0%,#eef3ff 100%);

  box-shadow:
    0 24px 70px rgba(15,23,42,.07);
}

/* puntos */
.portfolio-pro-section::before{

  content:"";

  position:absolute;

  inset:0;

  background-image:
    radial-gradient(
      rgba(15,23,42,.05) 1px,
      transparent 1px
    );

  background-size:20px 20px;

  opacity:.4;

  pointer-events:none;
}

.portfolio-pro-container{

  position:relative;

  z-index:2;

  max-width:1280px;

  margin:0 auto;
}

/* HEADER */
.portfolio-pro-header{

  max-width:760px;

  margin:0 auto 42px;

  text-align:center;
}

.portfolio-pro-badge{

  display:inline-block;

  margin-bottom:14px;

  font-size:13px;

  font-weight:900;

  letter-spacing:1px;

  text-transform:uppercase;

  color:#4f5cff;
}

.portfolio-pro-header h2{

  margin:0 0 18px;

  font-size:54px;

  line-height:1.05;

  font-weight:900;

  letter-spacing:-2px;

  color:#0f172a;
}

.portfolio-pro-header h2 span{

  background:
    linear-gradient(
      135deg,
      #4f7cff,
      #7c3aed
    );

  -webkit-background-clip:text;

  -webkit-text-fill-color:transparent;
}

.portfolio-pro-header p{

  margin:0;

  font-size:18px;

  line-height:1.8;

  color:#64748b;
}

/* FILTROS */
.portfolio-filters{

  display:flex;

  justify-content:center;

  flex-wrap:wrap;

  gap:14px;

  margin-bottom:50px;
}

.portfolio-filter{

  border:none;

  padding:12px 22px;

  border-radius:14px;

  background:#ffffff;

  border:1px solid rgba(79,124,255,.10);

  color:#334155;

  font-size:14px;

  font-weight:700;

  cursor:pointer;

  transition:.3s ease;

  box-shadow:
    0 10px 24px rgba(15,23,42,.05);
}

.portfolio-filter:hover,
.portfolio-filter.active{

  background:
    linear-gradient(
      135deg,
      #4f7cff,
      #7c3aed
    );

  color:#fff;
}

/* GRID */
.portfolio-grid{

  display:grid;

  grid-template-columns:
    repeat(3, minmax(0,1fr));

  gap:28px;
}

/* CARD */
.portfolio-card{

  position:relative;

  overflow:hidden;

  border-radius:30px;

  background:#fff;

  border:1px solid rgba(79,124,255,.08);

  box-shadow:
    0 18px 40px rgba(15,23,42,.08);

  transition:.35s ease;
}

.portfolio-card:hover{

  transform:
    translateY(-10px);

  box-shadow:
    0 30px 60px rgba(15,23,42,.14);
}

/* IMAGE */
.portfolio-image{

  position:relative;

  height:280px;

  overflow:hidden;
}

.portfolio-image img{

  width:100%;

  height:100%;

  object-fit:cover;

  transition:.5s ease;
}

.portfolio-card:hover img{

  transform:scale(1.08);
}

/* OVERLAY */
.portfolio-overlay{

  position:absolute;

  inset:0;

  display:flex;

  flex-direction:column;

  align-items:center;

  justify-content:center;

  gap:18px;

  background:
    linear-gradient(
      180deg,
      rgba(15,23,42,.15),
      rgba(15,23,42,.72)
    );

  opacity:0;

  transition:.35s ease;
}

.portfolio-card:hover .portfolio-overlay{

  opacity:1;
}

.portfolio-overlay span{

  color:#fff;

  font-size:15px;

  font-weight:700;
}

.portfolio-overlay a{

  padding:12px 22px;

  border-radius:14px;

  text-decoration:none;

  color:#fff;

  font-weight:800;

  background:
    linear-gradient(
      135deg,
      #4f7cff,
      #7c3aed
    );
}

/* CONTENT */
.portfolio-content{

  padding:28px;
}

.portfolio-content h3{

  margin:0 0 12px;

  color:#0f172a;

  font-size:24px;

  font-weight:800;
}

.portfolio-content p{

  margin:0;

  color:#64748b;

  line-height:1.75;

  font-size:15px;
}

/* TABLET */
@media(max-width:1100px){

  .portfolio-grid{

    grid-template-columns:
      repeat(2, minmax(0,1fr));
  }

  .portfolio-pro-header h2{

    font-size:44px;
  }
}

/* MOBILE */
@media(max-width:700px){

  .portfolio-pro-section{

    width:calc(100vw - 24px);

    margin-left:calc(50% - 50vw + 12px);

    padding:80px 16px;

    border-radius:32px;
  }

  .portfolio-grid{

    grid-template-columns:1fr;
  }

  .portfolio-pro-header h2{

    font-size:34px;
  }

  .portfolio-pro-header p{

    font-size:16px;
  }

  .portfolio-image{

    height:240px;
  }
}/* End custom CSS */