.slide {
    background-color: #000;
}
.slide .carousel-caption {
    opacity: 0;
    transform: translateX(-60px);
    transition: all 1s cubic-bezier(.23, 1, .32, 1);
    right: auto;
    bottom: auto;
}

.slide .carousel-item.active .carousel-caption {
    opacity: 1;
    transform: translateX(0);
    transition-delay: .4s;
}

/*.slide .carousel-item.active .carousel-caption .relleno {
    background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,0));
    border-radius: 0.5rem;
}*/

.slide .carousel-caption h1 {
    font-size: clamp(1.5rem, 2.5vw , 4rem);
    line-height: 1.2;
    font-weight: bold;
    transform: translateY(30px);
    opacity: 0;
    transition: all .8s ease;
    transition-delay: .7s;
}

.slide .carousel-caption .subtitulo {
    font-size: clamp(1.2rem, 4vw, 1.5rem);
}

.slide .carousel-item.active h1 {
    transform: translateY(0);
    opacity: 1;
}

.slide .carousel-caption h2 {
    transform: translateY(30px);
    opacity: 0;
    transition: all .8s ease;
    transition-delay: .9s;
}

.slide .carousel-item.active h2 {
    transform: translateY(0);
    opacity: 1;
}

/* Fondo y animación de imagen/video */
.slide .carousel-item {
    overflow: hidden;
}

.slide .carousel-item img,
.slide .carousel-item video,
.slide .carousel-item iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.2);
    filter: blur(6px) brightness(0.8);
    opacity: 0;
    transition: transform 2s ease, filter 1.8s ease, opacity 1.5s ease;
}

.slide .carousel-item.active img,
.slide .carousel-item.active video,
.slide .carousel-item.active iframe {
    transform: scale(1);
    filter: blur(0) brightness(1);
    opacity: 1;
}

/* Overlay degradado */
.slide .carousel-item .overlay {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0, 0, 0, 4) 0%, rgba(0, 0, 0, .2) 50%, rgba(0, 0, 0, .2) 100%);
}

.slide .carousel-control-prev,
.slide .carousel-control-next {
    top: 50%; /* alineación vertical centrada */
    transform: translateY(-50%); /* centrado exacto */
    width: 3rem; /* opcional: aumenta tamaño del área clicable */
    z-index: 10; /* encima de todo menos necesario */
}

/* Desplazarlos horizontalmente fuera del inicio/final del texto */
.slide .carousel-control-prev {
    left: 0; /* puedes usar -1rem o -2rem para moverlo más afuera si quieres */
}

.slide .carousel-control-next {
    right: 0; /* igual, puedes usar -1rem o -2rem para más separación */
}


