:root{--p:#368cdd;--s:#00a7d8;--a:#f4b400;--ink:#11213a;--soft:#f4f8fc}*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink)}a{text-decoration:none}.topbar{background:#062445;color:#dfefff;font-size:.83rem}.topbar a{color:#fff}.navbar{background:rgba(255,255,255,.97);box-shadow:0 8px 30px #0b2c5f12}.navbar-brand img{width:82px;height:54px;object-fit:contain}.navbar-brand span{display:flex;flex-direction:column;line-height:1.05}.navbar-brand b{font-size:1rem;color:var(--p)}.navbar-brand small{font-size:.62rem;color:#667085;margin-top:5px}.nav-link{font-weight:700;color:#28364d!important}.hero{min-height:630px;background:linear-gradient(110deg,#031b36ee,#075aa8bb),var(--hero) center/cover;display:flex;align-items:center;color:#fff;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto -8% -45% auto;width:560px;height:560px;border-radius:50%;background:#ffffff12}.hero h1{font-size:clamp(2.6rem,6vw,5.4rem);font-weight:900;letter-spacing:-.04em;max-width:900px}.hero p{font-size:1.25rem;max-width:760px;color:#e5f1ff}.section-pad{padding:90px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:900;color:var(--s)}.display-title{font-weight:900;letter-spacing:-.035em}.feature-card,.news-card,.dash-card{border:0;border-radius:24px;box-shadow:0 18px 55px #0c315c14;transition:.25s;background:#fff}.feature-card:hover,.news-card:hover{transform:translateY(-6px)}.icon-bubble{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#e8f6ff;color:var(--p);font-size:1.5rem}.bg-soft{background:var(--soft)}.news-card img{height:220px;object-fit:cover;border-radius:24px 24px 0 0}.gallery-img{width:100%;height:270px;object-fit:cover;border-radius:22px}.page-hero{padding:95px 0;background:linear-gradient(135deg,#05294f,var(--p));color:#fff}.content-body{font-size:1.08rem;line-height:1.8}.footer{background:#03182f;color:#cbd9ea}.footer a{display:block;color:#d9e6f5;margin:.5rem 0}.footer-logo {
    width: 110px;
    height: auto;
    object-fit: contain;

    /* Sem retângulo */
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
}.wa{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-size:1.7rem;box-shadow:0 10px 35px #0004;z-index:100}.form-premium{border:0;border-radius:24px;box-shadow:0 20px 60px #0b2c5f14}.notice{border-left:5px solid var(--a)}@media(max-width:768px){.hero{min-height:540px}.section-pad{padding:65px 0}.navbar-brand span{display:none}}

.footer-premium {
    position: relative;
    background:
        radial-gradient(
            circle at top left,
            rgba(255,255,255,.08),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #071f3d 0%,
            #0b3765 55%,
            #0a294d 100%
        );

    color: rgba(255,255,255,.82);

    overflow: hidden;
}


/* detalhe superior */
.footer-premium::before {
    content: "";
    position: absolute;

    top: 0;
    left: 0;
    right: 0;

    height: 4px;

    background: linear-gradient(
        90deg,
        #ffc107,
        #ffdb6d,
        #ffc107
    );
}


/* LOGO */

.footer-logo {
    width: 115px;
    height: auto;

    object-fit: contain;

    border: none !important;
    outline: none !important;
    box-shadow: none !important;

    background: transparent !important;

    padding: 0 !important;

    transition: transform .35s ease;
}


.footer-brand-wrap:hover .footer-logo {
    transform: scale(1.04);
}


/* NOME DA ESCOLA */

.footer-school-name {
    color: #fff;

    font-size: 1.15rem;

    font-weight: 800;

    letter-spacing: .2px;
}


/* TEXTO */

.footer-about {
    color: rgba(255,255,255,.72);

    line-height: 1.7;

    font-size: .95rem;

    max-width: 420px;
}


/* TÍTULOS */

.footer-title {
    position: relative;

    color: #fff;

    font-size: .98rem;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: .7px;

    margin-bottom: 1.4rem;

    padding-bottom: .7rem;
}


.footer-title::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 34px;
    height: 3px;

    border-radius: 50px;

    background: #ffc107;
}


/* LINKS */

.footer-links {
    list-style: none;

    padding: 0;
    margin: 0;
}


.footer-links li {
    margin-bottom: .75rem;
}


.footer-links a {
    display: inline-flex;

    align-items: center;

    gap: 5px;

    color: rgba(255,255,255,.72);

    text-decoration: none;

    font-size: .94rem;

    transition:
        color .25s ease,
        transform .25s ease;
}


.footer-links a i {
    color: #ffc107;

    font-size: .7rem;

    transition: transform .25s ease;
}


.footer-links a:hover {
    color: #fff;

    transform: translateX(5px);
}


.footer-links a:hover i {
    transform: translateX(2px);
}


/* REDES SOCIAIS */

