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

html {
    scroll-behavior:smooth;
}

body.mc43-body {

    margin:0;

    color:#0a2949;

    background:#fff;

    font-family:
        "Plus Jakarta Sans",
        Arial,
        sans-serif;

    line-height:1.55;

    overflow-x:hidden;

    -webkit-font-smoothing:
        antialiased;

}

.mc43-body img {
    max-width:100%;
    display:block;
}

.mc43-body a {
    text-decoration:none;
    color:inherit;
}

.mc43-container {

    width:
        min(
            1080px,
            calc(100% - 38px)
        );

    margin-inline:auto;

}

.mc43-section {

    position:relative;

    padding:
        clamp(
            72px,
            9vw,
            120px
        )
        0;

}

.mc43-rays {

    position:absolute;

    inset:-70% -35%;

    pointer-events:none;

    background:
        repeating-conic-gradient(
            from 0deg
            at 50% 50%,
            rgba(255,255,255,.065)
            0deg
            7deg,
            transparent
            7deg
            17deg
        );

    opacity:.82;

}


/* HERO */

.mc43-hero {

    position:relative;

    min-height:100svh;

    overflow:hidden;

    isolation:isolate;

    color:#fff;

    background:
        linear-gradient(
            145deg,
            var(--mc43-secondary),
            var(--mc43-primary) 48%,
            #031b36
        );

}

.mc43-hero::after {

    content:"";

    position:absolute;

    inset:0;

    z-index:-3;

    background:
        linear-gradient(
            90deg,
            rgba(2,25,50,.65),
            rgba(2,25,50,.18)
        );

    background-size:cover;

    background-position:center;

}

.mc43-hero .mc43-rays {
    z-index:-2;
}

.mc43-ghost {

    position:absolute;

    right:-6%;

    bottom:-8%;

    z-index:-1;

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

    font-family:
        "Anton",
        Impact,
        sans-serif;

    font-size:
        min(
            47vw,
            680px
        );

    line-height:.8;

    user-select:none;

}

.mc43-topbar {

    min-height:92px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

}

.mc43-brand img {

    max-width:215px;

    max-height:56px;

    object-fit:contain;

}

.mc43-brand strong {

    font-family:
        "Anton",
        Impact,
        sans-serif;

    font-size:1.25rem;

    font-weight:400;

    text-transform:uppercase;

}

.mc43-short {

    padding:
        5px
        13px;

    border-radius:10px;

    color:
        var(--mc43-primary);

    background:#fff;

    font-family:
        "Anton",
        Impact,
        sans-serif;

    font-size:1.05rem;

}

.mc43-hero-copy {

    min-height:
        calc(
            100svh - 92px
        );

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:flex-start;

    padding:
        24px
        0
        90px;

}

.mc43-badge {

    display:inline-flex;

    padding:
        9px
        16px;

    border-radius:999px;

    color:
        var(--mc43-primary);

    background:
        var(--mc43-accent);

    box-shadow:
        0
        10px
        26px
        rgba(0,0,0,.15);

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.16em;

    text-transform:uppercase;

}

.mc43-hero h1 {

    max-width:930px;

    margin:
        .25em
        0
        .12em;

    color:#fff;

    font-family:
        "Anton",
        Impact,
        sans-serif;

    font-size:
        clamp(
            3.5rem,
            9.5vw,
            6.4rem
        );

    font-weight:400;

    letter-spacing:.004em;

    line-height:.91;

    text-transform:uppercase;

}

.mc43-hero h1 span {
    color:var(--mc43-accent);
}

.mc43-hero-copy > p {

    max-width:46ch;

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

    font-size:
        clamp(
            1rem,
            2.4vw,
            1.30rem
        );

}

.mc43-buttons {

    display:flex;

    flex-wrap:wrap;

    gap:14px;

    margin-top:30px;

}

.mc43-btn {

    min-height:58px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:
        15px
        25px;

    border-radius:14px;

    font-size:.96rem;

    font-weight:800;

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

}

.mc43-btn:hover {
    transform:translateY(-3px);
}

.mc43-btn svg {

    width:19px;

    height:19px;

}

.mc43-btn-accent {

    color:#fff;

    background:
        var(--mc43-accent);

    box-shadow:
        0
        14px
        30px
        rgba(0,0,0,.18);

}

.mc43-btn-outline {

    color:#fff;

    border:
        1.5px solid
        rgba(255,255,255,.45);

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

    backdrop-filter:
        blur(7px);

}

.mc43-signature {

    display:flex;

    align-items:center;

    gap:15px;

    margin-top:35px;

}

.mc43-signature strong {

    color:#fff;

    font-family:
        "Anton",
        Impact,
        sans-serif;

    font-size:2.6rem;

    font-weight:400;

}

.mc43-signature span {

    padding-left:14px;

    border-left:
        3px solid
        var(--mc43-accent);

    color:
        var(--mc43-secondary);

    font-size:.76rem;

    font-weight:800;

    letter-spacing:.10em;

    text-transform:uppercase;

}

.mc43-down {

    position:absolute;

    left:50%;

    bottom:18px;

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:4px;

    transform:
        translateX(-50%);

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

    font-size:.65rem;

    letter-spacing:.17em;

    text-transform:uppercase;

}


/* TÍTULOS */

