html, body {
    margin: 0;
    padding: 0;
    font-family: "Mulish", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: #082F47;
    scroll-behavior: smooth;
}
.fondo{
    height: 80px;
    background-image: url("assets/Rectangle\ 94.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

header{
    background-color: rgba(184, 212, 217, 0.5);
    display: flex;
    width: 100%;
    height: 80px;
    box-shadow: -0.964px 0 1.928px 0 rgba(201, 201, 201, 0.10) inset, 4.819px -4.819px 11.566px 0 rgba(255, 255, 255, 0.05) inset, -4.819px 4.819px 11.566px 0 rgba(255, 255, 255, 0.05) inset;
    backdrop-filter: blur(7.228636264801025px);
    position: fixed;
    z-index: 2;
    top: 0;
}
.logo{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 20%;
    height: 80px;
    padding: 0 5svw;
}
.logo img{
    width: fit-content;
    height: auto;
}
.options{
    padding: 2svh 5svw;
    width: 80%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 30px;
    color: #215270;
    font-size: 1.1svw;
    font-weight: 600;
}
.options a{
    cursor: pointer;
    transition: color 0.5s ease-in-out;
    text-decoration: none;
    color:#215270;
}
.options a:hover{
    color: #349489;
}
.options button{ 
    color: #fff;
    background: linear-gradient(90deg, #00B7C2 0%, #00575C 100%);
    border: none;
    border-radius: 50px;
    padding:.5rem 1rem;
    transition: background 0.5s ease-in-out;
    cursor: pointer;
}
.options button:hover{
    background: linear-gradient(90deg, #00575C 0%, #011E20 100%);
}
.section1{
    width: 100%;

    /* width: fit-content; */
    border-radius: 0 0 70px 70px;
    background: linear-gradient(180deg, rgba(8, 47, 71, 0) 0%, #082F47 100%);
    position: relative;
    z-index: 1;
}
.section1 video{
    min-width: 100%;
    max-width: 100%;
    mix-blend-mode: multiply;
    border-radius: 0 0 70px 70px;
    /* min-height: 100%; */
    /* object-fit: cover;    */
    /* aspect-ratio: 21 / 9;  */
}

.section1 .contenido{
    width: 100%;
    max-width: max-content;
    display: flex;
    flex-direction: column;
    color: #fff;
    text-align: center;
    position: absolute;
    z-index: 2;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.section1 .contenido h6{
    width: auto;
    max-width:fit-content ;
    font-size: 1svw;
    color: #00B7C2;
    border-radius: 20px;
    padding: .1rem .5rem;
    text-align: left;   
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.33px;
    border: 0.5px solid rgba(0, 183, 194, 0.50);
    background: #EAF8F9;
    margin: 0;
}
.section1 .contenido h1{
    font-size: 6svw;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: -2.28px;
    margin: 0;
}
.section1 .contenido h1 span{
    color:#00B7C2;
}
.section1 .contenido p{
    margin: 6svh 0;
}
.section1 .contenido button{
    background: linear-gradient(92deg, #8AB8BE 0.89%, #215270 83.83%);
    color: #fff;
    /* width: fit-content; */
    margin: auto;
    border: none;
    border-radius: 50px;
    padding:.5rem 1rem;
    font-weight: 700;
    transition: background 0.5s ease-in-out;
    cursor: pointer;
}
.section1 .contenido button:hover{
    background: linear-gradient(272deg, #082F47 -11.48%, #016F75 71.46%);
}
.mov{
    display: none;
}
.section2 {
    text-align: center;
    padding: 5svh 8svw;
}
.section2 h1{
    font-size: 2.5svw;
    font-style: normal;
    font-weight: 700;
    letter-spacing: -0.96px;
    margin: 0;
}
.section2 .cajas{
    margin-top: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.section2 .cajas .caja{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 4px 7px 2px rgba(0, 0, 0, 0.10);
    border-radius: 20px;
    padding: 20px 10px 3rem 10px;
    min-height: 280px;
}
.section2 .cajas .caja img{
    width: fit-content;
    height: 7svh;
}
.section2 .cajas .caja h5{
    font-size: 1.5svw;
    font-weight: 700;
    margin: 0;
}
.section2 .cajas .caja p{
    font-size: 1.1svw;
    font-weight: 400;
    letter-spacing: -0.3px;
    margin: 0;
}
.section3{
    background: #F9FAFB;
    display: flex;
    padding: 5svh 8svw;
    min-height: 80svh;
}
.section3 .izq{
    width: 60%;
    height: 80svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.section3 .izq h6{
    color: #00B7C2;
    border: 0.5px solid rgba(0, 183, 194, 0.50);
    background: #EAF8F9; 
    padding: .1rem .5rem;
    text-align: left;   
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.33px;
    width: fit-content;
    border-radius: 20px;
    margin: 0;
}
.section3 .izq h2{
    margin: 0;
    font-size: 2.5svw;
    font-weight: 700;
    letter-spacing: -0.96px;
}
.section3 .izq p{
    font-size: 1.3svw;
    font-weight: 400;
}

.section3 .izq h5 {
    padding: 1.2rem 1rem 1.2rem 1.5rem;        
    position: relative;
    font-size: 1.2svw;
    font-weight: 400;
    font-style: italic;
    line-height: 22px;
    letter-spacing: -0.48px;

}
.section3 .izq h5::before {
    content: "";
    position: absolute;
    top: 0.5rem;
    bottom: 0.5rem;
    left: 0rem;
    width: 5px;
    background: #016F75;
    border-radius: 12px;
}
.section3 .izq h5 span{
    color: #016F75;
    font-weight: 800;
}
.section3 .izq button{
    border: 1px solid #082F47;
    color: #082F47;
    border-radius: 20px;
    background-color: transparent;
    transition: background-color 0.5s ease-in-out,color 0.5s ease-in-out;
    padding:.5rem 1rem;
    font-weight: 500;
    width: fit-content;
    cursor: pointer;
}
.section3 .izq button:hover{
    border: 1px solid #DBFDFF;
    background-color: #DBFDFF;
}
.section3 .der{
    width: 40%;
    background-image: url("assets/imgmujer.png");
    background-position: center right;
    background-repeat: no-repeat;
    background-size: contain;
}
.section4{
    text-align: center;
    padding: 2svh 8svw 5svh 8svw;
    color: #00575C;
}
.section4 h1{
    font-size: 2.5svw;
    font-weight: 700;
}
.section4 p{
    font-size: 1.5svw;
    font-weight: 400;
    margin-bottom: 8svh;
}
.section4 .cajas{
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.section4 .cajas .caja{
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.10), 0 4px 4px 0 rgba(0, 0, 0, 0.10), 0 4px 4px 0 rgba(0, 0, 0, 0.10);
    border-radius: 20px;
    flex: 1;
    position: relative;
    z-index: 1;
}
.section4 .cajas .caja img{
    width: -webkit-fill-available;
    max-width: 100%;

}
.section4 .cajas .caja span{
    position: absolute;
    z-index: 2;
    top: 15px;
    left: 15px;
    color: #082F47;
    font-size: 0.8svw;
    font-weight: 300;
    background: #FEFEFE;
    padding: 3px 10px;
    border-radius: 20px;
}
.section4 .cajas .caja h3{
    text-align: left;
    padding-left: 20px;
}

.section4 .cajas .caja .tiempo{ 
    display: flex;
    gap: 30px;
    padding: 5px 20px;
}
.section4 .cajas .caja .tiempo p{ 
    margin: 10px 0 20px 0;
}
.section4 .cajas .caja .calificacion{ 
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding:5px 20px;
    margin-bottom: 10px;
}
.section4 .cajas .caja .calificacion button{
    background: linear-gradient(270deg, #349489 0%, #016F75 100%);
    border: none;
    border-radius: 50px;
    padding:.5rem 1rem;
    transition: background 0.5s ease-in-out;
    cursor: pointer;
    color: #FFF;
    font-weight: 400;
}
.section4 .cajas .caja .calificacion button:hover{
    background: linear-gradient(270deg, #276E66 0%, #013033 100%);
}
.section4 .more{
    margin: 6rem auto 0 auto;
    border: 1px solid #082F47;
    border-radius: 50px;
    padding:.5rem 1rem;
    cursor: pointer;
    color: #082F47;
    font-weight: 400;
    background: transparent;
    transition: background-color 0.5s ease-in-out;
    cursor: pointer;
}
.section4 .more:hover{
    background-color: rgba(180, 221, 222, 0.30);
}
.section5{
    text-align: center;
    padding: 0 8svw 5svh 8svw;
    background-image: url("assets/Group387.png");
    background-position:  center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: linear-gradient(254deg, #FFF -29.3%, rgba(255, 255, 255, 0.00) 60.55%, #FFF 132.55%);
}
.section5 h1{
    font-size: 2.5svw;
    font-weight: 700;
    color: #00575C;
}
.section5 p{ 
    font-size: 1.5svw;
    font-weight: 400;
    color: #00575C;
}
.section5 .cajas{ 
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
.section5 .cajas .caja{
    flex: 1;
    color: #082F47;
    text-align: left;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.20);
    border-radius: 20px;
    padding: 2rem;
    background: #fff;
}
.section5 .cajas .caja .sup{
    display: flex;
    gap: 20px;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
}
.section5 .cajas .caja .sup h6{
    font-size: 1.1svw;
    font-weight: 700;
    letter-spacing: 0.241px;
    margin: 0;
}
.section5 .cajas .caja .sup p{
    font-size: 1.1svw;
    font-weight: 400;
    letter-spacing: 0.241px;
    margin: 0;
    font-style: normal;
}
.section5 .cajas .caja p{
    font-size: 1.1svw;
    font-weight: 400;
    letter-spacing: 0.241px;
    margin: 30px 0;
    font-style: italic;
    text-align: left;
}
.section6{
    padding: 12svh 8svw 12svh 8svw;
    background-image: url("assets/fondo6.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: #FFF;
}
.section6 .container{ 
    display: flex;
    gap: 20px;
    min-height: 35svh;
}
.section6 .container .izq, .section6 .container .der{
    flex: 1;
}
.section6 .container .izq h1{ 
    font-size: 2.5svw;
    font-weight: 700;
    margin: 0;
}
.section6 .container .izq p{ 
    font-size: 1.5svw;
    font-weight: 400;
}

.section6 .container .der{ 
    margin: 0 0 0 5rem;
    border-radius: 40px;
    background: rgba(255, 255, 255, 0.10);
    box-shadow: -0.964px 0 1.928px 0 rgba(201, 201, 201, 0.10) inset, 4.819px -4.819px 11.566px 0 rgba(255, 255, 255, 0.05) inset, -4.819px 4.819px 11.566px 0 rgba(255, 255, 255, 0.05) inset;
    backdrop-filter: blur(7.228636264801025px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 5svw;
}

.section6 .container .der input{
    border: 1px solid #fff;
    background: transparent;
    color: #fff;
    padding: 1.3rem;
    border-radius: 15px;
    margin: 10px 0;
}
.section6 .container .der input::placeholder {
    color: #aaa;
}

.section6 .container .der button{
    border-radius: 25px;
    padding:.7rem 1rem;
    background-color: #00B7C2;
    transition: background-color 0.5s ease-in-out;
    cursor: pointer;
    color: #FFF;
    font-weight: 400;
    border: none;
    margin: 10px 0;
}
.section6 .container .der button:hover{
    background: rgba(255, 255, 255, 0.10);
}
.section6  .init{
    background-color: #fff;
    color: #082F47;
    transition: background-color 0.5s ease-in-out;
    border-radius: 25px;
    padding:.5rem 1.5rem;
    cursor: pointer;
    font-weight: 400;
    border: none;
    cursor: pointer;
    font-weight: 500;
    font-weight: 1.1svw;
    letter-spacing: 0.053px;
}
footer{
    padding: 8svh 8svw 5svh 5svw;
    background-color: #F4FDFA; 
}
.iconos{
    padding: 0 0 4svh 0;
    display: flex;
    gap: 20px;
    justify-content: flex-end;
}
.grilla{
    display: grid;
    grid-template-columns: 50% 25% 25%; 
    gap: 20px;
    margin-bottom: 4svh;
}
.grilla .one{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: flex-start;
}
.grilla .one p{
    color: #000;
    font-size: 1.1svw;
    font-weight: 400;
    line-height: 2svw;
}
.grilla .one span{
    color: #215270;
    font-size: 1svw;
    font-weight: 400;
}
.grilla .two, .grilla .three{
    padding-top: 2rem;
    color: #215270;
}
.grilla .two h5, .grilla .three h5{
    font-size: 1.2svw;
    font-weight: 700;
}
.grilla .two p, .grilla .three p{
    margin: 15px 0;
    font-size: 1.1svw;
}

footer hr{
    width: 70svw;
    height: 1px;
    background: rgba(92, 149, 184, 0.1);
    margin: 0 auto;
    border: none;
}
footer h3{
    color: #016F75;
    letter-spacing: -0.36px;
    font-weight: 700;
    font-size: 1svw;
    text-align: center;
    margin: 20px 0;
}
.bot{
    background-image: url("assets/preview-removebg-preview.png");
    background-position: left center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #215270;
    height: 50px;
    width: 50px;
    position: fixed;
    z-index: 3;
    bottom: 40px;
    right: 40px;
    border-radius: 50%;
    cursor: pointer;
    transition: transform 0.3s ease; 
}
.bot:hover {
    transform: scale(1.2);
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.4), 0 0 20px rgba(33, 82, 112, 0.6); 
}

.chatbot {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 320px;
    height: 450px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    flex-direction: column;
    overflow: hidden;
    z-index: 4;
    display: none;
    opacity: 0;                 /* Transparente */
    transform: translateY(20px); /* Ligeramente hacia abajo */
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.chatbot.show {
    display: flex;
    opacity: 1;
    transform: translateY(0);
  }

  .chat-header {
    background-image: url("assets/preview-removebg-preview.png");
    background-position: left center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #215270;
    color: #fff;
    padding: 12px;
    font-weight: bold;
    text-align: center;
    position: relative;
}
  .chat-header span{
    position: absolute;
    top: 50%;
    right: 15px;
    font-weight: 700;
    cursor: pointer;
    transform: translate(0%, -50%);
  }
  .chat-body {
    flex: 1;
    padding: 10px;
    overflow-y: auto;
    font-size: 14px;
  }
  .chat-body .bot-msg {
    background: #f0f0f0;
    padding: 8px;
    margin-bottom: 8px;
    border-radius: 0 8px 8px 8px;
  }
  .chat-body .user-msg {
    background: #c7e7ea;
    padding: 8px;
    border-radius: 8px 0 8px 8px;
    margin: 0 0 8px auto;
    text-align: right;
    width: fit-content;
  }
  .options-chat {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 8px;
    display: grid;
    grid-template-columns: 32% 32% 32%;
  }
  .options-chat button {
    flex: 1;
    padding: 6px;
    border: none;
    border-radius: 6px;
    /* background: #e0e0ff; */
    /* background-color: rgba(184, 212, 217, 0.5); */
    background-color: transparent;
    cursor: pointer;
    color: #215270;
    border: 1px solid #082F47;

  }
  .chat-input {
    display: flex;
    border-top: 1px solid #ddd;
  }
  .chat-input input {
    flex: 1;
    border: none;
    padding: 10px;
    font-size: 14px;
    outline: none; 
  }
  .chat-input button {
    background: #215270;
    color: #fff;
    border: none;
    padding: 10px 16px;
    cursor: pointer;
  }

  html {
    scroll-behavior: smooth; /* Para el scroll suave */
  }
  
@media (max-width: 1024px) {
    .section1 .contenido {
        top: 60%;
    }
    .section2 .cajas .caja{
        padding: 20px 10px 2rem 10px;
        min-height: 200px;
    }
    .section3{
        min-height: 50svh;
    }
    .section3 .izq{
        height: 50svh;
    }
    .section4 .more{
        margin: 5rem auto 0 auto;
    }
    .section6{
        padding: 6svh 8svw 6svh 8svw;
    }
    .section6 .container{
        min-height: 20svh;
    }
    footer{
        padding: 5svh 8svw 5svh 5svw;
    }
}

@media (max-width: 767px) {  
    header, .fondo{
        height: 65px;
    }
    .logo{
        width: 55%;
        height: 65px;
        padding: 0 3svw;
    }
    .logo img{
        width: 100%;
    }
    .options{
        width: 40%;
        padding: 1svh 3svw;
    }
    .options button{
        padding: .5rem .8rem;
    }
    .section1{
        background: linear-gradient(180deg, rgba(8, 47, 71, 0) 30%, #082F47);
    }
    .section1 video{
        aspect-ratio: 9 / 16;
        width: 100%;
        height: auto;
        object-fit: cover;
    }
    .section1 .contenido{
        width: 90%;
        top: 78%;
    }
    .section1 .contenido h6{
        font-size: 3.5svw;
    }
    .section1 .contenido h1{ 
        letter-spacing: 0;
        font-size: 8svw;
    }
    .section1 .contenido p {
        margin: 4svh 0;
        font-size: 3.5svw;
        padding: 0 1rem;
    }
    .section1 .contenido button{
        font-weight: 400;
        font-size: 4svw;
    }
    .mov{
        display: block;
    }
    .web{
        display: none;
    }
    .section2{
        padding: 3svh 8svw;
    }
    .section2 h1{
        font-size: 7svw;
        letter-spacing: -0.10px;
    }
    .section2 p{
        font-size: 3.8svw;
    }
    .section2 .cajas {
        display: flex;
        gap: 20px;
        overflow-x: auto; 
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 1rem; 
        justify-content: flex-start;
        padding-left: 10px;
        padding-right: 25px;
      }
    
    .section2 .cajas::-webkit-scrollbar {
        display: none; 
    }
    
    .section2 .cajas .caja {
        flex: 0 0 80%; 
        scroll-snap-align: end;
    }
    
    .section2 .cajas .caja h5 {
        font-size: 5vw; 
    }
    
    .section2 .cajas .caja p {
        font-size: 3.8vw;
    }
    .section3{
        flex-direction: column-reverse;
    }
    .section3 .der{
        height: 300px;
        width: 100%;
        background-position: center;
    }
    .section3 .izq {
        height: auto;
        width: 100%;
        padding-top:5svh;
    }
    .section3 .izq h2 {
        font-size: 5.5svw;
    }
    .section3 .izq p {
        font-size: 3.8svw;
    }
    .section3 .izq h5{
        font-size: 4.2svw;
    }
    .section4 h1{
        font-size: 7svw;
        letter-spacing: -0.10px;
    }
    .section4 p{
        font-size: 3.8svw;
        margin-bottom: 6svh;
    }
    .section4 .cajas .caja h3{
        margin: 10px 0;
        padding: 0 20px;
        font-size: 4.5svw;
    }
    .section4 .cajas .caja .calificacion p{
        margin: 10px 0 20px 0;
    }
    .section4 .cajas .caja span{
        font-size: 3svw;
    }
    .section4 .cajas .caja .tiempo p {
        margin: 5px 0 10px 0;
    }
    .section4 .more {
        margin: 2rem auto 0 auto;
    }
    .section4 .cajas {
        display: flex;
        gap: 20px;
        overflow-x: auto; /* activa scroll horizontal */
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 1rem; /* para que no se corten sombras */
        padding-left: 10px;
        padding-right: 25px;
      }
    
      .section4 .cajas::-webkit-scrollbar {
        display: none; /* ocultar scrollbar en móvil */
      }
    
      .section4 .cajas .caja {
        flex: 0 0 80%;      /* cada slide ocupa ~80% del ancho */
        scroll-snap-align: end;
      }
    /* .section5 .cajas{
        flex-direction: column;
    } */
    .section5 h1{
        font-size: 5svw;
    }
    .section5 p{
        font-size: 4svw;
    }
    .section5 .cajas .caja .sup{
        gap: 10px;
    }
    .section5 .cajas .caja .sup h6{
        font-size: 3.5svw;
    }
    .section5 .cajas .caja .sup svg{
        width: 20px;
    }
    .section5 .cajas .caja .sup p{
        font-size: 3svw;
    }
    .section5 .cajas .caja p{
        font-size: 3svw;
        margin: 10px 0;
    }
   .section5 .cajas {
    display: flex;
    gap: 20px;
    overflow-x: auto; /* scroll horizontal */
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 1rem;
    justify-content: flex-start; /* no centrar en móvil */
  }

  .section5  .cajas::-webkit-scrollbar {
    display: none; /* ocultar scrollbar */
  }

  .section5 .cajas .caja {
    flex: 0 0 55%;  /* cada testimonio ocupa el 85% de ancho */
    scroll-snap-align: start;
    padding: 1rem;
  }

  .section5 .caja h6 {
    font-size: 5vw;
  }

  .section5 .caja p {
    font-size: 4vw;
  }
  .section5 span svg{
    width: 10px;
  }
    
    .section6 .container{ 
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 1rem;
    }
    .section6 .container .der{
        margin: 0 auto;
        width: -webkit-fill-available;
        padding: 10px 20px;
    }
    .options a{
        display: none;
    }
    .section6 .container .izq h1{
        font-size: 5.5svw;
    }
    .section6 .container .izq p{
        font-size: 3.5svw;
    }
    .section6 .container .der input{
        padding: .8rem;
    }
    .section6 .init{
        width: 90%;
        margin: 10px 5svw;
    }
    footer{
        padding: 2svh 10svw 2svh 10svw;
    }
    footer .iconos{ 
        justify-content: center;
        padding: 0;
    }
    footer .iconos svg{ 
        width: 35px;
    }
    footer .grilla{
        display: flex ;
        flex-direction: column;
    }
    footer .grilla .one img{
        display: none;
    }
    footer .grilla .one p{
        font-size: 4svw;
        line-height: 5svw;
    }
    footer .grilla .one span{
        font-size: 4svw;
    }
    .grilla .two, .grilla .three{
        padding-top: 0;
    }
    .grilla .two h5, .grilla .three h5{
        font-size: 4svw;
        margin: 5px 0;
    }
    .grilla .two p, .grilla .three p{
        font-size: 3.5svw;
        margin: 5px 0;
    }
    footer h3{
        font-size: 4svw;
    }

  }