.elementor-972 .elementor-element.elementor-element-a2cfb9a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-972 .elementor-element.elementor-element-6d5dbb8{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-972 .elementor-element.elementor-element-32ea114 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:80px;font-weight:600;text-transform:uppercase;color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(10px/2);}.elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(10px/2);}.elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(10px/2);}.elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-10px/2);}.elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-10px/2);}.elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-icon i{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-icon svg{fill:var( --e-global-color-secondary );transition:fill 0.3s;}.elementor-972 .elementor-element.elementor-element-b27e05e{--e-icon-list-icon-size:20px;--icon-vertical-offset:0px;}.elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-item > .elementor-icon-list-text, .elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-item > a{font-family:"Roboto", Sans-serif;font-size:16px;font-weight:400;}.elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-text{color:var( --e-global-color-text );transition:color 0.3s;}.elementor-972 .elementor-element.elementor-element-02aa7ea{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-972 .elementor-element.elementor-element-dfd06a8 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:20px;font-weight:600;color:var( --e-global-color-text );}.elementor-972 .elementor-element.elementor-element-b97eb61{--display:flex;--border-radius:20px 20px 20px 20px;--padding-top:32px;--padding-bottom:64px;--padding-left:64px;--padding-right:64px;}.elementor-972 .elementor-element.elementor-element-b97eb61:not(.elementor-motion-effects-element-type-background), .elementor-972 .elementor-element.elementor-element-b97eb61 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-button span{gap:10px;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-field-group{padding-right:calc( 32px/2 );padding-left:calc( 32px/2 );margin-bottom:25px;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-form-fields-wrapper{margin-left:calc( -32px/2 );margin-right:calc( -32px/2 );margin-bottom:-25px;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-field-type-html{padding-bottom:0px;color:var( --e-global-color-primary );font-family:"Roboto", Sans-serif;font-size:14px;font-weight:400;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-field-group .elementor-field{color:var( --e-global-color-primary );}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#FFFFFF00;border-width:0px 0px 1px 0px;border-radius:0px 0px 0px 0px;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-field-group .elementor-select-wrapper select{background-color:#FFFFFF00;border-width:0px 0px 1px 0px;border-radius:0px 0px 0px 0px;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-button{font-family:"Inter", Sans-serif;font-size:20px;font-weight:500;border-radius:320px 320px 320px 320px;padding:10px 10px 10px 10px;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-button[type="submit"]{color:#ffffff;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-972 .elementor-element.elementor-element-29a3ad6 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-972 .elementor-element.elementor-element-29a3ad6{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-972 .elementor-element.elementor-element-b585bd9{--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;--margin-top:128px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-972 .elementor-element.elementor-element-8e01e17{text-align:center;width:var( --container-widget-width, 82% );max-width:82%;--container-widget-width:82%;--container-widget-flex-grow:0;}.elementor-972 .elementor-element.elementor-element-8e01e17 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:80px;font-weight:600;text-transform:uppercase;color:var( --e-global-color-text );}.elementor-972 .elementor-element.elementor-element-8e01e17.elementor-element{--align-self:center;}.elementor-972 .elementor-element.elementor-element-efdf3a2{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:90px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-972 .elementor-element.elementor-element-0e67cf6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-972 .elementor-element.elementor-element-fec56db{--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;}.elementor-972 .elementor-element.elementor-element-848b03d .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:14px;font-weight:600;color:var( --e-global-color-text );}.elementor-972 .elementor-element.elementor-element-848b03d{padding:8px 8px 8px 8px;width:var( --container-widget-width, fit-content );max-width:fit-content;--container-widget-width:fit-content;--container-widget-flex-grow:0;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-text );border-radius:88px 88px 88px 88px;}.elementor-972 .elementor-element.elementor-element-ac9f117{--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;}.elementor-972 .elementor-element.elementor-element-3d14842 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:44px;font-weight:600;color:var( --e-global-color-text );}.elementor-972 .elementor-element.elementor-element-3bec40e{--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;}@media(max-width:1024px){.elementor-972 .elementor-element.elementor-element-a2cfb9a{--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;}.elementor-972 .elementor-element.elementor-element-6d5dbb8{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--flex-wrap:wrap;}.elementor-972 .elementor-element.elementor-element-32ea114{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-972 .elementor-element.elementor-element-b27e05e{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-972 .elementor-element.elementor-element-b97eb61{--padding-top:41px;--padding-bottom:41px;--padding-left:41px;--padding-right:41px;}.elementor-972 .elementor-element.elementor-element-b585bd9{--margin-top:73px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-972 .elementor-element.elementor-element-efdf3a2{--margin-top:57px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-972 .elementor-element.elementor-element-3d14842 .elementor-heading-title{font-size:30px;}}@media(max-width:767px){.elementor-972 .elementor-element.elementor-element-6d5dbb8{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-972 .elementor-element.elementor-element-32ea114 .elementor-heading-title{font-size:54px;}.elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-item > .elementor-icon-list-text, .elementor-972 .elementor-element.elementor-element-b27e05e .elementor-icon-list-item > a{font-size:15px;}.elementor-972 .elementor-element.elementor-element-b27e05e{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-972 .elementor-element.elementor-element-b97eb61:not(.elementor-motion-effects-element-type-background), .elementor-972 .elementor-element.elementor-element-b97eb61 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://johan.desarrolloproyectoswp.com/wp-content/uploads/2025/09/686ced274933ff42e8628656_bg-card-contact2_mob.svg");}.elementor-972 .elementor-element.elementor-element-b97eb61{--padding-top:21px;--padding-bottom:21px;--padding-left:21px;--padding-right:21px;}.elementor-972 .elementor-element.elementor-element-b585bd9{--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-972 .elementor-element.elementor-element-8e01e17 .elementor-heading-title{font-size:32px;}.elementor-972 .elementor-element.elementor-element-efdf3a2{--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-972 .elementor-element.elementor-element-fec56db{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-972 .elementor-element.elementor-element-ac9f117{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-972 .elementor-element.elementor-element-3d14842 .elementor-heading-title{font-size:24px;}}@media(min-width:768px){.elementor-972 .elementor-element.elementor-element-6d5dbb8{--width:30%;}.elementor-972 .elementor-element.elementor-element-b97eb61{--width:70%;}.elementor-972 .elementor-element.elementor-element-fec56db{--width:33.3333%;}.elementor-972 .elementor-element.elementor-element-ac9f117{--width:66.6666%;}}@media(max-width:1024px) and (min-width:768px){.elementor-972 .elementor-element.elementor-element-6d5dbb8{--width:100%;}.elementor-972 .elementor-element.elementor-element-02aa7ea{--width:45%;}.elementor-972 .elementor-element.elementor-element-b97eb61{--width:100%;}}@media(min-width:1920px){.elementor-972 .elementor-element.elementor-element-32ea114 .elementor-heading-title{font-size:80px;}}/* Start custom CSS for form, class: .elementor-element-29a3ad6 */.elementor-972 .elementor-element.elementor-element-29a3ad6 .e-form__buttons {
    justify-content: flex-end;
    align-items: center;
}

.elementor-972 .elementor-element.elementor-element-29a3ad6 .clip {
    cursor: pointer;
    padding: 5px;
    border-radius: 50%;
}

.elementor-972 .elementor-element.elementor-element-29a3ad6 .clip:hover {
    background-color: #FDC448;
}

.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-field-type-html {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media only screen and (max-width: 766px) {
    .elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-field-type-html {
        display: none;
    }
}

.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-field-type-upload {
    width: 0%;
    padding: 0 !important;
}

.elementor-972 .elementor-element.elementor-element-29a3ad6 .elementor-field-type-upload input[type="file"] {
     position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b39d62b */.portfolio-gsap {
  background: #000;
  padding: 50px 0;
  overflow: hidden;
}

.portfolio-title {
  font-family: 'Inter', sans-serif;
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  margin-bottom: 80px;
  line-height: 1.2;
}

.marquee-row {
  display: flex;
  gap: 30px;
  margin-bottom: 30px;
  will-change: transform;
}

.marquee-content {
  display: flex;
  gap: 30px;
  flex-shrink: 0;
}

.portfolio-card {
  position: relative;
  width: 450px;
  aspect-ratio: 18 / 10;
  border-radius: 16px;
  overflow: hidden;
  flex-shrink: 0;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: border-color 0.3s ease;
}

.portfolio-card:hover {
  border-color: #fdc448;
}

.portfolio-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.portfolio-card:hover img {
  transform: scale(1.05);
}

.card-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 25px;
  background: linear-gradient(to top, rgba(2, 2, 30, 0.98), rgba(2, 2, 30, 0.7), transparent);
  transform: translateY(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.portfolio-card:hover .card-info {
  transform: translateY(0);
}

.card-info h3 {
  font-family: 'Inter', sans-serif;
  font-size: 22px;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 10px 0;
}

.tag {
  display: inline-block;
  padding: 6px 14px;
  background: #3827c8;
  color: #ffffff;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Responsive */
@media (max-width: 768px) {
  .portfolio-card {
    width: 320px;
    height: 240px;
  }
  
  .marquee-row {
    gap: 20px;
    margin-bottom: 20px;
  }
  
  .marquee-content {
    gap: 20px;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-3d14842 */.elementor-972 .elementor-element.elementor-element-3d14842 p {
    text-indent: 210px;
}

@media only screen and (max-width: 766px) {
    .elementor-972 .elementor-element.elementor-element-3d14842 p {
    text-indent: 0;
}
}/* End custom CSS */