/* ==========================================================================
   Diseño de Figma (octubre de 2026): tema claro, cabecera, pie y componentes

   Figma: "Cloudimpulsion" (páginas Homepage, Sobre nosotros, Nuestra filosofía,
   Porqué Cloud, Soporte, Formaciones, FUNDAE y Proyecto Baqueira), en un lienzo
   de 1280 px con 48 px de margen: el contenido mide 1184 px.

   Las páginas nuevas se montan con scripts/migraciones/lib/marca.php: secciones
   de Elementor con la clase ci-sec y, dentro, bloques de texto con estas clases.
   Se carga la última (después de diseno.css): manda sobre el resto.
   ========================================================================== */

:root {
	--ci-naranja: #FF6700;
	--ci-naranja-hover: #E05A00;
	--ci-naranja-oscuro: #A23F00;   /* menú activo y enlaces sobre blanco */
	--ci-naranja-borde: #FFC299;    /* borde de las tarjetas claras */
	--ci-naranja-suave: #FFF0E6;    /* fondo del círculo de los desplegables */
	--ci-fondo: #FAFAFA;
	--ci-blanco: #FFFFFF;
	--ci-negro: #000000;
	--ci-titulo: #1B1C1C;
	--ci-texto: #303030;
	--ci-texto-suave: #5F5E5E;
	--ci-gris: #757575;
	--ci-gris-chip: #C8C8C8;
	--ci-oscuro: #303030;
	--ci-oscuro-2: #2D2E30;
	--ci-sombra: 0 10px 30px rgba(0, 0, 0, .08);
	--ci-sombra-suave: 0 4px 20px rgba(0, 0, 0, .06);
	--ci-sombra-naranja: 0 8px 18px -4px rgba(255, 103, 0, .45);
	--ci-ancho: 1184px;
	--ci-margen: 48px;
	--ci-seccion: 96px;

	/* Variables de navegacion.css y componentes.css en el tema claro */
	--ci-nav-texto: var(--ci-titulo);
	--ci-nav-texto-suave: var(--ci-texto-suave);
	--ci-nav-panel: var(--ci-blanco);
	--ci-nav-linea: rgba(27, 28, 28, .1);
	--ci-fondo-oscuro: var(--ci-oscuro);
	--ci-fondo-oscuro-alt: var(--ci-oscuro);
	--ci-ancho-contenido: var(--ci-ancho);
}

/* ==========================================================================
   1. Base
   ========================================================================== */
/* "html body": el reset de Hello Elementor (style.min.css) se carga después y pondría la fuente del sistema,
   #333 y fondo blanco en las plantillas que no son de Elementor (casos de éxito) */
html body {
	background-color: var(--ci-fondo);
	color: var(--ci-texto);
	font-family: var(--ci-fuente-texto);
}
/* El mismo reset raya las filas impares de todas las tablas */
html body table tbody > tr:nth-child(odd) > :is(td, th) {
	background-color: transparent;
}
html body .ci-tabla-csm table tbody > tr > :is(td, th) {
	background-color: var(--ci-blanco);
}
.ci-naranja {
	color: var(--ci-naranja);
}
/* El reset del tema pone un contorno a los botones al pulsarlos con el ratón: solo con el teclado (style.css) */
:is(button, a, [type="button"]):focus:not(:focus-visible) {
	outline: none;
}
.ci-icono--relleno {
	font-variation-settings: "FILL" 1;
}

/* Secciones de las páginas nuevas: ancho de 1184 px y aire arriba y abajo */
.e-con.ci-sec {
	--content-width: min(100%, var(--ci-ancho));
	--padding-top: var(--ci-seccion);
	--padding-bottom: var(--ci-seccion);
	--padding-left: var(--ci-margen);
	--padding-right: var(--ci-margen);
	--gap: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--widgets-spacing: 0px;
	--widgets-spacing-row: 0px;
	--widgets-spacing-column: 0px;
	background-color: var(--ci-fondo);
}
.e-con.ci-sec--blanca {
	background-color: var(--ci-blanco);
}
.e-con.ci-sec--oscura {
	background-color: var(--ci-oscuro);
	color: var(--ci-blanco);
}
.e-con.ci-sec--pegada-arriba {
	--padding-top: 0px;
}
.e-con.ci-sec--pegada-abajo {
	--padding-bottom: 0px;
}
.e-con.ci-sec--sin-margen {
	--padding-left: 0px;
	--padding-right: 0px;
	--content-width: 100%;
}
.ci-sec .elementor-widget-text-editor {
	color: inherit;
	line-height: inherit;
}
.ci-sec .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   2. Botones: píldora con la flecha en un círculo
   ========================================================================== */
.ci-acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 36px;
	margin: 0;
}
.ci-acciones--centro {
	justify-content: center;
}
body a.ci-boton,
.ci-boton.elementor-button,
.elementor-widget-button.ci-boton .elementor-button {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 8px 8px 8px 24px;
	border: 0;
	border-radius: 9999px;
	background: var(--ci-naranja);
	box-shadow: var(--ci-sombra-naranja);
	color: var(--ci-blanco);
	font-family: var(--ci-fuente-texto);
	font-size: 18px;
	font-weight: 700;
	line-height: 20px;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .2s, transform .2s, box-shadow .2s;
}
body a.ci-boton::after,
.elementor-widget-button.ci-boton .elementor-button::after {
	content: "arrow_forward";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .2);
	font-family: "Material Symbols Outlined";
	font-size: 16px;
	font-weight: 400;
	font-feature-settings: "liga";
	-webkit-font-smoothing: antialiased;
	transition: transform .2s;
}
body a.ci-boton:hover,
body a.ci-boton:focus-visible,
.elementor-widget-button.ci-boton .elementor-button:hover {
	background: var(--ci-naranja-hover);
	color: var(--ci-blanco);
	transform: translateY(-1px);
}
body a.ci-boton:hover::after,
.elementor-widget-button.ci-boton .elementor-button:hover::after {
	transform: translateX(2px);
}
body a.ci-boton--gris,
.elementor-widget-button.ci-boton--gris .elementor-button {
	background: var(--ci-gris);
	box-shadow: none;
}
body a.ci-boton--gris:hover,
body a.ci-boton--gris:focus-visible,
.elementor-widget-button.ci-boton--gris .elementor-button:hover {
	background: #5F5F5F;
}
body a.ci-boton--pequeno,
.elementor-widget-button.ci-boton--pequeno .elementor-button {
	min-height: 40px;
	padding: 4px 4px 4px 20px;
	font-size: 15px;
}
body a.ci-boton--pequeno::after,
.elementor-widget-button.ci-boton--pequeno .elementor-button::after {
	width: 32px;
	height: 32px;
}
.elementor-widget-button.ci-boton .elementor-button-content-wrapper {
	gap: 0;
}

/* Círculo naranja con flecha (tarjetas) */
.ci-flecha {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--ci-naranja);
	color: var(--ci-blanco);
	font-size: 16px;
}
.ci-flecha::before {
	content: "arrow_forward";
	font-family: "Material Symbols Outlined";
	font-feature-settings: "liga";
}
.ci-flecha--gris {
	background: rgba(255, 255, 255, .25);
}

/* ==========================================================================
   3. Títulos
   ========================================================================== */
/* :where() no suma especificidad: cualquier clase de componente manda sobre esto */
.ci-sec :where(h1, h2, h3, h4) {
	margin: 0;
	color: inherit;
}
/* Título de sección con el asterisco naranja a la izquierda */
.ci-titulo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 32px;
	margin: 0;
	color: var(--ci-titulo);
	font-family: var(--ci-fuente-titulos);
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -1.2px;
	text-align: center;
}
.ci-titulo::before {
	content: "";
	flex: none;
	width: 45px;
	height: 45px;
	background: url("../img/asterisco.svg") center / contain no-repeat;
}
.ci-titulo--izquierda {
	justify-content: flex-start;
	text-align: left;
}
.ci-titulo--sin-icono::before {
	display: none;
}
.ci-sec--oscura .ci-titulo {
	color: var(--ci-blanco);
}
.ci-titulo em,
.ci-titulo__naranja {
	color: var(--ci-naranja);
	font-style: normal;
}
/* Entradilla bajo el título de sección */
.ci-entradilla {
	max-width: 1010px;
	margin: 56px auto 0;
	color: var(--ci-texto);
	font-size: 24px;
	line-height: 1.1;
	text-align: center;
}
.ci-entradilla--normal {
	font-size: 16px;
	line-height: 1.5;
}

/* ==========================================================================
   4. Cabecera y menú
   ========================================================================== */
.e-con.ci-cabecera {
	--content-width: min(100%, var(--ci-ancho));
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: var(--ci-margen);
	--padding-right: var(--ci-margen);
	--min-height: 96px;
	--gap: 24px;
	--column-gap: 24px;
	--flex-direction: row;
	--align-items: center;
	--justify-content: space-between;
	background: rgba(251, 249, 249, .97);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .05);
}
.ci-cabecera > .e-con-inner {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.ci-cabecera .elementor-widget-theme-site-logo,
.ci-cabecera .ci-cabecera__logo {
	flex: none;
	width: 170px;
}
body .ci-cabecera .ci-cabecera__logo img {
	display: block;
	width: 170px;
	height: auto;
}
.ci-cabecera .ci-menu-widget {
	flex: 1 1 auto;
	width: auto;
}
.ci-cabecera .elementor-widget-button {
	flex: none;
}
.ci-cabecera .elementor-widget-button.ci-boton .elementor-button {
	min-height: 48px;
	padding: 8px 8px 8px 24px;
	font-size: 14px;
	line-height: 20px;
}

/* Elementos del menú: sin flecha, el activo en naranja oscuro y subrayado */
.ci-menu .ci-nav__lista {
	gap: 32px;
}
.ci-menu .ci-nav__boton {
	min-height: 96px;
	padding: 0;
	border-bottom: 0;
	color: var(--ci-negro);
	font-size: 14px;
	font-weight: 500;
	position: relative;
}
.ci-menu .ci-nav__boton .ci-nav__flecha {
	display: none;
}
.ci-menu .ci-nav__boton::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: calc(50% + 13px);
	height: 2px;
	background: var(--ci-naranja);
	transform: scaleX(0);
	transition: transform .2s;
}
.ci-menu .ci-nav__boton:hover,
.ci-menu .ci-nav__boton:focus,
.ci-menu .ci-nav__item.esta-abierto > .ci-nav__boton,
.ci-menu .ci-nav__item.es-actual > .ci-nav__boton {
	border-bottom: 0;
	color: var(--ci-naranja-oscuro);
}
.ci-menu .ci-nav__item.esta-abierto > .ci-nav__boton::after,
.ci-menu .ci-nav__item.es-actual > .ci-nav__boton::after,
.ci-menu .ci-nav__boton:hover::after {
	transform: none;
}

/* Panel del mega-menú en blanco */
.ci-menu .ci-nav__panel {
	border-top: 1px solid var(--ci-nav-linea);
	box-shadow: 0 24px 40px rgba(0, 0, 0, .1);
}
.ci-menu .ci-nav__intro-titulo {
	font-weight: 600;
}
.ci-menu .ci-nav__grupo {
	border-color: var(--ci-nav-linea);
	background: var(--ci-fondo);
}
.ci-menu .ci-nav__grupo.ci-servicios {
	border-color: var(--ci-naranja-borde);
	background: #FFF8F3;
}
.ci-menu a.ci-nav__enlace:hover,
.ci-menu a.ci-nav__enlace:focus-visible {
	background: rgba(255, 103, 0, .08);
}
.ci-menu .ci-nav__grupo-todos {
	color: var(--ci-naranja-oscuro);
}
.ci-menu .ci-nav__abrir,
.ci-menu .ci-nav__abrir:hover,
.ci-menu .ci-nav__abrir:focus {
	color: var(--ci-titulo);
}
.ci-menu .ci-nav__abrir:hover {
	background: rgba(0, 0, 0, .05);
}
@media (max-width: 1280px) {
	.ci-menu .ci-nav__lista {
		gap: 22px;
	}
}

