/* #region Home foundation */
.home-page {
    position: relative;
    isolation: isolate;
    width: 100%;
    min-width: 0;
    overflow-x: clip;
}

.home-page__content {
    position: relative;
    z-index: 2;
    width: 100%;
    min-width: 0;
    margin-top: 0;
    background: transparent;
}

.home-section__title,
.home-section__title > * {
    margin: 0;
    color: inherit;
    font-family: var(--font-primary);
    font-size: var(--type-h1);
    font-style: normal;
    font-weight: inherit;
    line-height: var(--leading-heading);
    letter-spacing: normal;
    /* text-wrap: balance; */
}
/* #endregion */

/* #region Home hero */
.home-hero {
    position: sticky;
    z-index: 0;
    top: 0;
    isolation: isolate;
    width: 100%;
    height: 100svh;
    min-height: 36rem;
    overflow: hidden;
    background-color: var(--color-primary);
}

.home-hero__carousel,
.home-hero__carousel .carousel-inner,
.home-hero__carousel .carousel-item,
.home-hero__picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-hero__carousel .carousel-item {
    display: block;
    opacity: 0;
    transition: opacity 700ms ease;
}

.home-hero__carousel .carousel-item.active {
    z-index: 1;
    opacity: 1;
}

.home-hero__picture {
    display: block;
}

.home-hero__media {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.home-hero__overlay {
    position: absolute;
    z-index: 2;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgb(12 29 62 / 92%) 0%,
            rgb(12 29 62 / 47%) 16%,
            rgb(12 29 62 / 8%) 38%,
            transparent 50%
        ),
        linear-gradient(
            0deg,
            rgb(12 38 76 / 94%) 0%,
            rgb(12 38 76 / 52%) 17%,
            rgb(12 38 76 / 8%) 39%,
            transparent 51%
        ),
        linear-gradient(
            rgb(6 18 42 / 12%),
            rgb(6 18 42 / 12%)
        );
    pointer-events: none;
}

.home-hero__controls {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: clamp(1.5rem, 4vw, 3rem);
    left: 0;
    display: flex;
    justify-content: center;
    padding-inline: var(--space-2);
}