.footer-socials {
    display: flex;

    flex-wrap: wrap;

    gap: 10px;
}


.social-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    color: #fff;

    text-decoration: none;

    background: rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.12);

    backdrop-filter: blur(8px);

    font-size: 1.05rem;

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease,
        box-shadow .3s ease;
}


.social-btn:hover {
    color: #071f3d;

    background: #ffc107;

    transform: translateY(-4px);

    box-shadow:
        0 10px 22px rgba(0,0,0,.24);
}


/* CONTATOS */

.footer-contact-item {
    display: flex;

    gap: 12px;

    margin-bottom: 1.15rem;

    align-items: flex-start;
}


.footer-contact-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    width: 38px;
    height: 38px;

    border-radius: 12px;

    background: rgba(255,193,7,.14);

    color: #ffc107;

    font-size: .95rem;
}


.footer-contact-item small {
    display: block;

    color: rgba(255,255,255,.5);

    font-size: .73rem;

    text-transform: uppercase;

    letter-spacing: .6px;

    margin-bottom: 2px;
}


.footer-contact-item a,
.footer-contact-item span {
    color: rgba(255,255,255,.82);

    text-decoration: none;

    font-size: .93rem;

    line-height: 1.45;
}


.footer-contact-item a:hover {
    color: #ffc107;
}


/* DIVISOR */

.footer-divider {
    height: 1px;

    margin-top: 2.5rem;
    margin-bottom: 1.5rem;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.18),
        transparent
    );
}


/* PARTE INFERIOR */

.footer-bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    flex-wrap: wrap;

    gap: 10px;

    color: rgba(255,255,255,.54);

    font-size: .84rem;
}


.footer-bottom strong {
    color: rgba(255,255,255,.8);
}


.footer-bottom-text {
    text-align: right;
}


/* WHATSAPP FLUTUANTE */

.wa-premium {
    position: fixed;

    right: 22px;
    bottom: 22px;

    z-index: 9999;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    border-radius: 50%;

    background: #25d366;

    color: #fff;

    text-decoration: none;

    font-size: 1.7rem;

    box-shadow:
        0 12px 30px rgba(0,0,0,.28);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.wa-premium:hover {
    color: #fff;

    transform:
        translateY(-5px)
        scale(1.04);

    box-shadow:
        0 16px 38px rgba(0,0,0,.34);
}


/* pulsação */

.wa-premium::before {
    content: "";

    position: absolute;

    inset: -6px;

    border: 2px solid rgba(37,211,102,.42);

    border-radius: 50%;

    animation: waPulse 2s infinite;
}


@keyframes waPulse {

    0% {
        transform: scale(.9);
        opacity: 1;
    }

    100% {
        transform: scale(1.35);
        opacity: 0;
    }

}


/* TOOLTIP WHATSAPP */

.wa-tooltip {
    position: absolute;

    right: 70px;

    white-space: nowrap;

    background: #fff;

    color: #1b2a41;

    padding: 8px 12px;

    border-radius: 10px;

    font-size: .8rem;

    font-weight: 600;

    box-shadow:
        0 8px 20px rgba(0,0,0,.18);

    opacity: 0;

    visibility: hidden;

    transform: translateX(8px);

    transition: .25s ease;
}


.wa-premium:hover .wa-tooltip {
    opacity: 1;

    visibility: visible;

    transform: translateX(0);
}


/* RESPONSIVO */

@media (max-width: 767px) {

    .footer-brand-wrap {
        text-align: left;
    }

    .footer-logo {
        width: 95px;
    }

    .footer-bottom {
        flex-direction: column;

        align-items: flex-start;
    }

    .footer-bottom-text {
        text-align: left;
    }

    .wa-premium {
        width: 54px;
        height: 54px;

        right: 16px;
        bottom: 16px;
    }

}


/* =========================================================
   TOPBAR PREMIUM
========================================================= */

.topbar-premium {
    position: relative;

    background:
        linear-gradient(
            90deg,
            #061a31,
            #0a315b
        );

    color: rgba(255,255,255,.82);

    font-size: .85rem;

    border-bottom:
        1px solid rgba(255,255,255,.08);
}


.topbar-content {
    min-height: 42px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 16px;

    flex-wrap: wrap;
}


.topbar-left,
.topbar-right {
    display: flex;

    align-items: center;

    gap: 18px;
}


.topbar-item {
    display: inline-flex;

    align-items: center;

    gap: 7px;

    color: rgba(255,255,255,.78);

    text-decoration: none;

    transition:
        color .25s ease,
        transform .25s ease;
}


a.topbar-item:hover {
    color: #fff;

    transform: translateY(-1px);
}


.topbar-icon {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    border-radius: 8px;

    background:
        rgba(255,193,7,.12);

    color: #ffc107;

    font-size: .78rem;
}


/* REDES SOCIAIS TOPBAR */

.topbar-socials {
    display: flex;

    gap: 7px;
}


.topbar-socials a {
    width: 27px;
    height: 27px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: rgba(255,255,255,.8);

    background:
        rgba(255,255,255,.06);

    border:
        1px solid rgba(255,255,255,.08);

    text-decoration: none;

    font-size: .78rem;

    transition:
        all .25s ease;
}


.topbar-socials a:hover {
    color: #071f3d;

    background: #ffc107;

    transform: translateY(-2px);
}



/* =========================================================
   NAVBAR PREMIUM
========================================================= */

.navbar-premium {
    position: sticky;

    top: 0;

    z-index: 1030;

    min-height: 86px;

    background:
        rgba(255,255,255,.97);

    backdrop-filter:
        blur(18px);

    border-bottom:
        1px solid rgba(10,49,91,.08);

    box-shadow:
        0 10px 35px rgba(7,31,61,.08);

    transition:
        all .3s ease;
}


/* linha dourada discreta */

.navbar-premium::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,193,7,.55),
            transparent
        );
}