.mc43-eyebrow {

    color:
        var(--mc43-secondary);

    font-size:.72rem;

    font-weight:800;

    letter-spacing:.23em;

    text-align:center;

    text-transform:uppercase;

}

.mc43-display {

    margin:
        .15em
        0
        .28em;

    color:
        var(--mc43-primary);

    font-family:
        "Anton",
        Impact,
        sans-serif;

    font-size:
        clamp(
            2.3rem,
            5.5vw,
            3.7rem
        );

    font-weight:400;

    line-height:1;

    text-align:center;

    text-transform:uppercase;

}

.mc43-display span {
    color:var(--mc43-secondary);
}

.mc43-lead {

    max-width:68ch;

    margin-inline:auto;

    color:#354d69;

    font-size:
        clamp(
            1rem,
            2vw,
            1.17rem
        );

    text-align:center;

}


/* INTRO */

.mc43-intro {

    background:
        linear-gradient(
            180deg,
            #fff,
            #f1f7fd
        );

}

.mc43-steps {

    display:grid;

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

    gap:20px;

    margin-top:48px;

}

.mc43-steps article {

    padding:
        27px
        23px;

    border:
        1px solid
        #dbe8f2;

    border-radius:20px;

    background:#fff;

    box-shadow:
        0
        15px
        34px
        rgba(6,46,87,.055);

}

.mc43-step-number {

    color:
        var(--mc43-secondary);

    font-family:
        "Anton",
        Impact,
        sans-serif;

    font-size:2.7rem;

    line-height:1;

    opacity:.33;

}

.mc43-steps h3 {

    margin:
        7px
        0
        6px;

    color:
        var(--mc43-primary);

    font-size:1.12rem;

}

.mc43-steps p {

    color:#5d6d82;

    font-size:.94rem;

}


/* SLIDES */

.mc43-slides-section {

    padding:
        52px
        0;

    background:#fff;

}

.mc43-slides {

    display:flex;

    gap:18px;

    overflow-x:auto;

    padding-bottom:15px;

    scroll-snap-type:x mandatory;

}

.mc43-slide {

    position:relative;

    min-width:
        min(
            78vw,
            700px
        );

    aspect-ratio:
        16 / 7;

    overflow:hidden;

    border-radius:22px;

    background:
        var(--mc43-primary);

    scroll-snap-align:center;

}

.mc43-slide img {

    width:100%;

    height:100%;

    object-fit:cover;

}

.mc43-slide-copy {

    position:absolute;

    inset:auto 0 0;

    padding:
        55px
        24px
        22px;

    color:#fff;

    background:
        linear-gradient(
            transparent,
            rgba(3,22,42,.92)
        );

}


/* EDITOR */

.mc43-tool {

    overflow:hidden;

    isolation:isolate;

    color:#fff;

    background:
        linear-gradient(
            145deg,
            var(--mc43-secondary),
            var(--mc43-primary) 47%,
            #031b35
        );

}

.mc43-tool .mc43-rays {
    z-index:-1;
}

.mc43-tool .mc43-eyebrow {
    color:#5edbf3;
}

.mc43-tool .mc43-display {
    color:#fff;
}

.mc43-tool .mc43-display span {
    color:var(--mc43-accent);
}

.mc43-tool-text {

    max-width:58ch;

    margin:
        0
        auto
        36px;

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

    text-align:center;

}

.mc43-editor-card {

    width:
        min(
            650px,
            100%
        );

    margin-inline:auto;

    padding:12px;

    overflow:hidden;

    border-radius:27px;

    background:#fff;

    box-shadow:
        0
        38px
        80px
        rgba(0,0,0,.32);

}

.mc43-editor-card iframe {

    width:100%;

    min-height:640px;

    display:block;

    border:0;

    border-radius:18px;

    background:#fff;

}

.mc43-no-frame {

    width:
        min(
            540px,
            100%
        );

    margin-inline:auto;

    padding:
        46px
        32px;

    border-radius:24px;

    color:#0a2949;

    background:#fff;

    text-align:center;

}

.mc43-no-frame-icon {

    width:65px;

    height:65px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:
        0
        auto
        16px;

    border-radius:18px;

    color:
        var(--mc43-secondary);

    background:#e9f8fb;

}

.mc43-no-frame-icon svg {

    width:32px;

    height:32px;

}


/* CARDS */

.mc43-causes {
    background:#fff;
}

.mc43-card-grid {

    display:grid;

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

    gap:20px;

    margin-top:46px;

}

.mc43-cause-card {

    padding:
        29px
        27px;

    border:
        1px solid
        #dfeaf3;

    border-radius:20px;

    background:
        linear-gradient(
            180deg,
            #f7fbff,
            #edf5fc
        );

}

.mc43-card-icon {

    width:55px;

    height:55px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:17px;

    border-radius:15px;

    color:#fff;

    background:
        var(--mc43-secondary);

    box-shadow:
        0
        10px
        24px
        rgba(0,150,190,.16);

}

.mc43-card-icon svg {

    width:28px;

    height:28px;

}

.mc43-cause-card h3 {

    margin-bottom:6px;

    color:
        var(--mc43-primary);

    font-size:1.15rem;

}

.mc43-cause-card p {

    color:#52617a;

    font-size:.95rem;

}


