.cp-section{padding:90px 0;color:#fff;font-family:"IBM Plex Sans",sans-serif}
.cp-wrap{max-width:1320px;margin:0 auto;padding:0 45px}
.cp-head{text-align:center;margin-bottom:70px}
.cp-sub{margin:0 0 14px;font-size:18px;font-weight:600;color:#c9c2f0;letter-spacing:.3px}
.cp-title{margin:0;font-size:53px;line-height:1.1;font-weight:700;color:#fff;text-transform:uppercase}
.cp-line{display:block;width:130px;height:2px;background:#1a73e8;margin:34px auto 28px}
.cp-text{margin:0 auto;max-width:1000px;font-size:16px;color:#fff}
.cp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;align-items:start}
.cp-card{position:relative;display:block;aspect-ratio:3/4;height:auto;margin:0!important;padding:0!important;overflow:hidden;background:#17055a;text-decoration:none!important;box-shadow:none!important}
.cp-card,.cp-card:hover,.cp-card:focus,.cp-card *{color:#fff!important}
.cp-card .cp-card__cat{color:#c9c2f0!important}
.cp-card__img,.cp-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cp-card__img img{transition:transform .5s ease}
.cp-card:hover .cp-card__img img{transform:scale(1.06)}
.cp-card__body{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 22px;background:linear-gradient(to top,rgba(20,4,80,.92),rgba(20,4,80,0))}
.cp-card__cat{display:block;font-size:13px;letter-spacing:.8px;text-transform:uppercase;color:#c9c2f0;margin-bottom:6px}
.cp-card__title{display:block;font-size:20px;font-weight:700;line-height:1.25}
.cp-more{text-align:center;margin:60px 0 0}
.cp-more a{color:#fff;font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.3px}
.cp-more a:hover{text-decoration:underline}
.cp-empty{grid-column:1/-1;text-align:center;opacity:.8}
/* listado */
.cp-page{padding:30px 0 90px;font-family:"IBM Plex Sans",sans-serif}
.cp-page .cp-wrap{max-width:1320px}
.cp-page h1{font-size:46px;font-weight:700;color:#21087E;text-align:center;margin:0 0 10px;text-transform:uppercase}
.cp-page .cp-intro{text-align:center;color:#555;margin:0 0 40px}
.cp-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px}
.cp-filters button{border:1.5px solid #21087E;background:#fff;color:#21087E;padding:9px 20px;border-radius:30px;font:600 14px "IBM Plex Sans",sans-serif;cursor:pointer;transition:.2s}
.cp-filters button:hover,.cp-filters button.is-active{background:#21087E;color:#fff}
.cp-card[hidden]{display:none}
/* ficha */
.cp-single{font-family:"IBM Plex Sans",sans-serif;color:#333}
.cp-hero{position:relative;background:#21087E;color:#fff;padding:70px 0 60px}
.cp-back{color:#c9c2f0;text-decoration:none;font-size:14px;text-transform:uppercase;letter-spacing:.5px}
.cp-hero h1{color:#fff;font-size:44px;margin:16px 0 0;line-height:1.15}
.cp-hero .cp-card__cat{margin-top:18px}
.cp-body{max-width:1320px;margin:0 auto;padding:60px 45px;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}
.cp-cover img{width:100%;height:auto;display:block}
.cp-data{margin:0 0 30px;padding:0;list-style:none;border-top:2px solid #21087E}
.cp-data li{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid #e3e0f2}
.cp-data b{flex:0 0 150px;color:#21087E;font-weight:600}
.cp-resena{font-size:17px;line-height:1.7}
.cp-gallery{max-width:1320px;margin:0 auto;padding:0 45px 90px}
.cp-gallery h2{color:#21087E;font-size:30px;margin:0 0 24px}
.cp-gallery .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cp-gallery a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:16px;box-shadow:0 4px 14px rgba(33,8,126,.12)}
.cp-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cp-gallery a:hover img{transform:scale(1.05)}
.cp-lightbox{position:fixed;inset:0;background:rgba(10,2,50,.93);z-index:99999;display:none;align-items:center;justify-content:center}
.cp-lightbox.is-open{display:flex}
.cp-lightbox img{max-width:90vw;max-height:88vh;border-radius:14px}
.cp-lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:44px;cursor:pointer;padding:10px 20px}
.cp-lightbox .x{top:10px;right:14px}.cp-lightbox .p{left:10px}.cp-lightbox .n{right:10px}
@media(max-width:1024px){.cp-grid{grid-template-columns:repeat(2,1fr)}.cp-body{grid-template-columns:1fr;gap:30px}.cp-gallery .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cp-wrap,.cp-body,.cp-gallery{padding-left:20px;padding-right:20px}.cp-title{font-size:38px}.cp-grid{gap:16px}.cp-card__title{font-size:16px}.cp-hero h1{font-size:32px}.cp-data li{flex-direction:column;gap:2px}.cp-gallery .grid{grid-template-columns:1fr}}
.cp-section--bare{padding:0}.cp-section--bare .cp-wrap{padding:0;max-width:none}

/* v1.1 */
.cp-pagehero{position:relative;min-height:380px;background:#21087E center/cover no-repeat;display:flex;align-items:flex-end}
.cp-pagehero:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,4,80,.75),rgba(20,4,80,.1))}
.cp-pagehero__in{position:relative;max-width:1320px;width:100%;margin:0 auto;padding:0 45px 40px}
.cp-pagehero h1{color:#fff;font-size:54px;margin:0;text-transform:uppercase;font-family:"IBM Plex Sans",sans-serif;font-weight:700}
.cp-page{padding-top:0}.cp-page .cp-intro{margin-top:40px}
.cp-hero--img{background:#21087E center/cover no-repeat;min-height:420px;display:flex;align-items:flex-end;padding:0 0 50px}
.cp-hero__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,4,80,.88),rgba(20,4,80,.25))}
.cp-hero--img .cp-wrap{position:relative;width:100%}
.cp-body--stack{grid-template-columns:1fr 1.4fr;gap:50px}
.cp-databox{background:#21087E;color:#fff;padding:34px 36px;border-radius:16px}
.cp-databox h2,.cp-desc h2{margin:0 0 18px;font-size:26px}
.cp-databox h2{color:#fff}.cp-desc h2{color:#21087E}
.cp-databox .cp-data{border-top:1px solid rgba(255,255,255,.35);margin:0}
.cp-databox .cp-data li{border-bottom:1px solid rgba(255,255,255,.2)}
.cp-databox .cp-data b{color:#c9c2f0}
.cp-tags em{font-style:normal;display:inline-block;background:rgba(255,255,255,.15);padding:3px 12px;border-radius:14px;margin:0 6px 6px 0;font-size:13px}
.cp-carousel__wrap{position:relative}
.cp-carousel__track.grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.cp-carousel__track.grid::-webkit-scrollbar{display:none}
.cp-carousel__track a{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start}
.cp-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:#21087E;color:#fff;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.cp-arrow--prev{left:-14px}.cp-arrow--next{right:-14px}
.cp-work{padding:80px 0;font-family:"IBM Plex Sans",sans-serif;background:#fff}
.cp-work .cp-head{margin-bottom:40px}.cp-work .cp-sub{color:#6b5fb0}
.cp-video{position:relative;max-width:1000px;margin:0 auto;aspect-ratio:16/9;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(33,8,126,.25)}
.cp-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:1024px){.cp-body--stack{grid-template-columns:1fr}.cp-carousel__track a{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:600px){.cp-carousel__track a{flex-basis:100%}.cp-pagehero h1{font-size:36px}.cp-pagehero__in{padding:0 20px 28px}.cp-arrow--prev{left:6px}.cp-arrow--next{right:6px}}

/* flechas del carrusel: círculo perfecto, a prueba de estilos del tema */
.cp-carousel .cp-arrow{box-sizing:border-box!important;width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;min-height:46px!important;max-height:46px!important;padding:0!important;margin:0!important;border-radius:50%!important;display:flex!important;align-items:center;justify-content:center;line-height:1!important;font-size:28px;text-indent:0;letter-spacing:0;aspect-ratio:1/1;flex:0 0 46px}
@media(max-width:600px){.cp-carousel .cp-arrow{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important}}

/* categorías */
.cp-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;font-family:"IBM Plex Sans",sans-serif}
.cp-cat{position:relative;display:block;min-height:320px;background:#21087E center/cover no-repeat;overflow:hidden;border-radius:16px;text-decoration:none!important;color:#fff!important}
.cp-cat__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,4,80,.92) 5%,rgba(20,4,80,.25) 70%);transition:background .3s}
.cp-cat:hover .cp-cat__shade{background:linear-gradient(to top,rgba(20,4,80,.97) 15%,rgba(20,4,80,.55))}
.cp-cat__body{position:absolute;left:0;right:0;bottom:0;padding:26px 28px;display:block}
.cp-cat__title{display:block;font-size:24px;font-weight:700;margin-bottom:8px;color:#fff}
.cp-cat__desc{display:block;font-size:15px;line-height:1.5;color:#e6e2fa;max-height:0;opacity:0;overflow:hidden;transition:max-height .35s,opacity .35s}
.cp-cat:hover .cp-cat__desc,.cp-cat:focus .cp-cat__desc{max-height:140px;opacity:1}
.cp-cat__more{display:block;margin-top:12px;font-size:13px;letter-spacing:.6px;text-transform:uppercase;color:#c9c2f0}
@media(hover:none){.cp-cat__desc{max-height:none;opacity:1}}
@media(max-width:1024px){.cp-cats{grid-template-columns:repeat(2,1fr)}}

/* v1.2.1: mosaico pegado, de a dos, sin bordes redondeados */
.cp-cats{grid-template-columns:repeat(2,1fr)!important;gap:0!important;align-items:stretch}
.cp-cat{border-radius:0!important;min-height:0!important;aspect-ratio:16/10;height:auto}
.cp-cat__body{padding:20px 22px}
.cp-cat__title{font-size:21px}
/* la columna izquierda de la sección acompaña la altura del mosaico */
.elementor-element-d183f25 > .e-con-inner{align-items:stretch}
.elementor-element-542e188{align-self:stretch}

/* v1.3.0: mobile */
@media(max-width:767px){
	/* sección de categorías: imagen grande arriba, mosaico 2 x N debajo */
	.elementor-element-d183f25 > .e-con-inner{flex-direction:column!important;height:auto!important;min-height:0!important}
	.elementor-element-542e188{width:100%!important;max-width:100%!important;min-height:300px!important;height:auto!important;justify-content:flex-end!important;background-size:cover!important;background-position:center!important}
	.elementor-element-4c93c99{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important}
	.elementor-element-4c93c99 .elementor-widget-shortcode,.elementor-element-4c93c99 .elementor-shortcode{width:100%}
	.cp-cats{grid-template-columns:repeat(2,1fr)!important;gap:0!important}
	.cp-cat{aspect-ratio:1/1!important}
	.cp-cat__body{padding:12px 12px}
	.cp-cat__title{font-size:15px;margin-bottom:4px}
	.cp-cat__desc{display:none}
	.cp-cat__more{font-size:11px;margin-top:6px}
	/* destacados: 2 x 2 */
	.cp-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
	.cp-card__body{padding:34px 12px 12px}
	.cp-card__title{font-size:14px!important}
	.cp-card__cat{font-size:10px}
	.cp-section{padding:50px 0}
	.cp-title{font-size:34px}
	.cp-more{margin-top:34px}
	/* listado */
	.cp-filters{gap:8px}.cp-filters button{padding:8px 14px;font-size:13px}
	.cp-pagehero{min-height:240px}
	/* ficha */
	.cp-hero--img{min-height:300px;padding-bottom:30px}
	.cp-body{padding:36px 20px;gap:28px}
	.cp-databox{padding:24px 22px}
	.cp-work{padding:50px 0}
	.cp-video{border-radius:10px}
}

/* v1.3.1: ficha mobile */
@media(max-width:767px){
	.cp-data li{flex-direction:column;gap:2px;padding:10px 0}
	.cp-data b{flex:0 0 auto!important}
	.cp-databox h2,.cp-desc h2{font-size:22px}
}

/* carrusel: deslizable con el dedo */
.cp-carousel__track{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.cp-carousel__track img{-webkit-user-drag:none;user-select:none}
.cp-lightbox{touch-action:pan-y}

/* v1.4.0: franjas */
.cp-band{padding:90px 0;font-family:"IBM Plex Sans",sans-serif}
.cp-band--light{background:#F4F2FC;color:#444}
.cp-band--dark{background:#21087E;color:#fff}
.cp-title--dark{color:#21087E}
.cp-text--dark{color:#444}
.cp-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.cp-chain__item{padding:18px 26px 8px;border-top:3px solid #1a73e8}
.cp-chain__item h3{margin:0 0 10px;font-size:19px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#21087E}
.cp-chain__item p{margin:0;font-size:15px;line-height:1.6;color:#444}
.cp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.cp-steps__item{padding:10px 30px 10px;border-left:1px solid rgba(255,255,255,.22)}
.cp-steps__item:first-child{border-left:0;padding-left:0}
.cp-steps__num{display:block;font-size:54px;font-weight:700;line-height:1;color:#7A6BF0;margin-bottom:14px}
.cp-steps__item h3{margin:0 0 12px;font-size:21px;font-weight:700;line-height:1.25;color:#fff}
.cp-steps__item p{margin:0;font-size:15px;line-height:1.65;color:#E6E2FA}
@media(max-width:1024px){
	.cp-chain{grid-template-columns:repeat(2,1fr);gap:24px 0}
	.cp-steps{grid-template-columns:repeat(2,1fr);gap:36px 0}
	.cp-steps__item:nth-child(odd){border-left:0;padding-left:0}
}
@media(max-width:600px){
	.cp-band{padding:50px 0}
	.cp-chain{grid-template-columns:1fr}
	.cp-chain__item{padding:16px 0 6px}
	.cp-steps{grid-template-columns:1fr;gap:28px}
	.cp-steps__item{border-left:0;padding:0 0 24px;border-bottom:1px solid rgba(255,255,255,.2)}
	.cp-steps__item:last-child{border-bottom:0}
	.cp-steps__num{font-size:42px}
}

/* v1.5.0 */
.cp-cat__bg{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity .7s ease,transform 4s ease}
.cp-cat__bg.is-on{opacity:1}
.cp-cat:hover .cp-cat__bg.is-on{transform:scale(1.05)}
.cp-catdesc{max-width:900px;margin:-10px auto 36px;text-align:center;font-size:18px;line-height:1.6;color:#444;padding:0 10px}
.cp-catdesc[hidden]{display:none}
.cp-carousel__track a.is-video{position:relative;background:#000}
.cp-carousel__track a.is-video img{opacity:.85}
.cp-play{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:#21087E;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.4);transition:transform .2s}
.cp-carousel__track a.is-video:hover .cp-play{transform:scale(1.12)}
.cp-yt{display:flex;align-items:center;gap:18px;max-width:1000px;margin:34px auto 0;padding:18px 26px;background:#21087E;color:#fff!important;border-radius:16px;text-decoration:none!important;box-shadow:0 8px 26px rgba(33,8,126,.28);transition:transform .25s,box-shadow .25s}
.cp-yt:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(33,8,126,.38)}
.cp-yt__play{position:relative;flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:#ff0033;display:flex;align-items:center;justify-content:center;color:#fff}
.cp-yt__play:before,.cp-yt__play:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #ff0033;animation:cpPulse 2s ease-out infinite}
.cp-yt__play:after{animation-delay:1s}
@keyframes cpPulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.9);opacity:0}}
.cp-yt__txt{flex:1;display:flex;flex-direction:column;gap:2px}
.cp-yt__txt strong{font-size:19px;color:#fff}
.cp-yt__txt small{font-size:14px;color:#c9c2f0}
.cp-yt__go{flex:0 0 auto;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:13px;border:2px solid #fff;border-radius:30px;padding:9px 20px;color:#fff}
.cp-yt:hover .cp-yt__go{background:#fff;color:#21087E}
@media(max-width:600px){.cp-yt{flex-wrap:wrap;padding:16px;gap:12px}.cp-yt__txt{flex-basis:calc(100% - 70px)}.cp-yt__go{margin-left:64px}.cp-play{width:54px;height:54px;margin:-27px 0 0 -27px}.cp-catdesc{font-size:16px}}
@media (prefers-reduced-motion:reduce){.cp-yt__play:before,.cp-yt__play:after{animation:none}}

/* v1.5.2: línea de cada eslabón en el azul de los titulares */
.cp-chain__item{border-top-color:#21087E!important}

/* v1.6.1: fondo fijo (collage claro) con velo azul para que el título se lea */
.cp-pagehero--fixed{min-height:420px;background-position:center}
.cp-pagehero--fixed:before{background:linear-gradient(to top,rgba(33,8,126,.88) 0%,rgba(33,8,126,.55) 45%,rgba(33,8,126,.25) 100%)}
@media(max-width:767px){.cp-pagehero--fixed{min-height:280px}}

/* v1.6.3: video de presentación en táctiles */
.cp-herovid__player,.cp-herovid__player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cp-herovid__play{position:absolute;inset:0;z-index:3;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(33,8,126,.45);color:#fff;border:0;cursor:pointer;font:600 15px "IBM Plex Sans",sans-serif}
.cp-herovid__play[hidden]{display:none}
.cp-herovid__play svg{width:68px;height:68px;padding:16px;border-radius:50%;background:#21087E;box-shadow:0 4px 16px rgba(0,0,0,.4)}

/* v1.6.9: alto de las tarjetas por relleno (aspect-ratio dentro de flex calculaba mal el alto de la sección) */
.cp-card{aspect-ratio:auto!important;height:0!important;padding-bottom:133.333%!important}
.cp-cat{aspect-ratio:auto!important;height:0!important;padding-bottom:62.5%!important}
@media(max-width:767px){.cp-cat{padding-bottom:100%!important}}
