/* Para Roboto */
.roboto-light { font-family: 'Roboto', sans-serif; font-weight: 300; }
.roboto-regular { font-family: 'Roboto', sans-serif; font-weight: 400; }
.roboto-medium { font-family: 'Roboto', sans-serif; font-weight: 500; }
.roboto-bold { font-family: 'Roboto', sans-serif; font-weight: 700; }

/* Para Merriweather */
.merriweather-light {
    font-family: 'Merriweather', serif;
    font-weight: 300;
}
.merriweather-regular {
    font-family: 'Merriweather', serif;
    font-weight: 400;
}
.merriweather-medium {
    font-family: 'Merriweather', serif;
    font-weight: 500;
}
.merriweather-light-italic {
    font-family: 'Merriweather', serif;
    font-weight: 300;
    font-style: italic;
}


body {
    padding-top: 73px;
}
.nav {
    display: grid;
    grid-template-columns: 350px auto;
    width: 100%;
    height: 90px;
    position: fixed;
    top: 0;
    left: 0;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.4);
    background-color: #FB2328;
    z-index: 3;
}
img.wp-fijo {
    position: fixed;
    bottom: 40px;
    right: 40px;
    width: 50px;
    z-index: 3;
}
:root {
    --animate-duration: 1s;
    --animate-delay: 1s;
    --animate-repeat: 1;
}
.animate__animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-duration: var(--animate-duration);
    animation-duration: var(--animate-duration);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
@-webkit-keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    28% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}
@keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    28% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}
.animate__heartBeat {
    -webkit-animation-name: heartBeat;
    animation-name: heartBeat;
    -webkit-animation-duration: calc(1s * 1.3);
    animation-duration: calc(1s * 1.3);
    -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
    animation-duration: calc(var(--animate-duration) * 1.3);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}
.animate__animated.animate__repeat-3 {
    -webkit-animation-iteration-count: calc(1 * 3);
    animation-iteration-count: calc(1 * 3);
    -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
    animation-iteration-count: calc(var(--animate-repeat) * 3);
}
#presentacion {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    max-width: 100%;
    background-color: #f7f7f7;
}
#presentacion .relleno {
    height: 35px;
}
#presentacion img {
    width: 100%;
}
#presentacion > div {
    max-width: 685px;
    margin: auto 65px;
}
/*#presentacion p.titulo {
    font-family: 'Merriweather', serif;
    font-weight: 400;
    font-size: 62px;
    line-height: 71px;
    margin-bottom: 20px;
}*/
#presentacion p.titulo {
    font-family: 'Merriweather', serif;
    font-weight: 400;
    font-size: 3.875vw;
    line-height: 1.145;
    margin-bottom: 20px;
}
/*#presentacion p.desarrollo {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 30px;
    line-height: 37px;
}*/
#presentacion p.desarrollo {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 1.875vw;
    line-height: 1.233;
}
#ayuda {
    display: grid;
    grid-template-columns: 1.2fr 2fr;
    background-color: #fff;
    margin: -35px 100px -15px;
    border-radius: 65px;
    z-index: 2;
    position: relative;
    column-gap: 90px;
    padding: 50px 75px 50px 115px;
    box-shadow: 11px 11px 17px #606060;
    font-family: 'Roboto', sans-serif;
    max-width: 1200px;
}
form#contacto {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 14px;
    row-gap: 15px;
}
#camino {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 100%;
}
#camino img {
    display: none;
    width: 100%;
}
#camino div:nth-of-type(1) {
    background-image: url("../img/tu_camino.jpg");
    background-repeat: no-repeat;
    margin: inherit;
    background-size: cover;
    background-position-x: center;
}

