.home {
    position: relative;
}

.home .topo {
    background: #0E294D;
    position: relative;
    padding: 0;
    color: #FFFFFF;
    overflow: hidden;
}

.home .topo img {
    width: 100%;
    transform: scale(1.75) translateY(-20px);
}

.home .topo .row {
    width: 100%;
    height: 100%;
    max-width: 1548px;
    margin: 0;
}

.home .topo span {
    font-size: 64px;
    text-transform: uppercase;
    line-height: 57px;
    margin: 0;
    color: #9DAEC4;
}

.home .topo button {
    border-radius: 0;
    transition: 0.3s ease;
}

.home .topo button:hover {
    background: #0e294d95;
}

.home .topo::after {
    content: "";
    background-image: url('../images/topo-home.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0.1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
}

.home .topo .btn {
    margin: 0 !important;
    max-width: 278px;
    color: #2E496D;
    font-size: 20px;
}

.home .topo .btn:hover {
    background: #A64B11;
    color: #FFF;
}


.home .topo h1 {
    font-size: 44px;
    text-transform: uppercase;
    line-height: 57px;
    margin: 0;
}

.home .topo h5 {
    font-size: 40px;
}

.home .topo .carousel-inner {
    overflow: visible;
    padding: 94px 0 0 0;
    min-height: 900px;
}

.home .topo .carousel-inner .carousel-item {
    height: 100%;
}

.home .topo .carousel-control-next,
.carousel-control-prev {
    width: 10%;
}


.home .topo .carousel-inner h5 {
    padding: 4% 0 0 0;
}

.home .topo .carousel-inner .bg-2 {
    background-image: url('../images/topo-2.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 1;
    z-index: 1;
}


.home .topo .carousel-inner h1 {
    font-size: 42px;
}

.home .topo .carousel-inner .bg-2 h5 {
    padding: 1% 0 0 0;
}

.home .topo .carousel-inner .bg-2 .row {
    padding: 130px 0 50px 0;
}

.home .topo .carousel-inner .bg-3 {
    background-image: url('../images/topo-3.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 1;
    z-index: 1;
}

.home .topo .carousel-inner h1 {
    font-size: 42px;
}

.home .topo .carousel-inner h5 {
    font-size: 37px;
    padding: 4% 0 0 0;
}

.home .topo .carousel-inner .item {
    width: 100%;
    display: flex;
    justify-content: center;
    height: 100%;
}

.home .nossos-focos {
    background: #f6f6f6;
    padding: 2% 0 3% 0;
}

.home .nossos-focos .row {
    width: 100%;
    max-width: 1700px;
}

.home .nossos-focos h1 {
    font-size: 44px;
}

.home .nossos-focos h2 {
    font-size: 50px;
    color: #2E496D;
}

.home .nossos-focos h5 {
    font-size: 40px;
}

.home .nossos-focos .element {
    display: flex;
    flex-direction: column;
    position: relative;
    cursor: pointer;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    max-width: 527px;
    max-height: 440px;
    overflow: hidden;
    align-items: center;
    justify-content: center;
}

.home .nossos-focos .left {
    border-radius: 50px 0 50px 0;
}

.home .nossos-focos .right {
    border-radius: 0 50px 0 50px;
}

.home .nossos-focos .element a {
    height: 100%
}

.home .nossos-focos .element img {
    width: 100%;
    height: 100%;
    filter: grayscale(100%);
    transition: .3s ease;
}

.home .nossos-focos .element img:hover {
    filter: grayscale(0%);
    transform: scale(1.05);
}

.home .nossos-focos .element .info {
    position: absolute;
    background: #2e496deb;
    right: 50px;
    top: 105px;
    max-width: 250px;
    padding: 20px;
    border-radius: 30px;
    text-align: left;
    pointer-events: none;
}

.home .nossos-focos .element .info p {
    font-size: 26px;
    color: #fff;
    line-height: 30px;
    text-transform: uppercase
}

.home .nossos-focos .element .info a {
    color: #fff;
    padding: 0;
    text-align: left;
    width: 100%;
    text-decoration: none;
}

.home .nossos-diferenciais {
    color: #2E496D;
}


.home .nossos-diferenciais h2 {
    font-size: 50px;
    width: 100%;
    text-align: left;
    padding: 0 0 0 20%;
}

.home .nossos-diferenciais p {
    font-size: 35px;
    line-height: 45px;
    padding: 0 0 0 20%;
}

.home .nossos-diferenciais .col-7 {
    gap: 50px;
}

.home .nossos-diferenciais .resultados {
    background: #A64B11;
    border-radius: 0 50px 50px 0;
    width: 93%;
}

.home .nossos-diferenciais .resultados p {
    font-size: 50px;
    line-height: 60px;
    text-transform: uppercase;
    font-style: italic;
    padding: 2.5% 15% 2.5% 20%;
    margin: 0;
    color: #fff;
}

.home .nossos-diferenciais img {
    width: 97%;
    border-radius: 0% 0% 0% 65%;
}

.home .cases {
    color: #0E294D;
    padding: 4% 0;
}

.home .cases .container {
    max-width: 1460px;
}

.home .cases h2 {
    font-size: 50px;
}

.home .cases h5 {
    color: #2E496D;
    font-size: 35px;
}

.home .cases p {
    font-size: 30px;
    line-height: 35px;
    text-align: center;
    padding: 0 8%;
    color: #4A4A4A;
}

.home .cases .item {
    position: relative;
    cursor: pointer;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    max-width: 467px;
    max-height: 476px;
    overflow: hidden;
    font-size: 36px;
    border: 2px solid #D9D9D9;
    border-radius: 50px;
    padding: 40px 25px;
    transition: .3s ease;
}

.home .cases .item:hover {
    background: #0E294D;
    color: #fff;
}

.home .cases .item:hover .home .cases .item p {
    color: #fff !important;
}

.home .cases .item:hover strong {
    color: #fff;
}

.home .cases .item:hover span {
    color: #fff;
}

.home .cases .item:hover .icon path {
    fill: #4F81BD;
}

.home .cases .item p {
    font-size: 35px;
    line-height: 40px;
    text-align: center;
    padding: 0;
}

.home .cases .item span {
    font-size: 25px;
    line-height: 30px;
    text-align: center;
}

.home .cases .item strong {
    font-size: 40px;
    line-height: 45px;
    text-align: center;
    color: #0E294D;
}

.home .cases .item .icon {
    width: auto;
    height: auto;
}

.home .formacao-estrategica {
    width: 100%;
    color: #0E294D;
    background-image: url('../images/nd-bg.png');
    background-repeat: no-repeat;
    background-position: right;
}

.home .formacao-estrategica img {
    width: 100%;
}

.home .formacao-estrategica .col-5 {
    background-image: url('../images/formacao-estrategica.jpg');
    background-repeat: no-repeat;
    background-position: center;
}

.home .formacao-estrategica .col-xl-7 {
    max-width: 743px;
}

.home .formacao-estrategica .col-7 {
    padding: 10% 0 10% 2%;
}

.home .formacao-estrategica .btn {
    max-width: 278px;
    background: #2E496D;
    font-size: 20px;
    border: none;
    color: #fff;
    z-index: 1;
}

.home .formacao-estrategica .btn:hover {
    background: #A64B11;
    color: #FFF;
    border-radius: 20px;
}

.home .formacao-estrategica h2 {
    max-width: 743px;
    font-size: 45px;
    text-align: center;

}

.home .newslatter {
    width: 100%;
    color: #0E294D;
}

.home .newslatter h2 {
    text-align: left;
    font-size: 50px;
    margin: 0;
    padding: 0;
    color: #2E496D;
}

.home .newslatter img {
    width: 100%;
}

.home .newslatter p {
    font-size: 24px;
    color: #4A4A4A;
    margin: 0;
    padding: 0;
}

.home .newslatter .btn {
    max-width: 380px;
    height: 40px;
    background: #2E496D;
    font-size: 20px;
    border: none;
    color: #fff;
    z-index: 1;
}

.home .newslatter .btn:hover {
    background: #A64B11;
    color: #FFF;
    border-radius: 20px;
}

.home .newslatter a {
    padding: 0;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.home .newslatter .row {
    width: 100%;
    padding: 0 0 0 180px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.home .fale-com-a-gente {
    background-repeat: no-repeat;
    background-position: left;
}

.home .fale-com-a-gente .row {
    width: 100%;
}

.home .fale-com-a-gente .col-xl-9 {
    background: #0E294D;
    border-radius: 12pc 0 0 0;
    padding: 75px 0;
}

.home .fale-com-a-gente h2 {
    font-size: 50px;
    color: #FFFFFF;
    width: 50%;
}

.home .faq {
    padding: 4% 0;
}

.home .faq .row {
    width: 100%;
    max-width: 1156px;
    color: #2E496D;
}

.home .faq h2 {
    font-size: 50px;
    padding: 0;
}

.accordion {
    max-width: 100%;
    margin: 20px auto;
    padding: 0;
}

.accordion-item {
    border: none;
    border-radius: 5px;
    margin-bottom: 10px;
    overflow: hidden;
    font-size: 20px;
    color: #2E496D;
}

.accordion-header {
    background-color: #F6F6F6;
    padding: 10px 40px;
    cursor: pointer;
    font-weight: bold;
    font-size: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: .3s ease;
}

.accordion-header:hover {
    background-color: #4F81BD;
    color: #FFFFFF;
}

.accordion-content {
    padding: 0 60px 0 28px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    background-color: #F6F6F6;
}

.accordion-content-inner {
    padding: 15px;
    color: #4A4A4A;
}

.accordion-item.active .accordion-content {
    max-height: 200px;
}

.accordion-icon {
    transition: transform 0.3s ease;
}

.accordion-item.active .accordion-icon {
    transform: rotate(180deg);
}

@media (max-width: 767.98px) {
    .home .topo {
        padding: 80px 0 0 0;
    }

    .home .topo .row {
        width: 100%;
        max-width: 100%;
        padding: 30px 0 0 0;
    }

    .home .topo h1 {
        font-size: 35px;
        text-transform: uppercase;
        line-height: 40px;
        margin: 0;
    }

    .home .topo span {
        font-size: 28px;
        text-transform: uppercase;
        line-height: 30px;
        margin: 0;
    }

    .home .topo h5 {
        font-size: 35px;
        padding: 0;
    }

    .home .nossos-diferenciais p {
        font-size: 14px;
        line-height: 30px;
        padding: 0 3%;
    }

    .home .nossos-diferenciais h2 {
        font-size: 40px;
        text-align: center;
        padding: 10% 0 0 0;
    }

    .home .nossos-diferenciais .resultados p {
        font-size: 22px;
        line-height: 35px;
        text-transform: uppercase;
        font-style: italic;
        padding: 2.5% 2% 2.5% 2%;
        margin: 0;
        color: #fff;
    }

    .home .newslatter .row {
        width: 100%;
        padding: 10px;
        margin: 0;
    }

}

@media (max-width: 575.98px) {
    .home .topo .row {
        padding: 30px 40px;
    }

    .home .topo .btn {
        margin: 0 auto !important;
        max-width: max-content;
        color: #2E496D;
        font-size: 20px;
        border-radius: 15px;
        padding: 12px 32px;
    }

    .home .topo h1 {
        font-size: 23px;
        text-transform: uppercase;
        line-height: 32px;
        margin: 0;
    }

    .home .topo h5 {
        text-align: center;
        font-size: 24px;
        text-transform: none;
        line-height: 26px;
        margin: 0;
    }

    .home .topo img {
        width: 100%;
        transform: scale(1);
    }

    .home .topo .carousel-inner {
        overflow: visible;
        padding: 0;
        min-height: 790px;
    }

    .home .topo .carousel-inner h1 {
        font-size: 42px;
    }

    .home .topo .carousel-inner h5 {
        padding: 4% 0 0 0;
    }

    .home .topo .carousel-inner .bg-2 {
        background-image: url('../images/topo-2.jpg');
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        opacity: 1;
        z-index: 1;
    }


    .home .topo .carousel-inner h1 {
        font-size: 42px;
    }

    .home .topo .carousel-inner .bg-2 h5 {
        padding: 1% 0 0 0;
    }

    .home .topo .carousel-inner .bg-2 .row {
        padding: 0;
    }

    .home .topo .carousel-inner .bg-3 {
        background-image: url('../images/topo-3.jpg');
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        opacity: 1;
        z-index: 1;
    }

    .home .topo .carousel-inner h1 {
        padding: 40px 0 20px 0;
        font-size: 30px;
    }

    .home .topo .carousel-inner h5 {
        font-size: 24px;
        padding: 4% 0 0 0;
    }

    .home .nossos-focos {
        background: #f6f6f6;
        padding: 5% 0 5% 0;
    }

    .home .nossos-focos .row {
        width: 100%;
        max-width: 90%;
    }

    .home .nossos-focos h1 {
        font-size: 44px;
    }

    .home .nossos-focos h2 {
        font-size: 32px;
        color: #2E496D;
    }

    .home .nossos-focos h5 {
        font-size: 40px;
    }

    .home .nossos-focos .element {
        display: flex;
        flex-direction: column;
        position: relative;
        cursor: pointer;
        width: 100%;
        height: 100%;
        aspect-ratio: 1 / 1;
        max-width: 527px;
        max-height: 440px;
        overflow: hidden;
        align-items: center;
        justify-content: center;
    }

    .home .nossos-focos .left {
        border-radius: 50px 0 50px 0;
    }

    .home .nossos-focos .right {
        border-radius: 0 50px 0 50px;
    }

    .home .nossos-focos .element a {
        height: 100%
    }

    .home .nossos-focos .element img {
        width: 100%;
        height: 100%;
        filter: grayscale(100%);
        transition: .3s ease;
    }

    .home .nossos-focos .element img:hover {
        filter: grayscale(0%);
        transform: scale(1.05);
    }

    .home .nossos-focos .element .info {
        position: absolute;
        background: #2e496deb;
        right: 50px;
        top: 105px;
        max-width: 250px;
        padding: 20px;
        border-radius: 30px;
        text-align: left;
        pointer-events: none;
    }

    .home .nossos-focos .element .info p {
        font-size: 26px;
        color: #fff;
        line-height: 30px;
        text-transform: uppercase
    }

    .home .nossos-focos .element .info a {
        color: #fff;
        padding: 0;
        text-align: left;
        width: 100%;
        text-decoration: none;
    }

    .home .nossos-diferenciais {
        color: #2E496D;
    }


    .home .nossos-diferenciais h2 {
        font-size: 38px;
        width: 100%;
        text-align: center;
        padding: 5% 0 0;
    }

    .home .nossos-diferenciais .bg {
        background: linear-gradient(to top, #eaedf2, #ededed);
    }

    .home .nossos-diferenciais p {
        font-size: 35px;
        line-height: 45px;
        padding: 0 0 0 20%;
    }

    .home .nossos-diferenciais .col-7 {
        gap: 50px;
    }

    .home .nossos-diferenciais .resultados {
        background: none;
        border-radius: 0 50px 50px 0;
        width: 100%;
    }

    .home .nossos-diferenciais .resultados p {
        font-size: 32px;
        line-height: 36px;
        text-transform: uppercase;
        font-style: italic;
        padding: 2.5% 5% 2.5% 5%;
        margin: 0;
        color: #a64b11;
    }

    .home .nossos-diferenciais img {
        width: 100%;
    }

    .home .cases {
        color: #0E294D;
        padding: 5% 0 10%;
    }

    .home .cases .container {
        max-width: 1460px;
    }

    .home .cases h2 {
        font-size: 38px;
    }

    .home .cases h5 {
        color: #2E496D;
        font-size: 24px;
    }

    .home .cases p {
        font-size: 20px;
        line-height: 30px;
        text-align: center;
        padding: 0;
        color: #4A4A4A;
    }

    .home .cases .item {
        position: relative;
        cursor: pointer;
        width: 90%;
        height: 90%;
        aspect-ratio: 1 / 1;
        max-width: 467px;
        max-height: 476px;
        overflow: hidden;
        font-size: 36px;
        border: 2px solid #D9D9D9;
        border-radius: 50px;
        padding: 40px 25px;
        transition: .3s ease;
    }

    .home .cases .item:hover {
        background: #0E294D;
        color: #fff;
    }

    .home .cases .item:hover .home .cases .item p {
        color: #fff !important;
    }

    .home .cases .item:hover strong {
        color: #fff;
    }

    .home .cases .item:hover span {
        color: #fff;
    }

    .home .cases .item:hover .icon path {
        fill: #4F81BD;
    }

    .home .cases .item p {
        font-size: 35px;
        line-height: 40px;
        text-align: center;
        padding: 0;
    }

    .home .cases .item span {
        font-size: 25px;
        line-height: 30px;
        text-align: center;
    }

    .home .cases .item strong {
        font-size: 30px;
        line-height: 32px;
        text-align: center;
        color: #0E294D;
    }

    .home .cases .item .icon {
        width: auto;
        height: auto;
    }

    .home .formacao-estrategica {
        width: 100%;
        color: #0E294D;
        background-image: none;
        background-repeat: no-repeat;
        background-position: right;
    }

    .home .formacao-estrategica img {
        width: 100%;
    }

    .home .formacao-estrategica .col-5 {
        background-image: url('../images/formacao-estrategica.jpg');
        background-repeat: no-repeat;
        background-position: center;
    }

    .home .formacao-estrategica .col-xl-7 {
        max-width: 743px;
    }

    .home .formacao-estrategica .col-7 {
        padding: 10% 0 10% 2%;
    }

    .home .formacao-estrategica .btn {
        max-width: max-content;
        background: #2E496D;
        font-size: 22px;
        padding: 15px 40px;
        border: none;
        border-radius: 15px;
        color: #fff;
        z-index: 1;
    }

    .home .formacao-estrategica .btn:hover {
        background: #A64B11;
        color: #FFF;
        border-radius: 20px;
    }

    .home .formacao-estrategica h2 {
        max-width: 743px;
        font-size: 34px;
        padding: 5% 0;
        margin: 0;
        text-align: center;
    }

    .home .faq {
        padding: 4% 0;
    }

    .home .faq .row {
        width: 100%;
        max-width: 1156px;
        padding: 10% 5% 5%;
        color: #2E496D;
    }

    .home .faq h2 {
        font-size: 30px;
        padding: 0;
    }

    .accordion {
        max-width: 100%;
        margin: 20px auto;
        padding: 0;
    }

    .accordion-item {
        border: none;
        border-radius: 5px;
        margin-bottom: 10px;
        overflow: hidden;
        font-size: 20px;
        color: #2E496D;
    }

    .accordion-header {
        background-color: #F6F6F6;
        padding: 10px;
        cursor: pointer;
        font-weight: bold;
        font-size: 18px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        transition: .3s ease;
    }

    .accordion-header:hover {
        background-color: #4F81BD;
        color: #FFFFFF;
    }

    .accordion-content {
        padding: 0;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out;
        background-color: #F6F6F6;
    }

    .accordion-content-inner {
        padding: 15px;
        color: #4A4A4A;
    }

    .accordion-item.active .accordion-content {
        max-height: 200px;
    }

    .accordion-icon {
        transition: transform 0.3s ease;
    }

    .accordion-item.active .accordion-icon {
        transform: rotate(180deg);
    }

}