    /* Reset y fuente */
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Poppins', sans-serif;
    }

    body {
        background: #f9f9f9;
        color: #333;
    }

    /* HEADER */
    header {
        background-color: #275e95;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px 60px;
        position: sticky;
        top: 0;
        z-index: 10;
    }

    .logo img {
        height: 50px;
    }

    .menu a {
        color: #fff;
        margin-left: 25px;
        text-decoration: none;
        font-weight: 500;
        position: relative;
        transition: color 0.3s ease;
    }

    .menu a:hover,
    .menu a.activo {
        color: #ffcc00;
    }

    .menu a.activo::after {
        content: '';
        position: absolute;
        bottom: -5px;
        left: 0;
        width: 100%;
        height: 3px;
        background-color: #ffcc00;
    }

    /* ========== CARRUSEL ========== */

    .banner {
        position: relative;
        height: 100vh;
        overflow: hidden;
    }

    /* CONTENEDOR DEL CARRUSEL */
    .carrusel-banner {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    /* SLIDES */
    .slide {
        position: absolute;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center;

        /* Degradado + imagen */
        background-blend-mode: darken;
        background-color: rgba(0, 0, 0, 0.45);

        opacity: 0;
        transition: opacity 1.6s ease-in-out;
    }

    .slide.activo {
        opacity: 1;
    }

    /* TEXTO */

    .texto-banner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -40%);
        width: 80%;
        text-align: center;
        color: white;

        /* Tamaño más grande */
        font-size: 1.5rem;
        font-weight: 400;

        opacity: 0;
        transition: opacity 1.3s ease, transform 1.3s ease;
    }

    /* Animación de entrada */
    .texto-banner.mostrar {
        opacity: 1;
        transform: translate(-50%, -48%);
    }

    /* EFECTO DE FLOTAR SUAVE */
    .texto-banner h1,
    .texto-banner p {
        animation: flotar 4s ease-in-out infinite;
    }

    @keyframes flotar {
        0% {
            transform: translateY(0px);
        }

        50% {
            transform: translateY(-14px);
        }

        100% {
            transform: translateY(0px);
        }
    }

    /* ========== LOGO FLOTANDO ========== */

    .imagen-banner img {
        position: absolute;
        bottom: 40px;
        right: 40px;
        width: 220px;

        animation: flotar-logo 4s ease-in-out infinite;
        filter: drop-shadow(0 0 10px rgba(0, 0, 0, .5));
    }

    @keyframes flotar-logo {
        0% {
            transform: translateY(0px);
        }

        50% {
            transform: translateY(-10px);
        }

        100% {
            transform: translateY(0px);
        }
    }

    /* ========== TEXTO AÚN MÁS DESTACADO EN MÓVIL ========== */
    @media (max-width: 768px) {
        .texto-banner {
            font-size: 1.6rem;
        }

        .imagen-banner img {
            width: 150px;
            right: 20px;
            bottom: 20px;
        }
    }

    .valores {
        position: relative;
        padding: 80px 40px;
        color: white;
        overflow: hidden;
    }

    .valores h2 {
        position: relative;
        /* Necesario para z-index */
        z-index: 2;
        /* Encima del carrusel */
        text-align: center;
        font-family: 'Montserrat', sans-serif;
        font-size: 42px;
        margin-bottom: 50px;
        opacity: 0;
        /* Comienza oculto */
        transform: translateY(50px);
        transition: all 1s ease;
        color: #FFD700;
        /* Color brillante */
        text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
        /* Para que resalte */
    }




    /* Carrusel de fondo */
    .valores-fondo {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
        overflow: hidden;
    }

    .valores-fondo .slide {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center;
        opacity: 0;
        transition: opacity 1s ease;
    }

    .valores-fondo .slide.activo {
        opacity: 1;
    }

    /* Grid de tarjetas */
    .valores-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 30px;
        position: relative;
        z-index: 1;
        /* para que esté sobre el fondo */
    }

    /* Tarjetas */
    .valor-tarjeta {
        background: rgba(0, 0, 0, 0.5);
        padding: 25px;
        border-radius: 12px;
        text-align: center;
        opacity: 0;
        transform: scale(0.7);
        transition: all 0.8s ease;
    }

    .valor-tarjeta.activo {
        opacity: 1;
        transform: scale(1);
    }

    .valor-tarjeta .icono {
        font-size: 40px;
        margin-bottom: 15px;
        color: #ffd700;
    }

    .valor-tarjeta h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .valor-tarjeta p {
        font-size: 16px;
        line-height: 1.6;
    }


    /* Sección y título */