/*#equipo {
    height: 687px;
    background-image: url("../img/trayectoria.jpg");
    background-repeat: no-repeat;
    color: #fff;
}*/
#equipo {
    background-image: url("../img/trayectoria.jpg");
    background-repeat: no-repeat;
    color: #fff;
    aspect-ratio: 1598/697;
    background-size: cover;
    align-content: center;
}
#equipo .producto ul {
    border-bottom: 1px solid;
    display: flex;
    justify-content: space-between;
}
#alianzas {
    background-color: #f7f7f7;
}
#alianzas p {
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
    font-family: 'Merriweather', serif;
    font-weight: 500;
    font-variation-settings: "wdth" 90;
    letter-spacing: -0.01em;
    padding-top: 50px;
    text-align: center;
}
.producto {
    max-width: 500px;
    margin-left: 120px;
 /*   padding-top: 210px;*/
}
.swiper {
    max-width: 600px;
    margin-top: 100px;
    margin-bottom: 15px;
}
.swiper-slide .frase {
    font-family: 'Merriweather', serif;
    font-weight: 300;
    font-style: italic;
    font-size: 18px;
    line-height: 23px;
}
.swiper-slide .persona {
    font-family: 'Roboto', serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    margin-top: 25px;
    border-bottom: 3px solid #6985a3;
    width: fit-content;
    padding-bottom: 4px;
}
/*.tab {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 23px;
    padding-bottom: 4px;
}*/
.tab {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 1.5vw;
    /* line-height: 23px; */
    padding-bottom: 4px;
}
.tab-pane {
    font-family: 'Merriweather', serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 23px;
    margin-bottom: 50px;
}
/*.botonlink {
    text-decoration: none;
    color: #fff;
    background-color: #6985a3;
    padding: 10px 20px;
    border-radius: 9px;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
}*/
.botonlink {
    text-decoration: none;
    color: #fff;
    background-color: #6985a3;
    padding: 10px 20px;
    border-radius: 9px;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: clamp(0.875rem, 1.25vw, 1.4rem);
    /*line-height: 28px;*/
}
.caja-tabs {
    display: grid;
}
.tab-content {
    margin-top: 10px;
    text-align: initial;
    height: 225px;
}
#camino div {
    margin: 50px 109px;
}
/*#camino .titulo {
    font-family: 'Merriweather', serif;
    font-weight: 400;
    font-size: 35px;
    margin-bottom: 30px;
    margin-top: 25px;
    line-height: 38px;
}*/
#camino .titulo {
    font-family: 'Merriweather', serif;
    font-weight: 400;
    font-size: 2.1875vw;
    margin-bottom: 30px;
    margin-top: 25px;
    line-height: 1.086;
}
#camino .destacado {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 19px;
    color: #6985a3;
    margin-bottom: 12px;
}
p.destacado:nth-of-type(n+3) {
    border-top: 2px solid;
    padding-top: 10px;
    margin-top: 8px;
}
#camino p {
    font-family: 'Merriweather', serif;
    font-weight: 300;
    font-size: 17px;
    line-height: 23px;
    padding-left: 4px;
    padding-right: 4px;
}
#camino .botonlink {
    margin-top: 35px;
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    line-height: 26px;
}
/*#ayuda p.titulo {
    font-size: 40px;
    font-weight: 500;
    margin-top: 30px;
    margin-bottom: 13px;
    text-align: center;
}*/
#ayuda p.titulo {
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
    font-weight: 500;
    margin-top: 30px;
    margin-bottom: 13px;
    text-align: center;
}
/*#ayuda p.info {
    font-size: 19px;
    font-weight: 300;
    line-height: 27px;
}*/
#ayuda p.info {
    font-size: 1.1875vw;
    font-weight: 300;
    line-height: 1.421;
    text-align: center;
}
#encabezado .navbar > a {
    display: none;
}
button#menu-toggle {
    width: 30px;
    margin-top: -10px;
}
footer {
    height: 170px; /*200px;*/
    background-color: #fb2328;
    display: grid;
    grid-template-columns: max-content max-content max-content;
    color: #fff;
    justify-items: center;
    justify-content: center;
    column-gap: 18%; /*290px;*/
}
#iso-pie {
    width: 90%;
}
header {
    position: fixed;
    width: 100%;
    top: 0px;
    background-color: #fb2328;
    z-index: 3;
    color: #fff;
    height: 73px;
    transition: all 0.3s ease; /* transición suave */
    align-content: center;
}
header.shrink {
    height: 53px;
}
.nav-left.shrink, .nav-right.shrink {
    font-size: 16px;
}
.nav-logo img.shrink {
    height: 40px;
}
/***/
body {
    margin: 0;
    font-family: Arial, sans-serif;
}
.mobile-menu {
    display: none;
}
.navbar {
    color: white;
    padding: 10px 0;
    position: relative;
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1350px;
    margin: auto;
    padding: 0 45px;
}

.nav-left, .nav-right {
    list-style: none;
    display: flex;
    gap: 40px;
    margin: 0;
    padding: 0;
    font-size: 1.375vw;
}

.nav-left a, .nav-right a {
    color: white;
    text-decoration: none;
    font-weight: 500;
}

.nav-logo img {
    height: 60px;
}