/* FINAL */

.mc43-final {

    overflow:hidden;

    isolation:isolate;

    color:#fff;

    text-align:center;

    background:
        linear-gradient(
            145deg,
            var(--mc43-secondary),
            var(--mc43-primary) 48%,
            #031a32
        );

}

.mc43-final .mc43-rays {
    z-index:-1;
}

.mc43-final h2 {

    font-family:
        "Anton",
        Impact,
        sans-serif;

    font-size:
        clamp(
            2.6rem,
            6vw,
            4.3rem
        );

    font-weight:400;

    line-height:.95;

    text-transform:uppercase;

}

.mc43-final h2 span {
    color:var(--mc43-accent);
}

.mc43-final > .mc43-container > p {

    max-width:56ch;

    margin:
        20px
        auto
        0;

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

}

.mc43-final-buttons {
    justify-content:center;
}

.mc43-hashtags {

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:
        9px
        17px;

    margin-top:32px;

    color:
        var(--mc43-accent);

    font-weight:800;

}


/* FOOTER */

.mc43-footer {

    padding:
        35px
        20px;

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

    background:#041a32;

    text-align:center;

}

.mc43-footer strong {

    color:#fff;

    font-family:
        "Anton",
        Impact,
        sans-serif;

    font-size:1rem;

    font-weight:400;

    letter-spacing:.04em;

    text-transform:uppercase;

}

.mc43-footer p {

    max-width:67ch;

    margin:
        9px
        auto
        0;

    font-size:.76rem;

}


/* MOBILE */

@media(max-width:760px) {

    .mc43-steps,
    .mc43-card-grid {

        grid-template-columns:1fr;

    }

    .mc43-hero h1 {

        font-size:
            clamp(
                3rem,
                16vw,
                5rem
            );

    }

    .mc43-buttons {

        width:100%;

        flex-direction:column;

    }

    .mc43-btn {

        width:100%;

    }

    .mc43-brand img {

        max-width:160px;

    }

    .mc43-hero-copy {

        min-height:
            calc(
                100svh - 92px
            );

    }

    .mc43-editor-card {

        padding:8px;

        border-radius:21px;

    }

}









/* MC46 CANDIDATE START */


/* =========================================================
   HERO COM CANDIDATO
   ========================================================= */


.mc46-hero-grid {

    position:relative;

    min-height:
        calc(
            100svh - 92px
        );

    display:grid;

    grid-template-columns:
        minmax(
            0,
            1.05fr
        )
        minmax(
            320px,
            .95fr
        );

    align-items:center;

    gap:35px;

}


.mc46-hero-grid
.mc43-hero-copy {

    min-height:0;

    padding:
        40px
        0
        90px;

}


.mc46-candidate-meta {

    margin-bottom:13px;

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

    font-size:.76rem;

    font-weight:700;

    letter-spacing:.13em;

    text-transform:uppercase;

}


.mc46-candidate-name {

    margin-top:20px;

    color:#fff;

    font-family:
        "Plus Jakarta Sans",
        Arial,
        sans-serif;

    font-size:
        clamp(
            1.25rem,
            2.7vw,
            1.8rem
        );

    font-weight:800;

    letter-spacing:-.02em;

}


.mc46-candidate-photo {

    position:relative;

    align-self:end;

    height:
        min(
            79vh,
            760px
        );

    display:flex;

    align-items:flex-end;

    justify-content:center;

    z-index:2;

}


.mc46-candidate-photo::after {

    content:"";

    position:absolute;

    left:50%;

    bottom:7%;

    width:70%;

    height:24%;

    transform:
        translateX(-50%);

    border-radius:50%;

    background:
        rgba(
            0,
            0,
            0,
            .22
        );

    filter:
        blur(35px);

    z-index:-1;

}


.mc46-candidate-photo img {

    width:100%;

    height:100%;

    object-fit:contain;

    object-position:
        center bottom;

    filter:
        drop-shadow(
            0
            28px
            28px
            rgba(
                0,
                0,
                0,
                .23
            )
        );

}


.mc46-layout-candidate-left
.mc46-hero-grid {

    grid-template-columns:
        minmax(
            320px,
            .95fr
        )
        minmax(
            0,
            1.05fr
        );

}


.mc46-layout-candidate-left
.mc43-hero-copy {

    grid-column:2;

    grid-row:1;

}


.mc46-layout-candidate-left
.mc46-candidate-photo {

    grid-column:1;

    grid-row:1;

}


.mc46-layout-centered
.mc46-hero-grid {

    grid-template-columns:1fr;

    text-align:center;

}


.mc46-layout-centered
.mc43-hero-copy {

    align-items:center;

    max-width:850px;

    margin-inline:auto;

}


.mc46-layout-centered
.mc43-hero-copy > p {

    margin-inline:auto;

}


.mc46-layout-centered
.mc43-buttons {

    justify-content:center;

}


.mc46-layout-centered
.mc43-signature {

    justify-content:center;

}


.mc46-layout-centered
.mc46-candidate-photo {

    width:
        min(
            520px,
            90%
        );

    height:520px;

    margin:
        -100px
        auto
        0;

}


/* =========================================================
   SOCIAL
   ========================================================= */


.mc46-social {

    display:flex;

    flex-wrap:wrap;

    gap:8px;

    margin-top:22px;

}