/* Panel lateral del móvil */
.ci-movil .ci-movil__panel {
	background: var(--ci-blanco);
}
.ci-movil .ci-movil__cerrar:hover,
.ci-movil .ci-movil__cerrar:focus {
	background: rgba(0, 0, 0, .05);
}
.ci-movil a.ci-boton--contorno.elementor-button {
	border-color: var(--ci-gris);
	background: transparent;
	color: var(--ci-titulo);
}
.ci-movil a.ci-boton--contorno.elementor-button:hover {
	border-color: var(--ci-naranja);
	background: var(--ci-naranja-suave);
	color: var(--ci-titulo);
}

/* ==========================================================================
   5. Migas de pan: en mayúsculas, sobre el título de la página
   ========================================================================== */
.ci-migas {
	box-sizing: content-box;
	max-width: var(--ci-ancho);
	padding: 56px var(--ci-margen) 0;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 16px;
	text-transform: uppercase;
}
.ci-migas ol {
	gap: 10px;
}
.ci-migas li,
.ci-migas li a {
	color: var(--ci-texto-suave);
}
.ci-migas li a {
	text-decoration: none;
}
.ci-migas li a:hover {
	color: var(--ci-naranja);
	text-decoration: underline;
}
.ci-migas li + li::before {
	content: "chevron_right";
	margin-right: 10px;
	color: var(--ci-texto-suave);
	font-family: "Material Symbols Outlined";
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
	font-feature-settings: "liga";
}
.ci-migas li [aria-current] {
	color: var(--ci-titulo);
	font-weight: 600;
}
/* Páginas con cabecera a sangre (fotografía): las migas se ocultan visualmente */
body.ci-sin-migas .ci-migas {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	padding: 0;
}

/* ==========================================================================
   6. Portada y "Quiénes somos": chips, título, subtítulo naranja y botones
   ========================================================================== */
.ci-portada {
	text-align: center;
}
.ci-chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body a.ci-chip,
body .ci-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 56px;
	padding: 0 22px 0 20px;
	border: 4px solid var(--ci-naranja);
	border-radius: 9999px;
	color: var(--ci-negro);
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
	transition: background-color .2s;
}
body a.ci-chip:hover {
	background: var(--ci-naranja-suave);
	color: var(--ci-negro);
}
body .ci-chip img {
	width: 28px;
	height: 28px;
	object-fit: contain;
}
.ci-portada__titulo,
.ci-servicio__titulo {
	margin: 28px auto 0;
	color: var(--ci-negro);
	font-family: var(--ci-fuente-titulos);
	font-size: 70px;
	font-weight: 600;
	line-height: 1.14;
	letter-spacing: -.069em;
}
.ci-portada__titulo {
	max-width: 760px;
}
.ci-portada__subtitulo {
	margin: 36px 0 0;
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-titulos);
	font-size: 40px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.12em;
}
.ci-portada__texto {
	max-width: 841px;
	margin: 44px auto 0;
	color: var(--ci-texto);
	font-size: 20px;
	line-height: 32.5px;
}
.ci-portada__texto strong {
	color: var(--ci-naranja);
	font-weight: 600;
}
.ci-portada .ci-acciones {
	justify-content: center;
	margin-top: 40px;
}
.e-con.ci-sec--portada {
	--padding-top: 78px;
	--padding-bottom: 144px;
}

/* ==========================================================================
   7. Cifras
   ========================================================================== */
/* Sobre una fotografía a todo el ancho */
.e-con.ci-sec--cifras-foto {
	--padding-top: 300px;
	--padding-bottom: 57px;
	background: var(--ci-oscuro) var(--ci-foto, none) center 35% / cover no-repeat;
}
.ci-cifras {
	display: grid;
	grid-template-columns: repeat(4, 240px);
	justify-content: center;
	gap: 31px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ci-cifras li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 190px;
	padding: 16px 20px;
	border: 3px solid var(--ci-blanco);
	border-radius: 30px;
	background: rgba(0, 0, 0, .08);
	color: var(--ci-blanco);
	text-align: center;
}
.ci-cifras strong {
	display: block;
	font-family: var(--ci-fuente-texto);
	font-size: 72px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.06em;
}
.ci-cifras span {
	display: block;
	margin-top: 22px;
	font-size: 16px;
	line-height: 26px;
}
/* Versión en bloque oscuro con bordes naranjas (Sobre nosotros, Porqué Cloud) */
.ci-cifras--naranja {
	grid-template-columns: repeat(2, 236px);
	gap: 27px 31px;
}
.ci-cifras--naranja li {
	border: 3px solid var(--ci-naranja);
	background: transparent;
}
.ci-cifras--naranja strong {
	color: var(--ci-naranja);
}
.ci-cifras-foto {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 45%;
	align-items: stretch;
	overflow: hidden;
	background: var(--ci-oscuro);
}
.ci-cifras-foto .ci-cifras {
	align-content: center;
	justify-content: start;
	padding: 58px 40px 58px max(88px, calc((100vw - 1104px) / 2));
}
body .ci-cifras-foto img {
	width: 100%;
	height: 100%;
	min-height: 430px;
	border-top-left-radius: 40px;
	object-fit: cover;
}

/* ==========================================================================
   8. Tarjetas de producto (portada)
   ========================================================================== */
.ci-productos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 45px;
	margin: 90px 0 0;
	padding: 0;
	list-style: none;
}
.ci-producto {
	display: flex;
	flex-direction: column;
	padding: 0 20px 28px;
	border-radius: 24px;
	background: var(--ci-fondo);
	box-shadow: var(--ci-sombra);
}
.ci-producto__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 210px;
}
body .ci-producto__logo img {
	width: 170px;
	height: 170px;
	object-fit: contain;
}
.ci-producto h3 {
	margin: 14px 0 0;
	color: var(--ci-negro);
	font-family: var(--ci-fuente-titulos);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .02em;
}
.ci-producto p {
	flex: 1;
	margin: 18px 0 16px;
	color: var(--ci-negro);
	font-size: 14px;
	line-height: 17px;
}
.ci-producto .ci-boton {
	align-self: flex-start;
	font-size: 18px;
}

/* ==========================================================================
   9. Casos de éxito en carrusel ([ci_casos_carrusel])
   ========================================================================== */
.ci-casos-cabecera {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 100px;
}
.ci-casos-cabecera .ci-titulo {
	justify-content: flex-start;
}
.ci-carrusel {
	margin-top: 48px;
}
/* Como en Figma, las tarjetas salen hasta el borde derecho de la ventana (en pantallas anchas también) */
.e-con.ci-sec:has(.ci-carrusel) {
	overflow-x: clip;
}
.ci-carrusel__pista {
	--ci-sangrado: max(var(--ci-margen), calc((100vw - var(--ci-ancho)) / 2));
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 511px;
	gap: 29px;
	margin: 0 calc(var(--ci-sangrado) * -1) 0 calc(var(--ci-margen) * -1);
	padding: 0 var(--ci-sangrado) 30px var(--ci-margen);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--ci-margen);
	scrollbar-width: none;
	list-style: none;
}
.ci-carrusel__pista::-webkit-scrollbar {
	display: none;
}
.ci-caso-carta {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 24px;
	background: var(--ci-fondo);
	box-shadow: var(--ci-sombra);
	scroll-snap-align: start;
}
.ci-caso-carta__foto {
	position: relative;
	height: 241px;
	overflow: hidden;
	background: var(--ci-oscuro);
}
body .ci-carrusel .ci-caso-carta__foto > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ci-caso-carta__logo {
	position: absolute;
	top: 16px;
	left: 14px;
	display: flex;
	align-items: center;
	height: 50px;
	padding: 6px 14px;
	border-radius: 12px;
	background: var(--ci-blanco);
}
body .ci-carrusel .ci-caso-carta__logo img {
	width: auto;
	max-width: 200px;
	height: 34px;
	object-fit: contain;
}
.ci-caso-carta__cuerpo {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 20px 20px 20px 19px;
}
.ci-caso-carta__titulo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-titulos);
	font-size: 23px;
	font-weight: 600;
	line-height: 1.2;
}
body .ci-caso-carta__titulo a {
	color: inherit;
	text-decoration: none;
}
.ci-caso-carta__titulo a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.ci-caso-carta__texto {
	flex: 1;
	margin: 18px 0 16px;
	color: var(--ci-negro);
	font-size: 14px;
	line-height: 17px;
}
.ci-caso-carta__chips {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ci-caso-carta__chips li {
	padding: 9px 16px;
	border-radius: 9999px;
	background: var(--ci-gris-chip);
	color: var(--ci-blanco);
	font-size: 14px;
	line-height: 1;
}
.ci-caso-carta:hover .ci-flecha {
	background: var(--ci-naranja-hover);
}
/* Listado /casos-de-exito/ (plantillas/casos-de-exito.php): las mismas tarjetas en rejilla de tres */
.ci-casos-n__cabecera {
	max-width: var(--ci-ancho);
	margin: 0 auto;
	padding: 40px var(--ci-margen) 64px;
	box-sizing: content-box;
}
.ci-casos-n__cuerpo {
	max-width: var(--ci-ancho);
	margin: 0 auto;
	padding: 0 var(--ci-margen) 96px;
	box-sizing: content-box;
}
.ci-casos-n__lista {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 29px;
	margin: 48px 0 0;
	padding: 0;
	list-style: none;
}
.ci-casos-n__lista > li[hidden] {
	display: none;
}
.ci-casos-n .ci-caso-carta__foto {
	height: 210px;
	overflow: hidden;
}
body .ci-casos-n .ci-caso-carta__foto > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body .ci-casos-n .ci-caso-carta__logo img {
	width: auto;
	max-width: 180px;
	height: 34px;
	object-fit: contain;
}
.ci-casos-n .ci-caso-carta__chips {
	flex-wrap: wrap;
}
/* Filtro en chips: el elegido, relleno en naranja */
.ci-filtro {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}
body button.ci-filtro__boton {
	height: 44px;
	padding: 0 20px;
	border: 2px solid var(--ci-naranja);
	border-radius: 9999px;
	background: transparent;
	color: var(--ci-negro);
	font-family: var(--ci-fuente-texto);
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
body button.ci-filtro__boton:hover,
body button.ci-filtro__boton:focus {
	background: var(--ci-naranja-suave);
	color: var(--ci-negro);
}
body button.ci-filtro__boton[aria-pressed="true"] {
	background: var(--ci-naranja);
	color: var(--ci-blanco);
}
@media (max-width: 1024px) {
	.ci-casos-n__lista {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	.ci-casos-n__lista {
		grid-template-columns: minmax(0, 1fr);
	}
}
.ci-carrusel__puntos {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}
.ci-carrusel__puntos button {
	width: 14px;
	height: 14px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #D9D9D9;
	cursor: pointer;
}
.ci-carrusel__puntos button[aria-current="true"] {
	background: var(--ci-naranja);
}

/* ==========================================================================
   10. Opiniones de Google (Trustindex) en banda oscura
   ========================================================================== */
.e-con.ci-sec--opiniones {
	--padding-top: 10px;
	--padding-bottom: 14px;
	--padding-left: 0px;
	--padding-right: 0px;
	--content-width: 100%;
	background-color: var(--ci-oscuro-2);
}

/* ==========================================================================
   11. Banner de llamada a la acción (oscuro con brillos naranjas)
   ========================================================================== */
.ci-banner {
	position: relative;
	overflow: hidden;
	padding: 44px 44px 54px;
	border-radius: 30px;
	background:
		radial-gradient(420px 260px at 0% 0%, rgba(255, 103, 0, .45), transparent 70%),
		radial-gradient(520px 300px at 92% 100%, rgba(255, 103, 0, .45), transparent 70%),
		var(--ci-oscuro);
	box-shadow: 0 20px 40px rgba(0, 0, 0, .18);
	color: var(--ci-blanco);
}
.ci-banner h2 {
	margin: 0;
	color: var(--ci-blanco);
	font-family: var(--ci-fuente-titulos);
	font-size: 48px;
	font-weight: 600;
	line-height: 1.15;
}
.ci-banner p {
	max-width: 1000px;
	margin: 24px 0 0;
	font-size: 32px;
	line-height: 35px;
}
.ci-banner .ci-acciones {
	margin-top: 32px;
	gap: 32px;
}
.ci-banner a.ci-boton {
	min-height: 48px;
}

/* Variante con título pequeño y texto normal (FUNDAE) */
.ci-banner--texto {
	padding: 44px 36px 40px;
	background:
		radial-gradient(360px 260px at 38% 0%, rgba(193, 87, 20, .75), transparent 75%),
		var(--ci-oscuro);
}
.ci-banner--texto h2 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
}
.ci-banner--texto p {
	max-width: none;
	margin-top: 26px;
	font-size: 16px;
	line-height: 26px;
}
.ci-acciones--separada {
	margin-top: 112px;
}

/* Bloque oscuro a todo el ancho con texto a la izquierda y foto a la derecha (Formaciones) */
.ci-foto-lado {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 560px;
	align-items: stretch;
	color: var(--ci-blanco);
}
.ci-foto-lado__texto {
	align-self: center;
	max-width: 600px;
	padding: 72px 40px 72px max(80px, calc((100vw - 1120px) / 2));
}
.ci-foto-lado h2 {
	margin: 0;
	font-family: var(--ci-fuente-titulos);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
}
.ci-foto-lado p {
	margin: 26px 0 0;
	color: #C9C9C9;
	font-size: 18px;
	line-height: 29.25px;
}
.ci-foto-lado .ci-acciones {
	margin-top: 22px;
}
body .ci-foto-lado img {
	width: 100%;
	height: 100%;
	min-height: 490px;
	border-top-left-radius: 40px;
	object-fit: cover;
}

/* Banda oscura con texto grande y gráfica (Soporte) */
.ci-banda-grafica {
	position: relative;
	overflow: hidden;
	padding: 72px 40px 150px;
	border-radius: 40px;
	background: #2F2F2F url("../img/grafica-soporte.png") left bottom / 100% auto no-repeat;
	color: var(--ci-blanco);
}
.ci-banda-grafica p {
	max-width: 990px;
	margin: 0;
	font-size: 32px;
	line-height: 35px;
}
.ci-banda-grafica .ci-acciones {
	margin-top: 36px;
}
/* Con fotografía de fondo (Formaciones) */
.ci-banda-foto {
	position: relative;
	overflow: hidden;
	padding: 68px 40px 100px;
	border-radius: 40px;
	background: var(--ci-oscuro) var(--ci-foto, none) center / cover no-repeat;
	color: var(--ci-blanco);
}
.ci-banda-foto::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(48, 48, 48, .62);
}
.ci-banda-foto > * {
	position: relative;
}
.ci-banda-foto p {
	max-width: 880px;
	margin: 0;
	font-size: 32px;
	line-height: 35px;
}
.ci-banda-foto .ci-acciones {
	margin-top: 36px;
}

/* ==========================================================================
   12. Preguntas frecuentes (widget "Alternar" de Elementor: en todas las páginas)
   ========================================================================== */
.elementor-widget-toggle .elementor-toggle {
	display: grid;
	gap: 15px;
}
.ci-faq .elementor-toggle {
	margin-top: 60px;
}
.elementor-widget-toggle .elementor-toggle .elementor-toggle-item {
	margin: 0 !important;
	border: 0 !important;
	border-radius: 10px;
	background: var(--ci-blanco);
	box-shadow: var(--ci-sombra);
}
.elementor-widget-toggle .elementor-toggle .elementor-tab-title {
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 24px;
	padding: 22px 36px !important;
	border: 0 !important;
	color: var(--ci-negro) !important;
	font-family: var(--ci-fuente-texto) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
}
.elementor-widget-toggle .elementor-toggle .elementor-toggle-title {
	color: var(--ci-negro) !important;
	font-family: var(--ci-fuente-texto) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
}
.ci-faq.elementor-widget > .elementor-widget-container {
	border: 0 !important;
}
.elementor-widget-toggle .elementor-toggle .elementor-toggle-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px !important;
	height: 30px;
	margin: 0 !important;
}
.elementor-widget-toggle .elementor-toggle .elementor-toggle-icon > span {
	display: none !important;
}
.elementor-widget-toggle .elementor-toggle .elementor-toggle-icon::before {
	content: "add";
	color: var(--ci-titulo);
	font-family: "Material Symbols Outlined";
	font-size: 34px;
	font-weight: 300;
	font-feature-settings: "liga";
	transition: transform .2s;
}
.elementor-widget-toggle .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon::before {
	transform: rotate(45deg);
}
.elementor-widget-toggle .elementor-toggle .elementor-tab-content {
	padding: 0 36px 28px !important;
	border: 0 !important;
	color: var(--ci-negro) !important;
	font-size: 16px !important;
	line-height: 30px !important;
}
.elementor-widget-toggle .elementor-toggle .elementor-tab-content a {
	color: var(--ci-naranja) !important;
}

