@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Archivo:ital,wght@0,100..900;1,100..900&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap');


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


:root{
    --verde:#00ff4f;
    --lila:#caa2ff;
    --amarillo:#fff27a;
    --negro:#111111;
}


h1, h2, h3{
    font-family:"Space Mono", monospace;
}

p, a, button, label{
    font-family:"Archivo", sans-serif;
}


section{
    border-bottom: 4px solid #111111; 
}

img{
    max-width:100%;
    display:block;
}

/* =========================================
     /* HEADER */  
header{
    background-color: #caa2ff;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 20px 40px;
    border-bottom: 4px solid #111111;
}

.menu{
    display:flex;
    gap:20px;
    list-style:none;
}

.menu a{
    text-decoration:none;
    font-family: "Archivo", sans-serif;
    font-size: 1.1rem;      
    text-decoration: none;  
    color: #111111;         
    font-weight: 400;
    font-size: 1.5em;       
}

/* =========================================
/* BOTONES */

button{
    font-family: "Archivo", sans-serif;
    font-weight: 700;
    background:#8f87ff;
    color:white;
    border:none;
    padding:10px 20px;
    border-radius:20px;
    border:3px solid #111;
    border-radius:15px;
    box-shadow:5px 5px 0 #999;

    font-size: clamp(0.8rem, 3vw, 1.3rem);      
    padding: 14px 32px;
}

.boton-pausa {
    background:#111;
    color:#00ff4f;
    border:3px solid #111;
    border-radius:30px;
    padding:15px 30px;
    font-family:"Archivo", sans-serif;
    font-weight:700;
    font-size:1.5rem;
    cursor:pointer;
    text-decoration:none;
    display:inline-block;
    box-shadow:4px 4px 0 #111;
}

form .boton-modal{
    background:#111;
    color:#00ff4f;
    border:3px solid #111;
    border-radius:30px;
    padding:15px 30px;
    font-family:"Archivo", sans-serif;
    font-weight:700;
    font-size:1.5rem;
    cursor:pointer;
    text-decoration:none;

    display: inline-flex;      
    align-items: center;
    justify-content: center;
    gap: 8px;                 
    align-self: center;        
    margin-top: 25px;

    
}

/* =========================================
/* FOOTER */
footer{
    background:#caa2ff;
    padding: 60px 40px 20px 40px;
    border-top: 4px solid #111111;
    color:#111
}

.footer-container{
    display:flex;
    justify-content:space-between;
    align-items: flex-start;
    margin: 0 auto;
    gap:40px;
    flex-wrap:wrap;
}

.footer-logo img{
    width:180px;
    margin-bottom:15px;
}

.footer-logo p{
    color:#111
}

.footer-info h3,
.footer-equipo h3,
.footer-info h4{
    font-family: "Space Mono", monospace;
    font-weight: 700;
    margin-bottom:15px;
    color:#111
}

.footer-info p,
.footer-equipo p{
    font-family: "Archivo", sans-serif;
    font-weight: 400;
    margin-bottom:8px;
    line-height:1.5;
}

.footer-bottom{
    border-top:1px solid #333;
    margin-top:40px;
    padding-top:25px;
    text-align:center;
}

.footer-bottom p{
    color:#111;
    max-width:900px;
    margin:auto;
    font-size:14px;
    line-height:1.6;
}

/* =========================================
/* HOME */

/* --- .hero home --- */
.hero{
    background:#00ff4f;
    background-size: 10rem;
    display:flex;
    flex-direction: flex;
    justify-content:center;
    align-items:center;
    text-align: center;
    padding:80px;
}

.hero-texto{
    width:50%;
}

.hero-texto h2 {
    font-family: "Space Mono", monospace; 
    text-transform: uppercase; 
    color: #111111;
    
    font-size: 3.5rem;  
    font-weight: 800;    
     
  
    
    margin-bottom: 60px; 
}  

.hero-texto h3 {
    font-family: "Space Mono", monospace; 
    text-transform: uppercase; 
    color: #111111;
    
    font-size: 5rem;  
    font-weight: 800;    
     
  
    
    margin-bottom: 80 px; 
}

.hero-texto p {
    font-family: "Archivo", sans-serif;
    font-weight: 400;       
    font-size: 2rem;      
    color: #111111;         
    margin-top: 0;
    margin-bottom: 20px;
} 