.mc46-social a {

    padding:
        7px
        11px;

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

    border-radius:999px;

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

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

    font-size:.72rem;

    font-weight:700;

}


.mc46-social a:hover {

    color:#fff;

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

}


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


.mc46-footer-number {

    margin-top:7px;

    color:
        var(--mc43-accent);

    font-family:
        "Anton",
        Impact,
        sans-serif;

    font-size:1.4rem;

}


.mc46-legal {

    max-width:760px;

    display:block;

    margin:
        12px
        auto
        0;

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

    font-size:.66rem;

}


/* =========================================================
   SEM FOTO
   ========================================================= */


.mc46-no-photo
.mc46-hero-grid {

    grid-template-columns:1fr;

}


.mc46-no-photo
.mc43-hero-copy {

    max-width:880px;

}


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


@media(max-width:850px) {

    .mc46-hero-grid,
    .mc46-layout-candidate-left
    .mc46-hero-grid {

        grid-template-columns:1fr;

        gap:0;

    }


    .mc46-layout-candidate-left
    .mc43-hero-copy,
    .mc46-layout-candidate-left
    .mc46-candidate-photo {

        grid-column:auto;
        grid-row:auto;

    }


    .mc46-hero-grid
    .mc43-hero-copy {

        padding:
            45px
            0
            30px;

    }


    .mc46-candidate-photo {

        width:
            min(
                500px,
                100%
            );

        height:
            min(
                55vh,
                560px
            );

        margin-inline:auto;

    }


    .mc46-layout-candidate-left
    .mc46-candidate-photo {

        order:2;

    }


    .mc46-layout-centered
    .mc46-candidate-photo {

        width:
            min(
                440px,
                100%
            );

        height:450px;

        margin:
            -35px
            auto
            0;

    }

}


/* MC46 CANDIDATE END */


/* MC48 PUBLIC EDITOR START */


/*
|--------------------------------------------------------------------------
| ÁREA "MONTE SUA FOTO" MAIS LARGA
|--------------------------------------------------------------------------
*/


.mc43-tool
.mc43-container {

    width:
        min(
            1320px,
            calc(
                100% - 36px
            )
        ) !important;

    max-width:1320px !important;

}


.mc43-tool-text {

    max-width:760px !important;

    margin-left:auto !important;
    margin-right:auto !important;

}


/*
|--------------------------------------------------------------------------
| CARD DO EDITOR
|--------------------------------------------------------------------------
*/


.mc43-tool
.mc43-editor-card {

    width:
        min(
            1180px,
            100%
        ) !important;

    max-width:1180px !important;

    margin:
        34px
        auto
        0 !important;

    padding:0 !important;

    overflow:hidden !important;

    border-radius:22px !important;

    box-sizing:border-box;

}


.mc43-tool
.mc43-editor-card
iframe {

    width:100% !important;

    min-height:720px;

    display:block;

    margin:0;

    padding:0;

    overflow:hidden !important;

    border:0;

    background:#fff;

}


/*
|--------------------------------------------------------------------------
| DESKTOP GRANDE
|--------------------------------------------------------------------------
*/


@media(min-width:1280px) {

    .mc43-tool
    .mc43-editor-card {

        max-width:1220px !important;

    }

}


/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/


@media(max-width:760px) {

    .mc43-tool
    .mc43-container {

        width:
            calc(
                100% - 20px
            ) !important;

    }


    .mc43-tool
    .mc43-editor-card {

        width:100% !important;

        margin-top:22px !important;

        border-radius:15px !important;

    }


    .mc43-tool
    .mc43-editor-card
    iframe {

        min-height:620px;

    }

}


/* MC48 PUBLIC EDITOR END */



/* MC481 SCROLL FIX START */

.mc43-tool,
.mc43-tool .mc43-container,
.mc43-tool .mc43-editor-card,
.mc43-tool .mc43-editor-card iframe {

    overflow-anchor:none !important;

}


.mc43-tool .mc43-editor-card iframe {

    overflow:hidden !important;

}

/* MC481 SCROLL FIX END */



/* MC50 HERO PHOTO START */


/*
|--------------------------------------------------------------------------
| HERO COM MAIS PRESENÇA
|--------------------------------------------------------------------------
*/


.mc46-public
.mc43-hero {

    min-height:
        clamp(
            660px,
            84svh,
            900px
        );

    overflow:hidden;

}


.mc46-public
.mc46-hero-grid {

    width:
        min(
            1320px,
            calc(
                100% - 36px
            )
        );

    max-width:1320px;

    margin-left:auto;
    margin-right:auto;

    min-height:
        clamp(
            580px,
            76svh,
            820px
        );

    align-items:end;

    gap:
        clamp(
            22px,
            4vw,
            70px
        );

}


/*
|--------------------------------------------------------------------------
| FOTO DO CANDIDATO
|--------------------------------------------------------------------------
*/


.mc46-public
.mc50-candidate-photo-img {

    display:block !important;

    width:
        min(
            650px,
            48vw
        ) !important;

    max-width:none !important;

    height:auto !important;

    max-height:
        min(
            790px,
            78svh
        );

    object-fit:contain;

    object-position:
        center
        bottom;

    margin:
        auto
        auto
        -2px;

    position:relative;

    z-index:3;

}


