body{
    font-family: Arial, Helvetica, sans-serif;
    background: #f7fff5;
    overflow-x: hidden;
}

.navbar{

    padding: 14px 0;

    background: white !important;

    z-index: 9999;

    box-shadow:
    0 2px 10px rgba(0,0,0,0.05);

}

.nav-link{
    font-weight: 500;
    margin: 0 10px;
}

.hero-section{

    background:
    linear-gradient(
    135deg,
    #f4fbf1 0%,
    #ffffff 100%);

    padding-top: 140px;
    padding-bottom: 80px;

    overflow: hidden;

    position: relative;

}

.hero-title{
    line-height: 1;
}

.hero-img{
    max-width: 90%;
}

.stats-card{
    border-radius: 20px;
    transition: .3s;
}

.stats-card:hover{
    transform: translateY(-5px);
}

.stats-icon{
    font-size: 50px;
    color: #198754;
}

.info-card{
    border-radius: 20px;
    transition: .3s;
}

.info-card:hover{
    transform: translateY(-5px);
}

.footer{
    background: #ffffff;
}

.footer-bottom{
    background: #198754;
    color: white;
}

.reportes-section{

    padding-top: 140px;
    padding-bottom: 80px;

    min-height: 100vh;

    background: #f4fbf1;

}
.reportes-section .container{
    position: relative;
    z-index: 2;
}

.mapa-section{
    padding-top: 140px;
}

.contacto-section{
    padding-top: 140px;
}

.card{
    border-radius: 20px !important;
}

.form-control,
.form-select{
    border-radius: 12px;
    padding: 12px;
}

.btn{
    padding: 12px 24px;
    font-weight: 600;
}

iframe{
    border-radius: 20px;
}

.reportes-section{

    background: #f4fbf1;

    background-image:
    radial-gradient(circle at top left,
    rgba(25, 135, 84, 0.08),
    transparent 300px);

}

.mapa-section{

    padding-top: 140px;
    padding-bottom: 80px;

    min-height: 100vh;

    background: #f4fbf1;

}

.hero-image-container{

    position: relative;

    display: flex;
    justify-content: center;
    align-items: center;

    height: 100%;

}

.hero-circle{

    position: absolute;

    width: 500px;
    height: 500px;

    background:
    radial-gradient(circle,
    rgba(25,135,84,0.18),
    rgba(25,135,84,0.05));

    border-radius: 50%;

    z-index: 1;

}

.hero-img{

    position: relative;

    width: 85%;
    max-width: 520px;

    z-index: 2;

    filter:
    drop-shadow(0 20px 30px rgba(0,0,0,0.12));

    animation: float 4s ease-in-out infinite;

}

@keyframes float{

    0%{
        transform: translateY(0px);
    }

    50%{
        transform: translateY(-10px);
    }

    100%{
        transform: translateY(0px);
    }

}

.hero-section::before{

    content: '';

    position: absolute;

    top: -100px;
    right: -100px;

    width: 300px;
    height: 300px;

    background:
    rgba(25,135,84,0.05);

    border-radius: 50%;

}

.hero-section::after{

    content: '';

    position: absolute;

    bottom: -120px;
    left: -120px;

    width: 280px;
    height: 280px;

    background:
    rgba(25,135,84,0.05);

    border-radius: 50%;
}

.comentarios-section{

    padding-top: 115px;
    padding-bottom: 80px;

    background:
    linear-gradient(
    135deg,
    #f4fbf1 0%,
    #ffffff 100%);

}

.titulo-comentarios{

    margin-top: 20px;
    margin-bottom: 50px;

}

.titulo-comentarios h1{

    color: #198754;

    font-weight: 700;

}

.comentarios-section .card{

    border-radius: 25px;

}

.comentarios-section .card-body{

    padding: 35px;

}

#map{

    width: 100%;
    height: 550px;

    border-radius: 25px;

}