.menu-toggle {
    display: none;
    font-size: 28px;
    background: none;
    border: none;
    color: #fb2328;
    cursor: pointer;
}
.menu-toggle.white {
    color: #fff;
}
header img.white {
    filter: brightness(0) invert(1) contrast(100%);
}
footer p {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 15px;
    line-height: 20px;
    margin-top: 55px;
}
footer img {
    margin-top: 31px;
}
footer div img {
    margin-top: 55px;
    margin-left: 10px;
}
section#nuestra-historia {
    background-color: #413f45;
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    color: #FFF;
    padding: 130px 80px;
    column-gap: 65px;
}
#nuestra-historia a.botonlink {
    margin: 50px auto 0 auto;
    display: block;
    width: fit-content;
}
section#nuestros-valores {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-items: center;
    padding: 65px 100px 50px;
    column-gap: 85px;
    font-family: 'Roboto', sans-serif;
}
#nuestros-valores a.botonlink {
    grid-column: 1/4;
    margin-top: 30px;
}
#nuestros-valores img {
    width: 100%;
}
#nuestros-valores div {
    justify-items: center;
    text-align: center;
}
/*#nuestros-valores div div {
    max-width: 186px;
    aspect-ratio: 1/1;
    background-color: #6985a3;
    border-radius: 50%;
    display: grid;
    place-content: center;
    margin-bottom: 50px;
    margin-left: auto;
    margin-right: auto;
}*/

#nuestros-valores div div {
    aspect-ratio: 1/1;
    background-color: #6985a3;
    border-radius: 50%;
    display: grid;
    place-content: center; /* atajo para centrar en ambos ejes */
    margin-bottom: 50px;
    padding: 30px;
    margin-left: auto;
    margin-right: auto;
    /*max-width: max-content;*/
    width: 100px;
}

/*#nuestros-valores p.valor {
    font-weight: 700;
    font-size: 24px;
    margin-bottom: 35px;
    line-height: 29px;
}*/
#nuestros-valores p.valor {
    font-weight: 700;
    font-size: clamp(1rem, 1.5vw, 2rem);
    margin-bottom: 25px;
    line-height: 1.208
}
/*#nuestros-valores p.detalle {
    font-weight: 300;
    font-size: 24px;
    line-height: 29px;
}*/
#nuestros-valores p.detalle {
    font-weight: 300;
    font-size: clamp(1rem, 1.5vw, 2rem);
    line-height: 1.208;
}
section#nuestro-equipo {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    background-color: #f7f7f7;
    padding: 65px 100px;
    gap: 30px 20px;
    font-family: 'Roboto', sans-serif;
}
#nuestro-equipo > p, #nuestros-valores > p, #asesorias > p  {
    grid-column: 1/4;
    margin-bottom: 60px;
    font-size: clamp(2rem, 2.5vw, 3rem);
    font-family: 'Merriweather', serif;
    font-weight: 500;
}
#nuestro-equipo > div {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 10px;
}
#nuestro-equipo img {
    width: 115px;
}
#nuestro-equipo div div {
    padding-top: 15px;
}
#nuestro-equipo p.persona {
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 5px;
    line-height: 26px;
 }