/*
|--------------------------------------------------------------------------
| EVITAR QUE COLUNAS APERTEM A FOTO
|--------------------------------------------------------------------------
*/


.mc46-public
.mc46-hero-grid
> * {

    min-width:0;

}


/*
|--------------------------------------------------------------------------
| LAYOUTS LATERAIS
|--------------------------------------------------------------------------
*/


.mc46-public
[class*="candidate-right"]
.mc50-candidate-photo-img {

    margin-left:auto;
    margin-right:0;

}


.mc46-public
[class*="candidate-left"]
.mc50-candidate-photo-img {

    margin-left:0;
    margin-right:auto;

}


/*
|--------------------------------------------------------------------------
| DESKTOP GRANDE
|--------------------------------------------------------------------------
*/


@media(min-width:1200px) {

    .mc46-public
    .mc46-hero-grid {

        grid-template-columns:
            minmax(
                0,
                .88fr
            )
            minmax(
                430px,
                1.12fr
            );

    }


    .mc46-public
    .mc50-candidate-photo-img {

        width:
            min(
                690px,
                50vw
            ) !important;

        max-height:810px;

    }

}


/*
|--------------------------------------------------------------------------
| NOTEBOOK
|--------------------------------------------------------------------------
*/


@media(
    min-width:761px
)
and
(
    max-width:1199px
) {

    .mc46-public
    .mc50-candidate-photo-img {

        width:
            min(
                560px,
                47vw
            ) !important;

        max-height:680px;

    }

}


/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/


@media(max-width:760px) {

    .mc46-public
    .mc43-hero {

        min-height:auto;

    }


    .mc46-public
    .mc46-hero-grid {

        width:
            calc(
                100% - 20px
            );

        min-height:0;

        grid-template-columns:
            minmax(
                0,
                1fr
            );

        gap:18px;

        align-items:end;

    }


    .mc46-public
    .mc50-candidate-photo-img {

        width:
            min(
                94vw,
                500px
            ) !important;

        max-width:94vw !important;

        max-height:560px;

        margin:
            4px
            auto
            -1px !important;

        object-position:
            center
            bottom;

    }

}


/*
|--------------------------------------------------------------------------
| CELULARES MENORES
|--------------------------------------------------------------------------
*/


@media(max-width:430px) {

    .mc46-public
    .mc50-candidate-photo-img {

        width:
            min(
                96vw,
                460px
            ) !important;

        max-width:96vw !important;

        max-height:520px;

    }

}


/* MC50 HERO PHOTO END */



/* MC511 HERO START */


/* ==========================================================
   HERO GERAL
   ========================================================== */


.mc46-public .mc43-hero {

    min-height:720px !important;

    overflow:hidden !important;

}


/* ==========================================================
   GRID

   62% TEXTO
   38% FOTO
   ========================================================== */


.mc46-public .mc46-hero-grid {

    width:
        min(
            1380px,
            calc(100% - 64px)
        ) !important;

    max-width:1380px !important;

    min-height:640px !important;

    margin-left:auto !important;
    margin-right:auto !important;

    display:grid !important;

    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(380px, .95fr) !important;

    column-gap:
        clamp(
            42px,
            4vw,
            76px
        ) !important;

    align-items:center !important;

}


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


.mc46-public
.mc46-hero-grid
> .mc43-hero-copy {

    width:100% !important;

    max-width:none !important;

    min-width:0 !important;

    margin:0 !important;

    padding:28px 0 34px !important;

    align-self:center !important;

}


/*
   Remove limites antigos que estavam espremendo
   a coluna textual.
*/


.mc46-public
.mc43-hero-copy {

    width:100% !important;

    max-width:820px !important;

}


/* ==========================================================
   SLOGAN PRINCIPAL
   ========================================================== */


.mc46-public
.mc43-hero-copy
h1 {

    width:100% !important;

    max-width:820px !important;

    font-size:
        clamp(
            52px,
            4.15vw,
            78px
        ) !important;

    line-height:.91 !important;

    letter-spacing:-.018em !important;

    margin-top:20px !important;
    margin-bottom:22px !important;

    word-break:normal !important;

    overflow-wrap:normal !important;

    text-wrap:balance;

}


/*
   Caso o título use spans para branco/laranja.
*/


.mc46-public
.mc43-hero-copy
h1 span {

    font-size:inherit !important;

    line-height:inherit !important;

}


/* ==========================================================
   NOME DO CANDIDATO
   ========================================================== */


.mc46-public
.mc43-hero-copy
h2,

.mc46-public
.mc43-hero-copy
h3 {

    width:100% !important;

    max-width:780px !important;

    line-height:1.08 !important;

}


/* ==========================================================
   TEXTO DESCRITIVO
   ========================================================== */


.mc46-public
.mc43-hero-copy
p {

    width:100% !important;

    max-width:720px !important;

    font-size:
        clamp(
            17px,
            1.12vw,
            20px
        ) !important;

    line-height:1.55 !important;

}


/* ==========================================================
   COLUNA DA FOTO

   O :has localiza exatamente o filho do grid que
   contém a imagem V50.
   ========================================================== */


