.testimonial{
    background:#fff
}
.testimonial-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:15px
}
.quote-card{
    min-height:270px;
    padding:34px;
    border:1px solid var(--line);
    border-radius:23px;
    background:#f7f4fc
}
.quote-card>span{
    color:var(--purple);
    font:700 70px serif;
    line-height:.7
}
.quote-card blockquote{
    margin:18px 0 27px;
    font:600 24px "Space Grotesk";
    line-height:1.25
}
.person{
    display:flex;
    align-items:center;
    gap:12px
}
.person>div{
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:var(--purple);
    font-weight:900
}
.person p{
    margin:0;
    display:grid
}
.person small{
    color:var(--muted)
}
.result-card{
    min-height:270px;
    padding:34px;
    border:1px solid var(--line);
    border-radius:23px;
    background:#f7f4fc;

    display:grid;
    grid-template-columns:1fr 1fr;
    align-content:center;
    gap:15px;
    color:#fff;
    background:linear-gradient(135deg,#2c1464,#6a32d0);
}
.result-card>small{
    grid-column:1/-1;
    color:#cebce9
}
.result-card div{
    padding:20px;
    border-left:1px solid rgba(255,255,255,.14)
}
.result-card strong{
    display:block;

    font:700 40px "Space Grotesk";
}
.result-card span{
    display:block;

    color:rgba(255,255,255,.62);
    font-size:9px;
}
@media(max-width:1080px){
.testimonial-grid{
        grid-template-columns:1fr
    }
}
@media(max-width:700px){
    .result-card{
        grid-template-columns:1fr
    }
    .result-card>small{
        grid-column:auto
    }
}

/* Cases em formato vertical para celular, mantendo o carrossel e o
   conteúdo completo de cada história. */
@media(max-width:700px){
    .testimonials{
        padding:76px 0 84px;
        overflow:hidden;
    }

    .testimonials .section-heading{
        text-align:center;
    }

    .testimonials .section-heading .section-kicker{
        margin-inline:auto;
    }

    .testimonials .section-heading h2{
        max-width:360px;
        margin:18px auto 16px;
        font-size:clamp(27px,7.5vw,32px);
        line-height:1.1;
    }

    .testimonials .section-heading h2 em{
        display:inline;
    }

    .testimonials .section-heading > p{
        max-width:345px;
        margin-inline:auto;
        font-size:16px;
        line-height:1.55;
    }

    .testimonial-slider{
        margin-top:38px;
        overflow:visible;
    }

    .testimonial-card{
        position:relative;
        grid-template-columns:1fr;
        align-content:start;
        gap:24px;
        padding:22px;
        border-radius:26px;
        box-shadow:0 18px 45px rgba(39,17,95,.08);
    }

    .testimonial-profile{
        min-width:0;
        display:grid;
        grid-template-columns:58px minmax(0,1fr);
        grid-template-rows:auto auto;
        column-gap:13px;
        justify-content:start;
        padding-bottom:18px;
        border-bottom:1px solid #eee8f6;
    }

    .avatar{
        grid-row:1/3;
        width:58px;
        height:58px;
        margin:0;
        border-width:3px;
    }

    .testimonial-profile strong{
        align-self:end;
        font-size:15px;
        line-height:1.25;
    }

    .testimonial-profile span{
        align-self:start;
        margin-top:3px;
        font-size:11px;
        line-height:1.35;
    }

    .testimonial-content{
        min-width:0;
    }

    .quote{
        height:24px;
        font-size:62px;
        line-height:.7;
    }

    .testimonial-content h3{
        margin:12px 0 13px;
        font-size:24px;
        line-height:1.18;
        letter-spacing:-.5px;
    }

    .testimonial-content p{
        margin:0;
        font-size:14px;
        line-height:1.6;
    }

    .case-tags{
        gap:7px;
        margin-top:20px;
    }

    .case-tags span{
        padding:7px 11px;
        font-size:10px;
    }

    .testimonial-impact{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:0;
        padding:17px 12px;
        border-radius:20px;
    }

    .testimonial-impact div{
        min-width:0;
        padding:5px 9px;
        border-right:1px solid rgba(255,255,255,.18);
        border-bottom:0;
        text-align:center;
    }

    .testimonial-impact div:last-child{
        border-right:0;
    }

    .testimonial-impact strong{
        overflow-wrap:anywhere;
        font-size:clamp(15px,4.4vw,20px);
        line-height:1.1;
    }

    .testimonial-impact p{
        margin-top:5px;
        font-size:9px;
        line-height:1.25;
    }

    .slider-controls{
        gap:10px;
        margin-top:24px;
    }

    .slider-controls span{
        width:10px;
        height:10px;
    }

    .slider-controls span.active{
        width:28px;
        border-radius:999px;
        transform:none;
    }
}








.testimonials{

                            padding:120px 0;

                            }

/* Mantem o titulo de cases na mesma escala e familia das chamadas
   principais da LP. */
.testimonials .section-heading h2{
    font-family:"Plus Jakarta Sans","Space Grotesk",Nunito,sans-serif;
    font-size:clamp(30px,3.4vw,46px);
    font-weight:500;
    line-height:1.22;
    letter-spacing:-.02em;
    color:var(--purple-dark);
}

.testimonials .section-heading h2 em{
    display:block;
    color:#5932c1;
    font-style:normal;
}



                            .testimonial-slider{

                            overflow:hidden;

                            margin-top:60px;

                            }



                            .testimonial-track{

                            display:flex;

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

                            }




                            .testimonial-card{


                            min-width:100%;


                            display:grid;


                            grid-template-columns:

                            240px 1fr 300px;


                            gap:45px;


                            padding:55px;


                            border-radius:35px;


                            background:white;


                            border:

                            1px solid #ebe2fa;


                            box-sizing:border-box;


                            }




                            /* PERFIL */

                            .testimonial-profile{


                            display:flex;

                            flex-direction:column;

                            justify-content:center;


                            }



                            .avatar{


                            width:110px;

                            height:110px;


                            border-radius:50%;


                            overflow:hidden;


                            border:

                            5px solid #eee5ff;


                            margin-bottom:25px;


                            }



                            .avatar img{


                            width:100%;

                            height:100%;


                            object-fit:cover;


                            }




                            .testimonial-profile strong{


                            font-size:20px;


                            color:#17132f;


                            }



                            .testimonial-profile span{


                            color:#81758f;


                            margin-top:8px;


                            }





                            /* CONTEUDO */


                            .quote{


                            font-size:90px;

                            line-height:.5;


                            font-weight:900;


                            color:#6238ca;


                            }



                            .testimonial-content h3{


                            font-size:36px;


                            line-height:1.15;


                            letter-spacing:-1px;


                            margin:20px 0;


                            color:#17132f;


                            }



                            .testimonial-content p{


                            font-size:18px;


                            line-height:1.7;


                            color:#716780;


                            }





                            .case-tags{


                            display:flex;

                            gap:12px;


                            flex-wrap:wrap;


                            margin-top:30px;


                            }



                            .case-tags span{


                            background:#f0e8ff;


                            color:#5932c1;


                            padding:10px 18px;


                            border-radius:30px;


                            font-size:13px;


                            font-weight:800;


                            }





                            /* IMPACTO */


                            .testimonial-impact{


                            border-radius:28px;


                            padding:35px;


                            background:

                            linear-gradient(
                            135deg,
                            #40208a,
                            #7a42dd
                            );


                            color:white;


                            display:grid;


                            grid-template-columns:1fr;


                            gap:25px;


                            justify-content:center;


                            }



                            .testimonial-impact div{


                            border-bottom:

                            1px solid rgba(255,255,255,.2);


                            padding-bottom:20px;


                            }



                            .testimonial-impact div:last-child{


                            border:none;


                            }



                            .testimonial-impact strong{


                            font-size:42px;


                            display:block;


                            }



                            .testimonial-impact p{


                            margin:0;


                            font-size:13px;


                            opacity:.8;


                            }






                            /* CONTROLES */


                            .slider-controls{


                            display:flex;


                            justify-content:center;


                            gap:12px;


                            margin-top:30px;


                            }



                            .slider-controls span{


                            width:12px;


                            height:12px;


                            border-radius:50%;


                            background:#ddd;


                            cursor:pointer;


                            transition:.3s;


                            }



                            .slider-controls span.active{


                            background:#5932c1;


                            transform:scale(1.2);


                            }







                            /* MOBILE */


                            @media(max-width:1100px){


                            .testimonial-card{


                            grid-template-columns:1fr;


                            }



                            .testimonial-impact{


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

                            }
}





                            @media(max-width:700px){


                            .testimonial-card{


                            padding:30px;


                            }



                            .testimonial-content h3{


                            font-size:28px;


                            }



                            .testimonial-impact{


                            grid-template-columns:1fr;


                            }
}





















.product-progress{

    position:absolute;

    bottom:0;

    left:0;

    width:100%;

    height:3px;

    background:#f1ebfa;

    overflow:hidden;

    }



    .progress-line{

    display:block;

    height:100%;

    width:20%;


    background:

    linear-gradient(
    90deg,
    #5932c1,
    #a26cff
    );


    transition:

    width .4s ease;

    }


    .testimonial-profile .case-logo{

    background:#ffffff;

    border:1px solid #eee7f7;

    padding:8px;

}


.testimonial-profile .case-logo img{

    width:100%;

    height:100%;

    object-fit:contain;

}

/* Mantém a composição mobile acima das regras legadas deste arquivo. */
@media(max-width:700px){
    .testimonials{padding:76px 0 84px;overflow:hidden}
    .testimonials .section-heading{text-align:center}
    .testimonials .section-heading .section-kicker{margin-inline:auto}
    .testimonials .section-heading h2{
        max-width:360px;
        margin:18px auto 16px;
        font-size:clamp(27px,7.5vw,32px);
        line-height:1.1;
    }
    .testimonials .section-heading h2 em{display:inline}
    .testimonials .section-heading>p{
        max-width:345px;
        margin-inline:auto;
        font-size:16px;
        line-height:1.55;
    }
    .testimonial-slider{margin-top:38px;overflow:visible}
    .testimonial-card{
        position:relative;
        grid-template-columns:1fr;
        align-content:start;
        gap:24px;
        padding:22px;
        border-radius:26px;
        box-shadow:0 18px 45px rgba(39,17,95,.08);
    }
    .testimonial-profile{
        min-width:0;
        display:grid;
        grid-template-columns:58px minmax(0,1fr);
        grid-template-rows:auto auto;
        column-gap:13px;
        justify-content:start;
        padding-bottom:18px;
        border-bottom:1px solid #eee8f6;
    }
    .avatar{
        grid-row:1/3;
        width:58px;
        height:58px;
        margin:0;
        border-width:3px;
    }
    .testimonial-profile strong{
        align-self:end;
        font-size:15px;
        line-height:1.25;
    }
    .testimonial-profile span{
        align-self:start;
        margin-top:3px;
        font-size:11px;
        line-height:1.35;
    }
    .testimonial-content{min-width:0}
    .quote{height:24px;font-size:62px;line-height:.7}
    .testimonial-content h3{
        margin:12px 0 13px;
        font-size:24px;
        line-height:1.18;
        letter-spacing:-.5px;
    }
    .testimonial-content p{margin:0;font-size:14px;line-height:1.6}
    .case-tags{gap:7px;margin-top:20px}
    .case-tags span{padding:7px 11px;font-size:10px}
    .testimonial-impact{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:0;
        padding:17px 12px;
        border-radius:20px;
    }
    .testimonial-impact div{
        min-width:0;
        padding:5px 9px;
        border-right:1px solid rgba(255,255,255,.18);
        border-bottom:0;
        text-align:center;
    }
    .testimonial-impact div:last-child{border-right:0}
    .testimonial-impact strong{
        overflow-wrap:anywhere;
        font-size:clamp(15px,4.4vw,20px);
        line-height:1.1;
    }
    .testimonial-impact p{margin-top:5px;font-size:9px;line-height:1.25}
    .slider-controls{gap:10px;margin-top:24px}
    .slider-controls span{width:10px;height:10px}
    .slider-controls span.active{
        width:28px;
        border-radius:999px;
        transform:none;
    }
}


/* =========================================================
   CASES — ROLAGEM / CARROSSEL
   Mantém integralmente o layout e tipografia atuais
   ========================================================= */

.testimonial-slider {
    position: relative;
    overflow: visible;
}


/* recorta somente os cards durante a transição */
.testimonial-viewport {
    position: relative;

    width: 100%;
    overflow: hidden;

    border-radius: inherit;
}


/* trilho horizontal */
.testimonial-track {
    display: flex;
    align-items: stretch;

    width: 100%;

    transition:
        transform .72s cubic-bezier(.22, .61, .36, 1);

    will-change: transform;
}


/* cada case ocupa exatamente um viewport */
.testimonial-card {
    flex: 0 0 100%;
    min-width: 100%;
}


/* =========================================================
   TRANSIÇÃO INTERNA SUAVE
   ========================================================= */

.testimonial-card .testimonial-profile,
.testimonial-card .testimonial-content,
.testimonial-card .testimonial-impact {
    transition:
        opacity .42s ease,
        transform .42s ease;
}


/*
 * Os cards fora da tela ficam discretamente suavizados.
 * Não altera tamanho nem layout.
 */
.testimonial-card:not(.is-active) .testimonial-profile,
.testimonial-card:not(.is-active) .testimonial-content,
.testimonial-card:not(.is-active) .testimonial-impact {
    opacity: .45;
    transform: translateY(4px);
}


.testimonial-card.is-active .testimonial-profile,
.testimonial-card.is-active .testimonial-content,
.testimonial-card.is-active .testimonial-impact {
    opacity: 1;
    transform: translateY(0);
}


/* =========================================================
   NAVEGAÇÃO
   ========================================================= */

.case-slider-footer {
    display: grid;

    grid-template-columns:
        minmax(100px, 1fr)
        auto
        minmax(100px, 1fr);

    align-items: center;

    gap: 18px;

    min-height: 38px;

    margin-top: 12px;
}


/* contador */
.case-slider-status {
    display: flex;
    align-items: baseline;

    gap: 4px;

    color: #978da3;

    font-family: inherit;

    font-size: 9.5px;
    font-weight: 400;

    letter-spacing: .025em;
}


.case-slider-current {
    color: #5932c1;

    font-family: inherit;

    font-size: 16px;
    font-weight: 600;

    line-height: 1;

    letter-spacing: -.025em;
}


.case-slider-separator {
    opacity: .4;
}


.case-slider-total {
    font-size: 10px;
    font-weight: 500;
}


.case-slider-label {
    margin-left: 3px;

    color: #a296ac;

    font-size: 9px;
    font-weight: 400;
}


/* =========================================================
   DOTS
   ========================================================= */

.case-slider-dots {
    display: flex;

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

    gap: 6px;
}


.case-slider-dot {
    position: relative;

    width: 7px;
    height: 7px;

    padding: 0;

    overflow: hidden;

    border: 0;
    border-radius: 999px;

    background: #ddd5eb;

    cursor: pointer;

    transition:
        width .3s ease,
        background .3s ease,
        transform .2s ease;
}


.case-slider-dot:hover {
    background: #bca9e8;

    transform: scale(1.08);
}


.case-slider-dot.active {
    width: 28px;

    background:
        rgba(89, 50, 193, .14);
}


/*
 * Progresso automático incorporado
 * no próprio indicador ativo.
 */
.case-slider-dot.active::before {
    content: "";

    position: absolute;

    inset: 0;

    width: var(--case-progress, 0%);

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,
            #5932c1,
            #9360e8
        );
}