#nuestro-equipo p.detalle {
    font-weight: 300;
    font-size: 18px;
    line-height: 23px;
    color: #6985a3;
}
section#comision-directiva {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-color: #f7f7f7;
    padding: 65px 100px;
    column-gap: 20px;
    font-family: 'Roboto', sans-serif;
}
#comision-directiva div:nth-of-type(1) {
    margin-left: 125px;
}
#comision-directiva div:nth-of-type(2) {
    margin-left: 60px;
}
#comision-directiva div p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 28px;
}
#comision-directiva > p {
    grid-column: 1/3;
    margin-bottom: 60px;
    font-size: clamp(2rem, 2.5vw, 3rem);
    font-family: 'Merriweather', serif;
    font-weight: 500;
}
#nuestra-mision {
    min-height: 687px;
    background-image: url("../img/nuestra-mision.jpg");
    background-repeat: no-repeat;
    color: #fff;
    background-position-x: right;
    overflow: auto;
    background-size: cover;
}
#nuestra-mision div {
    max-width: 1100px;
    margin: 0 auto;
    padding-top: 180px;
}
/*#nuestra-mision div p:nth-of-type(1) {
    text-align: center;
    margin-bottom: 60px;
    font-size: 40px;
    font-family: 'Merriweather', serif;
    font-weight: 500;
}*/
#nuestra-mision div p:nth-of-type(1) {
    text-align: center;
    margin-bottom: 50px;
    font-size: clamp(2rem, 2.5vw, 3rem);
    font-family: 'Merriweather', serif;
    font-weight: 500;
}
/*#nuestra-mision p {
    font-size: 24px;
    line-height: 29px;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    margin-bottom: 30px;
}*/
#nuestra-mision p {
    font-size: clamp(1rem, 1.5vw, 2rem);
    line-height: 1.208;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    margin-bottom: 30px;
}
#nuestra-mision .botonlink {
    display: block;
    width: max-content;
    margin: 55px auto 60px;
}
#nuestra-historia div iframe {
    width: 100%;
    position: relative;
    top: 0;
    left: 0;
    aspect-ratio: 16 / 9;
}
/*#nuestra-historia div p:nth-of-type(1) {
    margin-bottom: 45px;
    margin-top: 25px;
    font-size: 40px;
    font-family: 'Merriweather', serif;
    font-weight: 500;
}*/
#nuestra-historia div p:nth-of-type(1) {
    margin-bottom: 45px;
    margin-top: 25px;
    font-size: clamp(2rem, 2.5vw, 3rem);
    font-family: 'Merriweather', serif;
    font-weight: 500;
}
#nuestra-historia div p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: clamp(1rem, 1.3125vw, 1.5rem);
    line-height: 1.238;
    margin-bottom: 20px;
}
#urgencias {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-color: #FFFFFF;
    margin: -260px auto -15px;
    border-radius: 65px;
    z-index: 2;
    position: relative;
    column-gap: 65px;
    padding: 80px 70px 80px 110px;
    box-shadow: 11px 11px 17px #606060;
    font-family: 'Roboto', sans-serif;
    max-width: 1200px;
}
#urgencias p.titulo {
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
    font-weight: 500;
    margin-bottom: 13px;
}
#urgencias p.info {
    font-size: 1.1875vw;
    font-weight: 300;
    line-height: 1.42;
}
#recuperacion {
    background-image: url("../img/recuperacion.jpg");
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    padding: 70px 92px 321px;
    row-gap: 70px;
    color: #FFFFFF;
    column-gap: 46px;
    background-size: cover;
}
#recuperacion > p, #recuperacion a {
    grid-column: 1/5;
}
/*#recuperacion > p {
    text-align: center;
    font-size: 39px;
    font-family: 'Merriweather', serif;
    font-weight: 500;
    font-variation-settings: "wdth" 90;
    letter-spacing: -0.01em;
}*/
#recuperacion > p {
    text-align: center;
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
    font-family: 'Merriweather', serif;
    font-weight: 500;
    font-variation-settings: "wdth" 90;
    letter-spacing: -0.01em;
}
#recuperacion p.valor {
    text-align: center;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 1.5vw;
    margin-bottom: 20px;
    line-height: 1.08;
}
#recuperacion p.detalle {
    text-align: center;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 1.5vw;
    line-height: 1.3;
}
#recuperacion a.botonlink {
    width: max-content;
    justify-self: center;
    padding: 11px 45px;
    /*font-size: 24px;*/
}
#recuperacion div div {
    aspect-ratio: 1/1;
    background-color: #6985a3;
    border-radius: 50%;
    display: grid;
    place-content: center;
    margin-bottom: 35px;
    padding: 20px;
    margin-left: auto;
    margin-right: auto;
}
#recuperacion > div {
    justify-items: center;
}
#recuperacion img {
    max-width: 75px;
}
section#nuestras_casas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 75px;
    padding: 50px 75px; /*50px 100px*/
    background-color: #f7f7f7;
}
#nuestras_casas > p {
    grid-column: 1/3;
    text-align: center;
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
    font-family: 'Merriweather', serif;
    font-weight: 500;
    margin-top: 25px;
    margin-bottom: 45px;
}
#nuestras_casas img {
    width: 100%;
    border-radius: 60px;
    box-shadow: 11px 11px 17px #606060;
}
.swiper {
    overflow: visible;
}
#nuestras_casas .swiper-slide {
    width: 100% !important;
}
/*#tratamientos > p {
    text-align: center;
    font-size: 39px;
    font-family: 'Merriweather', serif;
    font-weight: 500;
    margin-top: 80px;
    font-variation-settings: "wdth" 90;
    letter-spacing: -0.01em;
}*/
#tratamientos > p {
    text-align: center;
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
    font-family: 'Merriweather', serif;
    font-weight: 500;
    margin-top: 80px;
    font-variation-settings: "wdth" 90;
    letter-spacing: -0.01em;
}
#tratamientos .glide__slide {
    height: auto;
}
#tratamientos .tratamiento-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 20px;
}
/*#tratamientos .tratamiento-card {
    padding: 30px;
    margin: 0 10px;
    font-family: 'Roboto', sans-serif;
    font-size: 24px;
}*/
#tratamientos .tratamiento-card {
    padding: 30px;
    margin: 0 10px;
    font-family: 'Roboto', sans-serif;
    font-size: 1.5vw;
}
#tratamientos .tratamiento-card p {
    margin-bottom: 20px;
    color: #6985a3;
    font-weight: 700;
    border-bottom: 2px solid;
    justify-self: center;
    padding-bottom: 3px;
}
/*#tratamientos .tratamiento-card span {
    font-weight: 300;
    text-align: center;
    display: block;
    line-height: 29px;
}*/
#tratamientos .tratamiento-card span {
    font-weight: 300;
    text-align: center;
    display: block;
    line-height: 1.21;
}
#tratamientos .custom-pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 30px;
}
#tratamientos .custom-bullet {
    width: 10px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: #ccc;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}