.mc46-public
.mc46-hero-grid
> *:has(.mc50-candidate-photo-img) {

    min-width:0 !important;

    height:100% !important;

    display:flex !important;

    align-items:flex-end !important;

    justify-content:center !important;

    align-self:stretch !important;

    overflow:visible !important;

}


/* ==========================================================
   FOTO
   ========================================================== */


.mc46-public
.mc50-candidate-photo-img {

    display:block !important;

    width:
        min(
            520px,
            35vw
        ) !important;

    max-width:520px !important;

    height:auto !important;

    max-height:630px !important;

    margin:
        0
        auto
        -2px !important;

    object-fit:contain !important;

    object-position:
        center
        bottom !important;

    align-self:flex-end !important;

}


/* ==========================================================
   CANDIDATO À DIREITA
   ========================================================== */


.mc46-public
[class*="candidate-right"]
.mc43-hero-copy {

    order:1;

}


.mc46-public
[class*="candidate-right"]
.mc46-hero-grid
> *:has(.mc50-candidate-photo-img) {

    order:2;

}


/* ==========================================================
   CANDIDATO À ESQUERDA
   ========================================================== */


.mc46-public
[class*="candidate-left"]
.mc43-hero-copy {

    order:2;

}


.mc46-public
[class*="candidate-left"]
.mc46-hero-grid
> *:has(.mc50-candidate-photo-img) {

    order:1;

}


/* ==========================================================
   TELAS GRANDES
   ========================================================== */


@media(min-width:1500px) {

    .mc46-public
    .mc46-hero-grid {

        width:min(
            1420px,
            calc(100% - 80px)
        ) !important;

        max-width:1420px !important;

        grid-template-columns:
            minmax(0, 1.62fr)
            minmax(400px, .88fr) !important;

    }


    .mc46-public
    .mc43-hero-copy {

        max-width:850px !important;

    }


    .mc46-public
    .mc43-hero-copy
    h1 {

        max-width:850px !important;

        font-size:
            clamp(
                58px,
                4vw,
                80px
            ) !important;

    }


    .mc46-public
    .mc50-candidate-photo-img {

        width:
            min(
                540px,
                33vw
            ) !important;

        max-width:540px !important;

        max-height:650px !important;

    }

}


/* ==========================================================
   NOTEBOOK
   ========================================================== */


@media(
    min-width:900px
)
and
(
    max-width:1199px
) {

    .mc46-public
    .mc46-hero-grid {

        width:
            calc(100% - 36px)
            !important;

        grid-template-columns:
            minmax(0, 1.35fr)
            minmax(330px, .85fr)
            !important;

        gap:34px !important;

    }


    .mc46-public
    .mc43-hero-copy
    h1 {

        font-size:
            clamp(
                48px,
                5.3vw,
                65px
            ) !important;

    }


    .mc46-public
    .mc50-candidate-photo-img {

        width:
            min(
                440px,
                36vw
            ) !important;

        max-width:440px !important;

    }

}


/* ==========================================================
   TABLET
   ========================================================== */


@media(
    min-width:761px
)
and
(
    max-width:899px
) {

    .mc46-public
    .mc46-hero-grid {

        width:
            calc(100% - 28px)
            !important;

        grid-template-columns:
            minmax(0, 1.15fr)
            minmax(285px, .85fr)
            !important;

        gap:24px !important;

    }


    .mc46-public
    .mc43-hero-copy
    h1 {

        font-size:
            clamp(
                42px,
                5.8vw,
                56px
            ) !important;

    }


    .mc46-public
    .mc50-candidate-photo-img {

        width:330px !important;

        max-width:100% !important;

    }

}


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


@media(max-width:760px) {

    .mc46-public
    .mc43-hero {

        min-height:auto !important;

    }


    .mc46-public
    .mc46-hero-grid {

        width:
            calc(100% - 24px)
            !important;

        min-height:0 !important;

        display:flex !important;

        flex-direction:column !important;

        gap:18px !important;

        align-items:stretch !important;

    }


    .mc46-public
    .mc43-hero-copy {

        max-width:100% !important;

        padding:
            20px
            0
            0
            !important;

    }


    .mc46-public
    .mc43-hero-copy
    h1 {

        width:100% !important;

        max-width:100% !important;

        font-size:
            clamp(
                44px,
                12.5vw,
                64px
            ) !important;

        line-height:.91 !important;

        text-wrap:balance;

    }


    .mc46-public
    .mc43-hero-copy
    p {

        max-width:100% !important;

        font-size:16px !important;

    }


    .mc46-public
    .mc46-hero-grid
    > *:has(.mc50-candidate-photo-img) {

        width:100% !important;

        height:auto !important;

        min-height:0 !important;

        display:flex !important;

        justify-content:center !important;

        order:3 !important;

    }


    .mc46-public
    .mc50-candidate-photo-img {

        width:
            min(
                460px,
                94vw
            ) !important;

        max-width:94vw !important;

        max-height:520px !important;

        margin:
            0
            auto
            -1px
            !important;

    }

}


/* MC511 HERO END */



/* MC61 FRONT POLISH START */


/* ==========================================================
   PADRÃO DAS SEÇÕES ABAIXO DO HERO
   ========================================================== */


.mc46-public
.mc43-section:not(.mc43-hero) {

    position:relative;

}


