/*==========================================
RESPONSIVE
Power Visual Data
===========================================*/

@media(max-width:1200px){

.hero-grid{

    grid-template-columns:1fr;
    text-align:center;

}

.solution-item h3{

    font-size:20px;
    color:var(--oscuro);
    margin-bottom:12px;

}

/* el resto de las reglas */

.hero-stats{

    justify-content:center;

}

.solution-grid{

grid-template-columns:1fr;

}

.contact-grid{

grid-template-columns:1fr;

}

.footer-grid{

grid-template-columns:1fr 1fr;

}

.timeline{

grid-template-columns:repeat(3,1fr);

}

}

@media(max-width:992px){

.dashboard-grid{

grid-template-columns:repeat(2,1fr);

}

.tech-grid{

grid-template-columns:repeat(2,1fr);

}

.sector-grid{

grid-template-columns:repeat(2,1fr);

}

.benefits-grid{

grid-template-columns:repeat(2,1fr);

}

.cards{

grid-template-columns:1fr;

}

.success-grid{

grid-template-columns:1fr;

}

.kpis .container{

grid-template-columns:repeat(2,1fr);

}

.timeline{

grid-template-columns:repeat(2,1fr);

}


}
@media(max-width:768px){

.hero > p {
    position: relative;
    top: -50px;
}


 .otra-vida-acceso {
        padding: 85px 20px 100px;
    }

    .otra-vida-acceso-intro {
        font-size: 16px;
        margin-bottom: 40px;
    }

    .otra-vida-incluye {
        grid-template-columns: 1fr;
        margin-bottom: 50px;
    }

    .otra-vida-item {
        padding: 20px 5px;
    }

    .otra-vida-item p {
        font-size: 16px;
    }

    .otra-vida-precio {
        font-size: 46px;
    }

    .otra-vida-btn {
        width: 100%;
        max-width: 340px;
        padding: 0 20px;
    }

    .otra-vida-floating-btn {
        right: 15px;
        bottom: 15px;
        min-height: 48px;
        padding: 0 18px;
        font-size: 11px;
    }

    .seccion-final {
        height: auto;
        min-height: 0;
    }

    .seccion-final picture {
        position: relative;
        display: block;
        width: 100%;
        height: auto;
    }

    .seccion-final picture img {
        position: relative !important;
        top: 0 !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;

        transform: none !important;

        display: block;
        width: 100%;
        max-width: 100%;
        height: auto !important;
    }

    .seccion-final .primer-paso {
      margin-top: 0 !important;
    padding-top: 0 !important;
     
    }
/* ==========================================
   SECCIÓN 3 - AJUSTE PARA CELULAR
   ========================================== */

.otra-vida-section-3 {
    padding-top: 70px !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    min-height: auto !important;
}

/* Contenedor de las dos imágenes */
.otra-vida-section-3 .otra-vida-two-images {
    margin-top: 25px !important;
    margin-bottom: 0 !important;
    padding-bottom: 80px !important;
    box-sizing: content-box !important;
}

/* Primera imagen */
.otra-vida-section-3 .otra-vida-two-images .foto-1 {
    transform: translateY(-80px);
}

/* Segunda imagen */
.otra-vida-section-3 .otra-vida-two-images .foto-2 {
    transform: translateY(80px);
    margin-bottom: 0 !important;
}

/* La sección siguiente comienza inmediatamente */
.seccion-final {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 200px !important;
}

    .otra-vida-section {
        align-items: flex-start !important;
        min-height: auto !important;
        padding: 30px 0 !important;
    }

    .otra-vida-content {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* La última imagen queda pegada a la sección anterior */
    .otra-vida-section:last-of-type {
        padding-top: 0 !important;
    }

    .imagen-final {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .imagen-final img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }


 .otra-vida-grid {
        display: flex !important;
        flex-direction: column !important;
    }

    .otra-vida-content {
        order: 1 !important;
    }

    .otra-vida-image {
        order: 2 !important;
        margin-top: 25px;
    }
        .seccion-foto {
        height: 250px;
    }

    .seccion-foto img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center top;
    }
          .seccion-fondo {
        width: 100%;
        min-height: auto;
        height: auto;

        padding: 70px 0 30px;

        background-position: center top;
        background-size: cover;

        align-items: flex-start;
    }

    .seccion-fondo-contenido {
        width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
    }

    .seccion-fondo-contenido h2 {
        font-size: 32px;
        margin-bottom: 15px;
    }

    .seccion-fondo-contenido p {
        font-size: 18px;
        line-height: 1.5;
        margin-bottom: 25px;
    }


    .top-banner {
        height: 50px !important;
        flex-direction: column;
        line-height: 1.1;
        font-size: 21px;
    }

    .top-banner span {
        display: block;
    }
    
    .guion {
        display: none!important;
    }    
   .video-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    gap: 30px !important;

    position: relative;
    top: -30px;
   }

     .video-info .video-column .primer-paso {
    position: relative !important;
    top: 0 !important;
    margin-top: 20px !important;
    z-index: 10;
    }