/* =========================================================
   SETAS
   ========================================================= */

.case-slider-arrows {
    display: flex;

    justify-content: flex-end;

    gap: 7px;
}


.case-slider-arrow {
    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    padding: 0;

    border:
        1px solid rgba(89, 50, 193, .14);

    border-radius: 50%;

    background: #fff;
    color: #5932c1;

    cursor: pointer;

    transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}


.case-slider-arrow:hover {
    transform: translateY(-1px);

    border-color: #5932c1;

    background: #5932c1;
    color: #fff;
}


.case-slider-arrow i {
    font-size: 13px;
}


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

@media (max-width: 700px) {

    .case-slider-footer {
        grid-template-columns:
            auto
            1fr
            auto;

        gap: 9px;

        min-height: 34px;

        margin-top: 10px;
    }


    .case-slider-current {
        font-size: 15px;
    }


    .case-slider-label {
        display: none;
    }


    .case-slider-dots {
        gap: 5px;
    }


    .case-slider-dot {
        width: 6px;
        height: 6px;
    }


    .case-slider-dot.active {
        width: 23px;
    }


    .case-slider-arrow {
        width: 31px;
        height: 31px;
    }

}


/* =========================================================
   ACESSIBILIDADE
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .testimonial-track,
    .testimonial-card .testimonial-profile,
    .testimonial-card .testimonial-content,
    .testimonial-card .testimonial-impact {
        transition: none !important;
    }

}



/* =========================================================
   CASES — COMPACTAÇÃO VERTICAL
   ========================================================= */