#tratamientos .custom-bullet.active {
    background: #6985a3;
    transform: scale(1.2);
}
#nuestras_casas div p {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 1.4375vw;
    margin-top: 45px;
    border-bottom: 2px solid #6985a3;
    width: fit-content;
    margin-bottom: 10px;
    padding-bottom: 2px;
}
#nuestras_casas div span {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 1.375vw;
    line-height: 1.35;
}
#nuestras_casas ul {
    margin-top: 13px;
}
#nuestras_casas li {
    margin-left: 35px;
    position: relative;
}
#nuestras_casas li::before {
    content: "";
    position: absolute;
    left: -0.55em;
    top: 0.42em;
    width: 6px;
    background-color: black;
    border-radius: 50%;
    aspect-ratio: 1/1;
}
/* ===== SWIPER - SOMBRAS EN IMÁGENES ===== */
/* wrapper con padding para que la sombra quepa dentro */
.swiper .swiper-slide .img-wrap {
    display: block;
    /*padding: 18px;               espacio para la sombra */
    padding: 8px 26px 18px 0;
    box-sizing: border-box;
    background: transparent;    /* opcional */
    margin-left: 8px;
}
#urgencias li {
    margin-left: 35px;
    position: relative;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 1.25vw;
    line-height: 1.25;
    color: #6985a3;
}
#urgencias li:nth-of-type(-n+2) {
    margin-bottom: 14px;
}
#urgencias li::before {
    content: "";
    position: absolute;
    left: -1.1em;
    top: 0.5em;
    width: 6px;
    background-color: #6985a3;
    border-radius: 50%;
    aspect-ratio: 1/1;
}
#practicas {
    /*height: 469px;*/
    background-image: url("../img/practicas.jpg");
    background-repeat: no-repeat;
    color: #fff;
}
#practicas span {
    display: block;
}
#practicas div {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 95px;
    padding-bottom: 90px;
}
/*#practicas p:nth-of-type(1) {
    text-align: center;
    font-size: 39px;
    font-family: 'Merriweather', serif;
    font-weight: 500;
    font-variation-settings: "wdth" 90;
    letter-spacing: -0.01em;
    margin: 0 120px 50px;
    line-height: 44px;
}*/
#practicas p:nth-of-type(1) {
    text-align: center;
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
    font-family: 'Merriweather', serif;
    font-weight: 500;
    font-variation-settings: "wdth" 90;
    letter-spacing: -0.01em;
    margin: 0 120px 50px;
    line-height: 1.128;
}
/*#practicas p:nth-of-type(2) {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 29px;
    text-align: center;
}*/
#practicas p:nth-of-type(2) {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: clamp(1rem, 1.5vw, 2rem);
    line-height: 1.208;
    text-align: center;
}
/*#universidades p {
    font-size: 39px;
    font-family: 'Merriweather', serif;
    font-weight: 500;
    font-variation-settings: "wdth" 90;
    letter-spacing: -0.01em;
    margin-left: 100px;
    padding-top: 50px;
}*/
#universidades p {
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
    font-family: 'Merriweather', serif;
    font-weight: 500;
    font-variation-settings: "wdth" 90;
    letter-spacing: -0.01em;
    margin-left: 100px;
    padding-top: 50px;
}


