/* ============================================================
   HOME-BASE - blocos do style.css usados somente pela home.
   Criterio: a regra casa com o markup da home e nao casa com
   nenhuma das paginas SEO. Verificado como livre de inversao
   de cascata. Carregar logo apos style.css, apenas na home.
   ============================================================ */
.hero-orbit {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    pointer-events: none
}
.orbit-a {
    width: 650px;
    height: 650px;
    right: -260px;
    top: 10px
}
.orbit-b {
    width: 280px;
    height: 280px;
    left: -140px;
    bottom: 120px
}
.security-float {
    position: absolute;
    top: 8px;
    right: 12px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 13px;
    border: 1px solid #e0d7ee;
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--shadow)
}
.feature-showcase {
    /* as quinas de cima sao arredondadas, encaixando na secao
       anterior */
    position: relative;
    border-radius: 96px 96px 0 0;
    background: linear-gradient(180deg, #F1ECFB, #FBF9FE 62%, #fff)
}
.integrations {
    overflow: hidden
}
.solutions {
    background: linear-gradient(180deg, #fff, #f8f6fc)
}
.solution-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 30px
}
.solution-tabs button {
    border: 0;
    border-radius: 999px;
    padding: 11px 16px;
    background: #ebe7f3;
    color: #6f6879;
    font: 800 10px Nunito;
    cursor: pointer
}
.solution-tabs button.active {
    color: #fff;
    background: var(--purple)
}
.testimonial {
    background: #fff
}
.quote-card blockquote {
    margin: 18px 0 27px;
    font: 600 24px "Plus Jakarta Sans", "Space Grotesk";
    line-height: 1.25
}
.person {
    display: flex;
    align-items: center;
    gap: 12px
}
.floating-contact:hover {
    background: #1fbd5a;
    transform: translateY(-2px)
}
.security-float {

    position: absolute;

    top: 0px;
    right: 5px;

    display: flex;
    align-items: center;

    gap: 12px;

    padding: 12px 18px 12px 12px;

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

    backdrop-filter: blur(15px);

    border-radius: 22px;

    border:
        1px solid rgba(137, 103, 219, .20);


    box-shadow:
        0 15px 40px rgba(89, 50, 193, .12);

}
.security-icon {

    width: 48px;
    height: 48px;

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

    border-radius: 14px;

    background:
        linear-gradient(135deg,
            #5932c1,
            #8967db);

}
.security-text {

    display: flex;
    flex-direction: column;

}
.platform {

    padding: 110px 0;

    /* lilas lavado da paleta: separa a jornada das secoes brancas
       vizinhas sem competir com as artes coloridas dos cards */
    background: #E8DFFA;

    /* o rodape da secao e arredondado, encaixando na secao clara
       seguinte */
    border-radius: 0 0 60px 60px;

}
.feature-card {

    position: relative;

    padding: 34px;

    min-height: 220px;

    border-radius: 28px;

    border: 1px solid #ebe4fa;

    background: #fff;

    transition: .35s ease;

}
.feature-card:hover {

    transform:
        translateY(-8px);

    box-shadow:
        0 25px 60px rgba(89, 50, 193, .12);

}
.feature-card.active {

    border-color: #8967db;

    background:
        linear-gradient(145deg,
            #ffffff,
            #faf6ff);

}
.feature-card:hover {

    border-color: #8967db;

    transform: translateY(-6px);

    box-shadow:
        0 25px 60px rgba(89, 50, 193, .12);

}
.feature-card {

    animation:
        cardPulse 12s infinite;

}
.feature-card:nth-child(1) {
    animation-delay: 0s;
}
.feature-card:nth-child(2) {
    animation-delay: 3s;
}
.feature-card:nth-child(3) {
    animation-delay: 6s;
}
.feature-card:nth-child(4) {
    animation-delay: 9s;
}
.feature-card:hover span {

    opacity: 1;

    transform: translateX(0);

}
.ai-header-title {
    display: flex;
    align-items: center;
    gap: 12px;
}
.ai-processing {
    color: #8d849d;
    font-size: 12px;
    font-weight: 750;
}
.ai-animation::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    box-shadow:
        inset 0 0 45px rgba(89, 50, 193, .035);
}
.enterprise-network {

    height: 620px;

    position: relative;

    margin-top: 80px;

}
/*.network-lines span:nth-child(1){

            width:320px;
            transform:rotate(-45deg);

            }

            .network-lines span:nth-child(2){

            width:300px;
            transform:rotate(45deg);

            }

            .network-lines span:nth-child(3){

            width:300px;
            transform:rotate(-45deg);

            }


            .network-lines span:nth-child(4){

            width:270px;
            transform:rotate(90deg);

            }


            .network-lines span:nth-child(5){

            width:270px;
            transform:rotate(-90deg);

            }


            .network-lines span:nth-child(6){

            width:350px;
            transform:rotate(150deg);

            }


            .network-lines span:nth-child(7){

            width:350px;
            transform:rotate(-150deg);

            }


            .network-lines span:nth-child(8){

            width:220px;
            transform:rotate(180deg);

            }*/





.enterprise-center {


    position: absolute;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%, -50%);


    width: 220px;

    height: 220px;


    border-radius: 50px;


    background: white;


    border: 1px solid #e8defa;


    box-shadow:

        0 30px 80px rgba(90, 50, 190, .18);


    display: flex;

    align-items: center;

    justify-content: center;

    flex-direction: column;


}
.enterprise-node {


    position: absolute;


    display: flex;

    align-items: center;

    gap: 14px;


    background: white;


    padding: 18px 22px;


    border-radius: 18px;


    border: 1px solid #e8def8;


    box-shadow:

        0 15px 35px rgba(90, 50, 190, .08);


    transition: .3s;


}
.enterprise-node:hover {

    transform: translateY(-8px);

    border-color: #6d40d2;

}
.sap {

    left: 8%;

    top: 35%;

}
.ged {

    left: 18%;

    bottom: 18%;

}
.servicenow {

    right: 8%;

    top: 35%;

}
.teams {

    right: 18%;

    bottom: 18%;

}
.gov {

    left: 43%;

    top: 5%;

}
.api {

    right: 30%;

    top: 18%;

}
.ibm {

    left: 32%;

    bottom: 5%;

}
.cloud {

    right: 32%;

    bottom: 5%;

}
.integration-message {


    max-width: 850px;

    margin: 0 auto;


    text-align: center;


    font-size: 20px;


    line-height: 1.6;


    color: #716781;


}
.integration-features {


    display: grid;


    grid-template-columns:

        repeat(4, 1fr);


    gap: 25px;


    margin-top: 70px;


}
.integration-features article {


    padding: 32px;


    border-radius: 24px;


    border: 1px solid #ebe2fb;


    background: white;


}
@media(max-width:900px) {

    .enterprise-network {

        display: none;

    }


    .integration-features {

        grid-template-columns: 1fr;

    }

}
/* HUB CENTRAL */

.enterprise-center {
    left: 50%;
    top: 50%;
}
/* NÓS */

.sap {
    left: 7%;
    top: 42%;
}
.ged {
    left: 16%;
    bottom: 15%;
}
.servicenow {
    right: 7%;
    top: 42%;
}
.teams {
    right: 15%;
    bottom: 15%;
}
.gov {
    left: 50%;
    top: 3%;
    transform: translateX(-50%);
}
.api {
    right: 27%;
    top: 14%;
}
.ibm {
    left: 35%;
    bottom: 3%;
}
.cloud {
    right: 35%;
    bottom: 3%;
}
.network-lines span:nth-child(1) {
    width: 300px;
    transform: rotate(45deg);
}
.network-lines span:nth-child(2) {
    width: 300px;
    transform: rotate(-45deg);
}
.network-lines span:nth-child(3) {
    width: 300px;
    transform: rotate(-10deg);
}
.network-lines span:nth-child(4) {
    width: 300px;
    transform: rotate(20deg);
}
.network-lines span:nth-child(5) {
    width: 300px;
    transform: rotate(-125deg);
}
.network-lines span:nth-child(6) {
    width: 300px;
    transform: rotate(200deg);
}
.network-lines span:nth-child(7) {
    width: 300px;
    transform: rotate(165deg);
}
.network-lines span:nth-child(8) {
    width: 300px;
    transform: rotate(125deg);
}
/*.network-lines span:nth-child(2){
    width:300px;
    transform:rotate(35deg);
}

.network-lines span:nth-child(3){
    width:300px;
    transform:rotate(-35deg);
}

.network-lines span:nth-child(4){
    width:300px;
    transform:rotate(90deg);
}

.network-lines span:nth-child(5){
    width:300px;
    transform:rotate(145deg);
}

.network-lines span:nth-child(6){
    width:300px;
    transform:rotate(-145deg);
}

.network-lines span:nth-child(7){
    width:300px;
    transform:rotate(210deg);
}

.network-lines span:nth-child(8){
    width:300px;
    transform:rotate(-210deg);
}*/



.enterprise-node {

    padding: 16px 20px;

    border-radius: 16px;

}
.gov {
    left: 30%;
    top: 10%;
    transform: translateX(-50%);
}
.api {
    right: 25%;
    top: 12%;
}
.cloud {
    right: 22%;
    bottom: 8%;
}
.ibm {
    left: 22%;
    bottom: 8%;
}
.sap {
    left: 15%;
    top: 30%;
}
.servicenow {
    right: 15%;
    top: 40%;
}
.ged {
    left: 15%;
    bottom: 30%;
}
.teams {
    right: 15%;
    bottom: 25%;
}
.enterprise-center {

    width: 200px;
    height: 200px;

    border-radius: 45px;

}
.network-lines span {

    animation: pulseLine 4s infinite alternate;

}
.enterprise-node {

    animation:
        floatNode 6s ease-in-out infinite;

}
.solutions {

    padding: 120px 0;

}
.solution-tabs {

    display: flex;

    gap: 12px;

    margin: 50px 0;

    flex-wrap: wrap;

}
.solution-tabs button {


    border: 0;

    padding: 14px 26px;

    border-radius: 50px;

    background: #f0ebfb;

    color: #70658a;

    font-weight: 700;

    cursor: pointer;


}
.solution-tabs button.active {

    background: #5932c1;

    color: white;


}
.solution-benefits {


    margin: 35px 0;


}
.solution-platform {


    padding: 35px;


    border-radius: 30px;


    background: white;


    border:

        1px solid #eee4fb;


    box-shadow:

        0 30px 80px rgba(90, 50, 190, .12);


}
.flow-header {


    display: flex;

    align-items: center;

    gap: 15px;


}
.platform-stats {


    display: grid;

    grid-template-columns:

        repeat(3, 1fr);

    gap: 15px;


}
.platform-stats article {


    padding: 25px;

    border-radius: 20px;


    background: #5932c1;

    color: white;


}
.solution-enterprise {

    position: relative;

    overflow: hidden;


}
.solution-enterprise::before {


    content: "";


    position: absolute;


    width: 400px;

    height: 400px;


    right: -150px;

    top: -150px;


    background:

        radial-gradient(circle,
            rgba(110, 60, 210, .12),
            transparent 70%);


}
.solution-platform {


    transition: .5s;


}
.solution-platform:hover {


    transform:
        translateY(-8px);


    box-shadow:

        0 40px 100px rgba(90, 50, 190, .18);


}
.process-flow div {


    transition: .35s;


    position: relative;


    overflow: hidden;


}
.process-flow div:hover {


    background: #5932c1;

    color: white;


    transform:

        translateY(-5px);


}
.process-flow div::after {


    content: "";


    position: absolute;


    inset: 0;


    background:

        linear-gradient(120deg,
            transparent,
            rgba(255, 255, 255, .3),
            transparent);


    transform:

        translateX(-100%);



    transition: .5s;


}
.process-flow div:hover::after {


    transform:

        translateX(100%);


}
.solution-tabs button {


    transition: .3s;


}
.solution-tabs button:hover {


    transform:
        translateY(-3px);


}
.solution-copy {
    transition: .3s ease;
}
.solution-copy.changing {

    opacity: 0;
    transform: translateY(15px);

}
.solution-tabs button {

    position: relative;

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

}
.solution-tabs button:hover {

    transform: translateY(-3px);

}
.solution-tabs button.active::after {


    content: "";


    position: absolute;


    bottom: -6px;


    left: 50%;


    transform: translateX(-50%);


    width: 20px;


    height: 3px;


    border-radius: 10px;


    background: #5932c1;


}
.solution-enterprise {

    transition: .5s ease;

}
.solution-enterprise:hover {


    box-shadow:

        0 40px 100px rgba(89, 50, 193, .12);


}
.solution-ecosystem::before {


    content: "";


    position: absolute;


    width: 400px;

    height: 400px;


    right: -150px;

    top: -150px;


    background:

        radial-gradient(circle,
            rgba(182, 97, 218, .35),
            transparent 70%);

}
.testimonials {

    padding: 120px 0;

}
.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;


}
/* 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;


}
.case-tags {


    display: flex;

    gap: 12px;


    flex-wrap: wrap;


    margin-top: 30px;


}
/* 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;


}
/* CONTROLES */


.slider-controls {


    display: flex;


    justify-content: center;


    gap: 12px;


    margin-top: 30px;


}
.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;


    }


}
.cta-trust {


    display: flex;


    gap: 40px;


    margin-top: 36px;


}
.cta-trust div {


    border-left:

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


    padding-left: 25px;


}
.lead-form textarea {


    height: 80px;


    resize: none;


}