/* =========================================================
   BRAND / LOGO
========================================================= */

.premium-brand {
    display: flex;

    align-items: center;

    gap: 12px;

    text-decoration: none;
}


.brand-logo-wrap {
    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;
}


.brand-logo {
    width: 62px;
    height: 62px;

    object-fit: contain;

    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    background: transparent !important;

    padding: 0 !important;

    transition:
        transform .3s ease;
}


.premium-brand:hover .brand-logo {
    transform:
        scale(1.05);
}


.brand-text {
    display: flex;

    flex-direction: column;

    line-height: 1.15;
}


.brand-text strong {
    color: #072747;

    font-size: 1.03rem;

    font-weight: 800;

    letter-spacing: .1px;
}


.brand-text small {
    margin-top: 4px;

    color: #6a7d90;

    font-size: .72rem;

    font-weight: 500;
}



/* =========================================================
   LINKS MENU
========================================================= */

.premium-nav-link {
    position: relative;

    display: flex;

    align-items: center;

    color: #294056 !important;

    font-weight: 600;

    font-size: .92rem;

    margin: 0 2px;

    padding:
        .7rem .72rem !important;

    transition:
        color .25s ease,
        transform .25s ease;
}


.premium-nav-link::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 4px;

    width: 0;
    height: 2px;

    border-radius: 30px;

    background: #ffc107;

    transform:
        translateX(-50%);

    transition:
        width .28s ease;
}


.premium-nav-link:hover {
    color: #075aa8 !important;

    transform:
        translateY(-1px);
}


.premium-nav-link:hover::after {
    width: 55%;
}


/* ÍCONES */

.premium-nav-link i {
    color: #0b5fa5;

    font-size: .86rem;
}



/* =========================================================
   BOTÃO MATRÍCULA PREMIUM
========================================================= */

.btn-matricula {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    padding:
        9px 18px;

    border-radius: 999px;

    border: 0;

    color: #071f3d;

    background:
        linear-gradient(
            135deg,
            #ffc107,
            #ffdc6e
        );

    font-weight: 800;

    font-size: .9rem;

    box-shadow:
        0 8px 22px rgba(255,193,7,.28);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        filter .3s ease;
}


.btn-matricula:hover {
    color: #071f3d;

    transform:
        translateY(-3px);

    box-shadow:
        0 12px 28px rgba(255,193,7,.38);

    filter:
        brightness(1.04);
}


.btn-matricula-icon {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 31px;
    height: 31px;

    border-radius: 50%;

    background:
        rgba(7,31,61,.1);
}



/* =========================================================
   TOGGLER MOBILE
========================================================= */

.premium-toggler {
    border: 0;

    width: 44px;
    height: 44px;

    border-radius: 12px;

    background:
        #f4f7fa;

    box-shadow: none !important;
}


.premium-toggler:focus {
    box-shadow:
        0 0 0 3px rgba(7,90,168,.15) !important;
}



/* =========================================================
   MENU MOBILE
========================================================= */

@media (max-width: 1199px) {

    .navbar-premium {
        padding:
            8px 0;
    }


    .navbar-collapse {
        margin-top: 10px;

        padding:
            15px;

        border-radius:
            16px;

        background:
            #fff;

        box-shadow:
            0 16px 35px rgba(7,31,61,.10);
    }


    .premium-nav-link {
        padding:
            .75rem 0 !important;

        border-bottom:
            1px solid #edf1f5;
    }


    .premium-nav-link::after {
        display: none;
    }


    .btn-matricula {
        width: 100%;

        justify-content: center;

        margin-top: 12px;
    }

}

.hero-banner {

    height: 620px;
}
.hero-banner-image {

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    display: block;
}



/* =========================================================
   SOBRE / PROPOSTA PREMIUM
========================================================= */

.section-about-premium {

    position: relative;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(7,90,168,.08),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7faff 100%
        );

}


/* detalhe decorativo */

