.elementor-664 .elementor-element.elementor-element-b3eb31a{--display:flex;}/* Start custom CSS for html, class: .elementor-element-8adbb28 */.cnp-page{
    --azul:#CBB8A6;
    --escuro:#5E5A57;
    --cinza:#8A8682;
    --branco:#F4EFEA;

    /* TROQUE PELAS IMAGENS DO WORDPRESS */
    --banner-topo:url('https://casandonoparaiso.com.br/wp-content/uploads/2026/09/Imagine-Dizer-Sim-3-scaled.jpg');
    --banner-final:url('https://casandonoparaiso.com.br/wp-content/uploads/2026/05/O-que-fazemos-Elopement-Wedding.jpeg');

    font-family:'Poppins',sans-serif;
    color:var(--escuro);
    background:#fff;
    overflow:hidden;
}

/* =========================
   BANNER INICIAL
========================= */

.cnp-hero{
    position:relative;
    min-height:560px;
    display:flex;
    justify-content:flex-end;
    align-items:flex-start;
    padding:45px 9% 100px;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,.10) 32%,
            rgba(255,255,255,.68) 68%,
            rgba(255,255,255,.88) 100%
        ),
        var(--banner-topo) center/cover no-repeat;
}

.cnp-hero:after{
    content:"";
    position:absolute;
    left:-5%;
    bottom:-38px;
    width:110%;
    height:85px;
    background:#fff;
    border-radius:50% 50% 0 0 / 100% 100% 0 0;
}

.cnp-hero-content{
    position:relative;
    z-index:2;
    width:50%;
    max-width:440px;
    text-align:center;
}

.cnp-logo{
    width:175px;
    max-width:70%;
    margin:0 auto 18px;
}

.cnp-eyebrow{
    margin:0 0 20px;
    font-size:10px;
    font-weight:500;
    letter-spacing:.38em;
    text-transform:uppercase;
    color:var(--escuro);
}

.cnp-title{
    margin:0;
    font-family:'Josefin Slab',serif;
    font-size:34px;
    font-weight:500;
    line-height:1.08;
    color:var(--escuro);
}

.cnp-title span{
    display:block;
    margin-top:5px;
    font-family:'Great Vibes',cursive;
    font-size:44px;
    font-weight:400;
    color:var(--escuro);
}

.cnp-line{
    width:35px;
    height:2px;
    margin:20px auto;
    background:var(--escuro);
}

.cnp-intro{
    margin:0 auto;
    max-width:350px;
    font-size:14px;
    font-weight:300;
    line-height:1.65;
    color:var(--escuro);
}





/* =========================
   BANNER FINAL
========================= */

.cnp-footer{
    position:relative;
    min-height:430px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:80px 25px 32px;
    text-align:center;
     background:
        linear-gradient(
            180deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,.10) 32%,
            rgba(255,255,255,.68) 78%,
            rgba(255,255,255,.88) 100%
        ),
        var(--banner-final) center/cover no-repeat;
}

.cnp-footer-content{
    width:100%;
    position:relative;
    z-index:2;
}

.cnp-footer-title{
    margin:0 auto;
    font-family:'Great Vibes',cursive;
    font-size:43px;
    font-weight:400;
    line-height:1.12;
    color:var(--escuro);
}

.cnp-footer-line{
    width:35px;
    height:2px;
    margin:23px auto 45px;
    background:var(--azul);
}

.cnp-social{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-bottom:22px;
}

.cnp-social a{
    color:var(--escuro);
    font-size:17px;
    text-decoration:none!important;
    transition:.2s;
}

.cnp-social a:hover{
    color:var(--azul);
    transform:translateY(-2px);
}

.cnp-social-divider{
    height:22px;
    width:1px;
    background:rgba(88,98,108,.35);
    margin:0 5px;
}

.cnp-user{
    font-size:12px!important;
}

.cnp-footer-tag{
    margin:0 0 10px;
    font-size:9px;
    font-weight:500;
    letter-spacing:.38em;
    text-transform:uppercase;
    color:var(--escuro);
}

.cnp-footer-heart{
    color:var(--azul);
    font-size:22px;
}


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

.cnp-page,
.cnp-page *{
    box-sizing:border-box;
}

.cnp-links{
    width:100%;
    padding:25px 7% 70px;
    background:#fff;
}

.cnp-list{
    width:100%;
    max-width:720px;
    margin:0 auto;

    display:flex;
    flex-direction:column;
    gap:16px;
}

/* CARD */