.testimonials {
    padding: 68px 0 72px;
}

.testimonials .section-heading {
    max-width: 860px;
}

.testimonials .section-heading .section-kicker {
    margin-bottom: 12px;
}

.testimonials .section-heading h2 {
    margin-bottom: 10px;
}

.testimonials .section-heading > p {
    line-height: 1.5;
}

.testimonial-slider {
    margin-top: 26px;
}


/* CARD */
.testimonial-card {
    grid-template-columns:
        175px
        minmax(0, 1fr)
        225px;

    gap: 28px;

    min-height: 350px;

    padding: 28px 30px;

    border-radius: 26px;
}


/* PERFIL */
.avatar {
    width: 66px;
    height: 66px;

    flex-basis: 66px;

    margin-bottom: 12px;

    border-width: 2px;
}

.testimonial-profile strong {
    font-size: 14px;
}

.testimonial-profile span {
    margin-top: 4px;

    font-size: 10.5px;
    line-height: 1.4;
}


/* CONTEÚDO */
.quote {
    height: 21px;
    font-size: 45px;
}

.testimonial-content h3 {
    margin: 7px 0 10px;

    font-size: clamp(23px, 1.75vw, 28px);
    line-height: 1.12;
}

.testimonial-content p {
    font-size: 13.5px;
    line-height: 1.52;
}