.politica-seguridad {
    position: relative;
    color: #fff;
    padding: 60px 20px;
    overflow: hidden;
}

.politica-seguridad h3 {
    text-align: center;
    margin-bottom: 40px;
    font-size: 2em;
    position: relative;
    z-index: 2;
}

/* Carrusel de fondo */
.carrusel-fondo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.carrusel-fondo .slide {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.carrusel-fondo .slide.activo {
    opacity: 1;
}

/* Contenedor de perfiles */
.seguridad-perfiles {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    position: relative;
    z-index: 2; /* Encima del carrusel */
}

/* Cada perfil */
.perfil {
    background: rgba(0, 0, 0, 0.6);
    padding: 20px;
    max-width: 300px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    border-radius: 0; /* Cuadrado */
}

.perfil img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    margin-bottom: 15px;
}

.perfil .contenido {
    font-size: 0.95em;
    line-height: 1.5;
}




    /* FOOTER */
    .footer {
        background-color: #275e95;
        color: white;
        padding: 60px 20px;
    }

    .footer-container {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 40px;
    }

    .footer-left,
    .footer-center,
    .footer-right {
        flex: 1;
        min-width: 200px;
        margin: 10px;
    }

    .footer-logo {
        width: 100px;
        margin-bottom: 10px;
    }

    .footer-left p {
        margin: 5px 0;
    }

    .footer-center ul {
        list-style: none;
        padding: 0;
    }

    .footer-center ul li {
        margin: 8px 0;
    }

    .footer-center ul li a {
        color: white;
        text-decoration: none;
    }

    .footer-center ul li a:hover {
        text-decoration: underline;
    }

    .footer-right h3 {
        margin-bottom: 10px;
    }

    .social-icons a img {
        width: 24px;
        margin-right: 10px;
        transition: transform 0.3s ease;
    }

    .social-icons a img:hover {
        transform: scale(1.2);
    }

    .footer-center p {
        font-size: 1.2em;
        color: #9a9a97;
        margin-bottom: 10px;
    }

    .footer-left i {
        margin-right: 10px;
        color: #fc2020;
    }

    /* RESPONSIVE */
    @media (max-width: 768px) {

        .inicio-container,
        .mision-vision .container,
        .servicio-container {
            display: flex;
            flex-direction: column;
            gap: 30px;
        }

        .menu {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        header {
            flex-direction: column;
            text-align: center;
        }
    }

    /* Estilo general del ícono hamburguesa */
    .menu-toggle {
        display: none;
        font-size: 28px;
        color: white;
        cursor: pointer;
    }

    /* RESPONSIVE */
    @media (max-width: 768px) {

        .inicio-container,
        .mision-vision .container,
        .servicio-container {
            display: flex;
            flex-direction: column;
            gap: 30px;
        }

        .menu {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        header {
            flex-direction: column;
            text-align: center;
        }
    }

    /* Estilo general del ícono hamburguesa */
    .menu-toggle {
        display: none;
        font-size: 28px;
        color: white;
        cursor: pointer;
    }

    /* Responsive */
    @media (max-width: 1024px) {
        .menu {
            display: none;
            flex-direction: column;
            background-color: #003366;
            position: absolute;
            top: 100%;
            right: 0;
            width: 100%;
            text-align: center;
        }

        .menu a {
            margin: 15px 0;
            display: block;
        }

        .menu-toggle {
            display: block;
        }

        .menu.active {
            display: flex;
        }

        header {
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            text-align: left;
        }
    }

    /*  SECCIÓN COMPLETA  */
    .nosotros-section {
        padding: 80px 40px;
        background: linear-gradient(135deg, #1a237e, #4d4d4d);
        color: white;
    }

    /*  TÍTULO  */
    .nosotros-titulo {
        font-family: 'Montserrat', sans-serif;
        font-size: 42px;
        font-weight: 800;
        color: #ffffff;
        margin-bottom: 30px;

        /* Inicial oculto */
        opacity: 0;
        transform: translateY(50px);
        transition: all 1s ease;
    }

    /* Aparece cuando hace scroll */
    .nosotros-titulo.activo {
        opacity: 1;
        transform: translateY(0);
    }

    /*  LAYOUT  */
    .nosotros-contenedor {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    /*  TEXTO  */
    .nosotros-texto p {
        font-family: 'Poppins', sans-serif;
        font-size: 17px;
        line-height: 1.8;
        margin-bottom: 15px;
        text-align: justify;

        /* Inicial oculto */
        opacity: 0;
        transform: translateY(20px);
        transition: all 1s ease;
    }

    /* Párrafos activos: aparecen y flotan */
    .nosotros-texto p.activo {
        opacity: 1;
        transform: translateY(0);
        /*animation: flotar 3s ease-in-out infinite alternate;*/
    }

    /* Animación flotante */
    @keyframes flotar {
        0% {
            transform: translateY(0);
        }

        100% {
            transform: translateY(-10px);
        }
    }

    /*  IMAGEN PRINCIPAL  */
    .nosotros-img img {
        width: 100%;
        border-radius: 12px;
        border: 4px solid rgba(255, 255, 255, 0.4);
        box-shadow: 0 0 25px rgba(0, 0, 0, .4);

        opacity: 0;
        transform: rotate(0deg) scale(0.8);
        transition: transform 1s ease, opacity 1s ease;
    }

    /* Imagen animada al entrar */
    .nosotros-img img.activo {
        opacity: 1;
        transform: rotate(360deg) scale(1);
    }

    /****************************/
    /* SECCIÓN COLLAGE */
    .collage-section {
        position: relative;
        padding: 80px 40px;
        background: linear-gradient(135deg, #00074f, #40406b);
        /* color base oscuro para contraste */
        overflow: hidden;
    }

        /* FONDO DE HERRAMIENTAS FLOTANTES */
    .herramientas-fondo {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
        pointer-events: none;
        overflow: hidden;
        /* Aclarado profesional */
        background: linear-gradient(
          135deg,
          rgba(77, 187, 255, 0.8),   /* Azul claro */
          rgba(255, 213, 74, 0.5),   /* Amarillo */
          rgba(255, 255, 255, 0.5)   /* Blanco */
        );
        backdrop-filter: blur(3px); /* opcional, queda muy elegante */
    }
    
    /* Iconos flotantes */
    .icono-herramienta {
        position: absolute;
    
        /* ALTAMENTE VISIBLES */
        opacity: 1; /* antes 0.1 → por eso no se veían */
    
        /* COLOR SUPER OSCURO PARA QUE HAGA CONTRASTE */
        color: #0d1b2a; /* azul acero casi negro */
        fill: #0d1b2a;  /* aplica si fueran SVG */
    
        /* SOMBRA MÁS MARCADA PARA SEPARARLOS DEL FONDO */
        filter: drop-shadow(0 0 10px rgba(0,0,0,0.9));
    
        animation: flotar-herramienta 18s linear infinite;
        user-select: none;
    }


    
    /* Animación mejorada */
    @keyframes flotar-herramienta {
        0% {
            transform: translateY(110vh) rotate(0deg) scale(0.8);
            opacity: 0.7;
        }
        50% {
            opacity: 1;
        }
        100% {
            transform: translateY(-20vh) rotate(360deg) scale(1.1);
            opacity: 0.6;
        }
    }


    /* COLLAGE */
    .collage {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
        position: relative;
        z-index: 1;
        /* encima del fondo de burbujas */
    }

    .collage img {
        width: 100%;
        height: 170px;
        object-fit: cover;
        border-radius: 12px;
        border: 4px solid rgba(255, 255, 255, 0.5);
        box-shadow: 0 5px 20px rgba(0, 0, 0, .35);
        opacity: 0;
        transform: scale(0.8);
        transition: all 0.8s ease;
    }

    /* Animación al aparecer */
    .collage img.activo {
        opacity: 1;
        transform: scale(1);
        animation: rotarZoom 0.8s ease forwards;
    }

    @keyframes rotarZoom {
        0% {
            transform: rotate(0deg) scale(0.8);
            opacity: 0;
        }

        50% {
            transform: rotate(360deg) scale(1.1);
            opacity: 1;
        }

        100% {
            transform: rotate(360deg) scale(1);
            opacity: 1;
        }
    }

    /* RESPONSIVE */
    @media (max-width: 900px) {
        .collage {
            grid-template-columns: repeat(2, 1fr);
        }
    }