body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
width: 100%;
height: 100%;
font-size:16px;
line-height:1.2;
color:#333838;
	background-color: #fff;
	/*cursor: none;*/
}

html {
    width: 100%;
    height: 100%;
}

section {
    width: 100%;
	overflow:hidden;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
    margin-top: 10px;
    margin-bottom: 10px;
}

p {
 /*font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;*/
}


a:hover,
a:focus {
  color: #c1b086;
  text-decoration: none;
}


@media (max-width: 767px) {
.text-left-xs {
text-align: left;
}
.text-right-xs {
text-align: right;
}
.text-center-xs {
text-align: center;
}
.text-center-sm {
text-align: center;
}
.text-right-sm {
text-align: center;
}
}

.content-section {
    padding-block: calc(.25rem * 16);
}

@media (min-width: 40rem) {
    .content-section {
        padding-inline: calc(.25rem * 8);
    }
}

@media (min-width: 64rem) {
    .content-section {
        padding-block: calc(0.25rem * 24);
    }
}


.light-300 {
	font-weight: 300;
}

.normal-400 {
	font-weight: 400;
}

.bold-500 {
	font-weight: 500;
}

.bold-600 {
	font-weight: 600;
}

.bold-700 {
	font-weight: 700;
}

.bold-900 {
	font-weight: 900;
}

.text-shadow {
    text-shadow: 0 0px 4px rgba(0, 0, 0, .6);
}

.font-underline {
	text-decoration: underline;
}

.font-12 {
	font-size: 12px;
	line-height: 19px;
}

.font-14 {
	font-size: 14px;
	line-height: 21px;
}

.font-16 {
	font-size: 16px;
	line-height: 26px;
}

.font-18 {
	font-size: 18px;
	line-height: 24px;
}

.font-20 {
	font-size: 20px;
	line-height: 26px;
}

.font-22 {
  font-size: 22px;
  line-height: 28px
}

.font-24 {
  font-size: 24px;
  line-height: 30px
}

.font-26 {
	font-size: 26px;
	line-height: 32px;
}

.font-28 {
	font-size: 28px;
	line-height: 34px;
}

.font-30 {
	font-size: 30px;
	line-height: 36px;
}

.font-32 {
	font-size: 32px;
	line-height: 38px;
}

.font-34 {
  font-size: 34px;
  line-height:40px;
}

.font-36 {
  font-size: 36px;
  line-height:44px;
}

.font-44 {
	font-size: 44px;
	line-height: 48px;
}
.font-53 {
	font-size: 53px;
	line-height: 61px;
}