.video-wrapper {
    width: 100% !important;
    max-width: 500px !important;
    flex: none !important;
}

.video-wrapper iframe {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    border: none !important;
    border-radius: 12px;
}

.video-text {
    display: block !important;
    width: 100% !important;
    max-width: 500px !important;
    flex: none !important;
    text-align: left !important;
}

.video-text h3 {
    text-align: center !important;
}

.video-text ul {
    text-align: left !important;
    padding-left: 25px !important;
}
        
    .header .container{
        position:relative;
        display:flex;
        justify-content:space-between;
        align-items:center;
        
        padding:10px 0;
    }    

.hero{

padding-top:50px;
padding-bottom: 0px;

}

.hero h1{

    font-size:32px;
    line-height:1.2

}

.hero .primer-paso {
    transform: translateY(-2 0px);
}

.section-title h2{

font-size:34px;

}

.hero p{

    font-size:16px;
    line-height:1.6;

}

.dashboard-grid{

grid-template-columns:1fr;

}

.tech-grid{

grid-template-columns:1fr;

}

.sector-grid{

grid-template-columns:1fr;

}

.benefits-grid{

grid-template-columns:1fr;

}

.kpis .container{

grid-template-columns:1fr;

}

.timeline{

grid-template-columns:1fr;

}

.footer-grid{

grid-template-columns:1fr;

}

.hero-buttons{
    display:flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:15px;


}

.hero-stats{

flex-direction:column;

gap:20px;

}

.btn-primary,

.btn-secondary{

display:block;

text-align:center;

}

.logo{

    font-size:24px;

    display:flex;
    align-items:center;

    flex:1;

    margin:0;

    text-align:left;

}
/* Mostrar el botón ☰ */

.menu-toggle{

    display:block;
    margin-left:auto;
    font-size:32px;
    background:none;
    border:none;
    cursor:pointer;

}

/* Ocultar el menú al iniciar */

nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.1);
    padding:20px 0;
    z-index:999;
}

nav.active{
    display:block;
}

/* Menú vertical */

nav ul{

    display:flex;
    flex-direction:column;
    
    gap:18px;
    list-style:none;
    margin:0;
    padding:0;
    align-items:flex-start;
    padding-left:25px;
}
.header{
    position:fixed;
}



}

/*cierro @media(max-width:768px){*/


@media(max-width:480px){

.container{

width:94%;

}

.hero h1{

    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box!important;
    padding:0 15px !important;
    margin:0 auto 30px !important;

    white-space:normal !important;
    overflow-wrap:break-word;
    word-break:normal;

    font-size:2rem !important;
    line-height:1.2;
    text-align:center; 
    position:relative;
    top:-20px;
}

.section-title h2{

font-size:30px;
top:-30px;

}

.contact-form{

padding:25px;

}

.hero{

padding-bottom:70px;

}

section{

padding:50px 0;

}

.step{

padding:25px;

}

.dashboard-content{

padding:20px;

}

.benefit-card{

padding:25px;

}

.cards article{

padding:25px;



}
     .hero h1{
        font-size: 2rem;
        
        line-height: 1.2;
        word-break: normal;
    }




.btn-primary,
.btn-secondary{

    width:auto;
    max-width:none;
    padding:14px 20px;
    box-sizing:border-box;
    text-align:center;

}

.btn-header{

    width:100%;
    max-width:280px;
    padding:14px 20px;
    box-sizing:border-box;
    text-align:center;

}


}
@media (max-width: 600px) {
.reservas-section {
padding: 40px 12px;
}

.reservas-descripcion {
font-size: 15px;
}

.reservas-section .calendly-inline-widget {
height: 850px;
}
    
    .booking-section {
        margin-top: 55px;
    }

    .booking-header h3 {
        font-size: 25px;
    }

    .booking-button {
        width: 100%;
        max-width: 320px;
    }

    .beneficios {
        margin-top: 40px;
        padding: 0 15px 30px;
    }

    .beneficios-divider {
        margin-bottom: 35px;
    }

    .beneficio-item {
        gap: 18px;
        margin-bottom: 30px;
    }

    .beneficio-icon {
        width: 58px;
        height: 58px;
    }

 .beneficio-icon svg {
    width: 23px;
    height: 23px;
}

    .beneficio-texto h3 {
        font-size: 13px;
        letter-spacing: 0.12em;
    }

    .beneficio-texto p {
        font-size: 14px;
        line-height: 1.5;
    }
}


/* TABLET */
@media (max-width: 900px) {
  .reviews-gallery {
    columns: 2;
    column-gap: 16px;
  }

  .review-card {
    margin-bottom: 16px;
  }

  .reviews-section {
    padding: 60px 4%;
  }
}

@media (max-width: 520px) {
  .reviews-gallery {
    display: block;
    columns: 2;
    column-gap: 10px;
    width: 100%;
  }

  .review-card {
    display: inline-block;
    width: 100%;
    margin: 0 0 10px;
    padding: 0;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
  }

  .review-card img {
    display: block;
    width: 100%;
    height: auto;
  }
}