.section-about-premium::before {

    content: "";

    position: absolute;

    width: 380px;
    height: 380px;

    right: -180px;
    top: -180px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255,193,7,.12),
            transparent 70%
        );

    pointer-events: none;

}


/* =========================================================
   EYEBROW
========================================================= */

.eyebrow-premium {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding:
        8px 15px;

    border-radius: 50px;

    background:
        rgba(7,90,168,.08);

    color:
        #075aa8;

    font-size:
        .8rem;

    font-weight:
        800;

    text-transform:
        uppercase;

    letter-spacing:
        .7px;

}


.eyebrow-premium i {

    color:
        #ffc107;

}


/* =========================================================
   TÍTULO
========================================================= */

.about-title {

    max-width: 650px;

    font-size:
        clamp(
            2.4rem,
            5vw,
            4.1rem
        );

    font-weight:
        900;

    line-height:
        1.05;

    letter-spacing:
        -1.5px;

    color:
        #0a2d52;

}


.about-title span {

    position: relative;

    color:
        #075aa8;

}


.about-title span::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: -5px;

    height: 7px;

    border-radius:
        50px;

    background:
        rgba(255,193,7,.45);

    z-index: -1;

}


/* =========================================================
   TEXTOS
========================================================= */

.about-lead {

    margin-top:
        1.6rem;

    max-width:
        650px;

    color:
        #4f6478;

    font-size:
        1.12rem;

    line-height:
        1.75;

    font-weight:
        500;

}


.about-description {

    max-width:
        650px;

    margin-top:
        1rem;

    color:
        #6c7c8b;

    line-height:
        1.75;

}


/* =========================================================
   HIGHLIGHTS
========================================================= */

.about-highlights {

    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 14px;

    margin-top:
        1.8rem;

}


.about-highlight {

    display: flex;

    align-items: center;

    gap: 12px;

    padding:
        14px;

    border-radius:
        15px;

    background:
        rgba(255,255,255,.8);

    border:
        1px solid
        rgba(7,90,168,.08);

    box-shadow:
        0 10px 25px
        rgba(7,31,61,.05);

}


.about-highlight-icon {

    flex-shrink: 0;

    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius:
        13px;

    background:
        linear-gradient(
            135deg,
            #075aa8,
            #1781d4
        );

    color:
        #fff;

}


.about-highlight strong {

    display: block;

    color:
        #143552;

    font-size:
        .92rem;

}


.about-highlight small {

    display: block;

    margin-top:
        2px;

    color:
        #7a8c9d;

    font-size:
        .76rem;

}


/* =========================================================
   BOTÕES
========================================================= */

.about-btn-primary {

    box-shadow:
        0 10px 25px
        rgba(7,90,168,.20);

    transition:
        all .3s ease;

}


.about-btn-primary:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 14px 32px
        rgba(7,90,168,.30);

}


.about-btn-secondary {

    transition:
        all .3s ease;

}


.about-btn-secondary:hover {

    transform:
        translateY(-3px);

}


/* =========================================================
   CARDS WRAPPER
========================================================= */

.about-cards-wrapper {

    position: relative;

    padding:
        20px;

}


/* fundo decorativo */

.about-cards-wrapper::before {

    content: "";

    position: absolute;

    inset: 7% 7% 7% 7%;

    border-radius:
        30px;

    background:
        linear-gradient(
            135deg,
            rgba(7,90,168,.08),
            rgba(255,193,7,.08)
        );

    transform:
        rotate(-3deg);

    z-index:
        0;

}


/* =========================================================
   FEATURE CARD
========================================================= */

.feature-card-premium {

    position: relative;

    z-index: 1;

    min-height:
        255px;

    padding:
        26px;

    overflow:
        hidden;

    border-radius:
        22px;

    background:
        rgba(255,255,255,.92);

    border:
        1px solid
        rgba(7,90,168,.08);

    box-shadow:
        0 15px 38px
        rgba(7,31,61,.08);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}


/* detalhe superior */

.feature-card-premium::before {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    top: 0;

    height:
        4px;

    background:
        linear-gradient(
            90deg,
            #075aa8,
            #ffc107
        );

    opacity:
        0;

    transition:
        opacity .3s ease;

}


.feature-card-premium:hover {

    transform:
        translateY(-8px);

    border-color:
        rgba(7,90,168,.16);

    box-shadow:
        0 20px 45px
        rgba(7,31,61,.14);

}


.feature-card-premium:hover::before {

    opacity:
        1;

}


/* OFFSET */

.feature-card-offset {

    transform:
        translateY(28px);

}


.feature-card-offset:hover {

    transform:
        translateY(20px);

}


/* =========================================================
   NÚMERO
========================================================= */

.feature-card-number {

    position: absolute;

    top:
        18px;

    right:
        18px;

    color:
        rgba(7,90,168,.09);

    font-size:
        2.4rem;

    font-weight:
        900;

    line-height:
        1;

}


/* =========================================================
   ÍCONE
========================================================= */