/* ==========================================================================
   13. Banda de logos de colaboradores (en movimiento)
   ========================================================================== */
.e-con.ci-sec--logos {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--content-width: 100%;
	background-color: var(--ci-oscuro);
}
.ci-logos-banda {
	display: flex;
	overflow: hidden;
	height: 188px;
	align-items: center;
}
.ci-logos-banda__pista {
	display: flex;
	flex: none;
	gap: 80px;
	animation: ci-desfile 45s linear infinite;
}
body .ci-logos-banda img {
	flex: none;
	width: auto;
	height: 90px;
	max-width: none;
}
@keyframes ci-desfile {
	to { transform: translateX(calc(-50% - 40px)); }
}
@media (prefers-reduced-motion: reduce) {
	.ci-logos-banda__pista {
		animation: none;
	}
}

/* ==========================================================================
   14. Bloque oscuro de texto con mapa o fotografía (Quiénes somos)
   ========================================================================== */
.e-con.ci-sec--compacta {
	--padding-top: 56px;
	--padding-bottom: 56px;
}
.ci-bloque-oscuro {
	display: grid;
	grid-template-columns: minmax(0, 560px) minmax(0, 468px);
	justify-content: space-between;
	gap: 48px;
	align-items: center;
	padding: 0 0 0 30px;
	color: var(--ci-blanco);
}
.ci-bloque-oscuro .ci-chips-grises {
	flex-wrap: nowrap;
	width: max-content;
	max-width: calc(100vw - 2 * var(--ci-margen) - 30px);
}
.ci-bloque-oscuro .ci-chips-grises li {
	padding: 12px 20px;
	border: 0;
	background: rgba(255, 255, 255, .2);
	font-size: 15px;
}
.ci-bloque-oscuro h2 {
	margin: 0;
	font-family: var(--ci-fuente-titulos);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
}
.ci-bloque-oscuro p {
	margin: 18px 0 0;
	color: #CFCFCF;
	font-size: 18px;
	line-height: 30px;
}
body .ci-bloque-oscuro img {
	width: 100%;
	height: auto;
}
.ci-chips-grises {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 22px 0 6px;
	padding: 0;
	list-style: none;
}
.ci-chips-grises li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 9999px;
	background: rgba(255, 255, 255, .08);
	color: var(--ci-blanco);
	font-size: 14px;
	line-height: 1;
}
.ci-chips-grises .ci-icono {
	font-size: 20px;
}

/* ==========================================================================
   15. Tarjetas con brillo naranja (misión, visión, filosofía, CSM)
   ========================================================================== */
.ci-rejilla {
	display: grid;
	grid-template-columns: repeat(var(--ci-columnas, 2), minmax(0, 1fr));
	gap: 28px;
	margin: 48px 0 0;
	padding: 0;
	list-style: none;
}
.ci-brillo {
	position: relative;
	overflow: hidden;
	padding: 92px 36px 40px;
	border-radius: 24px;
	background: var(--ci-blanco);
	box-shadow: var(--ci-sombra);
	color: var(--ci-texto);
	isolation: isolate;
}
/* El brillo de Figma es una mancha naranja al 80 % con desenfoque de 300 px */
.ci-brillo::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		radial-gradient(55% 75% at 78% 0%, rgba(255, 103, 0, .32), rgba(255, 103, 0, .12) 45%, transparent 75%),
		radial-gradient(45% 35% at 30% 100%, rgba(255, 103, 0, .12), transparent 80%);
}
.ci-brillo .ci-icono {
	color: var(--ci-naranja);
	font-size: 40px;
}
.ci-brillo h3 {
	margin: 26px 0 0;
	color: var(--ci-negro);
	font-family: var(--ci-fuente-titulos);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
}
.ci-brillo p,
.ci-brillo li {
	margin: 24px 0 0;
	color: var(--ci-negro);
	font-size: 16px;
	line-height: 26px;
}
.ci-brillo--ancha {
	padding-top: 50px;
}
.ci-brillo ul {
	margin: 12px 0 0;
	padding-left: 1.2em;
}
.ci-rejilla--estrecha {
	max-width: 1118px;
	margin: 72px auto 0;
	gap: 38px;
}
.ci-rejilla .ci-brillo--ancha {
	grid-column: 1 / -1;
}