#frase {
    text-align: center;
    background-color: #3e3e46;
    color: #FFFFFF;
    padding: 120px 0 130px;
}
#frase div {
    max-width: 1085px;
    margin-right: auto;
    margin-left: auto;
}
/*#frase p#texto {
    font-family: 'Merriweather', serif;
    font-weight: 300;
    font-style: italic;
    font-size: 35px;
    margin: 0;
    display: block;
    line-height: 45px;
}*/
#frase p#texto {
    font-family: 'Merriweather', serif;
    font-weight: 300;
    font-style: italic;
    font-size: clamp(1.25rem, 2.1875vw, 2.5rem);
    margin: 0;
    display: block;
    line-height: 1.286;
}

/* cada palabra como inline-block para medir */
.w { display:inline-block; white-space:normal; margin-right:6px; /* espacio visual entre palabras */ }

/* contenedor que agrupa la(s) palabra(s) de la última línea */
.last-line {
    display:inline-block;
    position:relative;
    margin-right:6px; /* igual espacio para mantener separación */
}
.last-line::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom: -23px;         /* distancia de la línea al texto */
    height:2px;          /* grosor de la línea */
    background:#fff;     /* color de la línea */
}

/* opcional: evitar selección visual rara */
.w, .last-line { -webkit-user-select: text; user-select: text; }


