@import url("fontawesome-all.min.css");
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,300italic,400italic");
	
	body, input, select, textarea {
		color: #777;
		font-family: "Source Sans Pro", sans-serif;
		font-size: 16pt;
		font-weight: 300;
		line-height: 1.65em;
		letter-spacing: -0.015em;
	}

    input[type="checkbox"] + label, input[type="radio"] + label {
        text-align: left;
        margin-left: 40%;
        margin-right: 50%;
        /* display: block; */
    }
	
			.landing.is-preload #page-wrapper #main .box.special.features .features-row section li {
	text-align: left;
}
        /* Variables de colores y fuentes */
        :root {
            --primary: #00AE99; /* antes #1a3a5f;*/
            --secondary: #00AE99; /* antes #2c5f8a;*/
            --accent: #00AE99; /* antes #d4af37;*/
            --light: #f8f9fa;
            --dark: #212529;
            --gray: #6c757d;
            --font-main: "Source Sans Pro", sans-serif;
			--verde2: #66cccc;
			--verde3: #33ffcc;
			--grisverde4: #999999;
        }
		
		.verde1{
			color: var(--primary)!important;
		}
		
		.verde2{
			color: var(--verde2)!important;
		}
		
		.verde3{
			color: var(--verde3)!important;
		}
		
		.verde4{
			color: var(--grisverde4)!important;
		}
        
        /* Reset y estilos base */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: var(--font-main);
            line-height: 1.6;
            color: var(--dark);
            background-color: var(--light);
        }
		
		/* Por defecto (escritorio) el botón está oculto */
		.hamburger {
			display: none;
			cursor: pointer;
		}

		.bar {
			display: block;
			width: 25px;
			height: 3px;
			margin: 5px auto;
			transition: all 0.3s ease-in-out;
			background-color: var(--primary);
		}

        .btnformcontacto{
            display: flex;
            margin-left: auto;
            margin-right: auto;
            padding: 12px 30px;
            background-color: var(--accent);
            color: white;
            border: none;
            border-radius: 8px;
            font-weight: 700;
            font-size: 1.5em;
            cursor: pointer;
            transition: all 0.3s ease;
            margin-bottom: 75px;
            width: 50%;
            max-width: 350px;
            text-align: center;
            justify-content: center;
            border: #00AE99 1px solid;
        }

        .btnformcontacto:hover {
            background-color: white; /* antes c19b2a;*/
            color: var(--accent);
            border: #00AE99 1px solid;
        }

		/* Media Query MODIFICADA para Mobile */
		@media (max-width: 768px) {
			.hamburger {
				display: block; /* Mostrar botón en móvil */
			}

			.hamburger.active .bar:nth-child(2) {
				opacity: 0;
			}

			.hamburger.active .bar:nth-child(1) {
				transform: translateY(8px) rotate(45deg);
			}

			.hamburger.active .bar:nth-child(3) {
				transform: translateY(-8px) rotate(-45deg);
			}

			.nav-links {
				position: fixed; /* Fijo para cubrir la pantalla o bajar desde el header */
				left: -100%; /* Oculto a la izquierda */
				top: 70px; /* Altura aproximada del header */
				gap: 0;
				flex-direction: column;
				background-color: white;
				width: 100%;
				text-align: center;
				transition: 0.3s;
				box-shadow: 0 10px 10px rgba(0,0,0,0.1);
				padding: 20px 0;
			}

			.nav-links.active {
				left: 0; /* Mostrar menú */
			}

			.nav-links li {
				margin: 16px 0;
			}
		}

		.close-menu {
			display: none;
			cursor: pointer;
		}

        #banner{
            background-image: url("images/nada.png"), url("../../images/banner-bajada_ok-10-anos-wider.webp")!important;
        }

        @media (min-width: 1400px){
            #banner{
                background-position: top;
                background-size: contain;
                background-color: #085a52;
            }
        }

		/* Dentro del Media Query de Mobile (max-width: 768px) */
		@media (max-width: 768px) {
			/* ... tus otros estilos de .nav-links y .hamburger ... */

			.close-menu {
				display: block; /* Mostrar solo en móvil */
				position: absolute; /* Posición libre dentro del menú */
				top: 20px;
				right: 30px;
				font-size: 3rem; /* Tamaño grande */
				color: var(--primary); /* Usa el color principal de tu marca */
				line-height: 1;
				font-weight: bold;
				transition: color 0.3s;
			}
			
			.close-menu:hover {
				color: var(--accent); /* Color al pasar el mouse */
			}
		}
        
        .top{
            background-repeat: no-repeat;
            background-size: cover;
            padding: 1em 0!important;
        }

        .top-talento{
            background-image: url(../../images/top-talento.webp);
        }
        
        .top-legado{
            background-image: url(../../images/top-legado.webp);
        }

        .top-management{
            background-image: url(../../images/top-management.webp);
        }  
        
        .top-gestion{
            background-image: url(../../images/top-gestion.webp);
        }          

        .top header{
            display: flex;
            flex-direction: column;
            align-content: center;
            align-items: center;
        }

        .top header h2, .top header p{
            color: white !important;
            width: 90% !important;
            max-width: 1200px !important;
            padding: 0% 10% 0 10% !important;
        }

        .top header p{
            padding-left: 10%;
            padding-right: 10%;
        }
        
        a {
            text-decoration: none;
            color: inherit;
            font-weight: 400;
        }
        
        ul {
            list-style: none;
        }
        
        .container {
            width: 90%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 15px;
        }

        #main header .sinborde{
            border: none!important;
            border-top: none!important;
            padding: unset!important;
            text-align: left!important;
            width: 100%!important;
        }

        .menormargentop{
            padding: 0em 0!important;
        }
        
        .btn {
            display: inline-block;
            padding: 12px 30px;
            background-color: var(--accent);
            color: white;
            border: none;
            border-radius: 4px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .btn:hover {
            background-color: white; /* antes c19b2a;*/
            transform: translateY(-2px);
            color: var(--accent);
        }
        
        .btn-outline {
            background-color: transparent;
            border: 2px solid var(--accent);
            color: var(--accent);
        }
        
        .btn-outline:hover {
            background-color: var(--accent);
            color: white;
        }
        
        section {
            padding: 20px 0; /* antes 80px */
        }

        .top header h1 {
            font-size: 4rem;
            margin-bottom: 20px;
            font-weight: 700;
            color: white;
            padding: 250px 190px 50px;
        }
        
        .section-header {
            text-align: center;
            margin-bottom: 60px;
        }
        
        .section-header h2 {
            font-size: 2.75rem;
            color: var(--primary);
            margin-bottom: 15px;
        }

        .section-header h3 {
            font-size: 2rem;
            color: var(--primary);
            margin-bottom: 15px;
            margin-top: 55px;
        }        
        
        .section-header p {
            font-size: 1.1rem;
            color: var(--gray);
            max-width: 700px;
            margin: 0 auto;
        }
        
        /* Header */
        header {
            background-color: white;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
        }

        #main header{
            position: unset;
            box-shadow: none;
            background-color: transparent;
        }
        
        .navbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 0;
        }
        
        .logo {
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--primary);
        }
        
        .logo span {
            color: var(--accent);
        }
        
        .nav-links {
            display: flex;
            gap: 30px;
        }
        
        .nav-links a {
            font-weight: 500;
            transition: color 0.3s ease;
        }
        
        .nav-links a:hover {
            color: var(--accent);
        }
        
        /* Hero Section */
        .hero {
            background: linear-gradient(rgb(0 174 156 / 80%), rgb(102 204 204 / 80%)), url(https://images.unsplash.com/photo-1579621970563-ebec7560ff3e?ixlib=rb-4.0.3&auto=format&fit=crop&w=1951&q=80);
            background-size: cover;
            background-position: center;
            color: white;
            text-align: center;
            padding: 180px 0 100px;
        }
        
        .hero h1 {
            font-size: 3.5rem;
            margin-bottom: 20px;
        }
        
        .hero p {
            font-size: 1.3rem;
            max-width: 700px;
            margin: 0 auto 30px;
        }
        
        /* Grid de acuerdos */
        .agreements-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
            
            /* 1. Esto fuerza a que las filas se peguen arriba y no dejen espacio en medio */
            align-content: start; 

            /* 2. Asegúrate de NO tener una altura fija. Pon esto por si acaso: */
            height: auto; 
            min-height: 0; /* A veces necesario para 'resetear' alturas heredadas */   
            margin-bottom: 50px;      
        }
        
        .agreement-card {
            background-color: white;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease;
            padding: 30px;
            text-align: center;
            min-height: 170px;
        }
        
        .agreement-card:hover {
            transform: translateY(-10px);
        }
        
        .agreement-number {
            font-size: 3rem;
            font-weight: 700;
            color: var(--accent);
            margin-bottom: 15px;
        }
        
        .agreement-card h3 {
            font-size: 1.1rem;
            margin-bottom: 15px;
            color: var(--primary);
        }

        .grid-descarga{
            display: flex;
            justify-content: center;
        }
        
        /* Servicios especializados */
        .services-grid {
			display: grid;
			grid-template-columns: repeat(auto-fit, minmax(80%, 1fr));
			gap: 30px;
            margin-bottom: 50px;
        }
        
        .service-card {
			display: flex;
			background-color: white;
			border-radius: 8px;
			overflow: hidden;
			box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
			transition: transform 0.3s ease;
			padding: 30px;
			text-align: center;
			justify-content: flex-start;
			flex-direction: row;
			align-items: center;
        }
        
        .service-card:hover {
            transform: translateY(-10px);
        }
        
        .service-card h3 {
            font-size: 3.3rem;
            margin-bottom: 13px!important;
            margin-right: 40px!important;
            font-weight: 500;
            margin-left: -20px !important;
        }

        .service-card div img{
            border-radius: 6px;
        }

        .sc-cliorg h3 {
            font-size: 3.3rem;
            margin-bottom: 15px;
			margin-right: 15px;
            color: white !important;
			font-weight: 500;
        }
        
        .service-card p {
            color: var(--gray);
			text-align: left;
            margin: 0 0 0em 0!important;
        }

        .service-card div ol li{
            text-align: left;
        }

        .img-iso-logos{
            width: 100%;
            max-width: 550px;
        }

        .sc-interna{
            margin-top: 1%;
            margin-bottom: 1%;
        }

        .sg-man{
            .service-card{
                background-position: -29px;
                background-size: 120px;
                background-repeat: no-repeat;
                div ul li{
                    text-align: left;
                }
            }
            .sc-man-01{
                background-image: url(../../images/01-man.webp);
            }
            .sc-man-02{
                background-image: url(../../images/02-man.webp);
            }
            .sc-man-03{
                background-image: url(../../images/03-man.webp);
            }
            .sc-man-04{
                background-image: url(../../images/04-man.webp);
            }   
            .sc-ges-01{
                background-image: url(../../images/01-ges.webp);
            } 
            .sc-cliorg{
                background-image: url(../../images/01-cliorg.webp);
            } 
            .sc-remoto-01{
                background-image: url(../../images/01-remoto.webp);
            }   
            .sc-remoto-02{
                background-image: url(../../images/02-remoto.webp);
            } 
            .sc-remoto-03{
                background-image: url(../../images/03-remoto.webp);
            }  
            .sc-remoto-04{
                background-image: url(../../images/04-remoto.webp);
            }  
            .sc-remoto-05{
                background-image: url(../../images/05-remoto.webp);
            }                                                                                                                    
        }
        
        /* CTA */
        .cta {
            background: linear-gradient(rgba(44, 95, 138, 0.9), rgba(44, 95, 138, 0.9)), url('https://images.unsplash.com/photo-1579621970563-ebec7560ff3e?ixlib=rb-4.0.3&auto=format&fit=crop&w=1951&q=80');
            background-size: cover;
            background-position: center;
            color: white;
            text-align: center;
            padding: 100px 0;
        }
        
        .cta h2 {
            font-size: 2.5rem;
            margin-bottom: 20px;
        }
        
        .cta p {
            font-size: 1.2rem;
            max-width: 700px;
            margin: 0 auto 30px;
        }      
		
		.picture{
			with: 100%;
			/*margin-top: 10%;
			margin-bottom: 10%;*/
		}
        
        /* Footer */
        footer {
            background-color: var(--dark);
            /*color: white;*/
            padding: 60px 0 30px;
        }
        
        .footer-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 40px;
            margin-bottom: 40px;
        }
        
        .footer-column h3 {
            font-size: 1.3rem;
            margin-bottom: 20px;
            color: var(--accent);
            img{
                vertical-align: text-bottom;
                width: 25px;
            }
        }
        
        .footer-column ul li {
            margin-bottom: 10px;
        }
        
        .footer-column ul li a:hover {
            color: var(--accent);
        }
        
        .footer-bottom {
            text-align: center;
            padding-top: 30px;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
        }

        .agreement-section{
            flex-direction: column!important;
        }

        .img-flex{
            display: flex!important;
            justify-content: center;
            width: 100%;
            margin-bottom: 80px;
        }

        .pc{
            display: block;
        }

        .celu{
            display: none;
        }

        .navpc ul{
            user-select: none!important;
            display: inline-flex!important;
            position: absolute!important;
            right: 0px!important;
            top: 0px!important;
        }

        .dropotron{
            display: none!important;
        }

        #header nav > ul > li.active a:not(.button) {
            background-color: transparent!important;
            text-wrap-mode: nowrap!important;
        }

        #header nav > ul > li.active a:not(.button):hover {
            text-decoration: underline !important;
        }

        #menuhijo{
            display: none;
            position: absolute;
            background-color: #00AE99;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            padding: 10px 0;
            border-radius: 4px;
            margin-top: 55px;
            right: 30%;
            z-index: 1000;
        }

        #menupadre:hover + #menuhijo, #menuhijo:hover {
            display: block!important;
        }        

        .listado-servicios{
            z-index: 10;
            position: absolute;
            top: 50px;
        }

        .service-card{
            ul.actions.special {
                width: 45%;
                justify-content: right;
                margin-bottom: 0;
            }
        }

        .destacados-home .box.special{
            min-height: 615px;
        }

        .destacados-home .box a .image.featured {
            margin-bottom: 0!important;
            margin-top: -3em!important;
            border-radius: 0 0 0 0;
        }

        .destacados-home .box a .image.featured img {
            border-radius: 6px 6px 0 0;
        }

        @media screen and (max-width: 840px) {
            #navPanel .link:first-child {
                border-top: 10px;
                /* margin: auto; */
                margin-top: 55px;
                color: white;
                margin-bottom: 21px;
            }
        }        
        
        /* Responsive */
        @media (max-width: 768px) {
            .pc{
                display: none;
            }

            .celu{
                display: block;
            }

            .navbar {
                flex-direction: row;
                gap: 20px;
            }
            
            .nav-links {
                flex-wrap: wrap;
                justify-content: center;
            }
            
            .hero h1 {
                font-size: 2.5rem;
            }
            
            .hero p {
                font-size: 1.1rem;
            }
            
            .section-header h2 {
                font-size: 2rem;
            }
			
			.service-card {
				padding: 15px;
				flex-direction: column;
				h3, p{
					margin-bottom: 0;
				}
			}

            .service-card h3 {
                padding-top: 0px!important;
                margin-right: -15px!important;
            }            

            #main header{
                width: 85%;
            }

            .sg-man{
                .service-card{
                    background-position: top;
                    h3, p{
                        padding-top: 20px;
                    }
                }                                    
            }
        }


/* Contenedor de las cajas Clietes-Proyectos */
.stats-container {
    display: flex;
    gap: 30px; /* Espacio entre las cajas */
    flex-wrap: wrap; /* Para que se adapte a móviles */
    margin-bottom: 50px;
    justify-content: space-between;
}

/* Estilo de cada Caja */
.stat-box {
    background: white;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    text-align: center;
    width: 45%; /* Dos cajas por fila */
    border-top: 5px solid var(--primary); /* Un borde de color arriba */
    transition: transform 0.3s ease;
}

.stat-box:hover {
    transform: translateY(-5px); /* Pequeña animación al pasar el mouse */
}

/* El número grande */
.stat-number {
    display: block;
    font-size: 3.5rem;
    font-weight: 800;
    color: #333;
    margin-bottom: 10px;
}

/* El texto (+ símbolo) */
.stat-label {
    font-size: 1.2rem;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 1px;
}