.hero-texto p:last-of-type{
    font-family: "Archivo", sans-serif;
    font-weight: 400;       
    font-size: 2rem;      
    color: #111111;         
    margin-top: 0;
    margin-bottom: 80px;
} 


.hero-img{
    width:500px;
    display: flex;
    justify-content: center;
    margin: 0 auto;
}



.hero-img img{
    width:100%;
}

.timer{
    display:inline-block;
    background:#111;
    color:#00ff4f;
    padding:15px 25px;
    border-radius:10px;
    font-family:"Space Mono", monospace;
    font-size:clamp(2rem, 8vw, 5rem);
    font-weight:bold;
    margin:20px 0;
    margin-bottom: 60px; 
}



.modal{
    position:fixed;
    inset:0;

    background:rgba(0,0,0,.7);

    display:none;

    justify-content:center;
    align-items:center;
}


.modal:target{
    display:flex;
}

.modal-contenido{
    background:white;

    width:500px;
    max-width:90%;

    padding:40px;

    border-radius:20px;

    position:relative;
}

.modal-contenido h2{
    font-family: "Space Mono", monospace;
    font-size: 2rem;
    color: #111;

    margin-bottom: 30px;
}

.modal-contenido label{
    font-family: "Archivo", sans-serif;
    font-size: 1.2rem;
    font-weight: 400;

    display:block;
    margin:15px 0;
}

.modal-contenido input{
    margin-right: 10px;
}


.cerrar{
    position:absolute;
    right:20px;
    top:15px;

    text-decoration:none;
}

form{
    display:flex;
    flex-direction:column;
    gap:15px;
    margin-top:20px;
}


.beneficios{
    background:#caa2ff;
    padding: 80px 40px;
    text-align:center;
}

.beneficios h2 {
    font-family: "Space Mono", monospace;
    font-weight: 900;
    text-transform: uppercase;
    color: #111111;
    text-align: center;     
    
    font-size: 3rem;      
  
   
    margin-bottom: 50px;
}

.cards{
    display:flex;
    justify-content:center;
    gap:80px;
    margin-top:40px;
    flex-wrap: wrap;
}

