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

html,body{
width:100%;
overflow-x:hidden;
font-family:Poppins, sans-serif;
color:#333;
}

/* CONTENEDOR */

.container{
width:90%;
max-width:1200px;
margin:auto;
}

/* SECCIONES */

.section{
padding:80px 0;
}

.gray{
background:#f5f7f8;
}

h1{font-size:48px}
h2{font-size:34px;margin-bottom:20px}

h6{
color:#1c8f5a;
font-size:13px;
letter-spacing:2px;
margin-bottom:10px;
text-transform:uppercase;
}

/* HEADER */

.header{
position:fixed;
width:100%;
background:white;
z-index:1000;
box-shadow:0 4px 10px rgba(0,0,0,0.05);
}

.nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 0;
}

.logo img{
height:42px;
max-width:100%;
}

nav{
display:flex;
align-items:center;
}

nav a{
margin-left:25px;
text-decoration:none;
color:#333;
font-weight:500;
}

/* TOGGLER */

.toggle{
display:none;
flex-direction:column;
cursor:pointer;
}

.toggle span{
height:3px;
width:25px;
background:#1c8f5a;
margin:4px 0;
border-radius:3px;
transition:.3s;
}

/* HERO */

.hero{
height:95vh;
background:url('../img/img1.jpg') center/cover no-repeat;
display:flex;
align-items:center;
position:relative;
color:white;
padding-top:80px;
}

.hero-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,0.6);
}

.hero-content{
position:relative;
max-width:600px;
width:100%;
}

.hero p{
margin-top:15px;
}

.btn{
display:inline-block;
margin-top:35px;
background:#1c8f5a;
padding:14px 30px;
border-radius:6px;
color:white;
text-decoration:none;
}

/* CARDS */

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
margin-top:40px;
width:100%;
}

.card{
background:white;
padding:30px;
border-radius:12px;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
transition:.3s;
width:100%;
}

.card:hover{
transform:translateY(-6px);
}

.card i{
font-size:30px;
color:#1c8f5a;
margin-bottom:15px;
}

/* ABOUT */

.about-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center;
width:100%;
}

.about-img img{
width:100%;
border-radius:10px;
}

/* MISION VISION */

.mv{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
margin-top:25px;
}

/* CTA */

.cta{
background:linear-gradient(135deg,#1c8f5a,#0f5f3a);
color:white;
text-align:center;
padding:70px 0;
}

.btn-white{
background:white;
color:#1c8f5a;
padding:14px 30px;
border-radius:6px;
text-decoration:none;
display:inline-block;
margin-top:20px;
}

/* CONTACTO */

.contact-section{
background:linear-gradient(180deg,#f7faf9,#eef5f2);
padding:90px 0;
}

.contact-wrapper{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
background:white;
padding:40px;
border-radius:12px;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
width:100%;
}

.contact-form{
width:100%;
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:12px;
margin-bottom:12px;
border:1px solid #ddd;
border-radius:6px;
}

.contact-form textarea{
resize:vertical;
min-height:120px;
}

.contact-form button{
background:#1c8f5a;
color:white;
border:none;
padding:12px;
border-radius:6px;
width:100%;
cursor:pointer;
}

.contact-item{
display:flex;
align-items:center;
gap:10px;
margin-top:20px;
flex-wrap:wrap;
}

/* FOOTER */

footer{
background:#111;
color:white;
text-align:center;
padding:20px;
}

/* ANIMACIONES */

.fade{
opacity:0;
transform:translateY(30px);
transition:1s;
}

.fade.visible{
opacity:1;
transform:none;
}

/* RESPONSIVE */

@media(max-width:900px){

.about-grid{
grid-template-columns:1fr;
}

.mv{
grid-template-columns:1fr;
}

.contact-wrapper{
grid-template-columns:1fr;
padding:30px;
}

.hero{
height:auto;
padding:120px 0 80px 0;
}

h1{
font-size:34px;
}

h2{
font-size:26px;
}

/* MENU MOBILE */

nav{
display:none;
position:absolute;
top:70px;
right:20px;
background:white;
flex-direction:column;
padding:20px;
box-shadow:0 10px 25px rgba(0,0,0,0.1);
border-radius:8px;
max-width:90vw;
}

nav a{
margin:10px 0;
}

nav.active{
display:flex;
}

.toggle{
display:flex;
}

}