.feature-icon-premium {

    width:
        58px;

    height:
        58px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    margin-bottom:
        20px;

    border-radius:
        17px;

    background:
        linear-gradient(
            135deg,
            #075aa8,
            #1684d7
        );

    color:
        #fff;

    font-size:
        1.5rem;

    box-shadow:
        0 10px 24px
        rgba(7,90,168,.20);

    transition:
        transform .3s ease;

}


.feature-card-premium:hover
.feature-icon-premium {

    transform:
        rotate(-5deg)
        scale(1.07);

}


/* =========================================================
   TEXTO CARD
========================================================= */

.feature-card-premium h4 {

    position:
        relative;

    z-index:
        2;

    margin-bottom:
        10px;

    color:
        #102f4d;

    font-size:
        1.12rem;

    font-weight:
        800;

}


.feature-card-premium p {

    position:
        relative;

    z-index:
        2;

    margin:
        0;

    color:
        #6b7d8e;

    font-size:
        .92rem;

    line-height:
        1.6;

}


/* =========================================================
   SETA
========================================================= */

.feature-arrow {

    position:
        absolute;

    right:
        20px;

    bottom:
        18px;

    width:
        36px;

    height:
        36px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    color:
        #075aa8;

    background:
        rgba(7,90,168,.08);

    opacity:
        0;

    transform:
        translateY(7px);

    transition:
        all .3s ease;

}


.feature-card-premium:hover
.feature-arrow {

    opacity:
        1;

    transform:
        translateY(0);

}


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

@media
(max-width: 991.98px) {

    .about-cards-wrapper {

        margin-top:
            20px;

    }

}


@media
(max-width: 767.98px) {

    .section-about-premium {

        padding-top:
            70px;

        padding-bottom:
            70px;

    }


    .about-title {

        font-size:
            2.5rem;

    }


    .about-highlights {

        grid-template-columns:
            1fr;

    }


    .about-cards-wrapper {

        padding:
            0;

    }


    .about-cards-wrapper::before {

        display:
            none;

    }


    .feature-card-offset {

        transform:
            none;

    }


    .feature-card-offset:hover {

        transform:
            translateY(-8px);

    }


    .feature-card-premium {

        min-height:
            auto;

    }

}


@media
(max-width: 575.98px) {

    .about-title {

        font-size:
            2.15rem;

        letter-spacing:
            -.6px;

    }


    .about-lead {

        font-size:
            1rem;

    }


    .about-btn-primary,
    .about-btn-secondary {

        width:
            100%;

        display:
            flex;

        align-items:
            center;

        justify-content:
            center;

    }

}

/* =========================================================
   NOTÍCIAS PREMIUM
========================================================= */

.news-premium-section {

    position: relative;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 90% 0%,
            rgba(7,90,168,.07),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #f7faff 0%,
            #ffffff 100%
        );

}


/* =========================================================
   CABEÇALHO
========================================================= */

.news-section-title {

    color: #0b2d50;

    font-size:
        clamp(
            2.2rem,
            4.5vw,
            3.5rem
        );

    font-weight: 900;

    line-height: 1.08;

    letter-spacing: -1px;

}


.news-section-subtitle {

    max-width: 680px;

    color: #6a7c8e;

    font-size: 1.05rem;

    line-height: 1.7;

}


.news-all-btn {

    font-weight: 700;

    transition:
        all .3s ease;

}


.news-all-btn:hover {

    transform: translateY(-3px);

    box-shadow:
        0 10px 26px
        rgba(7,90,168,.18);

}



/* =========================================================
   CARD
========================================================= */

.news-card-premium {

    position: relative;

    overflow: hidden;

    display: flex;

    flex-direction: column;

    border-radius: 24px;

    background: #fff;

    border:
        1px solid
        rgba(7,90,168,.08);

    box-shadow:
        0 14px 40px
        rgba(7,31,61,.08);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}


.news-card-premium:hover {

    transform:
        translateY(-8px);

    box-shadow:
        0 22px 50px
        rgba(7,31,61,.14);

    border-color:
        rgba(7,90,168,.16);

}



/* =========================================================
   IMAGEM
========================================================= */

.news-image-wrap {

    position: relative;

    display: block;

    height: 255px;

    overflow: hidden;

    background:
        #eaf1f7;

}


.news-card-image-premium {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    transition:
        transform .6s
        cubic-bezier(.2,.8,.2,1);

}


.news-card-premium:hover
.news-card-image-premium {

    transform:
        scale(1.07);

}



/* =========================================================
   OVERLAY
========================================================= */

.news-image-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 40%,
            rgba(5,25,50,.45) 100%
        );

    opacity: .75;

}



/* =========================================================
   PLACEHOLDER
========================================================= */

.news-image-placeholder {

    width: 100%;

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    color:
        rgba(7,90,168,.30);

    font-size: 3rem;

    background:
        linear-gradient(
            135deg,
            #edf5fb,
            #dcecf8
        );

}