.card{
    width:200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.card p {
    font-family: "Archivo", sans-serif;
    font-size: 1.5rem;      
    font-weight: 500;
    color: #111111;
    line-height: 1.3;
    margin-top: 15px;       
}

.circulo{
    width:170px;
    height:170px;
    border-radius:50%;
    overflow:hidden;
    margin:0 auto 15px;
}

.cta{
    background-color: #00ff4f;
    padding: 80px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
}

.cta-img, .cta-texto {
    width: 45%; 
}

.cta-img img{
    max-width: 450px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.cta-texto h2 {
    font-family: "Space Mono", monospace;
    font-weight: 900;
    text-transform: uppercase; 
    color: #111111;
    
        
    line-height: 0.95;       
    letter-spacing: -1px;   
    
    margin-top: 0;
    margin-bottom: 20px;     
}

.cta-texto p {
    font-family: "Archivo", sans-serif;
    font-size: 1.7rem;      
    font-weight: 400;
    color: #111111;      
    margin-top: 0;
    margin-bottom: 35px;    
}


/* =========================================
/* --- .INFO --- */

/* --- .responsabilidad --- */
.responsabilidad{

    padding:80px 0;
    background:var(--lila);

    

}

.contenedor{
    width:90%;
    max-width:1100px;
    margin:auto;
}

.responsabilidad-contenedor{
    display:flex;
    gap:40px;
    align-items:flex-start;
    flex-wrap: wrap;
}


.responsabilidad h1{

    font-family:"Space Mono", monospace;
    font-size:2rem;

    justify-content: center;
    align-items:center ;
    margin-bottom:40px;
}


.imagen {
    display: flex;
    justify-content: center;
    align-items: center;
}

.imagen img {
    width: 100%;
    max-width: 280px;
    height: auto;
}

.info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    font-family: "Archivo", sans-serif;
    font-size:1rem;      
    font-weight: 400;
}



.card-caja1{
    grid-column:1;
    background:white;

    border:3px solid #111;

    border-radius:20px;

    padding:25px;
}

.card-caja2{
    grid-column:2;
    background:white;

    border:3px solid #111;

    border-radius:20px;

    padding:25px;
}

.card-caja3{
    grid-column:1 / 3;
    background:white;

    border:3px solid #111;

    border-radius:20px;

    padding:25px;
}

.card-caja1 h3,
.card-caja2 h3,
.card-caja3 h3{
    margin-bottom:20px;
}

.card-caja1 p,
.card-caja3 p{
    margin-bottom:18px;
    line-height:1.6;
}

.card-caja1 ul,
.card-caja2 ul,
.card-caja3 ul{
    margin-top:15px;
    padding-left:25px;
}

.card-caja1 li,
.card-caja2 li,
.card-caja3 li{
    margin-bottom:12px;
    line-height:1.5;
}

.card-caja3 h5{
    margin-top:25px;
    line-height:1.5;
}

.card-caja2 ul{
    list-style:none;
    padding-left:0;
}
.card-caja2 li::before{
    content:"✔";
    color:var(--verde);
    font-weight:bold;
    margin-right:10px;
}



/* --- .situaciones --- */
.situaciones{

    padding:80px 10%;

    background:var(--lila);

    text-align:center;
}

.situaciones h2{
    margin-bottom:10px;
}

.situaciones .subtitulo{
    margin-bottom:50px;
}

.situaciones .cards{

    display:flex;
    flex-wrap: wrap;

    gap:25px;
    padding: 0 40px;
    margin-top: 40px;
}

.situaciones .card{

    background:white;

    border:3px solid #111;

    border-radius:20px;

    padding:25px;

    text-align:center;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.situaciones p{
    font-size: 1rem;
}

.situaciones .circulo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background-color: #00ff4f;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.situaciones .card img{
    width:100%;
    height: 100%;
    margin-bottom:15px;
}

.situaciones .card h3{
    margin-bottom:15px;
}

/* --- .impacto --- */
.impacto{
    background-color: #00ff4f;
    padding: 60px 40px;
    border-bottom: 4px solid var(--negro);

    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;

    gap:40px;

    padding:80px 10%;

    background:var(--verde);
}

.impacto-contenedor{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;

    gap: 40px;
    justify-content: center;

    width: 55%;

    font-family: "Archivo", sans-serif;
    font-size:1rem;      
    font-weight: 400;

}

.titulo-impacto{
    width:30%;
}

.titulo-impacto h2{
    font-family: "Space Mono", monospace;
    font-weight: 900;
    text-transform: uppercase;
    color: #111111;
    width: 35%;
}

.lista-impactos{

    width:70%;

    display:flex;
    flex-direction:column;

    gap:25px;
}

.impacto-card{

    background:white;

    border:3px solid #111;

    border-radius:20px;

    padding:30px;
}

.impacto-card h3{
    margin-bottom:20px;
}

.impacto-card p{
    margin-bottom:18px;
    line-height:1.7;
}

.impacto-card ul{
    margin-top:15px;
    padding-left:25px;
}

.impacto-card li{
    margin-bottom:12px;
    line-height:1.6;
}

.impacto-card h5{
    margin-top:25px;
    line-height:1.6;
}

/* TESTIMONIOS */

.testimonios{

    background:#fff;
    padding:80px 10%;
    text-align:center;

}

.testimonios h2{

    font-size:3rem;
    text-transform:uppercase;
    margin-bottom:10px;

}

.subtitulo{

    margin-bottom:50px;

}

.contenedor-testimonios{

    display:flex;
    gap:50px;

    overflow-x:auto;
    scroll-snap-type:x mandatory;

    justify-content:flex-start;

    padding:20px 0;

    scrollbar-width:none;

}

.contenedor-testimonios::-webkit-scrollbar{
    display:none;
}

.testimonio{

    width:700px;
    height:430px;

    flex:0 0 auto;

    scroll-snap-align:center;

    border:3px solid #111;
    border-radius:20px;

    padding:35px;

    display:flex;
    flex-direction:column;

}

.perfil{
    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:40px;
}

.texto-testimonio{
    line-height:1.9;
    font-size:1.2rem;
}

.avatar{

    width:80px;
    height:80px;

    border-radius:50%;

    border:3px solid #111;

    background:#ddd;

}

.texto-testimonio{

    line-height:1.8;
    font-size:1.1rem;

}



/* ========================================= */
/* RECOMENDACION */

.recomendacion{

    background:#fff;

    padding:60px 10%;

}

.recomendacion-card{

    border:3px solid #111;

    border-radius:20px;

    padding:30px;

    display:flex;

    gap:30px;

    align-items:center;

}

.logo-recomendacion{

    width:90px;
    height:90px;

    

    border-radius:15px;

    flex-shrink:0;

}

.recomendacion-card h3{

    margin-bottom:15px;

}

.recomendacion-card p{

    line-height:1.7;

}



/* ========================================= */
/* FORMULARIO */

.compartir{

    padding:80px 10%;

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:70px;

}

.titulo-formulario{

    width:25%;

}

.titulo-formulario h2{

    font-size:3rem;

    text-transform:uppercase;

}

.compartir form{

    width:70%;

}

.fila{

    display:flex;

    gap:30px;

}

.fila div{

    flex:1;

}

.compartir label{

    display:block;

    margin-bottom:8px;

}

.compartir input,
.compartir textarea{

    width:100%;

    padding:15px;

    border:3px solid #111;

    border-radius:15px;

    font-size:1rem;

    font-family:"Archivo", sans-serif;

}

.compartir textarea{

    resize:none;

}

.compartir button{

    width:max-content;

    margin-top:20px;

}

/* ==========================
CHATBOT ayuda
========================== */

.chat-ia{

    background:#fff;
    padding:80px 10%;
    text-align:center;

}

.chat-ia h2{

    font-size:3rem;
    text-transform:uppercase;
    margin-bottom:15px;

}

.chat-ia .subtitulo{

    font-size:1.4rem;
    margin-bottom:60px;

}

.chat{

    max-width:900px;
    margin:auto;

    border:3px solid #111;
    border-radius:25px;

    padding:35px;

    background:#fafafa;

}

.mensaje{

    max-width:70%;

    padding:18px 22px;

    border-radius:20px;

    margin-bottom:25px;

    text-align:left;

}

.bot{

    background:var(--lila);

}

.usuario{

    background:var(--verde);

    margin-left:auto;

}

.avatar{

    width:45px;
    height:45px;

    border-radius:50%;

    background:#8f87ff;

    margin-bottom:10px;

}

.input-chat{

    margin-top:40px;

    display:flex;
    gap:15px;

}

.input-chat input{

    flex:1;

    padding:15px;

    border:3px solid #111;

    border-radius:15px;

}

.enviar{

    cursor:pointer;

}

/* checkbox oculto */

#paso1{

    display:none;

}