.home-hero__indicators {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.home-hero__indicator {
    width: .75rem;
    height: .75rem;
    padding: 0;
    background-color: var(--color-tab);
    border: none;
    /* border: 1px solid rgb(255 255 255 / 90%); */
    border-radius: 50%;
    box-shadow: 0 .25rem .75rem rgb(0 0 0 / 18%);
    cursor: pointer;
    transition:
        width 200ms ease,
        background-color 200ms ease,
        transform 200ms ease;
}

.home-hero__indicator:hover,
.home-hero__indicator:focus-visible,
.home-hero__indicator.is-active {
    background-color: var(--color-accent);
    transform: scale(1.12);
}

.home-hero__indicator.is-active {
    width: 2.25rem;
    border-radius: var(--button-radius);
}

.home-hero__picture,
.home-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-hero__media {
    object-fit: cover;
}

@media (max-width: 767.98px) {
    .home-hero__video { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero__video { display: none; }
}

@media (max-width: 575.98px) {
    .home-hero {
        min-height: 32rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero__carousel .carousel-item,
    .home-hero__indicator {
        transition: none;
    }
}
/* #endregion */

/* #region Escolaridades */ 
.school-grades-section { 
    /* 60px en horizontal y vertical. Estas variables pueden cambiarse por sección. */ 
    --visual-space-x: 3.75rem; 
    --visual-space-y: 3.75rem; 
}

.school-grades-section__header { 
    width: 100%; 
    /* max-width: 72rem;  */
    margin: 0 auto 2.5rem; 
    text-align: start; 
}

.school-grades-section__subtitle { 
    margin-top: 1.25rem; 
    font-size: var(--type-h3);
}

.school-grades-section__subtitle > :last-child, 
.school-grades-section__header > :last-child { 
    margin-bottom: 0; 
}

.audience-schoolGrades > .col { 
    display: flex; 
}

.education-card { 
    width: 100%; 
}

.school-grades-banner { 
    width: 100%; 
    min-height: 24rem; 
    margin-top: 6.75rem; 
    overflow: hidden; 
    background-color: var(--school-banner-bg, var(--color-primary)); 
    /* border-radius: 1.5rem;  */
    padding-left: 19.5rem;
    padding-right: 19.5rem;
    padding-bottom: 1.75rem;
}

.school-grades-banner__media { 
    position: relative; 
    min-height: 24rem; 
    overflow: hidden; 
    border-radius: 1rem;
}

.school-grades-banner__image { 
    position: absolute; 
    inset: 0; 
    display: block; 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    object-position: center; 
}

.school-grades-banner__content { 
    min-height: 24rem; 
    padding-left: 3.75rem;
    /* padding: 3.75rem;  */
}

.school-grades-banner__copy { 
    width: 100%; 
    max-width: 38rem; 
}

.school-grades-banner__copy > :last-child { 
    margin-bottom: 0; 
}

@media (max-width: 991.98px) { 
    .school-grades-section__header { 
        margin-bottom: 2rem; 
    }

    .school-grades-banner {
        margin-top: 3rem;
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .school-grades-banner__media {
        min-height: 20rem;
    }

    .school-grades-banner__content {
        min-height: auto;
        padding: 3rem 2rem;
    }
}

@media (max-width: 767.98px) { 
    .school-grades-section {
        --visual-space-x-tablet: 0;
        --visual-space-y-tablet: 0;
        --visual-space-x-mobile: 0;
        --visual-space-y-mobile: 0;

        --school-grades-mobile-inset: 1.5rem;
        --school-grades-mobile-gap: 1rem;
    }

    .school-grades-section__header {
        width: 100%;
        margin: 0 0 1rem;
        padding:
            1rem
            var(--school-grades-mobile-inset)
            0;
        text-align: left;
    }

    .school-grades-section__subtitle {
        margin-top: .5rem;
        font-size: var(--type-h5);
        line-height: var(--leading-body);
    }

    .school-grades-section__header > :last-child,
    .school-grades-section__subtitle > :last-child {
        margin-bottom: 0;
    }
} 
/* #endregion */

/* #region Grados Escolares */ 
.audience-schoolGrades { 
    justify-content: center; 
}

.audience-schoolGrades > .school-grade-column { 
    display: flex; 
    flex: 0 0 calc(26.25rem + var(--bs-gutter-x)); 
    width: calc(26.25rem + var(--bs-gutter-x)); 
    max-width: 100%; 
    justify-content: center; 
}

/* 420px × 660px */ 
.education-card { 
    --education-card-width: 26.25rem; 
    --education-card-height: 41.25rem; 
    --education-card-radius: 1rem; 
    --education-card-content-height: 15.75rem; 
    --education-card-background: #e9e9e9;
    position: relative;
    display: grid;
    grid-template-rows:
        var(--education-card-content-height)
        minmax(0, 1fr);
    
    width: min(100%, var(--education-card-width));
    height: var(--education-card-height);
    min-width: 0;
    overflow: hidden;
    
    color: #20344d;
    text-decoration: none;
    
    background-color: var(--education-card-background);
    border: 0;
    border-radius: var(--education-card-radius);
    
    transition:
        transform 350ms ease,
        box-shadow 350ms ease;
}

.education-card__content { 
    position: relative; 
    z-index: 2; 
    display: flex; 
    min-width: 0; 
    min-height: 0; 
    flex-direction: column; 
    padding: 1rem 1.125rem 1.25rem; 
    overflow: hidden; 
    background-color: var(--education-card-background); 
}

.education-card__badges { 
    display: flex; 
    width: 100%; 
    min-width: 0; 
    min-height: 2.375rem; 
    align-items: center; 
    justify-content: space-between; 
    gap: .75rem; 
    margin-bottom: 2.5rem; 
}
/* 126px × 38px */ 
.education-card__range { 
    --ht-tag-width: 7.875rem; 
    --ht-tag-height: 2.375rem; 
    --ht-tag-radius: .5rem; 
    --ht-tag-bg: #fff; 
    --ht-tag-border: transparent;
    flex: 0 0 7.875rem;
}
/* 230px × 38px */ 
.education-card__campus { 
    --ht-tag-width: 14.375rem; 
    --ht-tag-height: 2.375rem; 
    --ht-tag-radius: .5rem; 
    --ht-tag-bg: var(--grade-color); 
    --ht-tag-border: transparent; 
    --ht-tag-text: #fff;
    flex: 0 1 14.375rem;
    margin-left: auto;
}

.education-card__heading { 
    display: flex; 
    min-width: 0; 
    flex: 1; 
    flex-direction: column; 
    padding-inline: .25rem; 
    overflow: hidden; 
}

.education-card__title { 
    margin: 0; 
    color: inherit; 
    font-size: var(--type-h1); 
    line-height: 1; 
}

.education-card__title > *, 
.education-card__stage > *, 
.education-card__description > * {
     margin-top: 0; 
}

.education-card__title > :last-child, 
.education-card__stage > :last-child, 
.education-card__description > :last-child { 
    margin-bottom: 0; 
}

.education-card__stage { 
    margin-top: .25rem; 
    color: inherit; 
    font-size: var(--type-h1); 
    line-height: 1.05; 
}

.education-card__description { 
    display: -webkit-box; 
    /* margin-top: auto;  */
    padding-top: 1.5rem; 
    overflow: hidden;
    color: #4c5766;
    font-size: var(--type-h3);
    line-height: 1.4;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.education-card__lower { 
    position: relative; 
    z-index: 1; 
    min-width: 0; 
    min-height: 0; 
    overflow: hidden; 
    background-color: #d8d8d8;
    border-radius: var(--education-card-radius);
}


.education-card__image { 
    position: absolute; 
    inset: 0; 
    display: block; 
    width: 100%; 
    height: 100%;
    object-fit: cover;
    object-position: center;

    opacity: 1;
    transform: scale(1);

    transition:
        opacity 350ms ease,
        transform 650ms cubic-bezier(.22, 1, .36, 1);
}

.education-card__hover { 
    position: absolute; 
    z-index: 2; 
    inset: 0; 
    display: flex; 
    align-items: flex-start; 
    justify-content: flex-start; 
    padding: 2.5rem; 
    overflow: hidden;
    color: #fff; 
    background-color: var(--grade-color);
    opacity: 0; 
    visibility: hidden; 
    
    transform: translateY(1rem);
    transition: 
        opacity 350ms ease, 
        visibility 350ms ease, 
        transform 450ms cubic-bezier(.22, 1, .36, 1); 
}

.education-card__hover-text { 
    width: 100%; 
    max-height: 100%; 
    margin: 0; 
    overflow: hidden;
    color: inherit;
    font-size: var(--type-h3);
    line-height: 1.6;
}

.education-card__hover-text > :first-child { 
    margin-top: 0; 
}

.education-card__hover-text > :last-child { 
    margin-bottom: 0; 
}

.education-card:hover, 
.education-card:focus-visible, 
.education-card:focus-within { 
    transform: translateY(-.3125rem); 
    box-shadow: 0 1.25rem 2.8125rem rgb(23 53 104 / 15%); 
}

.education-card:hover .education-card__image, 
.education-card:focus-visible .education-card__image, 
.education-card:focus-within .education-card__image { 
    opacity: 0; 
    transform: scale(1.04); 
}

.education-card:hover .education-card__hover, 
.education-card:focus-visible .education-card__hover, 
.education-card:focus-within .education-card__hover { 
    opacity: 1; 
    visibility: visible; 
    transform: translateY(0); 
}

.education-card:focus-visible { 
    outline: 3px solid var(--grade-color); 
    outline-offset: 4px; 
}

/* Mobile*/
@media (max-width: 991.98px) {
    .audience-schoolGrades {
        width: 100%;
        margin-inline: 0;
    }

    .audience-schoolGrades > .school-grade-column {
        display: flex;
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
        padding-inline: 0;
    }

    .education-card {
        --education-card-width: 100%;
        --education-card-height: auto;
        --education-card-radius: 1rem;
        --education-card-background: var(--color-tab, #d9d9d9);
        /* Mobile */
        --education-description-mobile-color: #002453;

        display: flex;
        width: 100%;
        max-width: none;
        height: auto;
        flex-direction: column;

        color: var(--color-primary);
        background-color: var(--education-card-background);
        border-radius: var(--education-card-radius);
        box-shadow: none;
        transform: none;
    }

    .education-card__content {
        display: flex;
        min-height: 0;
        flex-direction: column;
        padding:
            1.5rem
            var(--school-grades-mobile-inset)
            1rem;
        overflow: visible;
        background-color: transparent;
    }

    .education-card__badges {
        min-height: 1.5rem;
        gap: .5rem;
        margin-bottom: 1.5rem;
    }

    .education-card__range,
    .education-card__campus {
        --ht-tag-width: 7.25rem;
        --ht-tag-height: 2.25rem;
        --ht-tag-radius: .5rem;

        min-width: 0;
        padding: .3rem .75rem;
        font-size: var(--type-h4);
    }

    .education-card__range {
        --ht-tag-width: 7.25rem;
    }
    .education-card__campus {
        --ht-tag-width: 12.8rem;
    }

    .education-card__range {
        flex: 0 1 auto;
        min-width: 5.25rem;
    }

    .education-card__campus {
        flex: 0 1 auto;
        min-width: 0;
        max-width: 65%;
        margin-left: auto;
    }

    .education-card__heading {
        display: flex;
        min-height: 0;
        flex-direction: column;
        padding-inline: 0;
        overflow: visible;
    }

    .education-card__title,
    .education-card__stage {
        line-height: var(--leading-heading);
    }

    .education-card__stage {
        margin-top: 0;
    }

    .education-card__description {
        display: block;
        margin-top: 1rem;
        padding-top: 0;
        overflow: visible;
        font-size: var(--type-h3);
        line-height: var(--leading-body);

        -webkit-line-clamp: unset;
        -webkit-box-orient: initial;
    }

    .education-card__lower {
        position: relative;
        display: flex;
        min-height: 0;
        flex-direction: column;
        overflow: visible;
        background-color: transparent;
    }

    .education-card__image {
        position: relative;
        inset: auto;
        display: block;
        width: calc(
            100% -
            (var(--school-grades-mobile-inset) * 2)
        );
        height: auto;
        aspect-ratio: 1 / 1;
        flex: 0 0 auto;
        margin-inline: var(--school-grades-mobile-inset);

        object-fit: cover;
        object-position: center;

        opacity: 1;
        border-radius: 1rem;
        transform: none;
    }

    .education-card__hover {
        position: relative;
        inset: auto;
        display: block;
        padding:
            .875rem
            var(--school-grades-mobile-inset)
            1rem;
        overflow: visible;

        /* color: var(--color-primary); */
        background-color: transparent;
        color: var(--education-description-mobile-color);

        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .education-card__hover-text {
        width: 100%;
        max-height: none;
        overflow: visible;
        font-size: var(--type-h3);
        line-height: var(--leading-body);
        color: var(--education-description-mobile-color) !important;
    }

    .education-card:hover,
    .education-card:focus-visible,
    .education-card:focus-within {
        box-shadow: none;
        transform: none;
    }

    .education-card:hover .education-card__image,
    .education-card:focus-visible .education-card__image,
    .education-card:focus-within .education-card__image {
        opacity: 1;
        transform: none;
    }

    .education-card:hover .education-card__hover,
    .education-card:focus-visible .education-card__hover,
    .education-card:focus-within .education-card__hover {
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .school-grades-banner {
        width: 100%;
        min-height: 0;
        margin: 2.5rem 0 0;
        padding: 0 0 1rem;

        background-color: var(
            --school-banner-bg,
            var(--color-primary)
        );

        border-radius: 0;
    }

    .school-grades-banner__media {
        position: relative;
        width: calc(
            100% -
            (var(--school-grades-mobile-inset) * 2)
        );
        min-height: 0;
        aspect-ratio: 49 / 32;
        flex: 0 0 auto;
        margin-inline: var(--school-grades-mobile-inset);
        overflow: hidden;
        border-radius: 1rem;
    }

    .school-grades-banner__image {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .school-grades-banner__content {
        min-height: 0;
        padding:
            1rem
            var(--school-grades-mobile-inset); /*Maybe p-b 1.5rem*/
    }

    .school-grades-banner__copy {
        width: 100%;
        max-width: none;
    }
}

@media (prefers-reduced-motion: reduce) { 
    .education-card, 
    .education-card__image, 
    .education-card__hover { 
        transition: none; 
    } 
} 
/* #endregion */

/* #region Distintivo */ 
.activities-section { 
    --activities-active: var(--color-primary, #152f5b); 
    --distinctive-underlap: var(--visual-radius, 2rem); 
    --discipline-panel-radius: 2rem; 
    --discipline-stage-height: clamp(38rem, 43vw, 44rem);

    z-index: var(--visual-layer, 9);
    margin-top: calc(-1 * var(--distinctive-underlap));
}

.activities-section__surface { 
    border-radius: 0 0 var(--visual-radius) var(--visual-radius); 
}

.discipline-journey { 
    width: 100%; 
    min-width: 0; 
    margin: 0;
    padding-left: 18.5rem;
}

.activities-section__aside { 
    min-height: var(--discipline-stage-height); 
    padding: calc(
        var(--distinctive-underlap) + 
        var(--visual-space-y)
    ) var(--visual-space-x) var(--visual-space-y); 
}

.activities-section__aside-inner { 
    width: 100%; 
    max-width: 42rem; 
    margin-inline: auto; 
}

.activities-section__header { 
    width: 90%; /* RODO */ 
    margin-bottom: 2.75rem; 
}

.activities-section__title, 
.activities-section__title > * { 
    margin-top: 0; 
}

.activities-section__title > :last-child { 
    margin-bottom: 0; 
}

.discipline-journey__list { 
    display: none; 
    margin: 0; 
    padding: 0; 
    list-style: none; 
}

.discipline-journey.is-enhanced .discipline-journey__list { 
    display: flex; 
    flex-direction: column; 
    align-items: flex-start; 
    gap: 1rem; 
}

.discipline-journey__step { 
    width: 100%; 
    margin: 0; 
    padding: 0; 
}

.discipline-journey__trigger { 
    --discipline-item-color: #fff;
    position: relative;
    display: inline-flex;
    max-width: 100%;
    align-items: flex-start;
    gap: 1rem;
    padding: .25rem 0;

    color: #fff; /*var(--discipline-item-color)*/
    font: inherit;
    text-align: left;
    text-decoration: none;

    background: transparent;
    border: 0;

    opacity: .72;
    cursor: pointer;

    transition:
        color 250ms ease,
        opacity 250ms ease,
        transform 250ms ease;
}

.discipline-journey__trigger::before { 
    width: .75rem; 
    height: .75rem; 
    flex: 0 0 .75rem; 
    /* margin-top: .4rem; */
    align-self: center;
    content: "";
    background-color: currentColor;
    border-radius: 50%;

    transition:
        background-color 250ms ease,
        transform 250ms ease;
}

.discipline-journey__label { 
    min-width: 0; 
    color: inherit; 
    line-height: 1.25; 
}

.discipline-journey__label > * { 
    margin-top: 0; 
}

.discipline-journey__label > :last-child { 
    margin-bottom: 0; 
}

.discipline-journey__trigger:hover { 
    opacity: 1; 
}

.discipline-journey__trigger:focus-visible { 
    outline: 3px solid currentColor; 
    outline-offset: .35rem; 
}

.discipline-journey__step.is-active .discipline-journey__trigger { 
    color: var(--activities-active); 
    opacity: 1; 
    transform: translateX(.25rem); 
}

.discipline-journey__step.is-active .discipline-journey__trigger::before { 
    transform: scale(1.1); 
}

.discipline-journey__stage { 
    display: grid; 
    width: 100%; 
    min-width: 0; 
    gap: 1.5rem; 
}

.discipline-journey__panel { 
    position: relative; 
    display: grid; 
    grid-template-rows: minmax(22rem, 1fr) auto; 
    width: 100%; 
    min-width: 0; 
    overflow: hidden; 
    background-color: transparent; 
    height: 90%;
}

.discipline-journey.is-enhanced .discipline-journey__stage { 
    position: relative; 
    display: block; 
    min-height: var(--discipline-stage-height); 
    overflow: hidden; 
}

.discipline-journey.is-enhanced .discipline-journey__panel { 
    position: absolute; 
    inset: 0; 
    grid-template-rows: minmax(0, 1fr) auto;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.discipline-journey.is-enhanced .discipline-journey__panel.is-active { 
    opacity: 1; 
    visibility: visible; 
    pointer-events: auto; 
    animation: discipline-panel-fade-down 600ms cubic-bezier(.22, 1, .36, 1) both; 
}

.discipline-journey__media { 
    position: relative; 
    width: 100%; 
    min-width: 0; 
    min-height: 0; 
    overflow: hidden;
    background-color: #fff;
    border-radius: 0;
}

.discipline-journey__media img { 
    display: block; 
    width: 100%; 
    height: 100%; 
    min-height: 22rem;
    object-fit: cover;
    object-position: center;

    border-radius: 
        0
        0
        var(--discipline-panel-radius)
        var(--discipline-panel-radius);

    transform: scale(1.01);

    transition:
        transform 900ms cubic-bezier(.22, 1, .36, 1);
}

.discipline-journey__panel.is-active .discipline-journey__media img { 
    transform: scale(1); 
}

.discipline-journey__placeholder { 
    width: 100%; 
    height: 100%; 
    min-height: 22rem;
    background:
        linear-gradient(
            135deg,
            rgb(255 255 255 / 16%),
            transparent
        );
    border-radius: 
        0
        0
        var(--discipline-panel-radius)
        var(--discipline-panel-radius);
}

.discipline-journey__content { 
    position: relative; 
    z-index: 2; 
    width: 100%; 
    min-width: 0; 
    min-height: 7.5rem; 
    padding: 1.5rem 2.25rem;
    background-color: #fff;
    border-radius:
        0
        0
        var(--visual-radius)
        var(--discipline-panel-radius);
    
    transform-origin: top center;
    will-change: transform, opacity;
}

.discipline-journey__content.is-contracting { 
    pointer-events: none; 
    animation: discipline-description-contract 220ms cubic-bezier(.4, 0, 1, 1) both; 
}

.discipline-journey__content.is-expanding { 
    animation: discipline-description-expand 420ms cubic-bezier(.22, 1, .36, 1) both; 
}

@keyframes discipline-description-contract { 
    from { 
        opacity: 1; 
        transform: scaleY(1); 
    }
    to {
        opacity: 0;
        transform: scaleY(0);
    }
}

@keyframes discipline-description-expand { 
    from { 
        opacity: 0; 
        transform: scaleY(0); 
    }
    to {
        opacity: 1;
        transform: scaleY(1);
    }
}

.discipline-journey__description { 
    width: 100%; 
    color: inherit; 
}

.discipline-journey__description > :first-child { 
    margin-top: 0; 
}

.discipline-journey__description > :last-child { 
    margin-bottom: 0; 
}

.discipline-journey__fallback-title { 
    margin-bottom: 1rem; 
}

.discipline-journey.is-enhanced .discipline-journey__fallback-title { 
    display: none; 
}

@keyframes discipline-panel-fade-down { 
    from { 
        opacity: 0; 
        transform: translateY(-1.5rem); 
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 991.98px) { 
    .activities-section { 
        --discipline-stage-height: 34rem; 
    }
    
    .discipline-journey__stage-column {
        order: 1;
    }

    .activities-section__aside-column {
        order: 2;
    }

    .discipline-journey.is-enhanced
    .discipline-journey__stage {
        min-height: var(--discipline-stage-height);
    }

    .activities-section__aside {
        min-height: auto;
        padding:
            var(--visual-space-y-tablet)
            var(--visual-space-x-tablet);
    }

    .activities-section__header {
        margin-bottom: 2rem;
    }

    .discipline-journey.is-enhanced
    .discipline-journey__list {
        flex-direction: row;
        align-items: stretch;
        gap: 1.5rem;
        margin-inline:
            calc(-1 * var(--visual-space-x-tablet));
        padding:
            .25rem
            var(--visual-space-x-tablet)
            .8rem;
        overflow-x: auto;

        scrollbar-width: none;
        scroll-snap-type: x proximity;
    }

    .discipline-journey__list::-webkit-scrollbar {
        display: none;
    }

    .discipline-journey__step {
        width: auto;
        flex: 0 0 auto;
        scroll-snap-align: center;
    }

    .discipline-journey__trigger {
        white-space: nowrap;
    }

    .discipline-journey__step.is-active
    .discipline-journey__trigger {
        transform: none;
    }
}

/* Mobile */
.activities-mobile {
    width: 100%;
    padding:
        calc(var(--distinctive-underlap) + 1rem)
        var(--visual-space-x-mobile)
        var(--visual-space-y-mobile);
}

.activities-mobile__header {
    margin-bottom: 1rem;
}

.activities-mobile__title > :first-child {
    margin-top: 0;
}

.activities-mobile__title > :last-child {
    margin-bottom: 0;
}

.activities-mobile__list {
    display: grid;
    gap: 1.5rem;
    width: 100%;
}

.activities-mobile__trigger::-webkit-details-marker {
    display: none;
}

.activities-mobile__trigger::before {
    width: .625rem;  /* 10px */
    height: .625rem; /* 10px */
    flex: 0 0 .625rem;

    content: "";
    background-color: currentColor;
    border-radius: 50%;

    transition:
        background-color 250ms ease,
        transform 250ms ease;
}

.activities-mobile__item {
    width: 100%;
    margin: 0;
    color: #fff;
}

.activities-mobile__trigger {
    display: flex;
    width: 100%;
    align-items: center;
    gap: .625rem;
    padding: 0;

    color: #fff;
    font-family: var(--font-primary);
    font-size: var(--type-h2);
    font-weight: var(--font-weight-book);
    line-height: var(--leading-heading);
    text-align: left;

    list-style: none;
    cursor: pointer;

    transition:
        color 250ms ease;
}

.activities-mobile__label {
    min-width: 0;
    flex: 1 1 auto;
    color: inherit;
}

.activities-mobile__label,
.activities-mobile__label > * {
    color: inherit;
}

.activities-mobile__item[open]
.activities-mobile__trigger {
    color: var(--activities-active);
}

.activities-mobile__item[open]
.activities-mobile__trigger::before {
    transform: scale(1.08);
}

.activities-mobile__chevron {
    width: 0;
    height: 0;
    flex: 0 0 auto;

    border-top: .3125rem solid transparent;
    border-bottom: .3125rem solid transparent;
    border-left: .4375rem solid currentColor;

    transform: rotate(0);
    transition: transform 250ms ease;
}

.activities-mobile__item[open]
.activities-mobile__trigger {
    color: var(--activities-active);
}

.activities-mobile__item[open]
.activities-mobile__chevron {
    transform: rotate(90deg);
}

.activities-mobile__panel {
    width: 100%;
    margin-top: .75rem;
    overflow: hidden;

    background-color: #fff;
    border-radius: .75rem;

    animation:
        activities-mobile-reveal
        420ms
        cubic-bezier(.22, 1, .36, 1)
        both;
}

.activities-mobile__media {
    position: relative;
    width: 100%;

    aspect-ratio: 8 / 5;
    overflow: hidden;
    background-color: var(--color-surface-soft);
}

.activities-mobile__media img,
.activities-mobile__placeholder {
    display: block;
    width: 100%;
    height: 100%;
}

.activities-mobile__media img {
    object-fit: cover;
    object-position: center;
}

.activities-mobile__placeholder {
    background:
        linear-gradient(
            135deg,
            rgb(21 47 91 / 12%),
            rgb(255 255 255 / 18%)
        );
}

.activities-mobile__description {
    width: 100%;
    padding: 1rem;
    font-size: var(--type-h3);
    line-height: var(--leading-body);
}

.activities-mobile__description > :first-child {
    margin-top: 0;
}

.activities-mobile__description > :last-child {
    margin-bottom: 0;
}

@keyframes activities-mobile-reveal {
    from {
        opacity: 0;
        clip-path: inset(100% 0 0 0);
        transform: translateY(.75rem);
    }

    to {
        opacity: 1;
        clip-path: inset(0 0 0 0);
        transform: translateY(0);
    }
}

@supports selector(details::details-content) {
    .activities-mobile {
        interpolate-size: allow-keywords;
    }

    .activities-mobile__item::details-content {
        block-size: 0;
        overflow: hidden;

        opacity: 0;
        clip-path: inset(100% 0 0 0);
        transform: translateY(.75rem);

        transition:
            block-size 420ms cubic-bezier(.22, 1, .36, 1),
            opacity 260ms ease,
            clip-path 420ms cubic-bezier(.22, 1, .36, 1),
            transform 420ms cubic-bezier(.22, 1, .36, 1),
            content-visibility 420ms allow-discrete;
    }

    .activities-mobile__item[open]::details-content {
        block-size: auto;

        opacity: 1;
        clip-path: inset(0 0 0 0);
        transform: translateY(0);
    }

    .activities-mobile__panel {
        animation: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .activities-mobile__trigger,
    .activities-mobile__trigger::before,
    .activities-mobile__chevron {
        transition: none;
    }

    .activities-mobile__panel {
        animation: none;
    }

    .activities-mobile__item::details-content {
        transition: none;
    }
}
/* #endregion */
  
/* #region Beyond Classroom + Humanitree by Numbers */ 
.home-impact-surface { 
    --impact-section-bg: var(--visual-current-bg); 
    --numbers-card-width: 21.25rem; /* 340px */ 
    --numbers-overlay-height: 28.75rem; /* 460px */ 
    --numbers-primary-height: 12.5rem; /* 200px */ 
    --numbers-secondary-height: 15.625rem; /* 250px */ 
    --numbers-layout-height: 45.125rem; /* 722px */ 
    --numbers-gap: .75rem; /* 12px */ 
}

.home-impact-surface__surface { 
    background-color: var(--impact-section-bg); 
}

    /* #region Beyond Classroom */
    .beyond-classroom-section { 
        --beyond-text: #142b59; 
        --beyond-accent: #82a9dc; 
        --beyond-line: rgb(20 43 89 / 18%);
        width: 100%;
        overflow: hidden;
        padding-block:
            var(--visual-space-y)
            var(--visual-space-y);
        color: var(--beyond-text);
    }

    .beyond-classroom__header { 
        width: min( 
            calc(
                100% - (var(--visual-space-x) * 2)
            ), 65rem ); 
        margin-inline: auto; 
        margin-bottom: 4.5rem; 
        text-align: center; 
    }

    .beyond-classroom__introduction { 
        width: 100%; 
        max-width: 68rem; 
        margin: 1.5rem auto 0; 
        color: inherit; 
    }

    .beyond-classroom__introduction > :last-child { 
        margin-bottom: 0; 
    }

    .beyond-classroom__rows { 
        width: 100%; 
        border-top: 1px solid var(--beyond-line); 
    }

    .beyond-classroom__row { 
        position: relative; 
        width: 100%; 
        overflow: hidden; 
        border-bottom: 1px solid var(--beyond-line); 
    }

    .beyond-classroom__viewport { 
        width: 100%; 
        overflow: hidden; 
        padding-block: 1.875rem; 
    }

    .beyond-classroom__track { 
        --beyond-travel: 0px; 
        --row-duration: 24s;

        display: flex;
        width: max-content;
        align-items: center;
        gap: 3.75rem;
        padding-inline: 2.5rem;
        will-change: transform;

        animation:
            beyond-classroom-travel
            var(--row-duration)
            linear
            infinite
            alternate;
    }

    .beyond-classroom__row.is-reverse .beyond-classroom__track { 
        animation-direction: alternate-reverse; 
    }

    .beyond-classroom__track.is-static { 
        animation: none; 
    }

    .beyond-classroom__item { 
        display: flex; 
        flex: 0 0 auto; 
        align-items: center; 
        gap: 1.25rem; 
    }

    .beyond-classroom__word { 
        display: block; 
        flex: 0 0 auto; 
        color: var(--beyond-accent); 
        line-height: 1; 
        white-space: nowrap; 
    }

    .beyond-classroom__word > * { 
        display: inline; 
        margin: 0; 
    }

    .beyond-classroom__media { 
        display: block; 
        flex: 0 0 auto; 
        width: 8.5rem; 
        height: 4.75rem; 
        overflow: hidden; 
        background-color: #e8edf4; 
        border-radius: 999px; 
    }

    .beyond-classroom__media img { 
        display: block; 
        width: 100%; 
        height: 100%; 
        object-fit: cover; 
        object-position: center;
        
        transition:
            filter 300ms ease,
            transform 500ms cubic-bezier(.22, 1, .36, 1);
    }

    @keyframes beyond-classroom-travel { 
        from { 
            transform: translate3d(0, 0, 0); 
        }
        to {
            transform:
                translate3d(
                    var(--beyond-travel),
                    0,
                    0
                );
        }
    }

    @media (hover: hover) and (pointer: fine) { 
        .beyond-classroom__row:hover .beyond-classroom__track { 
            animation-play-state: paused; 
        }

        .beyond-classroom__media:hover img {
            filter: saturate(1.08);
            transform: scale(1.06);
        }
    }

    @media (max-width: 767.98px) {
        .beyond-classroom-section {
            width: 100%;
            padding-block:
                var(--visual-space-y-mobile);
        }

        .beyond-classroom__header {
            width: calc(
                100%
                - (var(--visual-space-x-mobile) * 2)
            );
            margin-inline: auto;
            margin-bottom: 2rem;
        }

        .beyond-classroom__header
        .home-section__title {
            font-size: var(--type-h1);
        }

        .beyond-classroom__introduction {
            margin-top: 1rem;
            font-size: var(--type-h2);
        }

        .beyond-classroom__rows--mobile {
            width: 100%;
            margin: 0;
            padding: 0;
            border-top:
                1px solid
                var(--beyond-line);
        }

        .beyond-classroom__row {
            width: 100%;
            min-height: 7rem; /* 112px */
            margin: 0;
            padding: 0;
            border-bottom:
                1px solid
                var(--beyond-line);
        }

        .beyond-classroom__viewport {
            display: flex;
            width: 100%;
            height: 7rem;
            align-items: center;
            overflow: hidden;
            padding-block: 1rem;
            box-sizing: border-box;
        }

        .beyond-classroom__track {
            /*
            * 40px entre una pareja y la siguiente.
            */
            gap: 2.5rem;
            padding-inline: 0;
        }

        .beyond-classroom__item {
            /*
            * 12px entre la palabra y su imagen.
            */
            gap: .75rem;
        }

        .beyond-classroom__word {
            font-size: var(--type-h2);
            line-height: 1;
        }

        .beyond-classroom__media {
            width: 8.75rem;  /* 140px */
            height: 5rem;    /* 80px */
            border-radius: 3.125rem; /* 50px */
        }
    }
    /* #endregion */

    /* #region Humanitree by numbers */
    .advantages-by-numbers { 
        width: 100%; 
        min-width: 0; 
        padding: var(--visual-space-y) var(--visual-space-x); 
        color: inherit; 
    }

    .advantages-by-numbers__grid { 
        display: grid; 
        grid-template-columns: repeat( 5, minmax(0, var(--numbers-card-width)) ); 
        grid-template-rows: var(--numbers-layout-height); 
        justify-content: space-between; 
        gap: var(--numbers-gap); 
        width: 100%; 
    }

    .advantages-by-numbers__intro { 
        grid-column: 1; 
        grid-row: 1; 
        align-self: start; 
        width: 100%; 
        height: var(--numbers-secondary-height); 
        padding: .25rem; 
    }
    /* Card 1: imagen y texto — 340 × 460 */ 
    .numbers-metric--slot-1 { 
        grid-column: 1; 
        grid-row: 1; 
        align-self: end; 
        height: var(--numbers-overlay-height);
    }
    /* Card 2: texto amarillo de 340 × 200 y la imagen ocupa el espacio restante. */ 
    .numbers-metric--slot-2 { 
        grid-column: 2; 
        grid-row: 1; 
        height: 100%; 
        grid-template-rows: var(--numbers-primary-height) minmax(0, 1fr); 
    }
    /* Card 3: imagen y texto — 340 × 460 */ 
    .numbers-metric--slot-3 { 
        grid-column: 3; 
        grid-row: 1; 
        align-self: start; 
        height: var(--numbers-overlay-height); 
    }
    /* Card de color — 340 × 250 */ 
    .numbers-metric--slot-4 { 
        grid-column: 3; 
        grid-row: 1; 
        align-self: end; 
        height: var(--numbers-secondary-height); 
    }
    /* Card central corta: texto de 250px e imagen de 250px. */ 
    .numbers-metric--slot-5 { 
        grid-column: 4; 
        grid-row: 1; 
        align-self: end; 
        height: calc( 
            (var(--numbers-secondary-height) * 2) + 
            var(--numbers-gap) ); 
        grid-template-rows: var(--numbers-secondary-height) var(--numbers-secondary-height); 
    }
    /* Nueva métrica de imagen y texto — 340 × 460 */ 
    .numbers-metric--slot-6 { 
        grid-column: 5; 
        grid-row: 1; 
        align-self: start; 
        height: var(--numbers-overlay-height); 
    }
    /* Última métrica independiente — 340 × 250 */ 
    .numbers-metric--slot-7 { 
        grid-column: 5; 
        grid-row: 1; 
        align-self: end; 
        height: var(--numbers-secondary-height); 
    }

    .numbers-metric { 
        width: 100%; 
        max-width: var(--numbers-card-width); 
    }

    [data-metric-counter] { 
        display: inline-block; 
        min-width: 2.25ch; 
        color: inherit; 
        font-variant-numeric: tabular-nums; 
        white-space: nowrap; 
    }

    [data-metric-counter].is-counting { 
        will-change: contents; 
    }

    /* @media (max-width: 1879.98px) { 
        .advantages-by-numbers__grid { 
            grid-template-columns: repeat( 3, minmax(0, var(--numbers-card-width)) ); 
            grid-template-rows: auto; 
            justify-content: center; 
            gap: 1.5rem; 
        }

        .advantages-by-numbers__intro, 
        .numbers-metric--slot-1, 
        .numbers-metric--slot-2, 
        .numbers-metric--slot-3, 
        .numbers-metric--slot-4, 
        .numbers-metric--slot-5, 
        .numbers-metric--slot-6, 
        .numbers-metric--slot-7 { 
            grid-column: auto; 
            grid-row: auto; 
            align-self: stretch; 
        }

        .advantages-by-numbers__intro { 
            height: auto; 
            min-height: var(--numbers-secondary-height); 
        }
        
        .numbers-metric--slot-1, 
        .numbers-metric--slot-3, 
        .numbers-metric--slot-6 { 
            height: var(--numbers-overlay-height); 
        }
        
        .numbers-metric--slot-2 { 
            height: var(--numbers-layout-height); 
        }
        
        .numbers-metric--slot-4, 
        .numbers-metric--slot-7 { 
            height: var(--numbers-secondary-height); 
        }
        
        .numbers-metric--slot-5 { 
            height: calc( (var(--numbers-secondary-height) * 2) + var(--numbers-gap) ); 
        } 
    } */

    @media (max-width: 1199.98px) { 
        .beyond-classroom-section { 
            padding-block: var(--visual-space-y-tablet); 
        }

        .beyond-classroom__header {
            width:
                calc(
                    100%
                    - (var(--visual-space-x-tablet) * 2)
                );
            margin-bottom: 3rem;
        }

        .beyond-classroom__track,
        .beyond-classroom__item {
            gap: 2rem;
        }

        .advantages-by-numbers {
            padding:
                var(--visual-space-y-tablet)
                var(--visual-space-x-tablet);
        }

        .advantages-by-numbers__grid {
            grid-template-columns:
                repeat(
                    2,
                    minmax(0, var(--numbers-card-width))
                );
        }
    }

    /* MOBILE Humanitre By Numbers */
    @media (max-width: 767.98px) {
        .home-impact-surface {
            --numbers-gap: 1.25rem; /* 20px */
            --stat-card-radius: 1rem;
            --type-metric: 2.5rem; /* 40px */
        }

        .advantages-by-numbers {
            width: 100%;
            padding:
                var(--visual-space-y-mobile)
                var(--visual-space-x-mobile);
        }

        .advantages-by-numbers__grid {
            display: grid;
            grid-template-columns:
                repeat(
                    2,
                    minmax(0, 11.5625rem)
                );
            grid-template-rows:
                repeat(5, auto);

            width: 100%;
            max-width: 24.375rem; /* 185 + 20 + 185 */
            margin-inline: auto;

            align-items: start;
            justify-content: center;
            column-gap: var(--numbers-gap);
            row-gap: var(--numbers-gap);
        }

        .advantages-by-numbers__intro {
            grid-column: 1;
            grid-row: 1;

            width: 100%;
            height: auto;
            min-height: 0;
            align-self: start;
            padding: 0;
        }

        .advantages-by-numbers__intro
        .home-section__title {
            font-size: var(--type-h1);
        }

        /*
        * Métrica 1:
        * imagen + texto, 185 × 225.
        */
        .numbers-metric--slot-1 {
            grid-column: 1;
            grid-row: 2;

            width: 100%;
            height: auto;
            align-self: end;
            aspect-ratio: 185 / 225;
        }

        /*
        * Las métricas 2 y 5 entregan sus hijos
        * directamente al grid principal.
        */
        .numbers-metric--slot-2,
        .numbers-metric--slot-5 {
            display: contents;
        }

        /*
        * Métrica 2, texto amarillo:
        * 185 × 115.
        */
        .numbers-metric--slot-2
        > .ht-stat-card__copy {
            grid-column: 2;
            grid-row: 1;

            width: 100%;
            height: auto;
            aspect-ratio: 185 / 115;

            background-color:
                var(--stat-card-bg);
            border-radius:
                var(--stat-card-radius);
        }

        /*
        * Imagen de métrica 2:
        * 185 × 267.
        */
        .numbers-metric--slot-2
        > .ht-stat-card__media {
            grid-column: 2;
            grid-row: 2;

            width: 100%;
            height: auto;
            aspect-ratio: 185 / 267;
            border-radius:
                var(--stat-card-radius);
        }

        /*
        * Métrica 3:
        * imagen + texto, 185 × 250.
        */
        .numbers-metric--slot-3 {
            grid-column: 1;
            grid-row: 3;

            width: 100%;
            height: auto;
            align-self: stretch;
            aspect-ratio: 185 / 250;
        }

        /*
        * Métrica 4:
        * card iPad, 185 × 163.
        */
        .numbers-metric--slot-4 {
            grid-column: 2;
            grid-row: 3;

            width: 100%;
            height: auto;
            align-self: end;
            aspect-ratio: 185 / 163;
        }

        /*
        * Métrica 5:
        * texto azul claro, 185 × 244.
        */
        .numbers-metric--slot-5
        > .ht-stat-card__copy {
            grid-column: 1;
            grid-row: 4;

            width: 100%;
            height: auto;
            aspect-ratio: 185 / 244;

            background-color:
                var(--stat-card-bg);
            border-radius:
                var(--stat-card-radius);
        }

        /*
        * Imagen de métrica 5:
        * 185 × 137.
        */
        .numbers-metric--slot-5
        > .ht-stat-card__media {
            grid-column: 2;
            grid-row: 4;

            width: 100%;
            height: auto;
            align-self: start;
            aspect-ratio: 185 / 137;
            border-radius:
                var(--stat-card-radius);
        }

        /*
        * Métrica 6 visual:
        * card gris, corresponde al slot 7 desktop.
        * 185 × 209.
        */
        .numbers-metric--slot-7 {
            grid-column: 1;
            grid-row: 5;

            width: 100%;
            height: auto;
            align-self: end;
            aspect-ratio: 185 / 209;
        }

        /*
        * Última métrica mobile:
        * pantalla verde, slot 6 desktop.
        * 185 × 254.
        */
        .numbers-metric--slot-6 {
            grid-column: 2;
            grid-row: 5;

            width: 100%;
            height: auto;
            align-self: start;
            aspect-ratio: 185 / 254;
        }

        .advantages-by-numbers
        .numbers-metric {
            max-width: none;
        }

        .advantages-by-numbers
        .ht-stat-card__copy {
            padding: .75rem;
        }

        .advantages-by-numbers
        .ht-stat-card__value {
            font-size: var(--type-metric);
        }

        .advantages-by-numbers
        .ht-stat-card__description {
            margin-top: .5rem;
            font-size: var(--type-h3);
            line-height: 1.2;
        }

        .advantages-by-numbers
        .ht-stat-card__media {
            margin: 0;
        }
    }

    @media (prefers-reduced-motion: reduce) { 
        .beyond-classroom__track { 
            animation: none !important; 
            transform: none !important; 
        }

        .beyond-classroom__viewport {
            overflow-x: auto;
            scrollbar-width: none;
        }

        .beyond-classroom__viewport::-webkit-scrollbar {
            display: none;
        }
    } 
    /* #endregion */
    
/* #endregion */
 
/* #region Campus */ 
.campus-showcase { 
    --campus-radius: 2rem; 
    --campus-tab-inactive: #aaa;
    --campus-featured-ratio: 1040 / 375;
    --campus-thumbnail-width: 31.25rem;
    --campus-thumbnail-ratio: 4 / 3;
    --campus-gallery-gap: 1.5rem;

    color: var(--campus-section-text);
}

.campus-showcase__surface { 
    background-color: var(--visual-current-bg); 
}

.campus-showcase__top { 
    margin-bottom: 2rem; 
}

.campus-showcase__header { 
    width: 100%; 
    min-width: 0; 
    padding-bottom: 2rem;
}


.campus-showcase__header .home-section__title > *, 
.campus-showcase__intro > *, 
.campus-showcase__description > * { 
    color: inherit; 
}

.campus-showcase__header .campus-showcase__intro { 
    margin-top: 2rem; 
}

.campus-showcase__tabs-column { 
    min-width: 0; 
}

.campus-showcase__tabs { 
    justify-content: flex-end; 
    max-width: 100%; 
    padding-bottom: 2rem;
}

.campus-showcase__primary { 
    align-items: stretch; 
}

.campus-showcase__information { 
    display: flex; 
    min-width: 0; 
    min-height: 23.4375rem;
    flex-direction: column; 
    align-items: flex-start; 
    padding-right: 3.75rem; 
}

.campus-showcase__intro { 
    width: 100%; 
    margin: 0; 
}

.campus-showcase__intro > :first-child, 
.campus-showcase__description > :first-child { 
    margin-top: 0; 
}

.campus-showcase__intro > :last-child, 
.campus-showcase__description > :last-child { 
    margin-bottom: 0; 
}

.campus-showcase__description { 
    width: 100%; 
    margin-top: 1.5rem; 
}

.campus-showcase__button { 
    margin-top: 1rem; 
}

.campus-showcase__featured { 
    position: relative; 
    display: block; 
    width: 100%; 
    aspect-ratio: var(--campus-featured-ratio); 
    min-width: 0; 
    overflow: hidden; 
    padding: 0;
    background-color: #d8d9d5;
    border: 0;
    border-radius: var(--campus-radius);
    isolation: isolate;
}

.campus-showcase__featured img { 
    position: absolute; 
    z-index: 0; 
    inset: 0; 
    display: block; 
    width: 100%; 
    height: 100%;
    object-fit: cover;
    object-position: center;

    transition:
        opacity 220ms ease,
        filter 550ms ease,
        transform 900ms cubic-bezier(.22, 1, .36, 1);
}

.campus-showcase__featured.is-changing img { 
    opacity: .35; 
}

.campus-showcase__featured-shade { 
    position: absolute; 
    z-index: 1; 
    inset: 0;
    background:
        linear-gradient(
            180deg,
            transparent 58%,
            rgb(8 27 53 / 14%)
        );

    pointer-events: none;
}

.campus-showcase__gallery { 
    margin-top: 1.5rem; 
}

.campus-showcase__gallery-header { 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    gap: 1rem; 
    margin-bottom: 1rem; 
}

.campus-showcase.is-enhanced .campus-showcase__gallery-header { 
    display: none; 
}

.campus-showcase__gallery-label { 
    color: color-mix( in srgb, var(--campus-section-text) 62%, transparent ); 
}

.campus-showcase__arrows { 
    display: flex; 
    align-items: center; 
    gap: .5rem; 
}

.campus-showcase__arrow { 
    display: inline-grid; 
    width: 2.75rem; 
    height: 2.75rem; 
    place-items: center; 
    padding: 0;
    color: var(--campus-section-text);
    background-color: transparent;
    border: 1px solid currentColor;
    border-radius: 50%;
}

.campus-showcase__track { 
    position: relative; 
    display: flex; 
    width: 100%; 
    max-width: 100%; 
    gap: var(--campus-gallery-gap); 
    overflow-x: auto; 
    overflow-y: hidden; 
    padding: 0 0 .75rem;
    cursor: grab;
    scroll-behavior: auto;
    scrollbar-width: none;
    touch-action: auto;
    overscroll-behavior-inline: contain;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}

.campus-showcase__track::-webkit-scrollbar { 
    display: none; 
}

.campus-showcase__track.is-dragging { 
    cursor: grabbing; 
    user-select: none; 
}

.campus-showcase__thumbnail { 
    position: relative; 
    width: var(--campus-thumbnail-width); 
    max-width: calc(100vw - 2.5rem); 
    aspect-ratio: var(--campus-thumbnail-ratio); 
    flex: 0 0 var(--campus-thumbnail-width); 
    overflow: hidden; padding: 0;
    background-color: #d8d9d5;
    border: 3px solid transparent;
    border-radius: var(--campus-radius);

    cursor: pointer;
    scroll-snap-align: start;
    isolation: isolate;

    transition:
        border-color 250ms ease,
        opacity 250ms ease,
        transform 250ms ease;
}
.campus-showcase__thumbnail img { 
    position: absolute; 
    z-index: 0; 
    inset: 0; 
    display: block; 
    width: 100%; 
    height: 100%;
    object-fit: cover;
    object-position: center;

    transition:
        filter 500ms ease,
        transform 700ms cubic-bezier(.22, 1, .36, 1);
}

.campus-showcase__thumbnail-shade { 
    position: absolute; 
    z-index: 1; 
    inset: 0;
    background:
        linear-gradient(
            180deg,
            transparent 48%,
            rgb(8 27 53 / 66%)
        );

    opacity: 0;

    transition: opacity 250ms ease;
}

.campus-showcase__thumbnail-title { 
    position: absolute; 
    z-index: 2; 
    right: 1rem; 
    bottom: .85rem; 
    left: 1rem; 
    overflow: hidden;
    color: #fff;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;

    opacity: 0;
    transform: translateY(.4rem);

    transition:
        opacity 250ms ease,
        transform 250ms ease;
}

.campus-showcase__thumbnail.is-selected { 
    border-color: var(--campus-color); 
}

.campus-showcase__thumbnail.is-selected .campus-showcase__thumbnail-shade, 
.campus-showcase__thumbnail.is-selected .campus-showcase__thumbnail-title { 
    opacity: 1; 
}

.campus-showcase__thumbnail.is-selected .campus-showcase__thumbnail-title { 
    transform: none; 
}

.campus-showcase__thumbnail img, 
.campus-showcase__thumbnail-shade, 
.campus-showcase__thumbnail-title { 
    pointer-events: none; 
}

.campus-showcase__track.is-dragging, 
.campus-showcase__track.is-dragging * { 
    cursor: grabbing !important; 
    user-select: none; 
}

@media (hover: hover) and (pointer: fine) { 
    .campus-showcase__arrow:hover { 
        color: #fff; 
        background-color: var(--campus-color); 
        border-color: var(--campus-color); 
    }

    .campus-showcase__featured:hover img {
        filter: saturate(1.06);
        transform: scale(1.025);
    }

    .campus-showcase__thumbnail:hover {
        transform: translateY(-.25rem);
    }

    .campus-showcase__thumbnail:hover img {
        filter: saturate(1.08);
        transform: scale(1.04);
    }

    .campus-showcase__thumbnail:hover
    .campus-showcase__thumbnail-shade,
    .campus-showcase__thumbnail:hover
    .campus-showcase__thumbnail-title {
        opacity: 1;
    }

    .campus-showcase__thumbnail:hover
    .campus-showcase__thumbnail-title {
        transform: none;
    }
}

/* @media (max-width: 991.98px) { 
    .campus-showcase__tabs { 
        width: 100%; 
        justify-content: flex-start; 
        padding-bottom: .75rem; 
        scroll-padding-inline: 50%; 
        scroll-snap-type: x proximity; 
    }

    .campus-showcase__information {
        min-height: auto;
        padding-right: 0;
        padding-bottom: 2rem;
    }

    .campus-showcase__featured {
        aspect-ratio: 16 / 7;
    }

    .campus-showcase__thumbnail {
        flex-basis: min(
            var(--campus-thumbnail-width),
            70vw
        );
        width: min(
            var(--campus-thumbnail-width),
            70vw
        );
    }
} */

@media (max-width: 1318.98px) { /*1239.98px*/
    .campus-showcase { 
        --campus-radius: 1.25rem; 
        --campus-mobile-content-right: 1rem; 
        --campus-mobile-card-width: clamp( 14rem, 68vw, 18rem ); 
    }

    .campus-showcase .visual-section-inner {
        width: 100%;
        max-width: none;
        margin: 0;
        padding:
            var(--visual-space-y-mobile, 3.75rem)
            0
            var(--visual-space-y-mobile, 3.75rem)
            var(--visual-space-x-mobile, 1rem);
    }

    .campus-showcase__top {
        margin-bottom: 1.5rem;
    }

    .campus-showcase__header {
        width: 100%;
        padding-right: var(--campus-mobile-content-right);
        padding-bottom: 0;
        text-align: left;
    }

    .campus-showcase__header .home-section__title,
    .campus-showcase__header .campus-showcase__intro {
        text-align: left;
    }

    .campus-showcase__header .campus-showcase__intro {
        margin-top: 0.875rem;
        font-size: var(--type-h2);
        line-height: normal;
    }

    .campus-showcase__tabs-column {
        width: 100%;
        min-width: 0;
        margin-top: 1.125rem;
    }

    .campus-showcase__tabs {
        width: 100%;
        justify-content: flex-start;
        padding-right: var(--visual-space-x-mobile, 1rem);
        padding-bottom: 0;

        scroll-padding-inline-start: 0;
        scroll-padding-inline-end:
            var(--visual-space-x-mobile, 1rem);
    }

    .campus-showcase__tab {
        flex: 0 0 auto;
    }

    .campus-showcase .tab-content,
    .campus-showcase .tab-pane {
        width: 100%;
        min-width: 0;
    }

    .campus-showcase__primary {
        width: 100%;
    }

    .campus-showcase__information {
        min-height: 0;
        padding: 0 var(--campus-mobile-content-right) 0 0;
        text-align: left;
    }

    .campus-showcase__description {
        margin-top: 0;
        text-align: left;
    }

    .campus-showcase__button {
        margin-top: 1rem;
    }

    .campus-showcase__gallery {
        width: 100%;
        margin-top: 1.5rem;
    }

    .campus-showcase__gallery-header {
        display: none;
    }

    .campus-showcase__track {
        width: 100%;
        max-width: none;
        gap: 1.5rem;

        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 var(--visual-space-x-mobile, 1rem) 0 0;

        cursor: grab;
        scroll-padding-inline-start: 0;
        scroll-padding-inline-end:
            var(--visual-space-x-mobile, 1rem);
        scroll-snap-type: x proximity;
        overscroll-behavior-inline: contain;
        touch-action: pan-x pan-y;

        -webkit-overflow-scrolling: touch;
    }

    .campus-showcase__thumbnail {
        width: var(--campus-mobile-card-width);
        max-width: none;
        flex: 0 0 var(--campus-mobile-card-width);

        aspect-ratio: 4 / 3;

        border: 0;
        border-radius: var(--campus-radius);
        scroll-snap-align: start;
    }

    .campus-showcase__thumbnail.is-selected {
        border-color: transparent;
    }
}

@media (prefers-reduced-motion: reduce) { 
    .campus-showcase *, 
    .campus-showcase *::before, 
    .campus-showcase ::after { 
        scroll-behavior: auto !important; 
        transition: none !important; 
    } 
} 
/* #endregion */

/* #region Testimonials */
.testimonials-section { 
    --testimonial-poster-width: 20.625rem;   /* 330px */ 
    --testimonial-poster-height: 36.5625rem; /* 585px */ 
    --testimonial-content-width: 41.375rem;  /* 662px */ 
    --testimonial-content-height: 11.25rem;  /* 180px */
    --testimonial-title-gap: 3.75rem;        /* 60px */
    --testimonial-column-gap: 3.75rem;       /* 60px */
    --testimonial-author-gap: 5.375rem;      /* 86px */

    position: relative;
    color: var(--section-text);
}

.testimonials-section__header { 
    width: min(100%, 52rem); 
    margin-bottom: var(--testimonial-title-gap); 
}

.testimonials-carousel { 
    position: relative; 
    width: 100%; 
    max-width: 82.5rem; 
    margin-inline: auto; 
}

.testimonials-carousel__slide { 
    width: min( calc(100% - 12rem), 65.75rem ); 
    min-height: var(--testimonial-poster-height); 
    margin-inline: auto; 
}

.testimonials-carousel__layout { 
    column-gap: var(--testimonial-column-gap); 
}

.testimonials-carousel__media { 
    position: relative; 
    width: var(--testimonial-poster-width); 
    height: var(--testimonial-poster-height); 
    overflow: hidden; 
    border-radius: 1rem; 
    background-color: #000; 
    isolation: isolate; 
}

.testimonials-carousel__preview, 
.testimonials-carousel__poster, 
.testimonial-video-modal__gif, 
.testimonials-carousel__media img { 
    display: block; 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
}

/* .testimonial-video-modal__gif {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: #000;
    border: 0;
    border-radius: inherit;
} */

.testimonials-carousel__media::after { 
    position: absolute; 
    z-index: 1; 
    inset: 0; 
    content: ""; 
    pointer-events: none; 
    background: rgb(0 0 0 / 12%); 
}

.testimonials-carousel__play { 
    position: absolute; 
    z-index: 2; 
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;

    color: #fff;
    font-size: 3.5rem;
    line-height: 1;
    text-decoration: none;

    background: transparent;
    border: 0;

    transition:
        color 180ms ease,
        opacity 180ms ease,
        transform 180ms ease;
}

.testimonials-carousel__play:hover { 
    color: #fff; 
}

.testimonials-carousel__play:hover i { 
    transform: scale(1.12); 
}

.testimonials-carousel__play i { 
    transition: transform 180ms ease; 
}

.testimonials-carousel__play:focus-visible { 
    outline: 3px solid #fff; 
    outline-offset: -0.75rem; 
    border-radius: inherit; 
}

.testimonials-carousel__content { 
    flex: 0 1 var(--testimonial-content-width); 
    max-width: var(--testimonial-content-width); 
    padding-top: 10.9375rem; 
}

.testimonials-carousel blockquote { 
    width: 100%; 
    max-width: var(--testimonial-content-width); 
    min-height: var(--testimonial-content-height); 
    margin: 0;
    color: inherit;
    text-wrap: balance;
    font-size: var(--type-h2);
}

.testimonials-carousel blockquote > :first-child, 
.testimonials-carousel__author > :first-child, 
.testimonials-carousel__role > :first-child { 
    margin-top: 0; 
}

.testimonials-carousel blockquote > :last-child, 
.testimonials-carousel__author > :last-child, 
.testimonials-carousel__role > :last-child { 
    margin-bottom: 0; 
}

.testimonials-carousel__identity { 
    margin-top: var(--testimonial-author-gap); 
}

.testimonials-carousel__author, 
.testimonials-carousel__role { 
    color: inherit; 
    font-size: var(--type-h3);
}

.testimonials-carousel__role { 
    margin-top: 0.5rem; 
}

.testimonials-carousel__control { 
    position: absolute; 
    z-index: 5; 
    top: 50%;
    display: none; 
    width: 3rem; 
    height: 3rem; 
    align-items: center; 
    justify-content: center;
    padding: 0; 
    color: var(--section-text); 
    font-size: 3.75rem; 
    font-weight: bold;
    line-height: 1;
    background: transparent; 
    border: 0; 
    border-radius: 50%;
    
    transform: translateY(-50%);
    transition: 
        color 180ms ease, 
        opacity 180ms ease, 
        transform 180ms ease; 
}

.testimonials-carousel.is-enhanced .testimonials-carousel__control { 
    display: flex; 
}

.testimonials-carousel__control:hover { 
    transform: translateY(-50%) scale(1.1); 
}

.testimonials-carousel__control:focus-visible { 
    outline: 2px solid currentColor; 
    outline-offset: 0.25rem; 
}

.testimonials-carousel__control--previous { 
    left: 0; 
}

.testimonials-carousel__control--next { 
    right: 0; 
}

/* Modal de video de testimonios */
body.testimonial-modal-open {
    overflow: hidden;
}

body.testimonial-modal-open .modal-backdrop.show {
    z-index: 1080;
    opacity: .78;
}

.testimonial-video-modal {
    --testimonial-modal-height: 84dvh;
    --testimonial-modal-width: 47.38dvh;
    --testimonial-modal-space-x: 2rem;
    --testimonial-modal-radius: 1rem;

    z-index: 1090;
}

.testimonial-video-modal .modal-dialog {
    display: flex;
    width: min(
        var(--testimonial-modal-width),
        calc(100vw - var(--testimonial-modal-space-x))
    );

    min-height: 100vh;
    min-height: 100dvh;
    max-width: none;
    align-items: center;
    margin: 0 auto;
}

.testimonial-video-modal .modal-content {
    position: relative;
    z-index: 1;
    width: 100%;
    overflow: hidden;

    background: transparent;
    border: 0;
    border-radius: var(--testimonial-modal-radius);
    box-shadow: none;
}

.testimonial-video-modal__player {
    position: relative;
    width: 100%;
    aspect-ratio: 330 / 585;
    overflow: hidden;

    background-color: #000;
    border-radius: var(--testimonial-modal-radius);
}

.testimonial-video-modal__player video,
.testimonial-video-modal__gif {
    position: absolute;
    z-index: 1;
    inset: 0;

    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    background-color: #000;
    border: 0;
    border-radius: inherit;
}

.testimonial-video-modal__player video {
    cursor: pointer;
    pointer-events: auto;
}

.testimonial-video-modal__player video:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -.5rem;
}

@media (max-width: 575.98px) {
    .testimonial-video-modal {
        --testimonial-modal-space-x: 1.5rem;
    }
}

@media (min-width: 1199.99px){
    .testimonials-carousel__author {
        padding-bottom: 2rem;
    }
}

@media (max-width: 1199.98px) { 
    .testimonials-carousel__slide { 
        width: min( calc(100% - 8rem), 65.75rem ); 
    }
    .testimonials-carousel__content {
        padding-top: clamp(
            4rem,
            12vw,
            10.9375rem
        );
    }

    .testimonials-carousel__control--previous {
        left: 0.5rem;
    }

    .testimonials-carousel__control--next {
        right: 0.5rem;
    }
}

@media (max-width: 767.98px) { 
    .testimonials-section { 
        --testimonial-title-gap: 1.5rem; 
        --testimonial-column-gap: 1rem; 
        --testimonial-author-gap: 1rem; 
        --testimonial-mobile-space-x: 1.5rem; 
        --testimonial-mobile-poster-width: min( var(--testimonial-poster-width), calc(100vw - 7.5rem) ); 
    }

    .testimonials-section .visual-section-inner {
        width: 100%;
        max-width: none;
        margin: 0;
        padding:
            var(--visual-space-y-mobile, 3.75rem)
            0;
    }

    .testimonials-section__header {
        width: 100%;
        margin:
            0
            0
            var(--testimonial-title-gap);
        padding-inline:
            var(--testimonial-mobile-space-x);
        text-align: left;
    }

    .testimonials-carousel {
        width: 100%;
        max-width: none;
        margin: 0;
    }

    .testimonials-carousel__slide {
        width: 100%;
        min-height: 0;
        margin: 0;
    }

    .testimonials-carousel__layout {
        width: 100%;
        flex-direction: column;
        align-items: center !important;
        row-gap: var(--testimonial-column-gap);
    }

    .testimonials-carousel__media {
        width: var(--testimonial-mobile-poster-width);
        height: auto;
        aspect-ratio: 330 / 585;

        border-radius: 1rem;
    }

    .testimonials-carousel__content {
        flex-basis: auto;
        width: 100%;
        max-width: none;

        padding:
            0
            var(--testimonial-mobile-space-x);

        text-align: left;
    }

    .testimonials-carousel blockquote {
        width: 100%;
        max-width: none;
        min-height: 0;
        margin: 0;
        text-align: left;
        text-wrap: pretty;
    }

    .testimonials-carousel__identity {
        margin-top:
            var(--testimonial-author-gap);
        text-align: left;
    }

    /*
    * Las flechas se centran verticalmente
    * respecto al póster, no respecto a todo
    * el contenido del testimonio.
    */
    .testimonials-carousel__control {
        top: calc(
            min(
                var(--testimonial-poster-height),
                calc(
                    (100vw - 7.5rem)
                    * 585 / 330
                )
            ) / 2
        );

        width: 2rem;
        height: 3rem;

        font-size: 2.5rem;

        transform: translateY(-50%);
    }

    .testimonials-carousel__control--previous {
        left: 1rem;
    }

    .testimonials-carousel__control--next {
        right: 1rem;
    }

    .testimonials-carousel__control:hover {
        transform:
            translateY(-50%)
            scale(1.05);
    }
}

@media (prefers-reduced-motion: reduce) { 
    .testimonials-carousel__play, 
    .testimonials-carousel__play i, 
    .testimonials-carousel__control { 
        transition: none; 
    } 
}
/* #endregion */
 
/* #region Founders */
.founders-section { 
    --founders-content-width: 43.125rem; /* 690px */ 
    --founders-image-width: 36.25rem;    /* 580px */ 
    --founders-image-height: 32.1875rem; /* 515px */ 
    --founders-column-gap: 3rem;         /* 48px */ 
    --founders-section-space: 3.75rem;   /* 60px */ 
    --founders-title-offset: 4.75rem;    /* 76px */ 
    --founders-text-height: 19.6875rem;  /* 315px */
    position: relative;
}
/* La superficie contiene y recorta correctamente los elementos decorativos. */ 
.founders-section > .visual-section-surface { 
    position: relative; 
    overflow: hidden; 
}
.leadership-founders__container { 
    position: relative; 
    z-index: 1;
    width: 100%; 
    max-width: 82.375rem; /* 1318px */
    margin-inline: auto; 
    /* padding-block: clamp( 2rem, 4vw, var(--founders-section-space) );  */
}

.leadership-founders__row { column-gap: var(--founders-column-gap); }

.leadership-founders__content { min-width: 0; max-width: var(--founders-content-width);
/*
 * 60px del padding superior
 * + 76px adicionales
 * = aproximadamente 136px.
 */
padding-top: var(--founders-title-offset);
}
.leadership-founders__title { margin: 0 0 2rem; color: inherit; }
.leadership-founders__title > * { margin: 0; color: inherit; font: inherit; }
.leadership-founders__text { width: 100%; max-width: var(--founders-content-width); min-height: var(--founders-text-height); color: inherit; }
/*
El RTE controla tamaños, pesos, colores,
subrayados y estructura del contenido. */ .leadership-founders__text > :first-child { margin-top: 0; }
.leadership-founders__text > :last-child { margin-bottom: 0; }
.leadership-founders__media { flex: 0 0 var(--founders-image-width); width: var(--founders-image-width); max-width: 100%; }
.leadership-founders__image { position: relative;
width: 100%;
max-width: var(--founders-image-width);
aspect-ratio: 580 / 515;

overflow: hidden;
background-color: var(--school-dark, #152f5b);
border-radius: 1rem;
}
.leadership-founders__image img { display: block; width: 100%; height: 100%;
object-fit: cover;
object-position: center;

transition:
    transform 600ms
    cubic-bezier(.22, 1, .36, 1);
}

.leadership-section__circle { 
    position: absolute; 
    z-index: 0;
    aspect-ratio: 1;
    border: 1px solid rgb(21 34 56 / 10%);
    border-radius: 50%;

    pointer-events: none;
}

.leadership-section__circle--one { 
    top: -14rem; 
    right: -10rem;
    width: 30rem;

    box-shadow:
        0 0 0 5rem rgb(255 255 255 / 7%),
        0 0 0 10rem rgb(255 255 255 / 4%);
}

.leadership-section__circle--two { 
    bottom: -10rem; 
    left: -8rem;
    width: 20rem;
}

@media (hover: hover) and (pointer: fine) { .leadership-founders__image:hover img { transform: scale(1.025); } }

@media (max-width: 1399.98px) { 
    .leadership-founders__row { 
        row-gap: 3rem; 
    }
    
    .leadership-founders__content { 
        max-width: var(--founders-content-width); 
        margin-inline: auto; 
        padding-top: 0; 
    }

    .leadership-founders__media { 
        width: min( 100%, var(--founders-image-width) ); 
        margin-inline: auto; 
    }

    .leadership-founders__text { 
        min-height: 0; 
    } 
}

@media (max-width: 767.98px) {
    .leadership-founders__row {
        row-gap: 1rem;
    }

    .leadership-founders__content {
        text-align: center;
    }

    .leadership-founders__image {
        width: min(100%, var(--founders-image-width));
        border-radius: 1rem;
    }

    .leadership-section__circle--one {
        right: -18rem;
    }

    .leadership-section__circle--two {
        left: -14rem;
    }
}

@media (max-width: 575.98px) { 
    .leadership-founders__text { 
        text-align: justify;
    } 
}

@media (prefers-reduced-motion: reduce) { 
    .leadership-founders__image img { 
        transition: none; 
    } 
}
/* #endregion */

/* #region Partnerships visual section */
.partnerships-section { 
    --partnership-card-width: 25rem;       /* 400px */ 
    --partnership-card-height: 13.75rem;   /* 220px */ 
    --partnership-card-gap: 3.75rem;       /* 60px */ 
    --partnership-content-width: 82.5rem;  /* 1320px */
    position: relative;
}

.partnerships__container { 
    width: 100%; 
    max-width: var(--partnership-content-width);
    margin-inline: auto;
}

.partnerships__header { 
    margin-bottom: 3.75rem; 
}

.partnerships__title, 
.partnerships__title > * { 
    margin: 0; 
    color: inherit; 
    font: inherit; 
}

.partnerships__grid { 
    --partnership-card-width: 25rem;     /* 400px */ 
    --partnership-card-height: 13.75rem; /* 220px */ 
    --partnership-card-gap: 3.75rem;     /* 60px */
    
    display: grid;
    grid-template-columns:
        minmax(
            0,
            var(--partnership-card-width)
        );

    justify-content: center;

    column-gap: var(--partnership-card-gap);
    row-gap: var(--partnership-card-gap);

    width: 100%;
    max-width: 82.5rem; /* 1320px */

    margin-inline: auto;
}

.partnerships__item { 
    width: 100%; 
    max-width: var(--partnership-card-width); 
    min-width: 0; 
}

.partnerships__card { 
    position: relative; 
    isolation: isolate;
    box-sizing: border-box;
    display: flex;
    width: 100%;
    max-width: var(--partnership-card-width); 
    height: var(--partnership-card-height);

    align-items: center;
    justify-content: center;

    overflow: hidden;
    padding: 1.25rem;

    color: inherit;
    text-decoration: none;

    background-color: #fff;
    border: 1px solid #AAAAAA;
    border-radius: 1rem;
    outline: none;

    text-decoration: none;
    color: none;

    transition:
        border-color 200ms ease,
        box-shadow 200ms ease,
        transform 200ms ease;
}

.partnerships__logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 17.5rem;
    max-height: 8rem;

    object-fit: contain;

    border: 0;
    border-radius: 0;

    transition:
        transform 450ms cubic-bezier(.22, 1, .36, 1);
}

.partnerships__overlay {
    position: absolute;
    z-index: 2;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
    padding: 2rem;

    color: inherit;
    background-color: #fff;
    opacity: 1;
    pointer-events: none;
    transform: translate3d(0, 100%, 0);

    transition:
        transform 500ms cubic-bezier(.22, 1, .36, 1);

    will-change: transform;
}

.partnerships__overlay,
.partnerships__overlay * {
    color: inherit;
}

.partnerships__overlay > :first-child {
    margin-top: 0;
}

.partnerships__overlay > :last-child {
    margin-bottom: 0;
}

.partnerships__card:hover,
.partnerships__card:focus-visible {
    color: inherit;
    border-color: rgb(21 47 91 / 28%);
    box-shadow: 0 1rem 2.5rem rgb(21 47 91 / 12%);
    transform: translateY(-.25rem);
}

.partnerships__item.has-overlay
.partnerships__card:hover
.partnerships__overlay,
.partnerships__item.has-overlay
.partnerships__card:focus-visible
.partnerships__overlay {
    transform: translate3d(0, 0, 0);
}

.partnerships__item.has-overlay
.partnerships__card:hover
.partnerships__logo,
.partnerships__item.has-overlay
.partnerships__card:focus-visible
.partnerships__logo {
    opacity: 1;
    transform: none;
}

@media (hover: none) {
    .partnerships__item.has-overlay .partnerships__logo {
        opacity: .12;
    }

    .partnerships__item.has-overlay .partnerships__overlay {
        opacity: 1;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .partnerships__logo,
    .partnerships__overlay {
        transition: none;
    }
}

@media (min-width: 992px) and (max-width: 1439.98px) { 
    .partnerships__grid { 
        grid-template-columns: repeat( 2, var(--partnership-card-width) );
        max-width: 53.75rem; /* 860px */
    }
    
    .partnerships__item:last-child:nth-child(odd) { 
        grid-column: 1 / -1; 
        justify-self: center; 
    } 
}

@media (min-width: 1440px) { 
    .partnerships__grid { 
        grid-template-columns: repeat( 6, 10.625rem );
        max-width: 82.5rem;
    }
    
    .partnerships__item { 
        grid-column: span 2;
        width: var(--partnership-card-width);
        max-width: none;
    }

    .partnerships__item:last-child:nth-child(odd) { 
        grid-column: span 2; 
        justify-self: stretch; 
    }
    
    .partnerships__item:nth-child(3n + 1):last-child { 
        grid-column: 3 / span 2; 
    }
    
    .partnerships__item:nth-child(3n + 1):nth-last-child(2) { 
        grid-column: 2 / span 2; 
    }
    
    .partnerships__item:nth-child(3n + 1):nth-last-child(2)
    .partnerships__item { 
        grid-column: 4 / span 2; 
    } 
}

@media (max-width: 991.98px) { 
    .partnerships__container {
        width: 100%;
        max-width: none;
    }

    .partnerships__header {
        width: 100%;
        margin-bottom: 1.5rem;
        text-align: left;
    }

    .partnerships__grid {
        --partnership-card-gap: 1rem;

        display: flex;
        width: 100%;
        max-width: none;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: var(--partnership-card-gap);
        margin: 0;
    }

    .partnerships__item {
        width: min(
            100%,
            var(--partnership-mobile-card-width)
        );
        max-width: var(--partnership-mobile-card-width);
        flex: 0 0 auto;
    }

    /*
    * La altura deja de estar determinada por
    * un aspect-ratio y depende del contenido.
    */
    .partnerships__card {
        display: flex;
        width: 100%;
        max-width: none;
        height: auto;
        min-height: 0;
        aspect-ratio: auto;

        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;

        padding: 1.5rem;

        border-radius: 1rem;
        transform: none;
    }

    .partnerships__logo {
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 6.5rem;
        align-self: center;

        opacity: 1;
        object-fit: contain;
        transform: none;
    }

    /*
    * En dispositivos táctiles el texto siempre
    * es visible debajo del logo. Ya no depende
    * de hover.
    */
    .partnerships__overlay {
        position: static;
        inset: auto;

        display: block;
        width: 100%;

        margin-top: 1.25rem;
        padding: 0;

        overflow: visible;
        text-align: left;

        background-color: transparent;
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }

    .partnerships__overlay > :first-child {
        margin-top: 0;
    }

    .partnerships__overlay > :last-child {
        margin-bottom: 0;
    }

    .partnerships__item.has-overlay .partnerships__logo,
    .partnerships__item.has-overlay .partnerships__card:hover .partnerships__logo,
    .partnerships__item.has-overlay .partnerships__card:focus-visible .partnerships__logo {
        opacity: 1;
        transform: none;
    }

    .partnerships__card:hover,
    .partnerships__card:focus-visible {
        transform: none;
    }
}
/* #endregion */

/* #region Reusable two-row logo carousel */
.logo-carousel { 
    margin-top: 3rem;
    /* padding-bottom: 3.75rem; */
    --logo-carousel-row-height: 8rem;
    --logo-carousel-item-width: 14rem;
    --logo-carousel-logo-height: 8.5rem;
    overflow: hidden;
}

.logo-carousel__rows { 
    display: grid;
    gap: 1.75rem; /*RODO*/
}

.logo-carousel__viewport { width: 100%; height: var(--logo-carousel-row-height);
overflow-x: auto;
overflow-y: hidden;

scrollbar-width: none;
overscroll-behavior-inline: contain;
}
.logo-carousel__viewport::-webkit-scrollbar { 
    display: none; 
}

.logo-carousel__viewport--top { 
    --logo-carousel-gap: 12.5rem; 
}

.logo-carousel__viewport--bottom { 
    --logo-carousel-gap: 10rem; 
}

.logo-carousel__viewport.is-ready { 
    overflow: hidden; 
}
.logo-carousel__track { 
    display: flex; 
    width: max-content; 
    height: 100%;
    will-change: transform;
}

.logo-carousel__group { 
    display: flex; 
    flex: none; 
    align-items: center;
    height: 100%;
    gap: var(--logo-carousel-gap);
    margin: 0;
    padding:
        0
        var(--logo-carousel-gap)
        0
        0;

    list-style: none;
}

.logo-carousel__item { 
    display: flex; 
    flex: 0 0 var(--logo-carousel-item-width);
    width: var(--logo-carousel-item-width);
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}
.logo-carousel__image { 
    display: block;
    width: 100%;
    height: auto;
    max-width: var(--logo-carousel-item-width);
    max-height: var(--logo-carousel-logo-height);
    object-fit: contain;
    border: 0;
    border-radius: 0;
    filter: grayscale(1);
    opacity: 0.72;
}

.logo-carousel__viewport.is-ready[data-direction="left"]
.logo-carousel__track {
    animation:
        logo-carousel-left
        var(--logo-carousel-duration, 32s)
        linear
        infinite;
}

.logo-carousel__viewport.is-ready[data-direction="right"]
.logo-carousel__track {
    animation:
        logo-carousel-right
        var(--logo-carousel-duration, 32s)
        linear
        infinite;
}

@keyframes logo-carousel-left {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@keyframes logo-carousel-right {
    from {
        transform: translate3d(-50%, 0, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@media (hover: hover) and (pointer: fine) { 
    .logo-carousel__viewport:hover .logo-carousel__track { 
        animation-play-state: paused; 
    } 
}

.logo-carousel__viewport:focus-within .logo-carousel__track { 
    animation-play-state: paused; 
}

@media (max-width: 767.98px) { 
    .logo-carousel { 
        --logo-carousel-row-height: 5rem; 
        --logo-carousel-item-width: 8rem;
        --logo-carousel-logo-height: 3.5rem;
        width: 100%;
        margin-top: 2.5rem;
        padding-bottom: 0;
        overflow: hidden;
    }

    .logo-carousel__rows {
        gap: 1.5rem;
    }

    .logo-carousel__viewport {
        height: var(--logo-carousel-row-height);
    }

    .logo-carousel__viewport--top {
        --logo-carousel-gap: 2.5rem;
    }

    .logo-carousel__viewport--bottom {
        --logo-carousel-gap: 2rem;
    }

    .logo-carousel__item {
        height: var(--logo-carousel-row-height);
    }

    .logo-carousel__image {
        max-width: var(--logo-carousel-item-width);
        max-height: var(--logo-carousel-logo-height);
    }
}

@media (prefers-reduced-motion: reduce) { 
    .logo-carousel__viewport { 
        overflow-x: auto; 
    }
    .logo-carousel__track {
        animation: none;
        transform: none;
        will-change: auto;
    }
}
/* #endregion */
 
/* #region Conversion */
.conversion-showcase { 
    --conversion-layout-max: 116.5rem; /* 1864px: 932px por columna */ 
    --conversion-lower-height: 24.25rem; /* 388px */ 
    --conversion-radius: 2rem; 
    --conversion-space-x: clamp(1.25rem, 3.125vw, 3.75rem); 
    --conversion-space-y: 3.75rem; 
    --conversion-content-max: 37rem;
    
    --visual-space-x: 0;
    --visual-space-top: 0;
    --visual-space-bottom: 0;

    --conversion-panels-padding-top: 5rem;
    --conversion-panels-padding-left: 8.75rem;
    --conversion-panels-padding-rigth: 10rem;

    position: relative;
    color: var(--color-primary, #182f60);
}

.conversion-showcase__header { 
    width: min(100%, 58rem); 
    margin-inline: auto; 
    margin-bottom: 2rem; 
}

.conversion-showcase__title > :first-child, 
.conversion-showcase__card-title > :first-child, 
.conversion-showcase__richtext > :first-child { 
    margin-top: 0; 
}

.conversion-showcase__title > :last-child, 
.conversion-showcase__card-title > :last-child, 
.conversion-showcase__richtext > :last-child { 
    margin-bottom: 0; 
}

/* .conversion-showcase__upper { 
    min-height: 20.5rem; 
} */

.conversion-showcase__panel { 
    min-width: 0; 
}

.conversion-showcase__contact { 
    /* padding: clamp(2.25rem, 3vw, 3.75rem) var(--conversion-space-x); */
    padding-top: var(--conversion-panels-padding-top);
    padding-left: var(--conversion-panels-padding-left);
    padding-right: var(--conversion-panels-padding-rigth);
    color: #fff;
    border-radius:
        var(--conversion-radius)
        var(--conversion-radius)
        0
        0;
}

/* .conversion-showcase__contact-content { 
    max-width: var(--conversion-content-max); 
    margin-inline: auto; 
} */

.conversion-showcase__brochure { 
    /* padding: clamp(2.25rem, 3vw, 3.75rem) var(--conversion-space-x);  */
    padding-top: var(--conversion-panels-padding-top);
    padding-left: var(--conversion-panels-padding-left);
    padding-right: var(--conversion-panels-padding-rigth);
}

/* .conversion-showcase__brochure-content, 
.conversion-showcase__visit-content { 
    max-width: var(--conversion-content-max); 
    margin-inline: auto; 
} */

.conversion-showcase__card-title { 
    margin-bottom: 2rem; 
    font-size: var(--type-h2);
}

.conversion-showcase__lower { 
    height: var(--conversion-lower-height); 
}

.conversion-showcase__bridge {
    min-width: 0;
    overflow: hidden;
    background-color:
        var(
            --conversion-bridge-desktop-bg,
            transparent
        );
}

.conversion-showcase__image { 
    position: relative; 
    overflow: hidden; 
    border-radius: var(--conversion-radius) var(--conversion-radius) 0 0; 
}

.conversion-showcase__image img { 
    display: block; 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    object-position: center; 
}

.conversion-showcase__visit { 
    min-width: 0; 
    /* padding: clamp(2.25rem, 3vw, 3.75rem) var(--conversion-space-x); */
    padding-top: var(--conversion-panels-padding-top);
    padding-left: var(--conversion-panels-padding-left);
    padding-right: var(--conversion-panels-padding-rigth);
    color: #fff;
    border-radius:
        var(--conversion-radius)
        var(--conversion-radius)
        0
        0;
}
/* HubSpot */
.conversion-hubspot-form { 
    --hsf-global__font-family: var(--font-primary); --hsf-global__font-size: 1rem;
    --hsf-row__horizontal-spacing: 1rem;
    --hsf-row__vertical-spacing: 1rem;
    --hsf-module__vertical-spacing: 1rem;

    --hsf-background__background-color: transparent;
    --hsf-background__border-width: 0;
    --hsf-background__padding: 0;

    --hsf-field-input__font-family: var(--font-primary);
    --hsf-field-input__color: var(--color-primary, #182f60);
    --hsf-field-input__background-color: #fff;
    --hsf-field-input__placeholder-color: rgb(24 47 96 / 62%);
    --hsf-field-input__border-color: transparent;
    --hsf-field-input__border-width: 1px;
    --hsf-field-input__border-style: solid;
    --hsf-field-input__border-radius: 0.5rem;
    --hsf-field-input__padding: 0.625rem 0.875rem;

    --hsf-button__font-family: var(--font-primary);
    --hsf-button__font-size: 1.125rem;
    --hsf-button__color: var(--color-primary, #182f60);
    --hsf-button__background-color: var(--color-accent, #ffc400);
    --hsf-button__border-color: var(--color-accent, #ffc400);
    --hsf-button__border-width: 1px;
    --hsf-button__border-style: solid;
    --hsf-button__border-radius: 3.125rem;
    --hsf-button__padding: 0.5rem 3rem;
    --hsf-button__box-shadow: none;

    min-height: 6rem;
}
.conversion-hubspot-form--contact { 
    --hsf-global__color: #fff; 
    --hsf-field-label__color: #fff; 
    --hsf-field-label-requiredindicator__color: var(--color-accent, #ffc400); 
}

.conversion-hubspot-form .hs-form, 
.conversion-hubspot-form .hs-form fieldset { 
    max-width: none !important; 
}

.conversion-hubspot-form .hs-form input:not( [type="checkbox"], [type="radio"], [type="submit"] ), 
.conversion-hubspot-form .hs-form select, 
.conversion-hubspot-form .hs-form textarea { 
    width: 100% !important; 
    min-height: 2.75rem; 
    padding: 0.625rem 0.875rem !important; 
    color: var(--color-primary, #182f60); 
    background-color: #fff; 
    border: 1px solid transparent; 
    border-radius: 0.5rem; 
}

.conversion-hubspot-form .hs-form .hs-button { 
    width: auto; 
    min-height: 2.75rem; 
    padding: 0.5rem 3rem !important; 
    color: var(--color-primary, #182f60); 
    font-family: var(--font-primary); 
    font-size: 1.125rem; 
    background-color: var(--color-accent, #ffc400); 
    border: 1px solid var(--color-accent, #ffc400); 
    border-radius: 3.125rem; 
    box-shadow: none; 

    transition: 
        color 180ms ease, 
        background-color 180ms ease, 
        border-color 180ms ease, 
        transform 180ms ease; 
}

@media (hover: hover) and (pointer: fine) { 
    .conversion-hubspot-form .hs-form .hs-button:hover { 
        color: #fff; 
        background-color: var(--color-primary, #182f60); 
        border-color: var(--color-primary, #182f60); 
        transform: translateY(-0.125rem); 
    } 
}

@media (max-width: 991.98px) { 
    .conversion-showcase { 
        --conversion-lower-height: auto; 
    }
    
    .conversion-showcase__upper {
        min-height: 0;
    }

    .conversion-showcase__contact,
    .conversion-showcase__brochure,
    .conversion-showcase__visit {
        min-height: 21rem;
        padding: 3rem var(--conversion-space-x);
    }

    .conversion-showcase__brochure {
        border-radius:
            var(--conversion-radius)
            var(--conversion-radius)
            0
            0;
    }

    .conversion-showcase__lower {
        height: auto;
    }

    .conversion-showcase__image {
        min-height: clamp(20rem, 68vw, 30rem);
    }

    .conversion-showcase__visit {
        min-height: 22rem;
    }
}

@media (max-width: 767.98px) { 
    .conversion-showcase { 
        --conversion-radius: 1.5rem; 
        --conversion-mobile-space-x: 3.125rem;
        --conversion-mobile-space-y: 2.5rem;
        --conversion-mobile-panel-min-height: 15.5rem;
        --conversion-lower-height: auto;
        --visual-space-x: 0;
        --visual-space-top: 0;
        --visual-space-bottom: 0;
        /* --visual-space-x-tablet: 0; */

        width: 100%;
    }

    .conversion-showcase .visual-section-inner {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        padding-inline: 0 !important;
    }

    .conversion-showcase__container,
    .conversion-showcase__layout {
        width: 100%;
        max-width: none;
    }

    .conversion-showcase__header {
        width: 100%;
        margin:
            0
            0
            1rem;
        /* padding-inline: var(--conversion-mobile-space-x); */
    }

    .conversion-showcase__upper {
        position: relative;
        z-index: 2;

        min-height: 0;
    }

    .conversion-showcase__lower {
        position: relative;
        z-index: 1;

        width: 100%;
        height: auto;
    }

    .conversion-showcase__contact,
    .conversion-showcase__brochure,
    .conversion-showcase__visit {
        /* min-height: var(--conversion-mobile-panel-min-height); */

        padding: 
            var(--conversion-mobile-space-y) 
            var(--conversion-mobile-space-x);

        text-align: left;

        border-radius: var(--conversion-radius);
    }

    .conversion-showcase__contact {
        border-radius:
            var(--conversion-radius);
    }

    /*
    * El brochure se coloca por encima de la
    * imagen para crear el solapamiento redondo.
    */
    .conversion-showcase__brochure {
        position: relative;
        z-index: 3;

        border-radius:
            var(--conversion-radius);
    }

    .conversion-showcase__card-title {
        margin: 0 0;
        text-align: var(--text-position);
        padding-bottom: var(--m-b-conversion);
    }

    .conversion-showcase__richtext {
        text-align: left;
    }

    .conversion-showcase__bridge {
        overflow: visible;
        background-color:
            var(
                --conversion-bridge-mobile-bg,
                transparent
            );
    }

    .conversion-showcase__image {
        position: relative;
        z-index: 1;

        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 440 / 259;

        margin-top: -1.5rem;

        overflow: hidden;
        border-radius:
            0
            0
            var(--conversion-radius)
            var(--conversion-radius);
    }

    .conversion-showcase__image img {
        position: absolute;
        inset: 0;

        width: 100%;
        height: 100%;

        object-fit: cover;
        object-position: center;
    }

    .conversion-showcase__visit {
        border-radius: 0;
    }

    .conversion-showcase .ht-button {
        width: auto;
        max-width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) { 
    .conversion-showcase *, 
    .conversion-showcase *::before, 
    .conversion-showcase *::after { 
        scroll-behavior: auto !important; 
        transition-duration: 0.01ms !important; 
        animation-duration: 0.01ms !important; 
        animation-iteration-count: 1 !important; 
    } 
}
/* #endregion */

/* #region Redimensionamiento Provisivo */
    /* #region Laptop desktop */
    @media (min-width: 992px) and (max-width: 1879.98px) {
        /* Escolaridades */
        .school-grades-section__header { 
            margin-bottom: var(--layout-section-y); 
        }
        
        .school-grades-banner { 
            min-height: clamp(18rem, 24vw, 22rem); 
            margin-top: clamp(3rem, 4vw, 4rem); 
            padding-right: clamp(2.5rem, 6vw, 7rem); 
            padding-bottom: 1.5rem; 
            padding-left: clamp(2.5rem, 6vw, 7rem); 
        }
        
        .school-grades-banner__media, 
        .school-grades-banner__content { 
            min-height: clamp(18rem, 24vw, 22rem); 
        }
        
        .school-grades-banner__content { 
            padding-left: clamp(2rem, 3vw, 3rem); 
        }
        
        /* Distintivo */
        .activities-section { 
            --discipline-panel-radius: 1.5rem; 
            --discipline-stage-height: clamp(30rem, 36vw, 36rem); 
        }
        
        .discipline-journey { 
            padding-left: 0; 
        }
        
        .activities-section__header { 
            width: 100%; 
            margin-bottom: 2rem; 
        }
        
        .discipline-journey__panel { 
            grid-template-rows: minmax(17rem, 1fr) auto; 
        }
        
        .discipline-journey__media img, 
        .discipline-journey__placeholder { 
            min-height: 17rem; 
        }
        
        .discipline-journey__content { 
            min-height: 6.5rem; 
            padding: 1.25rem 1.5rem; 
        }
        
        /* Campus */
        .campus-showcase { 
            --campus-radius: 1.5rem; 
            --campus-thumbnail-width: clamp(22rem, 28vw, 27rem); 
        }
        
        .campus-showcase__top { 
            margin-bottom: 1.5rem; 
        }
        
        .campus-showcase__header, 
        .campus-showcase__tabs { 
            padding-bottom: 1.5rem; 
        }
        
        .campus-showcase__information { 
            min-height: 0; 
            padding-right: clamp(2rem, 3vw, 2.75rem); 
        }
        
        .campus-showcase__gallery { 
            margin-top: 1.25rem; 
        }
        
        /* Testimonios */
        .testimonials-section { 
            --testimonial-poster-width: clamp(15.5rem, 18vw, 18rem); 
            --testimonial-content-width: clamp(40rem, 45vw, 43rem);
            --testimonial-content-height: auto; 
            --testimonial-title-gap: 2.5rem; 
            --testimonial-column-gap: clamp(2rem, 3vw, 2.75rem); 
            --testimonial-author-gap: 3rem; 
        }
        
        .testimonials-carousel {
            max-width: 72rem; 
        }
        
        .testimonials-carousel__slide { 
            width: min(calc(100% - 7rem), 58rem); 
            min-height: 0; 
        }
        
        .testimonials-carousel__media { 
            width: var(--testimonial-poster-width); 
            height: auto; 
            aspect-ratio: 330 / 585; 
        }
        
        .testimonials-carousel__content { 
            flex-basis: var(--testimonial-content-width); 
            max-width: var(--testimonial-content-width); 
            padding-top: clamp(5rem, 8vw, 7.5rem); 
        }
        
        .testimonials-carousel__identity { 
            margin-top: var(--testimonial-author-gap); 
        }
        
        .testimonials-carousel__control { 
            width: 2.5rem; 
            height: 2.5rem; 
            font-size: 3rem; 
        }
        
        /* Carrusel de logos */
        .logo-carousel { 
            --logo-carousel-row-height: 6.5rem; 
            --logo-carousel-item-width: 11rem; 
            --logo-carousel-logo-height: 6rem;
            margin-top: 2.5rem;
            /* padding-bottom: 2.5rem; */
        }
        
        .logo-carousel__rows { gap: 1.5rem; }
        
        .logo-carousel__viewport--top { --logo-carousel-gap: 8rem; }
        
        .logo-carousel__viewport--bottom { --logo-carousel-gap: 6rem; }
        
        /* Conversión */
        
        .conversion-showcase { --conversion-layout-max: 90rem; --conversion-lower-height: clamp(19rem, 24vw, 21rem); --conversion-radius: 1.5rem; --conversion-space-x: clamp(2rem, 4vw, 4rem); --conversion-content-max: 31rem; }
        
        /* .conversion-showcase__upper { min-height: 17.5rem; } */
        
        .conversion-showcase__contact, .conversion-showcase__brochure { padding: clamp(2rem, 3vw, 2.75rem) var(--conversion-space-x); }
        
        .conversion-showcase__visit { padding: clamp(2.25rem, 3vw, 3rem) clamp(3rem, 6vw, 5rem); }
        
        .conversion-showcase__card-title { margin-bottom: 1.5rem; } 
    }
    
    @media (min-width: 1200px) and (max-width: 1879.98px) {
        /* Cards de escolaridades */
        .audience-schoolGrades { 
            --bs-gutter-x: var(--layout-component-gap); 
            --bs-gutter-y: var(--layout-component-gap);
            margin-right: calc(var(--bs-gutter-x) * -0.5);
            margin-left: calc(var(--bs-gutter-x) * -0.5);
        }
        
        .audience-schoolGrades > .school-grade-column { 
            display: flex; 
            flex: 0 0 auto; 
            width: 25%; 
            max-width: 25%; 
            justify-content: stretch; 
        }
        
        .education-card { 
            --education-card-width: 100%; 
            --education-card-height: auto; 
            --education-card-content-height: clamp(14rem, 17vw, 15.75rem);
            width: 100%;
            max-width: none;
            height: auto;
            aspect-ratio: 420 / 660;
        }
        
        /* .education-card__content {     
            padding: 0.875rem 1rem 1rem; 
        } */
        
        .education-card__badges { 
            gap: 0.5rem; 
            margin-bottom: 1.25rem; 
        }
        
        .education-card__range { 
            --ht-tag-width: auto;
            flex: 0 1 36%;
            min-width: 0;
        }
        
        .education-card__campus { --ht-tag-width: auto;
            flex: 1 1 64%;
            min-width: 0;
        }
        .education-card__range, .education-card__campus { padding-inline: 0.625rem; font-size: var(--type-h6); }
        .education-card__hover { padding: 1.5rem 1.25rem; }
        /* Métricas */
        .home-impact-surface { --numbers-gap: 0.75rem; --type-metric: clamp(2.5rem, 3vw, 3.25rem); }
        .advantages-by-numbers__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: auto; justify-content: stretch; gap: var(--numbers-gap); }
        .advantages-by-numbers__intro { grid-column: 1; grid-row: 1; align-self: start;
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 340 / 250;
        padding: 0.25rem;
        }
        .numbers-metric { width: 100%; max-width: none; height: auto; }
        .numbers-metric--slot-1 { grid-column: 1; grid-row: 1; align-self: end; height: auto; aspect-ratio: 340 / 460; }
        .numbers-metric--slot-2 { grid-column: 2; grid-row: 1; align-self: stretch; height: auto; aspect-ratio: 340 / 722; grid-template-rows: 27.7% minmax(0, 1fr); }
        .numbers-metric--slot-3 { grid-column: 3; grid-row: 1; align-self: start; height: auto; aspect-ratio: 340 / 460; }
        .numbers-metric--slot-4 { grid-column: 3; grid-row: 1; align-self: end; height: auto; aspect-ratio: 340 / 250; }
        .numbers-metric--slot-5 { grid-column: 4; grid-row: 1; align-self: end; height: auto; aspect-ratio: 340 / 512; grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); }
        .numbers-metric--slot-6 { grid-column: 5; grid-row: 1; align-self: start; height: auto; aspect-ratio: 340 / 460; }
        .numbers-metric--slot-7 { grid-column: 5; grid-row: 1; align-self: end; height: auto; aspect-ratio: 340 / 250; }
        .advantages-by-numbers .ht-stat-card__copy { padding: clamp(0.875rem, 1.5vw, 1.25rem); }
        .advantages-by-numbers .ht-stat-card__description { margin-top: 0.75rem; }
        /* Fundadores */
        .founders-section { --founders-content-width: 39rem; --founders-image-width: clamp(26rem, 32vw, 31rem); --founders-column-gap: clamp(2rem, 3vw, 2.75rem); --founders-section-space: var(--layout-section-y); --founders-title-offset: 2.5rem; --founders-text-height: auto; }
        .leadership-founders__container { max-width: 72rem; }
        .leadership-founders__row { flex-wrap: nowrap; row-gap: 0; }
        .leadership-founders__content { flex: 1 1 0; width: auto; max-width: var(--founders-content-width); margin-inline: 0; padding-top: var(--founders-title-offset); }
        .leadership-founders__media { flex: 0 0 var(--founders-image-width); width: var(--founders-image-width); margin-inline: 0; }
        .leadership-founders__text { min-height: 0; }
        /* Partnerships */
        .partnerships-section { --partnership-card-width: clamp(18rem, 25vw, 25rem); --partnership-card-height: auto; --partnership-card-gap: clamp(1.5rem, 2.5vw, 2.5rem); --partnership-content-width: 76rem; }
        .partnerships__container { max-width: var(--partnership-content-width); }
        .partnerships__header { margin-bottom: var(--layout-section-y); }
        .partnerships__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--partnership-card-gap);
            max-width: var(--partnership-content-width);
        }
        .partnerships__item { flex: 0 1 calc( ( 100% - (var(--partnership-card-gap) * 2) ) / 3 );
            width: auto;
            max-width: var(--partnership-card-width);
        }
        .partnerships__card { width: 100%; max-width: none; height: auto; aspect-ratio: 400 / 220; }
        .partnerships__logo { max-width: 75%; max-height: 58%; } }
        
    @media (min-width: 992px) and (max-width: 1199.98px) {
        .audience-schoolGrades > .school-grade-column { 
            display: flex; 
            flex: 0 0 auto; 
            width: 50%; 
            max-width: 50%; 
        }

        .education-card { 
            width: min(100%, 26.25rem); 
            margin-inline: auto; 
        }
        .partnerships__grid { 
            grid-template-columns: repeat( 2, minmax(0, var(--partnership-card-width)) );
            gap: 2rem;
            min-width: 100%;
        }
    .partnerships__item:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; } }
    
    @media (min-width: 992px) and (max-height: 800px) {
        .home-hero__controls { bottom: 1rem; }
        .home-hero__indicator { width: 0.625rem; height: 0.625rem; }
        .home-hero__indicator.is-active { width: 1.875rem; } 
    }
    /* #endregion */
/* #endregion */

/* #region Quick Fixes */
@media (min-width: 992px) and (max-width: 1319.98px) {
    .home-numbers__title,
    .home-numbers__title > * {
        font-size: var(--type-h2)
    }
    
    .discipline-journey.is-enhanced .discipline-journey__stage {
        --discipline-stage-height: 90%;
    }

    .campus-showcase__intro {
        line-height: 1.2;
        padding-bottom: 1rem;
    }
}

@media (max-width: 991px) {
    .conversion-showcase .visual-section-inner {
        padding-inline: 0;
        padding-block: 0;
    }

    .conversion-showcase__bridge--image {
        --conversion-bridge-desktop-bg: #fff !important;
    }

    .conversion-showcase__bridge--visit {
        --conversion-bridge-desktop-bg: var(--color-primary) !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .home-numbers__title,
    .home-numbers__title > * {
        font-size: 1.35rem
    }

    .education-card__content {
        padding: 1rem 1.125rem 1.25rem;
    }

    .education-card__hover {
        padding: 0.875rem 1rem;
    }

    .ht-stat-card__copy {
        padding: 0.5rem;
    }

    .ht-stat-card__description {
        font-size: var(--type-h5);
    }

    .ht-stat-card__value {
        font-size: var(--type-h1);
    }
    
    .campus-showcase__featured{
        margin-top: 1.5rem;
    }

    .testimonials-section__header {
        margin-bottom: 0;
    }

    .testimonials-carousel__slide {
        width: min( calc(100% - 3rem), 65.75rem );
    }

    .testimonials-carousel__identity {
        margin-top: 1.75rem;
    }
}

@media (min-width: 1200px) and (max-width: 1657px) {
    .education-card.education-card-es{
        --education-card-content-height: 13rem;
        min-height: 36rem;
    }

    .education-card.education-card-en{
        --education-card-content-height: 15rem;
        min-height: 36rem;
    }
    
    .education-card__content {
        padding: 0.5rem 0.75rem 0;
    }

    .education-card__badges {
        margin-bottom: 0.875rem;
    }

    .education-card__heading {
        padding-inline: 0;
    }

    .education-card__title {
        font-size: var(--type-h1-ltp);
    }

    .education-card__stage {
        font-size: var(--type-h1-ltp);
    }

    .education-card__description {
        padding-top: 0.875rem;
    }

    .education-card__hover {
        padding: 1.5rem;
    }

    .education-card__hover-text {
        font-size: calc(var(--type-h3) - 0.1rem);
    }
}

@media (min-width: 1200px) and (max-width: 1347px) {
    .education-card__range, .education-card__campus {
        font-size: var(--type-h7);
    }

    .education-card__hover {
        padding: 0.5rem 0.75rem;
    }

    .education-card__hover-text {
        font-size: var(--type-h4);
    }
}

@media (min-width: 1200px) and (max-width: 1428px) {
    .ht-stat-card__copy {
        padding: 0.75rem !important;
    }

    .ht-stat-card__description {
        font-size: var(--type-h4);
    }
}
/* #endregion */
