/* ============================================================
   FONTS
   ============================================================ */

@font-face {
    font-family: 'General Sans';
    src: url('../fonts/GeneralSans-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'General Sans';
    src: url('../fonts/GeneralSans-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'General Sans';
    src: url('../fonts/GeneralSans-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'General Sans';
    src: url('../fonts/GeneralSans-Italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}


/* ============================================================
   TOKENS
   ============================================================ */

:root {
    --color-light: #f1f1f2;
    --color-primary: #233ec3;
    --color-secondary: #f87321;
    --color-tertiary: #ffe400;
    --color-dark-text: #151515;
    --color-subtle-bg: #f5f5f7;

    --font-main: 'General Sans', sans-serif;
    --font-secondary: 'General Sans', sans-serif;

    --radius-sm: 10px;
    --radius-md: 15px;
    --radius-lg: 21px;
    --radius-xl: 28px;

    --fs-11: 0.703rem;
    --fs-19: 1.212rem;
    --fs-21: 1.348rem;
    --fs-24: 1.529rem;
    --fs-30: 1.978rem;
}


/* ============================================================
   RESET / BASE
   ============================================================ */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: clamp(12px, min(1.05vw, 2.1vh), 18px);
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-main);
    font-weight: 600;
    line-height: 1;
    color: var(--color-light);
    background-color: #ff6e01;
}

ul,
li {
    list-style: none;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

.desk-none {
    display: none !important
}

/* ============================================================
   HERO — estrutura principal
   ============================================================ */

.lp-hero {
    position: relative;
    height: 100svh;
    max-height: 100svh;
    min-height: 0;
    display: flex;
    align-items: center;
    overflow: clip;
    padding-block: clamp(0.75rem, 2.5vh, 2rem);
}

.lp-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.lp-hero__wrapper {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin-top: 0;
    padding-bottom: 0;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
}


/* ============================================================
   FORMULÁRIO (aside)
   ============================================================ */

.lp-form {
    background: var(--color-light);
    color: var(--color-dark-text);
    width: 100%;
    max-width: clamp(18rem, 25vw, 22.222rem);
    height: 100%;
    max-height: min(46.111rem, 100%);
    min-height: 0;
    border-radius: var(--radius-xl);
    margin-right: clamp(2rem, 7vw, 7.111rem);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    overflow: hidden;
}

/* Cabeçalho do formulário */
.lp-form__header {
    flex-shrink: 0;
    background: var(--color-primary);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    width: 100%;
    min-height: clamp(4rem, 7vw, 5.889rem);
    padding: 0.278rem 0.556rem;
    display: flex;
    justify-content: center;
    align-items: center;
}



.lp-form__title {
    font-family: var(--font-secondary);
    font-size: clamp(0.875rem, 1.2vw, var(--fs-21));
    font-weight: 600;
    line-height: 1;
    color: var(--color-light);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 0.222rem;
}

.lp-form__date {
    display: inline-flex;
    align-items: center;
    gap: 0.333rem;
    background: var(--color-tertiary);
    color: var(--color-primary);
    border-radius: var(--radius-md);
    padding: 0.222rem 0.556rem;
    margin-top: 0.222rem;
    justify-content: center;
    font-size: clamp(0.875rem, 1.2vw, var(--fs-21));
    width: max-content;
    margin: 0.222rem auto 0;
    font-weight: 700;
}

.lp-form__date-icon {
    display: inline-block;
}

/* Iframe */
.lp-form__iframe-wrapper {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: #fff;
}

.lp-form__iframe-wrapper iframe {
    border: 0;
    width: 100%;
    flex: 1;
    min-height: 0;
    display: block;
}


/* Aviso LGPD */
.lp-form__footer {
    padding: 0 0.556rem 0.556rem;
}

.lp-form__disclaimer {
    font-size: clamp(0.6rem, 0.8vw, var(--fs-11));
    font-weight: 400;
    color: var(--color-dark-text);
    text-align: justify;
    background: var(--color-subtle-bg);
    border-radius: var(--radius-sm);
    padding: 0.833rem;
}


/* ============================================================
   CONTEÚDO INSTITUCIONAL (section)
   ============================================================ */

.lp-content {
    margin-left: clamp(2rem, 8vw, 8.389rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.lp-content__logo {
    max-width: 14vw;
    height: auto;
}

.lp-content__badge {
    max-width: 23vw;
    height: auto;
    margin-top: clamp(1.5rem, 3vw, 1.778rem);
}

/* Botões de ação */
.lp-content__actions {
    display: flex;
    flex-direction: row;
    gap: 15px;
    margin-top: clamp(1rem, 1.5vw, 1.222rem);
}

.lp-btn {
    display: block;
    background: var(--color-tertiary);
    color: var(--color-primary);
    font-family: var(--font-secondary);
    font-size: clamp(0.875rem, 1vw, var(--fs-19));
    font-weight: 400;
    text-decoration: none;
    padding: clamp(0.75rem, 1.2vw, 1.111rem) clamp(1.2rem, 2.8vw, 2.556rem);
    border-radius: var(--radius-lg);
    line-height: 1;
    font-weight: 600;
}


/* Tagline */
.lp-content__tagline {
    font-weight: 600;
    margin-top: clamp(1.5rem, 2.5vw, 2.222rem);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 588px
}

.lp-content__tagline span {
    display: block;
    text-align: left;
    font-size: clamp(1.1rem, 1.5vw, var(--fs-30));
}

.lp-content__tagline-sub {
    font-size: clamp(0.95rem, 1.4vw, var(--fs-24));
    margin-top: clamp(0.5rem, 0.8vw, 0.667rem);
}

.lp-content__tagline-sub+.lp-content__tagline-sub {
    margin-top: 0;
}

/* Lista de diferenciais */
.lp-features {
    display: flex;
    flex-direction: column;
    gap: clamp(0.6rem, 1vw, 0.944rem);
    margin-top: clamp(1.5rem, 3vw, 2.778rem);
    width: 100%;
    max-width: clamp(18rem, 35vw, 30.556rem);
}

.lp-features__item {
    display: flex;
    align-items: center;
    gap: clamp(0.5rem, 0.8vw, 0.667rem);
}

.lp-features__item img {
    flex-shrink: 0;
}

.lp-features__item p {
    font-size: clamp(0.875rem, 1.1vw, var(--fs-21));
    font-weight: 600;
    line-height: 1.3;
}

.banner-mobile {
    display: none;
}

.form-box {
    width: 100%
}

.lp-form__legal-text {
    flex-shrink: 0;
    margin: 16px;
    background: #fff;
}


.lp-form__legal-text p {
    font-size: 0.688rem;
    font-weight: 400;
    text-align: justify;
    padding: 7px;
    border-radius: 10px;
}

.lp-content {
    margin-left: clamp(2rem, 8vw, 8.389rem);
    max-height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.mobile-none {
    display: block !important
}


.lp-nivel {
    background-color: #FFF;
}

/* ============================================================
   RESPONSIVO
   ============================================================ */

@media (max-height: 690px) and (min-width: 1300px) {
    .lp-content__badge {
        font-size: clamp(1.3rem, 1vw, 1.6rem)
    }

    .lp-content__tagline {
        margin-top: clamp(1.5rem, 2.5vw, 1.8rem);
    }

    .lp-content__badge {
        margin-top: clamp(1.3rem, 1vw, 1.4rem);
    }

    .lp-features {
        margin-top: clamp(1.5rem, 3vw, 1.8rem);
    }

    .lp-content__tagline span {
        font-size: clamp(1.1rem, 1.3vw, var(--fs-30));
    }

    .lp-features__item img {
        width: 30px
    }
}

@media (max-width: 1440px) {
    .lp-content .box-main {
        padding-bottom: 30px
    }
}

@media (max-width: 111.188rem) {
    .lp-content {
        margin-left: clamp(2rem, 4vw, 3.111rem);
    }

    .lp-form {
        margin-right: clamp(2rem, 4vw, 3.444rem);
    }
}

@media (max-width: 767px) {
    :root {
        --radius-lg: 12px !important
    }

    html {
        font-size: 3.8vw
    }

    .desk-none {
        display: block !important
    }

    .mobile-none {
        display: none !important
    }

    .lp-hero {
        height: auto;
        max-height: none;
        overflow: visible;
        padding-block: 0;
        background: url(../images/banner-topo-mobile.jpg) no-repeat;
        background-size: cover;
    }

    .lp-hero__wrapper {
        height: auto;
        flex-direction: column;
        padding: 0 30px;
    }

    .lp-form {
        margin: 0;
        margin-top: 111px;
        height: 800px;
        max-height: none;
        width: 100%;
        max-width: 100%;
    }

    .banner-mobile {
        display: block;
        height: auto;
    }

    .banner-desktop {
        display: none
    }

    .logo-desktop {
        display: none;
    }

    .lp-hero__wrapper {
        flex-direction: column;
        padding: 0 30px;
    }

    .lp-form__date {
        font-size: 4vw;
        padding-inline: 12px;
        border-radius: 10px;
        margin-top: 5px;
    }

    .lp-form__header {
        padding: 8px;
    }

    .lp-form {
        margin: 0;
        margin-top: 10vw;
        height: 800px;
        width: 100%;
        max-width: 100%;
        border-radius: 12px;
    }

    .lp-form__title {
        font-size: 5.072vw;
    }

    .lp-content {
        margin: 0
    }

    .lp-content__tagline .d-none {
        display: none !important
    }

    .lp-form__legal-text {
        margin-bottom: 5px;
        margin-top: 5px;
    }

    .d-none {
        display: none
    }

    .lp-content__actions {
        margin: 26px auto;
        display: flex;
        justify-content: center;
    }

    .lp-content__tagline {
        width: 100%;
        margin-top: 25px;
        max-width: 310px;
    }

    .lp-hero__bg {
        position: initial;
        padding: 0 72px
    }

    .lp-hero__wrapper {
        padding-bottom: 0;
    }

    .box-main {
        margin: 0 auto;
    }

    .lp-features {
        max-width: 310px;
    }

    .lp-features__item p {
        font-size: 0.75rem;
        font-size: 3.623vw;
    }

    .lp-content__tagline span {
        font-size: 4.6vw;
    }

    .lp-content__tagline-sub,
    .lp-content__tagline-sub span {
        font-size: 5.1vw !important;
    }

    .lp-btn {
        font-size: 4vw;
    }

    .lp-nivel__list-item img {
        max-width: 25px;
        height: auto;
    }
}

@media (max-width: 1100px) {
    .lp-features__item img {
        width: 29px
    }
}

/* ============================================================
   DATA (ícone decorativo, se usado)
   ============================================================ */

.data {
    background-image: url('../images/icone-data.webp');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    padding: 1.4vw 1.8vw;
}

.data span:first-child {
    margin-top: 0.1em;
}

.data span:last-child {
    margin-top: 0.3em;
}


/* ============================================================
   UNIDADES
   ============================================================ */
.lp-unidades {
    background: var(--color-primary);
    padding: clamp(2.222rem, 5vw, 4.444rem) 0;
}

.lp-unidades-arrow {
    background: #e8e8e9;
}

.lp-unidades-arrow img,
.lp-unidades {
    margin: 0 auto;
}

.lp-unidades__container {
    width: 100%;
    max-width: 1737px;
    margin: 0 auto;
    padding: 0 clamp(0.889rem, 4vw, 2.667rem);
}

.lp-unidades__title {
    font-weight: 700;
    color: var(--color-secondary);
    font-size: clamp(1.8rem, 3.5vw, 4.249rem);
    text-align: center;
    line-height: 1.2;
}

.lp-unidades__title-complement {
    color: var(--color-light);
    font-size: clamp(1.3rem, 2.5vw, 2.936rem);
    font-style: italic;
}

.lp-unidades__title-highlight {
    color: var(--color-tertiary);
    font-size: clamp(1.3rem, 2.5vw, 2.936rem);
    font-style: italic;
}

.box-images {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: clamp(1.5rem, 3vw, 3.056rem);
    gap: clamp(2rem, 5vw, 4.444rem);
}

.lp-unidades__choice-text {
    font-size: clamp(1rem, 1.5vw, 1.875rem);
    color: var(--color-tertiary);
    text-align: center;
    margin-top: 66px;
}


@media (max-width: 767px) {
    .box-images {
        grid-template-columns: 1fr;
        padding: 0 30px;
        gap: 50px;
        margin-top: 80px;
    }

    .banner-mobile {
        margin-top: 40px
    }

    .lp-unidades__container {
        padding: 0
    }

    .lp-unidades__title {
        line-height: 21px
    }

    .lp-unidades__title {
        font-size: 2.438rem;
        margin-top: 26px;
    }

    .lp-unidades__title-complement,
    .lp-unidades__title-highlight {
        font-size: 1.25rem
    }

    .lp-unidades__choice-text {
        font-size: 0.938rem;
        padding: 0 0;
        margin-top: 7px;
        width: 100%;
        max-width: 312px;
        margin: 50px auto 0;
    }

    .lp-unidades figure {
        display: flex;
        justify-content: center;
    }

    .lp-hero__bg {
        margin-top: 0 !important;
    }
}


/* ============================================================
   EXCELÊNCIA
   ============================================================ */

.lp-excelencia {
    background: #e8e8e9;
}

.lp-excelencia__container {
    width: 100%;
    max-width: 1619px;
    margin: 0 auto;
}

.lp-excelencia__box {
    display: grid;
    grid-template-columns: auto auto;
    align-items: stretch;
    padding: clamp(3rem, 8vw, 8.333rem) 0;
}

.lp-excelencia__image {
    position: relative;
    right: -2.811rem;
    flex-shrink: 0;
    height: auto;
    object-fit: contain;
    width: 100%;
    height: 1383px;
    z-index: 2;
}

.lp-excelencia__content {
    border-radius: clamp(1.2rem, 2.5vw, 2.444rem);
    background: var(--color-secondary);
    padding: clamp(2rem, 6vw, 5.389rem) clamp(2rem, 7vw, 6.667rem) clamp(2rem, 6vw, 5.389rem) clamp(1.5rem, 4vw, 4.056rem);
    height: 1383px;
    width: 100%;
    max-width: 871px;
    position: relative;
    left: -67px;
}

.lp-excelencia__title {
    color: var(--color-tertiary);
    font-size: 4.9rem;
    font-weight: 600;
    line-height: 1;
}

.lp-excelencia__obs {
    font-weight: 400;
    font-size: 1.6rem;
    margin-top: 0.556rem;
    display: block;
}

.lp-excelencia__stat {
    font-size: 2.467rem;
    margin-top: 2.333rem;
    line-height: 1.1;
}

.lp-excelencia__stat--highlight {
    color: var(--color-tertiary);
}

.resultados-laptop,
.resultados-mobile {
    display: none
}

.lp-excelencia__stat-mobile {
    display: none
}

@media (max-width: 1571px) {
    .lp-excelencia__image {
        right: -1.811rem;
    }
}

@media (max-width: 1440px) {
    .resultados-laptop {
        display: block;
        object-fit: cover;
    }

    .resultados-desktop,
    .resultados-mobile {
        display: none;
    }

    .lp-excelencia .lp-excelencia__container {
        max-width: 1270px;
    }

    .lp-excelencia__stat-mobile {
        display: block;
    }

    .lp-excelencia__box {
        padding: 100px clamp(0.889rem, 4vw, 2.667rem);
        grid-template-columns: 256px auto;
        align-items: start;
        gap: 20px;
    }

    .lp-excelencia__image {
        right: 0 !important;
        width: 100%;
        height: 39vw;
        object-fit: contain;
    }

    .lp-excelencia__content {
        display: flex;
        flex-direction: column;
        gap: 0;
        height: 38vw;
        padding-right: 30px;
        max-width: initial;
        position: initial;
        margin-left: -2%;
        padding-top: 40px;
    }

    /* Subtítulo */
    .lp-excelencia__content small {
        font-size: clamp(1.2rem, 0.55vw + 0.8rem, 1.6rem);
        margin-bottom: clamp(0.9rem, 1vw, 1.45rem);
    }

    .lp-excelencia__content p .d-none {
        display: none !important;
    }

    /* Título */
    .lp-excelencia__title {
        font-size: clamp(3.8rem, 2.2vw + 2rem, 5.2rem);
        line-height: 1.05;
    }

    /* Estatísticas */
    .lp-excelencia__stat {
        font-size: clamp(1.45rem, 0.9vw + 0.7rem, 2rem);
        margin-top: clamp(0.9rem, 1vw, 1.125rem);
    }
}


/*
@media (min-width: 1324px) and (max-width: 1440px) {
    .lp-excelencia__image {
        right: 0 !important
    }
    .lp-excelencia__box {
        gap: 12px
    }

    .lp-excelencia__content {
        height: auto
    }  
}*/
/*@media (max-width: 1330px) {
    .lp-excelencia__content {
        padding-top: 21px;
    }
    .lp-excelencia__content small {
        margin-bottom: 9px;
    }
}
@media (max-width: 1216px) {
    .lp-features__item img {
        width: 28px
    }
    .lp-content__badge {
        margin-top: 6px;
        max-width: 19vw
    }
    .lp-content .box-main {
        padding-bottom: 0;
    }
    .lp-features {
        margin-top: 18px
    }
    .lp-content__tagline {
        margin-top: 13px;
    }
    .lp-excelencia__title {
        font-size: 4.6rem;
    }

    .lp-excelencia__stat {
        font-size: 1.77rem;
        margin-top: 18px;
    }

    .lp-excelencia__content small {
        font-size: 1.6rem;
        margin-bottom: 23px;
    }
    
}
@media (max-width: 1098px) {
    .lp-excelencia__stat {
        font-size: 1.7rem;
        margin-left: 0%;
    }
    .lp-excelencia__box {
        gap: 0;
    }
    .lp-excelencia__title {
        font-size: 4.0rem;
    }    
    .lp-excelencia__stat {
        font-size: 1.2rem;
    }    
}
@media (max-width: 1025px) {
    .lp-excelencia__box {
        gap: 29px;
    }
    .lp-excelencia__title {
        font-size: 4.3rem;
    } 
    .lp-excelencia__content small {
        margin-bottom: 3px;
    }   
}*/
/*
@media (min-width: 1024px) and (max-height: 900px) {
    .lp-excelencia__image {
        height: 60vh;
    }

    .lp-excelencia__content {
        height: 58vh;
        margin-left: -3%;
    }

    .lp-excelencia__stat {
        font-size: 1.6rem;
    }
}*/


@media (max-width: 1024px) {
    .lp-excelencia__box {
        display: flex;
        flex-direction: column;
    }

    .lp-excelencia__image {
        right: 0;
        width: 100%;
        height: auto;
    }

    .resultados-desktop,
    .resultados-laptop {
        display: none
    }

    .resultados-mobile {
        display: block
    }

    .lp-excelencia__box {
        gap: 0;
        padding: 38px 30px
    }

    .lp-excelencia__title {
        font-size: 1.875rem;
        text-align: center;
    }

    .lp-excelencia__content p,
    .lp-excelencia__content small {
        text-align: center
    }

    .lp-excelencia__content p {
        font-size: 0.813rem
    }

    .lp-excelencia__title .d-none {
        display: block !important
    }

    .lp-excelencia__content small {
        margin-bottom: 0;
        font-size: 0.688rem
    }

    .box-images {
        /**adding: 35px*/
    }

    .infos p {
        margin: 25px auto 0;
    }

    .infos p:first-child {
        width: 169px;
    }

    .infos p:nth-child(2) {
        width: 260px
    }

    .infos p:nth-child(3) {
        width: 190px
    }

    .infos p:nth-child(4) {
        width: 184px
    }
}


/* ============================================================
   NIVEL
   ============================================================ */
.lp-nivel .lp-nivel__container {
    width: 100%;
    max-width: 1307px;
    margin: 0 auto;
}

.lp-nivel__cards {
    padding-top: 180px;
    display: flex;
    flex-direction: column;
    gap: 150px;
}


.lp-nivel__card {
    display: grid;
    grid-template-columns: auto auto;
    gap: 50px;
    justify-content: space-between;
}

.lp-nivel__title {
    color: var(--color-secondary);
    font-weight: 600;
    font-size: 4.438rem
}

.lp-nivel__description {
    font-size: 1.438rem;
    color: #323232;
    font-weight: 400;
    line-height: 31px;
    margin-top: 15px;
}

.lp-nivel ul {
    display: flex;
    gap: 31px;
    flex-direction: column;
    margin-top: 50px
}

.lp-nivel__list-item {
    font-weight: 600;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.lp-nivel__list-item img {
    width: 28px
}

.lp-nivel__list-item:nth-child(odd) {
    color: var(--color-secondary);
}


.lp-nivel__list-item:nth-child(even) {
    color: var(--color-primary);
}

.card-4 {
    padding-bottom: 30px !important;
}

.lp-nivel .lp-btn {
    display: block;
    background: var(--color-primary);
    color: var(--color-tertiary);
    font-family: var(--font-secondary);
    font-size: 2.188rem;
    font-weight: 600;
    text-decoration: none;
    padding: clamp(0.75rem, 1.2vw, 1.111rem) clamp(1.2rem, 2.8vw, 2.556rem);
    border-radius: 40px;
    line-height: 1;
    text-align: center;
    margin-top: 13px;
    width: 100%
}

.lp-nivel__image {
    width: 100%;
    max-width: 100%;

}

.lp-nivel__content span {
    color: var(--color-primary);
    font-size: clamp(1.5rem, 2.5vw, 3.125rem);
}

.lp-nivel__content span small {
    font-size: clamp(1rem, 1.9vw, 1.75rem);
}

.lp-nivel__card--reverse {
    direction: rtl;
}

.lp-nivel__card--reverse>* {
    direction: ltr;
}

.lp-nivel__image,
.lp-nivel .lp-btn {
    max-width: 463px;
}

.lp-nivel__figure {
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: end;
    width: 442px;
}

.lp-nivel__figure figcaption,
.lp-nivel .lp-btn {
    width: 100%;
}

@media (max-width: 1440px) {
    .lp-nivel .lp-nivel__container {
        padding: 0;
        max-width: 1170px;
        padding: 0 40px;
    }

    .lp-nivel__title {
        font-size: 3.6rem
    }

    .lp-nivel__description,
    .lp-nivel__list-item {
        font-size: 1.8rem;
        line-height: 25px;
    }

    .lp-nivel__content span {
        font-size: 2.438rem;
    }

    .lp-nivel__card {
        gap: 0
    }

    .lp-nivel__card--reverse {
        gap: 50px !important
    }

    .lp-nivel__image,
    .lp-nivel .lp-btn {
        max-width: 419px;
    }

    .lp-nivel ul {
        gap: 15px
    }

    .lp-nivel__figure {
        width: 383px;
    }
}

@media (min-width: 1324px) and (max-width: 1440px) {
    .lp-nivel .lp-excelencia__content {
        height: 777px;
    }
}

/* Tablet */
@media (max-width: 1024px) {

    /* 960px */
    .lp-nivel__card {
        grid-template-columns: auto auto;
        gap: 40px;
        align-items: start;
    }

    .lp-nivel__card--reverse {
        gap: 40px !important
    }

    .lp-nivel__figure {
        max-width: 28rem;
        margin: 0 auto;
    }

    .lp-nivel .lp-nivel__container {
        padding: 0 40px;
    }

    .lp-nivel__content .d-none {
        display: none !important
    }

    .lp-excelencia__content {
        margin-left: 0;
        margin-top: -23px;
        z-index: 1;
        z-index: 4;
        height: auto;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .lp-nivel .lp-nivel__container {
        padding: 0 30px;
    }

    .lp-excelencia__content {
        height: auto;
        margin-top: -15px;
        z-index: 2;
        margin-left: 0;
    }

    .lp-nivel__cards {
        padding-top: 2.5rem;
        gap: 3.5rem;
    }

    .lp-nivel__card {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .lp-nivel__card--reverse {
        direction: ltr;
    }

    .lp-nivel__figure {
        max-width: 100%;
        order: 2;
        padding: 0 40px;
        align-items: center;
    }

    .lp-nivel__figure figcaption {
        width: 100%;
        margin: 8px auto 0;
    }

    .lp-nivel__content {
        order: 1;
    }

    .lp-nivel__title {
        font-size: 2.438rem;
    }

    .lp-nivel__description {
        font-size: 0.875rem;
        line-height: 1.5;
        margin-top: 0.75rem;
    }

    .lp-nivel ul {
        gap: 1.2rem;
        margin-top: 1.5rem;
    }

    .lp-nivel__list-item {
        font-size: 0.875rem;
        line-height: 1.2;
    }

    .lp-nivel {
        padding-bottom: 2rem
    }

    .lp-nivel .lp-btn {
        width: 100%;
        font-size: 1.25rem;
        margin: 10px auto 0;
    }

    .lp-nivel__figure {
        width: 100%;
    }

    .lp-nivel__content span {
        font-size: 1.563rem
    }
}

/* ============================================================
   FOOTER
   ============================================================ */

.lp-footer {
    background: url('../images/banner-footer.jpg') no-repeat center center;
    background-size: cover;
    margin-top: clamp(3rem, 8vw, 6.222rem);
    min-height: clamp(20rem, 40vw, 33.333rem);
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    /* corta aqui, no pai das bolinhas */
}

.lp-footer__bolinhas {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    pointer-events: none;
}

.lp-footer__container {
    width: 100%;
    max-width: clamp(20rem, 70vw, 50.111rem);
    margin: 0 auto;
    padding: 0 clamp(1rem, 4vw, 2rem);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.5rem, 5vw, 4.222rem);
    position: relative;
    z-index: 2;
    /* fica acima das bolinhas */
}

/*
.lp-footer__container::before {
    content: '';
    display: block;
    background: url(../images/bolinhas.svg) no-repeat;
    height: 126px;
    width: 100%;
    position: absolute;
    overflow: hidden;
    z-index: 0;
    left: 0;
    width: 24%;

}*/

.lp-footer__logo {
    width: clamp(8rem, 15vw, 14.833rem);
    height: auto;
    flex-shrink: 0;
}

.lp-footer__content {
    display: flex;
    flex-direction: column;
    gap: clamp(0.75rem, 1.5vw, 1.111rem);
}

.lp-footer__title {
    font-size: clamp(1.5rem, 3vw, 2.29rem);
    color: var(--color-tertiary);
    font-weight: 600;
}

.lp-footer__nav {
    display: flex;
    align-items: center;
    gap: clamp(0.4rem, 0.8vw, 0.611rem);
}

.lp-footer__btn {
    width: clamp(10rem, 18vw, 16.817rem);
    font-size: clamp(1rem, 2.5vw, 2.3rem);
    font-weight: 600;
    background: var(--color-primary);
    color: var(--color-tertiary);
    text-decoration: none;
    padding: 0 0.278rem;
    border-radius: clamp(0.6rem, 1vw, 1.111rem);
    line-height: 1;
    height: clamp(2.8rem, 5vw, 4.219rem);
    display: flex;
    align-items: center;
    justify-content: center;
}


.lp-footer__social img {
    width: clamp(2.5rem, 4.5vw, 4.167rem);
    height: auto;
}



.lp-footer__badge {
    width: clamp(14rem, 28vw, 25rem);
    height: auto;
}

@media (max-width: 1427px) {
    .lp-footer__bolinhas {
        left: -236px
    }
}

@media (max-width:1024px) {
    .lp-footer__bolinhas {
        height: 88px;
        left: -153px
    }
}

@media (max-width: 47.938rem) {
    .lp-footer {
        height: 194px;
        background: url(../images/banner-footer-mobile.jpg) no-repeat center;
        background-size: cover;
        min-height: auto;

    }

    .lp-footer__container {
        padding: 0 30px;
        gap: 15px;
    }

    .lp-footer__logo {
        width: clamp(5rem, 18vw, 8rem);
    }

    .lp-footer__title {
        font-size: 0.938rem
    }

    .lp-footer__btn {
        width: 175.07px;
        font-size: clamp(0.75rem, 3.2vw, 1rem);
        height: clamp(2rem, 8vw, 2.8rem);
    }



    .lp-footer__badge {
        width: 97%
    }

    .lp-footer__content {
        gap: 6px
    }

    .lp-footer__bolinhas {
        height: 64px;
    }
}