/* inicialmente oculto */

.respuesta{

    display:none;

    margin-top:25px;

}

/* despues del click */

#paso1:checked ~ .respuesta{

    display:block;

}

/* ========================================= */
/* MOBILE */

@media (max-width: 415px){

    /* HEADER */

    header{
        padding:20px;
        flex-direction:column;
        gap:15px;
        text-align:center;
    }

    .menu{
        gap:12px;
        flex-wrap:wrap;
        justify-content:center;
    }

    .menu a{
        font-size:1rem;
    }

    /* TESTIMONIOS */

    .testimonios{
        padding:50px 20px;
    }

    .testimonios h2{
        font-size:2rem;
    }

    .contenedor-testimonios{
        gap:20px;
    }

    .testimonio{
        min-width:100%;
        width:100%;
        padding:20px;
    }

    .perfil{
        gap:15px;
    }

    .avatar{
        width:60px;
        height:60px;
    }

    .texto-testimonio{
        font-size:1rem;
    }

    /* RECOMENDACIÓN */

    .recomendacion{
        padding:40px 20px;
    }

    .recomendacion-card{
        flex-direction:column;
        text-align:center;
        padding:20px;
    }

    .logo-recomendacion{
        width:70px;
        height:70px;
    }

    /* FORMULARIO */

    .compartir{
        flex-direction:column;
        padding:50px 20px;
        gap:35px;
    }

    .titulo-formulario{
        width:100%;
        text-align:center;
    }

    .titulo-formulario h2{
        font-size:2rem;
    }

    .compartir form{
        width:100%;
    }

    .fila{
        flex-direction:column;
        gap:20px;
    }

    .compartir button{
        width:100%;
    }

}