/* Tarjeta oscura con degradado (Formaciones) y tarjeta clara con borde naranja (Soporte, FUNDAE) */
.ci-bento {
	display: grid;
	grid-template-columns: 376px repeat(2, minmax(0, 1fr));
	grid-template-rows: auto auto;
	gap: 13px 20px;
	margin: 64px 0 0;
	padding: 0;
	list-style: none;
}
.ci-bento > li:first-child {
	grid-row: 1 / span 2;
}
.ci-bento > li:nth-child(2) {
	grid-column: 2 / span 2;
}
.ci-tarjeta-clara,
.ci-tarjeta-oscura {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 36px 36px 38px;
	border-radius: 40px;
	font-size: 16px;
	line-height: 26px;
}
.ci-tarjeta-clara {
	border: 1px solid var(--ci-naranja-borde);
	background: var(--ci-blanco);
	color: var(--ci-negro);
}
.ci-tarjeta-oscura {
	background:
		radial-gradient(70% 60% at 85% 0%, rgba(193, 87, 20, .85), transparent 75%),
		radial-gradient(60% 50% at 10% 100%, rgba(193, 87, 20, .55), transparent 70%),
		var(--ci-oscuro);
	box-shadow: var(--ci-sombra);
	color: var(--ci-blanco);
}
.ci-tarjeta-clara > .ci-icono,
.ci-tarjeta-oscura > .ci-icono {
	color: var(--ci-naranja);
	font-size: 48px;
	font-variation-settings: "FILL" 1;
}
.ci-tarjeta-clara h3,
.ci-tarjeta-oscura h3 {
	margin: 26px 0 0;
	font-family: var(--ci-fuente-titulos);
	font-size: 24px;
	font-weight: 700;
	line-height: 32px;
}
.ci-tarjeta-clara p,
.ci-tarjeta-oscura p,
.ci-tarjeta-clara ul,
.ci-tarjeta-oscura ul {
	margin: 24px 0 0;
}
.ci-tarjeta-clara ul,
.ci-tarjeta-oscura ul {
	padding-left: 24px;
	list-style: disc;
}
.ci-tarjeta-clara p + ul,
.ci-tarjeta-oscura p + ul,
.ci-tarjeta-oscura p + p {
	margin-top: 0;
}
body .ci-tarjeta-oscura a {
	color: var(--ci-blanco);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ci-tres {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	margin: 64px 0 0;
	padding: 0;
	list-style: none;
}
.ci-tres .ci-tarjeta-clara {
	justify-content: flex-start;
	min-height: 348px;
	padding-top: 52px;
	text-align: justify;
}
.ci-tres .ci-tarjeta-clara h3 {
	text-align: left;
}

/* ==========================================================================
   15 bis. Por qué Cloudimpulsion y Nuestra filosofía
   ========================================================================== */
/* Subtítulo naranja bajo un título de sección */
.ci-subtitulo {
	margin: 40px 0 0;
	color: var(--ci-naranja);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -.02em;
	text-align: center;
}
/* Texto corrido de las páginas largas */
.ci-texto-largo {
	color: var(--ci-negro);
	font-size: 18px;
	line-height: 29.25px;
}
.ci-texto-largo p {
	margin: 0 0 20px;
}
.ci-texto-largo--justificado p {
	text-align: justify;
}
.ci-texto-largo--centro {
	text-align: center;
}
body hr.ci-separador {
	height: 0;
	margin: 0;
	border: 0;
	border-top: 2px solid #F07A2B;
	background: none;
}
body .ci-sec--apartado hr.ci-separador {
	max-width: 1135px;
	margin: 0 auto 84px;
}
.ci-texto-largo--separado {
	margin-top: 80px;
}
/* En los apartados de Por qué Cloudimpulsion el texto va 32 px hacia dentro */
.ci-sec--apartado .ci-texto-largo,
.ci-sec--apartado .ci-lista-lado {
	padding-inline: 32px;
}
.ci-sec--apartado .ci-lista-lado {
	padding-right: 66px;
}
.ci-portada__titulo--ancho {
	max-width: 1130px;
}

/* Banda oscura con brillo naranja, texto centrado y tarjetas de acceso a cada apartado */
.e-con.ci-sec--brillo {
	background:
		radial-gradient(55% 75% at 50% 60%, rgba(193, 87, 20, .9), rgba(193, 87, 20, .35) 55%, transparent 85%),
		var(--ci-oscuro);
	color: var(--ci-blanco);
}
.ci-banda-intro {
	max-width: 1010px;
	margin: 0 auto;
	font-size: 24px;
	line-height: 26px;
	text-align: center;
}
.ci-banda-intro strong {
	font-weight: 700;
}
.ci-accesos {
	display: grid;
	grid-template-columns: repeat(var(--ci-columnas, 4), minmax(0, 1fr));
	gap: 25px;
	max-width: 990px;
	margin: 62px auto 0;
	padding: 0;
	list-style: none;
}
body a.ci-acceso {
	display: grid;
	grid-template-columns: 1fr auto;
	align-content: start;
	gap: 14px 12px;
	height: 100%;
	min-height: 271px;
	padding: 146px 24px 24px;
	border-radius: 40px;
	background: var(--ci-fondo);
	color: var(--ci-negro);
	text-decoration: none;
	transition: transform .2s, box-shadow .2s;
}
body a.ci-acceso:hover {
	color: var(--ci-negro);
	transform: translateY(-3px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .25);
}
.ci-acceso > .ci-icono {
	color: var(--ci-naranja);
	font-size: 40px;
}
.ci-acceso .ci-flecha {
	align-self: center;
}
.ci-acceso__titulo {
	grid-column: 1 / -1;
	font-family: var(--ci-fuente-titulos);
	font-size: 18px;
	font-weight: 700;
	line-height: 23px;
}
.ci-accesos--anchos {
	--ci-columnas: 3;
	gap: 32px;
	max-width: 1130px;
}
body .ci-accesos--anchos a.ci-acceso {
	min-height: 180px;
	padding: 64px 24px 30px;
}

/* Mosaico de tarjetas con brillo: dos columnas, la tercera ocupa dos filas */
.ci-mosaico {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 34px 38px;
	max-width: 1118px;
	margin: 76px auto 0;
	padding: 0;
	list-style: none;
}
.ci-mosaico > li:nth-child(3) {
	grid-column: 2;
	grid-row: 1 / span 2;
}
.ci-mosaico > .ci-brillo--ancha {
	grid-column: 1 / -1;
}
.ci-mosaico .ci-brillo {
	padding-top: 72px;
}
.ci-brillo ul {
	margin: 24px 0 0;
	padding-left: 24px;
	list-style: disc;
}
.ci-brillo ul li {
	margin: 0;
}
.ci-brillo ul + p {
	margin-top: 26px;
}

/* Rótulo naranja a la izquierda y lista en tarjeta (con brillo o oscura) a la derecha */
.ci-lista-lado {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 705px;
	gap: 40px;
	align-items: start;
	margin: 40px 0;
}
.ci-rotulo {
	margin: 0;
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-titulos);
	font-size: 20px;
	font-weight: 500;
	line-height: 32px;
}
.ci-lista-lado ul {
	margin: 0;
	padding: 30px 50px 30px 60px;
	border-radius: 40px;
	font-size: 16px;
	line-height: 26px;
	list-style: disc;
	box-shadow: 0 20px 40px rgba(0, 0, 0, .1);
}
.ci-lista-lado li + li {
	margin-top: 10px;
}
.ci-lista-lado--brillo ul {
	background:
		radial-gradient(70% 80% at 60% 90%, rgba(255, 103, 0, .3), transparent 75%),
		var(--ci-blanco);
	color: var(--ci-negro);
}
.ci-lista-lado--oscura ul {
	background:
		radial-gradient(60% 70% at 50% 100%, rgba(193, 87, 20, .85), transparent 80%),
		var(--ci-oscuro);
	color: #EDEDED;
}

/* Tabla comparativa del CSM */
.ci-tabla-csm {
	overflow: hidden;
	margin: 80px 4px 0;
	border-radius: 10px;
	background: var(--ci-blanco);
	box-shadow: 0 4px 10px rgba(0, 0, 0, .06);
}
.ci-tabla-csm table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 16px;
}
.ci-tabla-csm col:nth-child(1) { width: 518px; }
.ci-tabla-csm col:nth-child(2) { width: 220px; }
.ci-tabla-csm col:nth-child(3) { width: 100px; }
body .ci-tabla-csm :is(th, td) {
	height: 70px;
	padding: 0 16px;
	border: 0;
	border-bottom: 1px solid #D9772E;
	background: var(--ci-blanco);
	text-align: center;
	vertical-align: middle;
}
body .ci-tabla-csm thead th {
	height: 66px;
	border: 0;
	background: var(--ci-oscuro);
	color: var(--ci-blanco);
	font-family: var(--ci-fuente-titulos);
	font-size: 18px;
	font-weight: 700;
}
body .ci-tabla-csm thead th.ci-pro {
	padding-left: 87px;
	color: var(--ci-naranja);
	text-align: left;
}
body .ci-tabla-csm tbody th {
	padding-left: 164px;
	color: var(--ci-texto-suave);
	font-weight: 400;
	text-align: left;
}
body .ci-tabla-csm td:last-child {
	color: var(--ci-negro);
	font-weight: 700;
	text-align: right;
	padding-right: 104px;
}
.ci-tabla-csm .ci-icono {
	color: #A23F00;
	font-size: 24px;
}
body .ci-tabla-csm tbody tr:last-child :is(th, td) {
	border-bottom-color: var(--ci-naranja);
}

/* Apartados de "Nuestra filosofía": separador, asterisco pequeño, título y subtítulo a la izquierda */
.ci-apartado {
	padding-top: 48px;
	border-top: 2px solid #F07A2B;
	scroll-margin-top: 120px;
}
.ci-apartado + .ci-apartado {
	margin-top: 120px;
}
.ci-apartado__cabecera {
	position: relative;
	margin-bottom: 44px;
	padding-left: 77px;
}
.ci-apartado__cabecera::before {
	content: "";
	position: absolute;
	top: 0;
	left: 4px;
	width: 45px;
	height: 45px;
	background: url("../img/asterisco.svg") center / contain no-repeat;
}
.ci-apartado h2 {
	margin: 0;
	color: var(--ci-negro);
	font-family: var(--ci-fuente-titulos);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
}
.ci-apartado__subtitulo {
	margin: 10px 0 0;
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-titulos);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
}
.ci-apartado .ci-rotulo {
	margin: 40px 0 44px;
}
/* Tarjetas oscuras de texto centrado */
.ci-cartas {
	display: grid;
	grid-template-columns: repeat(var(--ci-columnas, 4), minmax(0, 1fr));
	gap: 20px;
	margin: 0 0 44px;
	padding: 0;
	list-style: none;
}
.ci-carta-oscura {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	padding: 32px 36px;
	border-radius: 40px;
	background:
		radial-gradient(70% 70% at 50% 110%, rgba(193, 87, 20, .85), transparent 80%),
		var(--ci-oscuro);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .12);
	color: #EDEDED;
	font-size: 16px;
	line-height: 26px;
	text-align: center;
}
.ci-carta-oscura strong {
	color: var(--ci-blanco);
	font-weight: 700;
}
.ci-cartas--ancha {
	grid-column: 1 / -1;
	min-height: 0;
}
/* El carrusel de tarjetas sale hasta el borde de la ventana: que no cree desplazamiento lateral */
.e-con.ci-sec--apartados {
	overflow-x: clip;
}
.ci-carrusel--cartas .ci-carrusel__pista {
	grid-auto-columns: 464px;
	gap: 18px;
	padding-bottom: 24px;
}

/* --- Páginas índice (Google Workspace, Chrome Enterprise, Gemini, Servicios) --- */
.ci-portada__subtitulo--largo {
	max-width: 1000px;
	margin-inline: auto;
	font-size: 34px;
	line-height: 1.15;
	letter-spacing: -.08em;
}
.ci-tarjetas {
	display: grid;
	grid-template-columns: repeat(var(--ci-columnas, 3), minmax(0, 1fr));
	gap: 28px;
	margin: 64px 0 0;
	padding: 0;
	list-style: none;
}
/* Tarjeta clara que enlaza a una página */
body a.ci-tarjeta-enlace,
.ci-tarjeta-linea {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 36px 32px 34px;
	border: 1px solid var(--ci-naranja-borde);
	border-radius: 32px;
	background: var(--ci-blanco);
	color: var(--ci-negro);
	text-decoration: none;
	transition: transform .2s, box-shadow .2s, border-color .2s;
}
body a.ci-tarjeta-enlace:hover,
body a.ci-tarjeta-enlace:focus-visible {
	border-color: var(--ci-naranja);
	box-shadow: var(--ci-sombra);
	color: var(--ci-negro);
	transform: translateY(-3px);
}
.ci-tarjeta-enlace > .ci-icono,
.ci-tarjeta-linea > .ci-icono {
	color: var(--ci-naranja);
	font-size: 44px;
	font-variation-settings: "FILL" 1;
}
.ci-tarjeta-enlace .ci-flecha {
	position: absolute;
	top: 32px;
	right: 30px;
}
.ci-tarjeta-enlace h3,
.ci-tarjeta-linea h3 {
	margin: 24px 0 0;
	color: var(--ci-negro);
	font-family: var(--ci-fuente-titulos);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
}
.ci-tarjeta-enlace p,
.ci-tarjeta-linea p {
	margin: 14px 0 0;
	font-size: 15px;
	line-height: 1.65;
}
/* Tarjeta de una línea de producto con la lista de sus servicios (página Servicios) */
body .ci-tarjeta-linea h3 a {
	color: inherit;
	text-decoration: none;
}
body .ci-tarjeta-linea h3 a:hover {
	color: var(--ci-naranja);
}
.ci-tarjeta-linea ul {
	display: grid;
	gap: 10px;
	margin: 22px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--ci-naranja-borde);
	list-style: none;
}
body .ci-tarjeta-linea ul a {
	color: var(--ci-naranja-oscuro);
	font-size: 15px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
}
/* "Conoce el producto" y similares: el bloque de "Explora otros servicios" dentro de una sección oscura */
.ci-relacionados.ci-relacionados--bloque {
	padding: 0;
	background: none;
}
.ci-relacionados--bloque .ci-relacionados__titulo {
	margin-bottom: 20px;
}
.ci-relacionados--bloque .ci-relacionados__entrada {
	margin: 0 0 48px;
	color: #D9D9D9;
	font-size: 18px;
	line-height: 1.6;
}
.ci-relacionados--bloque .ci-relacionados__titulo + .ci-relacionados__lista {
	margin-top: 44px;
}
body .ci-lista-lado--oscura ul a {
	color: var(--ci-blanco);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ==========================================================================
   16. Páginas de servicio: cabecera con texto a la izquierda y tarjeta a la derecha
   ========================================================================== */
.e-con.ci-sec--servicio {
	--padding-top: 0px;
	--padding-bottom: 80px;
}
/* El texto empieza más abajo que la tarjeta de la derecha, que sube hasta las migas */
.ci-servicio__columna:first-child {
	padding-top: 70px;
}
.ci-servicio {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 512px;
	gap: 40px;
	align-items: start;
}
.ci-servicio__titulo {
	margin: 0;
	color: var(--ci-naranja);
	font-family: "Inter", var(--ci-fuente-texto);
	font-size: 72px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -.06em;
}
.ci-servicio__subtitulo {
	margin: 40px 0 0;
	color: var(--ci-negro);
	font-size: 24px;
	font-weight: 500;
	line-height: 29px;
	letter-spacing: .06em;
}
.ci-servicio__texto {
	max-width: 620px;
	margin: 40px 0 0;
	color: var(--ci-texto-suave);
	font-size: 20px;
	line-height: 32.5px;
}
.ci-servicio .ci-acciones {
	margin-top: 40px;
}
.ci-servicio .ci-chips-grises {
	margin-top: 76px;
	flex-wrap: nowrap;
}
.ci-servicio .ci-chips-grises li {
	padding: 14px 22px;
	border: 0;
	background: var(--ci-gris-chip);
	font-size: 16px;
	white-space: nowrap;
}
.ci-servicio__columna {
	min-width: 0;
}
body .ci-servicio__ilustracion {
	display: block;
	width: 584px;
	max-width: none;
	margin: 0;
}
/* Ilustración sobre la tarjeta: se ve la parte de arriba (las fichas flotantes y la gráfica) */
.ci-servicio__marco {
	height: 311px;
	margin: 0 -36px;
	overflow: hidden;
}
/* Tarjeta de la derecha: "¿Qué incluye…?" y dos accesos */
.ci-servicio__tarjeta {
	overflow: hidden;
	border-radius: 0 0 24px 24px;
	background: var(--ci-blanco);
	box-shadow: 0 30px 50px rgba(160, 80, 30, .18);
}
.ci-servicio__tarjeta--redonda {
	border-radius: 24px;
}
body .ci-servicio__foto {
	display: block;
	width: 100%;
	height: 297px;
	object-fit: cover;
}
body a.ci-servicio__incluye {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 94px;
	padding: 20px 12px 20px 20px;
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-titulos);
	font-size: 22px;
	font-weight: 600;
	line-height: 27px;
	text-decoration: none;
}
.ci-servicio__accesos {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
body a.ci-servicio__acceso {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 189px;
	padding: 20px;
	background: var(--ci-oscuro) var(--ci-foto, none) center / cover no-repeat;
	color: var(--ci-blanco);
	font-family: var(--ci-fuente-titulos);
	font-size: 22px;
	font-weight: 600;
	line-height: 27px;
	text-decoration: none;
}
.ci-servicio__acceso::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, .45));
}
.ci-servicio__acceso > * {
	position: relative;
}
.ci-servicio__acceso .ci-flecha {
	position: absolute;
	top: 12px;
	right: 12px;
}
.ci-servicio__acceso em {
	color: var(--ci-naranja);
	font-style: normal;
}
body a.ci-servicio__incluye:hover {
	color: var(--ci-naranja);
	filter: brightness(1.05);
}
body a.ci-servicio__acceso:hover {
	color: var(--ci-blanco);
	filter: brightness(1.08);
}

