.elementor-12 .elementor-element.elementor-element-12817e3{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-3605c46{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-6c047a1{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-d961986{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-b84537a{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-b824a24{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-f5c76c1{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-ddee666{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-12 .elementor-element.elementor-element-12817e3{--content-width:100%;}.elementor-12 .elementor-element.elementor-element-3605c46{--content-width:100%;}.elementor-12 .elementor-element.elementor-element-6c047a1{--content-width:100%;}.elementor-12 .elementor-element.elementor-element-d961986{--content-width:100%;}.elementor-12 .elementor-element.elementor-element-b84537a{--content-width:100%;}.elementor-12 .elementor-element.elementor-element-b824a24{--content-width:100%;}.elementor-12 .elementor-element.elementor-element-f5c76c1{--content-width:100%;}.elementor-12 .elementor-element.elementor-element-ddee666{--content-width:100%;}}/* Start custom CSS for html, class: .elementor-element-ff078cc */.hero{position:relative;width:100%;height:100vh;min-height:100vh;overflow:hidden;background:var(--cream);contain:layout style paint}
.hero__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:opacity .6s ease}
.hero__poster.hidden{opacity:0;pointer-events:none}
.hero__frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  transform:none;
  border:0;
  z-index:2;
}

@media(max-width:700px){
  .hero{
    height:50vh;
    min-height:50vh;
    margin:clamp(16px,5vw,24px) 0;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-46563a1 */.about{background:inherit;padding:clamp(60px,8vw,110px) 0;text-align:center;color:inherit}
.about__tagline{font-family:inherit;font-size:clamp(1.28rem,2.7vw,1.9rem);font-weight:500;max-width:760px;margin:0 auto 56px;line-height:1.75;color:inherit}
.about__tagline br{display:none}
.about__tagline strong{color:var(--purple);font-weight:500}
.about__stats{display:flex;justify-content:center;gap:clamp(36px,7vw,110px);flex-wrap:wrap}
.stat__number{font-family:var(--ff-serif);font-size:clamp(2.45rem,5.3vw,3.7rem);color:inherit;display:block;line-height:1}
.stat__label{font-family:inherit;font-size:.9rem;color:inherit;opacity:.72;letter-spacing:.08em;text-transform:uppercase;margin-top:7px;display:block}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3d75e90 */.studio{background:var(--green);padding:var(--section-pad) 0}
.studio__header{margin-bottom:32px}
.studio__title{
  font-family:var(--ff-sans);
  font-size:clamp(2.2rem,6vw,4rem);
  font-weight:600;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--cream);
}
.studio__inner{
  display:grid;
  grid-template-columns:minmax(220px,320px) minmax(0,1fr);
  border:2px solid var(--green-emphasis);
  border-radius:var(--r);
  overflow:hidden;
  min-height:420px;
  background:var(--green-mid);
}
.studio__visual{
  background:var(--green-mid);
  border-right:1px solid rgba(214,254,121,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.studio__video{
  width:100%;
  max-width:260px;
  aspect-ratio:9/16;
  object-fit:cover;
  border:1px solid rgba(214,254,121,.45);
  border-radius:10px;
  display:block;
  background:#001920;
}
.studio__tabs{display:flex;flex-direction:column;background:var(--green-mid)}
.tab-nav{display:flex;border-bottom:1px solid rgba(214,254,121,.25)}
.tab-btn{
  flex:1;
  padding:14px 12px;
  background:none;
  border:none;
  border-right:1px solid rgba(214,254,121,.18);
  color:rgba(255,255,255,.62);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-align:center;
  cursor:pointer;
  transition:color .25s,background .25s;
}
.tab-btn:last-child{border-right:none}
.studio .tab-btn:hover,
.studio .tab-btn:focus,
.studio .tab-btn:active,
.studio .tab-btn.active{
  color:var(--green-emphasis)!important;
  background:rgba(215,255,120,.12)!important;
  outline:none;
  box-shadow:none;
}
.tab-content{flex:1;padding:32px 36px;display:none;flex-direction:column;justify-content:center;gap:12px;min-height:300px}
.tab-content.active{display:flex}
.tab-number{font-family:var(--ff-serif);font-size:2.2rem;color:rgba(255,255,255,.2);line-height:1}
.tab-title{font-size:1.34rem;font-weight:600;color:var(--white)}
.tab-subtitle{font-size:.73rem;color:rgba(255,255,255,.62);letter-spacing:.06em;text-transform:uppercase}
.tab-text{
  font-size:1rem;
  color:rgba(255,255,255,.88);
  line-height:1.8;
  max-width:62ch;
}
@media(max-width:900px){
  .studio__inner{grid-template-columns:1fr}
  .studio__tabs{order:1}
  .studio__visual{order:2;border-right:none;border-top:1px solid rgba(214,254,121,.25)}
  .studio__video{max-width:220px}
  .tab-nav{display:grid;grid-template-columns:1fr 1fr}
  .tab-btn{padding:12px 10px;font-size:.72rem}
  .tab-content{padding:24px}
  .tab-text{max-width:100%}
}
@media(max-width:600px){
  .studio__header{margin-bottom:20px}
  .studio__title{font-size:clamp(1.9rem,10vw,2.8rem)}
  .tab-nav{grid-template-columns:1fr}
  .tab-btn{
    border-right:none;
    border-bottom:1px solid rgba(214,254,121,.18);
    text-align:left;
    font-size:.74rem;
  }
  .tab-btn:last-child{border-bottom:none}
  .tab-content{padding:18px}
  .tab-text{font-size:.96rem;line-height:1.75}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8fda81e */.mosaic-section{background:var(--green);padding:var(--section-pad) 0}
.mosaic-section__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.mosaic-section__title{
  font-family:var(--ff-sans);
  font-size:clamp(2.2rem,6vw,4rem);
  font-weight:600;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--cream);
}
.mosaic-section__link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--green-emphasis);
  text-decoration:none;
  font-family:var(--ff-emphasis);
  font-size:clamp(1.35rem,2.6vw,2rem);
  font-weight:400;
  letter-spacing:.04em;
  line-height:1;
}
.mosaic-section__arrow{
  width:1.05em;
  height:1.05em;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mosaic-section__link:hover{opacity:.82}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:16px;contain:layout}
.mosaic__item{overflow:hidden;position:relative;aspect-ratio:4/3;background:var(--green);border-radius:var(--r);contain:layout style paint}
.mosaic__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.mosaic__item:hover img{transform:scale(1.02)}
.mosaic__overlay{
  position:absolute;
  bottom:16px;
  left:16px;
  font-family:'Raleway',var(--ff-sans),system-ui,sans-serif;
  font-size:clamp(.95rem,1.75vw,1.35rem);
  font-weight:500;
  letter-spacing:.02em;
  color:var(--white);
  text-shadow:0 2px 10px rgba(0,0,0,.28);
  pointer-events:none;
}
@media(max-width:700px){
  .mosaic-section__header{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    gap:12px;
  }
  .mosaic-section__title{
    font-size:clamp(2rem,8.2vw,2.6rem);
    white-space:nowrap;
  }
  .mosaic-section__link{
    font-size:clamp(1.05rem,5.4vw,1.35rem);
    white-space:nowrap;
    flex-shrink:0;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6cd1f98 */.testimonios{background:var(--green);padding:var(--section-pad) 0}
.testimonios__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}
.testimonios__title{
  font-family:var(--ff-sans);
  font-size:clamp(2.2rem,6vw,4rem);
  font-weight:600;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--cream);
}
.testimonios__link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--green-emphasis);
  text-decoration:none;
  font-family:var(--ff-emphasis);
  font-size:clamp(1.35rem,2.6vw,2rem);
  font-weight:400;
  letter-spacing:.04em;
  line-height:1;
}
.testimonios__arrow{
  width:1.05em;height:1.05em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.testimonios__link:hover{opacity:.82}
.testimonios__shortcode-wrap{
  border:2px solid var(--green-emphasis);
  border-radius:var(--r);
  padding:22px;
  background:rgba(0,0,0,.12);
  min-height:140px;
  color:var(--cream);
}
@media(max-width:700px){
  .testimonios__header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
  }
  .testimonios__title{
    font-size:clamp(1.85rem,7.1vw,2.35rem);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .testimonios__link{
    font-size:clamp(.92rem,3.9vw,1.08rem);
    white-space:nowrap;
    flex-shrink:0;
    gap:6px;
  }
}

/* Google Reviews (Trustindex): ajustes minimos */
.testimonios__shortcode-wrap .ti-inner,
.testimonios__shortcode-wrap .ti-inner .ti-name,
.testimonios__shortcode-wrap .ti-inner .ti-date,
.testimonios__shortcode-wrap .ti-inner .ti-review-content,
.testimonios__shortcode-wrap .ti-inner .ti-review-text-container,
.testimonios__shortcode-wrap .ti-inner .ti-read-more{
  color:#fff!important;
}

.testimonios__shortcode-wrap .ti-review-header .ti-profile-details,
.testimonios__shortcode-wrap .ti-review-header .ti-profile-details .ti-name,
.testimonios__shortcode-wrap .ti-review-header .ti-profile-details .ti-date,
.testimonios__shortcode-wrap .ti-review-header .ti-review-date,
.testimonios__shortcode-wrap .ti-review-header .ti-with-tooltip{
  color:#fff!important;
}

.testimonios__shortcode-wrap .ti-stars .ti-star{
  filter:brightness(0) saturate(100%)
         invert(91%) sepia(42%)
         saturate(650%) hue-rotate(25deg)
         brightness(105%) contrast(102%)!important;
}

/* Ocultar logo de Google en cada review */
.testimonios__shortcode-wrap .ti-platform-icon{
  display:none!important;
}

/* Dar aire a las flechas */
.testimonios__shortcode-wrap .ti-controls .ti-prev{
  left:-8px!important;
}
.testimonios__shortcode-wrap .ti-controls .ti-next{
  right:-8px!important;
}

.testimonios__shortcode-wrap .ti-controls .ti-prev,
.testimonios__shortcode-wrap .ti-controls .ti-next{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}

.testimonios__shortcode-wrap .ti-controls .ti-prev::before,
.testimonios__shortcode-wrap .ti-controls .ti-next::before{
  color:#fff!important;
  border-color:#fff!important;
}

.testimonios__shortcode-wrap .ti-read-more-active,
.testimonios__shortcode-wrap .ti-read-more-active:hover,
.testimonios__shortcode-wrap .ti-read-more-active:focus{
  color:#fff!important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fe785bf */.faq-section{background:var(--cream);padding:var(--section-pad) 0}
.faq-wrap{max-width:100%;margin:0 auto}
.faq__title{
  font-family:var(--ff-sans);
  font-size:clamp(2.2rem,6vw,4rem);
  font-weight:600;
  line-height:1;
  letter-spacing:-.02em;
  margin-bottom:24px;
  color:var(--text);
}
.faq-item{
  border:1px solid rgba(26,26,26,.12);
  border-radius:var(--r);
  margin-bottom:16px;
  overflow:hidden;
}
.faq-question{
  width:100%;
  background:transparent!important;
  border:none;
  border-radius:var(--r);
  padding:20px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between!important;
  gap:14px;
  cursor:pointer;
  text-align:left!important;
  font-size:clamp(1.02rem,1.9vw,1.2rem);
  font-weight:600;
  color:var(--text);
  transition:color .25s;
}
.faq-question:hover,
.faq-question:focus{
  color:var(--green-emphasis)!important;
  background:var(--green-dark)!important;
}
.faq-question::after{content:'↗';font-size:1rem;color:var(--green-emphasis);flex-shrink:0;margin-left:10px}
.faq-item.open .faq-question::after{content:'↙'}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .38s ease}
.faq-item.open .faq-answer{max-height:300px}
.faq-answer p{font-size:1rem;font-weight:400;color:var(--text-muted);opacity:.9;line-height:1.75;padding:6px 18px 20px 18px;text-align:left}
@media(max-width:700px){
  .faq__title{font-size:clamp(2rem,8vw,2.6rem)}
  .faq-question{font-size:clamp(.98rem,4.3vw,1.05rem)}
  .faq-answer p{font-size:.95rem}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a0580cc */.cta{background:var(--cream);padding:clamp(56px,9vw,110px) 0 clamp(90px,12vw,140px)}
.cta__inner{position:relative;text-align:left}
.cta__pre{
  font-family:var(--ff-sans);
  font-size:clamp(2.2rem,6vw,4rem);
  font-weight:600;
  color:var(--text);
  line-height:1;
  letter-spacing:-.02em;
  margin-bottom:18px;
}
.cta__title{
  font-family:var(--ff-sans);
  font-size:clamp(4.2rem,15vw,13rem);
  font-weight:700;
  color:var(--purple-light);
  opacity:.82;
  line-height:.9;
  letter-spacing:.02em;
}
.cta__circle{
  position:static;
  margin-top:22px;
  margin-left:auto !important;
  width:clamp(96px,12vw,136px);
  aspect-ratio:1/1;
  border:1.5px solid var(--purple-light);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  color:var(--purple);
  text-decoration:none;
}
.cta__circle-arrow{
  width:clamp(24px,2.2vw,30px);
  height:clamp(24px,2.2vw,30px);
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cta__circle-text{
  font-family:var(--ff-sans);
  font-size:clamp(.78rem,1.2vw,.9rem);
  font-weight:600;
  letter-spacing:.04em;
}
.cta__circle:hover{background:rgba(110,56,243,.06)}
@media(max-width:700px){
  .cta__title{
    font-size:clamp(3rem,15vw,5rem);
    word-wrap:break-word;
    hyphens:auto;
  }
  .cta__circle{
    margin-top:18px;
    width:88px;
  }
}/* End custom CSS */