.mc46-public
.mc43-section
.mc43-container {

    width:
        min(
            1180px,
            calc(100% - 40px)
        );

    max-width:1180px;

    margin-left:auto;
    margin-right:auto;

}


/* ==========================================================
   INTRODUÇÃO
   "CADA FOTO É UM RECADO"
   ========================================================== */


.mc46-public
.mc43-intro {

    padding:
        clamp(72px, 8vw, 110px)
        0
        clamp(70px, 7vw, 96px)
        !important;

    background:#f7f9fb;

}


.mc46-public
.mc43-intro
.mc43-eyebrow {

    margin-bottom:14px;

    font-size:12px;

    letter-spacing:.15em;

}


.mc46-public
.mc43-intro
.mc43-display {

    max-width:820px;

    margin:
        0
        auto;

    text-align:center;

    font-size:
        clamp(
            42px,
            5vw,
            72px
        ) !important;

    line-height:.94 !important;

    text-wrap:balance;

}


.mc46-public
.mc43-intro
.mc43-lead {

    max-width:720px !important;

    margin:
        24px
        auto
        0 !important;

    text-align:center;

    font-size:
        clamp(
            17px,
            1.4vw,
            20px
        ) !important;

    line-height:1.6 !important;

}


/* ==========================================================
   3 PASSOS
   ========================================================== */


.mc46-public
.mc43-steps {

    display:grid !important;

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

    gap:18px !important;

    margin-top:
        clamp(
            42px,
            5vw,
            64px
        ) !important;

}


.mc46-public
.mc43-steps
> * {

    min-width:0;

    padding:
        30px
        28px !important;

    background:#fff;

    border:
        1px
        solid
        rgba(12, 62, 95, .10);

    border-radius:20px;

    box-shadow:
        0
        14px
        40px
        rgba(18, 54, 78, .07);

}


.mc46-public
.mc43-step-number {

    width:44px !important;
    height:44px !important;

    display:inline-flex !important;

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

    margin-bottom:24px;

    border-radius:14px;

    font-size:15px !important;

    font-weight:800;

}


.mc46-public
.mc43-steps
h3 {

    margin:
        0
        0
        10px;

    font-size:
        clamp(
            19px,
            1.7vw,
            24px
        ) !important;

    line-height:1.15;

}


.mc46-public
.mc43-steps
p {

    margin:0;

    font-size:15px !important;

    line-height:1.6;

}


/* ==========================================================
   MONTE SUA FOTO
   ========================================================== */


.mc46-public
.mc43-tool {

    padding:
        clamp(76px, 8vw, 112px)
        0
        clamp(80px, 8vw, 118px)
        !important;

}


.mc46-public
.mc43-tool
.mc43-container {

    width:
        min(
            1320px,
            calc(100% - 40px)
        ) !important;

    max-width:1320px !important;

}


.mc46-public
.mc43-tool
.mc43-eyebrow {

    text-align:center;

    margin-bottom:14px;

}


.mc46-public
.mc43-tool
.mc43-display {

    width:100%;

    max-width:900px;

    margin:
        0
        auto !important;

    text-align:center;

    font-size:
        clamp(
            44px,
            5vw,
            74px
        ) !important;

    line-height:.94 !important;

    text-wrap:balance;

}


.mc46-public
.mc43-tool-text {

    max-width:720px !important;

    margin:
        22px
        auto
        0 !important;

    text-align:center;

    font-size:
        clamp(
            16px,
            1.3vw,
            19px
        ) !important;

    line-height:1.6;

}


/*
   Editor propriamente dito.
*/


.mc46-public
.mc43-tool
.mc43-editor-card {

    width:
        min(
            1180px,
            100%
        ) !important;

    max-width:1180px !important;

    margin:
        42px
        auto
        0 !important;

    border-radius:24px !important;

    overflow:hidden !important;

    box-shadow:
        0
        24px
        70px
        rgba(0, 25, 48, .18) !important;

}


/* ==========================================================
   O QUE NOS MOVE
   ========================================================== */


.mc46-public
.mc43-causes {

    padding:
        clamp(78px, 8vw, 112px)
        0
        clamp(84px, 8vw, 118px)
        !important;

    background:#f7f9fb;

}


.mc46-public
.mc43-causes
.mc43-display {

    max-width:820px;

    margin:
        0
        auto;

    text-align:center;

    font-size:
        clamp(
            42px,
            4.7vw,
            68px
        ) !important;

    line-height:.96 !important;

}


.mc46-public
.mc43-causes
.mc43-lead {

    max-width:700px;

    margin:
        20px
        auto
        0;

    text-align:center;

}


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


.mc46-public
.mc43-card-grid {

    display:grid !important;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        ) !important;

    gap:18px !important;

    margin-top:
        clamp(
            40px,
            5vw,
            60px
        ) !important;

}


.mc46-public
.mc43-cause-card {

    min-width:0;

    min-height:250px;

    padding:
        30px
        26px
        28px
        !important;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

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

    border-radius:20px !important;

    background:#fff;

    box-shadow:
        0
        14px
        38px
        rgba(15, 53, 78, .065);

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

}


.mc46-public
.mc43-cause-card:hover {

    transform:
        translateY(-4px);

    box-shadow:
        0
        22px
        50px
        rgba(15, 53, 78, .10);

}