/* ==========================================================================
   17. Desplegables de modalidades (Soporte, Formaciones)
   ========================================================================== */
.ci-modalidades {
	display: grid;
	gap: 80px;
	margin-top: 64px;
}
.ci-modalidad {
	padding: 44px 40px 36px;
	border-radius: 4px;
	background: var(--ci-blanco);
	box-shadow: 0 20px 40px rgba(0, 0, 0, .07);
}
.ci-modalidad > summary {
	display: grid;
	grid-template-columns: 383px minmax(0, 1fr) 52px;
	gap: 40px;
	align-items: start;
	list-style: none;
	cursor: pointer;
}
.ci-modalidad > summary::-webkit-details-marker {
	display: none;
}
.ci-modalidad h3 {
	margin: 0;
	padding-bottom: 28px;
	color: var(--ci-negro);
	font-family: var(--ci-fuente-titulos);
	font-size: 36px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.02em;
	background: linear-gradient(var(--ci-naranja), var(--ci-naranja)) left bottom / 64px 6px no-repeat;
}
.ci-modalidad__resumen {
	color: var(--ci-negro);
	font-size: 18px;
	line-height: 29.25px;
}
.ci-modalidad__resumen p {
	margin: 0;
}
.ci-modalidad > summary::after {
	content: "expand_more";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--ci-naranja-suave);
	color: var(--ci-negro);
	font-family: "Material Symbols Outlined";
	font-size: 32px;
	font-feature-settings: "liga";
	transition: transform .2s;
}
/* Como en el diseño, la flecha apunta hacia abajo también con el desplegable abierto; cerrado, hacia la derecha */
.ci-modalidad:not([open]) > summary::after {
	transform: rotate(-90deg);
}
.ci-modalidad__detalle {
	display: grid;
	grid-template-columns: 383px minmax(0, 1fr) 52px;
	gap: 40px;
	margin-top: 48px;
}
.ci-modalidad__fila {
	display: contents;
}
.ci-etiqueta {
	grid-column: 1;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	justify-self: start;
	align-self: start;
	padding: 12px 12px;
	border: 3px solid #FFCFAE;
	border-radius: 16px;
	background: var(--ci-blanco);
	color: var(--ci-negro);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 0 0 1px rgba(255, 103, 0, .08);
}
.ci-etiqueta .ci-icono {
	font-size: 24px;
}
.ci-modalidad__texto {
	grid-column: 2;
	color: var(--ci-negro);
	font-size: 18px;
	line-height: 29.25px;
}
.ci-modalidad__texto p,
.ci-modalidad__texto ul {
	margin: 0;
}
.ci-modalidad__texto ul {
	padding-left: 26px;
}
.ci-modalidad__texto li + li {
	margin-top: 10px;
}
body .ci-modalidad__texto a {
	color: var(--ci-negro);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ==========================================================================
   18. Contacto con el equipo de soporte (tarjeta con foto)
   ========================================================================== */
.ci-contacto {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 364px;
	overflow: hidden;
	border-radius: 24px;
	background: var(--ci-blanco);
	box-shadow: var(--ci-sombra);
}
.ci-contacto__texto {
	padding: 52px 44px 76px;
}
.ci-contacto h2 {
	margin: 0;
	color: var(--ci-negro);
	font-family: var(--ci-fuente-titulos);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.02em;
}
.ci-contacto h2 em {
	color: var(--ci-naranja);
	font-style: normal;
}
.ci-contacto__intro {
	margin: 40px 0 0;
	color: var(--ci-negro);
	font-size: 18px;
	line-height: 29.25px;
}
.ci-contacto__vias {
	display: grid;
	grid-template-columns: 324px minmax(0, 1fr);
	gap: 74px 50px;
	margin: 46px 0 0;
	padding: 0;
	list-style: none;
	color: var(--ci-negro);
	font-size: 16px;
	line-height: 26px;
}
.ci-contacto__vias .ci-icono {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin-bottom: 20px;
	border: 1px solid #F1F1F1;
	border-radius: 12px;
	background: var(--ci-blanco);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .04);
	color: #D9681E;
	font-size: 24px;
}
body .ci-contacto__vias a {
	color: var(--ci-naranja-oscuro);
	text-decoration: underline;
	text-underline-offset: 3px;
}
body .ci-contacto__foto {
	align-self: stretch;
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
}

/* ==========================================================================
   19. "Explora otros servicios" (bloque de páginas relacionadas, inc/navegacion.php)
   ========================================================================== */
.ci-relacionados {
	padding: 72px var(--ci-margen) 120px;
	border-top: 0;
	background: var(--ci-oscuro);
}
.ci-relacionados .ci-relacionados__titulo {
	margin-bottom: 64px;
	color: var(--ci-blanco);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
}
.ci-relacionados .ci-relacionados__lista {
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 32px;
}
.ci-relacionados .ci-tarjeta {
	gap: 0;
	min-height: 204px;
	padding: 32px 32px 36px;
	border: 0;
	border-radius: 16px;
	background: var(--ci-fondo);
	color: var(--ci-negro);
}
.ci-relacionados .ci-tarjeta:hover,
.ci-relacionados .ci-tarjeta:focus-visible {
	color: var(--ci-negro);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .3);
}
.ci-relacionados .ci-tarjeta__icono {
	margin-bottom: 30px;
	color: var(--ci-negro);
	font-size: 26px;
}
.ci-relacionados .ci-tarjeta__titulo {
	color: var(--ci-negro);
	font-family: var(--ci-fuente-texto);
	font-size: 20px;
	font-weight: 600;
	line-height: 28px;
}
.ci-relacionados .ci-tarjeta:hover .ci-tarjeta__titulo {
	color: var(--ci-negro);
}
.ci-relacionados .ci-tarjeta__texto {
	margin-top: 16px;
	color: #484848;
	font-size: 14px;
	line-height: 20px;
}
.ci-relacionados .ci-tarjeta__flecha {
	top: 24px;
	right: 23px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--ci-naranja);
	color: var(--ci-blanco);
	font-size: 16px;
}
.ci-relacionados .ci-relacionados__mas a {
	color: var(--ci-blanco);
}

/* ==========================================================================
   20. Pie
   ========================================================================== */
