.elementor-9093 .elementor-element.elementor-element-55ffdae0{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-9093 .elementor-element.elementor-element-647dfe80{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;z-index:1;text-align:center;}.elementor-9093 .elementor-element.elementor-element-647dfe80 .elementor-heading-title{font-family:"Anton", Sans-serif;font-size:150px;text-transform:uppercase;color:var( --e-global-color-primary );}.elementor-9093 .elementor-element.elementor-element-63d053ef{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-9093 .elementor-element.elementor-element-63d053ef .elementor-heading-title{font-family:"Anton", Sans-serif;font-size:120px;text-transform:uppercase;letter-spacing:5px;color:var( --e-global-color-5ccd984 );}.elementor-9093 .elementor-element.elementor-element-2c181c2a{width:var( --container-widget-width, 440px );max-width:440px;margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:440px;--container-widget-flex-grow:0;text-align:center;font-family:"Poppins", Sans-serif;font-size:18px;font-weight:300;line-height:1.5em;color:var( --e-global-color-primary );}.elementor-9093 .elementor-element.elementor-element-2c181c2a.elementor-element{--align-self:center;}.elementor-9093 .elementor-element.elementor-element-38ee3b9 .elementor-button{background-color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:0.4px;fill:#253470;color:#253470;box-shadow:7px 7px 0px 0px #253470;border-style:solid;border-width:3px 3px 3px 3px;border-color:var( --e-global-color-text );border-radius:0px 0px 0px 0px;padding:10px 20px 10px 20px;}.elementor-9093 .elementor-element.elementor-element-38ee3b9 .elementor-button:hover, .elementor-9093 .elementor-element.elementor-element-38ee3b9 .elementor-button:focus{background-color:var( --e-global-color-text );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-9093 .elementor-element.elementor-element-38ee3b9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -45px) 0px;}.elementor-9093 .elementor-element.elementor-element-38ee3b9 .elementor-button:hover svg, .elementor-9093 .elementor-element.elementor-element-38ee3b9 .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-9093 .elementor-element.elementor-element-13d6ffc{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9093 .elementor-element.elementor-element-5278ba08{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-9093 .elementor-element.elementor-element-55147192{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-9093 .elementor-element.elementor-element-738a8b9c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-9093 .elementor-element.elementor-element-5a36f737{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-9093 .elementor-element.elementor-element-258debfb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-9093 .elementor-element.elementor-element-45137aea{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:70px;--padding-left:0px;--padding-right:0px;}.elementor-9093 .elementor-element.elementor-element-18ecbe7{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9093 .elementor-element.elementor-element-7cd011e9{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9093 .elementor-element.elementor-element-38a500a3{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9093 .elementor-element.elementor-element-2939eb69{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9093 .elementor-element.elementor-element-63995eec{--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;}@media(min-width:768px){.elementor-9093 .elementor-element.elementor-element-13d6ffc{--width:100%;}.elementor-9093 .elementor-element.elementor-element-18ecbe7{--width:100%;}.elementor-9093 .elementor-element.elementor-element-7cd011e9{--width:100%;}.elementor-9093 .elementor-element.elementor-element-38a500a3{--width:100%;}.elementor-9093 .elementor-element.elementor-element-2939eb69{--width:100%;}}@media(max-width:1024px){.elementor-9093 .elementor-element.elementor-element-647dfe80 .elementor-heading-title{font-size:110px;}.elementor-9093 .elementor-element.elementor-element-63d053ef .elementor-heading-title{font-size:100px;}.elementor-9093 .elementor-element.elementor-element-2c181c2a{font-size:17px;}.elementor-9093 .elementor-element.elementor-element-38ee3b9 .elementor-button{font-size:14px;padding:15px 25px 15px 25px;}}@media(max-width:767px){.elementor-9093 .elementor-element.elementor-element-647dfe80{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -15px) 0px;}.elementor-9093 .elementor-element.elementor-element-647dfe80 .elementor-heading-title{font-size:50px;letter-spacing:1px;}.elementor-9093 .elementor-element.elementor-element-63d053ef{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-9093 .elementor-element.elementor-element-63d053ef .elementor-heading-title{font-size:45px;letter-spacing:1px;}.elementor-9093 .elementor-element.elementor-element-2c181c2a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:260px;--container-widget-flex-grow:0;width:var( --container-widget-width, 260px );max-width:260px;font-size:12px;}.elementor-9093 .elementor-element.elementor-element-38ee3b9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-9093 .elementor-element.elementor-element-38ee3b9 .elementor-button{font-size:12px;padding:10px 20px 10px 20px;}.elementor-9093 .elementor-element.elementor-element-13d6ffc{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}/* Start custom CSS *//* ============================================================
   PORTAFOLIO CONVERGING WORKS
   Pegar en: Ajustes de Pagina > Avanzado > CSS personalizado
   Reemplaza por completo la version anterior.
   ============================================================ */


/* ============================================================
   PORTAFOLIO CONVERGING WORKS
   La maquetacion (columnas, anchos, gaps) vive en los ajustes de
   cada contenedor de Elementor. Este CSS solo pone marca, formas
   y comportamientos de hover. No pelea con el layout.
   ============================================================ */
.cw-porta{--azul:#253470;--rosa:#FB68B2;--cielo:#45BCE4;--verde:#BADA3B;
  --amarillo:#F8BF2E;--naranja:#FF6E29;--gris:#6B7280;--gris-claro:#F4F5F9;--borde:#E7E9F2}
/* Anton declarada por body.elementor-page-9093 propio. No cuelga de una clase raiz. */
.cw-h1a .elementor-heading-title,.cw-h1b .elementor-heading-title,
.cw-nom .elementor-heading-title{
  font-family:'Anton',sans-serif!important;font-weight:400!important;
  text-transform:uppercase;letter-spacing:.02em;margin:0!important}
.cw-sub p,.cw-giro p,.cw-rotulo .elementor-heading-title,.cw-nota{
  font-family:'Poppins',sans-serif!important;margin:0}

/* ---------- HERO ---------- */
.cw-hero{position:relative;overflow:hidden;min-height:clamp(620px,72vh,900px)}
/* Los widgets HTML (fuentes, blobs, comportamientos) no deben ocupar alto */
.cw-fuentes,.cw-comportamientos{display:none!important}

/* --- TEXTO DEL HERO (tamanos, degradado y capa) --- */
.cw-hero>.e-con-inner,.cw-hero>.elementor-container{position:relative;z-index:3}
.cw-h1a .elementor-heading-title,.cw-h1b .elementor-heading-title{
  font-size:clamp(48px,10vw,140px);line-height:.86;letter-spacing:-.5px;
  color:#253470;text-align:center}
.cw-h1b .elementor-heading-title{
  background:linear-gradient(92deg,#FB68B2,#FF6E29 55%,#F8BF2E);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.cw-sub p{font-weight:300;color:#6B7280;font-size:clamp(14px,2vw,17px);
  line-height:1.65;max-width:560px;margin:18px auto 0;text-align:center}
/* El texto siempre por encima de los circulos y de los mockups */
.cw-h1a,.cw-h1b,.cw-sub,.cw-btn{position:relative!important;z-index:5!important}

.cw-btn .elementor-button{font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;
  background:#253470;color:#fff;border-radius:999px;padding:15px 32px;
  transition:transform .2s,filter .2s}
.cw-btn .elementor-button:hover{transform:translateY(-3px);filter:brightness(1.12)}

/* Fila de mockups del hero. Son PNG con transparencia, asi que
   NO llevan contenedor, ni fondo, ni sombra, ni recorte: solo
   flotan y se mueven un poco. */
.cw-mockups{position:relative;z-index:1!important;display:flex!important;
  flex-direction:row!important;align-items:flex-end!important;justify-content:center!important;
  flex-wrap:nowrap!important;gap:0!important;height:auto!important;
  margin-top:70px!important;
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;padding:0 1vw!important;
  background:transparent!important;overflow:visible!important}

.cw-mk{position:relative!important;flex:0 0 auto!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;overflow:visible!important;margin:0!important;padding:0!important;
  animation:cwFlota 8s ease-in-out infinite}
.cw-mk .elementor-widget-container,.cw-mk figure{margin:0!important;padding:0!important;
  background:transparent!important;height:auto!important;line-height:0}
.cw-mk img{width:100%!important;height:auto!important;
  aspect-ratio:auto!important;object-fit:contain!important;
  display:block;background:transparent!important;
  border-radius:0!important;box-shadow:none!important}

/* cada pieza con su ancho y su altura propia, sin rotaciones
   porque las imagenes ya vienen en perspectiva.
   Estos valores salieron de la herramienta ajustar-hero.html */
/* Sin z-index a proposito: el apilado sigue el orden visual
   (a, b, c, e, d), asi que cada pieza queda encima de la anterior
   y el celular derecho tapa al monitor central. Es el mismo
   comportamiento que la herramienta ajustar-hero.html. */
.cw-mk-a{order:1;width:25.5vw;max-width:845px;margin-bottom:34px!important;
  margin-right:-10vw!important;animation-delay:-1.2s}
.cw-mk-b{order:2;width:11.5vw;max-width:260px;margin-bottom:204px!important;
  margin-right:-3vw!important;animation-delay:-2.6s}
.cw-mk-c{order:3;width:40.5vw;max-width:580px;margin-bottom:52px!important;
  animation-delay:0s}
.cw-mk-e{order:4;width:12vw;max-width:245px;margin-bottom:10px!important;
  margin-left:-7vw!important;animation-delay:-5s}
.cw-mk-d{order:5;width:24vw;max-width:395px;margin-bottom:142px!important;
  margin-left:-2.6vw!important;animation-delay:-3.8s}

@media(max-width:900px){
  .cw-mockups{margin-top:48px!important;padding:0!important}
  .cw-mk-a,.cw-mk-e{display:none!important}
  .cw-mk-b{width:28vw}.cw-mk-c{width:50vw}.cw-mk-d{width:34vw}
}
@keyframes cwFlota{0%,100%{translate:0 0}50%{translate:0 -10px}}
@media(max-width:900px){
  .cw-mockups{margin-top:64px!important;padding:0!important}
  .cw-mk-a,.cw-mk-e{display:none!important}
  .cw-mk-b{width:26vw}.cw-mk-c{width:44vw}.cw-mk-d{width:30vw}
}

/* La capa de circulos se identifica por lo que contiene, no por su clase.
   Asi funciona aunque el widget no traiga la clase cw-capa-blobs. */
.cw-hero .elementor-widget-html:has(.cw-blobs),
.cw-hero .e-con-inner>.elementor-element:has(.cw-blobs),
.cw-capa-blobs{
  position:absolute!important;inset:0!important;
  width:auto!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;
  z-index:0!important;pointer-events:none!important}
.cw-hero .elementor-widget-container:has(.cw-blobs){
  height:100%!important;margin:0!important;padding:0!important}
/* La capa NO depende de la altura de su widget contenedor: se define
   su propio alto y ancho. Asi los porcentajes de cada circulo tienen
   contra que calcularse y se reparten de verdad por las esquinas. */
.cw-blobs{position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:100vw;height:clamp(620px,72vh,900px);
  z-index:0;pointer-events:none;--cw-blur:0px}
.cw-blobs i{position:absolute;display:block;border-radius:50%;
  filter:blur(var(--cw-blur));opacity:1;animation:cwBlob 22s ease-in-out infinite}
/* Uno por esquina, cuatro tamanos distintos, sin encimarse.
   Colores exactos de la paleta Converging. */
.cw-blobs i:nth-child(1){width:clamp(120px,13vw,215px);aspect-ratio:1;background:#45BCE4;
  top:5%;left:4%}
.cw-blobs i:nth-child(2){width:clamp(88px,9.5vw,155px);aspect-ratio:1;background:#F8BF2E;
  top:9%;right:5%;animation-delay:-5s}
.cw-blobs i:nth-child(3){width:clamp(66px,7vw,115px);aspect-ratio:1;background:#FB68B2;
  bottom:12%;right:8%;animation-delay:-11s}
.cw-blobs i:nth-child(4){width:clamp(48px,5.2vw,86px);aspect-ratio:1;background:#BADA3B;
  bottom:18%;left:7%;animation-delay:-16s}
.cw-blobs i:nth-child(5),.cw-blobs i:nth-child(6){display:none}
@media(max-width:900px){
  .cw-blobs i:nth-child(1){top:3%;left:-4%}
  .cw-blobs i:nth-child(2){top:6%;right:-3%}
  .cw-blobs i:nth-child(3){bottom:16%;right:2%}
  .cw-blobs i:nth-child(4){bottom:22%;left:2%}
}
@keyframes cwBlob{0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(14px,-18px) scale(1.05)}}
@media(prefers-reduced-motion:reduce){.cw-blobs i,.cw-mk{animation:none}}

/* ---------- PESTANAS ---------- */
.cw-tabs .e-n-tabs-heading{justify-content:center!important;gap:8px;flex-wrap:wrap;border:0}
.cw-tabs .e-n-tab-title{font-family:'Poppins',sans-serif!important;font-weight:600!important;
  font-size:13.5px!important;padding:11px 24px!important;border-radius:999px!important;
  background:#F4F5F9!important;color:#253470!important;border:0!important;transition:all .18s}
.cw-tabs .e-n-tab-title:hover{transform:translateY(-2px)}
.cw-tabs .e-n-tab-title[aria-selected="true"]{color:#fff!important;box-shadow:0 4px 24px rgba(37,52,112,.16)}
.cw-tabs .e-n-tab-title:nth-child(1)[aria-selected="true"],
.cw-tabs .e-n-tab-title:nth-of-type(1)[aria-selected="true"]{background:#253470!important}
.cw-tabs .e-n-tab-title:nth-child(2)[aria-selected="true"],
.cw-tabs .e-n-tab-title:nth-of-type(2)[aria-selected="true"]{background:#FB68B2!important}
.cw-tabs .e-n-tab-title:nth-child(3)[aria-selected="true"],
.cw-tabs .e-n-tab-title:nth-of-type(3)[aria-selected="true"]{background:#45BCE4!important}
.cw-tabs .e-n-tab-title:nth-child(4)[aria-selected="true"],
.cw-tabs .e-n-tab-title:nth-of-type(4)[aria-selected="true"]{background:#FF6E29!important}
.cw-tabs .e-n-tabs-content{padding:0!important;margin-top:0!important}
/* El contenido de las pestanas se cine al ancho del sitio. Sin esto las
   tarjetas se estiran a todo el viewport y las destacadas salen enormes. */
.cw-tab{padding-top:0!important;max-width:1140px;margin-left:auto!important;margin-right:auto!important}
@media(max-width:1200px){.cw-tab{max-width:100%;padding-left:24px!important;padding-right:24px!important}}
.cw-rotulo .elementor-heading-title{font-weight:600!important;font-size:11px!important;
  letter-spacing:.18em;text-transform:uppercase;color:#253470;padding:52px 0 26px}
.cw-rotulo .elementor-heading-title span{color:#6B7280;font-weight:500}
.cw-tab>.e-con-inner>.cw-rotulo:first-child .elementor-heading-title,
.cw-tab>.cw-rotulo:first-child .elementor-heading-title{padding-top:6px}

/* bloque azul de "Mas proyectos", como el diseno original */
.cw-bloque-azul{margin-top:56px!important;overflow:visible!important}
.cw-bloque-azul .cw-rotulo .elementor-heading-title{color:#fff;padding-top:0}
.cw-bloque-azul .cw-rotulo .elementor-heading-title span{color:rgba(255,255,255,.5)}
.cw-bloque-azul .cw-nom .elementor-heading-title{color:#FFFFFF!important;opacity:.88}
.cw-bloque-azul .cw-card:hover .cw-nom .elementor-heading-title{color:var(--acento)!important;opacity:1}
.cw-bloque-azul .cw-giro p{color:rgba(255,255,255,.5)!important;
  border-bottom-color:rgba(255,255,255,.18)!important}
.cw-bloque-azul .cw-marco{box-shadow:0 10px 34px rgba(0,0,0,.28)}


/* ---------- TARJETAS ---------- */
.cw-card{--acento:#253470;cursor:pointer;transition:transform .22s ease}
.cw-card:hover{transform:translateY(-6px)}
.cw-grid>.cw-card:nth-child(6n+1),.cw-fila>.cw-card:nth-child(6n+1){--acento:#253470}
.cw-grid>.cw-card:nth-child(6n+2),.cw-fila>.cw-card:nth-child(6n+2){--acento:#FB68B2}
.cw-grid>.cw-card:nth-child(6n+3),.cw-fila>.cw-card:nth-child(6n+3){--acento:#45BCE4}
.cw-grid>.cw-card:nth-child(6n+4),.cw-fila>.cw-card:nth-child(6n+4){--acento:#BADA3B}
.cw-grid>.cw-card:nth-child(6n+5),.cw-fila>.cw-card:nth-child(6n+5){--acento:#F8BF2E}
.cw-grid>.cw-card:nth-child(6n+6),.cw-fila>.cw-card:nth-child(6n+6){--acento:#FF6E29}

.cw-marco{position:relative!important;overflow:hidden!important;border-radius:14px;
  background:#fff;box-shadow:0 4px 24px rgba(37,52,112,.08);transition:box-shadow .25s}
.cw-card:hover .cw-marco{box-shadow:0 18px 50px rgba(37,52,112,.18)}
.cw-marco .elementor-widget-image{margin:0!important;width:100%}
.cw-marco figure,.cw-marco .elementor-widget-container{margin:0!important;line-height:0}
.cw-marco .cw-img-a img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top center;
  display:block;transition:opacity .45s ease,transform .8s ease}
/* El mockup es la imagen de FONDO del marco. El screenshot se desvanece
   encima y lo deja ver. Sin superponer widgets, sin position absolute. */
.cw-dest .cw-marco{background-size:cover!important;background-repeat:no-repeat!important;
  background-position:center center!important}
.cw-dest:hover .cw-marco .cw-img-a img{opacity:0;transform:scale(1.02)}

.cw-nom .elementor-heading-title{font-size:20px!important;letter-spacing:.04em;color:#253470;
  line-height:1.15;padding-top:15px}
.cw-giro p{font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:#6B7280;padding:5px 0 13px;border-bottom:1px solid #E7E9F2}
.cw-card::after{content:"";display:block;height:3px;width:0;background:var(--acento);transition:width .45s ease}
.cw-card:hover::after{width:100%}

/* fila deslizable */
.cw-fila{overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:12px!important}
.cw-fila::-webkit-scrollbar{display:none}
.cw-fila>.cw-card{flex:0 0 clamp(260px,32vw,400px)!important;scroll-snap-align:start}

/* redes 4:5 con logo encima */
.cw-marco-s{border-radius:16px;background:#111;
  aspect-ratio:4/5!important;height:auto!important;
  display:block!important;padding:0!important;overflow:hidden!important}
.cw-marco-s>*{margin:0!important}
.cw-marco-s .cw-img-a{position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;line-height:0}
.cw-marco-s .cw-img-a .elementor-widget-container,
.cw-marco-s .cw-img-a figure{height:100%!important;margin:0!important}
.cw-marco-s .cw-img-a img{width:100%!important;height:100%!important;
  aspect-ratio:auto!important;object-fit:cover!important;object-position:center center;
  display:block!important;filter:brightness(.68);
  transition:transform .7s ease,filter .4s}
.cw-social:hover .cw-marco-s .cw-img-a img{transform:scale(1.07);filter:brightness(.46)}
.cw-marco-s .cw-logo{position:absolute!important;inset:0;display:flex!important;
  align-items:center;justify-content:center;padding:26px;z-index:2}
.cw-marco-s .cw-logo img{max-width:100%;max-height:76px;width:auto;object-fit:contain;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,.6));transition:transform .35s;aspect-ratio:auto!important}
.cw-social:hover .cw-marco-s .cw-logo img{transform:scale(1.06)}
.cw-marco-s::after{content:"";position:absolute;left:0;top:0;width:100%;height:5px;
  background:var(--acento);z-index:3}

/* identidad: portada a sangre, con barra de acento arriba,
   igual que las tarjetas digitales */
.cw-ident .cw-marco{background:#F4F5F9;padding:0!important;
  border-top:5px solid var(--acento);overflow:hidden!important}
.cw-ident .cw-marco .cw-img-a{width:100%}
.cw-ident .cw-marco .cw-img-a img{width:100%;height:100%;aspect-ratio:4/3;
  object-fit:cover!important;object-position:center center;
  box-shadow:none!important;transition:transform .6s ease}
.cw-ident:hover .cw-marco .cw-img-a img{transform:scale(1.05)}

/* tarjetas: recorrido vertical */
.cw-visor{border-radius:16px;border-top:5px solid var(--acento);background:#F4F5F9;
  aspect-ratio:9/16;overflow:hidden!important}
.cw-visor .elementor-widget-image{position:absolute!important;top:0;left:0;width:100%}
.cw-visor .cw-img-a img{width:100%;height:auto!important;aspect-ratio:auto!important;
  object-fit:unset!important;display:block;transition:transform 4.5s linear}
.cw-tarjeta:hover .cw-visor .cw-img-a img{transform:translateY(calc(-100% + 100cqh))}
.cw-visor{container-type:size}


/* ---------- LISTA "MAS PROYECTOS": dos columnas, sin numeracion,
   el giro debajo del nombre ---------- */
.cw-lista{position:relative;display:grid!important;grid-template-columns:repeat(2,1fr)!important;
  gap:0 40px!important;align-items:stretch}
@media(max-width:820px){.cw-lista{grid-template-columns:1fr!important;gap:0!important}}

.cw-fila-lista{display:flex!important;flex-direction:column!important;
  align-items:flex-start!important;justify-content:center!important;
  gap:0!important;cursor:pointer;
  border-top:1px solid rgba(255,255,255,.14)!important;
  padding:20px 10px!important;transition:background .25s ease}
.cw-fila-lista:hover{background:rgba(255,255,255,.06)}

/* fuera la numeracion */
.cw-num{display:none!important}

.cw-nom-lista{flex:0 0 auto!important;width:100%}
.cw-nom-lista .elementor-heading-title{font-family:'Anton',sans-serif!important;font-weight:400!important;
  font-size:clamp(20px,2.2vw,30px)!important;line-height:1.05;text-transform:uppercase;
  letter-spacing:.4px;color:rgba(255,255,255,.78);transition:color .25s ease;margin:0!important}
.cw-fila-lista:hover .cw-nom-lista .elementor-heading-title{color:var(--acento)}

.cw-giro-lista{flex:0 0 auto!important;width:100%}
.cw-giro-lista p{font-family:'Poppins',sans-serif!important;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.42);margin:0!important;
  padding:7px 0 0!important;border:0!important;white-space:normal}

/* acento rotativo por fila */
.cw-lista>.cw-fila-lista:nth-child(6n+1){--acento:#FB68B2}
.cw-lista>.cw-fila-lista:nth-child(6n+2){--acento:#45BCE4}
.cw-lista>.cw-fila-lista:nth-child(6n+3){--acento:#BADA3B}
.cw-lista>.cw-fila-lista:nth-child(6n+4){--acento:#F8BF2E}
.cw-lista>.cw-fila-lista:nth-child(6n+5){--acento:#FF6E29}
.cw-lista>.cw-fila-lista:nth-child(6n+6){--acento:#FB68B2}

/* preview que sigue al cursor */
.cw-prev{position:absolute!important;top:50%;left:50%;width:330px;max-width:32%;
  z-index:6;pointer-events:none;opacity:0;
  transform:translate(-50%,-50%) scale(.92);
  transition:opacity .28s ease,transform .28s ease;
  border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.5)}
/* Solo con la clase .on, que la pone el script ya habiendo colocado la
   imagen bajo el cursor. Con :hover aparecia antes, en el centro. */
.cw-prev.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.cw-prev img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top center;
  display:block;border-radius:12px}
@media(hover:none),(max-width:820px){
  .cw-prev{position:static!important;opacity:1;transform:none;width:100%;max-width:none;
    order:-1;box-shadow:none;margin-bottom:12px}
  .cw-prev img{aspect-ratio:16/10;border-radius:10px}
}

/* separacion entre las dos filas de carrusel */
.cw-fila-2{margin-top:26px!important}

/* ---------- FLECHAS DE LOS CARRUSELES (las crea el JS) ---------- */
.cw-nav{display:flex!important;gap:9px;justify-content:flex-end;align-items:center;
  width:100%;margin:6px 0 0!important;padding:0!important}
.cw-nav .cw-nav-btn{
  width:44px!important;height:44px!important;min-width:0!important;min-height:0!important;
  padding:0!important;margin:0!important;border-radius:50%!important;
  border:1.5px solid #E7E9F2!important;background:#FFFFFF!important;color:#253470!important;
  display:flex!important;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:none!important;transition:all .18s ease;line-height:0!important}
.cw-nav .cw-nav-btn:hover{background:#253470!important;border-color:#253470!important;
  color:#FFFFFF!important;transform:translateY(-2px)}
.cw-nav .cw-nav-btn svg{display:block}

/* ---------- CHIPS DE FILTRO (los genera el JS leyendo los giros) ----------
   Van con !important porque el tema estiliza los <button> con mas
   especificidad y se los comia. */
.cw-chips{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;
  gap:8px!important;padding:14px 0 4px!important;width:100%!important;margin:0!important}
.cw-chips .cw-chip{
  font-family:'Poppins',sans-serif!important;font-size:12px!important;font-weight:500!important;
  letter-spacing:.05em!important;text-transform:uppercase!important;
  padding:9px 18px!important;border-radius:999px!important;
  border:1.5px solid #E7E9F2!important;background:#FFFFFF!important;color:#6B7280!important;
  cursor:pointer!important;transition:all .16s ease!important;line-height:1.2!important;
  box-shadow:none!important;text-shadow:none!important;width:auto!important;
  min-width:0!important;min-height:0!important;height:auto!important;margin:0!important}
.cw-chips .cw-chip:hover{border-color:#253470!important;color:#253470!important;
  background:#FFFFFF!important;transform:translateY(-1px)}
.cw-chips .cw-chip[aria-pressed="true"]{
  background:#253470!important;border-color:#253470!important;color:#FFFFFF!important}
.cw-oculto{display:none!important}

/* ---------- TITULO DEL BLOQUE AZUL ---------- */
.cw-bloque-azul .cw-rotulo .elementor-heading-title,
.cw-bloque-azul .cw-rotulo h4{color:#FFFFFF!important;padding-top:0!important}
.cw-bloque-azul .cw-rotulo .elementor-heading-title span{color:rgba(255,255,255,.55)!important}


/* avisos de montaje (borrar al terminar) */
.cw-nota{margin-top:38px;padding:16px 18px;border-left:4px solid #F8BF2E;background:#FFFBEF;
  border-radius:0 10px 10px 0;font-family:'Poppins',sans-serif;font-size:13px;
  line-height:1.65;color:#6B5218;font-weight:300}
.cw-nota b{display:block;font-weight:600;color:#253470;text-transform:uppercase;
  letter-spacing:.1em;font-size:11px;margin-bottom:6px}
.cw-nota code{background:#fff;padding:2px 6px;border-radius:4px;font-size:12px}

/* ============================================================
   MOVIL  (va al final del archivo a proposito: asi estas reglas
   ganan por orden a todas las generales de arriba)

   Elementor convierte Nested Tabs en acordeon en movil y manda
   las pestanas inactivas debajo de su contenido. Aqui se anula:
   las cuatro quedan arriba, en dos columnas.
   ============================================================ */
@media(max-width:767px){

  /* --- las 4 pestanas de categoria, arriba y en 2 columnas --- */
  .cw-tabs .e-n-tabs{display:flex!important;flex-direction:column!important;gap:0!important}
  .cw-tabs .e-n-tabs-heading{
    display:flex!important;flex-wrap:wrap!important;justify-content:center!important;
    order:0!important;width:100%!important;gap:6px!important;margin-bottom:4px!important}
  .cw-tabs .e-n-tab-title{
    order:0!important;
    flex:0 0 calc(50% - 3px)!important;width:calc(50% - 3px)!important;max-width:none!important;
    font-size:10.5px!important;letter-spacing:.02em!important;
    padding:9px 6px!important;border-radius:999px!important;
    text-align:center!important;justify-content:center!important;
    white-space:normal!important;line-height:1.25!important;min-height:0!important}
  .cw-tabs .e-n-tab-title>*{justify-content:center!important;text-align:center!important;
    font-size:inherit!important}
  .cw-tabs .e-n-tabs-content{order:1!important;width:100%!important}
  .cw-tabs .e-n-tab-title .e-n-tab-icon,
  .cw-tabs .e-n-tab-title>svg{display:none!important}

  /* --- chips de giro: rejilla de 3, asi 7 filtros caben en 3 hileras --- */
  .cw-chips{
    display:grid!important;grid-template-columns:repeat(3,1fr)!important;
    gap:5px!important;padding:12px 0 2px!important;justify-content:stretch!important}
  .cw-chips .cw-chip{
    width:100%!important;flex:none!important;
    font-size:8.5px!important;letter-spacing:.02em!important;font-weight:600!important;
    padding:7px 4px!important;border-width:1px!important;
    white-space:normal!important;line-height:1.2!important;text-align:center!important}

  /* --- PORTADA: composicion compacta, sin desfases ni aire --- */
  .cw-hero{min-height:0!important;padding-bottom:22px!important}
  .cw-blobs{height:100%!important}
  /* el hueco venia del gap del contenedor del hero, no del margen */
  .cw-hero>.e-con-inner,.cw-hero>.elementor-container{gap:0!important}
  .cw-btn{margin-bottom:0!important}
  .cw-mockups{margin-top:6px!important;padding:0 2vw!important;
    align-items:flex-end!important}
  .cw-mk-b{width:24vw!important;max-width:none!important;
    margin-bottom:40px!important;margin-right:-5vw!important}
  .cw-mk-c{width:48vw!important;max-width:none!important;
    margin-bottom:0!important}
  .cw-mk-d{width:32vw!important;max-width:none!important;
    margin-bottom:28px!important;margin-left:-6vw!important}

  /* --- MAS PROYECTOS: solo nombre, dos columnas, sin borde ancho --- */
  /* recuadro redondeado con 10px de aire a cada lado */
  .cw-bloque-azul{margin-top:36px!important;
    width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;
    margin-left:calc(50% - 50vw + 10px)!important;
    margin-right:calc(50% - 50vw + 10px)!important}
  .cw-bloque-azul,.cw-bloque-azul>.e-con-inner{
    padding-left:14px!important;padding-right:14px!important}
  .cw-lista{grid-template-columns:repeat(2,1fr)!important;gap:0 12px!important}

  /* miniatura cuadrada a la izquierda, nombre y giro a la derecha */
  .cw-fila-lista{display:grid!important;
    grid-template-columns:44px 1fr!important;
    grid-template-rows:auto auto!important;
    column-gap:9px!important;row-gap:0!important;
    align-items:center!important;padding:11px 0!important}
  .cw-prev{display:block!important;position:static!important;
    grid-column:1!important;grid-row:1 / span 2!important;
    width:44px!important;height:44px!important;max-width:44px!important;
    opacity:1!important;transform:none!important;order:0!important;
    margin:0!important;overflow:hidden!important;border-radius:8px!important}
  .cw-prev .elementor-widget-container,.cw-prev figure{height:100%!important;margin:0!important}
  .cw-prev img{width:100%!important;height:100%!important;
    aspect-ratio:1/1!important;object-fit:cover!important;
    object-position:top center!important;border-radius:8px!important;display:block!important}
  .cw-nom-lista{grid-column:2!important;grid-row:1!important;margin:0!important}
  .cw-giro-lista{grid-column:2!important;grid-row:2!important;margin:0!important}
  .cw-nom-lista .elementor-heading-title{font-size:13px!important;line-height:1.15!important}
  .cw-giro-lista p{font-size:8px!important;padding-bottom:0!important;border:0!important}

  /* --- el resto, mas compacto --- */
  .cw-rotulo .elementor-heading-title{padding:32px 0 14px!important;font-size:9.5px!important}
  .cw-nav .cw-nav-btn{width:36px!important;height:36px!important}
  .cw-nom .elementor-heading-title{font-size:16px!important}
  .cw-giro p{font-size:9.5px!important}
}

@media(max-width:380px){
  .cw-tabs .e-n-tab-title{font-size:9.5px!important;padding:8px 5px!important}
  .cw-chips .cw-chip{font-size:8px!important;padding:6px 3px!important}
}/* End custom CSS */