/* Extra small devices (portrait phones, less than 576px)*/
@media (width <= 575.98px) {
    .slide .carousel-caption {
        width: 100%;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .slide .carousel-item {
        height: 35vh !important;
    }
}


/* Small devices (landscape phones, 576px and up)*/
@media (576px <= width <= 767.98px) {
    slide .carousel-item {
        height: 80vh !important;
    }

    .carousel-control-prev, .carousel-control-next {
        top: 50%; /* sigue centrado verticalmente */
        width: 2.5rem; /* más pequeño en móviles */
    }
}

/* Medium devices (tablets, 768px and up)*/
@media (768px <= width <= 991.98px) {
    .slide .carousel-item { height: 50vh !important; }
    .slide .carousel-item  img{ height: 50vh !important; }
    .slide .carousel-caption { width: 60%; }
}


/* Medium devices (tablets, 768px and up)*/
@media (768px <= width <= 991.98px) and (orientation: portrait) {
     .slide .carousel-item { height: 40vh !important; }
    .slide .carousel-item  img{ height: 40vh !important; }
    .slide .carousel-caption { width: 70%; }
}


/* Large devices l (desktops, 992px and up)*/
@media (992px <= width <= 1199.98px) {
    .slide .carousel-caption { width: 60%; }

}

/* Large devices l (desktops, 992px and up)*/
@media (992px <= width <= 1199.98px)  and (orientation: portrait) {
    .slide.slide_top {
        top: -85px;
        margin-bottom: -85px;
    }

    .slide .carousel-item {
        height: 45vh !important;
    }

    .slide .carousel-item img {
        height: 45vh !important;
        object-fit: cover;
    }

    .slide .carousel-caption {
        width: 55%;
    }
}


/* Extra large devices xl(large desktops, 1200px and up)*/
@media (1200px <= width <= 1399px) {
    .slide.slide_top {
        top: -85px;
        margin-bottom: -85px;
    }

    .slide .carousel-item {
        height: 80vh !important;
    }

    .slide .carousel-item img {
        height: 80vh !important;
        object-fit: cover;
    }

    .slide .carousel-caption {
        width: 55%;
    }
}

/* Extra large devices xl(large desktops, 1400px and up)*/
@media (width >= 1400px) {
    .slide.slide_top {
        top: -85px;
        margin-bottom: -85px;
    }

    .slide .carousel-caption {
        width: 55%;
    }

}

/*------------------titular_jumbo-----------------------*/
.titular_jumbo h1{font-size: clamp(1.5rem, 2.5vw , 4rem);}



/*------------------principales servicios-----------------------*/
.servicios_imagenes {
    background: linear-gradient(#fff, #f2f2f2);
}

.servicios_imagenes .caja_areas {
    text-align: center;
}

.servicios_imagenes .caja_areas p {
    font-size: 0.9em;
    color: #666;
}

.servicios_imagenes .caja_areas .titular_areas {
    font-size: 1.1em;
    color: #000;
    transition: color 0.3s linear;
    font-weight: 600;
    text-transform: uppercase;
}

.servicios_imagenes .caja_areas a:hover .titular_areas {
    color: #547008;
}

.servicios_imagenes .circle-bg {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    text-align: center;
    position: relative;
}

/*.servicios_imagenes .circle-bg i {
    font-size: 2em;  
    line-height: 80px; /* centra verticalmente el icono 
}*/

/* dot-circle y main-circle */
.servicios_imagenes .dot-circle {
    position: relative;
    width: 100px;
    height: 100px;
    display: inline-block;
    border-radius: 50%;
    background-color: #709609;
    transition: all 0.3s ease; /* suaviza cualquier cambio */
}


.servicios_imagenes .main-circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.3s ease; /* animación suave al crecer */
}

/* Hover: hacer crecer el main-circle */
.servicios_imagenes .caja_areas:hover .main-circle {
    transform: translate(-50%, -50%) scale(1.2); /* crece un 20% */
}

/* Opcional: hover solo sobre el círculo */
.servicios_imagenes .dot-circle:hover .main-circle {
    transform: translate(-50%, -50%) scale(1.2);
}

.servicios_imagenes .caja_areas:hover a .dot-circle {
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.15), 0 4px 6px rgba(0, 0, 0, 0.1);
}

/*------------------ Responsive -----------------------*/
/* Extra small devices (<576px) */
@media (max-width: 575.98px) {
    .servicios_imagenes .dot-circle {
        width: 100px;
        height: 100px;
        margin-bottom: 15px;
    }

    .servicios_imagenes .caja_areas .titular_areas {
        font-size: 1.2em;
    }
}

/* Small devices (576px–767px) */
@media (min-width: 576px) and (max-width: 767.98px) {

    .servicios_imagenes .caja_areas .titular_areas {
        font-size: 1.3em;
    }
}

/* Medium devices (768px–991px) */
@media (min-width: 768px) and (max-width: 991.98px) {

    .servicios_imagenes .caja_areas .titular_areas { font-size: 1em; }
}

/* Large devices (992px–1199px) */
@media (min-width: 992px) and (max-width: 1199.98px) {

}

/* Extra large devices (1200px–1399px) */
@media (min-width: 1200px) and (max-width: 1399px) {

}