.cnp-card{
    display:block;
    width:100%;
    color:inherit;
    text-decoration:none!important;

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

.cnp-card:hover{
    transform:translateY(-3px);
}

/* CONTEÚDO DO CARD */

.cnp-card-body{
    width:100%;
    min-width:0;
    min-height:108px;

    display:grid;
    grid-template-columns:58px minmax(0,1fr) 44px;
    align-items:center;
    gap:18px;

    padding:15px 20px;

    background:#fff;

    border:1px solid rgba(94,90,87,.05);
    border-radius:27px;

    box-shadow:
        0 12px 35px rgba(94,90,87,.09);
}

/* ÍCONE */

.cnp-icon{
    width:56px;
    height:56px;

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

    border-radius:50%;

    /* #CBB8A6 com transparência */
    background:rgba(203,184,166,.20);

    color:#5E5A57;

    font-size:21px;
}

/* TEXTO */

.cnp-copy{
    min-width:0;

    padding-left:18px;

    border-left:
        1px solid rgba(94,90,87,.13);
}

.cnp-copy h2{
    margin:0 0 5px;

    font-family:'Josefin Slab',serif;

    font-size:24px;
    font-weight:600;
    line-height:1.1;

    color:#5E5A57;
}

.cnp-copy p{
    margin:0;

    font-family:'Poppins',sans-serif;

    font-size:11px;
    font-weight:300;
    line-height:1.5;

    color:#8A8682;
}

/* SETA */

.cnp-arrow{
    width:42px;
    height:42px;

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

    justify-self:end;

    flex-shrink:0;

    border-radius:50%;

    background:#CBB8A6;
    color:#fff;

    font-size:12px;

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

.cnp-card:hover .cnp-arrow{
    background:#5E5A57;
    transform:translateX(2px);
}


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

@media(max-width:700px){

    .cnp-page{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }


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

    .cnp-hero{
        min-height:570px;

        display:flex;
        align-items:flex-start;
        justify-content:center;

        padding:
            32px
            22px
            90px;

        background:
            linear-gradient(
                to bottom,
                rgba(255,255,255,.88) 0%,
                rgba(255,255,255,.73) 32%,
                rgba(255,255,255,.42) 55%,
                rgba(255,255,255,.05) 78%
            ),
            var(--banner-topo) 38% center / cover no-repeat;
    }

    .cnp-hero-content{
        width:100%;
        max-width:350px;
        margin:0 auto;
    }

    .cnp-logo{
        width:145px;
        max-width:55%;
        margin:
            0 auto
            14px;
    }

    .cnp-eyebrow{
        margin-bottom:17px;

        font-size:8px;
        line-height:1.5;

        letter-spacing:.30em;
    }

    .cnp-title{
        max-width:300px;

        margin:0 auto;

        font-size:28px;
        line-height:1.08;
    }

    .cnp-title span{
        margin-top:4px;

        font-size:39px;
        line-height:1;
    }

    .cnp-line{
        width:30px;

        margin:
            17px auto;
    }

    .cnp-intro{
        max-width:290px;

        font-size:11px;
        line-height:1.65;
    }

    .cnp-hero:after{
        left:-10%;
        bottom:-28px;

        width:120%;
        height:65px;
    }


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

    .cnp-links{
        padding:
            20px
            18px
            55px;
    }

    .cnp-list{
        width:100%;
        gap:13px;
    }

    .cnp-card{
        width:100%;
        margin:0;
        display:block;
    }

    .cnp-card-body{
        width:100%;
        min-width:0;
        min-height:92px;

        margin:0;

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

        gap:10px;

        padding:
            12px
            13px;

        border-radius:22px;

        box-shadow:
            0 8px 24px rgba(94,90,87,.08);
    }

    .cnp-icon{
        width:43px;
        height:43px;

        font-size:17px;

        background:
            rgba(203,184,166,.20);
    }

    .cnp-copy{
        min-width:0;

        padding-left:11px;
    }

    .cnp-copy h2{
        margin-bottom:3px;

        font-size:17px;
        line-height:1.1;
    }

    .cnp-copy p{
        font-size:9px;
        line-height:1.4;
    }

    .cnp-arrow{
        width:32px;
        height:32px;

        font-size:9px;
    }


    /* =====================
       BANNER FINAL
    ===================== */

    .cnp-footer{
        min-height:390px;

        padding:
            65px
            20px
            25px;

        background:
            linear-gradient(
                to bottom,
                #fff 0%,
                rgba(255,255,255,.78) 13%,
                rgba(255,255,255,.15) 42%,
                rgba(94,90,87,.10) 100%
            ),
            var(--banner-final) center / cover no-repeat;
    }

    .cnp-footer-title{
        max-width:330px;

        font-size:34px;
        line-height:1.12;
    }

    .cnp-footer-line{
        margin:
            19px auto
            38px;
    }

    .cnp-social{
        gap:11px;

        margin-bottom:18px;
    }

    .cnp-social a{
        font-size:15px;
    }

    .cnp-user{
        font-size:10px!important;
    }

    .cnp-footer-tag{
        font-size:7px;

        letter-spacing:.28em;
    }
}/* End custom CSS */