.case-tags {
    margin-top: 13px;
    gap: 6px;
}

.case-tags span {
    min-height: 24px;

    padding: 5px 9px;

    font-size: 9px;
}


/* IMPACTO */
.testimonial-impact {
    min-height: 255px;

    padding: 15px 21px;

    border-radius: 21px;
}

.testimonial-impact div {
    padding: 13px 0;
}

.testimonial-impact div:first-child {
    padding-top: 2px;
}

.testimonial-impact div:last-child {
    padding-bottom: 2px;
}

.testimonial-impact strong {
    font-size: clamp(19px, 1.55vw, 24px);
}

.testimonial-impact p {
    margin-top: 4px;

    font-size: 8.5px;
}


/* NAVEGAÇÃO */
.case-slider-footer {
    min-height: 32px;

    margin-top: 8px;
}

.case-slider-arrow {
    width: 31px;
    height: 31px;
}

.case-slider-arrow i {
    font-size: 13px;
}

/* =========================================================
   AJUSTE FINO — CASES
   Mantém seção compacta sem deixar o conteúdo pequeno demais
   ========================================================= */


/* PERFIL */
.testimonial-profile {
    align-items: center;
    text-align: center;
}

.avatar {
    width: 74px;
    height: 74px;

    flex-basis: 74px;

    margin: 0 auto 14px;

    border-width: 3px;
}