/* Extra extra large devices (>=1400px) */
@media (min-width: 1400px) {

}


/*------------------cajas index datos contacto----------------------*/


.fondo_index_datos_cajas {
    background-color: transparent;   
    position: relative;
    z-index: 1;
}

.index_datos_cajas .caja {
    transition: all 0.3s linear;
    display: grid;
    position: relative;
    text-align: left;
    grid-template-columns: 70px auto;
}

.index_datos_cajas .caja i {
   
    font-size:  clamp(1.5rem, 2vw , 2rem);
    color: #fff;
}

.index_datos_cajas .caja:hover {
    box-shadow: 0 0 30px 5px rgba(0, 0, 0, 0.7);
}

.index_datos_cajas .caja:nth-child(1) {
    background-color: #5B740D;
}

.index_datos_cajas .caja:nth-child(2) {
    background-color: #607B00;

}

.index_datos_cajas .caja:nth-child(3) {
    background-color: #4B6300;
}


.index_datos_cajas .caja h2 {
    font-size: clamp(1.25rem, 0.464rem + 1.43vw, 2rem);
    font-weight: 500;
    color: #fff;
}

.index_datos_cajas .caja a {
    text-decoration: none;
    color: #fff;
}
.index_datos_cajas .caja i{margin-top: 7px;}



/* Extra small devices (portrait phones, less than 576px)*/
@media (width <= 575.98px){
    
    
}

/* Small devices (landscape phones, 576px and up)*/
@media (576px <= width <= 767.98px) {
  
 
}

/* Medium devices (tablets, 768px and up)*/
@media (768px <= width <= 991.98px) {
    
}
/* Medium devices (tablets, 768px and up)*/
@media (768px <= width <= 991.98px) and (orientation: portrait) {
    .index_datos_cajas .caja {grid-template-columns:40px auto;}
}


/* Large devices l (desktops, 992px and up)*/
@media (992px <= width <= 1199.98px) {
    .fondo_index_datos_cajas { margin-top: -60px;}
    .index_datos_cajas .caja {grid-template-columns:50px auto;}
}

/* Large devices l (desktops, 992px and up)*/
@media (992px <= width <= 1199.98px)  and (orientation: portrait)  {
    .fondo_index_datos_cajas { margin-top: -157px;}
    .index_datos_cajas .caja {grid-template-columns:50px auto;}
}


/* Extra large devices xl(large desktops, 1200px and up)*/
@media (1200px <= width <= 1399px) {
    .fondo_index_datos_cajas { margin-top: -157px;}
    
}
/* Extra large devices xl(large desktops, 1400px and up)*/
@media (width >= 1400px){

    .fondo_index_datos_cajas { margin-top: -157px;}
    
}









/*------------------presentacion-----------------------*/
.sobre_titular {
    margin-bottom: 28px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#presentacion .sobre_titular {
    margin-bottom: 10px;
    font-size: 1.3em;
    letter-spacing: 1px;
    color: #00847C;
    font-weight: 500;
}


.texto_pres h2 {

    font-size: clamp(1.438rem, 1.168rem + 1.35vw, 2.938rem);

    line-height: 1.2em;
    text-decoration: none;

    margin-bottom: 20px;
}


.texto_pres p {
    text-align: justify;
    margin-bottom: 30px;
}

.texto_pres strong, .texto_pres b {
    color: #000 !important;
    font-weight: 500;
}

.texto_pres h3 {
    line-height: 1.1;
    font-size: clamp(1.3rem, 1.224rem + 0.38vw, 1.7rem);

}


#presentacion .texto_presentacion {
    padding-left: 7%;
    display: flex;
}

.texto_pres {
    align-self: center;
}

/* Extra large devices xl(large desktops, 1400px and up)*/
@media (width >= 1400px) {
    #presentacion img {
        border-radius: 0 50% 0 50%;
        box-shadow: 13px 13px 26px #a6a6a6, -13px -13px 26px #ffffff;
    }
}