/* =========================================================
   CATEGORIA
========================================================= */

.news-category {

    position: absolute;

    top: 16px;

    left: 16px;

    z-index: 3;

    padding:
        7px 13px;

    border-radius:
        50px;

    background:
        rgba(255,255,255,.94);

    color:
        #075aa8;

    font-size:
        .72rem;

    font-weight:
        800;

    text-transform:
        uppercase;

    letter-spacing:
        .5px;

    box-shadow:
        0 6px 16px
        rgba(0,0,0,.12);

}



/* =========================================================
   SETA NA IMAGEM
========================================================= */

.news-image-arrow {

    position: absolute;

    right: 16px;

    bottom: 16px;

    z-index: 3;

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        rgba(255,255,255,.92);

    color:
        #075aa8;

    font-size: 1rem;

    opacity: 0;

    transform:
        translateY(8px);

    transition:
        all .3s ease;

}


.news-card-premium:hover
.news-image-arrow {

    opacity: 1;

    transform:
        translateY(0);

}



/* =========================================================
   CONTEÚDO
========================================================= */

.news-card-content {

    flex: 1;

    display: flex;

    flex-direction: column;

    padding: 25px;

}



/* =========================================================
   META
========================================================= */

.news-meta {

    display: flex;

    flex-wrap: wrap;

    gap: 15px;

    margin-bottom: 13px;

    color: #8a99a8;

    font-size: .76rem;

    font-weight: 600;

}


.news-meta span {

    display: inline-flex;

    align-items: center;

    gap: 5px;

}


.news-meta i {

    color: #075aa8;

}



/* =========================================================
   TÍTULO
========================================================= */

.news-card-title {

    margin-bottom:
        12px;

    font-size:
        1.24rem;

    font-weight:
        800;

    line-height:
        1.35;

}


.news-card-title a {

    color:
        #102f4d;

    text-decoration:
        none;

    transition:
        color .25s ease;

}


.news-card-title a:hover {

    color:
        #075aa8;

}



/* =========================================================
   EXCERPT
========================================================= */

.news-card-excerpt {

    margin-bottom:
        22px;

    color:
        #6d7f90;

    font-size:
        .93rem;

    line-height:
        1.65;

    display:
        -webkit-box;

    -webkit-line-clamp:
        3;

    -webkit-box-orient:
        vertical;

    overflow:
        hidden;

}



/* =========================================================
   LER MAIS
========================================================= */

.news-read-more {

    margin-top: auto;

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color:
        #075aa8;

    text-decoration:
        none;

    font-weight:
        800;

    font-size:
        .9rem;

}


.news-read-more span {

    width:
        31px;

    height:
        31px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        rgba(7,90,168,.08);

    transition:
        all .3s ease;

}


.news-read-more:hover span {

    transform:
        translateX(4px);

    background:
        #075aa8;

    color:
        #fff;

}



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

@media
(max-width: 991.98px) {

    .news-image-wrap {

        height:
            235px;

    }

}


@media
(max-width: 767.98px) {

    .news-premium-section {

        padding-top:
            70px;

        padding-bottom:
            70px;

    }


    .news-section-title {

        font-size:
            2.35rem;

    }


    .news-section-subtitle {

        font-size:
            .98rem;

    }


    .news-image-wrap {

        height:
            240px;

    }


    .news-card-content {

        padding:
            22px;

    }


    .news-image-arrow {

        opacity:
            1;

        transform:
            none;

    }

}


/* =========================================================
   GALERIA PREMIUM
========================================================= */

.gallery-premium-section {

    position: relative;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 0% 10%,
            rgba(255,193,7,.08),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f8fbff 100%
        );

}


/* =========================================================
   CABEÇALHO
========================================================= */

.gallery-section-title {

    color: #0b2d50;

    font-size:
        clamp(
            2.2rem,
            4.5vw,
            3.5rem
        );

    font-weight: 900;

    line-height: 1.08;

    letter-spacing: -1px;

}


.gallery-section-subtitle {

    max-width: 700px;

    color: #6c7d8d;

    font-size: 1.05rem;

    line-height: 1.7;

}


.gallery-all-btn {

    font-weight: 700;

    transition:
        all .3s ease;

}


.gallery-all-btn:hover {

    transform: translateY(-3px);

    box-shadow:
        0 10px 26px
        rgba(7,90,168,.18);

}


/* =========================================================
   CARD
========================================================= */

.gallery-card-premium {

    position: relative;

    display: block;

    height: 280px;

    overflow: hidden;

    border-radius: 24px;

    background: #eaf1f7;

    box-shadow:
        0 14px 40px
        rgba(7,31,61,.08);

    border:
        1px solid
        rgba(7,90,168,.06);

    text-decoration: none;

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}


.gallery-card-premium:hover {

    transform:
        translateY(-7px);

    box-shadow:
        0 22px 48px
        rgba(7,31,61,.14);

}