#cursos-seminarios {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-left: 100px;
    margin-right: 100px;
    column-gap: 90px;
}
#cursos-seminarios .titulo {
    font-family: 'Merriweather', serif;
    font-weight: 400;
    font-size: 35px;
    margin-bottom: 50px;
    margin-top: 70px;
    line-height: 38px;
    grid-column: 1/3;
}
#cursos-seminarios p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 29px;
}
#cursos-seminarios .botonlink {
    display: block;
    margin: 40px auto 80px;
    text-align: center;
    width: fit-content;
}
#cursos-seminarios li {
    margin-left: 35px;
    position: relative;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 28px;
    color: #6985a3;
}
#cursos-seminarios li:nth-of-type(-n+3) {
    margin-bottom: 7px;
}
#cursos-seminarios li::before {
    content: "";
    position: absolute;
    left: -1.1em;
    top: 0.5em;
    width: 6px;
    background-color: #6985a3;
    border-radius: 50%;
    aspect-ratio: 1/1;
}
#cursos-seminarios ul {
    max-width: max-content;
    margin: 0 auto;
}
#publicaciones {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 90px;
    background-color: #f7f7f7;
    padding: 90px 100px 80px 100px;
    row-gap: 60px;
}
#publicaciones div#titulo-publicaciones {
    grid-column: 1/3;
    max-width: 700px;
}
#publicaciones .titulo {
    font-family: 'Merriweather', serif;
    font-weight: 400;
    font-size: 35px;
    margin-bottom: 25px;
    line-height: 38px;
}
#publicaciones p {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 24px;
    line-height: 29px;
}
#publicaciones .caja {
    max-width: 618px;         /* No crecerá más que el tamaño original */
    aspect-ratio: 618 / 515;
    border-radius: 45px;
    overflow: hidden;
    position: relative;
}
#publicaciones .caja img {
    width: 100%;
}
#publicaciones > div:nth-of-type(n+2) {
    position: relative;
    width: fit-content;
    margin: 0 auto;
}
#publicaciones a.franja {
    position: absolute;
    background-color: #6985a3;
    color: #fff;
    padding: 7px 20px 7px 40px;
    max-width: 500px;
    border-radius: 0 7px 7px 7px;
    bottom: 13%;
    left: -10px;
    &::after {
        content: "";
        display: block;
        position: absolute;
        background: #6985a3;
        clip-path: polygon(0 47%, 100% 0, 100% 100%, 0% 100%);
        top: -10px;
        left: 0;
        width: 11px;
        height: 11px;
    }
}
#publicaciones a.franja p {
    font-size: 20px;
    font-family: 'Roboto', sans-serif;
}
#publicaciones .libro {
    font-weight: 700;
    font-style: italic;
    line-height: 24px;
}
#publicaciones .autor {
    font-weight: 400;
}
section#mapas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 170px;
    max-width: 1200px;
    margin: 85px auto 100px auto;
}
.mapa {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* relación 16:9 */
}
.mapa iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
section#formulario {
    background-image: url(../img/contactanos.jpg);
    background-repeat: no-repeat;
    color: #fff;
    background-position-x: right;
    background-size: cover;
}
#formulario > div {
    max-width: 1200px;
    column-gap: 100px;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    margin: 0 auto;
    padding-top: 225px;
    padding-bottom: 210px;
}
/*#formulario p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 45px;
    margin-top: 13px;
}*/
#formulario p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: clamp(1.6rem, 2.1vw, 2.6rem);
    line-height: 1.165;
    margin-top: 13px;
}
#formulario form#contacto {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 14px;
    row-gap: 15px;
}
#formulario label#consulta, #formulario label#email {
    grid-column: 1/3;
}
section#comunicate > div {
    max-width: 1200px;
    margin: 0 auto 135px auto;
    padding-top: 160px;
}
#comunicate div .formas {
    text-align: center;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 7%;
    justify-items: center;
}
/*#comunicate > div > div > p:nth-of-type(1) {
    font-family: 'Merriweather', serif;
    font-weight: 400;
    font-size: 62px;
    line-height: 71px;
    margin-bottom: 20px;
    text-align: center;
}*/
#comunicate > div > div > p:nth-of-type(1) {
    font-family: 'Merriweather', serif;
    font-weight: 400;
    font-size: 3.875vw;
    line-height: 1.145;
    margin-bottom: 20px;
    text-align: center;
}
/*#comunicate > div > div > p:nth-of-type(2) {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 30px;
    max-width: 825px;
    line-height: 35px;
    margin-bottom: 95px;
    text-align: center;
    justify-self: center;
}*/
#comunicate > div > div > p:nth-of-type(2) {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    max-width: 825px;
    margin-bottom: 95px;
    text-align: center;
    justify-self: center;
    font-size: 1.875vw;
    line-height: 1.233;
}
#comunicate .medio {
    width: 254px;
}
#comunicate .medio p{
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 22px;
    margin-top: 25px;
}
#formulario button {
    /*grid-column: 1/3;*/
    width: fit-content;
    justify-self: right;
    border: none;
}
#mapas p:nth-of-type(1) {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 23px;
    margin-bottom: 20px;
    border-bottom: 3px solid #6985a3;
    padding-bottom: 3px;
    margin-left: 15px;
    width: max-content;
}
#mapas p:nth-of-type(2) {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 22px;
    margin-bottom: 45px;
    line-height: 30px;
    margin-left: 15px;
}
section#asesorias {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-items: center;
    padding: 65px 100px;
    column-gap: 90px;
    font-family: 'Roboto', sans-serif;
    background-image: url("../img/asesorias.jpg");
    background-repeat: no-repeat;
    color: #FFFFFF;
    height: 630px;
    background-size: cover;
}
#asesorias p:nth-of-type(1) {
    margin-bottom: 10px;
}
#asesorias p:nth-of-type(2) {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: clamp(1rem, 1.5vw, 2rem);
}
#asesorias div {
    justify-items: center;
    text-align: center;
}
#asesorias a.botonlink {
    grid-column: 1/4;
    height: fit-content;
    margin-top: 50px;
}
#asesorias div div {
    aspect-ratio: 1/1;
    background-color: #6985a3;
    border-radius: 50%;
    display: grid;
    place-content: center;
    margin-bottom: 50px;
    padding: 30px;
    margin-left: auto;
    margin-right: auto;
    /*max-width: max-content;*/
    width: 100px;
}
#asesorias img {
    width: 100%;
}
#asesorias p.valor {
    font-weight: 700;
    font-size: clamp(1rem, 1.5vw, 2rem);
    margin-bottom: 25px;
    line-height: 1.208;
}
#asesorias p.detalle {
    font-weight: 300;
    font-size: clamp(1rem, 1.5vw, 2rem);
    line-height: 1.208;
}
section#recursos {
    margin: 0 105px;
}
#recursos > div {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 80px;
    max-width: 1500px;
    margin-top: 65px;
}
#recursos a {
    display: inline-block;
    margin-bottom: 100px;
    margin-top: 25px;
}
#recursos div div {
    text-align: center;
}
#recursos img {
    width: 100%;
}
/*#recursos p:nth-of-type(1) {
    font-family: 'Merriweather', serif;
    font-size: 40px;
    font-weight: 500;
    margin-top: 100px;
    margin-bottom: 25px;
}*/
#recursos p:nth-of-type(1) {
    font-family: 'Merriweather', serif;
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
    font-weight: 500;
    margin-top: 100px;
    margin-bottom: 25px;
}
/*#recursos p:nth-of-type(2) {
    max-width: 890px;
    font-family: 'Roboto', sans-serif;
    font-size: 24px;
    line-height: 29px;
    font-weight: 300;
}*/
#recursos p:nth-of-type(2) {
    max-width: 890px;
    font-family: 'Roboto', sans-serif;
    font-size: clamp(1rem, 1.5vw, 2rem);
    line-height: 1.208;
    font-weight: 300;
}
nav.nav-container.navbar.no-bg {
    background: initial;
}
.parallax {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
}











