* {
    margin:0;
    padding:0px;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}
body {
    background:#f5f7fa;
    color:#333;
    line-height:1.6;
}
header {
    width:100%;
    background:#ffffff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:5px 5px;
    position:fixed;
    top:0;
    left:0;
    z-index:100;
    box-shadow:0 3px 10px rgba(0,0,0,.15);
}
.logo {
    display:flex;
    align-items:center;
}
.logo img {
    width:90px;
    margin-right:5px;
}

.logo h2{
    color:#2E7D32;
    font-size:25px;
    font-weight:bold;
    width: 45%;
}
nav{
    display:flex;
    align-items:center;
}
nav a{
    text-decoration:none;
    color:#333;
    margin-left:30px;
    font-weight:bold;
    transition:.3s;
}
nav a:hover{
    color:#2E7D32;
}
.btn-acceso{
    background:#2E7D32;
    color:white;
    padding:10px 22px;
    border-radius:30px;
}
.btn-acceso:hover{
    background:#1B5E20;
    color:white;
    margin-bottom:35px;
}
.btn-banner{
    text-decoration:none;
    background:#2E7D32;
    color:white;
    padding:15px 35px;
    border-radius:40px;
    font-size:18px;
    transition:.3s;
}
.btn-banner:hover{
    background:#1B5E20;
    color:white;
}

.hero{
    padding:10px 0 0px;
    width:100%;
    background:#FFFFFF;
    max-width:1500px;
    margin:50px auto 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:60px;
}

.hero-text{
    flex:1;
    color:#2e7d32;
}

.tag{
    display:inline-block;
    background:#e8f5e9;
    color:#2e7d32;
    padding:10px 18px;
    border-radius:30px;
    margin-bottom:5px;
    font-weight:500;
}

.hero h1{
    font-size:52px;
    line-height:60px;
    margin-bottom:5px;
}

.hero h1 span{
    color:#2e7d32;
}

.hero p{
    font-size:16px;
    color:#666;
    line-height:28px;
    margin-bottom:5px;
}

.btn-principal{
    display:inline-block;
    background:#2e7d32;
    color:#fff;
    padding:15px 35px;
    border-radius:50px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.btn-principal:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 25px rgba(46,125,50,.3);
}

.hero-img{
    display:flex;
    
}

.hero-img img{
    width:100%;
    border-radius:10px;
    
}

.servi{
    width:90%;
    max-width:1200px;
    margin:0 auto;
    padding-top:0px;
    padding-bottom:40px;
}

.servi h2{
    text-align:center;
    font-size:36px;
    margin-bottom:15px;
}

.cartas{
    display:flex;
    gap:30px;
}