/* CARD PRINCIPAL */

.gallery-card-featured {

    height: 430px;

}


/* =========================================================
   IMAGEM
========================================================= */

.gallery-img-premium {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    transition:
        transform .7s
        cubic-bezier(.2,.8,.2,1);

}


.gallery-card-premium:hover
.gallery-img-premium {

    transform:
        scale(1.07);

}


/* =========================================================
   OVERLAY
========================================================= */

.gallery-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(5,25,50,.02) 25%,
            rgba(5,25,50,.12) 55%,
            rgba(5,25,50,.78) 100%
        );

    transition:
        background .35s ease;

}


.gallery-card-premium:hover
.gallery-overlay {

    background:
        linear-gradient(
            180deg,
            rgba(5,25,50,.04) 20%,
            rgba(5,25,50,.18) 50%,
            rgba(5,25,50,.88) 100%
        );

}


/* =========================================================
   CONTEÚDO
========================================================= */

.gallery-content {

    position: absolute;

    inset: 0;

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    padding: 20px;

    z-index: 2;

}


/* =========================================================
   TÍTULO
========================================================= */

.gallery-label {

    max-width: 75%;

    color: #fff;

    font-size: 1rem;

    font-weight: 800;

    line-height: 1.3;

    text-shadow:
        0 2px 10px
        rgba(0,0,0,.3);

}


/* =========================================================
   ZOOM
========================================================= */

.gallery-zoom {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    background:
        rgba(255,255,255,.92);

    color:
        #075aa8;

    font-size:
        1rem;

    opacity: 0;

    transform:
        translateY(8px);

    transition:
        all .3s ease;

}


.gallery-card-premium:hover
.gallery-zoom {

    opacity: 1;

    transform:
        translateY(0);

}


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

@media
(max-width: 991.98px) {

    .gallery-card-featured {

        height: 360px;

    }


    .gallery-card-premium {

        height: 250px;

    }

}


@media
(max-width: 767.98px) {

    .gallery-premium-section {

        padding-top: 70px;

        padding-bottom: 70px;

    }


    .gallery-section-title {

        font-size: 2.3rem;

    }


    .gallery-section-subtitle {

        font-size: .98rem;

    }


    .gallery-card-featured {

        height: 320px;

    }


    .gallery-card-premium {

        height: 220px;

        border-radius: 18px;

    }


    .gallery-content {

        padding: 15px;

    }


    .gallery-label {

        font-size: .9rem;

    }


    .gallery-zoom {

        width: 36px;

        height: 36px;

        opacity: 1;

        transform: none;

    }

}


@media
(max-width: 480px) {

    .gallery-section-title {

        font-size: 2rem;

    }


    .gallery-card-featured {

        height: 280px;

    }


    .gallery-card-premium {

        height: 190px;

    }


    .gallery-label {

        max-width: 68%;

        font-size: .82rem;

    }

}


/* =========================================================
   MATRÍCULAS PREMIUM
========================================================= */

.enrollment-premium-section {

    position: relative;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f6f9fc 100%
        );

}


/* CAIXA PRINCIPAL */

.enrollment-premium-box {

    position: relative;

    overflow: hidden;

    padding:
        55px;

    border-radius:
        32px;

    color:
        #fff;

    background:
        linear-gradient(
            135deg,
            #072b52 0%,
            #0b4f8c 55%,
            #0c6ab5 100%
        );

    box-shadow:
        0 25px 60px
        rgba(7,31,61,.22);

}


/* detalhe decorativo */

.enrollment-premium-box::before {

    content: "";

    position: absolute;

    width:
        420px;

    height:
        420px;

    right:
        -150px;

    top:
        -180px;

    border-radius:
        50%;

    background:
        radial-gradient(
            circle,
            rgba(255,193,7,.22),
            transparent 68%
        );

    pointer-events:
        none;

}


.enrollment-premium-box::after {

    content: "";

    position: absolute;

    width:
        260px;

    height:
        260px;

    left:
        -130px;

    bottom:
        -150px;

    border-radius:
        50%;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,.10),
            transparent 70%
        );

    pointer-events:
        none;

}


/* EYEBROW */

.enrollment-eyebrow {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    padding:
        8px 15px;

    border-radius:
        50px;

    color:
        #ffe082;

    background:
        rgba(255,255,255,.10);

    border:
        1px solid
        rgba(255,255,255,.12);

    font-size:
        .8rem;

    font-weight:
        800;

    text-transform:
        uppercase;

    letter-spacing:
        .7px;

}


/* TÍTULO */

.enrollment-title {

    max-width:
        720px;

    font-size:
        clamp(
            2.5rem,
            5vw,
            4rem
        );

    font-weight:
        900;

    line-height:
        1.05;

    letter-spacing:
        -1.3px;

    color:
        #fff;

}


/* TEXTO */