.testimonial-profile__info {
    width: 100%;
    text-align: center;
}

.testimonial-profile strong {
    display: block;

    font-size: 15.5px;
    font-weight: 600;
    line-height: 1.25;

    color: #17132f;
}

.testimonial-profile span {
    display: block;

    max-width: 165px;

    margin: 7px auto 0;

    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;

    color: #81758f;
}


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

.testimonial-content h3 {
    font-size: clamp(25px, 1.85vw, 30px);
    font-weight: 600;

    line-height: 1.13;
    letter-spacing: -.03em;
}

.testimonial-content p {
    font-size: 14.5px;
    line-height: 1.58;
}


/* =========================================================
   TAGS
   ========================================================= */

.case-tags {
    margin-top: 15px;
}

.case-tags span {
    min-height: 26px;

    padding: 6px 11px;

    font-size: 9.8px;
    font-weight: 600;
}


/* =========================================================
   BLOCO DE IMPACTO
   ========================================================= */

.testimonial-impact strong {
    font-size: clamp(21px, 1.65vw, 26px);
    font-weight: 500;
}

.testimonial-impact p {
    margin-top: 5px;

    font-size: 9px;
    line-height: 1.35;
}



/* PERFIL */
.testimonial-profile strong {
    font-size: 17px;
    font-weight: 600;
}

.testimonial-profile span {
    font-size: 12px;
    line-height: 1.45;
}


/* TÍTULO DO CASE */
.testimonial-content h3 {
    font-size: clamp(28px, 2vw, 34px);
    line-height: 1.12;
}


/* TEXTO DO CASE */
.testimonial-content p {
    font-size: 15.5px;
    line-height: 1.58;
}


/* TAGS */
.case-tags span {
    font-size: 10.5px;
    padding: 6px 12px;
}


/* BLOCO ROXO */
.testimonial-impact strong {
    font-size: clamp(24px, 1.8vw, 30px);
}

.testimonial-impact p {
    font-size: 10px;
}


/* CONTADOR */
.case-slider-current {
    font-size: 17px;
}

.case-slider-total {
    font-size: 11px;
}

.case-slider-label {
    font-size: 9.5px;
}


/* =========================================================
   AJUSTE FINO — SUBTEXTOS DOS CASES
   ========================================================= */

/* subtítulos do bloco roxo */
.testimonial-impact p {
    font-size: 14px;
    line-height: 1.4;
    font-weight: 400;
}

/* se quiser um pouco mais de contraste */
.testimonial-impact p {
    color: rgba(255,255,255,.78);
}


/* tags */
.case-tags span {
    font-size: 12px;
    font-weight: 600;

    padding: 7px 13px;

    line-height: 1;
}


/* nome/cargo do perfil, só um pequeno ganho */
.testimonial-profile span {
    font-size: 11.5px;
    line-height: 1.45;
}













/* =========================================================
   SETOR
   ========================================================= */

.testimonial-sector {
    display: inline-flex;

    align-items: center;

    width: fit-content;

    margin: 0 auto 14px;

    padding: 6px 10px;

    border-radius: 999px;

    background:
        rgba(89, 50, 193, .07);

    color: #5932c1;

    font-size: 9px;
    font-weight: 700;

    line-height: 1;

    letter-spacing: .06em;

    text-transform: uppercase;
}


/* =========================================================
   CONTEXTO DO PROJETO
   ========================================================= */

.testimonial-project-context {
    max-width: 760px;

    margin-top: 18px;

    border-top:
        1px solid rgba(89,50,193,.09);
}


.testimonial-context-toggle {
    width: 100%;

    display: flex;

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

    gap: 18px;

    padding:
        15px 2px 5px;

    border: 0;

    background: transparent;

    color: #5932c1;

    font-family: inherit;

    font-size: 11.5px;
    font-weight: 600;

    cursor: pointer;
}


.testimonial-context-toggle > span {
    display: inline-flex;

    align-items: center;

    gap: 7px;
}


.testimonial-context-toggle > span i {
    font-size: 15px;
}


.testimonial-context-caret {
    font-size: 14px;

    transition:
        transform .25s ease;
}


.testimonial-project-context.is-open
.testimonial-context-caret {
    transform:
        rotate(180deg);
}


/* BODY */
.testimonial-context-body {
    display: grid;

    grid-template-rows: 0fr;

    opacity: 0;

    transition:
        grid-template-rows .3s ease,
        opacity .25s ease;
}


.testimonial-context-body > * {
    overflow: hidden;
}


.testimonial-project-context.is-open
.testimonial-context-body {
    grid-template-rows: 1fr;

    opacity: 1;
}


.testimonial-context-body p {
    margin:
        13px 0 0;

    padding:
        15px 17px;

    border-radius: 14px;

    background:
        rgba(89,50,193,.035);

    color: #62586f;

    font-size: 12.5px;

    line-height: 1.55;
}


/* LISTA */
.testimonial-context-body ul {
    display: grid;

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

    gap: 7px 18px;

    margin:
        12px 0 0;

    padding: 0;

    list-style: none;
}


.testimonial-context-body li {
    display: flex;

    align-items: flex-start;

    gap: 6px;

    color: #51465e;

    font-size: 11px;

    line-height: 1.4;
}


.testimonial-context-body li i {
    flex: 0 0 auto;

    margin-top: 2px;

    color: #5932c1;

    font-size: 12px;
}


/* MOBILE */
@media (max-width: 700px) {

    .testimonial-context-body ul {
        grid-template-columns: 1fr;
    }

}




/* =========================================================
   ELEVA FLOW — CONTEXTO DOS CASES
   ========================================================= */

.cases-powered {
    width: 100%;

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

    align-items: center;

    gap: 28px;

    margin-top: 28px;
    margin-bottom: 22px;

    padding: 17px 20px;

    border:
        1px solid rgba(89, 50, 193, .10);

    border-radius: 18px;

    background:
        linear-gradient(
            110deg,
            rgba(89, 50, 193, .045),
            rgba(145, 96, 232, .025)
        );
}


/* =========================================================
   MARCA
   ========================================================= */

.cases-powered__brand {
    display: flex;
    align-items: center;

    gap: 10px;

    padding-right: 24px;

    border-right:
        1px solid rgba(89,50,193,.10);
}


.cases-powered__eyebrow {
    color: #91869e;

    font-size: 9px;
    font-weight: 600;

    line-height: 1;

    letter-spacing: .07em;

    text-transform: uppercase;

    white-space: nowrap;
}


.cases-powered__brand img {
    display: block;

    width: 92px;
    height: auto;
}


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

.cases-powered__copy {
    min-width: 0;
}


.cases-powered__copy strong {
    display: block;

    margin: 0;

    color: #21163e;

    font-family:
        "Plus Jakarta Sans",
        "Space Grotesk",
        Nunito,
        sans-serif;

    font-size: 13px;
    font-weight: 600;

    line-height: 1.35;

    letter-spacing: -.012em;
}


.cases-powered__copy p {
    max-width: 660px;

    margin: 4px 0 0;

    color: #776d84;

    font-size: 11px;
    font-weight: 400;

    line-height: 1.45;
}


/* =========================================================
   MICRO FEATURES
   ========================================================= */

.cases-powered__features {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    flex-wrap: wrap;

    gap: 6px;
}


.cases-powered__features span {
    min-height: 29px;

    display: inline-flex;
    align-items: center;

    gap: 6px;

    padding: 6px 10px;

    border:
        1px solid rgba(89,50,193,.09);

    border-radius: 999px;

    background: #fff;

    color: #5932c1;

    font-size: 9.5px;
    font-weight: 600;

    line-height: 1;

    white-space: nowrap;
}


.cases-powered__features i {
    font-size: 13px;
}


/* =========================================================
   HOVER SUTIL
   ========================================================= */

.cases-powered__features span {
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}


.cases-powered__features span:hover {
    transform: translateY(-1px);

    border-color:
        rgba(89,50,193,.18);

    background:
        rgba(89,50,193,.035);
}


/* =========================================================
   AJUSTE DO SLIDER
   Como agora existe a faixa ElevaFlow antes dele,
   reduzimos o margin-top antigo.
   ========================================================= */

.cases-powered + .testimonial-slider {
    margin-top: 0;
}


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

@media (max-width: 1050px) {

    .cases-powered {
        grid-template-columns:
            auto
            minmax(0, 1fr);

        gap: 18px 22px;
    }


    .cases-powered__features {
        grid-column: 1 / -1;

        justify-content: flex-start;

        padding-left: 0;
    }

}


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

@media (max-width: 700px) {

    .cases-powered {
        display: flex;
        flex-direction: column;

        align-items: center;

        gap: 13px;

        margin-top: 24px;
        margin-bottom: 18px;

        padding: 18px 16px;

        border-radius: 20px;

        text-align: center;
    }


    .cases-powered__brand {
        justify-content: center;

        padding-right: 0;

        border-right: 0;
    }


    .cases-powered__brand img {
        width: 86px;
    }


    .cases-powered__copy strong {
        max-width: 310px;

        margin-inline: auto;

        font-size: 13px;
    }


    .cases-powered__copy p {
        max-width: 320px;

        margin:
            5px auto 0;

        font-size: 10.5px;

        line-height: 1.45;
    }


    .cases-powered__features {
        justify-content: center;

        gap: 6px;
    }


    .cases-powered__features span {
        min-height: 28px;

        padding: 6px 9px;

        font-size: 9px;
    }

}


/* =========================================================
   MARCA DA EMPRESA NO PERFIL

   Fica entre o chip de setor e a foto do depoente. Sem caixa
   nem borda: a logo da Dexco tem proporcao 5,3:1 e ficaria
   estranha dentro de um chip, e o card ja e branco, entao o
   traco escuro do SVG aparece sozinho.
   ========================================================= */

.testimonial-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    margin:0 auto 12px;
}

.testimonial-brand img{
    width:auto;
    max-width:130px;
    max-height:26px;
    object-fit:contain;
}

/* No mobile o perfil vira grade de duas colunas, com a foto na
   coluna estreita da esquerda. A marca ocupa a faixa acima dela,
   dentro da mesma coluna, e a foto desce uma linha para abrir
   espaco - dai a terceira faixa no grid-template-rows. */
@media(max-width:700px){
    .testimonial-profile{
        grid-template-rows:auto auto auto;
    }

    .testimonial-profile .testimonial-brand{
        grid-row:1;
        grid-column:1;
        justify-content:flex-start;
        width:auto;
        margin:0 0 9px;
    }

    .testimonial-profile .testimonial-brand img{
        max-width:58px;
        max-height:16px;
    }

    .testimonial-profile .avatar{
        grid-row:2/4;
    }
}


/* Nater e Essor sao as logos mais "altas" das tres - 3,1:1 e 2,5:1
   contra 5,3:1 da Dexco. Como o teto padrao e a altura, elas batiam
   nele com muito menos largura e apareciam menores que a vizinha. O
   acrescimo vale so para essas duas, pelo data-attribute que o card ja
   recebe do JSON; a Dexco continua limitada pela largura. */
[data-testimonial-id="nater-joao-lepaus"] .testimonial-brand img,
[data-testimonial-id="essor-elaine-gouvea"] .testimonial-brand img{
    max-width:150px;
    max-height:34px;
}

/* A Essor e a mais quadrada do trio (2,5:1), entao mesmo no teto acima
   ela ainda saia mais estreita que a Nater - ganha uma faixa a mais so
   para ela. Vem depois da regra conjunta, entao vence por ordem. */
[data-testimonial-id="essor-elaine-gouvea"] .testimonial-brand img{
    max-height:42px;
}

@media(max-width:700px){
    [data-testimonial-id="nater-joao-lepaus"] .testimonial-brand img,
    [data-testimonial-id="essor-elaine-gouvea"] .testimonial-brand img{
        max-width:66px;
        max-height:21px;
    }

    [data-testimonial-id="essor-elaine-gouvea"] .testimonial-brand img{
        max-height:26px;
    }
}


/* =========================================================
   MOBILE — COMPOSICAO DE APP

   Ultimo bloco do arquivo de proposito: vence por ordem as
   regras de 700px que vem acima, sem precisar de !important.

   A ideia e a folha branca sobre fundo tingido das telas de
   app: o card sai da calha da .container e ocupa a largura
   da tela, as setas dao lugar a uma paginacao por pontos e o
   swipe (que o slider ja tinha) vira a navegacao principal.
   ========================================================= */

@media(max-width:700px){

    /* Fundo levemente tingido - sem ele o card branco sumiria
       ao encostar nas bordas, ja que a secao tambem e branca. */
    .testimonials{
        background:#f7f4fc;
    }


    /* O slider escapa da calha de 14px da .container. A folga
       lateral vira padding do viewport, e nao margem do card,
       porque o trilho anda de 100% por vez: o card precisa
       medir exatamente a largura util do viewport. */
    .testimonial-slider{
        width:100vw;
        margin-inline:calc(50% - 50vw);
    }

    .testimonial-viewport{
        padding-inline:8px;
    }


    /* O empilhamento em uma coluna precisa ser redeclarado aqui.
       O @media(max-width:700px) antigo, la por volta da linha 850,
       ja pedia isso - mas varias regras sem media query vem depois
       dele no arquivo e, com a mesma especificidade, venciam por
       ordem: o card voltava as tres colunas de 240px/1fr/300px do
       desktop, espremia o depoimento numa palavra por linha e jogava
       o bloco de impacto para fora. Todo o resto deste bloco existe
       pela mesma razao. */
    .testimonial-card{
        grid-template-columns:1fr;
        align-content:start;
        min-height:0;
        gap:18px;
        padding:22px 18px 20px;
        border-radius:24px;
        border-color:#efe9fa;
        box-shadow:0 12px 30px rgba(39,17,95,.07);
    }


    /* ---------- CABECALHO ---------- */

    /* Sem filete sob o perfil: no card de app quem separa os
       blocos e o espaco, nao o risco. O padding-bottom fica,
       so que agora e ele que faz o intervalo. */
    .testimonial-profile{
        column-gap:14px;
        padding-bottom:18px;
        border-bottom:0;
    }

    .testimonial-profile .avatar{
        width:62px;
        height:62px;
    }

    .testimonial-profile strong{
        font-size:15.5px;
    }


    /* ---------- DEPOIMENTO ---------- */

    /* .testimonial-full e um <blockquote> sem regra propria em
       lugar nenhum, entao herdava o margin:1em 40px do padrao
       do navegador - dentro de um card de 18px de padding isso
       comia quase metade da linha. */
    .testimonial-full{
        margin:0;
        font-size:15px;
        line-height:1.62;
        color:#5f5670;
    }


    /* ---------- ITEM DE LISTA ---------- */

    /* O bloco de contexto ja trazia um border-top proprio; some
       tambem, pela mesma razao do perfil - e o filete que eu
       tinha posto no botao era um segundo risco em cima dele. */
    .testimonial-project-context{
        margin-top:6px;
        border-top:0;
    }

    /* O "Conheca a solucao implementada" fica com altura de alvo
       de toque, como as linhas de acao de um app. */
    .testimonial-context-toggle{
        min-height:48px;
        padding:14px 2px;
        font-size:13px;
    }


    /* ---------- PAGINACAO ---------- */

    /* Setas e contador saem: a navegacao no celular e o swipe,
       e os pontos bastam para dizer onde se esta. */
    .case-slider-arrows,
    .case-slider-status{
        display:none;
    }

    .case-slider-footer{
        grid-template-columns:1fr;
        gap:0;
        min-height:0;
        margin-top:18px;
    }

    .case-slider-dots{
        gap:9px;
    }

    /* overflow volta a visible por causa da area de toque
       abaixo; a barra de progresso do ponto ativo e um
       ::before com inset:0, entao nao vaza. */
    .case-slider-dot{
        overflow:visible;
        width:9px;
        height:9px;
    }

    .case-slider-dot.active{
        width:32px;
    }

    /* Alvo de toque de ~44px sem mudar o desenho do ponto. */
    .case-slider-dot::after{
        content:"";
        position:absolute;
        inset:-16px -7px;
    }


    /* ---------- BLOCO DE IMPACTO ---------- */

    /* Fora da coluna estreita do desktop ele volta a ser uma faixa
       de tres colunas, separadas por filete vertical. */
    .testimonial-impact{
        grid-template-columns:repeat(3,minmax(0,1fr));
        align-items:start;
        gap:0;
        min-height:0;
        padding:16px 10px;
        border-radius:20px;
    }

    /* "Destaques da solucao" e o primeiro filho da faixa, irmao
       dos tres blocos - e nao tem regra propria em lugar nenhum
       do arquivo. Sem ocupar a linha inteira ele caia na primeira
       celula das tres colunas e empurrava o ultimo destaque para
       uma segunda fileira, que e o desalinhamento da imagem. */
    .testimonial-impact__label{
        grid-column:1/-1;
        margin-bottom:12px;
        padding:0 9px;
        color:rgba(255,255,255,.62);
        font-size:9px;
        font-weight:700;
        line-height:1.2;
        letter-spacing:.08em;
        text-transform:uppercase;
    }

    .testimonial-impact div{
        min-width:0;
        padding:5px 7px;
        border-right:1px solid rgba(255,255,255,.18);
        border-bottom:0;
        text-align:center;
    }

    .testimonial-impact div:last-child{
        border-right:0;
    }

    /* "Customizacao" e "Visibilidade" tem 12 caracteres e nao
       cabiam na coluna de ~85px. Com overflow-wrap:anywhere o
       navegador cortava seco no meio da palavra, sem hifen, e
       sobrava um "o" sozinho na linha de baixo.

       A fonte menor resolve o caso comum; hyphens:auto cobre o
       resto, quebrando com hifen - funciona porque o documento
       declara lang="pt-BR". E break-word no lugar de anywhere
       para o navegador so partir a palavra em ultimo caso. */
    .testimonial-impact strong{
        overflow-wrap:break-word;
        hyphens:auto;
        font-size:clamp(12px,3.3vw,18px);
        line-height:1.15;
    }

    .testimonial-impact p{
        margin-top:5px;
        font-size:9px;
        line-height:1.25;
    }


    /* ---------- ALINHAMENTO A ESQUERDA ---------- */

    /* No desktop o perfil e uma coluna centrada; empilhado, o
       cabecalho do card se le melhor alinhado a esquerda, como
       na lista de um app. */
    .testimonial-profile{
        text-align:left;
    }

    .testimonial-profile__info{
        width:auto;
        text-align:left;
    }

    .testimonial-sector{
        margin:0 0 12px;
    }

    .testimonial-profile .avatar{
        margin:0;
    }

    .testimonial-profile span{
        max-width:none;
        margin-left:0;
        margin-right:0;
    }


    /* ---------- TEXTO E TAGS ---------- */

    .testimonial-content p{
        font-size:14px;
        line-height:1.6;
    }

    .case-tags{
        gap:7px;
        margin-top:18px;
    }

    .case-tags span{
        padding:7px 11px;
        font-size:10px;
    }

}