.e-con.ci-pie-global {
	--content-width: min(100%, var(--ci-ancho));
	--padding-top: 64px;
	--padding-bottom: 40px;
	--padding-left: var(--ci-margen);
	--padding-right: var(--ci-margen);
	--gap: 0px;
	--row-gap: 0px;
	background: var(--ci-blanco);
	color: var(--ci-titulo);
}
.ci-pie-cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 0 32px;
}
body .ci-pie-cabecera__logo img {
	display: block;
	width: 280px;
	height: auto;
}
.ci-pie-cabecera__sellos {
	display: flex;
	gap: 50px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body .ci-pie-cabecera__sellos img {
	display: block;
	width: 157px;
	height: auto;
}
.ci-pie {
	gap: 32px;
	padding: 56px 32px 24px;
}
.ci-pie .ci-pie__titulo {
	margin-bottom: 28px;
	color: var(--ci-negro);
	font-size: 18px;
	font-weight: 600;
}
.ci-pie ul {
	gap: 16px;
	font-size: 14px;
	line-height: 20px;
}
.ci-pie li a,
.ci-pie li span {
	color: var(--ci-gris);
}
.ci-pie li a:hover {
	color: var(--ci-naranja);
}
/* Columna de contacto: teléfonos, correo y oficinas con su rótulo naranja */
.ci-pie .ci-pie__contacto {
	gap: 0;
}
.ci-pie .ci-pie__contacto .ci-pie__rotulo {
	margin: 0 0 6px;
	color: var(--ci-naranja-oscuro);
	font-size: 10px;
	letter-spacing: .08em;
	line-height: 14px;
	text-transform: uppercase;
}
.ci-pie .ci-pie__contacto li + .ci-pie__rotulo {
	margin-top: 22px;
}
.ci-pie .ci-pie__contacto li {
	color: var(--ci-gris);
	line-height: 24px;
}
.ci-pie .ci-pie__contacto li.ci-pie__dato a {
	color: var(--ci-negro);
}
.ci-pie .ci-pie__contacto strong {
	color: var(--ci-negro);
	font-weight: 500;
}
.ci-pie .ci-pie__contacto li.ci-pie__enlace {
	margin-top: 8px;
}
.ci-pie .ci-pie__contacto li.ci-pie__enlace:first-of-type,
.ci-pie .ci-pie__contacto .ci-pie__dato + .ci-pie__enlace {
	margin-top: 30px;
}
.ci-pie .ci-pie__contacto li.ci-pie__enlace a {
	color: var(--ci-naranja-oscuro);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ci-pie-legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 32px;
	margin: 24px 32px 0;
	padding-top: 24px;
	border-top: 1px solid rgba(0, 0, 0, .08);
	color: var(--ci-gris);
	font-size: 13px;
}
.ci-pie-legal ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ci-pie-global .ci-pie-legal a {
	color: var(--ci-gris);
	text-decoration: none;
}
.ci-pie-global .ci-pie-legal a:hover {
	color: var(--ci-naranja);
	text-decoration: underline;
}

/* ==========================================================================
   21. Caso de éxito (plantillas/caso-exito.php)
   ========================================================================== */
.ci-caso-pagina {
	background: #F5F6F7;
}
.ci-caso-pagina .ci-cifras--caso {
	grid-template-columns: repeat(auto-fit, 236px);
	margin-top: 48px;
}
.ci-caso-portada {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 400px;
	padding: 40px var(--ci-margen);
	background: var(--ci-oscuro) var(--ci-foto, none) center / cover no-repeat;
	color: var(--ci-blanco);
}
.ci-caso-portada::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .18);
}
.ci-caso-portada .ci-caso-portada__cliente,
.ci-caso-portada h1 {
	position: relative;
	margin: 0;
	color: var(--ci-blanco);
	font-family: "Inter", var(--ci-fuente-texto);
	font-size: 72px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.06em;
	text-align: center;
}
.ci-caso-portada__logo {
	position: absolute;
	right: max(var(--ci-margen), calc((100vw - var(--ci-ancho)) / 2 + 28px));
	bottom: 27px;
	display: flex;
	align-items: center;
	height: 50px;
	padding: 8px 16px;
	border-radius: 12px;
	background: var(--ci-blanco);
}
body .ci-caso-portada__logo img {
	max-width: 202px;
	max-height: 34px;
	object-fit: contain;
}
.ci-caso-n {
	max-width: calc(var(--ci-ancho) - 56px);
	margin: 0 auto;
	padding: 72px var(--ci-margen) 64px;
	box-sizing: content-box;
	color: #2B2B2B;
	font-size: 18px;
	line-height: 22px;
}
/* Titular del caso: el título de la entrada (H1), el sector y las etiquetas */
.ci-caso-n__titular {
	margin-bottom: 0;
}
.ci-caso-n__titular .ci-chips-grises {
	margin-top: 0;
}
.ci-caso-n__antetitulo {
	margin: 0 0 14px !important;
	color: var(--ci-naranja);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.ci-caso-n__titular h1 {
	margin: 0;
	color: var(--ci-titulo);
	font-family: var(--ci-fuente-titulos);
	font-size: 40px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.02em;
}
.ci-caso-n__sector {
	margin: 16px 0 0 !important;
	color: var(--ci-texto-suave);
}
.ci-caso-ficha--cifras strong {
	display: block;
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-texto);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.04em;
}
.ci-caso-otros {
	max-width: var(--ci-ancho);
	margin: 0 auto;
	padding: 0 var(--ci-margen) 96px;
	box-sizing: content-box;
}
.ci-caso-otros .ci-casos-n__lista + .ci-acciones {
	margin-top: 40px;
}
.ci-caso-n__intro {
	display: grid;
	grid-template-columns: minmax(0, 688px) 395px;
	justify-content: space-between;
	gap: 40px;
}
.ci-caso-n .ci-chips-grises li {
	padding: 12px 16px;
	border: 0;
	background: var(--ci-gris-chip);
	font-size: 16px;
}
.ci-caso-n h2 {
	margin: 28px 0 24px;
	color: var(--ci-titulo);
	font-family: var(--ci-fuente-titulos);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
}
.ci-caso-n p,
.ci-caso-n ul {
	margin: 0 0 20px;
}
.ci-caso-n ul {
	padding-left: 28px;
}
.ci-caso-n h3 {
	margin: 20px 0 20px;
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-texto);
	font-size: 18px;
	font-weight: 700;
}
.ci-caso-ficha {
	align-self: start;
	margin: 62px 0 0;
	padding: 4px 22px;
	border: 3px solid var(--ci-naranja);
	border-radius: 30px;
	list-style: none;
}
.ci-caso-ficha li {
	padding: 20px 0 18px;
	font-weight: 500;
	font-size: 18px;
	line-height: 22px;
}
.ci-caso-ficha li + li {
	border-top: 3px solid var(--ci-naranja);
}
.ci-caso-galeria {
	display: grid;
	grid-template-columns: repeat(var(--ci-columnas, 3), minmax(0, 1fr));
	gap: 20px;
	margin: 48px 0 64px;
	padding: 0;
	list-style: none;
}
body .ci-caso-galeria img {
	width: 100%;
	height: 328px;
	object-fit: cover;
}
.ci-caso-cita {
	position: relative;
	overflow: hidden;
	margin: 64px -22px;
	padding: 68px 36px 60px;
	border-radius: 50px;
	background: var(--ci-oscuro) var(--ci-foto, none) center / cover no-repeat;
	color: var(--ci-blanco);
}
.ci-caso-cita::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(40, 40, 40, .55);
}
.ci-caso-cita > * {
	position: relative;
}
.ci-caso-cita blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 32px;
	font-style: italic;
	font-weight: 600;
	line-height: 35px;
}
.ci-caso-cita blockquote p {
	margin: 0;
}
.ci-caso-cita figcaption {
	margin-top: 26px;
}
.ci-caso-cita cite {
	color: var(--ci-blanco);
	font-size: 18px;
	font-style: normal;
}
.ci-caso-resultados {
	padding: 56px var(--ci-margen);
	background: var(--ci-oscuro);
	color: var(--ci-blanco);
}
.ci-caso-resultados__caja {
	max-width: calc(var(--ci-ancho) - 52px);
	margin: 0 auto;
	padding: 40px 38px 54px;
	border: 3px solid var(--ci-naranja);
	border-radius: 50px;
}
.ci-caso-resultados h2 {
	margin: 0;
	color: var(--ci-blanco);
	font-family: var(--ci-fuente-titulos);
	font-size: 32px;
	font-weight: 700;
}
.ci-caso-resultados p {
	margin: 32px 0 0;
	font-size: 18px;
}
.ci-caso-resultados ul {
	display: grid;
	gap: 50px;
	margin: 42px 0 0;
	padding: 0;
	list-style: none;
}
.ci-caso-resultados li {
	display: flex;
	align-items: center;
	gap: 28px;
	font-size: 18px;
	line-height: 22px;
}
.ci-caso-resultados li::before {
	content: "check";
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 37px;
	height: 37px;
	margin-left: 6px;
	border-radius: 50%;
	background: var(--ci-naranja);
	color: var(--ci-blanco);
	font-family: "Material Symbols Outlined";
	font-size: 26px;
	font-feature-settings: "liga";
}
.ci-caso-banner {
	max-width: var(--ci-ancho);
	margin: 0 auto;
	padding: 0 var(--ci-margen) 88px;
	box-sizing: content-box;
}

/* ==========================================================================
   22. Páginas sin pantalla en Figma (componentes.css, diseno.css, blog)
   Mismo lenguaje que las páginas del diseño: sin curvas ni aros, cabeceras como
   las de Quiénes somos o las de servicio, botones píldora, títulos con asterisco
   y tarjetas claras con borde naranja. Las cabeceras llevan la clase que les pone
   la migración 20 (ci-cab--aros, --icono, --centro, --contacto).
   ========================================================================== */

/* Sin separadores con forma (curvas) en ninguna página: el diseño usa bordes rectos */
.elementor .elementor-shape {
	display: none !important;
}

/* --- Cabeceras ------------------------------------------------------------ */
.e-con.ci-cab {
	--min-height: 0px;
	--padding-top: 48px;
	--padding-bottom: 72px;
	background: none !important;
}
.e-con.ci-cab .e-con {
	background: none !important;
}
body:not(.home) .elementor .e-con.ci-cab .elementor-widget-heading h1.elementor-heading-title {
	color: var(--ci-negro);
	font-family: var(--ci-fuente-titulos);
	font-size: 70px;
	font-weight: 600;
	line-height: 1.14;
	letter-spacing: -.069em;
}
/* Con aros: centrada, sin los aros; el texto, como el subtítulo naranja de Quiénes somos */
.e-con.ci-cab--aros .elementor-widget-icon {
	display: none;
}
.e-con.ci-cab--aros .elementor-widget-heading,
.e-con.ci-cab--aros .elementor-widget-text-editor {
	text-align: center;
}
body .e-con.ci-cab--aros .elementor-widget-text-editor.elementor-element.ci-cab__subtitulo,
body .e-con.ci-cab--centro .elementor-widget-text-editor.elementor-element.ci-cab__subtitulo {
	max-width: 1000px;
	margin: 28px auto 0;
	padding: 0;
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-titulos);
	font-size: 32px;
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -.08em;
}
/* Párrafos de la cabecera (los que no son el subtítulo): como el texto de la portada */
body .e-con.ci-cab .elementor-widget-text-editor.elementor-element.ci-cab__texto {
	max-width: 900px;
	margin: 32px auto 0;
	padding: 0;
	color: var(--ci-texto);
	font-family: var(--ci-fuente-texto);
	font-size: 20px;
	font-weight: 400;
	line-height: 32.5px;
	letter-spacing: 0;
}
/* Los párrafos de dentro heredan del bloque (alguna plantilla les ponía su propio tamaño) */
body .e-con.ci-cab .elementor-widget-text-editor:is(.ci-cab__texto, .ci-cab__subtitulo) :is(p, span) {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	letter-spacing: inherit;
	line-height: inherit;
}
/* Con icono: sin el icono; título naranja y subtítulo negro, como Soporte y Formaciones */
.e-con.ci-cab--icono .e-con:has(.elementor-widget-image):not(:has(.elementor-widget-heading)) {
	display: none;
}
.e-con.ci-cab--icono .e-con {
	--width: 100%;
	--padding-left: 0px;
	--padding-right: 0px;
}
body:not(.home) .elementor .e-con.ci-cab--icono:not(.ci-cab--centro) .elementor-widget-heading h1.elementor-heading-title {
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-texto);
	font-size: 72px;
	line-height: 1.1;
	letter-spacing: -.06em;
	text-align: left;
}
body .e-con.ci-cab--icono:not(.ci-cab--centro) .elementor-widget-text-editor.elementor-element.ci-cab__subtitulo {
	max-width: 760px;
	margin-top: 32px;
	padding: 0;
	color: var(--ci-negro);
	font-family: var(--ci-fuente-texto);
	font-size: 24px;
	font-weight: 500;
	line-height: 29px;
	letter-spacing: .06em;
	text-align: left;
}
.e-con.ci-cab--icono:not(.ci-cab--centro) .elementor-widget-heading {
	text-align: left;
}
/* Blog y categorías: centradas, con el desplegable de categorías debajo */
.e-con.ci-cab--centro .e-con {
	--flex-direction: column;
	--align-items: center;
	text-align: center;
}
.e-con.ci-cab--centro .elementor-widget-heading {
	text-align: center;
}
.e-con.ci-cab--centro .elementor-widget-wp-widget-categories {
	width: min(420px, 100%);
	margin: 36px auto 0;
}
body .e-con.ci-cab--centro .elementor-widget-wp-widget-categories select {
	width: 100%;
	height: 48px;
	padding: 0 20px;
	border: 2px solid var(--ci-naranja);
	border-radius: 9999px;
	background-color: var(--ci-blanco);
	box-shadow: none;
	color: var(--ci-negro);
	font-family: var(--ci-fuente-texto);
	font-size: 16px;
}
/* Portada sin rehacer: título como el de Figma y el texto blanco de debajo, como el subtítulo naranja */
body.home .elementor .e-con.ci-cab--inicio .elementor-widget-heading h1.elementor-heading-title {
	color: var(--ci-negro);
	font-family: var(--ci-fuente-titulos);
	font-size: 64px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -.06em;
}
body .e-con.ci-cab--inicio .elementor-widget-heading p.elementor-heading-title {
	margin-top: 20px;
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-titulos);
	font-size: 32px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -.06em;
}
body .e-con.ci-cab--inicio .elementor-widget-heading p.elementor-heading-title * {
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
}
body .e-con.ci-cab--inicio .elementor-widget-button {
	margin-top: 32px;
}
/* Contacto */
body .e-con.ci-cab--contacto .elementor-widget-text-editor.elementor-element.ci-cab__subtitulo {
	margin-top: 24px;
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-titulos);
	font-size: 32px;
	letter-spacing: -.06em;
}