.carta{
    background:#fff;
    padding:20px;
    border-radius:20px;
    flex:1;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.carta:hover{
    transform:translateY(-10px);
}

.carta i{
    font-size:30px;
    color:#2e7d32;
    margin-bottom:10px;
}

.carta h3{
    margin-bottom:5px;
}

.carta p{
    color:#666;
    line-height:28px;
    margin-bottom:20px;
}

.carta a{
    color:#2e7d32;
    text-decoration:none;
    font-weight:600;
}


.valore{
    width:90%;
    max-width:1200px;
    margin:0px auto;
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding-top:0px;
    padding-bottom:0px;
}

.valors{
    flex:1;
    background:#fff;
    padding:20px;
    text-align:center;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.valors i{
    font-size:30px;
    color:#2e7d32;
    margin-bottom:15px;
}

.valors h3{
    margin-bottom:5px;
}

.valors p{
    color:#666;
}

@media(max-width:900px){

.hero{
    flex-direction:column;
}

.cartas{
    flex-direction:column;
}

.valore{
    flex-direction:column;
}
}
.servicios{
    width:90%;
    margin:70px auto;
    text-align:center;
}
.servicios h2{
    color:#2E7D32;
    margin-bottom:50px;
    font-size:38px;
}

.contenedor-servicios{
    display:flex;
    justify-content:center;
    gap:35px;
    flex-wrap:wrap;
}
.card{
    width:320px;
    background:white;
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 5px 20px rgba(0,0,0,.15);
    transition:.4s;
    padding:30px;
}
.card:hover{
    transform:translateY(-10px);
}
.card img{
    width:90px;
    margin-bottom:20px;
}
.card h3{
    color:#F57C00;
    margin-bottom:15px;
}
.card p{
    color:#666;
}
.informacion{
    width:90%;
    margin:80px auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:50px;
    flex-wrap:wrap;
}
.informacion div{
    flex:1px;
}
.informacion h2{
    color:#2E7D32;
    margin-bottom:20px;
    font-size:36px;
}
.informacion ul{
    list-style:none;
}
.informacion li{
    margin:18px 0;
    font-size:18px;
}
.informacion img{
    width:450px;
    border-radius:15px;
    box-shadow:0 5px 20px rgba(0,0,0,.20);
}
footer{
    background:#2E7D32;
    color:white;
    text-align:center;
    padding:40px;
    margin-top:80px;
}

footer h3{
    font-size:32px;
    margin-bottom:15px;
}

footer p{
    margin:8px;
}

@media(max-width:992px){
header{
    flex-direction:column;
    padding:20px;
}
nav{
    margin-top:20px;
    flex-wrap:wrap;
    justify-content:center;
}
nav a{
    margin:10px;
}
.contenido-banner h1{
    font-size:40px;
}

.informacion{
    flex-direction:column;
    text-align:center;
}
.informacion img{
    width:100%;
    max-width:400px;
}
}
@media(max-width:576px){
.logo h2{
    font-size:24px;
}
.logo p{
    font-size:12px;
}
.contenido-banner h1{
    font-size:32px;
}
.contenido-banner p{
    font-size:17px;
}
.btn-banner{
    padding:12px 25px;
}
.card{
    width:100%;
}
}


.banner-nosotros{
    margin-top:100px;
    height:300px;
    background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
    url("../img/img3.jpeg");
    background-size:cover;
    background-position:center;
    display:flex;
    justify-content:center;
    align-items:center;
}
.banner-nosotros h1{
    color:white;
    font-size:55px;
}
.nosotros{
    width:85%;
    margin:70px auto;
    text-align:center;
}
.nosotros h2{
    color:#2E7D32;
    margin-bottom:25px;
    font-size:40px;
}
.nosotros p{
    font-size:18px;
    color:#555;
}
.mision-vision{
    width:90%;
    margin:70px auto;
    display:flex;
    justify-content:center;
    gap:40px;
    flex-wrap:wrap;
}

.caja{

    width:450px;
    background:white;
    padding:35px;
    border-radius:15px;
    text-align:center;
    box-shadow:0 5px 20px rgba(0,0,0,.15);

}
.caja img{
    width:90px;
    margin-bottom:20px;
}
.caja h3{
    color:#F57C00;
    margin-bottom:20px;
}
.valores{
    width:90%;
    margin:80px auto;
    text-align:center;
}
.valores h2{
    color:#2E7D32;
    margin-bottom:40px;
    font-size:40px;
}
.contenedor-valores{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}
.valor{
    width:250px;
    background:white;
    padding:25px;
    border-radius:15px;
    box-shadow:0 5px 20px rgba(0,0,0,.15);
}
.valor img{
    width:100px;
    margin-bottom:15px;
    height: 80px;
    align-items: center;
}
.valor h4{
    color:#F57C00;
}

.banner-servicios{
    margin-top:100px;
    height:300px;
    background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
    url("../img/servicio1.avif");
    background-size:cover;
    background-position:center;
    display:flex;
    justify-content:center;
    align-items:center;
}
.banner-servicios h1{
    color:white;
    font-size:55px;
}
.introduccion-servicios{
    width:85%;
    margin:60px auto;
    text-align:center;
}
.introduccion-servicios h2{
    color:#2E7D32;
    font-size:40px;
    margin-bottom:20px;
}
.introduccion-servicios p{
    width:80%;
    margin:auto;
    font-size:18px;
    line-height:30px;
    color:#555;
}
.servicios-grid{
    width:90%;
    margin:70px auto;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:30px;
}
.servicio{
    background:white;
    padding:35px;
    border-radius:15px;
    text-align:center;
    box-shadow:0 5px 15px rgba(0,0,0,.15);
    transition:.3s;
}
.servicio:hover{
    transform:translateY(-10px);
}
.servicio img{
    width:90px;
    margin-bottom:20px;
    height: 70px;
}
.servicio h3{
    color:#2E7D32;
    margin-bottom:15px;
}
.servicio p{
    color:#666;
}
.beneficios{
    width:90%;
    margin:80px auto;
    text-align:center;
}
.beneficios h2{
    color:#2E7D32;
    margin-bottom:40px;
}
.lista-beneficios{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:20px;
}
.lista-beneficios div{
    background:#2E7D32;
    color:white;
    padding:20px;
    border-radius:10px;
    font-size:18px;
}

.banner-contacto{
    margin-top:100px;
    height:300px;
    background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
    url("../img/contacto.jpg");
    background-size:cover;
    background-position:center;
    display:flex;
    justify-content:center;
    align-items:center;
}
.banner-contacto h1{
    color:white;
    font-size:55px;

}

.contacto{

    width:90%;

    margin:70px auto;

    display:flex;

    justify-content:space-between;

    gap:40px;

    flex-wrap:wrap;

}

.info-contacto{

    flex:1;

    background:white;

    padding:35px;

    border-radius:15px;

    box-shadow:0 5px 15px rgba(0,0,0,.15);

}

.info-contacto h2{

    color:#2E7D32;

    margin-bottom:25px;

}

.info-contacto p{

    margin-bottom:20px;

    line-height:30px;

}

.mapa{

    width:90%;

    margin:70px auto;

    text-align:center;

}

.mapa h2{

    color:#2E7D32;

    margin-bottom:25px;

}

.mapa iframe{

    width:100%;

    height:450px;

    border:none;

    border-radius:15px;

    box-shadow:0 5px 15px rgba(0,0,0,.15);

}
 .formulario {
            width: 600px;
            max-width: 100%;
            padding: 40px;
            margin: 50px auto;
            background: #fff;
            border-radius: 15px;
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
            border-top: 6px solid #198754;
        }

        .formulario h2 {
            text-align: center;
            color: #198754;
            margin-bottom: 30px;
            font-weight: bold;
        }

        .formulario label {
            font-weight: 600;
            color: #333;
        }

        .formulario .form-control {
            width: 100%;
            padding: 12px;
            border: 2px solid #dcdcdc;
            border-radius: 8px;
            font-size: 16px;
            transition: all .3s ease;
        }

        .formulario .form-control:focus {
            border-color: #198754;
            box-shadow: 0 0 8px rgba(25, 135, 84, .3);
            outline: none;
        }

        .formulario textarea.form-control {
            resize: none;
        }

        .formulario .btn {
            width: 100%;
            margin-top: 20px;
            padding: 12px;
            background: #198754;
            border: none;
            border-radius: 8px;
            color: #fff;
            font-size: 17px;
            font-weight: bold;
            transition: .3s;
        }

 .formulario .btn:hover {
            background: #146c43;
}