/**/








/* Formulario */
/*#ayuda#contacto {
    background-color:black;
    padding-bottom:40px;
}
#contacto button {
    background:#00000059;
    float:right;
}*/
button {
    grid-column: 3/4;
    width: fit-content;
    justify-self: right;
    border: none;
}
/*#contacto .cuerpo {
    margin-left:110px;
    display:grid;
    grid-template-columns:calc(90% - 315px) 322px;
    grid-column-gap:10%;
    max-width:850px;
    margin-right:110px;
    align-items:end;
}
#contacto h1 {
    grid-column:1/3;
    font-size:40px;
    margin-top:60px;
    margin-bottom:40px;
    color:#fff;
}
#contacto input {
    height:35px;
    margin-top:25px;
}
#contacto textarea {
    margin-top:25px;
    height:100px;
}*/
input, textarea {
    border:2px solid transparent;
    background-color:#ebebeb;
    padding-left:12px;
    padding-right:12px;
    font-size:15px;
}
input {
    width:calc(100% - 28px);  /* width:calc(100% - 3px); */
    height:40px;
}
textarea {
    height:110px;
    width:calc(100% - 28px); /*width:calc(100% - 3px);*/
    font-family:arial;
    padding-top:14px;
}
input.empty + span {
    top: 16px; /*top:37%*/
}
textarea.empty + span {
    top: 18px; /*top:14%*/
}
input.empty + span, textarea.empty + span {
    /*transform:translateY(-325%);*/
    font-size: clamp(0.75rem, 0.9375vw, 1.0625rem);
    background:none;
    color:#343434;
    padding-left:14px;
}
/*#ayuda input.empty + span,#ayuda textarea.empty + span {
    top:50%;
    transform:translateY(-325%);
    font-size:15px;
    background:none;
    color:#343434;
    padding-left:14px;
}*/
/*input.empty + span {
    transform:translateY(-38%);
}*/
/*#ayuda input.empty + span {
    transform:translateY(-38%);
}*/
label span {
    position: absolute;
    left: 0;
    top: 3px;
    font-size: .7em;
    cursor: text;
    color: #454545;
    transition: all 150ms ease;
    padding-left: 6px;
}
/*#ayuda label span {
    position:absolute;
    left:0px;
    top:5px;
    font-size:.80em;
    cursor:text;
    color: #ff0000;
    transition:all 150ms ease;
}*/
label {
    position:relative;
    display:inline-block;
}
/*#ayuda label {
    position:relative;
    display:inline-block;
}*/
label {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
}
label#consulta {
    grid-column: 1/4;
    width: 100%; /* width: calc(100% - 18px); */
}


input:focus, textarea:focus {
    outline: none;     /* Quita el borde de focus del navegador */
    box-shadow: none;  /* Quita sombras que algunos navegadores agregan */
    background-color: #cbd8e5; /* color suave de ejemplo */
}
form#contacto p.mensaje-error-contacto {
    color: #ff0000;
    font-size: 11px;
    font-weight: 400;
    padding-left: 4px;
    line-height: initial;
    margin-top: initial;
    background-color: rgb(255 255 255 / 50%);
    width: fit-content;
    padding-right: 4px;
}
form p#respuesta {
    grid-column: 1/3;
    justify-self: center;
    align-self: center;
    margin-top: initial;
}
span.text-error {
    color: #ff0000;
    font-size: 16px;
    background-color: rgb(255 255 255 / 50%);
    padding: 0 4px;
}
span.text-success {
    color: #6985a3;
    font-size: 16px;
    background-color: rgb(255 255 255 / 50%);
    padding: 0 4px;
}
button.disabled, input[type="submit"].disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
form div {
    grid-column: 1/4;
    display: grid;
    grid-template-columns: 1fr auto;
    text-align: center;
}
#formulario form div {
    grid-column: 1/3;
    display: grid;
    grid-template-columns: 1fr auto;
    text-align: center;
}
input, textarea, select {
    margin: 0;        /*   elimina márgenes por defecto en todos los navegadores */
    /* padding: 0;         opcional, pero mantiene consistencia */
    display: block;     /* asegura que se comporten igual */
    margin-bottom: 2px;
}