/* --- Botones de Elementor: píldora naranja con la flecha en un círculo ----- */
body .elementor .elementor-widget-button.elementor-element .elementor-button-wrapper .elementor-button {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 8px 8px 8px 24px;
	border: 0;
	border-radius: 9999px;
	background: var(--ci-naranja);
	box-shadow: var(--ci-sombra-naranja);
	color: var(--ci-blanco);
	font-family: var(--ci-fuente-texto);
	font-size: 18px;
	font-weight: 700;
	line-height: 20px;
	text-align: left;
	text-decoration: none;
}
body .elementor .elementor-widget-button.elementor-element .elementor-button-wrapper .elementor-button::after {
	content: "arrow_forward";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .2);
	font-family: "Material Symbols Outlined";
	font-size: 16px;
	font-weight: 400;
	font-feature-settings: "liga";
	transition: transform .2s;
}
body .elementor .elementor-widget-button.elementor-element .elementor-button-wrapper .elementor-button:hover,
body .elementor .elementor-widget-button.elementor-element .elementor-button-wrapper .elementor-button:focus-visible {
	background: var(--ci-naranja-hover);
	color: var(--ci-blanco);
	transform: translateY(-1px);
}
body .elementor .elementor-widget-button.elementor-element .elementor-button-wrapper .elementor-button:hover::after {
	transform: translateX(2px);
}
body .elementor .elementor-widget-button .elementor-button .elementor-button-text,
body .elementor .elementor-widget-button .elementor-button:hover .elementor-button-text {
	color: inherit;
}
/* Bloques propios (navegacion.css): mismo botón */
body .ci-cta a.ci-boton.elementor-button,
body .ci-movil a.ci-boton.elementor-button:not(.ci-boton--contorno) {
	min-height: 48px;
	padding: 8px 8px 8px 24px;
	border: 0;
	font-size: 16px;
	font-weight: 700;
}
body .ci-movil a.ci-boton--contorno.elementor-button::after {
	display: none;
}

/* --- Títulos de sección con el asterisco ------------------------------------ */
body:not(.home) [data-elementor-type="wp-page"] .elementor-widget-heading h2.elementor-heading-title:not([data-elementor-type="loop-item"] *)::before,
body:not(.home) [data-elementor-type="wp-page"] .ci-texto h2:not(.ci-ficha h2)::before {
	content: "";
	display: inline-block;
	width: .82em;
	height: .82em;
	margin-right: .5em;
	vertical-align: -.1em;
	background: url("../img/asterisco.svg") center / contain no-repeat;
}

/* …salvo en los títulos de tarjeta que ya llevan un icono o una imagen encima */
body:not(.home) [data-elementor-type="wp-page"] .e-con:has(> .elementor-widget-icon, > .elementor-widget-image, > .e-con-inner > .elementor-widget-icon, > .e-con-inner > .elementor-widget-image) .elementor-widget-heading h2.elementor-heading-title::before,
body:not(.home) [data-elementor-type="wp-page"] .e-con:has(> .e-con > .elementor-widget-image, > .e-con > .elementor-widget-icon) > .e-con > .elementor-widget-heading h2.elementor-heading-title::before {
	display: none;
}

/* --- Componentes de contenido (css/componentes.css) -------------------------- */
.ci-texto .ci-entrada,
.ci-entrada {
	color: var(--ci-texto);
	font-size: 20px;
	line-height: 32.5px;
}
.ci-texto .ci-indice a {
	border: 2px solid var(--ci-naranja);
	color: var(--ci-negro);
	font-weight: 500;
}
body .ci-texto .ci-indice a:hover {
	background: var(--ci-naranja-suave);
	color: var(--ci-negro);
}
.ci-texto .ci-ficha {
	padding: 32px 30px 30px;
	border: 1px solid var(--ci-naranja-borde);
	border-radius: 32px;
	background: var(--ci-blanco);
	box-shadow: none;
}
.ci-texto .ci-ficha .ci-icono {
	margin-bottom: 18px;
	font-size: 40px;
	font-variation-settings: "FILL" 1;
}
.ci-texto .ci-ficha h3 {
	color: var(--ci-negro);
	font-size: 20px;
	font-weight: 700;
}
.ci-texto .ci-ficha p,
.ci-texto .ci-ficha ul {
	color: var(--ci-negro);
	font-size: 15px;
	line-height: 1.65;
}
.ci-texto .ci-cifra {
	padding: 24px 20px;
	border: 3px solid var(--ci-naranja);
	border-radius: 24px;
	background: transparent;
	box-shadow: none;
	text-align: center;
}
.ci-texto .ci-cifra strong {
	font-family: var(--ci-fuente-texto);
	font-size: 48px;
	font-weight: 700;
	letter-spacing: -.06em;
}
.ci-texto .ci-cifra span {
	color: var(--ci-texto);
	font-size: 14px;
}
.ci-texto .ci-tabla {
	border: 0;
	border-radius: 10px;
	background: var(--ci-blanco);
	box-shadow: 0 4px 10px rgba(0, 0, 0, .06);
}
.ci-texto .ci-tabla :is(th, td) {
	border-bottom: 1px solid #D9772E;
	color: var(--ci-negro);
}
.ci-texto .ci-tabla thead th {
	border: 0;
	background: var(--ci-oscuro);
	color: var(--ci-blanco);
	font-weight: 700;
}
.ci-texto .ci-tabla tbody tr:nth-child(even) td {
	background: transparent;
}
.ci-texto .ci-tabla td:first-child,
.ci-texto .ci-tabla small,
.ci-texto .ci-tabla-nota {
	color: var(--ci-texto-suave);
}
.ci-texto .ci-tabla .ci-si {
	color: #A23F00;
}
.ci-texto .ci-cita,
.ci-cita {
	padding: 36px 36px 32px;
	border: 0;
	border-radius: 32px;
	background:
		radial-gradient(60% 80% at 85% 0%, rgba(193, 87, 20, .8), transparent 75%),
		var(--ci-oscuro);
	box-shadow: var(--ci-sombra);
	color: var(--ci-blanco);
	font-family: var(--ci-fuente-texto);
	font-size: 22px;
	font-style: italic;
	font-weight: 600;
	line-height: 1.4;
}
.ci-texto .ci-cita cite,
.ci-cita cite {
	color: #D9D9D9;
	font-style: normal;
	font-weight: 400;
}
.ci-texto .ci-destacado {
	border: 1px solid var(--ci-naranja-borde);
	border-radius: 24px;
	background: #FFF8F3;
}
.ci-texto .ci-logos li,
.ci-texto .ci-socio {
	border: 1px solid rgba(0, 0, 0, .06);
	border-radius: 24px;
	background: var(--ci-blanco);
	box-shadow: var(--ci-sombra-suave);
}
/* Carrusel de opiniones de Google (Trustindex): sus tarjetas asomaban por el borde en el móvil */
body .elementor-widget:has(.ti-widget) {
	max-width: 100%;
	overflow-x: clip;
}
/* Cifras de Elementor (contadores): como las del diseño, en naranja y con peso */
body .elementor-widget-counter .elementor-counter-number-wrapper {
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-texto);
	font-weight: 700;
	letter-spacing: -.05em;
}
body .elementor-widget-counter .elementor-counter-title {
	color: var(--ci-texto);
}
/* Logos blancos (de la web oscura) en cualquier página: sobre una placa oscura, como en la banda de logos */
body [data-elementor-type="wp-page"] .elementor-widget-image img[src*="white" i],
body [data-elementor-type="wp-page"] .elementor-widget-image img[src*="blanco" i],
body [data-elementor-type="wp-page"] .elementor-image-carousel img {
	box-sizing: border-box;
	padding: 18px 22px;
	border-radius: 16px;
	background: var(--ci-oscuro);
}
body .elementor-widget-image-carousel {
	max-width: 100%;
	overflow-x: clip;
}
/* Logos de proveedores y socios: son blancos (de la web oscura), así que van sobre fondo oscuro como en la banda de logos */
.ci-texto .ci-logos li {
	border: 0;
	background: var(--ci-oscuro);
	box-shadow: none;
}
body .ci-texto .ci-socio img[src*="white" i] {
	padding: 22px 26px;
	border-radius: 18px;
	background: var(--ci-oscuro);
}
.ci-texto .ci-pasos > li::before {
	border: 0;
	background: var(--ci-naranja);
	color: var(--ci-blanco);
	font-family: var(--ci-fuente-texto);
	font-weight: 700;
}
.ci-etiquetas li,
.ci-etiquetas a {
	padding: 8px 14px;
	border: 0;
	background: var(--ci-gris-chip);
	color: var(--ci-blanco);
	font-size: 14px;
}

/* --- Documentos legales y de complementos --------------------------------- */
.ci-doc .complemento {
	border-color: rgba(0, 0, 0, .08);
	background: var(--ci-blanco);
	box-shadow: var(--ci-sombra-suave);
}
.ci-doc th,
.ci-doc .permisos,
.ci-doc code {
	background: #F2F2F2;
}
.ci-doc :is(th, td),
.ci-doc code,
.ci-doc .ci-doc__entrada,
.ci-doc .ci-doc__pie {
	border-color: rgba(0, 0, 0, .1);
}
#cmplz-document details.cmplz-dropdown,
#cmplz-document .cmplz-dropdown summary {
	border-color: rgba(0, 0, 0, .1) !important;
	background: var(--ci-blanco) !important;
}
#cmplz-document .cmplz-dropdown summary::after,
#cmplz-document .cmplz-dropdown .cmplz-icon {
	filter: none;
}

/* --- Llamada a la acción del final de las entradas (ci_cta): como el banner ---- */
.ci-cta .ci-cta__interior {
	max-width: var(--ci-ancho);
	padding: 40px 40px 44px;
	border: 0;
	border-radius: 30px;
	background:
		radial-gradient(420px 260px at 0% 0%, rgba(255, 103, 0, .45), transparent 70%),
		radial-gradient(520px 300px at 92% 100%, rgba(255, 103, 0, .45), transparent 70%),
		var(--ci-oscuro);
	box-shadow: 0 20px 40px rgba(0, 0, 0, .18);
}
.ci-cta .ci-cta__titulo {
	color: var(--ci-blanco);
	font-size: 32px;
	font-weight: 600;
}
.ci-cta .ci-cta__texto {
	color: #E6E6E6;
	font-size: 18px;
}

/* --- Banner de cookies de Complianz con los colores de la marca ------------------
   Sus colores son variables de :root; aquí se cambian solo dentro del banner. Aceptar y
   Denegar quedan con el mismo peso (botón relleno), como pide la guía de la AEPD. */
#cmplz-cookiebanner-container .cmplz-cookiebanner,
#cmplz-manage-consent .cmplz-manage-consent {
	--cmplz_banner_border_radius: 24px;
	--cmplz_button_border_radius: 9999px;
	--cmplz_button_accept_background_color: var(--ci-naranja);
	--cmplz_button_accept_border_color: var(--ci-naranja);
	--cmplz_button_accept_text_color: var(--ci-blanco);
	--cmplz_button_deny_background_color: var(--ci-gris);
	--cmplz_button_deny_border_color: var(--ci-gris);
	--cmplz_button_deny_text_color: var(--ci-blanco);
	--cmplz_button_settings_background_color: var(--ci-blanco);
	--cmplz_button_settings_border_color: var(--ci-gris-chip);
	--cmplz_button_settings_text_color: var(--ci-negro);
	--cmplz_hyperlink_color: var(--ci-naranja-oscuro);
	--cmplz_slider_active_color: var(--ci-naranja);
	--cmplz_text_color: var(--ci-texto);
	font-family: var(--ci-fuente-texto);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner {
	box-shadow: 0 20px 50px rgba(0, 0, 0, .18);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
	color: var(--ci-negro);
	font-family: var(--ci-fuente-titulos);
	font-weight: 700;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn {
	font-weight: 700;
}
@media (max-width: 767px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner {
		max-width: calc(100% - 16px);
	}
}

/* --- Formularios de Elementor (contacto y boletín) -------------------------- */
body .elementor-form .elementor-field-type-submit .elementor-button {
	border-radius: 9999px;
	background: var(--ci-naranja);
	color: var(--ci-blanco);
	font-weight: 700;
}
body .elementor-form .elementor-field-type-submit .elementor-button:hover {
	background: var(--ci-naranja-hover);
	color: var(--ci-blanco);
}

/* --- Blog: tarjetas de las entradas (plantilla de bucle 7160) como las de los casos --- */
body .e-loop-item .container-main {
	border-radius: 24px;
	background: var(--ci-fondo) !important;
	box-shadow: var(--ci-sombra) !important;
}
body .e-loop-item .container-main:hover {
	box-shadow: 0 14px 34px rgba(0, 0, 0, .14) !important;
}
body .e-loop-item .titulo-entrada .elementor-heading-title,
body .e-loop-item .titulo-entrada a {
	color: var(--ci-naranja);
	font-family: var(--ci-fuente-titulos);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.25;
}
body .e-loop-item .separador-entrada {
	display: none;
}
body .e-loop-item .extracto-entrada,
body .e-loop-item .extracto-entrada p {
	color: var(--ci-negro);
	font-size: 14px;
	line-height: 20px;
}
body .e-loop-item .btn-leer {
	gap: 10px;
	padding: 4px 4px 4px 16px;
	border: 0;
	border-radius: 9999px;
	background: var(--ci-naranja);
}
body .e-loop-item .btn-leer p {
	color: var(--ci-blanco);
	font-size: 14px !important;
}
body .e-loop-item .btn-leer::after {
	content: "arrow_forward";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .2);
	color: var(--ci-blanco);
	font-family: "Material Symbols Outlined";
	font-size: 15px;
	font-feature-settings: "liga";
}
body .e-loop-item .container-main:hover .btn-leer {
	background: var(--ci-naranja-hover);
}
body .e-loop-item .contenedor-autor-fecha,
body .e-loop-item .contenedor-autor-fecha a {
	color: var(--ci-texto-suave);
}
/* Entrada del blog: título con el peso del diseño y barra lateral */
body.single-post .elementor-widget-theme-post-title .elementor-heading-title {
	color: var(--ci-negro);
	font-family: var(--ci-fuente-titulos);
	font-weight: 700;
	letter-spacing: -.02em;
}
body .elementor-widget-wp-widget-categories :is(h5, li) {
	color: var(--ci-titulo);
}
body .elementor-widget-wp-widget-categories a {
	color: var(--ci-naranja-oscuro);
}

/* ==========================================================================
   23. Tableta y móvil
   ========================================================================== */
@media (max-width: 1180px) {
	:root {
		--ci-margen: 32px;
		--ci-seccion: 80px;
	}
	.ci-cifras {
		grid-template-columns: repeat(2, 240px);
	}
	.ci-productos,
	.ci-tres {
		gap: 24px;
	}
	.ci-servicio {
		grid-template-columns: minmax(0, 1fr);
	}
	.ci-servicio__columna--tarjeta {
		max-width: 512px;
	}
	.ci-servicio .ci-chips-grises {
		flex-wrap: wrap;
	}
	.ci-bento {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ci-bento > li:first-child {
		grid-row: auto;
		grid-column: 1 / -1;
	}
	.ci-bento > li:nth-child(2) {
		grid-column: auto;
	}
	.ci-modalidad > summary,
	.ci-modalidad__detalle {
		grid-template-columns: 280px minmax(0, 1fr) 52px;
		gap: 28px;
	}
	.ci-contacto {
		grid-template-columns: minmax(0, 1fr) 300px;
	}
	.ci-caso-n__intro {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 1024px) {
	.e-con.ci-cabecera {
		--min-height: 72px;
	}
	.ci-cabecera .elementor-widget-button {
		display: none;
	}
	.ci-menu .ci-nav__boton {
		min-height: 72px;
	}
	.ci-tarjetas {
		--ci-columnas: 2;
	}
	.ci-productos,
	.ci-tres,
	.ci-rejilla,
	.ci-mosaico,
	.ci-lista-lado {
		grid-template-columns: minmax(0, 1fr);
	}
	.ci-mosaico > li:nth-child(3) {
		grid-column: auto;
		grid-row: auto;
	}
	.ci-accesos,
	.ci-cartas {
		--ci-columnas: 2;
	}
	.ci-tabla-csm {
		margin-inline: 0;
		overflow-x: auto;
	}
	.ci-tabla-csm tbody th {
		padding-left: 20px;
	}
	.ci-tabla-csm td:last-child {
		padding-right: 20px;
	}
	.ci-bloque-oscuro,
	.ci-cifras-foto,
	.ci-foto-lado {
		grid-template-columns: minmax(0, 1fr);
	}
	.ci-foto-lado__texto {
		padding: 48px var(--ci-margen);
	}
	body .ci-foto-lado img {
		min-height: 0;
		max-height: 420px;
	}
	.ci-cifras-foto .ci-cifras {
		padding: 48px var(--ci-margen);
	}
	.ci-pie-cabecera {
		flex-direction: column;
		align-items: flex-start;
		padding: 0;
	}
	.ci-pie {
		padding-inline: 0;
	}
	.ci-pie-legal {
		margin-inline: 0;
	}
}
@media (max-width: 767px) {
	:root {
		--ci-margen: 16px;
		--ci-seccion: 56px;
	}
	.ci-titulo {
		gap: 16px;
		font-size: 32px;
		letter-spacing: -.02em;
	}
	.ci-titulo::before {
		width: 32px;
		height: 32px;
	}
	.ci-entradilla {
		margin-top: 28px;
		font-size: 18px;
		line-height: 1.4;
	}
	.ci-chip {
		height: 46px;
		padding: 0 16px;
		border-width: 3px;
		font-size: 15px;
	}
	.ci-chip img {
		width: 22px;
		height: 22px;
	}
	.ci-portada__titulo,
	.ci-servicio__titulo,
	.ci-caso-portada .ci-caso-portada__cliente,
.ci-caso-portada h1 {
		font-size: 44px;
		letter-spacing: -.05em;
	}
	.ci-portada__subtitulo {
		font-size: 28px;
		line-height: 1.1;
		letter-spacing: -.08em;
	}
	.ci-portada__texto,
	.ci-servicio__texto {
		font-size: 17px;
		line-height: 27px;
	}
	.e-con.ci-sec--portada {
		--padding-top: 40px;
		--padding-bottom: 72px;
	}
	.e-con.ci-sec--cifras-foto {
		--padding-top: 200px;
	}
	.ci-cifras,
	.ci-cifras--naranja {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.ci-cifras li {
		min-height: 140px;
		border-radius: 22px;
	}
	.ci-cifras strong {
		font-size: 48px;
	}
	.ci-cifras--naranja strong {
		font-size: 40px;
	}
	.ci-cifras span {
		margin-top: 10px;
		font-size: 13px;
		line-height: 18px;
	}
	.ci-productos {
		margin-top: 48px;
	}
	.ci-casos-cabecera {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}
	.ci-carrusel__pista {
		grid-auto-columns: 86%;
		gap: 16px;
	}
	.ci-caso-carta__chips {
		flex-wrap: wrap;
	}
	.ci-banner,
	.ci-banda-grafica,
	.ci-banda-foto {
		padding: 32px 24px 40px;
		border-radius: 24px;
	}
	.ci-banda-grafica {
		padding-bottom: 110px;
	}
	.ci-banner h2 {
		font-size: 32px;
	}
	.ci-banner p,
	.ci-banda-grafica p,
	.ci-banda-foto p {
		font-size: 21px;
		line-height: 28px;
	}
	body a.ci-boton {
		max-width: 100%;
		font-size: 16px;
		white-space: normal;
	}
	.ci-bloque-oscuro .ci-chips-grises {
		flex-wrap: wrap;
		width: auto;
		max-width: 100%;
	}
	body .ci-servicio__marco {
		height: auto;
		max-height: 260px;
		margin: 0;
	}
	body .ci-servicio__ilustracion {
		width: 100%;
		max-width: 100%;
	}
	.ci-tabla-csm table {
		table-layout: auto;
		font-size: 14px;
	}
	.ci-tabla-csm col {
		width: auto !important;
	}
	body .ci-tabla-csm :is(th, td) {
		height: auto;
		padding: 14px 10px;
	}
	body .ci-tabla-csm thead th.ci-pro {
		padding-left: 10px;
		text-align: center;
	}
	body .ci-tabla-csm tbody th,
	body .ci-tabla-csm td:last-child {
		padding-inline: 12px;
	}
	.ci-cartas {
		--ci-columnas: 1;
	}
	.ci-carrusel--cartas .ci-carrusel__pista {
		grid-auto-columns: 86%;
	}
	.elementor-widget-toggle .elementor-toggle .elementor-tab-title {
		padding: 18px 20px !important;
		font-size: 18px !important;
	}
	.elementor-widget-toggle .elementor-toggle .elementor-tab-content {
		padding: 0 20px 22px !important;
	}
	.ci-logos-banda {
		height: 120px;
	}
	body .ci-logos-banda img {
		height: 70px;
	}
	.ci-bloque-oscuro {
		padding: 40px 20px;
	}
	.ci-bento,
	.ci-modalidad > summary,
	.ci-modalidad__detalle,
	.ci-contacto,
	.ci-contacto__vias {
		grid-template-columns: minmax(0, 1fr);
	}
	.ci-bento > li:first-child {
		grid-column: auto;
	}
	.ci-tarjeta-clara,
	.ci-tarjeta-oscura {
		padding: 28px 24px;
		border-radius: 28px;
	}
	.ci-tres .ci-tarjeta-clara {
		min-height: 0;
		padding-top: 32px;
		text-align: left;
	}
	.ci-servicio__columna--tarjeta,
	.ci-servicio__ilustracion {
		width: 100%;
		max-width: 100%;
	}
	.ci-servicio__subtitulo {
		margin-top: 24px;
		font-size: 19px;
		line-height: 1.35;
		letter-spacing: .03em;
	}
	.ci-servicio .ci-chips-grises {
		margin-top: 40px;
	}
	.ci-servicio .ci-chips-grises li {
		white-space: normal;
	}
	.ci-modalidad {
		padding: 28px 20px;
	}
	.ci-modalidad > summary {
		gap: 16px;
	}
	.ci-modalidad > summary::after {
		position: absolute;
		right: 16px;
	}
	.ci-modalidad {
		position: relative;
	}
	.ci-modalidad h3 {
		padding-right: 56px;
		font-size: 26px;
	}
	.ci-modalidad__detalle {
		gap: 16px;
		margin-top: 32px;
	}
	.ci-modalidad__texto {
		grid-column: auto;
		margin-bottom: 16px;
	}
	.ci-contacto__texto {
		padding: 32px 22px 40px;
	}
	.ci-contacto h2 {
		font-size: 28px;
	}
	.ci-contacto__vias {
		gap: 32px;
	}
	.ci-contacto__foto {
		max-height: 420px;
	}
	.ci-relacionados {
		padding: 56px var(--ci-margen) 72px;
	}
	.ci-relacionados .ci-relacionados__lista,
	.ci-tarjetas {
		grid-template-columns: minmax(0, 1fr);
	}
	.ci-portada__subtitulo--largo {
		font-size: 26px;
	}
	.ci-pie-cabecera__sellos {
		gap: 20px;
	}
	.ci-pie-cabecera__sellos img {
		width: 130px;
	}
	.ci-caso-portada {
		min-height: 300px;
	}
	.ci-caso-galeria {
		grid-template-columns: minmax(0, 1fr);
	}
	.ci-caso-cita {
		margin-inline: 0;
		padding: 40px 24px;
		border-radius: 28px;
	}
	.ci-caso-cita blockquote {
		font-size: 22px;
		line-height: 28px;
	}
	.ci-caso-resultados__caja {
		padding: 32px 20px;
		border-radius: 28px;
	}
	.ci-caso-resultados ul {
		gap: 24px;
	}
	body:not(.home) .elementor .e-con.ci-cab .elementor-widget-heading h1.elementor-heading-title,
	body.home .elementor .e-con.ci-cab--inicio .elementor-widget-heading h1.elementor-heading-title {
		font-size: 40px;
		letter-spacing: -.05em;
		overflow-wrap: break-word;
	}
	body .e-con.ci-cab--inicio .elementor-widget-heading p.elementor-heading-title {
		font-size: 24px;
	}
	body .e-con.ci-cab .elementor-widget-text-editor.elementor-element.ci-cab__subtitulo {
		font-size: 24px;
	}
	body .e-con.ci-cab .elementor-widget-text-editor.elementor-element.ci-cab__texto {
		font-size: 17px;
		line-height: 27px;
	}
	body .e-con.ci-cab--icono:not(.ci-cab--centro) .elementor-widget-text-editor.elementor-element.ci-cab__subtitulo {
		font-size: 19px;
		line-height: 1.35;
		letter-spacing: .03em;
	}
	body .elementor .elementor-widget-button.elementor-element .elementor-button-wrapper .elementor-button {
		font-size: 16px;
	}
	.ci-cta .ci-cta__interior {
		padding: 28px 22px 32px;
		border-radius: 24px;
	}
}