.blanco {color: #FFF;}
.azul {color: #1b9a93;}
.azul-2 {color: #303942}
.celeste {color: #019EE1;}
.amarillo {color: #FC0;}
.naranja {color: #F90;}
.gris {color: #8B8B8B;}
.marron {color: #8e724c;}
.verde {color: #939B08;}
.verde-2 {color: #006B2B;}
.rojo-2 {color: #E41010;}
.rojo {color: #e10c1b;}
.bordo {color: #b9071e;}
.negro {color: #000;}
.color-tantur {color: #4CAF50;}



.box-col {
	overflow: hidden;
	position: relative;
	padding: 10px;
}

.box-col.over {
	overflow: hidden;
	position: relative;
	height: auto;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #E9E9E9;
}
.box-col.over:hover {
}

.box-imagen {
	position:relative;
}

.background-blanco {background-color: #FFF;}
.background-azul {background-color: #032242;}
.background-azul-2 {background-color: #303942}
.background-celeste {background-color: #019EE1;}
.background-amarillo {background-color: #FC0;}
.background-naranja {background-color: #F90;}
.background-gris {background-color: #8B8B8B;}
.background-marron {background-color: #8e724c;}
.background-verde {background-color: #939B08;}
.background-verde-2 {background-color: #4abd92;}
.background-rojo {background-color: #E41010;}
.background-negro {background-color: #000;}

.margin-bot-5 {margin-bottom: 5px;}
.margin-bot-8 {margin-bottom: 8px;}
.margin-bot-10 {margin-bottom: 10px;}
.margin-bot-15 {margin-bottom: 15px;}
.margin-bot-20 {margin-bottom: 20px;}
.margin-bot-top-5 {margin-bottom: 5px; margin-top: 5px;}
.margin-bot-top-8 {margin-bottom: 8px; margin-top: 8px;}
.margin-bot-top-10 {margin-bottom: 10px; margin-top: 10px;}
.margin-bot-top-15 {margin-bottom: 15px; margin-top: 15px;}
.margin-bot-top-20 {margin-bottom: 20px; margin-top: 20px;}
.margin-none {margin: 0px;}
.no-margin{margin:0!important}
.margin-bottom{margin-bottom:24px!important}
.margin-top{margin-top:24px!important}
.margin-left{margin-left:24px!important}
.margin-right{margin-right:24px!important}

.no-padding{padding:0!important}
.padding-bottom{padding-bottom:24px!important}
.padding-top{padding-top:24px!important}
.padding-left{padding-left:24px!important}
.padding-right{margin-right:24px!important}
.padded{margin-bottom:24px;padding-bottom:24px}
.padded-big{margin-bottom:48px;padding-bottom:48px}
.padded-huge{margin-bottom:96px;padding-bottom:48px}
.padd-3 {padding: 3px;}
.padd-5 {padding: 5px;}
.padd-bot-5 {padding-bottom: 5px;}
.padd-bot-top-5 {padding-top: 5px;padding-bottom: 5px;}
.padd-10 {padding: 10px;}
.padd-20 {padding: 20px;}
.padd-30 {padding: 30px;}
.padd-40 {padding: 40px;}
.padd-50 {padding: 50px;}
.padd-bot-10 {padding-bottom: 10px;}
.padd-bot-top-10 {padding-top: 10px;padding-bottom: 10px;}
.padd-bot-15 {padding-bottom: 15px;}
.padd-bot-top-15 {padding-top: 15px;padding-bottom: 15px;}
.padd-bot-20 {padding-bottom: 20px;}
.padd-bot-top-20 {padding-top: 20px;padding-bottom: 20px;}
.padd-none {padding: 0px;}

.radius-3 {border-radius:3px;}
.radius-5 {border-radius:5px;}
.radius-9 {border-radius:9px;}
.radius-none {border-radius:0px;}

.border-0 {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}

/*------------------------------*/

.titulo-seccion  {
    font-size: 41px;
    color: #000000;
    margin-top: 0px;
    margin-bottom: 15px;
    position: relative;
    font-weight: 400;
}

.titulo-seccion:after {
	/*content: url(../img/arrow-red.png);
	width: 30px;
	height: 5px;
    position: absolute;
    bottom: -5px;
    left: 0;*/
}

.titulo-seccion span  {
    font-weight: 700;
}

.pre-titulo  {
	font-size: 13px;
	font-weight: 500;
	color: #6366f1;
	margin-top: 0px;
	margin-bottom: 10px;
	text-transform: uppercase;
	display: block;
	
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 16px;
    display: block;
}

.sub-titulo-seccion  {
	font-size: 15px;
	font-weight: 400;
	color: #2d2d2d;
	margin-top: 0px;
	margin-bottom: 30px;
	text-transform:uppercase;
}

.descripcion {
	font-size: 16px;
	font-weight: 400;
	line-height:26px;
	margin-bottom: 18px;
}

.destacado {
	font-size: 19px;
	font-weight: 300;
	line-height: 27px;
	color: #505454;
	margin-bottom: 18px;
}

@media (max-width:767px){
.titulo-seccion  {
	font-size: 29px;
	margin-bottom: 10px;
	line-height: 34px;
}

.sub-titulo-seccion  {
	margin-bottom: 12px;
}

.destacado {
        font-size: 17px;
        margin-bottom: 19px;
        line-height: 25px;
}


}

@media (max-width:767px){
.titulo-secciones  {
	font-size:30px;
	margin-bottom:22px;
}
}	

.bg-comun{
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-image:url(../img/bg-comun.jpg);
}


/*---------------------------------------*/

.modulo.modulo-cabecera-interior {
    padding-bottom: 30px;
    padding-top: 250px;
	padding-top: 200px;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
	margin-bottom: 25px;
}

.modulo.modulo-cabecera-interior::before {
	content: "";
	position: absolute;
	height: 100%;
	width: 100%;
	background: rgb(0 0 0 / 38%);
	background: linear-gradient(90deg, rgb(0 0 0 / 57%) 0%, rgb(0 0 0 / 17%) 74%);
	top: 0;
	left: 0;
}


.modulo.modulo-cabecera-interior h2 {
	font-size: 18px;
	font-weight: 400;
	line-height: 26px;
	margin-bottom: 0px;
	color:#fff;
}

.modulo.modulo-cabecera-interior .titulo-centros {
	margin-bottom:20px;
	color:#fff;
	margin-top: 4px;
	font-weight: 700;
	font-size: 36px;
}

@media (max-width:767px){
.modulo.modulo-cabecera-interior {
        padding-bottom: 45px;
        padding-top: 45px;
	text-align: center;
}

.modulo.modulo-cabecera-interior h2 {
    font-size: 15px;
    line-height: 14px;
    margin-bottom: 0px;
}	
	
.modulo.modulo-cabecera-interior .titulo-centros {
	margin-bottom: 0px;
    font-size: 28px;
}	
}

/*------------------------------------------*/

.swiper-overflow-visible {
	overflow: visible !important;
}

.swiper-overflow-visible:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #ffffff73;
    left: -99%;
    top: 0;
    z-index: 1;
}

.swiper-overflow-visible:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #ffffff73;
    right: -99%;
    top: 0;
    z-index: 2;
}

@media (max-width: 767px){
.swiper-overflow-visible:before {
    content: "";
    width: 100%;
    right: -100%;
    top: 0;
}
}

.swiper-arrows-top .swiper-button-next, .swiper-arrows-top .swiper-button-prev {
    top: var(--swiper-navigation-top-offset, -40px);
}

.swiper-arrows-top .swiper-button-prev, .swiper-arrows-top .swiper-rtl .swiper-button-next {
    right: var(--swiper-navigation-sides-offset, 78px);
    left: auto;
}

.swiper-arrows-top .swiper-button-next, .swiper-arrows-top .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 30px);
    left: auto;
}

.swiper-arrows-top  .swiper-button-next.swiper-button-disabled, .swiper-arrows-top .swiper-button-prev.swiper-button-disabled {
    opacity: 0.40;
    cursor: auto;
    pointer-events: none;
    display: inline-flex
;
}

/*--------------------*/




.titulo-cat-cds  {
    font-size: 36px;
    color: #303030;
    margin-top: 0px;
    margin-bottom: 15px;
    position: relative;
    font-weight: 700;
}

.titulo-cat-cds span  {
	display: block;
}

.btn-ver-todo{
    font-size: 16px;
    color: #4CAF50;
	color: #121212;
    margin-bottom: 26px;
    display: inline-block;
    position: relative;
}

.btn-ver-todo i{
    font-size: 14px;
	margin-left: 3px;
}

@media (min-width: 767px){
.modulo-rotador-soluciones .swiper {
	margin-right: -15px;
	margin-left: -15px;
}

}

@media (max-width: 767px){

.titulo-cat-cds  {
    font-size: 26px;
	margin-bottom: 15px;
}	
	
}

/*--------------------------*/


.modulo-contacto {
	padding: 70px 0px;
}

@media (max-width: 767px) {
.modulo-contacto {
	padding: 20px 0px;
}
}

.modulo-contacto .input-lg {
    border-radius: 3px;
}

.modulo-contacto .datos-oficina i {
font-size: 16px;
    width: 38px;
    height: 38px;
    line-height: 36px;
    text-align: center;
    border: solid 1px #bdbdbd;
    border-radius: 50px;
    margin-right: 10px;
	color: #4CAF50;
}


.modulo-contacto  label{
margin-bottom: 10px;
    font-weight: 400;
    color: #616465;
    font-size: 16px;
}

.btn-archivo{
    border: solid 1px #d4d4d4;
    margin: 0px;
    height: 46px;
    line-height: 32px;
    color: #4CAF50;
}

.modulo-contacto .input-lg{
        font-size: initial;
}

.modulo-contacto ul.social-buttons-contacto li a {
    text-align: center;
    height: 42px;
    width: 42px;
    display: block;
    text-decoration: none;
    line-height: 40px;
    color: #4cad50;
    background-color: #e2efdd;
    /* font-size: 18px; */
    border-radius: 22px;
    border: solid 2px #e2efdd;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}

.modulo-contacto ul.social-buttons-contacto li a:hover, .modulo-contacto ul.social-buttons-contacto li a:focus, .modulo-contacto ul.social-buttons-contacto li a:active {
    color: #e2efdd;
    border: solid 2px #4cad50;
	background-color: #4cad50;
}


.boton-enviar-consulta {
	color: #ffffff;
	background-color: #4CAF50;
	padding: 14px 14px;
	font-weight: 500;
	margin-bottom: 12px;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
	display: block;
	text-align: center;
	font-size: 16px;
	border-radius: 5px;
	border: solid 0px #ccc;
}

.boton-enviar-consulta:hover {
	color: #028d85;
	background-color: #e1eaea;
	border: solid 0px #4CAF50;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}

/*--------------------------*/

.section-video-inicio{
	display: block;
	max-width: 100%;
	height: 500px; position:relative
}		
	
figure {
position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background-position: 50% 50%;
    margin: 0 auto;
	
	width: 100%!important;
    max-width: 100%!important;
    min-width: 100%!important;
    left: 0!important;
    margin-left: 0!important;
}	
	
.video {
max-width: none;
    top: 50%;
    /*-webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: relative;*/
    min-width: 100%;
    min-height: 100%;	
	left: -20%;
}
	
@media (max-width:767px){
.video {
    height: 100%;
    width: auto!important;
    /*-webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);*/
    left: 50%;
    top: 0;
}
}

	.controls{
    /*position: absolute;
    z-index: 099;
    bottom: 0;
    display: block;
		padding: 20px;
		left: 0;*/
}
	
.buttons button{
	background: none;
	border: 0;
	outline: 0;
	cursor: pointer;
}

.buttons button:before{
	content: "\f144";
	font-family: "Font Awesome 6 Free";
	width: 40px;
	height: 40px;
	display: inline-block;
	font-size: 38px;
	color: white;
	-webkit-font-smoothing:antialiased;
}
	
.buttons button.play:before{
	content: "\f144";
}	
	
.buttons button.pause:before{
	content: "\f28b";
}

/*--------------------------*/

.share-buttons {
    width: auto;
    display: block;
	margin: 8px 0px;
}

.posts-shares {
/*float:left;*/
}

.share-buttons h5 {
    /* float: left; */
    text-align: center;
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #8e8e8e;
    position: relative;
    font-weight: 500;
    margin-right: 10px;
    margin-bottom: 5px;
}

.social-shares {
list-style:none;
margin:0;
padding:0;
}

.social-shares li {
float:left;
list-style:none;
margin:0 0 0px;
padding:0;
}

.social-shares li a {
    display: block;
    float: left;
    color: inherit;
    background-image: none;
    line-height: 28px;
    font-size: .9em;
    margin: 0 10px 0 0;
    border-radius: 50%;
	border: solid 2px #cdcdcd;
	color: #a19fa0;
}


.social-shares li a:hover {
    border: solid 2px #a60997;
    color: #a30c99;
}

.social-shares li i {
display: inline-block;
    font-size: 14px;
    /* background-color: #cc0000; 
    color: #FFF;*/
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    width: 32px;
    height: 32px;
    text-align: center;
    vertical-align: middle;
    line-height: 32px;
}


/*---------------------------------*/

/*-----------------------*/

.seccion-tabs .panel {
    background-color: transparent;
}

.seccion-tabs .panel-heading {
  padding: 0;
	border:0;
}
.seccion-tabs .panel-title>a, .panel-title>a:active{
display: block;
    /*color: #3c3c3c;
    font-size: 16px;
    font-weight: 600;*/
    text-decoration: none;
}

.seccion-tabs .panel-heading .panel-title.collapsed a:before {
   font-family: 'Glyphicons Halflings';
	content: "\e081";
   float: right;
   transition: all 0.5s;
}


.seccion-tabs .panel-heading .panel-title a:before {
   font-family: 'Glyphicons Halflings';
   content: "\e082";
   float: right;
   transition: all 0.5s;
}
.seccion-tabs .panel-group .panel {
        border-radius: 0;
        box-shadow: none;
        border-color: transparent;
}

    .seccion-tabs .panel-default > .panel-heading {
        padding: 0;
        border-radius: 0;
        color: #fff;
        background-color: transparent;
        border-color: transparent;
    }

    .seccion-tabs .panel-title {
        font-size: 15px;
    }

    .seccion-tabs .panel-title > a {
	display: block;
	padding: 15px 15px;
	text-decoration: none;
	border: solid 1px rgb(199 199 199 / 51%);
	cursor: pointer;
    }


    .seccion-tabs .panel-default > .panel-heading + .panel-collapse > .panel-body {
        border-top-color: transparent;
		
    }
	
	.seccion-tabs .panel-body p {
		/*color:white;*/
		line-height:26px;			
    }

.seccion-tabs .panel-body p .fa {
    margin-left: 2px;
    margin-right: 10px;
    margin-top: 6px;
    color: #1e69dd;
    color: #8bc34a;
    font-size: 11px;
}

	.seccion-tabs .panel-body h4 {
		/*color:white;	*/		
    }

/*-----------------------*/

		/* ============================
		   HERO / GRID INICIO
		   ============================ */
		.modulo-inicio { 
			background: linear-gradient(0deg, #ffffff 0%, #f2f3f4 100%);
		}
		
		.grid-inicio {
			display: grid;
			grid-template-columns: 1fr;
			gap: 2rem;
			align-items: center;
		}

		@media (min-width: 64rem) {
			.grid-inicio {
				grid-template-columns: repeat(2, 1fr);
				gap: .25rem;
			}
		}

		.grid-inicio .titulo-inicio {
			font-size: clamp(34px, 4.5vw, 58px);
			font-weight: 700;
			color: #26253c;
		}
		
		@media (max-width: 64rem) {
			.grid-inicio .titulo-inicio span {
			background: linear-gradient(45deg, #c084fc 0%, #6366f1 100%);
			-webkit-background-clip: text;
			background-clip: text;
			-webkit-text-fill-color: transparent;
			color: transparent;
		}
		}

		.grid-inicio .texto-inicio {
			font-size: clamp(16px, 1.5vw, 17px);
			font-weight: 400;
			line-height: normal;
			color: #565656;
			margin: 10px 0;
			display: inline-block;
		}

		.box-recurso-1 {
			position: relative;
			/*height: 520px;*/
			width: 100%;
		}

		/* ============================
		   BOTONES SLIDE
		   ============================ */
		.div-botones {
			display: flex;
			gap: 15px;
		}

		.btn-slide {
			background-color: #121212;
			border: none;
			border-radius: 10px;
			padding: 11px 28px;
			cursor: pointer;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			overflow: hidden;
			position: relative;
			text-align: center;
			text-decoration: none;
			transition: background-color 0.3s ease, transform 0.2s ease;
		}

		.btn-slide:active {
			transform: scale(0.98);
		}

		.btn-slide.otro-color {
			background: linear-gradient(135deg, rgb(99 102 241), rgb(139 92 246));
		}

		.btn-slide.btn-small {
			padding: 9px 15px;
		}

		.btn-slide.btn-small .text-slide {
			font-size: 14px;
		}

		.btn-slide-inverse {
			background-color: #fff;
			border: solid 1px #d6d6d6;
			border-radius: 10px;
			padding: 10px 28px;
			cursor: pointer;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			overflow: hidden;
			position: relative;
			text-align: center;
			text-decoration: none;
			transition: background-color 0.3s ease, transform 0.2s ease;
		}

		.btn-slide-inverse .normal-text,
		.btn-slide-inverse .hover-text {
			background: #121212;
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			background-clip: text;
			color: #121212;
		}

		.button-text-wrapper {
			display: flex;
			flex-direction: column;
			height: 24px;
			line-height: 24px;
			overflow: hidden;
		}

		.text-slide {
			font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
			font-weight: 600;
			font-size: 16px;
			white-space: nowrap;
			transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
		}

		.normal-text {
			background: #fff;
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			background-clip: text;
			color: #fff;
			transform: translateY(0);
		}

		.hover-text {
			background: #fff;
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			background-clip: text;
			color: #fff;
			transform: translateY(0);
		}

		.btn-slide:hover .normal-text,
		.btn-slide-inverse:hover .normal-text {
			transform: translateY(-100%);
		}

		.btn-slide:hover .hover-text,
		.btn-slide-inverse:hover .hover-text {
			transform: translateY(-100%);
		}

		/* ============================
		   TARJETAS SOLUCIONES
		   ============================ */
		@property --angle {
			syntax: '<angle>';
			initial-value: 0deg;
			inherits: false;
		}

		.box-soluciones {
			position: relative;
			background-color: #ffffff;
			border-radius: 16px;
			box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
			overflow: hidden;
			display: flex;
			transition: transform 0.3s ease, box-shadow 0.3s ease;
			padding: 1px;
			height: 100%;
			text-decoration: none;
		}

		.box-soluciones::before {
			content: '';
			position: absolute;
			top: 50%;
			left: 50%;
			translate: -50% -50%;
			width: 150%;
			height: 150%;
			background: conic-gradient(from var(--angle), transparent 70%, #a229c761 100%);
			z-index: 1;
			opacity: 0;
			transition: opacity 0.3s ease;
		}

		.box-soluciones .box-content {
			background-color: #ffffff;
			border-radius: 13px;
			padding: 32px 24px;
			width: 100%;
			display: flex;
			flex-direction: column;
			z-index: 2;
		}

		.box-soluciones:hover {
			transform: translateY(-5px);
			box-shadow: 0 10px 30px #703deb21;
		}

		.box-soluciones:hover::before {
			opacity: 1;
			animation: spinBorde 4s linear infinite;
		}

		@keyframes spinBorde {
			from { --angle: 0deg; }
			to { --angle: 360deg; }
		}

		.box-soluciones .titulo-solucion {
			font-size: 19px;
			color: #121212;
		}

		.box-soluciones .texto-solucion {
			font-size: 15px;
			color: #6b7070;
			line-height: normal;
		}
		
		.box-soluciones .div-icono{
			padding-bottom: 25px;
		}

		.box-soluciones .div-icono svg {
			color: #252525;
		}

		.box-soluciones .div-boton {
			font-size: 14px;
			font-weight: 500;
			color: #121212;
			display: none;
		}

		.box-soluciones .div-icono .numero {
			font-family: 'Arial Black', sans-serif;
			font-size: 46px;
			font-weight: 900;
			margin: 0;
			background: linear-gradient(1deg, #faf8fb 0%, #a78bfa 100%);
			-webkit-background-clip: text;
			background-clip: text;
			-webkit-text-fill-color: transparent;
			color: transparent;
		}

		/* ============================
		   SECCIÓN PRODUCTOS (CMS + CARDS)
		   ============================ */
		.modulo-productos {
			padding: 60px 0;
			background: #f5f5f7;
		}

		.grid-productos {
			display: grid;
			grid-template-columns: 1fr;
			gap: 24px;
			align-items: stretch;
		}

		@media (min-width: 64rem) {
			.grid-productos {
				grid-template-columns: 1.5fr 1fr;
				gap: 28px;
			}
		}

		/* === Panel CMS (izquierda) === */
		.panel-cms {
			background: linear-gradient(135deg, #0b0814 0%, #110d1e 50%, #0c0a1a 100%);
			border-radius: 24px;
			padding: 36px 40px 40px;
			position: relative;
			overflow: hidden;
			display: flex;
			flex-direction: column;
		}

		.panel-cms::before {
			content: '';
			position: absolute;
			inset: 0;
			background:
				radial-gradient(ellipse 80% 60% at 20% 90%, rgba(50, 80, 220, .1) 0%, transparent 60%),
				radial-gradient(ellipse 50% 50% at 80% 20%, rgba(100, 60, 200, .06) 0%, transparent 50%);
			pointer-events: none;
		}
		
		.panel-cms .fondo-dots {
			position: absolute; inset: 0;
			background-image: radial-gradient(rgba(120, 130, 255, 0.12) 1px,transparent 1px);
			background-size: 18px 18px;
		}

		.panel-cms-header {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-bottom: 24px;
			position: relative;
			z-index: 1;
		}

		.panel-badge {
			display: inline-flex;
			align-items: center;
			gap: 8px;
			border: 1px solid rgba(255, 255, 255, .12);
			border-radius: 8px;
			padding: 8px 14px;
			font-size: 10px;
			font-weight: 600;
			letter-spacing: .08em;
			text-transform: uppercase;
			color: rgba(255, 255, 255, .65);
		}

		.panel-badge .dot-green,
		.panel-live .dot-green {
			width: 7px;
			height: 7px;
			border-radius: 50%;
			background: #22c55e;
			animation: pulse-dot 2s infinite;
		}

		.panel-live {
			display: inline-flex;
			align-items: center;
			gap: 6px;
			/*background: rgba(255, 255, 255, .05);
			border: 1px solid rgba(255, 255, 255, .1);*/
			border-radius: 999px;
			padding: 7px 16px;
			font-size: 12px;
			color: rgba(255, 255, 255, .75);
			font-weight: 500;
		}

		.panel-cms-content {
			position: relative;
			z-index: 1;
			margin-bottom: 28px;
		}

		.panel-cms-content .titulo-cms {
			font-size: clamp(30px, 4vw, 44px);
			font-weight: 700;
			color: #fff;
			line-height: 1.1;
			margin: 0 0 6px;
		}

		.panel-cms-content .titulo-cms .accent-azul {
			background: linear-gradient(45deg, #c084fc 0%, #6366f1 100%);
			-webkit-background-clip: text;
			background-clip: text;
			-webkit-text-fill-color: transparent;
			color: transparent;
		}

		.panel-cms-content .desc-cms {
			font-size: 14px;
			line-height: 1.7;
			color: rgba(255, 255, 255, .86);
			max-width: 460px;
			margin-top: 14px;
		}

		.panel-cms-content .desc-cms strong {
			color: rgba(255, 255, 255, .8);
		}

		/* === Dashboard Mockup === */
		.dashboard-mockup {
			position: relative;
			z-index: 1;
			display: flex;
			flex: 1;
			border-radius: 14px;
			overflow: hidden;
			border: 1px solid rgba(255, 255, 255, .07);
			background: rgba(10, 14, 30, .6);
		}

		/* Sidebar */
		.dash-sidebar {
			width: 48px;
			background: rgba(255, 255, 255, .03);
			border-right: 1px solid rgba(255, 255, 255, .06);
			display: flex;
			flex-direction: column;
			align-items: center;
			padding: 14px 0;
			gap: 6px;
			flex-shrink: 0;
		}

		.dash-sidebar-icon {
			width: 32px;
			height: 32px;
			border-radius: 8px;
			display: flex;
			align-items: center;
			justify-content: center;
			color: rgba(255, 255, 255, .3);
			transition: background .2s;
		}

		.dash-sidebar-icon.active {
			background: rgba(99, 102, 241, .2);
			color: #818cf8;
		}

		.dash-sidebar-icon svg {
			width: 16px;
			height: 16px;
		}

		/* Main area */
		.dash-main {
			flex: 1;
			padding: 16px 18px;
			display: flex;
			flex-direction: column;
			overflow: hidden;
		}

		/* Toolbar */
		.dash-toolbar {
			display: flex;
			align-items: center;
			justify-content: space-between;
			margin-bottom: 14px;
			padding-bottom: 10px;
			border-bottom: 1px solid rgba(255, 255, 255, .05);
		}

		.toolbar-left {
			display: flex;
			align-items: center;
			gap: 8px;
		}

		.toolbar-icon {
			width: 24px;
			height: 24px;
			border-radius: 5px;
			background: rgba(99, 102, 241, .15);
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.toolbar-icon svg {
			width: 12px;
			height: 12px;
			color: #818cf8;
		}

		.toolbar-title {
			font-size: 12px;
			font-weight: 600;
			color: rgba(255, 255, 255, .65);
		}

		.toolbar-right {
			display: flex;
			align-items: center;
			gap: 8px;
			font-size: 10px;
			color: rgba(255, 255, 255, .35);
		}

		.toolbar-tag {
			background: rgba(255, 255, 255, .05);
			border: 1px solid rgba(255, 255, 255, .08);
			border-radius: 5px;
			padding: 3px 9px;
		}

		/* Stats row */
		.dash-stats {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 10px;
			margin-bottom: 14px;
		}

		.dash-stat {
			background: rgba(255, 255, 255, .03);
			border: 1px solid rgba(255, 255, 255, .06);
			border-radius: 10px;
			padding: 12px 10px 8px;
			animation: statFadeIn .6s ease both;
		}

		.dash-stat:nth-child(1) { animation-delay: .15s; }
		.dash-stat:nth-child(2) { animation-delay: .25s; }
		.dash-stat:nth-child(3) { animation-delay: .35s; }
		.dash-stat:nth-child(4) { animation-delay: .45s; }

		@keyframes statFadeIn {
			from { opacity: 0; transform: translateY(8px); }
			to { opacity: 1; transform: translateY(0); }
		}

		.dash-stat-label {
			font-size: 9px;
			color: rgba(255, 255, 255, .35);
			margin-bottom: 4px;
		}

		.dash-stat-row {
			display: flex;
			align-items: baseline;
			justify-content: space-between;
		}

		.dash-stat-value {
			font-size: 18px;
			font-weight: 700;
			color: #fff;
		}

		.dash-stat-change {
			font-size: 9px;
			color: #34d399;
			font-weight: 600;
		}

		.dash-stat-sub {
			font-size: 8px;
			color: rgba(255, 255, 255, .25);
			margin-top: 2px;
		}

		.dash-stat-sparkline {
			height: 20px;
			margin-top: 4px;
			overflow: visible;
		}

		.dash-stat-sparkline path {
			stroke-dasharray: 80;
			stroke-dashoffset: 80;
			animation: drawLine 1.8s ease forwards;
		}

		.dash-stat:nth-child(1) .dash-stat-sparkline path { animation-delay: .4s; }
		.dash-stat:nth-child(2) .dash-stat-sparkline path { animation-delay: .6s; }
		.dash-stat:nth-child(3) .dash-stat-sparkline path { animation-delay: .8s; }
		.dash-stat:nth-child(4) .dash-stat-sparkline path { animation-delay: 1s; }

		@keyframes drawLine {
			to { stroke-dashoffset: 0; }
		}

		/* Bottom panels */
		.dash-bottom {
			display: grid;
			grid-template-columns: 1fr 1.2fr 1fr;
			gap: 10px;
			flex: 1;
			min-height: 0;
		}

		.dash-panel {
			background: rgba(255, 255, 255, .03);
			border: 1px solid rgba(255, 255, 255, .06);
			border-radius: 10px;
			padding: 12px;
			display: flex;
			flex-direction: column;
			overflow: hidden;
		}

		.dash-panel-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			margin-bottom: 10px;
		}

		.dash-panel-title {
			font-size: 10px;
			font-weight: 600;
			color: rgba(255, 255, 255, .55);
		}

		.dash-panel-link {
			font-size: 9px;
			color: #6366f1;
			text-decoration: none;
		}

		/* Content summary bars */
		.content-row {
			display: flex;
			align-items: center;
			gap: 8px;
			margin-bottom: 8px;
		}

		.content-dot {
			width: 6px;
			height: 6px;
			border-radius: 50%;
			flex-shrink: 0;
		}

		.content-dot.blue { background: #6366f1; }
		.content-dot.indigo { background: #818cf8; }
		.content-dot.purple { background: #a78bfa; }
		.content-dot.gray { background: rgba(255,255,255,.2); }

		.content-label {
			font-size: 9px;
			color: rgba(255, 255, 255, .4);
			flex: 1;
		}

		.content-bar {
			width: 60px;
			height: 5px;
			background: rgba(255, 255, 255, .06);
			border-radius: 3px;
			overflow: hidden;
		}

		.content-bar-fill {
			height: 100%;
			border-radius: 3px;
			background: #4f46e5;
			animation: barGrow .8s ease forwards;
			transform-origin: left;
			transform: scaleX(0);
		}

		.content-row:nth-child(1) .content-bar-fill { animation-delay: .5s; }
		.content-row:nth-child(2) .content-bar-fill { animation-delay: .6s; }
		.content-row:nth-child(3) .content-bar-fill { animation-delay: .7s; }
		.content-row:nth-child(4) .content-bar-fill { animation-delay: .8s; }

		@keyframes barGrow {
			to { transform: scaleX(1); }
		}

		.content-number {
			font-size: 9px;
			color: rgba(255, 255, 255, .5);
			font-weight: 600;
			min-width: 16px;
			text-align: right;
		}

		/* Bar chart */
		.dash-chart {
			display: flex;
			align-items: flex-end;
			gap: 5px;
			flex: 1;
			padding-top: 8px;
			position: relative;
		}

		.dash-chart-bar {
			flex: 1;
			background: linear-gradient(to top, #3730a3, #6366f1);
			border-radius: 3px 3px 0 0;
			animation: growBar 1s ease forwards;
			transform-origin: bottom;
			transform: scaleY(0);
			position: relative;
		}

		.dash-chart-bar:nth-child(1) { animation-delay: .3s; }
		.dash-chart-bar:nth-child(2) { animation-delay: .4s; }
		.dash-chart-bar:nth-child(3) { animation-delay: .5s; }
		.dash-chart-bar:nth-child(4) { animation-delay: .6s; }
		.dash-chart-bar:nth-child(5) { animation-delay: .7s; }
		.dash-chart-bar:nth-child(6) { animation-delay: .8s; }
		.dash-chart-bar:nth-child(7) { animation-delay: .9s; }

		@keyframes growBar {
			to { transform: scaleY(1); }
		}

		.dash-chart-tooltip {
			position: absolute;
			top: -22px;
			left: 50%;
			transform: translateX(-50%);
			background: #fff;
			color: #111;
			font-size: 8px;
			font-weight: 700;
			padding: 2px 6px;
			border-radius: 4px;
			white-space: nowrap;
			opacity: 0;
			animation: tooltipIn .3s 1.2s ease forwards;
		}

		@keyframes tooltipIn {
			to { opacity: 1; }
		}

		.dash-chart-labels {
			display: flex;
			justify-content: space-between;
			font-size: 8px;
			color: rgba(255, 255, 255, .2);
			margin-top: 6px;
		}

		/* Activity feed */
		.activity-item {
			display: flex;
			align-items: center;
			gap: 6px;
			margin-bottom: 7px;
		}

		.activity-dot {
			width: 5px;
			height: 5px;
			border-radius: 50%;
			flex-shrink: 0;
		}

		.activity-dot.green { background: #22c55e; }
		.activity-dot.blue { background: #3b82f6; }
		.activity-dot.yellow { background: #eab308; }
		.activity-dot.purple { background: #8b5cf6; }

		.activity-text {
			font-size: 9px;
			color: rgba(255, 255, 255, .4);
			flex: 1;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
		}

		.activity-time {
			font-size: 8px;
			color: rgba(255, 255, 255, .2);
			flex-shrink: 0;
		}

		/* === Cards laterales (derecha) === */
		.cards-productos {
			display: flex;
			flex-direction: column;
			gap: 16px;
		}

		.card-producto {
			background: #fff;
			border: 1px solid #ebebef;
			border-radius: 18px;
			padding: 41px 24px;
			display: flex;
			align-items: flex-start;
			gap: 18px;
			text-decoration: none;
			transition: transform .3s ease, box-shadow .3s ease, border-color .3s;
		}

		.card-producto:hover {
			transform: translateY(-3px);
			box-shadow: 0 8px 28px rgba(0, 0, 0, .06);
			border-color: #d4d0f9;
		}

		.card-producto-icono {
			width: 58px;
			height: 58px;
			border-radius: 16px;
			background: #f3f0ff;
			display: flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
		}

		.card-producto-icono svg {
			width: 28px;
			height: 28px;
			color: #7c3aed;
			stroke-width: 1.5;
		}

		.card-producto-body {
			flex: 1;
		}

		.card-producto-subtitulo {
			font-size: 12px;
			font-weight: 600;
			color: #6366f1;
			margin-bottom: 2px;
		}

		.card-producto-titulo {
			font-size: 26px;
			font-weight: 700;
			color: #111;
			margin-bottom: 8px;
			line-height: 1.2;
		}

		.card-producto-desc {
			font-size: 13.5px;
			line-height: 1.55;
			color: #666;
		}

		.card-producto-arrow {
			width: 42px;
			height: 42px;
			border-radius: 50%;
			border: 1px solid #e2e2e6;
			display: flex;
			align-items: center;
			justify-content: center;
			flex-shrink: 0;
			align-self: center;
			transition: background .2s, border-color .2s;
		}

		.card-producto:hover .card-producto-arrow {
			background: #6366f1;
			border-color: #6366f1;
		}

		.card-producto-arrow svg {
			width: 16px;
			height: 16px;
			color: #6366f1;
			transition: color .2s;
		}

		.card-producto:hover .card-producto-arrow svg {
			color: #fff;
		}

		/* Responsive dashboard */
		@media (max-width: 900px) {
			.dash-stats {
				grid-template-columns: repeat(2, 1fr);
			}
			.dash-bottom {
				grid-template-columns: 1fr;
			}
			.dash-sidebar {
				display: none;
			}
		}

		/* ============================
		   SECCIÓN IA (NEXORIA)
		   ============================ */
		.modulo-ia {
			/*margin-bottom: 40px;*/
		}

		.bg-grid-soft {
			position: absolute;
			inset: 0;
			opacity: .4;
			background-image: linear-gradient(90deg, #ffffff0f 1px, transparent 1px), linear-gradient(#ffffff0f 1px, transparent 1px);
			background-size: 48px 48px;
		}

		.section-ia {
			background: linear-gradient(135deg, #0b0814 0%, #110d1e 50%, #0c0a1a 100%);
			border-radius: 20px;
			padding: 56px 48px;
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 48px;
			align-items: center;
			min-height: 480px;
			position: relative;
			overflow: hidden;
		}

		.section-ia .left {
			position: relative;
			z-index: 1;
		}

		.badge {
			display: inline-flex;
			align-items: center;
			gap: 7px;
			background: rgba(255, 255, 255, .06);
			border: 1px solid rgba(255, 255, 255, .1);
			border-radius: 999px;
			padding: 5px 14px;
			margin-bottom: 28px;
		}

		.badge-dot {
			width: 7px;
			height: 7px;
			border-radius: 50%;
			background: #8b5cf6;
		}

		.badge-text {
			font-size: 11px;
			font-weight: 600;
			letter-spacing: .1em;
			text-transform: uppercase;
			color: rgba(255, 255, 255, .5);
		}

		.titulo-ia {
			font-size: 42px;
			font-weight: 700;
			line-height: 1.1;
			letter-spacing: -.03em;
			color: #fff;
			margin-bottom: 20px;
		}

		.titulo-ia .accent-blue {
			background: linear-gradient(1deg, #bcb4ff 0%, #aeb4ff 100%);
			-webkit-background-clip: text;
			background-clip: text;
			-webkit-text-fill-color: transparent;
			color: transparent;
		}

		.titulo-ia .accent-pink {
			background: linear-gradient(45deg, #c084fc 0%, #6366f1 100%);
			-webkit-background-clip: text;
			background-clip: text;
			-webkit-text-fill-color: transparent;
			color: transparent;
		}

		.section-ia .desc {
			font-size: 15px;
			line-height: 1.7;
			color: rgba(255, 255, 255, .86);
			max-width: 420px;
			margin-bottom: 32px;
		}

		.section-ia .cta {
			display: flex;
			align-items: center;
			gap: 16px;
		}

		/* ============================
		   SECCIÓN CTA FINAL
		   ============================ */
		.cta-section {
			background: linear-gradient(135deg, #0b0814 0%, #110d1e 50%, #0c0a1a 100%);
			border-radius: 20px;
			padding: 56px 48px;
			display: grid;
			align-items: center;
			position: relative;
			overflow: hidden;
		}

		.cta-section::before {
			content: '';
			position: absolute;
			inset: 0;
			background-image:
				linear-gradient(rgba(120, 100, 220, .07) 1px, transparent 1px),
				linear-gradient(90deg, rgba(120, 100, 220, .07) 1px, transparent 1px);
			background-size: 56px 56px;
			pointer-events: none;
			z-index: 0;
		}

		.cta-inner {
			position: relative;
			z-index: 1;
			text-align: center;
			padding-top: 20px;
		}

		.cta-badge {
			display: inline-flex;
			align-items: center;
			gap: 7px;
			background: rgba(255, 255, 255, .85);
			border: 1px solid rgba(130, 110, 220, .2);
			border-radius: 999px;
			padding: 6px 16px;
			font-size: 11px;
			font-weight: 700;
			letter-spacing: .1em;
			text-transform: uppercase;
			color: #555;
			margin-bottom: 36px;
			backdrop-filter: blur(4px);
		}

		.cta-badge .badge-dot {
			background: #22c55e;
			animation: pulse-dot 2s infinite;
		}

		@keyframes pulse-dot {
			0%, 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, .45); }
			50% { box-shadow: 0 0 0 5px rgba(34, 197, 94, 0); }
		}

		.cta-heading {
			font-size: 62px;
			font-weight: 700;
			line-height: 1.1;
			letter-spacing: -.03em;
			color: #fff;
			margin: 0 0 22px;
		}

		.cta-heading .accent {
			background: linear-gradient(135deg, #7c5fe6 0%, #c084fc 100%);
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			background-clip: text;
		}

		.cta-subtitle {
			font-size: 17px;
			line-height: 1.7;
			color: #eae9e9;
			max-width: 520px;
			margin: 0 auto 40px;
		}

		.cta-actions {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 20px;
			flex-wrap: wrap;
			margin-bottom: 52px;
		}

		.cta-email {
			font-size: 14px;
			color: #eae9e9;
		}

		.cta-email a {
			color: #b980f9;
			text-decoration: none;
			font-weight: 500;
		}

		.cta-email a:hover {
			text-decoration: underline;
		}

		.cta-pills {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 32px;
			flex-wrap: wrap;
			border-top: 1px solid rgba(0, 0, 0, .07);
			padding-top: 28px;
		}

		.cta-pill {
			display: flex;
			align-items: center;
			gap: 8px;
			font-size: 13px;
			color: #666;
			font-weight: 500;
		}

		.cta-pill svg {
			flex-shrink: 0;
			color: #6d51e0;
		}

		/* CTA Animations */
		.cta-badge { animation: fadeUp .5s 0s both; }
		.cta-heading { animation: fadeUp .55s .08s both; }
		.cta-subtitle { animation: fadeUp .55s .16s both; }
		.cta-actions { animation: fadeUp .55s .24s both; }
		.cta-pills { animation: fadeUp .55s .32s both; }

		@keyframes fadeUp {
			from { opacity: 0; transform: translateY(18px); }
			to { opacity: 1; transform: translateY(0); }
		}

		/* ============================
		   BLUR INFERIOR FIJO
		   ============================ */
		.framer-s3srx4-container {
			bottom: 0;
			height: 100px;
			position: fixed;
			z-index: 3;
			width: 100%;
			left: 0;
		}

		@media (max-width: 809.98px) {
			.framer-s3srx4-container {
				height: 70px;
			}
		}

		/* ============================
		   RESPONSIVE
		   ============================ */
		@media (max-width: 768px) {
			.section-ia {
				grid-template-columns: 1fr;
				padding: 40px 24px;
			}

			.titulo-ia {
				font-size: 30px;
			}

			.cta-heading {
				font-size: 38px;
			}

			.cta-section {
				padding: 56px 24px 44px;
			}

			.cta-actions {
				flex-direction: column;
				gap: 14px;
			}

			.cta-pills {
				gap: 18px;
			}
		}

/*---------------------*/

.datos-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-radius: 16px;
	padding-top: 40px;
	gap: 20px;
	margin-bottom: 20px;
}
.datos-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.datos-numero {
    font-size: 28px;
    font-weight: 700;
    color: #7c5cfc;
    line-height: 1;
    background: linear-gradient(1deg, #6864f1 0%, #a78bfa 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}	
.datos-texto {
    font-size: 15px;
    color: #535353;
    line-height: 19px;
}	
	
@media (max-width:767px){
.datos-item {
text-align: center;
        border: solid 1px #eaeaea;
        border-radius: 11px;
        padding: 15px;
}	
}	

  /* PARALLAX MARQUEE */
  .marquee-section {
    padding: 3rem 0;
	margin-top: 50px;
    overflow: hidden;
    border-top: 1px solid rgba(155,143,248,0.08);
    border-bottom: 1px solid rgba(155,143,248,0.08);
  }
  .marquee-track {
    display: flex;
    white-space: nowrap;
    animation: marquee 20s linear infinite;
    gap: 0;
  }
  .marquee-track:hover { animation-play-state: paused; }
  .marquee-item {
    display: inline-flex; align-items: center; gap: 12px;
    padding: 0 2.5rem;
    font-size: 15px;
    font-weight: 600;
    color: #cbcbe2;
    flex-shrink: 0;
  }
  .marquee-item .dot {
    width: 5px; height: 5px;
    border-radius: 50%;
    background: #6d64f3;
    opacity: 0.9;
    position: relative;
    animation: none;
  }
  @keyframes marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }