.elementor-kit-8{--e-global-color-primary:#23211C;--e-global-color-secondary:#878786;--e-global-color-text:#23211C;--e-global-color-accent:#F9B233;--e-global-color-cxcrema:#FAF6EF;--e-global-color-cxpapel:#FFFFFF;--e-global-color-cxarena:#F1ECE1;--e-global-color-cxgrist:#6B6964;--e-global-typography-primary-font-family:"DM Sans";--e-global-typography-secondary-font-family:"DM Sans";--e-global-typography-secondary-font-style:italic;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-accent-font-family:"DM Sans";background-color:#FAF6EF;color:#23211C;font-family:"DM Sans", Sans-serif;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*=== 1-tokens ===*/
/* CONECTA · sistema «lo de en medio» · arco · punto · hilo
   Las fuentes se declaran aqui con nombre propio (CX …) para fijar sus rangos de peso y anchura; los archivos son los mismos de Elementor > Fuentes personalizadas.
   Este CSS decide cómo se ve y cómo se mueve. El contenido vive en Elementor.
   Los colores salen de Ajustes del sitio > Colores globales. */

@font-face{font-family:"CX DM Sans";src:url("https://conectaagencia.com/wp-content/uploads/2026/10/dm-sans-variable-latin.woff2") format("woff2");font-weight:100 1000;font-style:normal;font-display:swap}

@property --cx-t{syntax:"<percentage>";inherits:true;initial-value:2.4%}
@property --cx-o{syntax:"<number>";inherits:true;initial-value:0}
@property --cx-n{syntax:"<number>";inherits:true;initial-value:0}
@property --cx-g{syntax:"<number>";inherits:true;initial-value:0}
@property --cx-l{syntax:"<number>";inherits:true;initial-value:1}
@property --cx-k{syntax:"<number>";inherits:true;initial-value:0}
@property --cx-u{syntax:"<percentage>";inherits:true;initial-value:100%}
@property --cx-a{syntax:"<number>";inherits:true;initial-value:0}
body{
--crema:var(--e-global-color-cxcrema,#FAF6EF);--papel:var(--e-global-color-cxpapel,#FFFFFF);--arena:var(--e-global-color-cxarena,#F1ECE1);
--tinta:var(--e-global-color-primary,#23211C);--ambar:var(--e-global-color-accent,#F9B233);--naranja:#F9B233;--gris:var(--e-global-color-secondary,#878786);--gris-t:var(--e-global-color-cxgrist,#6B6964);
--linea:rgba(35,33,28,.14);--linea-b:rgba(255,255,255,.22);
--f-d:"CX DM Sans","DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-s:"CX DM Sans","DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-b:"CX DM Sans","DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
--e-out:cubic-bezier(.16,1,.3,1);--e-io:cubic-bezier(.65,0,.35,1);--e-back:cubic-bezier(.34,1.56,.64,1);
--t-fast:.25s;--t-mid:.4s;--t-slow:.7s;
--cw:min(100vw,430px);--x0:calc((100vw - var(--cw))/2);--sw:calc(var(--cw)/100);--vw:var(--sw);--vh:1vh;
--gut:calc(6*var(--vw));--rx:clamp(14px,calc(4.4*var(--vw)),28px);--hdr:60px;--tab:44px;--safe-b:env(safe-area-inset-bottom,0px);
--i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
--i-lr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7l-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E");
--i-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E");
}
@supports (height:1svh){body{--vh:1svh}}
@media (max-height:780px){body{--tab:32px}}
/*=== 2-global ===*/
html{background:#FAF6EF;-webkit-text-size-adjust:100%}
body{overflow-x:clip;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
html.cx-lock{overflow:hidden}
body ::selection{background:var(--ambar);color:var(--tinta)}
/* los contenedores y widgets con clase .cx no heredan separaciones de Elementor: las pone este sistema */
.cx{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--row-gap:0px;--column-gap:0px;--gap:0px;--margin-top:0px;--margin-bottom:0px}
.cx img,.cx video,.cx svg{display:block}
.cx a{color:inherit;text-decoration:none}
button.cx-b,button.cx-b:hover,button.cx-b:focus{font:inherit;color:inherit;background:none;border:0;padding:0;border-radius:0;cursor:pointer;text-transform:none;letter-spacing:0;box-shadow:none;-webkit-tap-highlight-color:transparent}
.cx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cx.cx-ph .elementor-heading-title,.cx-ph-in{display:inline-block;padding:5px 8px;border-radius:5px;font:500 11px/1.25 var(--f-b);letter-spacing:.01em}
.cx.cx-ph{position:absolute;left:calc(3*var(--vw));bottom:calc(3*var(--vw));max-width:calc(100% - 6*var(--vw));z-index:3;width:auto}
.cx.cx-ph .elementor-heading-title{background:rgba(35,33,28,.78);color:#fff}
.cx-ph-in{border:1.5px dashed currentColor;opacity:.85}
/*=== 3-typography ===*/
.cx.cx-d .elementor-heading-title{font-family:var(--f-d);font-weight:600;font-stretch:88%;letter-spacing:-.035em;line-height:1.02;text-wrap:balance;color:inherit;margin:0}
.cx.cx-d em,.cx em.cx-s{font-family:inherit;font-style:normal;font-weight:inherit;font-stretch:normal;letter-spacing:inherit;font-size:1em;line-height:inherit;padding:0;background:none;color:var(--naranja)}
.cx.cx-em-amber em{color:var(--ambar);background:none}
.cx.cx-em-plain em{background:none;color:inherit}
.cx.cx-body,.cx.cx-body p{font:400 clamp(15px,calc(4.1*var(--vw)),18px)/1.45 var(--f-b);color:inherit;margin:0}
.cx.cx-mut,.cx.cx-mut p{color:var(--gris-t)}
/*=== 4-layout ===*/
/* columna móvil: en pantallas anchas la home se queda como un teléfono centrado hasta la fase de escritorio */
.cx.cx-page-home{display:block;max-width:var(--cw);margin-inline:auto;background:var(--crema);color:var(--tinta);overflow-x:clip}
.cx-page-home>.e-con{width:100%}
/* resto de paginas (entradas, proyectos): solo dejan sitio a la cabecera fija hasta que tengan su propia plantilla */
body:not(.home) .site-main{max-width:820px;margin-inline:auto;padding:calc(var(--hdr) + 32px) var(--gut) 64px}
/*=== 5.00-ui ===*/
.cx.cx-btn .elementor-button.elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:99px;background:var(--tinta);color:#fff;fill:currentColor;font:600 16px/1 var(--f-b);letter-spacing:0;box-shadow:none;transition:transform var(--t-fast) var(--e-out),background-color var(--t-fast)}
.cx.cx-btn .elementor-button:active{transform:scale(.96)}
.cx.cx-btn .elementor-button-content-wrapper{align-items:center;gap:10px}
.cx.cx-btn--dot .elementor-button-content-wrapper::after{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--ambar);transition:transform var(--t-mid) var(--e-back)}
.cx.cx-btn--dot .elementor-button:active .elementor-button-content-wrapper::after{transform:scale(1.7)}
.cx.cx-btn--blanco .elementor-button.elementor-button{background:#fff;color:var(--tinta)}
.cx.cx-btn--full,.cx.cx-btn--full .elementor-button{width:100%}
.cx.cx-lnk .elementor-button.elementor-button{display:inline-flex;align-items:center;min-height:48px;padding:0;border-radius:0;background:none;color:inherit;fill:currentColor;font:600 16px/1 var(--f-b);letter-spacing:0;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px;box-shadow:none}
.cx.cx-lnk .elementor-button-content-wrapper{align-items:center;gap:8px}
.cx.cx-lnk--arrow .elementor-button-content-wrapper::after,.cx.cx-rows a::after{content:"";flex:none;width:1.15em;height:1.15em;background:currentColor;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat;transition:transform .35s var(--e-out)}
.cx.cx-lnk--arrow .elementor-button:active .elementor-button-content-wrapper::after{transform:translateX(5px)}
.cx.cx-rows .elementor-icon-list-items{display:block;margin:0;padding:0;list-style:none;border-block:1.5px solid var(--row,var(--linea))}
.cx.cx-rows .elementor-icon-list-item{display:block;margin:0;padding:0}
.cx.cx-rows .elementor-icon-list-item::after{display:none}
.cx.cx-rows .elementor-icon-list-item+.elementor-icon-list-item{border-top:1.5px solid var(--row,var(--linea))}
.cx.cx-rows .elementor-icon-list-item>a{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:58px;padding-block:12px;color:inherit}
.cx.cx-rows .elementor-icon-list-text{padding:0;color:inherit;font:500 clamp(17px,calc(4.8*var(--vw)),20px)/1.2 var(--f-b);text-align:left}
.cx.cx-rows a:active::after{transform:translateX(6px)}
.cx.cx-rows a[href^="#"]:not([href*="elementor-action"])::after{-webkit-mask-image:var(--i-down);mask-image:var(--i-down)}
.cx.cx-rows small{display:block;margin-top:3px;font:400 13px/1.3 var(--f-b);opacity:.72}
.cx-tagn{font:600 11px/1 var(--f-b);font-style:normal;padding:4px 6px;border-radius:4px;border:1.2px solid currentColor;margin-left:8px;vertical-align:middle;opacity:.7;white-space:nowrap}
@media (max-height:780px){.cx.cx-rows .elementor-icon-list-item>a{min-height:50px;padding-block:8px}}
/*=== 5.01-header ===*/
.cx.cx-header{position:fixed;top:0;left:var(--x0);width:var(--cw);height:var(--hdr);min-height:0;z-index:30;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;padding:0 calc(var(--gut) - 10px) 0 var(--gut);pointer-events:none;color:var(--gris);--logo-n:var(--ambar);--menu-fg:var(--tinta);--menu-dot:var(--ambar);transition:color .35s}
.admin-bar .cx.cx-header{top:var(--wp-admin--admin-bar--height,32px)}
.cx-header.cx-th-dark{color:#fff;--menu-fg:#fff}
.cx-header.cx-th-amber{color:var(--tinta);--logo-n:var(--tinta);--menu-fg:var(--tinta);--menu-dot:var(--tinta)}
.cx-header>*{pointer-events:auto}
.cx.cx-logo{flex:none;width:calc(29.5*var(--vw))}
.cx-logo a{display:block;color:inherit;transform-origin:0 0;transition:transform .75s var(--e-out),opacity .3s}
.cx-logo svg,.cx-logo-svg{width:100%;height:auto;overflow:visible}
.cx-lg-l,.cx-lg-d{fill:currentColor}
.cx-lg-n{fill:var(--logo-n,var(--ambar));transform-box:fill-box;transform-origin:50% 100%;transition:transform .55s var(--e-back),opacity .2s,fill .35s}
.cx-header--min .cx-logo a{transform:translateY(-140%);opacity:0;pointer-events:none}
.cx.cx-menu-btn-w{flex:none;width:auto}
button.cx-b.cx-menu-btn{display:flex;align-items:center;gap:4px;min-height:48px;padding:0 10px 0 18px;border-radius:99px;font:600 15px/1 var(--f-b);color:var(--menu-fg);background:color-mix(in srgb,var(--menu-fg) 9%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--menu-fg) 14%,transparent);transition:color .35s,opacity .4s,background-color .35s,box-shadow .35s}
.cx-menu-btn__t{transition:opacity .3s,transform .4s var(--e-out)}
.cx-dot{display:grid;place-items:center;width:28px;height:28px}
.cx-dot::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--menu-dot,var(--ambar));transition:transform .4s var(--e-back),background-color .35s}
.cx-menu-btn:active .cx-dot::before{transform:scale(1.5)}
html:not(.cx-js) .cx-menu-btn{display:none}
/* al bajar solo acompaña el boton del menu: sin franja de fondo (el logo ya se oculta) */
.cx.cx-header.cx-header--min{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
/*=== 5.02-menu ===*/
/* sin JS (y dentro del editor) el menú es un bloque normal; con JS es un diálogo a pantalla completa que nace del punto */
.cx.cx-menu{position:relative;display:flex;flex-direction:column;padding:76px var(--gut) 28px;background:var(--tinta);color:#fff;--focus:var(--ambar);--row:var(--linea-b)}
.cx-js .cx.cx-menu{position:fixed;top:0;bottom:0;left:var(--x0);width:var(--cw);z-index:40;padding:calc(var(--hdr) + 5*var(--vh)) var(--gut) calc(4*var(--vh) + var(--safe-b));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;visibility:hidden;clip-path:circle(0 at calc(100% - var(--gut) - 14px) 30px);transition:clip-path .7s var(--e-out),visibility 0s .7s}
.cx-js .cx.cx-menu.is-open{visibility:visible;clip-path:circle(150% at calc(100% - var(--gut) - 14px) 30px);transition:clip-path .7s var(--e-out),visibility 0s}
.admin-bar.cx-js-ab .cx.cx-menu{top:0}
.cx.cx-menu-close-w{position:absolute;right:calc(var(--gut) - 10px);top:6px;width:auto}
html:not(.cx-js) .cx-menu-close-w{display:none}
/* en el editor, el bloque del menu solo se ve al editar la cabecera */
.elementor-editor-active .elementor-location-header:not(.elementor-edit-area) .cx-menu{display:none}
button.cx-b.cx-menu-close{display:flex;align-items:center;gap:4px;min-height:48px;padding:0 10px;font:600 15px/1 var(--f-b);color:#fff}
.cx-menu-close .cx-dot::before{background:var(--ambar)}
.cx.cx-menu-nav{display:block}
.cx.cx-menu-links .elementor-icon-list-items{display:block;margin:0;padding:0;list-style:none}
.cx.cx-menu-links .elementor-icon-list-item{display:block;margin:0;padding:0}
.cx.cx-menu-links .elementor-icon-list-item::after{display:none}
.cx.cx-menu-links .elementor-icon-list-item>a{display:block;color:#fff}
.cx.cx-menu-links .elementor-icon-list-text{padding:0;color:inherit;font:600 calc(15*var(--vw))/1.18 var(--f-d);font-stretch:88%;letter-spacing:-.035em}
.cx.cx-menu-links em{font-family:inherit;font-style:normal;font-weight:inherit;font-stretch:normal;letter-spacing:inherit;line-height:inherit;color:var(--ambar)}
html:not(.cx-js) .cx.cx-menu-links .elementor-icon-list-text{font-size:28px}
.cx-js .cx-menu-links .elementor-icon-list-item>a{opacity:0;transform:translateY(26px);transition:opacity .5s var(--e-out),transform .7s var(--e-out)}
.cx-js .cx-menu.is-open .cx-menu-links .elementor-icon-list-item>a{opacity:1;transform:none;transition-delay:calc(.16s + var(--i,0)*.06s)}
.cx-menu-links .elementor-icon-list-item:nth-child(2){--i:1}.cx-menu-links .elementor-icon-list-item:nth-child(3){--i:2}.cx-menu-links .elementor-icon-list-item:nth-child(4){--i:3}.cx-menu-links .elementor-icon-list-item:nth-child(5){--i:4}.cx-menu-links .elementor-icon-list-item:nth-child(6){--i:5}.cx-menu-links .elementor-icon-list-item:nth-child(7){--i:6}
.cx.cx-menu-foot{display:block;margin-top:auto;padding-top:calc(4*var(--vh))}
.cx-js .cx-menu-foot{opacity:0;transition:opacity .5s}
.cx-js .cx-menu.is-open .cx-menu-foot{opacity:1;transition-delay:.55s}
.cx.cx-menu-foot .cx-rows .elementor-icon-list-text{font-size:17px}
.cx.cx-menu-foot .cx-rows .elementor-icon-list-item>a{min-height:52px}
.cx.cx-menu-soc{margin-top:calc(1.6*var(--vh))}
.cx.cx-menu-soc .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:0 18px;margin:0;padding:0;list-style:none}
.cx.cx-menu-soc .elementor-icon-list-item{margin:0;padding:0}
.cx.cx-menu-soc .elementor-icon-list-item::after{display:none}
.cx.cx-menu-soc .elementor-icon-list-item>a{display:inline-flex;align-items:center;min-height:44px;color:#fff;opacity:.8}
.cx.cx-menu-soc .elementor-icon-list-text{padding:0;color:inherit;font:400 14px/1 var(--f-b)}
/*=== 5.03-thread ===*/
/* el hilo y su punto los crea el JS: son decoración, no contenido */
/* HILO DESACTIVADO. Para volver a activarlo, borra la siguiente regla */
.cx-thread,.cx-thread-dot{display:none!important}
.cx-thread{position:fixed;top:0;left:var(--x0);width:var(--cw);height:100%;overflow:visible;z-index:25;pointer-events:none;color:var(--ambar);transition:color .3s,opacity .3s}
.cx-thread path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.cx-thread-dot{position:fixed;left:var(--x0);top:0;width:2px;height:2px;z-index:26;pointer-events:none;color:var(--ambar);transition:color .3s,opacity .3s}
.cx-thread-dot i{position:absolute;left:50%;top:50%;width:100px;height:100px;margin:-50px 0 0 -50px;border-radius:50%;background:currentColor;transform:scale(var(--s,.14));transition:transform .6s var(--e-back)}
.cx-thread.cx-th-amber,.cx-thread-dot.cx-th-amber{color:var(--tinta)}
.cx-has-dlg .cx-thread,.cx-has-dlg .cx-thread-dot{opacity:0}
html:not(.cx-ready) .cx-thread-dot i{transform:scale(0)}
.cx-live .cx-thread-dot i{transition:none}
/*=== 5.04-hero ===*/
.cx.cx-hero{position:relative;display:flex;flex-direction:column;flex-wrap:nowrap;min-height:calc(100*var(--vh));padding:calc(var(--hdr) + 2.2*var(--vh)) var(--gut) calc(3*var(--vh))}
.cx.cx-hero-arch{position:relative;display:block;flex:none;width:min(calc(66*var(--vw)),calc(34.5*var(--vh)));min-height:0;aspect-ratio:175/203;margin-left:calc(2*var(--vw));border-radius:var(--rx);background:var(--ambar);transform-origin:0 0;transform:translate(var(--ix,0px),var(--iy,0px)) scale(var(--is,1));transition:transform .8s var(--e-out),--cx-t .8s var(--e-out)}
.cx.cx-hero-media{position:absolute;inset:0;display:block;width:auto;min-height:0;overflow:hidden;background:var(--crema);clip-path:inset(var(--cx-t) round calc(var(--rx) - 3px))}
.cx.cx-reel{position:absolute;inset:0;width:auto;max-width:none;transition:opacity .6s .25s}
.cx-reel .elementor-image-gallery,.cx-reel .gallery{position:absolute;inset:0;margin:0!important;display:block}
.cx-reel .gallery-item{position:absolute;inset:0;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;opacity:0;transform:scale(1.14);transition:opacity .7s,transform 3.6s linear}
.cx-reel .gallery-item:first-child{opacity:1;transform:none}
.cx-js .cx-reel .gallery-item:first-child:not(.is-on){opacity:0;transform:scale(1.14)}
.cx-reel .gallery-item.is-on{opacity:1;transform:none}
.cx-reel .gallery-icon,.cx-reel .gallery-icon a{display:block;width:100%;height:100%}
.cx-reel .gallery-item img{width:100%;height:100%;object-fit:cover;border:0!important;border-radius:0}
.cx.cx-hero-video{position:absolute;inset:0;width:auto;max-width:none}
.cx-hero-video .elementor-wrapper,.cx-hero-video .e-hosted-video{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.cx-hero-video video{width:100%;height:100%;object-fit:cover}
.cx-hero-video video:not([src]),.cx-hero-video video[src=""]{display:none}
.cx.cx-hero-txt{display:block;margin-top:calc(3.4*var(--vh))}
.cx.cx-hero-title .elementor-heading-title{font-size:calc(11.6*var(--vw))}
.cx.cx-hero-h1{margin-top:calc(1.5*var(--vh))}
.cx.cx-hero-h1 .elementor-heading-title{font:500 clamp(12.5px,calc(3.4*var(--vw)),15px)/1.3 var(--f-b);font-stretch:normal;letter-spacing:0;color:var(--gris-t);margin:0}
.cx.cx-hero-cta{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:calc(5*var(--vw));margin-top:calc(2.6*var(--vh))}
.cx-hero-cta>.elementor-widget{width:auto;flex:none}
.cx.cx-hero-svc{margin-top:auto;padding-top:calc(2.4*var(--vh));max-width:calc(78*var(--vw));transition:opacity .5s .5s}
.cx.cx-hero-svc .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:5px 0;margin:0;padding:0;list-style:none}
.cx.cx-hero-svc .elementor-icon-list-item{display:flex;align-items:center;margin:0;padding:0}
.cx.cx-hero-svc .elementor-icon-list-item::after{display:none}
.cx.cx-hero-svc .elementor-icon-list-item+.elementor-icon-list-item::before{content:"";flex:none;width:5px;height:5px;margin-inline:9px;border-radius:50%;background:var(--ambar)}
.cx.cx-hero-svc .elementor-icon-list-text{padding:0;color:var(--gris-t);font:500 clamp(13px,calc(3.6*var(--vw)),15px)/1.2 var(--f-b)}
.cx.cx-hero-cue{margin-top:calc(1.8*var(--vh));transition:opacity .5s .5s}
.cx.cx-hero-cue .elementor-heading-title{display:flex;align-items:flex-start;gap:14px;font:500 13.5px/1 var(--f-b);font-stretch:normal;letter-spacing:0;color:var(--gris-t);margin:0}
.cx.cx-hero-cue .elementor-heading-title::after{content:"";width:9px;height:27px;transform-origin:50% 0;background:radial-gradient(circle at 50% calc(100% - 4.5px),var(--ambar) 4.4px,transparent 5px),linear-gradient(var(--ambar),var(--ambar)) 50% 0/2px 22px no-repeat;animation:cx-cue 1.9s var(--e-io) infinite}
@media (max-height:660px){.cx.cx-hero-svc{display:none}}
/*=== 5.05-manifesto ===*/
/* sin movimiento: lista de frases. Con movimiento (clase cx-motion): seccion alta, pegada, y GSAP releva las frases */
.cx.cx-manifesto{position:relative;display:block}
.cx.cx-manifesto-stick{display:block;padding:calc(var(--hdr) + 3*var(--vh)) var(--gut) calc(12*var(--vh));--fig:min(calc(52*var(--vw)),calc(26*var(--vh)))}
.cx.cx-manifesto-fig{width:var(--fig);margin-left:calc(5*var(--vw))}
.cx-manifesto-fig svg{width:100%;height:auto;overflow:visible}
.cx-arc-path{fill:none;stroke:var(--ambar);stroke-width:46.5;stroke-dasharray:1;stroke-dashoffset:0}
.cx-arc-pt{fill:var(--tinta)}
.cx.cx-manifesto-steps{display:grid;gap:calc(5*var(--vh));margin-top:calc(4*var(--vh))}
.cx.cx-manifesto-step{display:block}
.cx.cx-manifesto-labs .elementor-icon-list-items{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.cx.cx-manifesto-labs .elementor-icon-list-item{display:flex;align-items:center;margin:0;padding:0}
.cx.cx-manifesto-labs .elementor-icon-list-item::after{display:none}
.cx.cx-manifesto-labs .elementor-icon-list-item+.elementor-icon-list-item::before{content:"";width:18px;height:2px;margin-inline:8px;background:var(--ambar)}
.cx.cx-manifesto-labs .elementor-icon-list-text{padding:0;color:var(--gris-t);font:500 13px/1 var(--f-b)}
.cx.cx-manifesto-line{margin-top:8px}
.cx.cx-manifesto-line .elementor-heading-title{font-size:calc(11.6*var(--vw))}
.cx-ln{display:block}
.cx.cx-manifesto-txt{margin-top:calc(5*var(--vh));max-width:calc(74*var(--vw))}
.cx.cx-manifesto-txt,.cx.cx-manifesto-txt p{color:#4a4843}
.cx-motion .cx.cx-manifesto{height:calc(var(--cx-steps,4)*62*var(--vh))}
.cx-motion .cx.cx-manifesto-stick{position:sticky;top:0;height:calc(100*var(--vh));padding-bottom:0;overflow:clip}
.cx-motion .cx-arc-path{stroke-dashoffset:calc(1 - var(--cx-a))}
.cx-motion .cx.cx-manifesto-steps{display:block;position:relative;margin-top:0;height:calc(54px + 4*var(--vh) + 46*var(--vw))}
.cx-motion .cx.cx-manifesto-step{position:absolute;inset:0}
.cx-motion .cx.cx-manifesto-labs{height:22px;margin-top:6px;width:calc(1.5*var(--fig));margin-left:calc(5*var(--vw) - .25*var(--fig))}
.cx-motion .cx.cx-manifesto-labs .elementor-icon-list-item{flex:1;justify-content:center;white-space:nowrap}
.cx-motion .cx.cx-manifesto-labs .elementor-icon-list-item+.elementor-icon-list-item::before{display:none}
.cx-motion .cx.cx-manifesto-line{margin-top:calc(4*var(--vh));margin-right:calc(8*var(--vw))}
.cx-motion .cx.cx-manifesto-line .elementor-heading-title{font-size:calc(15.4*var(--vw))}
.cx-motion .cx-manifesto-step+.cx-manifesto-step .cx-manifesto-labs,.cx-motion .cx-manifesto-step+.cx-manifesto-step .cx-manifesto-line{opacity:0;visibility:hidden}
.cx-motion .cx.cx-manifesto-txt{margin-top:calc(3*var(--vh));opacity:0;transform:translateY(14px)}
@media (max-height:780px){.cx-motion .cx.cx-manifesto-line .elementor-heading-title{font-size:calc(13.6*var(--vw))}}
/* puntos y rotulos un poco mas grandes */
.cx-arc-pt{r:15px}
.cx.cx-manifesto-labs .elementor-icon-list-text{font-size:clamp(16px,calc(4.4*var(--vw)),20px)}
/* rotulos centrados bajo los puntos (escritorio; Elementor fija un margen propio en este widget) */
@media (min-width:768px){.cx-motion .cx.cx-manifesto-labs{margin-left:auto!important;margin-right:auto!important}}
/* el logo sale patinando: que no asome fuera de la seccion */
.cx-manifesto-fig{will-change:transform}
/* mas aire entre los puntos y los rotulos */
.cx-motion .cx.cx-manifesto-labs{margin-top:clamp(18px,3.2vh,34px)!important}
/*=== 5.06-services ===*/
/* paneles apilados: solo CSS (position:sticky). Se duplican, quitan o reordenan en Elementor; el numero y el escalon se recalculan solos */
.cx.cx-services{position:relative;display:block}
.cx.cx-services-head{display:block;padding:calc(12*var(--vh)) var(--gut) calc(7*var(--vh))}
.cx.cx-h2 .elementor-heading-title{font-size:calc(13*var(--vw))}
.cx.cx-rail{margin-right:calc(9*var(--vw))}
.cx.cx-services-head .cx-body{margin-top:calc(2.2*var(--vh));max-width:calc(70*var(--vw))}
.cx.cx-service-stack{display:block;counter-reset:cxsvc}
.cx.cx-service-panel{--top:calc(var(--hdr) - 4px + var(--i,0)*var(--tab));counter-increment:cxsvc;position:sticky;top:var(--top);min-height:calc(100*var(--vh) - var(--top));display:flex;flex-direction:column;flex-wrap:nowrap;border-radius:calc(8*var(--vw)) calc(8*var(--vw)) 0 0;background:var(--bg,var(--papel));color:var(--fg,var(--tinta));box-shadow:0 -14px 30px -18px rgba(35,33,28,.35)}
.cx-service-panel:nth-child(2){--i:1}.cx-service-panel:nth-child(3){--i:2}.cx-service-panel:nth-child(4){--i:3}.cx-service-panel:nth-child(5){--i:4}.cx-service-panel:nth-child(6){--i:5}.cx-service-panel:nth-child(7){--i:6}.cx-service-panel:nth-child(8){--i:7}
.cx.cx-panel--arena{--bg:var(--arena)}
.cx.cx-panel--ambar{--bg:var(--ambar);--row:rgba(35,33,28,.32)}
.cx.cx-panel--tinta{--bg:var(--tinta);--fg:#fff;--row:var(--linea-b)}
.cx.cx-service-tab{flex:none;width:100%}
.cx.cx-service-tab .elementor-heading-title{margin:0;font:500 14px/var(--tab) var(--f-b);font-stretch:normal;letter-spacing:0;color:inherit}
.cx.cx-service-tab a{display:block;height:var(--tab);padding:0 var(--gut);border-radius:calc(8*var(--vw)) calc(8*var(--vw)) 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:color-mix(in srgb,var(--fg,var(--tinta)) 78%,transparent)}
.cx.cx-service-tab a::before{content:counter(cxsvc,decimal-leading-zero);margin-right:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--fg,var(--tinta))}
.cx.cx-service-body{flex:1;display:flex;flex-direction:column;flex-wrap:nowrap;padding:calc(1.2*var(--vh)) var(--gut) calc(92px + var(--safe-b))}
.cx.cx-service-title .elementor-heading-title{font-size:calc(14.6*var(--vw))}
.cx-panel--tinta .cx.cx-service-title .elementor-heading-title{font-size:calc(11.4*var(--vw));text-wrap:nowrap}
.cx.cx-service-vis{position:relative;flex:1;display:block;min-height:calc(24*var(--vh));margin-top:calc(1.6*var(--vh))}
.cx-panel--tinta .cx.cx-service-vis{min-height:calc(20*var(--vh))}
.cx.cx-service-img{position:absolute;right:0;top:0;bottom:0;width:auto;max-width:calc(62*var(--vw));aspect-ratio:3/4;border-radius:var(--rx);border:2px solid var(--fg,var(--tinta));overflow:hidden;background:var(--arena)}
.cx-service-img img{width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;transition:transform 1.4s var(--e-out)}
.cx-js .cx-service-panel:not(.is-in) .cx-service-img img{transform:scale(1.12)}
/* recorte transparente que sobresale del marco: --w ancho, --b altura, --x desplazamiento, --arch color (se ajustan en el CSS personalizado de cada imagen) */
.cx.cx-service-img--cut{overflow:visible;right:calc(5*var(--vw));background:var(--arch,var(--tinta))}
.cx-service-img--cut img{position:absolute;left:calc(50% + var(--x,0%));bottom:var(--b,6%);width:var(--w,120%);height:auto;object-fit:contain;transform:translate(-50%,0);filter:drop-shadow(0 14px 18px rgba(35,33,28,.28))}
.cx-js .cx-service-panel:not(.is-in) .cx-service-img--cut img{transform:translate(-50%,9%)}
.cx.cx-service-links{margin-top:calc(2*var(--vh));margin-right:calc(9*var(--vw))}
/* el punto que se transforma en cada servicio */
.cx.cx-service-dot{position:absolute;left:0;bottom:6%;width:calc(21*var(--vw));height:calc(21*var(--vw))}
.cx-service-dot svg{width:100%;height:100%;overflow:visible}
.cx-pt0{fill:var(--ambar);transform-box:fill-box;transform-origin:center;transition:transform .7s var(--e-back) .15s}
.cx-panel--ambar .cx-pt0{fill:var(--tinta)}
.cx-ptl{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .9s var(--e-out) .25s}
.cx-ptf{transition:opacity .4s .55s}
.cx-ptc{fill:currentColor;transition:transform .7s var(--e-out) .3s,opacity .3s .3s}
.cx-pt--marca .cx-pt0{transform:scale(2.15)}
.cx-pt--marca text{font:700 15px var(--f-b);fill:var(--tinta)}
.cx-pt--aviso .cx-pt0{transform:translate(15px,-14px) scale(1.25)}
.cx-pt--aviso text{font:700 11px var(--f-b);fill:var(--tinta)}
.cx-pt--sol .cx-ptl{stroke:var(--ambar);stroke-width:2.6}
.cx-js .cx-service-panel:not(.is-in) .cx-pt0{transform:none}
.cx-js .cx-service-panel:not(.is-in) .cx-ptl{stroke-dashoffset:1}
.cx-js .cx-service-panel:not(.is-in) .cx-ptf{opacity:0}
.cx-js .cx-service-panel:not(.is-in) .cx-ptc{transform:translate(14px,14px);opacity:0}
.cx.cx-services-all{display:block;padding:calc(5*var(--vh)) var(--gut) calc(9*var(--vh));background:var(--tinta);color:#fff}
@media (max-height:780px){
.cx.cx-service-tab .elementor-heading-title{font-size:13px}
.cx.cx-service-title .elementor-heading-title{font-size:calc(12.4*var(--vw))}
.cx-panel--tinta .cx.cx-service-title .elementor-heading-title{font-size:calc(10.6*var(--vw))}
.cx.cx-service-vis{min-height:calc(20*var(--vh))}
}
@media (max-height:660px){
.cx.cx-service-body{padding-bottom:calc(80px + var(--safe-b))}
.cx.cx-service-vis,.cx-panel--tinta .cx.cx-service-vis{min-height:calc(15*var(--vh))}
}

/* paneles: algo mas pequenos; solo el titulo de dentro se encoge al taparlo el siguiente panel (CSS scroll-driven) */
.cx.cx-service-title .elementor-heading-title{font-weight:400}
@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()) and (timeline-scope:--a){
.cx.cx-service-stack{timeline-scope:--sp2,--sp3,--sp4,--sp5,--sp6,--sp7,--sp8}
.cx-service-panel:nth-child(2){view-timeline:--sp2 block}
.cx-service-panel:nth-child(3){view-timeline:--sp3 block}
.cx-service-panel:nth-child(4){view-timeline:--sp4 block}
.cx-service-panel:nth-child(5){view-timeline:--sp5 block}
.cx-service-panel:nth-child(6){view-timeline:--sp6 block}
.cx-service-panel:nth-child(7){view-timeline:--sp7 block}
.cx-service-panel:nth-child(8){view-timeline:--sp8 block}
.cx-service-panel .cx-service-title{transform-origin:0 0;animation:cx-title-shrink linear both;animation-timeline:--sp-none;animation-range:entry 0% entry 100%}
.cx-service-panel:nth-child(1) .cx-service-title{animation-timeline:--sp2}
.cx-service-panel:nth-child(2) .cx-service-title{animation-timeline:--sp3}
.cx-service-panel:nth-child(3) .cx-service-title{animation-timeline:--sp4}
.cx-service-panel:nth-child(4) .cx-service-title{animation-timeline:--sp5}
.cx-service-panel:nth-child(5) .cx-service-title{animation-timeline:--sp6}
.cx-service-panel:nth-child(6) .cx-service-title{animation-timeline:--sp7}
.cx-service-panel:nth-child(7) .cx-service-title{animation-timeline:--sp8}
@keyframes cx-title-shrink{from{transform:scale(1)}to{transform:scale(.55)}}
}}
/*=== 5.07-projects ===*/
/* portfolio dinamico: cada .cx-project es una ficha del Loop Grid. Sin movimiento: tarjeta a pantalla completa. Con movimiento: el arco se abre (GSAP anima --cx-o y --cx-n) */
.cx.cx-projects{position:relative;display:block}
.cx.cx-projects-head{display:block;padding:calc(12*var(--vh)) var(--gut) calc(4*var(--vh))}
.cx.cx-projects-head .cx-body{margin-top:calc(2.2*var(--vh))}
.cx.cx-projects-loop{display:block;counter-reset:cxp}
.cx-projects-loop .elementor-loop-container{display:block}
.cx.cx-project{position:relative;display:block;counter-increment:cxp}
.cx.cx-project-stick{--cx-o:1;--cx-n:1;--aw:min(calc(84*var(--vw)),calc(56*var(--vh)));position:relative;display:block;height:calc(100*var(--vh));min-height:0;overflow:clip}
.cx-motion .cx.cx-project{height:calc(158*var(--vh))}
.cx-motion .cx-projects-loop .e-loop-item+.e-loop-item{margin-top:calc(-19*var(--vh))}
.cx-motion .cx.cx-project-stick{--cx-o:0;--cx-n:0;position:sticky;top:0}
.cx.cx-project-media{position:absolute;inset:0;display:block;width:auto;background:var(--arena);will-change:clip-path;clip-path:inset(calc((1 - var(--cx-o))*12*var(--vh)) calc((1 - var(--cx-o))*(50*var(--sw) - var(--aw)/2)) calc((1 - var(--cx-o))*(88*var(--vh) - 1.25*var(--aw))) calc((1 - var(--cx-o))*(50*var(--sw) - var(--aw)/2)) round calc((1 - var(--cx-o))*var(--rx)))}
.cx.cx-project-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(35,33,28,.5) 0,rgba(35,33,28,0) 18%,rgba(35,33,28,0) 34%,rgba(35,33,28,.9) 60%,rgba(35,33,28,.97) 74%);opacity:var(--cx-n)}
.cx.cx-project-img{position:absolute;inset:0;width:auto;max-width:none}
.cx-project-img img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--pos,50% 50%);border-radius:0;transform:translateY(calc((1 - var(--cx-o))*(.625*var(--aw) - 38*var(--vh)) - var(--cx-o)*var(--up,calc(9*var(--vh))))) scale(calc(var(--s0,.88) + var(--cx-o)*(1 - var(--s0,.88) + var(--zoom,.18))))}
.cx.cx-project-pre{position:absolute;left:var(--gut);right:var(--gut);top:calc(14.4*var(--vh) + 1.25*var(--aw));display:block;width:auto;color:var(--tinta);opacity:calc(1 - var(--cx-o)*2.6);transform:translateY(calc(var(--cx-o)*5*var(--vh)))}
.cx.cx-project-name .elementor-heading-title{font-size:calc(18*var(--vw));text-transform:none}
.cx.cx-project-sector .elementor-heading-title{margin:0;font:400 15px/1.3 var(--f-b);font-stretch:normal;letter-spacing:0;color:inherit}
.cx.cx-project-pre .cx-project-sector{margin-top:calc(1*var(--vh));color:var(--gris-t)}
.cx.cx-project-info{position:absolute;left:var(--gut);right:calc(13*var(--vw));bottom:calc(96px + var(--safe-b));display:block;width:auto;color:#fff;opacity:var(--cx-n);transform:translateY(calc((1 - var(--cx-n))*26px))}
.cx-motion .cx-project-stick:not(.is-open) .cx-project-info{visibility:hidden}
.cx-js .cx-project-stick::before{counter-reset:cxt var(--cx-total,0);content:counter(cxp) " / " counter(cxt);position:absolute;left:var(--gut);top:calc(var(--hdr) + 1.4*var(--vh));z-index:1;font:500 13px/1 var(--f-b);font-variant-numeric:tabular-nums;color:#fff;opacity:var(--cx-n)}
.cx.cx-project-info .cx-project-name .elementor-heading-title{font-size:calc(12.6*var(--vw))}
.cx.cx-project-info .cx-project-sector{margin-top:calc(.8*var(--vh));opacity:.85}
.cx.cx-chips{margin-top:calc(1.8*var(--vh))}
.cx.cx-chips .elementor-post-info,.cx.cx-chips .elementor-icon-list-item{display:block;margin:0;padding:0;list-style:none}
.cx.cx-chips .elementor-icon-list-item::after{display:none}
.cx.cx-chips .elementor-icon-list-text{padding:0;color:#fff}
.cx.cx-chips .elementor-post-info__terms-list{display:flex;flex-wrap:wrap;gap:7px;font-size:0}
.cx.cx-chips .elementor-post-info__terms-list-item{padding:7px 12px;border-radius:99px;border:1.4px solid rgba(255,255,255,.7);color:#fff;font:500 13px/1 var(--f-b)}
.cx.cx-project-figs{display:flex;flex-direction:row;flex-wrap:nowrap;gap:calc(7*var(--vw));margin-top:calc(2*var(--vh))}
.cx.cx-project-fig{display:block;flex:none;width:auto}
.cx.cx-project-figs:not(:has(.elementor-heading-title)),.cx.cx-project-fig:not(:has(.elementor-heading-title)){display:none}
.cx.cx-fig-n .elementor-heading-title{margin:0;font:600 calc(9.6*var(--vw))/1 var(--f-d);font-stretch:88%;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ambar)}
.cx.cx-fig-t .elementor-heading-title{margin:0;font:400 12.5px/1.25 var(--f-b);font-stretch:normal;letter-spacing:0;color:#fff;opacity:.92}
.cx.cx-project-info .cx-lnk{margin-top:calc(1.2*var(--vh))}
.cx.cx-projects-all{display:block;padding:calc(9*var(--vh)) var(--gut) calc(12*var(--vh))}

/* si el proyecto tiene imagen vertical, la destacada no se pinta ni se descarga */
.cx-project-media:has(.cx-project-img--v img) .cx-project-img:not(.cx-project-img--v){display:none}
/* textos centrados bajo el arco */
.cx.cx-project-pre,.cx.cx-project-pre .elementor-heading-title{text-align:center}
/*=== 5.08-clients ===*/
/* logos: dos filas que se cruzan. Cada logo viaja solo (sin duplicar nada en el DOM). Sin movimiento: rejilla quieta */
.cx.cx-clients{display:block;padding:calc(6*var(--vh)) 0 calc(13*var(--vh))}
.cx.cx-clients>.cx-h2{padding-inline:var(--gut) calc(15*var(--vw))}
.cx.cx-marquee{margin-top:calc(5*var(--vh));--slot:max(calc(31*var(--vw)),calc(100*var(--sw)/(var(--n,8) - 1)));--dur:64s}
.cx.cx-marquee+.cx-marquee{margin-top:calc(1*var(--vh))}
.cx-marquee .gallery{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(2*var(--vw)) calc(4*var(--vw));margin:0!important;padding:0 var(--gut)}
.cx-marquee .gallery-item{flex:none;width:calc(20*var(--vw))!important;max-width:none!important;margin:0!important;padding:0!important}
.cx-marquee .gallery-icon{display:flex;align-items:center;justify-content:center}
.cx-marquee .gallery-item img{width:calc(20*var(--vw));height:calc(20*var(--vw));object-fit:contain;border:0!important;border-radius:0;opacity:.9;mix-blend-mode:multiply}
.cx-motion .cx.cx-marquee{position:relative;height:calc(20*var(--vw));overflow:clip}
.cx-motion .cx-marquee .elementor-image-gallery{height:100%}
.cx-motion .cx-marquee .gallery{display:block;position:relative;height:100%;padding:0}
.cx-motion .cx-marquee .gallery-item{position:absolute;left:0;top:0;width:var(--slot)!important;height:100%;display:flex;align-items:center;justify-content:center;animation:cx-mq var(--dur) linear infinite;animation-delay:calc(var(--dur)/var(--n,8)*var(--i,0)*-1)}
.cx-motion .cx-marquee--rev{--dur:76s}
.cx-motion .cx-marquee--rev .gallery-item{animation-direction:reverse}
.cx-motion .cx-marquee:active .gallery-item,.cx-motion .cx-marquee:hover .gallery-item{animation-play-state:paused}
.cx.cx-quote{display:block;width:auto;margin:calc(8*var(--vh)) var(--gut) 0;padding:calc(5*var(--vw));border:1.5px dashed rgba(35,33,28,.4);border-radius:calc(5*var(--vw))}
.cx.cx-quote-text blockquote{margin:0;padding:0;border:0;quotes:none}
.cx.cx-quote-text,.cx.cx-quote-text p{margin:0;font:500 calc(6.2*var(--vw))/1.15 var(--f-s);color:var(--gris-t)}
.cx.cx-quote-by{margin-top:calc(2*var(--vh))}
.cx.cx-quote-by .elementor-heading-title{margin:0;font:600 12px/1.3 var(--f-b);font-stretch:normal;letter-spacing:.03em;color:inherit}
/*=== 5.09-realestate ===*/
/* real estate: fondo tinta. La puerta (.cx-gate) es el tercer momento GSAP: anima --cx-g (abre), --cx-l (luz) y --cx-k (rotulo) */
.cx.cx-realestate{position:relative;display:block;color:#fff;--row:var(--linea-b)}
.cx.cx-gate{display:block;height:calc(100*var(--vh))}
.cx-motion .cx.cx-gate{height:calc(180*var(--vh))}
.cx.cx-gate-stick{--cx-g:1;--cx-l:0;--cx-k:1;position:relative;display:block;height:calc(100*var(--vh));min-height:0;overflow:clip;color:var(--tinta);background:color-mix(in srgb,var(--tinta) calc(var(--cx-g)*100%),var(--crema))}
.cx-motion .cx.cx-gate-stick{--cx-g:0;--cx-l:1;--cx-k:0;position:sticky;top:0}
.cx.cx-gate-lead{position:absolute;left:var(--gut);right:var(--gut);text-align:center;top:calc(var(--hdr) + 2.6*var(--vh));width:auto;opacity:calc(1 - var(--cx-g)*4)}
.cx.cx-gate-lead .elementor-heading-title{font-size:calc(10.6*var(--vw))}
.cx.cx-gate-scene{position:absolute;inset:0;display:block;width:auto;will-change:clip-path;clip-path:inset(calc((1 - var(--cx-g))*30*var(--vh)) calc((1 - var(--cx-g))*(50*var(--sw) - 18*var(--vw))) calc((1 - var(--cx-g))*(70*var(--vh) - 56*var(--vw))) calc((1 - var(--cx-g))*(50*var(--sw) - 18*var(--vw))) round calc((1 - var(--cx-g))*var(--rx)))}
.cx.cx-gate-img{position:absolute;inset:0;width:auto;max-width:none}
.cx-gate-img img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:40% 50%;border-radius:0;transform:scale(calc(1 + var(--cx-g)*.22))}
.cx-gate-scene::before{content:"";position:absolute;inset:0;z-index:1;background:var(--ambar);opacity:var(--cx-l)}
.cx-gate-scene::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(35,33,28,.45) 0,rgba(35,33,28,0) 24%,rgba(35,33,28,0) 46%,rgba(35,33,28,.9) 84%);opacity:var(--cx-k)}
.cx.cx-gate-word{position:absolute;left:50%;top:calc(34*var(--vh) + 56*var(--vw));width:calc(40*var(--vw));transform:translateX(-50%);color:var(--tinta);--logo-n:var(--ambar);opacity:calc(1 - var(--cx-g)*3.2)}
.cx.cx-gate-lock{position:absolute;left:var(--gut);right:calc(13*var(--vw));bottom:calc(100px + var(--safe-b));display:block;width:auto;color:#fff;opacity:var(--cx-k);transform:translateY(calc((1 - var(--cx-k))*24px))}
.cx.cx-gate-logo{width:calc(40*var(--vw))}
.cx.cx-gate-title{margin-top:calc(1.2*var(--vh))}
.cx.cx-gate-title .elementor-heading-title{margin:0;font:600 calc(11.5*var(--vw))/.98 var(--f-s);font-stretch:normal;letter-spacing:-.035em;color:#fff}
.cx-x{color:var(--ambar);font-family:var(--f-d);font-style:normal}
.cx.cx-gate-sub{margin-top:calc(1.6*var(--vh))}
.cx.cx-gate-sub .elementor-heading-title{margin:0;font:400 15px/1.3 var(--f-b);font-stretch:normal;letter-spacing:0;color:#fff;opacity:.8}
.cx.cx-re-body{display:block;background:var(--tinta);padding:calc(9*var(--vh)) 0 calc(13*var(--vh))}
.cx.cx-re-in{display:block;width:auto;padding-inline:var(--gut)}
.cx.cx-re-title .elementor-heading-title{font-size:calc(14.6*var(--vw))}
.cx.cx-re-in .cx-body{margin-top:calc(2.4*var(--vh));max-width:calc(78*var(--vw));opacity:.86}
.cx.cx-pil{margin-top:calc(2.6*var(--vh))}
.cx.cx-pil .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none}
.cx.cx-pil .elementor-icon-list-item{display:flex;align-items:center;gap:8px;margin:0;padding:0}
.cx.cx-pil .elementor-icon-list-item::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--ambar)}
.cx.cx-pil .elementor-icon-list-item::after{display:none}
.cx.cx-pil .elementor-icon-list-text{padding:0;color:inherit;font:500 14px/1.3 var(--f-b)}
/* comparador plano / render: las dos imagenes son widgets de Elementor; el JS solo mueve --posn */
.cx.cx-before-after{--posn:50;container-type:inline-size;position:relative;display:block;width:auto;margin:calc(6*var(--vh)) var(--gut) 0;aspect-ratio:4/5;border-radius:var(--rx);border:3px solid var(--ambar);overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;background:#111}
.cx-before-after>.elementor-widget-image{position:absolute;inset:0;width:auto;max-width:none}
.cx-before-after img{width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;pointer-events:none}
.cx-ba-before{clip-path:inset(0 calc((100 - var(--posn))*1%) 0 0)}
.cx-before-after.is-anim .cx-ba-before,.cx-before-after.is-anim .cx-ba-h{transition:clip-path .7s var(--e-out),transform .7s var(--e-out)}
.cx-ba-h{position:absolute;top:0;bottom:0;left:0;width:2px;margin-left:-1px;background:var(--ambar);transform:translateX(clamp(27px,calc(var(--posn)*1cqw),calc(100cqw - 27px)))}
button.cx-b.cx-ba-k{position:absolute;left:50%;top:58%;display:grid;place-items:center;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--ambar);color:var(--tinta);box-shadow:0 6px 18px -4px rgba(0,0,0,.5);cursor:ew-resize;touch-action:none}
.cx-ba-k::before{content:"";width:24px;height:24px;background:currentColor;-webkit-mask:var(--i-lr) center/contain no-repeat;mask:var(--i-lr) center/contain no-repeat}
.cx.cx-ba-tools{width:auto;margin:calc(2.2*var(--vh)) var(--gut) 0}
html:not(.cx-js) .cx-ba-tools{display:none}
.cx-seg{display:inline-flex;padding:4px;border-radius:99px;border:1.5px solid var(--linea-b)}
.cx-seg button.cx-b{min-height:44px;padding:0 18px;border-radius:99px;color:#fff;font:600 13px/1 var(--f-b);letter-spacing:.06em;transition:background-color .3s,color .3s}
.cx-seg button.cx-b[aria-pressed="true"]{background:#fff;color:var(--tinta)}
.cx.cx-ba-note{width:auto;margin:calc(1.6*var(--vh)) var(--gut) 0}
.cx.cx-ba-note .elementor-heading-title{margin:0;color:#fff}
.cx.cx-promos{display:flex;flex-direction:row;flex-wrap:nowrap;gap:calc(4*var(--vw));width:auto;margin-top:calc(8*var(--vh));padding:0 var(--gut) 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gut);scrollbar-width:none}
.cx-promos::-webkit-scrollbar{display:none}
.cx.cx-promo{display:block;flex:none;width:calc(74*var(--vw));scroll-snap-align:start;color:#fff}
.cx-promo img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:calc(4*var(--vw))}
.cx.cx-promo-name{margin-top:calc(1.6*var(--vh))}
.cx.cx-promo-name .elementor-heading-title{margin:0;font:600 calc(7*var(--vw))/1 var(--f-d);font-stretch:88%;letter-spacing:-.03em;text-transform:none;color:#fff}
.cx.cx-promo-sub{margin-top:calc(.7*var(--vh))}
.cx.cx-promo-sub .elementor-heading-title{margin:0;font:400 14px/1.3 var(--f-b);font-stretch:normal;letter-spacing:0;color:#fff;opacity:.75}
.cx.cx-re-cta{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:calc(1*var(--vh));margin-top:calc(7*var(--vh))}
.cx-re-cta>.elementor-widget{width:auto}
/*=== 5.10-team ===*/
.cx.cx-team{display:block;padding:calc(13*var(--vh)) var(--gut) calc(11*var(--vh))}
.cx.cx-team-media{position:relative;display:block;width:auto;margin-top:calc(5*var(--vh));aspect-ratio:16/11;overflow:hidden;border-radius:var(--rx);border:3px solid var(--ambar);background:var(--arena)}
.cx.cx-team-video{position:absolute;inset:0;width:auto;max-width:none}
.cx-team-video .elementor-wrapper,.cx-team-video .e-hosted-video{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.cx-team-video video{width:100%;height:100%;object-fit:cover}
.cx.cx-team-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;justify-content:space-between;gap:calc(4*var(--vw));margin-top:calc(4*var(--vh));padding-right:calc(12*var(--vw))}
.cx-team-row>.elementor-widget{width:auto}
.cx.cx-team-say .elementor-heading-title{margin:0;white-space:nowrap;font:600 calc(7.2*var(--vw))/1.06 var(--f-d);font-stretch:88%;letter-spacing:-.03em;color:inherit}
.cx-team-say sup{font:500 12px var(--f-b);letter-spacing:0;color:var(--gris-t)}
.cx.cx-nn{flex:none;width:calc(22*var(--vw))}
.cx-nn svg{width:100%;height:auto;overflow:visible}
.cx-nn-eye{fill:none;stroke:var(--ambar);stroke-width:9;transform-box:fill-box;transform-origin:50% 100%}
.cx-nn-eye--r{animation:cx-wink 5.2s infinite}
.cx-nn-mouth{fill:none;stroke:currentColor;stroke-width:8;opacity:.55}
.cx.cx-team-note{margin-top:calc(2*var(--vh))}
.cx.cx-team-note .elementor-heading-title{margin:0;font:400 13px/1.5 var(--f-b);font-stretch:normal;letter-spacing:0;color:var(--gris-t)}
.cx.cx-team>.cx-lnk{margin-top:calc(2*var(--vh))}
/*=== 5.11-blog ===*/
.cx.cx-blog{display:block;padding:calc(5*var(--vh)) var(--gut) calc(14*var(--vh))}
.cx.cx-blog-loop{width:auto;margin-top:calc(5*var(--vh));margin-right:calc(9*var(--vw))}
.cx-blog-loop .elementor-loop-container{display:block;border-block:1.5px solid var(--linea)}
.cx-blog-loop .e-loop-item+.e-loop-item{border-top:1.5px solid var(--linea)}
.cx.cx-post{position:relative;display:block;padding:calc(2.2*var(--vh)) 36px calc(2.2*var(--vh)) 0}
.cx.cx-post-date .elementor-heading-title{margin:0 0 6px;font:500 13px/1 var(--f-b);font-stretch:normal;letter-spacing:0;font-variant-numeric:tabular-nums;text-transform:none;color:var(--gris-t)}
.cx.cx-post-title .elementor-heading-title{margin:0;font:500 clamp(17px,calc(4.7*var(--vw)),20px)/1.25 var(--f-b);font-stretch:normal;letter-spacing:0;color:inherit}
.cx-post-title a{color:inherit}
.cx-post-title a::before{content:"";position:absolute;inset:0}
.cx-post::after{content:"";position:absolute;right:0;top:calc(2.2*var(--vh) + 21px);width:21px;height:21px;background:currentColor;pointer-events:none;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat;transition:transform .35s var(--e-out)}
.cx-post:active::after{transform:translateX(6px)}
.cx.cx-blog>.cx-lnk{margin-top:calc(2.6*var(--vh))}
/*=== 5.12-final ===*/
/* cierre: fondo ambar. el punto de conecta (arriba, junto al titular) y el del visitante (abajo, abre el contacto) van unidos por una linea recta */
.cx.cx-final{position:relative;display:flex;flex-direction:column;flex-wrap:nowrap;min-height:calc(100*var(--vh));padding:calc(var(--hdr) + 6*var(--vh)) var(--gut) calc(7*var(--vh));background:var(--ambar);color:var(--tinta);--row:rgba(35,33,28,.34);--focus:var(--tinta)}
.cx.cx-final{display:grid;grid-template-columns:var(--ftu) minmax(0,1fr);column-gap:calc(3*var(--vw));align-content:start;--ffs:calc(12.8*var(--vw));--fd:44px;--ftu:56px}
.cx.cx-final>*{grid-column:2;min-width:0}
.cx.cx-final-title{grid-row:1}
.cx.cx-final-title .elementor-heading-title{font-size:var(--ffs)}
.cx.cx-final-fig{position:relative;display:block;grid-column:1;grid-row:1/3;width:auto;height:auto;min-height:0;margin:0}
.cx.cx-final-geo{position:absolute;inset:0;width:auto;max-width:none}
.cx-final-arc{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cx-final-arc path{fill:none;stroke:var(--tinta);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p,1))}
.cx-final-dot{position:absolute;left:50%;top:calc(var(--ffs)*.5 - var(--fd)/2);width:var(--fd);height:var(--fd);margin-left:calc(var(--fd)/-2);border-radius:50%;background:var(--tinta)}
.cx-final-lab{position:absolute;left:50%;top:calc(var(--ffs)*.5 + var(--fd)/2 + 10px);transform:translateX(-50%);padding:4px 3px;background:var(--ambar);font:500 11px/1 var(--f-b)}
.cx.cx-final-tu{position:absolute;left:50%;bottom:0;width:auto;transform:translateX(-50%)}
.cx.cx-final-tu .elementor-button.elementor-button{display:grid;place-items:center;width:var(--ftu);height:var(--ftu);min-height:0;padding:0;border-radius:50%;border:2.4px dashed var(--tinta);background:none;color:var(--tinta);fill:currentColor;font:600 13px/1 var(--f-b);letter-spacing:0;box-shadow:none;transition:background-color .4s,color .3s,transform .5s var(--e-back)}
.cx.cx-final-tu.is-on .elementor-button.elementor-button{border-style:solid;background:var(--tinta);color:transparent;transform:scale(.55)}
.cx.cx-final-cta{grid-row:2;margin-top:calc(5*var(--vh))}
.cx.cx-final-cta .elementor-button.elementor-button{min-height:64px;font-size:20px}
.cx.cx-final-rows{grid-column:1/-1;grid-row:3;margin-top:calc(3.4*var(--vh))}
@media (max-height:780px){
.cx.cx-final{--ffs:calc(11.6*var(--vw))}
}

/* bloque final: sin hueco abajo, solo unos 100px de aire (en todas las paginas) */
.cx.cx-final{min-height:0!important;padding-top:100px!important;padding-bottom:100px!important}
/*=== 5.13-footer ===*/
.cx.cx-footer{display:block;max-width:var(--cw);margin-inline:auto;padding:calc(9*var(--vh)) var(--gut) calc(8*var(--vh) + 60px);background:var(--tinta);color:#fff}
.cx.cx-footer-logo{width:calc(34*var(--vw));color:#fff}
.cx.cx-footer-data{display:grid;gap:calc(2.4*var(--vh));margin-top:calc(4*var(--vh))}
.cx.cx-footer-item{display:block}
.cx.cx-footer-dt .elementor-heading-title{margin:0 0 6px;font:600 13px/1 var(--f-b);font-stretch:normal;letter-spacing:0;color:#fff;opacity:.6}
.cx.cx-footer-dd,.cx.cx-footer-dd p{margin:0;font:400 14px/1.5 var(--f-b);color:#fff}
.cx.cx-footer-nav{display:block;margin-top:calc(4*var(--vh))}
.cx.cx-footer-links .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none}
.cx.cx-footer-links .elementor-icon-list-item{margin:0;padding:0}
.cx.cx-footer-links .elementor-icon-list-item::after{display:none}
.cx.cx-footer-links .elementor-icon-list-item>a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:underline;text-underline-offset:4px}
.cx.cx-footer-links .elementor-icon-list-text{padding:0;color:inherit;font:400 14px/1.2 var(--f-b)}
.cx.cx-footer-legal{margin-top:calc(3*var(--vh));padding-top:calc(3*var(--vh));border-top:1.5px solid var(--linea-b);opacity:.7}
.cx.cx-footer-legal,.cx.cx-footer-legal p{margin:0;font:400 12px/1.5 var(--f-b);color:#fff}
/* pildora fija de contacto: aparece al salir del hero y se esconde en el cierre */
.cx.cx-pill-dock{display:block;height:0;min-height:0}
.cx.cx-contact-pill{position:fixed;left:calc(var(--x0) + var(--cw)/2);bottom:calc(22px + var(--safe-b));z-index:28;width:auto;transform:translate(-50%,0);transition:transform .55s var(--e-out),opacity .3s,visibility 0s}
.cx.cx-contact-pill .elementor-button.elementor-button{box-shadow:0 10px 28px -6px rgba(35,33,28,.45);transition:transform var(--t-fast) var(--e-out),background-color .3s,color .3s}
.cx.cx-contact-pill.cx-th-dark .elementor-button.elementor-button{background:#fff;color:var(--tinta)}
.cx-js .cx.cx-contact-pill.is-off{transform:translate(-50%,160%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .55s var(--e-out),opacity .3s,visibility 0s .55s}
html:not(.cx-js) .cx.cx-contact-pill{position:static;transform:none;margin:0 0 24px var(--gut)}
/*=== 5.14-sheet ===*/
/* hoja de contacto: es un Popup de Elementor (clase cx-contact-sheet en sus ajustes). Aqui solo se le da forma de hoja inferior */
.cx-contact-sheet.elementor-popup-modal{align-items:flex-end;justify-content:center;background:rgba(35,33,28,.55)}
.cx-contact-sheet.elementor-popup-modal .dialog-widget-content{position:relative;width:var(--cw)!important;max-width:100vw;margin:0;overflow:hidden;border-radius:calc(8*var(--vw)) calc(8*var(--vw)) 0 0;background:var(--papel);color:var(--tinta);box-shadow:none}
.cx-contact-sheet.elementor-popup-modal .dialog-message{width:100%!important;max-height:92vh;overflow-y:auto;overscroll-behavior:contain;padding:14px var(--gut) calc(24px + var(--safe-b));text-align:left}
@supports (height:1dvh){.cx-contact-sheet.elementor-popup-modal .dialog-message{max-height:92dvh}}
.cx-contact-sheet.elementor-popup-modal .dialog-close-button{position:absolute;right:calc(var(--gut) - 10px);top:14px;z-index:2;display:grid;place-items:center;width:48px;height:48px;margin:0;color:var(--tinta);opacity:1}
.cx-contact-sheet.elementor-popup-modal .dialog-close-button svg{width:20px;height:20px;fill:currentColor}
.cx-contact-sheet.elementor-popup-modal .dialog-close-button:focus-visible{outline:2.5px solid var(--tinta);outline-offset:-4px;border-radius:50%}
.cx.cx-sheet{display:block}
.cx-contact-sheet.elementor-popup-modal .dialog-message::before{content:"";display:block;width:44px;height:5px;margin:0 auto 18px;border-radius:9px;background:#d9d4ca}
.cx.cx-sheet-title{padding-right:calc(12*var(--vw))}
.cx.cx-sheet-title .elementor-heading-title{font-size:calc(10.4*var(--vw))}
.cx.cx-sheet-rows{margin-top:calc(2.6*var(--vh))}
.cx.cx-sheet-rows a[href="#cx-form"]::after{-webkit-mask-image:var(--i-down);mask-image:var(--i-down)}
.cx.cx-sheet-form{padding-top:18px}
.cx-js .cx-sheet-form:not(.is-open){display:none}
.cx-sheet-form .elementor-form-fields-wrapper{display:grid;gap:14px;margin:0}
.cx-sheet-form .elementor-field-group{display:grid;gap:6px;width:100%;margin:0;padding:0}
.cx.cx-sheet-form .elementor-field-label{padding:0;color:var(--tinta);font:600 13px/1.2 var(--f-b)}
.cx.cx-sheet-form .elementor-field-textual{width:100%;min-height:50px;padding:12px 14px;border-radius:12px;border:1.5px solid rgba(35,33,28,.35);background:var(--crema);color:var(--tinta);font:400 16px/1.3 var(--f-b);caret-color:var(--ambar)}
.cx.cx-sheet-form .elementor-field-textual:focus-visible{outline:2.5px solid var(--tinta);outline-offset:1px}
.cx.cx-sheet-form .elementor-error .elementor-field-textual{border-color:#B3261E}
.cx.cx-sheet-form .elementor-field-type-acceptance .elementor-field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.cx.cx-sheet-form .elementor-field-option{display:flex;align-items:flex-start;gap:10px}
.cx.cx-sheet-form .elementor-field-option input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--tinta)}
.cx.cx-sheet-form .elementor-field-option label{color:var(--tinta);font:400 13px/1.4 var(--f-b)}
.cx.cx-sheet-form .elementor-field-option a{text-decoration:underline;text-underline-offset:3px}
.cx.cx-sheet-form .elementor-button.elementor-button{width:100%;min-height:52px;padding:0 24px;border:0;border-radius:99px;background:var(--tinta);color:#fff;font:600 16px/1 var(--f-b);letter-spacing:0}
.cx.cx-sheet-form .elementor-button-content-wrapper{align-items:center;gap:10px}
.cx.cx-sheet-form .elementor-button-content-wrapper::after{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--ambar)}
.cx.cx-sheet-form .elementor-message{margin-top:12px;font:500 14px/1.4 var(--f-b);color:var(--tinta)}
.cx.cx-sheet-form .elementor-message.elementor-message-danger,.cx.cx-sheet-form .elementor-help-inline{color:#B3261E}
/*=== 5.15-cases ===*/
/* LISTADO DE TRABAJOS (Portfolio, Real Estate, «otros trabajos») y FICHA DE PROYECTO.
   Los textos, imágenes y servicios se editan en Entradas > Portfolio; aquí solo está el aspecto. */
.cx.cx-cards{display:block;padding:0 var(--gut)}
.cx-cards .elementor-loop-container{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:calc(5*var(--vh)) calc(3*var(--vw))}
.cx.cx-cards--dark{color:#fff;margin-top:calc(7*var(--vh));padding-bottom:calc(2*var(--vh))}
.cx.cx-card{position:relative;display:block;color:inherit}
.cx.cx-card .cx-card-img img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--rx);border:2px solid currentColor;background:var(--arena)}
.cx.cx-card-name .elementor-heading-title{margin:calc(1.4*var(--vh)) 0 0;font:600 clamp(19px,calc(5.6*var(--vw)),26px)/1 var(--f-d);font-stretch:88%;letter-spacing:-.03em;text-transform:none;color:inherit;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:3px;text-underline-offset:5px;transition:text-decoration-color .3s}
.cx.cx-card-name,.cx.cx-card-name .elementor-widget-container{position:static!important}
.cx-card-name a{color:inherit}
.cx-card-name a::after{content:"";position:absolute;inset:0;z-index:1}
.cx.cx-card-sub .elementor-heading-title{margin:.45em 0 0;font:400 13px/1.3 var(--f-b);font-stretch:normal;letter-spacing:0;text-transform:none;opacity:.7;color:inherit}
.cx.cx-card-sub .elementor-heading-title:empty{display:none}
@media (hover:hover){.cx-card:hover .cx-card-name .elementor-heading-title{text-decoration-color:var(--ambar)}}
.cx-card:focus-visible{outline:3px solid var(--ambar);outline-offset:4px;border-radius:var(--rx)}
/* ficha de proyecto */
.cx.cx-case{display:block;padding:calc(var(--hdr) + 5*var(--vh)) 0 calc(8*var(--vh));color:var(--tinta)}
.cx.cx-case-head,.cx.cx-case-cover,.cx.cx-case-facts,.cx.cx-case-body,.cx.cx-case-more,.cx.cx-case-cta{display:block;padding-inline:var(--gut)}
.cx.cx-case-kicker .elementor-heading-title{margin:0 0 1.4vh;font:500 13px/1 var(--f-b);font-stretch:normal;letter-spacing:0;text-transform:none;color:var(--gris-t)}
.cx.cx-case-kicker .elementor-heading-title:empty{display:none}
.cx.cx-case-title .elementor-heading-title{margin:0;font:600 clamp(42px,calc(16*var(--vw)),84px)/.94 var(--f-d);font-stretch:88%;letter-spacing:-.04em;text-transform:none;color:inherit;text-wrap:balance}
.cx.cx-case-cover{margin-top:calc(3.5*var(--vh))}
.cx.cx-case-cover img{width:100%;height:auto;border-radius:var(--rx);border:2px solid var(--tinta)}
.cx.cx-case-facts{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:14px 10px;margin-top:calc(3*var(--vh))}
.cx-case-serv .elementor-icon-list-items{display:block;margin:0;padding:0;list-style:none}
.cx-case-serv .elementor-icon-list-item{display:block;margin:0;padding:0}
.cx-case-serv .elementor-icon-list-text,.cx-case-serv .elementor-post-info__terms-list{display:flex;flex-wrap:wrap;gap:8px;padding:0!important;font-size:0;line-height:0}
.cx.cx-case-serv .elementor-icon-list-icon{display:none}
.cx.cx-case-serv .elementor-icon-list-item .elementor-post-info__terms-list-item{display:inline-block;padding:8px 13px;border:1.5px solid var(--tinta);border-radius:999px;font:500 13px/1 var(--f-b);text-transform:none;color:var(--tinta);pointer-events:none}
.cx.cx-case-web:has(a:not([href])),.cx.cx-case-web:has(a[href=""]),.cx.cx-case-web:has(a[href="#"]){display:none}
.cx.cx-case-body{margin-top:calc(5*var(--vh))}
.cx-case-body>*{max-width:44rem}
.cx-case-body h2{margin:calc(6*var(--vh)) 0 calc(1.6*var(--vh));font:600 clamp(28px,calc(8.4*var(--vw)),42px)/1 var(--f-d);font-stretch:88%;letter-spacing:-.035em;text-transform:none;color:var(--tinta)}
.cx-case-body>h2:first-child{margin-top:0}
.cx-case-body p{margin:0 0 1em;font:400 16px/1.6 var(--f-b);color:var(--tinta)}
.cx-case-body ul{margin:0 0 1em;padding-left:1.2em;font:400 16px/1.6 var(--f-b)}
.cx-case-body figure{max-width:none;margin:calc(3*var(--vh)) 0}
.cx-case-body figure img{width:100%;height:auto;border-radius:var(--rx);border:2px solid var(--tinta)}
.cx.cx-case-more{margin-top:calc(9*var(--vh))}
.cx-case-more .cx.cx-cards{padding-inline:0}
.cx.cx-case-more-t .elementor-heading-title{margin:0 0 calc(3*var(--vh));font:600 clamp(30px,calc(9*var(--vw)),48px)/1 var(--f-d);font-stretch:88%;letter-spacing:-.035em;text-transform:none;color:var(--tinta)}
.cx.cx-case-cta{margin-top:calc(9*var(--vh))}
.cx.cx-case-cta-t .elementor-heading-title{margin:0 0 calc(3*var(--vh));font:600 clamp(32px,calc(10*var(--vw)),56px)/1 var(--f-d);font-stretch:88%;letter-spacing:-.035em;text-transform:none;color:var(--tinta)}
/* filtro por servicio */
.cx.cx-filter{display:block;margin:0;padding:calc(2*var(--vh)) var(--gut) calc(3.5*var(--vh))}
.cx.cx-filter .e-filter{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:8px!important;overflow-x:auto;scrollbar-width:none;margin:0;padding:0 0 4px}
.cx-filter .e-filter::-webkit-scrollbar{display:none}
.cx-filter button.e-filter-item,.cx-filter button.e-filter-item:hover,.cx-filter button.e-filter-item:focus{flex:none;margin:0;padding:9px 14px;border:1.5px solid var(--tinta);border-radius:999px;background:transparent;box-shadow:none;font:500 13px/1 var(--f-b);letter-spacing:0;text-transform:none;color:var(--tinta);cursor:pointer;transition:background .25s,color .25s}
.cx-filter button.e-filter-item[aria-pressed="true"]{background:var(--tinta);color:var(--crema)}
.cx-filter button.e-filter-item:focus-visible{outline:3px solid var(--ambar);outline-offset:2px}
@media (min-width:768px){
 .cx.cx-filter{padding-inline:max(32px,calc((100vw - 1560px)/2))}
 .cx.cx-filter .e-filter{flex-wrap:wrap!important;overflow:visible}
 .cx-cards .elementor-loop-container{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:56px 28px}
 .cx.cx-cards{padding-inline:max(32px,calc((100vw - 1560px)/2))}
 .cx.cx-card-name .elementor-heading-title{font-size:26px}
 .cx.cx-case-head,.cx.cx-case-cover,.cx.cx-case-facts,.cx.cx-case-body,.cx.cx-case-more,.cx.cx-case-cta{padding-inline:max(32px,calc((100vw - 1560px)/2))}
 .cx.cx-case{padding-top:calc(var(--hdr) + 72px)}
 .cx-case-more .elementor-loop-container{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .cx-case-body figure{margin:40px 0}
}

/* en las páginas de lectura el logo y el menú llevan una franja crema para que no se pisen con el texto al hacer scroll */
.single-post .cx-header.cx-header--min,.page-id-185 .cx-header.cx-header--min{background:color-mix(in srgb,var(--crema) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}

/* blog post */
.cx.cx-post-single .cx-case-title .elementor-heading-title{font-size:clamp(30px,calc(8.4*var(--vw)),68px);line-height:1;overflow-wrap:break-word}
.cx-post-single .cx-case-content img,.cx-post-single .cx-case-content video,.cx-post-single .cx-case-content iframe{max-width:100%;height:auto}
.cx-post-single .cx-case-content figure{margin:calc(3*var(--vh)) 0}
.cx-post-single .cx-case-content .wp-block-spacer{display:none}

/* ficha de trabajo · estructura inspirada en Casabien */
.cx.cx-case--work .cx-case-title .elementor-heading-title{font-size:clamp(40px,calc(12.5*var(--vw)),112px);line-height:1;letter-spacing:-.04em;font-stretch:normal;overflow-wrap:break-word}
.cx.cx-case--work .cx-case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;align-items:start;margin-top:calc(5*var(--vh))}
.cx.cx-fact{display:block;min-width:0;border-top:2px solid var(--tinta);padding:12px 0 0}
.cx.cx-fact--serv{grid-column:1/-1;order:3}
.cx.cx-fact--web{order:2}
.cx.cx-fact-l .elementor-heading-title{margin:0 0 10px;font:600 11px/1 var(--f-b);letter-spacing:.1em;text-transform:uppercase;color:var(--gris-t)}
.cx.cx-fact-v .elementor-heading-title{margin:0;font:500 clamp(16px,calc(4.4*var(--vw)),20px)/1.25 var(--f-b);letter-spacing:0;color:var(--tinta)}
.cx.cx-fact--sector:not(:has(.cx-fact-v .elementor-heading-title)){display:none}
.cx.cx-fact--serv:not(:has(.elementor-post-info__terms-list-item)){display:none}
.cx.cx-case--work .cx-case-cover{margin-top:calc(5*var(--vh))}
.cx.cx-case--work .cx-case-body{margin-top:calc(7*var(--vh))}
.cx-case--work .cx-case-body>*{max-width:none}
.cx-case--work .cx-case-content>h2{margin:calc(5*var(--vh)) 0 calc(1.6*var(--vh))}
.cx-case--work .cx-case-content .cx-figs{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:calc(3*var(--vh)) 0}
.cx-case--work .cx-case-content .cx-figs>figure{margin:0}
.cx-case--work .cx-case-content p,.cx-case--work .cx-case-content ul{max-width:42rem}
/* siguiente / anterior */
.cx.cx-case-navwrap{display:block;padding-inline:var(--gut);margin-top:calc(9*var(--vh))}
.cx-case-nav .elementor-post-navigation{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:2px solid var(--tinta)}
.cx-case-nav .elementor-post-navigation__separator-wrapper{display:none}
.cx-case-nav .elementor-post-navigation__prev,.cx-case-nav .elementor-post-navigation__next{display:block;width:auto;min-width:0;padding:20px 0;text-align:left}
.cx-case-nav .elementor-post-navigation__next{order:-1;border-bottom:1.5px solid color-mix(in srgb,var(--tinta) 25%,transparent)}
.cx-case-nav .elementor-post-navigation__link,.cx-case-nav .elementor-post-navigation__link a{display:block}
.cx-case-nav .elementor-post-navigation__link a{display:flex;flex-direction:column;gap:10px;color:var(--tinta)}
.cx-case-nav .post-navigation__arrow-wrapper{display:none}
.cx-case-nav .post-navigation__prev--label,.cx-case-nav .post-navigation__next--label{display:block;font:600 11px/1 var(--f-b);letter-spacing:.1em;text-transform:uppercase;color:var(--gris-t)}
.cx-case-nav .post-navigation__prev--title,.cx-case-nav .post-navigation__next--title{display:block;font:600 clamp(26px,calc(8*var(--vw)),56px)/1.02 var(--f-d);letter-spacing:-.035em;color:var(--tinta);transition:color .25s}
.cx-case-nav a:hover .post-navigation__prev--title,.cx-case-nav a:hover .post-navigation__next--title{color:var(--naranja)}
.cx-case-nav a:focus-visible{outline:3px solid var(--ambar);outline-offset:4px}
@media (min-width:768px){
 .cx.cx-case-navwrap{padding-inline:max(32px,calc((100vw - 1560px)/2))}
 .cx.cx-case--work .cx-case-facts{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:0 28px}
 .cx.cx-fact--serv{grid-column:auto;order:0}
 .cx.cx-fact--web{order:0}
 .cx-case--work .cx-case-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;align-items:start}
 .cx-case--work .cx-case-content>h2{grid-column:1;position:static;margin:calc(6*var(--vh)) 0 0;padding-right:20px}
 .cx-case--work .cx-case-content>:is(p,ul,ol){grid-column:2;max-width:none}
 .cx-case--work .cx-case-content>.cx-figs{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:calc(6*var(--vh)) 0}
 .cx-case--work .cx-case-content .cx-figs>figure:first-child:nth-last-child(odd){grid-column:1/-1}
 .cx-case-nav .elementor-post-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .cx-case-nav .elementor-post-navigation__next{order:2;text-align:right;border-bottom:0}
 .cx-case-nav .elementor-post-navigation__next a{align-items:flex-end}
 .cx-case-nav .elementor-post-navigation__prev{order:1}
}

@media (min-width:768px){.cx.cx-case--work .cx-case-title .elementor-heading-title{font-size:clamp(72px,9vw,150px)}}
/* tarjetas: nombre y sector centrados */
.cx.cx-card,.cx.cx-card .elementor-heading-title{text-align:center}
/*=== 5.16-pages ===*/
/* PÁGINAS INTERIORES (servicios, Pack Promo 360, Kit Digital, legales…). Solo el aspecto: los textos e imágenes se editan en cada página. */
.cx.cx-pg{display:block;padding:calc(var(--hdr) + 5*var(--vh)) 0 calc(8*var(--vh));color:var(--tinta)}
.cx.cx-pg-head,.cx.cx-pg-media,.cx.cx-pg-sec,.cx.cx-pg-cta{display:block;padding-inline:var(--gut)}
.cx.cx-pg-kicker .elementor-heading-title{margin:0 0 1.4vh;font:500 13px/1 var(--f-b);font-stretch:normal;letter-spacing:0;text-transform:none;color:var(--gris-t)}
.cx.cx-pg-title .elementor-heading-title{margin:0;font:600 clamp(34px,calc(10.5*var(--vw)),80px)/.96 var(--f-d);font-stretch:88%;letter-spacing:-.04em;text-transform:none;color:inherit;text-wrap:balance;overflow-wrap:break-word}
@media(min-width:768px){.cx.cx-pg-title .elementor-heading-title{font-size:clamp(40px,calc(9*var(--vw)),80px)}}
.cx.cx-pg-lead{margin-top:calc(2.6*var(--vh))}
.cx.cx-pg-lead p{margin:0;font:400 18px/1.5 var(--f-b);color:var(--tinta);max-width:40rem}
.cx.cx-pg-media{margin-top:calc(3.5*var(--vh))}
.cx.cx-pg-media img,.cx.cx-pg-img img{width:100%;height:auto;border-radius:var(--rx);border:2px solid var(--tinta)}
.cx.cx-pg-sec{margin-top:calc(7*var(--vh))}
.cx.cx-pg-h2 .elementor-heading-title{margin:0 0 calc(2*var(--vh));font:600 clamp(28px,calc(8.6*var(--vw)),44px)/1 var(--f-d);font-stretch:88%;letter-spacing:-.035em;text-transform:none;color:inherit;text-wrap:balance}
.cx.cx-pg-h2 em{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit;font-size:1em;color:var(--naranja)}
.cx-prose h2,.cx-prose h3{margin:calc(4*var(--vh)) 0 calc(1.4*var(--vh));font:600 clamp(24px,calc(7*var(--vw)),34px)/1.05 var(--f-d);font-stretch:88%;letter-spacing:-.03em;text-transform:none;color:var(--tinta)}
.cx-prose>*:first-child{margin-top:0}
.cx-prose p{margin:0 0 1em;font:400 16px/1.6 var(--f-b);color:var(--tinta);max-width:44rem}
.cx-prose ul,.cx-prose ol{margin:0 0 1em;padding-left:1.2em;max-width:44rem;font:400 16px/1.6 var(--f-b)}
.cx-prose a{color:var(--naranja);text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:2px;text-underline-offset:3px}
.cx.cx-legal .cx-prose h2,.cx.cx-legal .cx-prose h3{font-size:clamp(20px,calc(5.6*var(--vw)),26px);margin-top:calc(3.4*var(--vh))}
.cx.cx-legal .cx-prose p,.cx.cx-legal .cx-prose li{font-size:15px;line-height:1.6}
.cx.cx-legal .cx-prose table{width:100%;max-width:44rem;border-collapse:collapse;margin:0 0 1.4em;font:400 13px/1.4 var(--f-b)}
.cx.cx-legal .cx-prose th,.cx.cx-legal .cx-prose td{padding:8px;border:1px solid var(--linea);text-align:left;vertical-align:top}
.cx.cx-boxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:calc(2.4*var(--vh))}
.cx.cx-box{display:block;padding:16px;border:2px solid var(--tinta);border-radius:var(--rx);background:var(--papel)}
.cx.cx-box-img img{width:44px;height:44px;object-fit:contain;margin-bottom:12px}
.cx.cx-box-t .elementor-heading-title{margin:0 0 6px;font:600 20px/1.05 var(--f-d);font-stretch:88%;letter-spacing:-.02em;text-transform:none;color:inherit}
.cx.cx-box-d{font:400 14px/1.45 var(--f-b);color:var(--gris-t)}
.cx.cx-box-d p{margin:0}
.cx.cx-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:calc(2.4*var(--vh))}
.cx.cx-stat-n .elementor-heading-title{margin:0;font:600 clamp(22px,calc(6.6*var(--vw)),56px)/1 var(--f-d);letter-spacing:-.04em;white-space:nowrap;color:inherit}
.cx.cx-stat-t{font:400 13px/1.35 var(--f-b);color:var(--gris-t)}
.cx.cx-stat-t p{margin:4px 0 0}
.cx.cx-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:calc(2.4*var(--vh))}
.cx.cx-gal img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--rx)*.7);border:2px solid var(--tinta)}
.cx-faq .elementor-accordion-item{border:0;border-top:2px solid var(--tinta)}
.cx-faq .elementor-accordion-item:last-child{border-bottom:2px solid var(--tinta)}
.cx-faq .elementor-tab-title{padding:18px 0;background:none;color:var(--tinta)}
.cx-faq .elementor-tab-title a{font:600 clamp(18px,calc(5.2*var(--vw)),22px)/1.2 var(--f-d);font-stretch:88%;letter-spacing:-.02em;color:var(--tinta);text-transform:none}
.cx-faq .elementor-tab-content{padding:0 0 18px;border:0;font:400 15px/1.6 var(--f-b);color:var(--tinta)}
.cx-faq .elementor-accordion-icon{color:var(--tinta)}
.cx.cx-pg-cta{margin-top:calc(8*var(--vh))}
.cx.cx-pg-cta-t .elementor-heading-title{margin:0 0 calc(3*var(--vh));font:600 clamp(32px,calc(10*var(--vw)),56px)/1 var(--f-d);font-stretch:88%;letter-spacing:-.035em;text-transform:none;color:inherit;text-wrap:balance}
.cx.cx-pg-form{max-width:34rem}
.cx.cx-pg-form .elementor-field-group{margin-bottom:12px}
.cx.cx-pg-form .elementor-field-textual{border:2px solid var(--tinta);border-radius:calc(var(--rx)*.6);background:var(--papel);padding:13px 14px;font:400 16px/1.3 var(--f-b);color:var(--tinta)}
.cx.cx-pg-form .elementor-field-label{font:500 13px/1.2 var(--f-b);color:var(--gris-t);text-transform:none;margin-bottom:6px}
.cx.cx-pg-form .elementor-button{width:100%;padding:16px 22px;border:0;border-radius:999px;background:var(--tinta);color:var(--crema);font:600 16px/1 var(--f-b);text-transform:none}
.cx.cx-pg-form .elementor-button:hover,.cx.cx-pg-form .elementor-button:focus{background:var(--ambar);color:var(--tinta)}
.cx.cx-pg-form .elementor-field-subgroup label,.cx.cx-pg-form .elementor-field-type-acceptance label{font:400 13px/1.4 var(--f-b);color:var(--gris-t)}
body:not(.home):not(.page-id-186) .cx-header.cx-header--min{background:color-mix(in srgb,var(--crema) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@media (min-width:768px){
 .cx.cx-pg-head,.cx.cx-pg-media,.cx.cx-pg-sec,.cx.cx-pg-cta{padding-inline:max(32px,calc((100vw - 1560px)/2))}
 .cx.cx-pg{padding-top:calc(var(--hdr) + 72px)}
 .cx.cx-boxes{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 .cx.cx-gal{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .cx.cx-box{padding:22px}
 .cx.cx-pg-lead p{font-size:21px}
}

/* blog */
.cx.cx-pg>.cx-cards{margin-top:calc(4*var(--vh))}
.cx.cx-pg>.cx-cards .elementor-pagination{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:calc(5*var(--vh)) 0;font:500 14px var(--f-s)}
.cx.cx-pg>.cx-cards .elementor-pagination .page-numbers{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--tinta);border-radius:999px;padding:0 12px;color:var(--tinta);text-decoration:none}
.cx.cx-pg>.cx-cards .elementor-pagination .page-numbers.current{background:var(--tinta);color:var(--crema)}

/* pack promo 360 y bloques de página */
.cx.cx-pg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;margin-top:calc(3*var(--vh))}
.cx.cx-pg-intro{margin-top:calc(3*var(--vh))}
.cx.cx-pg-intro p{max-width:40rem;font:400 17px/1.55 var(--f-b);margin:0}
.cx.cx-boxes--1{grid-template-columns:minmax(0,1fr)}
.cx.cx-boxes--4,.cx.cx-boxes--3{grid-template-columns:repeat(2,minmax(0,1fr))}
.cx.cx-box--hl{background:var(--tinta);border-color:var(--tinta);color:#fff}
.cx.cx-box--hl .cx-box-t .elementor-heading-title,.cx.cx-box--hl .cx-box-d,.cx.cx-box--hl .cx-box-d p{color:#fff}
.cx.cx-box--hl .cx-box-p .elementor-heading-title{color:var(--ambar)}
.cx.cx-box--hl .cx-btn{margin-top:14px}
.cx.cx-box--wide{grid-column:1/-1}
.cx.cx-box-p .elementor-heading-title{margin:0 0 10px;font:600 clamp(26px,calc(8*var(--vw)),36px)/1 var(--f-d);letter-spacing:-.03em;color:var(--naranja)}
.cx.cx-box-n .elementor-heading-title{margin:0 0 14px;font:600 12px/1 var(--f-b);letter-spacing:.12em;color:var(--naranja)}
.cx.cx-box-d ul{margin:0;padding-left:1.15em;display:grid;gap:9px;font-size:15px;line-height:1.45}
.cx.cx-box--hl .cx-box-d ul li::marker{color:var(--ambar)}
.cx.cx-box--photo{padding:10px 10px 16px;overflow:hidden}
.cx.cx-box-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--rx)*.6);margin:0 0 12px}
.cx.cx-box--photo .cx-box-t,.cx.cx-box--photo .cx-box-d{padding-inline:6px}
.cx.cx-pg-sec>.cx-lnk{margin-top:calc(2.4*var(--vh))}
@media (min-width:768px){
 .cx.cx-boxes--1{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .cx.cx-boxes--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
 .cx.cx-boxes--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .cx.cx-box{padding:24px}
 .cx.cx-box--photo{padding:12px 12px 22px}
 .cx.cx-box--wide .cx-box-d p{max-width:44rem}
}
@media (min-width:1024px){ .cx.cx-boxes--4{grid-template-columns:repeat(4,minmax(0,1fr))} }

.cx .cx-box--hl .cx-btn .elementor-button{background:var(--ambar);color:var(--tinta)}
.cx .cx-box--hl .cx-btn .elementor-button-content-wrapper::after{background:var(--tinta)}

.cx-faq .elementor-accordion .elementor-accordion-item{border:0!important;border-top:2px solid var(--tinta)!important;border-radius:0!important}
.cx-faq .elementor-accordion .elementor-accordion-item:last-child{border-bottom:2px solid var(--tinta)!important}
.cx-faq .elementor-accordion .elementor-tab-title,.cx-faq .elementor-accordion .elementor-tab-title.elementor-active{background:none!important;color:var(--tinta)!important;border:0!important}
.cx-faq .elementor-accordion .elementor-tab-title a,.cx-faq .elementor-accordion .elementor-tab-title.elementor-active a{color:var(--tinta)!important;font-stretch:normal}
.cx-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon,.cx-faq .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon{color:var(--naranja)!important}
.cx-faq .elementor-accordion .elementor-tab-content{border:0!important;padding:0 0 18px}
@media(max-width:767px){.cx-boxes .cx-box--photo:last-child:nth-child(odd){grid-column:1/-1}}
.cx-faq .elementor-accordion-icon i,.cx-faq .elementor-accordion-icon svg{color:var(--naranja)!important;fill:var(--naranja)!important}
.cx.cx-pg-form .elementor-button,.cx.cx-pg-form .elementor-button.elementor-size-sm{background:var(--tinta)!important;color:var(--crema)!important;font-weight:600}
.cx.cx-pg-form .elementor-button:hover{background:var(--ambar)!important;color:var(--tinta)!important}
.cx.cx-pg-form .elementor-field-type-acceptance .elementor-field-label{display:none}
.cx.cx-pg-form.elementor-widget{max-width:34rem!important;width:100%}
@media(min-width:1024px){.cx-pg-sec:has(.cx-pg-form){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,34rem);column-gap:calc(6*var(--vw));align-items:start}
.cx-pg-sec:has(.cx-pg-form)>*{grid-column:1}
.cx-pg-sec:has(.cx-pg-form)>.cx-pg-form{grid-column:2;grid-row:1/span 4;justify-self:end}}

/* sin bordes negros en imagenes */
.cx.cx-service-img{border:0}
.cx.cx-card .cx-card-img img,.cx.cx-case-cover img,.cx-case-body figure img,.cx.cx-pg-media img,.cx.cx-pg-img img,.cx.cx-gal img{border:0}
.cx.cx-box--photo,.cx.cx-box:has(img){border:0}
/* tarjetas del portfolio: algo mas pequenas y se encogen al salir por arriba */
.cx-cards .elementor-loop-container{max-width:1400px;margin-inline:auto}
.cx.cx-card .cx-card-img img{aspect-ratio:5/6}
@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()){
.cx.cx-card{transform-origin:50% 0;animation:cx-card-shrink linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
@keyframes cx-card-shrink{from{transform:scale(1)}to{transform:scale(.84);opacity:.6}}
}}
/*=== 5.17-team ===*/
/* PAGINA EQUIPO: rejilla de fichas, una por persona. Fotos, nombres, cargos, departamentos y textos se editan en Elementor.
   Los filtros por departamento los crea el JS leyendo el texto de cada ficha. */
.cx.cx-tm{display:block}
.cx-tm-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 calc(3*var(--vh))}
.cx-tm-chip{-webkit-appearance:none;appearance:none;min-height:var(--tab);padding:0 18px;border:2px solid var(--tinta);border-radius:999px;background:transparent;box-shadow:none;color:var(--tinta);font:500 14px/1 var(--f-s);letter-spacing:0;text-transform:none;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}
.cx-tm-chip:hover{background:var(--arena)}
.cx-tm-chip[aria-pressed="true"]{background:var(--tinta);color:var(--crema)}
.cx-tm-chip:focus-visible{outline:3px solid var(--ambar);outline-offset:3px}
.cx.cx-tm-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:auto}
.cx.cx-member{position:relative;display:block;width:auto;aspect-ratio:4/5;border-radius:var(--rx);overflow:hidden;background:var(--arena);cursor:pointer;isolation:isolate;-webkit-tap-highlight-color:transparent;transition:filter .4s,scale .4s var(--e-out)}
.cx.cx-member:nth-child(3n+1){background:var(--naranja)}
.cx.cx-member:nth-child(3n+2){background:var(--tinta);--ini:var(--naranja)}
.cx.cx-member:nth-child(3n){background:var(--arena)}
.cx.cx-member-img{position:absolute;inset:0;width:auto;max-width:none;margin:0}
.cx-member-ini{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:22%;font:600 clamp(72px,16vw,150px)/1 var(--f-d);letter-spacing:-.04em;color:var(--ini,var(--tinta));pointer-events:none}
.cx-member-img img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 20%;border:0;border-radius:0;filter:grayscale(1) contrast(1.05);transform:scale(1);transition:filter .5s,transform .7s var(--e-out)}
.cx-member::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(35,33,28,0) 45%,rgba(35,33,28,.82) 100%);transition:background .4s}
.cx-member::after{content:"+";position:absolute;top:10px;right:10px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--tinta);font:500 20px/1 var(--f-s);transition:rotate .4s var(--e-back)}
.cx.cx-member-info{position:absolute;left:0;right:0;bottom:0;z-index:2;display:block;width:auto;padding:14px 14px 16px;color:#fff}
.cx.cx-member-name .elementor-heading-title{margin:0;font:600 clamp(17px,calc(4.6*var(--vw)),24px)/1.05 var(--f-d);font-stretch:normal;letter-spacing:-.02em;text-transform:none;color:#fff}
.cx.cx-member-role .elementor-heading-title{margin:.35em 0 0;font:400 13px/1.3 var(--f-b);font-stretch:normal;letter-spacing:0;text-transform:none;color:#fff;opacity:.85}
.cx.cx-member-dept{position:absolute;top:12px;left:12px;z-index:2;display:block;width:auto}
.cx.cx-member-dept .elementor-heading-title{margin:0;padding:6px 11px;border-radius:99px;background:var(--naranja);font:600 11.5px/1 var(--f-b);font-stretch:normal;letter-spacing:0;text-transform:none;color:var(--tinta)}
.cx.cx-member-bio{display:block;max-height:0;overflow:hidden;opacity:0;margin-top:0;transition:max-height .5s var(--e-out),opacity .35s,margin .35s}
.cx.cx-member-bio p{margin:0;font:400 13px/1.4 var(--f-b);color:#fff}
.cx-member.is-open::before,.cx-member:focus-visible::before{background:rgba(35,33,28,.74)}
.cx-member.is-open::after{rotate:45deg}
.cx-member.is-open .cx-member-img img,.cx-member:focus-visible .cx-member-img img{filter:none;transform:scale(1.06)}
.cx-member.is-open .cx-member-bio,.cx-member:focus-visible .cx-member-bio{max-height:11em;opacity:1;margin-top:.7em}
.cx-member:focus-visible{outline:3px solid var(--ambar);outline-offset:3px}
@media (hover:hover){
.cx-member:hover::before{background:rgba(35,33,28,.74)}
.cx-member:hover::after{rotate:45deg}
.cx-member:hover .cx-member-img img{filter:none;transform:scale(1.06)}
.cx-member:hover .cx-member-bio{max-height:11em;opacity:1;margin-top:.7em}}
.cx-tm-grid.is-filtering .cx-member:not(.is-match){filter:grayscale(1) opacity(.18);scale:.96;pointer-events:none}
html:not(.cx-js) .cx-member-bio{max-height:none;opacity:1;margin-top:.7em}
html:not(.cx-js) .cx-member-img img{filter:none}
@media (min-width:900px){.cx.cx-tm-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cx.cx-member-bio p{font-size:14px}}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){
.cx.cx-member{animation:cx-mem-in linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
@keyframes cx-mem-in{from{opacity:0;translate:0 36px}to{opacity:1;translate:0 0}}}}
@media (prefers-reduced-motion:reduce){.cx-member,.cx-member *,.cx-member::before,.cx-member::after,.cx-tm-chip{transition:none!important}}
.cx.cx-member:nth-child(3n+1) .cx-member-dept .elementor-heading-title{background:var(--tinta);color:#fff}
/*=== 5.18-rail ===*/
/* PORTFOLIO · rueda de proyectos (estilo carrusel giratorio). Los proyectos salen del Loop Grid «Conecta · Proyecto (rail del portfolio)»; el color del panel lo saca la web de la foto de cada proyecto */
.cx.cx-wheel{position:relative;display:block;padding:calc(var(--hdr) + 4*var(--vh)) var(--gut) calc(6*var(--vh))}
.cx-wheel .elementor-loop-container{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.cx.cx-rail-item{display:block}
.cx.cx-rail-media{position:relative;display:block;width:auto;aspect-ratio:3/4;min-height:0;border-radius:var(--rx);overflow:hidden;background:var(--arena)}
.cx.cx-rail-img{position:absolute;inset:0;width:auto;max-width:none}
.cx-rail-img img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0}
.cx-rail-media:has(.cx-rail-img--v img) .cx-rail-img:not(.cx-rail-img--v){display:none}
.cx.cx-rail-info{display:block;margin-top:12px}
.cx.cx-rail-kicker .elementor-heading-title{margin:0;font:600 13px/1.3 var(--f-b);letter-spacing:.06em;text-transform:uppercase;color:inherit;opacity:.8}
.cx.cx-rail-title .elementor-heading-title{margin:.25em 0 0;font:600 clamp(24px,2.4vw,40px)/1.02 var(--f-d);letter-spacing:-.02em;color:inherit}
.cx.cx-rail-btns{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;margin-top:22px}
.cx-rail-btns>.elementor-widget{width:auto;flex:none}
.cx-wheel .cx-rail-btn .elementor-button{display:inline-flex;align-items:center;min-height:44px;padding:12px 24px;border:0;border-radius:999px;font:600 14px/1 var(--f-b);background:#fff;color:var(--tinta);transition:transform .25s var(--e-out),background-color .25s}
.cx-wheel .cx-rail-btn--b .elementor-button{background:rgba(255,255,255,.14);color:var(--rail-ink,#fff);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.cx-rail-btn .elementor-button:hover{transform:translateY(-2px)}
.cx-rail-btn .elementor-button:focus-visible{outline:2px solid var(--rail-ink,var(--tinta));outline-offset:3px}
.cx-rail-btn.is-empty{display:none}

/* rueda activa (solo con JavaScript) */
.cx.cx-wheel.is-ready{--cw:min(16.5vw,36vh);--rk:6.2;--step:calc(1.24rad / var(--rk));height:max(640px,calc(100*var(--vh)));padding:0;overflow:hidden;touch-action:pan-y;color:var(--rail-ink,var(--tinta))}
.cx-wheel.is-ready::before{content:"";position:absolute;left:0;top:0;bottom:0;width:50%;z-index:1;background:var(--rail-bg,#23211c);transition:background-color .8s var(--e-io)}
.cx-wheel.is-ready .elementor-widget-loop-grid,.cx-wheel.is-ready .elementor-widget-loop-grid>.elementor-widget-container,.cx-wheel.is-ready .elementor-loop-container,.cx-wheel.is-ready .e-loop-item,.cx-wheel.is-ready .cx-rail-item{position:static!important;display:block!important;width:auto;height:auto;margin:0;padding:0}
.cx-wheel.is-ready .cx-rail-media{position:absolute;left:50%;top:calc(50% + var(--hdr)/2);z-index:2;width:var(--cw);margin:calc(var(--cw)*-2/3) 0 0 calc(var(--cw)/-2);transform-origin:50% calc(var(--cw)*2/3 + var(--cw)*var(--rk));transform:rotate(calc(var(--r,0)*var(--step)));transition:transform 1s var(--e-io),opacity .6s var(--e-io),box-shadow .6s;box-shadow:0 34px 60px -28px var(--sh,rgba(35,33,28,.5));cursor:pointer}
.cx-wheel.is-ready .cx-rail-media.is-past{z-index:0}
.cx-wheel.is-ready .cx-rail-media.is-far{opacity:0;pointer-events:none}
.cx-wheel.is-ready .cx-rail-media.is-current{cursor:default}
.cx-wheel.is-ready .cx-rail-info{position:absolute;z-index:3;left:max(var(--gut),6vw);top:calc(50% + var(--hdr)/2);width:calc(50% - var(--cw)/2 - max(var(--gut),6vw) - 3vw);max-width:560px;margin:0;opacity:0;visibility:hidden;transform:translateY(calc(-50% + 18px));transition:opacity .4s,visibility .4s,transform .6s var(--e-out)}
.cx-wheel.is-ready .cx-rail-item.is-active .cx-rail-info{opacity:1;visibility:visible;transform:translateY(-50%);transition-delay:.3s,.3s,.3s}
.cx-wheel.is-ready .cx-rail-title .elementor-heading-title{font-size:clamp(36px,4.2vw,76px)}
.cx-rail-nav{position:absolute;z-index:3;left:max(var(--gut),6vw);bottom:calc(7*var(--vh));display:flex;gap:12px}
.cx-rail-arrow{display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--rail-ink,var(--tinta)) 14%,transparent);color:var(--rail-ink,var(--tinta));cursor:pointer;transition:background-color .25s,transform .25s var(--e-out)}
.cx-rail-arrow:hover{background:color-mix(in srgb,var(--rail-ink,var(--tinta)) 26%,transparent)}
.cx-rail-arrow:active{transform:scale(.94)}
.cx-rail-arrow:focus-visible{outline:2px solid var(--rail-ink,var(--tinta));outline-offset:3px}
.cx-rail-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:767px){
.cx-wheel .elementor-loop-container{grid-template-columns:minmax(0,1fr)}
.cx.cx-wheel.is-ready{--cw:min(50vw,32vh);--rk:3.6;height:max(620px,calc(100*var(--vh)))}
.cx-wheel.is-ready::before{top:auto;right:0;width:auto;height:44%}
.cx-wheel.is-ready .cx-rail-media{top:calc(var(--hdr) + 6*var(--vh) + var(--cw)*2/3);z-index:0}
.cx-wheel.is-ready .cx-rail-media.is-current{z-index:2}
.cx-wheel.is-ready .cx-rail-info{left:var(--gut);right:var(--gut);top:auto;bottom:calc(5*var(--vh) + 62px);width:auto;transform:translateY(18px)}
.cx-wheel.is-ready .cx-rail-item.is-active .cx-rail-info{transform:none}
.cx-wheel.is-ready .cx-rail-title .elementor-heading-title{font-size:clamp(28px,8.4vw,38px)}
.cx-rail-btns{margin-top:16px}
.cx-rail-nav{left:var(--gut);bottom:calc(3.5*var(--vh))}
}
@media (prefers-reduced-motion:reduce){.cx-wheel.is-ready .cx-rail-media,.cx-wheel.is-ready .cx-rail-info,.cx-wheel.is-ready::before{transition:none!important}}

/* sin parpadeos al cargar: la rueda se prepara oculta y las transiciones se encienden despues del primer pintado */
.cx-js .cx.cx-wheel:not(.is-ready){height:max(640px,calc(100*var(--vh)));overflow:hidden}
.cx-js .cx-wheel:not(.is-ready) .elementor-widget-loop-grid{visibility:hidden}
.cx-wheel.is-ready:not(.is-live) *,.cx-wheel.is-ready:not(.is-live)::before{transition:none!important}

/* foto del proyecto a tamano completo en el panel, con la capa de color encima */
.cx.cx-rail-thumb{display:none}
.cx-wheel.is-ready .cx-rail-thumb{display:block;position:absolute;left:0;top:0;bottom:0;z-index:1;width:50%;max-width:none;margin:0;opacity:0;transition:opacity .9s var(--e-io);pointer-events:none}
.cx-wheel.is-ready .cx-rail-item.is-active .cx-rail-thumb{opacity:1}
.cx-wheel.is-ready .cx-rail-thumb img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0}
.cx-wheel.is-ready::after{content:"";position:absolute;left:0;top:0;bottom:0;z-index:1;width:50%;background:color-mix(in srgb,var(--rail-bg,#23211c) 93%,transparent);transition:background-color .8s var(--e-io);pointer-events:none}
@media (max-width:767px){
.cx-wheel.is-ready .cx-rail-thumb,.cx-wheel.is-ready::after{top:auto;right:0;width:auto;height:44%}
}
/* arrastrar con el raton o el dedo: la rueda sigue al cursor */
.cx-wheel.is-ready{cursor:grab;user-select:none;-webkit-user-select:none}
.cx-wheel.is-ready.is-drag{cursor:grabbing}
.cx-wheel.is-ready.is-drag .cx-rail-media{transition:none!important}
.cx-wheel.is-ready .cx-rail-media img{-webkit-user-drag:none;pointer-events:none}
.cx-wheel.is-ready .cx-rail-info{user-select:text;-webkit-user-select:text;cursor:auto}

/* transiciones al cambiar de proyecto: la tarjeta que se va se hace pequena y se desvanece mientras entra la siguiente; el texto sale hacia arriba y el nuevo entra desde abajo; la foto del panel se funde con un ligero zoom */
.cx-wheel.is-ready .cx-rail-media{transition:transform 1s var(--e-io),opacity .7s var(--e-io),scale .85s var(--e-io),box-shadow .6s}
@media (min-width:768px){
.cx-wheel.is-ready .cx-rail-media.is-past{transform:rotate(0deg);opacity:0;scale:.72;transition:transform 1s var(--e-io),opacity .75s var(--e-io),scale .85s var(--e-io),box-shadow .6s,z-index 0s linear .8s}
.cx-wheel.is-ready .cx-rail-item.is-out .cx-rail-info{transform:translateY(calc(-50% - 26px));transition:opacity .35s,visibility .35s,transform .55s var(--e-io)}
}
@media (max-width:767px){
.cx-wheel.is-ready .cx-rail-media:not(.is-current){scale:.9}
.cx-wheel.is-ready .cx-rail-item.is-out .cx-rail-info{transform:translateY(-22px);transition:opacity .35s,visibility .35s,transform .55s var(--e-io)}
}
.cx-wheel.is-ready .cx-rail-thumb{scale:1.07;transition:opacity 1s var(--e-io),scale 1.6s var(--e-out)}
.cx-wheel.is-ready .cx-rail-item.is-active .cx-rail-thumb{scale:1}
.cx-wheel.is-ready .cx-rail-item.is-out .cx-rail-thumb{scale:.96}
@media (prefers-reduced-motion:reduce){.cx-wheel.is-ready .cx-rail-thumb,.cx-wheel.is-ready .cx-rail-media{scale:1!important;transition:opacity .3s!important}}

/* color elegido a mano: dato oculto y botones cuando el panel es claro */
.cx.cx-rail-color,.cx.cx-cs-color{display:none!important}
.cx-wheel.is-light .cx-rail-btn--b .elementor-button{background:var(--tinta);color:#fff;box-shadow:none}

/* panel de color solido (sin foto de fondo) y textos y botones mas grandes */
.cx-wheel.is-ready .cx-rail-thumb,.cx-wheel.is-ready::after{display:none!important}
.cx-wheel.is-ready .cx-rail-kicker .elementor-heading-title{font-size:clamp(14px,1.05vw,18px)}
.cx-wheel.is-ready .cx-rail-title .elementor-heading-title{font-size:clamp(48px,5.6vw,108px)!important;line-height:.98}
.cx-wheel.is-ready .cx-rail-btns{gap:14px;margin-top:clamp(24px,3.4vh,40px)}
.cx-wheel.is-ready .cx-rail-btn .elementor-button{min-height:56px;padding:18px 34px;font-size:clamp(15px,1.1vw,18px)}
.cx-wheel.is-ready .cx-rail-info{max-width:680px}
@media (max-width:767px){
.cx-wheel.is-ready .cx-rail-title .elementor-heading-title{font-size:clamp(32px,10vw,46px)!important}
.cx-wheel.is-ready .cx-rail-btn .elementor-button{min-height:48px;padding:14px 24px;font-size:15px}
}

/* escritorio: texto, botones y flechas centrados en el hueco de color que queda a la izquierda de la tarjeta */
@media (min-width:768px){
.cx-wheel.is-ready .cx-rail-info{left:0;width:50%;max-width:none;padding:0 calc(var(--cw)/2 + 1.5vw);box-sizing:border-box;text-align:center}
.cx-wheel.is-ready .cx-rail-info .elementor-heading-title{text-align:center}
.cx-wheel.is-ready .cx-rail-btns{justify-content:center}
.cx-wheel.is-ready .cx-rail-nav{left:25%;translate:-50% 0}
}
/*=== 5.19-case-rb ===*/
/* FICHA DE PROYECTO (v2): portada de color con la imagen, titular gigante relleno con la foto, resumen con la imagen sobre un panel de color y el caso a todo el ancho. Color: campo «Color del panel» del proyecto o, si esta vacio, el que saca la web de la foto */
.cx.cx-pj{display:block;padding:0!important;color:var(--tinta);--pc:var(--arena);--pink:var(--tinta);--pad:max(var(--gut),calc((100vw - 1440px)/2))}
.cx.cx-pj-color{display:none!important}
.cx.cx-pj-kicker .elementor-heading-title{margin:0;font:600 13px/1.3 var(--f-b);letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.75}
/* portada */
.cx.cx-pj-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:6vw;min-height:calc(100*var(--vh));padding:calc(var(--hdr) + 6*var(--vh)) var(--pad) calc(8*var(--vh));background:var(--pc);color:var(--pink)}
.cx.cx-pj-hero-txt{display:block;min-width:0}
.cx.cx-pj-title .elementor-heading-title{margin:.18em 0 0;font-size:clamp(52px,6.4vw,118px);line-height:.95;letter-spacing:-.035em;color:inherit}
.cx.cx-pj-lead{max-width:540px;margin-top:calc(3.5*var(--vh))!important}
.cx.cx-pj-lead,.cx.cx-pj-lead p{margin:0;font:400 clamp(17px,1.25vw,20px)/1.55 var(--f-b);color:inherit;opacity:.9}
.cx.cx-pj-hero-media{position:relative;isolation:isolate;justify-self:center;width:min(100%,500px,calc(64*var(--vh)*.8));aspect-ratio:4/5;min-height:0}
.cx-pj-hero-media::before{content:"";position:absolute;left:50%;top:55%;z-index:-1;width:200%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.7),rgba(255,255,255,.25) 45%,rgba(255,255,255,0) 72%);pointer-events:none}
.cx.cx-pj-img{position:absolute;inset:0;width:auto;max-width:none;border-radius:var(--rx);overflow:hidden;box-shadow:0 40px 70px -32px rgba(35,33,28,.55)}
.cx-pj-img img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0}
.cx-pj-hero-media:has(.cx-pj-img--v img) .cx-pj-img:not(.cx-pj-img--v){display:none}
/* titular gigante */
.cx.cx-pj-band{display:block;padding:0 var(--pad) calc(12*var(--vh));background:var(--pc);color:var(--pink);overflow:hidden}
.cx.cx-pj-big .elementor-heading-title{margin:0;font:700 clamp(72px,13vw,250px)/.9 var(--f-d);letter-spacing:-.05em;color:var(--pink);background:linear-gradient(100deg,var(--pink) 0 30%,rgba(0,0,0,0) 78%),var(--pimg,none) center/cover;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* resumen */
.cx.cx-pj-sum{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6vw;padding:calc(14*var(--vh)) var(--pad)}
.cx.cx-pj-sum-media{position:relative;isolation:isolate;display:grid;place-items:center;min-height:0;padding:calc(5*var(--vh)) 0}
.cx-pj-sum-media::before{content:"";position:absolute;left:0;right:0;top:24%;bottom:0;z-index:-1;border-radius:calc(var(--rx) + 8px);background:var(--pc)}
.cx-pj-sum-media .cx-pj-img{position:relative;inset:auto;width:74%;aspect-ratio:4/5}
.cx.cx-pj-sum-txt{display:block;min-width:0;max-width:600px}
.cx.cx-pj-h2 .elementor-heading-title{margin:.25em 0 0;font-size:clamp(38px,4vw,68px);line-height:1.02;letter-spacing:-.03em}
.cx.cx-pj-figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:calc(5*var(--vh))}
.cx.cx-pj-fig{display:block;padding-top:16px;border-top:2px solid var(--tinta)}
.cx.cx-pj-fig-n .elementor-heading-title{margin:0;font:600 clamp(40px,4vw,72px)/1 var(--f-d);letter-spacing:-.03em;color:var(--tinta)}
.cx.cx-pj-fig-t .elementor-heading-title{margin:8px 0 0;font:500 14px/1.35 var(--f-b);color:var(--gris-t)}
.cx-pj-fig.is-empty,.cx-pj-figs.is-empty,.cx-pj-web.is-empty{display:none!important}
.cx.cx-pj-serv{display:block;margin-top:calc(5*var(--vh))}
.cx.cx-pj-label .elementor-heading-title{margin:0 0 12px;font:600 13px/1.3 var(--f-b);letter-spacing:.08em;text-transform:uppercase;color:var(--gris-t)}
.cx-pj-serv-list .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.cx-pj-serv-list .elementor-icon-list-item{margin:0!important;padding:0}
.cx-pj-serv-list .elementor-icon-list-icon{display:none!important}
.cx-pj-serv-list .elementor-post-info__terms-list{display:inline-flex;flex-wrap:wrap;gap:8px;font-size:0!important}
.cx-pj-serv-list .elementor-post-info__terms-list-item{display:inline-block;padding:10px 16px;border:1.5px solid var(--tinta);border-radius:999px;font:500 14px/1 var(--f-b)!important;font-size:14px!important;color:var(--tinta)!important;text-decoration:none!important;pointer-events:none}
.cx.cx-pj-web{width:auto;margin-top:calc(5*var(--vh))}
.cx-pj .cx-pj-web .elementor-button{display:inline-flex;align-items:center;min-height:52px;padding:16px 30px;border:0;border-radius:999px;font:600 16px/1 var(--f-b);background:var(--tinta);color:#fff;transition:transform .25s var(--e-out)}
.cx-pj .cx-pj-web .elementor-button:hover{transform:translateY(-2px)}
/* el caso */
.cx.cx-pj-body{display:block;padding:calc(6*var(--vh)) var(--gut) calc(10*var(--vh))}
/* el ancho del texto del caso se cambia en Elementor: contenedor cx-pj-body > Ancho (contenido en caja) */
.cx.cx-pj-body>.e-con-inner{display:block}
.cx.cx-pj-body .elementor-widget{width:100%;max-width:100%}
.cx.cx-pj-body .cx-pj-kicker .elementor-heading-title,.cx.cx-pj-body .cx-pj-h2 .elementor-heading-title{text-align:center}
.cx.cx-pj-content{margin-top:calc(6*var(--vh))}
.cx-pj-content p{margin:0 0 1.2em;font-size:clamp(17px,1.15vw,19px);line-height:1.7;color:#4a4843}
.cx-pj-content p:empty,.cx-pj-content p.is-dup{display:none}
.cx-pj-content h2,.cx-pj-content h3{margin:2.2em 0 .6em;font:600 clamp(26px,2.2vw,36px)/1.1 var(--f-d);letter-spacing:-.02em;color:var(--tinta)}
.cx-pj-content .cx-figs,.cx-pj-content>figure,.cx-pj-content .wp-block-gallery{position:relative;left:50%;width:min(1280px,calc(100vw - 2*var(--gut)));margin:calc(7*var(--vh)) 0;translate:-50% 0}
.cx-pj-content .cx-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(14px,1.6vw,28px);align-items:start}
.cx-pj-content figure{margin:0}
.cx-pj-content figure img{display:block;width:100%;height:auto;border-radius:var(--rx)}
.cx-pj-content .cx-figs figure img{aspect-ratio:4/3;object-fit:cover}
.cx-pj-content .cx-figs figure:only-child img{aspect-ratio:auto}
/* entradas suaves */
.cx-js .cx-pj-hero-txt{animation:cx-pj-up .9s var(--e-out) both .15s}
.cx-js .cx-pj-hero-media{animation:cx-pj-up 1.1s var(--e-out) both .3s}
@keyframes cx-pj-up{from{opacity:0;translate:0 48px}to{opacity:1;translate:0 0}}
.cx-pj.is-anim .cx-pj-rv{opacity:0;translate:0 40px;transition:opacity .8s var(--e-out),translate .9s var(--e-out)}
.cx-pj.is-anim .cx-pj-rv.is-in{opacity:1;translate:0 0}
.cx-pj.is-anim .cx-pj-content .cx-figs.cx-pj-rv{translate:-50% 40px}
.cx-pj.is-anim .cx-pj-content .cx-figs.cx-pj-rv.is-in{translate:-50% 0}
@media (prefers-reduced-motion:reduce){.cx-js .cx-pj-hero-txt,.cx-js .cx-pj-hero-media{animation:none}}
/* cabecera sin franja mientras se ve el color */
.cx-cs-color .cx-header.cx-header--min{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
@media (max-width:767px){
.cx.cx-pj-hero{grid-template-columns:minmax(0,1fr);gap:calc(5*var(--vh));min-height:0;padding:calc(var(--hdr) + 6*var(--vh)) var(--gut) calc(6*var(--vh))}
.cx.cx-pj-title .elementor-heading-title{font-size:clamp(40px,12vw,64px)}
.cx.cx-pj-hero-media{width:min(78vw,52vh*.8)}
.cx.cx-pj-band{padding-bottom:calc(7*var(--vh))}
.cx.cx-pj-big .elementor-heading-title{font-size:clamp(56px,19vw,120px)}
.cx.cx-pj-sum{grid-template-columns:minmax(0,1fr);gap:calc(5*var(--vh));padding:calc(8*var(--vh)) var(--gut)}
.cx.cx-pj-figs{gap:16px}
.cx.cx-pj-body{padding-top:calc(4*var(--vh))}
.cx-pj-content .cx-figs,.cx-pj-content>figure{margin:calc(4*var(--vh)) 0}
}

/* la foto principal no se repite dentro del caso */
.cx-pj-content .is-dup{display:none!important}
/*=== 5.20-office ===*/
.cx.cx-office{position:relative}
.cx-office .cx-pg-lead{max-width:52ch}
body:not(.elementor-editor-active) .cx-office-guest{display:none!important}
.elementor-editor-active .cx-office-guest{outline:2px dashed #f39a1e;outline-offset:4px;padding:10px!important}
.cx.cx-office-stage{display:block!important;position:relative;padding:0!important;min-height:0!important;width:100%;border-radius:0;background:none;overflow:hidden}
.cx-of-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.cx-of-svg{display:block;width:100%;min-width:760px;height:auto;margin:0 auto;max-height:86vh;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.cx-office-stage.has-sel .cx-of-svg{cursor:pointer}
.cx-of-floor polygon,.cx-of-walls polygon{shape-rendering:crispEdges}
.cx-of-word{font-family:inherit;font-weight:700;font-size:58px;letter-spacing:-.01em;fill:#7c7d81}
.cx-of-word .cx-of-n{fill:#f39a1e}
.cx-of-word--sh{fill:#5c5d61}
.cx-of-word--sh .cx-of-n{fill:#b56b0c}
.cx-of-word .cx-of-dot{fill:#f39a1e}
.cx-of-word--sh .cx-of-dot{fill:#b56b0c}
.cx-of-word2{font-family:inherit;font-weight:700;font-size:23px;fill:#1d1c1a}
.cx-of-word2--s{font-size:14px;font-weight:600}
.cx-of-hover,.cx-of-mark{opacity:0;pointer-events:none}
.cx-of-glass{pointer-events:none}
.cx-of-hover.is-on{opacity:1}
.cx-of-mark.is-on{animation:cxOfMark .9s ease-out}
@keyframes cxOfMark{0%{opacity:1}100%{opacity:0}}
.cx-of-person{cursor:pointer;outline:none}
.cx-of-person .cx-of-av{transition:translate .25s ease}
.cx-of-person:hover .cx-of-sit .cx-of-av,.cx-of-person:focus-visible .cx-of-sit .cx-of-av,.cx-of-person.is-sel .cx-of-sit .cx-of-av{translate:0 -5px}
.cx-of-person:focus-visible>ellipse{fill:rgba(243,154,30,.55)}
.cx-of-person.is-sel>ellipse{fill:rgba(243,154,30,.45)}
.cx-of-name,.cx-of-saytxt{font-family:inherit;font-weight:700;font-size:12.5px;fill:#23211c;pointer-events:none}
.cx-of-saytxt{font-weight:600}
.cx-of-tag,.cx-of-say{pointer-events:none}
.cx-of-tagin{transition:translate .25s ease,opacity .2s ease}
.cx-of-tag rect,.cx-of-tag path{transition:fill .2s ease}
.cx-of-tag.is-hi .cx-of-tagin{translate:0 -5px}
.cx-of-tag.is-off .cx-of-tagin{opacity:0}
.cx-of-tag.is-sel rect,.cx-of-tag.is-sel path{fill:#f9a826}
.cx-of-sayin{animation:cxOfSay .28s cubic-bezier(.2,1.4,.4,1);transform-box:fill-box;transform-origin:50% 100%}
.cx-of-say.is-out .cx-of-sayin{opacity:0;translate:0 -6px;transition:opacity .3s ease,translate .3s ease}
@keyframes cxOfSay{0%{opacity:0;scale:.6}100%{opacity:1;scale:1}}
.cx-of-eyes{transform-box:fill-box;transform-origin:center;animation:cxOfBlink 5.2s infinite;animation-delay:var(--dl,0s)}
.cx-of-sit .cx-of-arms{animation:cxOfType 1.6s ease-in-out infinite;animation-delay:var(--dl,0s)}
.cx-of-armr{transform-box:fill-box;transform-origin:50% 8%}
.cx-of-person.is-wave .cx-of-armr{animation:cxOfWave .95s ease-in-out}
.cx-of-person.is-walk .cx-of-legl{animation:cxOfStep .42s ease-in-out infinite}
.cx-of-person.is-walk .cx-of-legr{animation:cxOfStep .42s ease-in-out infinite;animation-delay:-.21s}
.cx-of-person.is-walk .cx-of-stand .cx-of-av{animation:cxOfBob .21s ease-in-out infinite alternate}
.cx-of-steam{animation:cxOfSteam 2.8s ease-in-out infinite;opacity:0}
@keyframes cxOfBlink{0%,94%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
@keyframes cxOfType{0%,40%,100%{translate:0 0}10%,30%{translate:0 -1.5px}20%{translate:0 .5px}}
@keyframes cxOfWave{0%,100%{rotate:0deg}25%,75%{rotate:-155deg}50%{rotate:-125deg}}
@keyframes cxOfStep{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes cxOfBob{from{translate:0 0}to{translate:0 -2px}}
@keyframes cxOfSteam{0%{opacity:0;translate:0 4px}40%{opacity:.8}100%{opacity:0;translate:0 -8px}}
.cx-of-tip{position:absolute;left:20px;top:16px;z-index:4;margin:0;padding:8px 14px;border-radius:999px;background:#23211c;color:#fff;font-size:14px;line-height:1.3;max-width:calc(100% - 40px);pointer-events:none}
.cx-of-tip:empty{display:none}
/* ficha con la foto real */
.cx-of-pop{position:absolute;right:20px;bottom:20px;z-index:5;display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;width:min(480px,calc(100% - 40px));padding:14px 18px 14px 14px;border-radius:20px;background:#fff;color:#23211c;box-shadow:0 18px 50px rgba(35,33,28,.22);opacity:0;scale:.94;transform-origin:100% 100%;transition:opacity .25s ease,scale .25s ease}
.cx-of-pop.is-on{opacity:1;scale:1}
.cx-of-pop[hidden]{display:none}
.cx-of-photo{aspect-ratio:4/5;border-radius:14px;background:#e9e2d7 center 20%/cover no-repeat;overflow:hidden}
.cx-of-photo.is-av{display:grid;place-items:end center;background:linear-gradient(180deg,#f6f1ea,#e9e0d2)}
.cx-of-photo.is-av svg{width:78%;height:auto;margin-bottom:8%}
.cx-of-txt p{margin:0}
.cx-of-dept{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a85a00}
.cx-of-dept:empty,.cx-of-prole:empty{display:none}
.cx-of-pname{font-size:clamp(26px,2.4vw,34px);font-weight:800;line-height:1.05;margin:.25em 0 .2em!important}
.cx-of-prole{font-size:15px;color:#5a564f}
.cx-of-bio{font-size:14px;line-height:1.45;margin-top:.6em}
.cx-of-bio:empty{display:none}
.cx-of-acts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;padding-top:12px;border-top:1px solid #ece6dc}
.cx-of-acts:empty{display:none}
.cx-of-act{min-height:40px;padding:8px 14px;border:1.5px solid #23211c;border-radius:999px;background:#fff;color:#23211c;font:inherit;font-size:13.5px;font-weight:600;line-height:1.2;cursor:pointer;transition:background .15s ease,color .15s ease}
.cx-of-act:hover{background:#23211c;color:#fff}
.cx-of-act:focus-visible{outline:2px solid #f39a1e;outline-offset:2px}
.cx-of-sun{pointer-events:none}
.cx-of-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#23211c;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.cx-of-x:hover{background:#f3eee6}
.cx-of-x:focus-visible{outline:2px solid #23211c;outline-offset:2px}
/* movil: muñecos con nombre y la oficina a pantalla completa desde un boton secundario */
.cx-of-cast,.cx-of-enter,.cx-of-exit{display:none}
@media (max-width:767px){
  .cx.cx-office-stage{background:none;border-radius:0;overflow:visible}
  .cx-of-scroll{display:none}
  .cx-of-cast{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0}
  .cx-of-cast li{margin:0;padding:0}
  .cx-of-castbtn{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px 12px;border:0;border-radius:16px;background:linear-gradient(180deg,#f6f1ea,#ece3d6);color:#23211c;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .cx-of-castbtn:active{background:#e6dccd}
  .cx-of-castbtn:focus-visible{outline:2px solid #23211c;outline-offset:2px}
  .cx-of-castav{display:block;width:58px;height:auto}
  .cx-of-castname{font-size:14px;font-weight:700;line-height:1.2}
  .cx-of-enter{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:18px;padding:12px 20px;border:1.5px solid #23211c;border-radius:999px;background:transparent;color:#23211c;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
  .cx-of-enter::after{content:"→";font-weight:400}
  .cx-of-enter:focus-visible,.cx-of-exit:focus-visible{outline:2px solid #23211c;outline-offset:3px}
  .cx-office-stage.is-open .cx-of-scroll{display:block;position:fixed;inset:0;z-index:9990;overflow:auto;background:linear-gradient(180deg,#f6f1ea 0%,#efe7db 100%)}
  .cx-office-stage.is-open .cx-of-svg{width:auto;height:100%;min-width:0;max-width:none;max-height:none}
  .cx-office-stage.is-open .cx-of-exit{display:inline-flex;align-items:center;position:fixed;top:12px;right:12px;z-index:9995;min-height:44px;padding:10px 18px;border:0;border-radius:999px;background:#23211c;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
  .cx-office-stage.is-open .cx-of-tip{position:fixed;left:12px;top:12px;z-index:9995;max-width:calc(100% - 170px);font-size:13px}
  .cx-of-pop{position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;width:auto;grid-template-columns:110px 1fr;gap:14px;transform-origin:50% 100%}
  html.cx-of-lock,html.cx-of-lock body{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){
  .cx-of-eyes,.cx-of-arms,.cx-of-steam,.cx-of-armr,.cx-of-legl,.cx-of-legr,.cx-of-av,.cx-of-sayin,.cx-of-mark{animation:none!important}
  .cx-of-person .cx-of-av,.cx-of-tagin,.cx-of-pop,.cx-of-say.is-out .cx-of-sayin{transition:none}
}
/* si el grid de fotos se oculta en Elementor, se oculta toda su seccion (filtros y margen incluidos) */
@media (min-width:1025px){.cx.cx-tm:has(>.cx-tm-grid.elementor-hidden-desktop){display:none!important}}
@media (min-width:768px) and (max-width:1024px){.cx.cx-tm:has(>.cx-tm-grid.elementor-hidden-tablet){display:none!important}}
@media (max-width:767px){.cx.cx-tm:has(>.cx-tm-grid.elementor-hidden-mobile){display:none!important}}
/* escritorio y tablet: la oficina ocupa casi toda la pantalla */
@media (min-width:768px){
  .cx.cx-pg:has(.cx-office-stage){padding-top:64px!important}
  .cx.cx-pg:has(.cx-office-stage)>.cx-office:first-child,.cx.cx-pg:has(.cx-office-stage)>.cx-tm:first-child+.cx-office{margin-top:0!important}
  .cx.cx-office-stage{width:min(1880px,calc(100vw - 2*var(--gut,24px)))!important;max-width:none!important;margin-left:50%!important;translate:-50% 0}
  .cx-of-svg{min-width:0;width:100%;height:auto;max-height:none;max-width:calc(92vh * 1.43)}
}
/* puerta y visitas */
.cx-of-leafopen{display:none}
.cx-of-door.is-open .cx-of-leaf{display:none}
.cx-of-door.is-open .cx-of-leafopen{display:inline}
.cx-of-door.is-btn{cursor:pointer;outline:none}
.cx-of-door.is-btn:hover .cx-of-leaf polygon:first-child,.cx-of-door:focus-visible .cx-of-leaf polygon:first-child{fill:#e2c49b}
.cx-of-door:focus-visible>polygon:first-child{stroke:#f39a1e;stroke-width:3}
.cx-of-tee{font-family:inherit;font-weight:800;font-size:7.5px;letter-spacing:.02em;pointer-events:none}
/*=== 6-motion ===*/
@keyframes cx-mq{from{transform:translateX(calc(var(--slot)*(var(--n,8) - 1)))}to{transform:translateX(calc(var(--slot)*-1))}}
@keyframes cx-wink{0%,90%,100%{transform:none}94%{transform:scaleY(.2)}}
@keyframes cx-cue{0%,100%{transform:scaleY(.72)}50%{transform:scaleY(1.12)}}
/* intro de la home: «co ecta» → cae la n → la n crece y es ventana. La clase cx-pre la pone un script mínimo al abrir el body */
.cx-pre .cx-header .cx-logo a{transform:translateY(calc(31*var(--vh) - 26px)) scale(2.98);transition:none}
.cx-pre .cx-header .cx-lg-n{transform:translateY(-190%) rotate(-12deg);opacity:0}
.cx-pre.cx-drop .cx-header .cx-lg-n{transform:none;opacity:1}
.cx-pre .cx-hero-arch{--cx-t:26.5%;opacity:0;transition:none}
.cx-pre .cx-reel{opacity:0;transition:none}
.cx-pre .cx-menu-btn,.cx-pre .cx-hero-cue,.cx-pre .cx-hero-svc{opacity:0}
.cx-rm .cx *,.cx-rm .cx *::before,.cx-rm .cx *::after,.cx-rm .cx-thread-dot i{animation:none!important;transition-duration:.01s!important;transition-delay:0s!important}
@media (prefers-reduced-motion:reduce){
.cx *,.cx *::before,.cx *::after,.cx-thread-dot i{animation:none!important;transition-duration:.01s!important;transition-delay:0s!important}
}
/*=== 7-responsive ===*/
/* movil (hasta 767px) es la base. Desde 768px la pagina pasa a dos columnas y --vw deja de ser el ancho de pantalla: es una unidad de tipo fluida con tope */
@media (min-width:768px){
body{--cw:100vw;--x0:0px;--sw:1vw;--vw:clamp(3.4px,.42vw,6.2px);--gut:max(clamp(24px,3.6vw,64px),calc((100vw - 1760px)/2));--hdr:72px}
.cx.cx-page-home,.cx.cx-footer{max-width:none}
.cx.cx-header,.cx-js .cx.cx-menu,.cx-thread{left:0;width:100%}
.cx-thread-dot{left:0}
.cx.cx-rail{margin-right:0}
.cx.cx-h2 .elementor-heading-title{font-size:calc(14*var(--vw))}
.cx.cx-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-content:center;column-gap:calc(8*var(--sw));align-items:center;padding-top:calc(var(--hdr) + 3*var(--vh))}
.cx.cx-hero-arch{grid-column:2;grid-row:1/4;align-self:center;width:min(calc(36*var(--sw)),calc(58*var(--vh)));margin:0}
.cx.cx-hero-txt{grid-column:1;grid-row:1;margin:0;transition:opacity .6s .35s}
.cx.cx-hero-title .elementor-heading-title{font-size:calc(17*var(--vw))}
.cx.cx-hero-h1 .elementor-heading-title{font-size:16px}
.cx.cx-hero-cta{gap:28px}
.cx.cx-hero-svc{grid-column:1;grid-row:2;max-width:560px;margin-top:calc(5*var(--vh));padding-top:0}
.cx.cx-hero-cue{grid-column:1;grid-row:3}
.cx-pre .cx-header .cx-logo a{transform:translate(calc(50*var(--sw) - var(--gut) - 44*var(--vw)),calc(40*var(--vh))) scale(2.98)}
.cx-pre .cx-hero-txt{opacity:0}
.cx.cx-manifesto-stick{text-align:center;--fig:min(calc(44*var(--vw)),calc(25*var(--vh)))}
.cx.cx-manifesto-fig{margin-inline:auto}
.cx.cx-manifesto-steps{justify-items:center}
.cx.cx-manifesto-labs .elementor-icon-list-items{justify-content:center}
.cx-motion .cx.cx-manifesto-labs{margin-inline:auto}
.cx-motion .cx.cx-manifesto-line{margin-right:0}
.cx.cx-manifesto-txt{max-width:520px;margin-inline:auto}
.cx.cx-services-head{padding-block:calc(14*var(--vh)) calc(8*var(--vh))}
.cx.cx-services-head .cx-body{max-width:520px}
.cx.cx-service-panel,.cx.cx-service-tab a{border-radius:40px 40px 0 0}
.cx.cx-service-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:calc(6*var(--sw));padding-bottom:calc(8*var(--vh))}
.cx.cx-service-title{grid-column:1;grid-row:1;align-self:start;margin-top:calc(4*var(--vh))}
.cx.cx-service-links{grid-column:1;grid-row:2;align-self:end;max-width:520px;margin-right:0}
.cx.cx-service-vis{grid-column:2;grid-row:1/3;min-height:0;margin-top:0}
.cx.cx-service-img{right:8%;max-width:none}
.cx.cx-service-img--cut{right:14%}
.cx.cx-service-dot{left:calc(-16*var(--vw));bottom:9%;width:calc(16*var(--vw));height:calc(16*var(--vw))}
.cx-panel--tinta .cx.cx-service-title .elementor-heading-title{font-size:calc(13*var(--vw));text-wrap:balance}
.cx.cx-services-all{padding-block:calc(6*var(--vh))}
.cx.cx-project-stick{--aw:min(calc(72*var(--vw)),calc(54*var(--vh)));--s0:.75}
.cx.cx-project-pre{left:var(--gut);right:var(--gut);width:auto;max-width:none}
.cx.cx-project-name .elementor-heading-title{font-size:calc(15*var(--vw))}
.cx.cx-project-info{right:auto;bottom:calc(9*var(--vh));width:min(560px,calc(100% - 2*var(--gut)))}
.cx.cx-project-info .cx-project-name .elementor-heading-title{font-size:calc(13*var(--vw))}
.cx-project-img img{--up:calc(3*var(--vh));--zoom:.08}
.cx.cx-project-media::after{background:linear-gradient(90deg,rgba(35,33,28,.88) 0,rgba(35,33,28,.55) 34%,rgba(35,33,28,0) 64%),linear-gradient(180deg,rgba(35,33,28,.45) 0,rgba(35,33,28,0) 22%)}
.cx.cx-fig-n .elementor-heading-title{font-size:calc(9*var(--vw))}
.cx.cx-clients>.cx-h2{padding-inline:var(--gut)}
.cx.cx-quote{max-width:720px;margin:calc(8*var(--vh)) auto 0 var(--gut);padding:32px;border-radius:28px}
.cx.cx-quote-text,.cx.cx-quote-text p{font-size:calc(6*var(--vw))}
.cx.cx-gate-lead{right:var(--gut);max-width:none}
.cx.cx-gate-lock{right:auto}
.cx-gate-scene::after{background:linear-gradient(90deg,rgba(35,33,28,.82) 0,rgba(35,33,28,.4) 32%,rgba(35,33,28,0) 58%),linear-gradient(180deg,rgba(35,33,28,.45) 0,rgba(35,33,28,0) 24%,rgba(35,33,28,0) 60%,rgba(35,33,28,.6) 100%)}
.cx.cx-re-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:calc(6*var(--sw));align-items:start;padding-inline:var(--gut)}
.cx.cx-re-in{padding-inline:0}
.cx.cx-re-body>.cx-re-in:first-child{grid-column:1;grid-row:1/4;align-self:center}
.cx.cx-before-after{grid-column:2;grid-row:1;justify-self:center;width:100%;max-width:480px;margin:0}
.cx.cx-ba-tools,.cx.cx-ba-note{grid-column:2;justify-self:center;width:100%;max-width:480px;margin-inline:0}
.cx.cx-promos{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(3*var(--sw));margin-top:calc(10*var(--vh));padding:0;overflow:visible}
.cx.cx-promo{width:auto}
.cx-promo img{border-radius:20px}
.cx.cx-re-cta{grid-column:1/-1;flex-direction:row;align-items:center;gap:32px}
.cx.cx-team{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:calc(6*var(--sw));align-items:start;padding-block:calc(14*var(--vh))}
.cx.cx-team>.cx-h2{grid-column:1;grid-row:1}
.cx.cx-team-media{grid-column:2;grid-row:1/6;margin-top:0;aspect-ratio:5/4}
.cx.cx-team-row{grid-column:1;grid-row:2;justify-content:flex-start;gap:40px;margin-top:calc(6*var(--vh));padding-right:0}
.cx.cx-team-say .elementor-heading-title{font-size:calc(7.6*var(--vw))}
.cx.cx-nn{width:calc(16*var(--vw))}
.cx.cx-team-note{grid-column:1;grid-row:3}
.cx.cx-team>.cx-lnk{grid-column:1;grid-row:4}
.cx.cx-blog{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);column-gap:calc(6*var(--sw));align-items:start;padding-block:calc(6*var(--vh)) calc(16*var(--vh))}
.cx.cx-blog>.cx-h2{grid-column:1;grid-row:1}
.cx.cx-blog-loop{grid-column:2;grid-row:1/3;margin:0}
.cx.cx-blog>.cx-lnk{grid-column:1;grid-row:2}
.cx.cx-post-title .elementor-heading-title{font-size:22px}
.cx.cx-final{padding-top:calc(var(--hdr) + 10*var(--vh))}
.cx-motion .cx.cx-manifesto{height:calc(var(--cx-steps,4)*85*var(--vh))}
.cx-motion .cx.cx-gate{height:calc(225*var(--vh))}
.cx.cx-final{--ffs:calc(19*var(--vw));--fd:64px;--ftu:72px;column-gap:28px}
.cx.cx-final-title{max-width:calc(150*var(--vw))}
.cx-final-lab{font-size:13px}
.cx.cx-final-cta{align-self:flex-start;width:auto}
.cx.cx-final-cta .elementor-button.elementor-button{width:auto;min-width:340px}
.cx.cx-final-rows{width:100%;max-width:560px}
.cx.cx-footer{display:grid;grid-template-columns:1fr 1.2fr 1.4fr;column-gap:calc(5*var(--sw));align-items:start;padding-block:calc(10*var(--vh)) calc(6*var(--vh) + 70px)}
.cx.cx-footer-data,.cx.cx-footer-nav{margin-top:0}
.cx.cx-footer-legal{grid-column:1/-1}
.cx-contact-sheet.elementor-popup-modal .dialog-widget-content{width:min(100vw,540px)!important;border-radius:32px 32px 0 0}
.cx-contact-sheet.elementor-popup-modal .dialog-message{padding-inline:32px}
.cx-contact-sheet.elementor-popup-modal .dialog-close-button{right:22px}
.cx.cx-sheet-title{padding-right:56px}
.cx.cx-sheet-title .elementor-heading-title{font-size:40px}
.cx-js .cx.cx-menu{flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:0;clip-path:circle(0 at calc(100% - var(--gut) - 14px) 36px)}
.cx-js .cx.cx-menu.is-open{clip-path:circle(150% at calc(100% - var(--gut) - 14px) 36px)}
.cx.cx-menu-close-w{top:12px}
.cx.cx-menu-nav{align-self:flex-start}
.cx.cx-menu-links .elementor-icon-list-text{font-size:clamp(34px,7vh,72px)}
.cx.cx-menu-foot{flex:none;width:min(420px,100%);margin-top:auto;padding-top:3vh}
}
/* en pantallas apaisadas el proyecto usa la imagen destacada (horizontal); en vertical, la imagen vertical */
@media (min-width:768px) and (min-aspect-ratio:1/1){
.cx-project-media:has(.cx-project-img--v img) .cx-project-img:not(.cx-project-img--v){display:block}
.cx.cx-project-img--v{display:none}
}
@media (min-width:768px) and (max-height:720px){
.cx-motion .cx.cx-manifesto-line .elementor-heading-title{font-size:calc(12.5*var(--vw))}
.cx-motion .cx.cx-manifesto-steps{height:calc(54px + 4*var(--vh) + 38*var(--vw))}
.cx.cx-service-title .elementor-heading-title{font-size:calc(12*var(--vw))}
.cx.cx-final{--ffs:calc(15*var(--vw))}
}
/* movil ligero: menos texto, menos scroll y menos movimiento (en escritorio no cambia nada) */
@media (max-width:767px){
.cx-hero-svc,.cx-services-head .cx-body,.cx-projects-head .cx-body,.cx.cx-manifesto-txt,.cx.cx-chips,.cx-re-in>.cx-body,.cx.cx-pil{display:none}
.cx-js .cx-service-panel:not(.is-in) .cx-service-img img{transform:none}
.cx-service-img img{transition:none}
}
/* los ajustes de visibilidad de Elementor (ocultar en movil, tablet, escritorio) ganan a los estilos .cx */
@media (max-width:767px){.cx.elementor-hidden-mobile{display:none!important}}
@media (min-width:768px) and (max-width:1024px){.cx.elementor-hidden-tablet{display:none!important}}
@media (min-width:1025px){.cx.elementor-hidden-desktop{display:none!important}}
/*=== 7.1-hero-wide ===*/
/* HERO de escritorio/tablet: el video ocupa casi toda la pantalla; al hacer scroll se encoge hacia la derecha y entra el titular grande.
   Solo con scroll-driven animations y movimiento permitido; en Firefox o con movimiento reducido queda la composicion clasica (titular mas grande). */
@media (min-width:768px){
.cx.cx-hero-title .elementor-heading-title{font-size:clamp(56px,8.4vw,176px);line-height:.96}
.cx.cx-hero-h1 .elementor-heading-title{font-size:clamp(16px,1.35vw,24px);line-height:1.35}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:scroll()){
.cx.cx-hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;align-content:start;align-items:start;height:calc(215*var(--vh));min-height:0;padding:0 var(--gut);column-gap:0;row-gap:0;--g:calc(var(--gut) - 16px)}
.cx.cx-hero>*{grid-area:1/1;align-self:start}
.cx.cx-hero-arch{--hw:min(calc(32*var(--sw)),calc(52*var(--vh)));--fh:calc(var(--hw)*203/175);--ab:var(--wp-admin--admin-bar--height,0px);--st:calc(100*var(--vh) - var(--ab) - var(--hdr) - 16px);position:sticky;top:calc(var(--hdr) + var(--ab));z-index:1;justify-self:end;width:calc(100% + 2*var(--g));height:var(--st);aspect-ratio:auto;margin:0 calc(-1*var(--g)) 0 0;
animation:cx-hero-shrink cubic-bezier(.65,0,.35,1) both;animation-timeline:scroll(root);animation-range:0 90vh}
@keyframes cx-hero-shrink{to{width:var(--hw);height:var(--fh);margin-right:0;top:calc(var(--hdr) + var(--ab) + (var(--st) - var(--fh))/2)}}
.cx.cx-hero-media{container-type:size;clip-path:inset(12px round calc(var(--rx) - 3px))}
.cx-hero .cx-hero-video .elementor-wrapper iframe{position:absolute;left:50%;top:50%;width:max(100cqw,calc(100cqh*16/9))!important;height:max(100cqh,calc(100cqw*9/16))!important;max-width:none!important;transform:translate(-50%,-50%);border:0}
.cx.cx-hero-txt,.cx.cx-hero-svc{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:2;height:calc(100*var(--vh) - var(--wp-admin--admin-bar--height,0px));margin:0;opacity:0;visibility:hidden;animation:cx-hero-in linear both;animation-timeline:scroll(root);animation-range:42vh 90vh}
.cx.cx-hero-txt{display:flex;flex-direction:column;justify-content:center;padding:var(--hdr) calc(var(--hw,0px) + 5*var(--sw)) 0 0;--hw:min(calc(32*var(--sw)),calc(52*var(--vh)))}
.cx.cx-hero-svc{display:flex;align-items:flex-end;padding:0 0 calc(5*var(--vh));max-width:calc(100% - min(calc(32*var(--sw)),calc(52*var(--vh))) - 5*var(--sw))}
.cx.cx-hero-cue{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:2;display:flex;align-items:flex-end;height:calc(100*var(--vh) - var(--wp-admin--admin-bar--height,0px));margin:0;padding:0 0 calc(5*var(--vh)) 28px;pointer-events:none;animation:cx-hero-out linear both;animation-timeline:scroll(root);animation-range:0 22vh}
.cx.cx-hero-cue .elementor-heading-title{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.45)}
@keyframes cx-hero-in{from{opacity:0;translate:-48px 0;visibility:hidden}to{opacity:1;translate:0 0;visibility:visible}}
@keyframes cx-hero-out{to{opacity:0;translate:0 14px}}
}}}

/* escritorio: portada sin borde naranja alrededor del video */
@media (min-width:768px){
.cx.cx-hero-arch{background:transparent}
.cx.cx-hero-media{clip-path:inset(0 round var(--rx))}
}
/*=== 7.2-hero-mobile ===*/
/* HERO movil: el video ocupa casi toda la pantalla; al hacer scroll se encoge hasta su tamano de siempre y entra el titular.
   Solo con scroll-driven animations y movimiento permitido; si no, queda la composicion clasica. */
@media (max-width:767px){@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:scroll()){
.cx.cx-hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;align-content:start;align-items:start;height:calc(190*var(--vh));min-height:0;padding:0 var(--gut);row-gap:0;column-gap:0;--g:calc(var(--gut) - 12px)}
.cx.cx-hero>*{grid-area:1/1;align-self:start}
.cx.cx-hero-arch{--hw:min(calc(66*var(--vw)),calc(34.5*var(--vh)));--fh:calc(var(--hw)*203/175);--ab:var(--wp-admin--admin-bar--height,0px);--st:calc(100*var(--vh) - var(--ab) - var(--hdr) - 12px);position:sticky;top:calc(var(--hdr) + var(--ab));z-index:1;justify-self:start;width:calc(100% + 2*var(--g));height:var(--st);aspect-ratio:auto;margin:0 0 0 calc(-1*var(--g));animation:cx-hero-shrink-m cubic-bezier(.65,0,.35,1) both;animation-timeline:scroll(root);animation-range:0 70vh}
@keyframes cx-hero-shrink-m{to{width:var(--hw);height:var(--fh);margin-left:calc(2*var(--vw));margin-bottom:calc(var(--st) + 12px - var(--fh) - 2.2*var(--vh));top:calc(var(--hdr) + var(--ab) + 2.2*var(--vh))}}
.cx.cx-hero-media{container-type:size;clip-path:inset(12px round calc(var(--rx) - 3px))}
.cx-hero .cx-hero-video .elementor-wrapper iframe{position:absolute;left:50%;top:50%;width:max(100cqw,calc(100cqh*16/9))!important;height:max(100cqh,calc(100cqw*9/16))!important;max-width:none!important;transform:translate(-50%,-50%);border:0}
.cx.cx-hero-txt{--hw:min(calc(66*var(--vw)),calc(34.5*var(--vh)));--fh:calc(var(--hw)*203/175);position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:2;display:flex;flex-direction:column;justify-content:flex-start;height:calc(100*var(--vh) - var(--wp-admin--admin-bar--height,0px));margin:0;padding:calc(var(--hdr) + 5.6*var(--vh) + var(--fh)) 0 0;opacity:0;visibility:hidden;animation:cx-hero-in-m linear both;animation-timeline:scroll(root);animation-range:50vh 88vh}
.cx.cx-hero-cue{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:2;display:flex;align-items:flex-end;height:calc(100*var(--vh) - var(--wp-admin--admin-bar--height,0px));margin:0;padding:0 0 calc(4*var(--vh)) 12px;pointer-events:none;animation:cx-hero-out-m linear both;animation-timeline:scroll(root);animation-range:0 18vh}
.cx.cx-hero-cue .elementor-heading-title{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.45)}
@keyframes cx-hero-in-m{from{opacity:0;translate:0 28px;visibility:hidden}to{opacity:1;translate:0 0;visibility:visible}}
@keyframes cx-hero-out-m{to{opacity:0;translate:0 14px}}
}}}

/* portada sin borde naranja alrededor del video en todos los dispositivos */
.cx.cx-hero-arch{background:transparent}
.cx.cx-hero-media{clip-path:inset(0 round var(--rx))}
/*=== 7.3-manifesto-mobile ===*/
/* manifiesto en movil: mas recorrido de scroll para que se lea cada frase. Escritorio no cambia */
@media (max-width:767px){.cx-motion .cx.cx-manifesto{height:calc(var(--cx-steps,4)*115*var(--vh))}}
/* manifiesto en movil: todo centrado y rotulos en dos lineas bajo cada punto */
@media (max-width:767px){
.cx.cx-manifesto-stick{text-align:center}
.cx.cx-manifesto-fig{margin-left:auto!important;margin-right:auto!important}
.cx.cx-manifesto-line,.cx.cx-manifesto-line .elementor-heading-title{text-align:center}
.cx-motion .cx.cx-manifesto-line{margin-left:auto!important;margin-right:auto!important;max-width:calc(100% - 4*var(--vw))}
.cx-motion .cx.cx-manifesto-labs{height:auto;min-height:22px;margin-left:auto!important;margin-right:auto!important}
.cx.cx-manifesto-labs .elementor-icon-list-items{justify-content:center;align-items:flex-start}
.cx-motion .cx.cx-manifesto-labs .elementor-icon-list-item{white-space:normal;align-items:flex-start;text-align:center}
.cx.cx-manifesto-labs .elementor-icon-list-text{display:block;max-width:5.6em;margin-inline:auto;text-align:center;text-wrap:balance;line-height:1.15}
.cx-motion .cx.cx-manifesto-steps{height:calc(78px + 4*var(--vh) + 42*var(--vw))}
}

/* movil: tambien se ve la frase final del manifiesto (Estrategia, diseno, web...) */
@media (max-width:767px){
.cx.cx-manifesto-txt{display:block!important;max-width:calc(100% - 8*var(--vw));margin-left:auto!important;margin-right:auto!important;text-align:center}
.cx.cx-manifesto-txt,.cx.cx-manifesto-txt p{font-size:15px;line-height:1.45}
}
/*=== 7.4-services-links ===*/
/* tarjetas de servicios: la lista que describe cada servicio queda algo por debajo de la mitad de la tarjeta */
@media (max-width:767px){
.cx.cx-service-title{order:-2}
.cx.cx-service-links{order:-1;margin-top:calc(15*var(--vh));margin-bottom:calc(1*var(--vh))}
}
@media (min-width:768px){
.cx.cx-service-links{grid-row:1/3;align-self:center;margin-top:0;position:relative;top:calc(9*var(--vh))}
}
/*=== 7.5-realestate ===*/
/* comparador plano/render: los botones PLANO / RENDER centrados justo debajo de la imagen */
.cx.cx-ba-tools{display:flex!important;justify-content:center;margin-top:calc(2.4*var(--vh))!important}
.cx-ba-tools .cx-seg{margin-inline:auto}
/*=== 8-accessibility ===*/
.cx :focus-visible,.cx:focus-visible,button.cx-b:focus-visible{outline:2.5px solid var(--focus,var(--tinta));outline-offset:3px;border-radius:6px}
.cx-t-dark,.cx-th-dark{--focus:var(--ambar)}
.cx-t-amber{--focus:var(--tinta)}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'DM Sans';
	font-display: auto;
	src: url('https://conectaagencia.com/wp-content/uploads/2026/10/dm-sans-variable-latin.woff2') format('woff2');
}
/* End Custom Fonts CSS */