.enrollment-text {

    max-width:
        720px;

    margin-top:
        1.4rem;

    color:
        rgba(255,255,255,.82);

    font-size:
        1.1rem;

    line-height:
        1.75;

}


/* BENEFÍCIOS */

.enrollment-benefits {

    display:
        grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:
        14px;

    margin-top:
        2rem;

}


.enrollment-benefit {

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    padding:
        14px;

    border-radius:
        16px;

    background:
        rgba(255,255,255,.08);

    border:
        1px solid
        rgba(255,255,255,.10);

    backdrop-filter:
        blur(8px);

}


.enrollment-benefit-icon {

    flex-shrink:
        0;

    width:
        42px;

    height:
        42px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        13px;

    color:
        #072b52;

    background:
        #ffc107;

}


.enrollment-benefit strong {

    display:
        block;

    color:
        #fff;

    font-size:
        .88rem;

}


.enrollment-benefit small {

    display:
        block;

    margin-top:
        2px;

    color:
        rgba(255,255,255,.65);

    font-size:
        .73rem;

}


/* =========================================================
   CARD CTA
========================================================= */

.enrollment-cta-card {

    position:
        relative;

    z-index:
        2;

    padding:
        32px;

    border-radius:
        24px;

    background:
        rgba(255,255,255,.97);

    color:
        #19334d;

    box-shadow:
        0 20px 45px
        rgba(0,0,0,.18);

}


/* ÍCONE */

.enrollment-cta-icon {

    width:
        58px;

    height:
        58px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    margin-bottom:
        18px;

    border-radius:
        18px;

    color:
        #fff;

    background:
        linear-gradient(
            135deg,
            #075aa8,
            #1590df
        );

    font-size:
        1.5rem;

    box-shadow:
        0 10px 22px
        rgba(7,90,168,.22);

}


.enrollment-cta-card h3 {

    margin-bottom:
        10px;

    color:
        #102f4d;

    font-size:
        1.5rem;

    font-weight:
        900;

}


.enrollment-cta-card p {

    color:
        #6b7f91;

    line-height:
        1.65;

}


/* BOTÃO PRINCIPAL */

.enrollment-main-btn {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    width:
        100%;

    margin-top:
        20px;

    padding:
        14px 18px;

    border:
        0;

    border-radius:
        14px;

    color:
        #072b52;

    background:
        linear-gradient(
            135deg,
            #ffc107,
            #ffdc6e
        );

    font-weight:
        900;

    box-shadow:
        0 10px 26px
        rgba(255,193,7,.28);

    transition:
        transform .3s ease,
        box-shadow .3s ease;

}


.enrollment-main-btn:hover {

    color:
        #072b52;

    transform:
        translateY(-3px);

    box-shadow:
        0 15px 32px
        rgba(255,193,7,.38);

}


.enrollment-main-btn i {

    transition:
        transform .3s ease;

}


.enrollment-main-btn:hover i {

    transform:
        translateX(5px);

}


/* SUPORTE */

.enrollment-support {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        7px;

    margin-top:
        16px;

    color:
        #6c7f8f;

    font-size:
        .78rem;

}


.enrollment-support i {

    color:
        #25d366;

}


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

@media
(max-width: 991.98px) {

    .enrollment-premium-box {

        padding:
            42px;

    }


    .enrollment-benefits {

        grid-template-columns:
            1fr;

    }


    .enrollment-cta-card {

        margin-top:
            10px;

    }

}


@media
(max-width: 767.98px) {

    .enrollment-premium-section {

        padding-top:
            70px;

        padding-bottom:
            70px;

    }


    .enrollment-premium-box {

        padding:
            32px 24px;

        border-radius:
            24px;

    }


    .enrollment-title {

        font-size:
            2.4rem;

    }


    .enrollment-text {

        font-size:
            1rem;

    }


    .enrollment-cta-card {

        padding:
            26px;

    }

}


@media
(max-width: 480px) {

    .enrollment-title {

        font-size:
            2rem;

    }


    .enrollment-main-btn {

        font-size:
            .9rem;

    }

}


@media
(max-width: 480px) {

    .news-section-title {

        font-size:
            2rem;

    }


    .news-image-wrap {

        height:
            215px;

    }


    .news-card-title {

        font-size:
            1.1rem;

    }

}


/* =========================================================
   MOBILE PEQUENO
========================================================= */

@media (max-width: 576px) {

    .topbar-left {
        display: none;
    }


    .topbar-content {
        justify-content: center;

        padding:
            7px 0;
    }


    .topbar-right {
        width: 100%;

        justify-content: space-between;
    }


    .brand-logo {
        width: 52px;
        height: 52px;
    }


    .brand-text strong {
        font-size: .92rem;
    }


    .brand-text small {
        font-size: .64rem;

        max-width: 190px;
    }


    .topbar-socials {
        display: none;
    }

}




@media (max-width: 767px) {

    .hero-banner {

        height: 560px;
    }

    .hero-banner-image {

        object-position: center top;
    }

}