.mc46-public
.mc43-card-icon {

    width:52px !important;
    height:52px !important;

    margin-bottom:24px;

    border-radius:16px !important;

    display:flex;

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

}


.mc46-public
.mc43-card-icon
svg {

    width:25px !important;
    height:25px !important;

}


.mc46-public
.mc43-cause-card
h3 {

    margin:
        0
        0
        12px;

    font-size:
        clamp(
            20px,
            1.5vw,
            24px
        ) !important;

    line-height:1.15;

}


.mc46-public
.mc43-cause-card
p {

    margin:0;

    font-size:15px !important;

    line-height:1.6;

}


/* ==========================================================
   CTA FINAL
   ========================================================== */


.mc46-public
.mc43-final {

    padding:
        clamp(86px, 9vw, 130px)
        0
        clamp(82px, 8vw, 116px)
        !important;

    text-align:center;

}


.mc46-public
.mc43-final
.mc43-container {

    max-width:980px;

}


.mc46-public
.mc43-final
h2 {

    max-width:880px !important;

    margin:
        0
        auto
        22px
        !important;

    font-size:
        clamp(
            44px,
            5vw,
            76px
        ) !important;

    line-height:.93 !important;

    text-wrap:balance;

}


.mc46-public
.mc43-final
> .mc43-container
> p {

    max-width:680px !important;

    margin:
        0
        auto !important;

    font-size:
        clamp(
            17px,
            1.4vw,
            20px
        ) !important;

    line-height:1.6 !important;

}


.mc46-public
.mc43-final-buttons {

    display:flex !important;

    flex-wrap:wrap;

    justify-content:center;

    align-items:center;

    gap:12px !important;

    margin-top:34px !important;

}


.mc46-public
.mc43-final-buttons
.mc43-btn {

    min-height:52px;

    padding:
        0
        26px !important;

    border-radius:14px !important;

    display:inline-flex;

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

    font-weight:800;

}


/* ==========================================================
   HASHTAGS
   ========================================================== */


.mc46-public
.mc43-hashtags {

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:
        8px
        10px;

    max-width:800px;

    margin:
        32px
        auto
        0 !important;

}


.mc46-public
.mc43-hashtags
span {

    padding:
        9px
        13px;

    border-radius:999px;

    font-size:13px;

    line-height:1;

}


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


.mc46-public
.mc43-footer {

    padding:
        34px
        0
        30px
        !important;

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

}


.mc46-public
.mc43-footer
.mc43-container {

    width:
        min(
            1180px,
            calc(100% - 40px)
        );

    max-width:1180px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:24px;

}


.mc46-public
.mc43-footer
strong {

    font-size:
        clamp(
            18px,
            1.6vw,
            22px
        ) !important;

}


.mc46-public
.mc43-footer
p {

    max-width:620px;

    margin:0;

    font-size:13px !important;

    line-height:1.55;

}


/* ==========================================================
   TABLET
   ========================================================== */


@media(
    min-width:761px
)
and
(
    max-width:1050px
) {

    .mc46-public
    .mc43-card-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

    }


    .mc46-public
    .mc43-footer
    .mc43-container {

        align-items:flex-start;

    }

}


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


@media(max-width:760px) {

    .mc46-public
    .mc43-section
    .mc43-container {

        width:
            calc(
                100% - 24px
            );

    }


    .mc46-public
    .mc43-intro,

    .mc46-public
    .mc43-tool,

    .mc46-public
    .mc43-causes,

    .mc46-public
    .mc43-final {

        padding-top:64px !important;
        padding-bottom:64px !important;

    }


    .mc46-public
    .mc43-intro
    .mc43-display,

    .mc46-public
    .mc43-tool
    .mc43-display,

    .mc46-public
    .mc43-causes
    .mc43-display,

    .mc46-public
    .mc43-final
    h2 {

        font-size:
            clamp(
                38px,
                12vw,
                54px
            ) !important;

    }


    .mc46-public
    .mc43-steps {

        grid-template-columns:
            minmax(0, 1fr)
            !important;

        gap:12px !important;

        margin-top:34px !important;

    }


    .mc46-public
    .mc43-steps
    > * {

        padding:
            24px
            22px
            !important;

    }


    .mc46-public
    .mc43-tool
    .mc43-container {

        width:
            calc(
                100% - 20px
            ) !important;

    }


    .mc46-public
    .mc43-tool
    .mc43-editor-card {

        width:100% !important;

        margin-top:30px !important;

        border-radius:16px !important;

        box-shadow:
            0
            16px
            40px
            rgba(0, 25, 48, .14)
            !important;

    }


    .mc46-public
    .mc43-card-grid {

        grid-template-columns:
            minmax(0, 1fr)
            !important;

        gap:12px !important;

        margin-top:34px !important;

    }


    .mc46-public
    .mc43-cause-card {

        min-height:0;

        padding:
            24px
            22px
            !important;

    }


    .mc46-public
    .mc43-final-buttons {

        flex-direction:column;

        width:100%;

    }


    .mc46-public
    .mc43-final-buttons
    .mc43-btn {

        width:100%;

    }


    .mc46-public
    .mc43-footer
    .mc43-container {

        width:
            calc(
                100% - 28px
            );

        flex-direction:column;

        align-items:flex-start;

    }

}


/* MC61 FRONT POLISH END */

