@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&display=swap');

:root {
    --design-red: #d71920;
    --design-ink: #20242a;
    --design-text: #5f6670;
    --design-line: #e7e9ed;
    --design-soft: #f6f7f8;
}

.segment-detail-intro {
    padding-bottom: 64px;
}

.segment-detail-kicker {
    display: block;
    color: var(--design-red);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.segment-highlight-list {
    background: var(--design-soft);
    border-left: 3px solid var(--design-red);
    margin: 0;
    padding: 28px 32px;
}

.segment-highlight-list li {
    align-items: center;
    color: var(--design-ink);
    display: flex;
    font-weight: 600;
    gap: 12px;
    padding: 9px 0;
}

.segment-highlight-list i {
    color: var(--design-red);
}

.segment-products-title {
    border-top: 1px solid var(--design-line);
    padding-top: 58px;
}

.segment-products-title h2,
.segment-contact-box h2 {
    color: var(--design-ink);
    font-size: 32px;
    font-weight: 600;
}

.segment-contact-box {
    background: var(--design-soft);
    margin-top: 12px;
    padding: 44px;
    text-align: center;
}

.segment-contact-box p {
    margin: 14px auto 24px;
    max-width: 680px;
}

.segment-detail-overview { padding-top: 64px; border-top: 1px solid var(--design-line); }
.segment-detail-image { position: relative; padding-right: 28px; }
.segment-detail-image:after { position: absolute; right: 8px; bottom: -20px; width: 42%; height: 58%; border-right: 4px solid var(--design-red); border-bottom: 4px solid var(--design-red); content: ''; z-index: -1; }
.segment-detail-image img { width: 100%; min-height: 430px; object-fit: cover; object-position: center top; }
.segment-detail-copy { padding-left: 42px; }
.segment-detail-copy h2, .segment-benefits-section h2 { margin-bottom: 22px; color: #17283a; font-size: 33px; line-height: 1.25; }
.segment-detail-copy p, .segment-benefits-section p { margin-bottom: 14px; color: #64717b; line-height: 1.78; }
.segment-resources-section { padding: 95px 0; background: var(--design-soft); }
.segment-resources-section .sec-title > .text { max-width: 720px; margin-right: auto; margin-left: auto; }
.segment-resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 46px; }
.segment-resource-card { position: relative; min-height: 260px; padding: 32px 29px; overflow: hidden; border-top: 3px solid transparent; background: #fff; box-shadow: 0 8px 26px rgba(15, 31, 48, .06); transition: .25s ease; }
.segment-resource-card:hover { transform: translateY(-4px); border-top-color: var(--design-red); box-shadow: 0 17px 36px rgba(15, 31, 48, .11); }
.segment-resource-number { position: absolute; top: 20px; right: 22px; color: #edf0f2; font-size: 46px; font-weight: 700; line-height: 1; }
.segment-resource-icon { position: relative; display: block; width: 54px; height: 54px; margin-bottom: 22px; color: #fff; background: #17283a; font-size: 21px; line-height: 54px; text-align: center; }
.segment-resource-card h3 { position: relative; margin-bottom: 12px; color: #17283a; font-size: 19px; }
.segment-resource-card p { color: #68747e; font-size: 14px; line-height: 1.65; }
.segment-benefits-section { padding: 90px 0; }
.segment-benefit-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; padding-left: 48px; }
.segment-benefit-list > div { display: flex; align-items: flex-start; gap: 13px; min-height: 110px; padding: 25px; border: 1px solid #e2e6e9; color: #253646; font-weight: 600; line-height: 1.5; }
.segment-benefit-list .fa { margin-top: 3px; color: var(--design-red); font-size: 18px; }
.segment-detail-cta { padding-top: 0; }

@media only screen and (max-width: 767px) {
    .segment-detail-intro {
        padding-bottom: 44px;
    }

    .segment-highlight-list {
        margin-top: 28px;
        padding: 22px 24px;
    }

    .segment-products-title h2,
    .segment-contact-box h2 {
        font-size: 27px;
    }

    .segment-contact-box {
        padding: 32px 22px;
    }

    .segment-detail-overview { padding-top: 45px; }
    .segment-detail-image { padding-right: 0; }
    .segment-detail-image img { min-height: 320px; }
    .segment-detail-image:after { display: none; }
    .segment-detail-copy { padding: 42px 0 0; }
    .segment-detail-copy h2, .segment-benefits-section h2 { font-size: 27px; }
    .segment-resources-section, .segment-benefits-section { padding: 65px 0; }
    .segment-resource-grid, .segment-benefit-list { grid-template-columns: 1fr; }
    .segment-benefit-list { padding: 35px 0 0; }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .segment-detail-copy { padding: 55px 0 0; }
    .segment-resource-grid { grid-template-columns: repeat(2, 1fr); }
    .segment-benefit-list { padding: 45px 0 0; }
}

body,
input,
button,
select,
textarea,
h1,
h2,
h3,
h4,
h5,
h6,
.theme-btn,
.main-menu .navigation > li > a {
    font-family: 'Barlow', Arial, sans-serif;
}

body {
    color: var(--design-text);
    font-size: 15px;
    line-height: 1.65;
}

.text {
    color: var(--design-text);
    font-size: 15px;
    line-height: 1.65;
}

.sp-two {
    padding: 82px 0 62px;
}

.sec-title {
    margin-bottom: 34px;
}

.sec-title h1 {
    color: var(--design-ink);
    font-size: 34px;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.2;
    text-transform: none;
}

/* Preserva a grafia recebida do PHP; o tema original capitalizava
   automaticamente preposições como "em", "de" e "do". */
.page-title h1,
.page-title .bread-crumb li {
    text-transform: none;
}

.sec-title .text {
    margin: 18px auto 0;
    max-width: 760px;
}

.main-header .header-upper {
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid rgba(32, 36, 42, 0.06);
}

.main-header .header-upper.style-three .logo-outer {
    padding: 23px 0;
}

.main-header .header-upper .logo img {
    max-height: 58px;
    width: auto;
}

.header-upper.style-three .main-menu .navigation > li > a {
    color: var(--design-ink);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 33px 19px;
}

.main-header .header-upper.style-three .outer-box {
    margin: 20px 0 20px 10px;
}

.main-slider2 {
    min-height: 520px;
    width: 100%;
    overflow: hidden;
    background: #07111c;
}

.main-slider2 .main-slider-carousel,
.main-slider2 .owl-stage-outer,
.main-slider2 .owl-stage,
.main-slider2 .owl-item,
.main-slider2 .slider-wrapper,
.main-slider2 .slider-wrapper .image {
    width: 100%;
}

.main-slider2 .slider-wrapper .image img {
    display: block;
    width: 100vw;
    max-width: none;
    height: 520px;
    min-height: 520px;
    object-fit: cover;
    object-position: center;
}

.main-slider2 .slider-caption .container {
    padding-left: 32px;
    padding-right: 32px;
}

.main-slider2 h1 {
    font-size: 46px;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.08;
    margin-bottom: 12px;
    max-width: 760px;
}

.main-slider2 .link-btn {
    padding-top: 22px;
}

.btn-style-one,
.btn-style-seven {
    border-radius: 3px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 20px;
    padding: 10px 28px;
}

.btn-style-one {
    background: var(--design-red);
    border-color: var(--design-red);
}

.our-service .row.mt-50,
.project-section .container-fluid.mt-40,
.blog-section .four-item-carousel.mt-40 {
    margin-top: 30px !important;
}

.service-block-six .inner-box {
    border: 1px solid var(--design-line);
    border-radius: 4px;
    padding: 18px 20px 30px;
}

.service-block-six .inner-box .icon-box {
    font-size: 40px;
    height: 66px;
    line-height: 66px;
    width: 66px;
}

.service-block-six .inner-box h4 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}

.service-block-six .inner-box .text {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
}

.grey-bg {
    background-color: var(--design-soft);
}

.project-section .container-fluid {
    max-width: 1120px;
    padding-left: 0;
    padding-right: 0;
    width: calc(100% - 120px);
}

.project-section .project-block-one .inner-box {
    margin-bottom: 20px;
}

.project-section .project-block-one .inner-box .image img {
    aspect-ratio: 0.82;
    object-fit: cover;
    object-position: center top;
}

.project-section .project-block-one .inner-box .caption {
    padding: 16px 20px;
}

.project-section .project-block-one .inner-box .overlay-box .overlay-inner {
    padding: 24px 20px;
}

.project-section .project-block-one .inner-box .overlay-box .text {
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 18px;
}

.project-section .project-block-one .inner-box .overlay-box .read-more {
    font-size: 12px;
    padding: 9px 15px;
}

.project-section .text-center.mt-50 {
    margin-top: 18px !important;
}

.project-block-one .caption h4,
.project-block-one .overlay-box h4,
.news-block-two .lower-content h4 {
    font-family: 'Barlow', Arial, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}

.client-logo .client-logo-area {
    padding: 16px 0 24px;
}

.client-logo .client-logo-area li {
    height: 52px;
}

.news-block-two .lower-content {
    padding: 24px 22px;
}

.news-block-two .lower-content .text {
    font-size: 15px;
    line-height: 1.55;
}

.page-title-blog,
.page-title-segments {
    align-items: center;
    display: flex;
    min-height: 230px;
}

.page-title-blog .container,
.page-title-segments .container {
    position: relative;
    width: 100%;
}

.page-title-blog h1,
.page-title-segments h1 {
    font-size: 44px;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin-bottom: 10px;
}

.page-title-blog .bread-crumb li,
.page-title-segments .bread-crumb li {
    font-family: 'Barlow', Arial, sans-serif;
}

.page-title-centered .outer-box {
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.page-title-centered h1 {
    margin-bottom: 14px;
}

.page-title-centered .bread-crumb {
    display: flex;
    justify-content: center;
    width: 100%;
}

.contact-info-list {
    align-items: stretch;
    justify-content: center;
}

.contact-info-list li {
    align-items: center;
    display: grid;
    flex: 0 0 33.333%;
    gap: 20px;
    grid-template-columns: 48px minmax(0, auto);
    justify-content: center;
    min-height: 124px;
    padding: 24px 34px;
}

.contact-info-list li:last-child {
    padding-right: 34px;
}

.contact-info-list li .icon {
    font-size: 42px;
    left: auto;
    line-height: 1;
    position: static;
    text-align: center;
    top: auto;
    width: 48px;
}

.contact-info-list .contact-info-text {
    display: block;
    line-height: 1.75;
    max-width: 100%;
}

.blog-listing-section .row {
    align-items: stretch;
}

.blog-listing-section .news-block-two {
    display: flex;
}

.blog-listing-section .news-block-two .inner-box {
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
    width: 100%;
}

.blog-listing-section .news-block-two .image img {
    aspect-ratio: 570 / 280;
    object-fit: cover;
}

.blog-listing-section .news-block-two .lower-content {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.blog-listing-section .news-block-two .link-btn {
    margin-top: auto;
    padding-top: 16px;
}

.mt-40,
.mt-50 {
    margin-top: 32px !important;
}

@media only screen and (max-width: 991px) {
    .sp-two {
        padding: 66px 0 48px;
    }

    .sec-title h1 {
        font-size: 30px;
    }

    .main-slider2,
    .main-slider2 .slider-wrapper .image img {
        height: 460px;
        min-height: 460px;
    }

    .main-slider2 h1 {
        font-size: 39px;
    }

    .project-section .container-fluid {
        width: calc(100% - 64px);
    }

    .contact-info-list li {
        gap: 14px;
        padding-left: 18px;
        padding-right: 18px;
    }

    .contact-info-list li:last-child {
        padding-right: 18px;
    }
}

@media only screen and (max-width: 767px) {
    .sp-two {
        padding: 52px 0 36px;
    }

    .sec-title {
        margin-bottom: 26px;
    }

    .sec-title h1 {
        font-size: 27px;
    }

    .main-slider2,
    .main-slider2 .slider-wrapper .image img {
        height: 410px;
        min-height: 410px;
    }

    .main-slider2 .slider-caption .container {
        padding-left: 24px;
        padding-right: 24px;
    }

    .main-slider2 h1 {
        font-size: 34px;
        line-height: 1.12;
    }

    .main-slider2 .theme-btn {
        margin: 0 6px 12px;
    }

    .btn-style-one,
    .btn-style-seven {
        padding: 9px 20px;
    }

    .project-section .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
        width: 100%;
    }

    .page-title-blog,
    .page-title-segments {
        min-height: 190px;
    }

    .page-title-blog h1,
    .page-title-segments h1 {
        font-size: 36px;
    }

    .contact-info-list li {
        border-bottom: 1px solid var(--design-line);
        border-right: 0;
        flex-basis: 100%;
        grid-template-columns: 48px minmax(0, 260px);
        min-height: 100px;
        padding: 20px 15px;
    }

    .contact-info-list li:last-child {
        border-bottom: 0;
        padding-right: 15px;
    }
}

@media only screen and (max-width: 479px) {
    .sec-title h1 {
        font-size: 24px;
    }

    .main-slider2 h1 {
        font-size: 29px;
    }
}
/* Conteúdo institucional da home */
.eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: #c51f2b;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.design-hero-fallback .image img { object-position: center; }
.design-hero-fallback .slide-overlay { background: linear-gradient(90deg, rgba(7, 21, 38, .12) 0%, rgba(7, 21, 38, .03) 46%, rgba(7, 21, 38, .02) 100%); }
.design-hero-fallback .slider-caption h1 { max-width: 720px; }
.design-hero-fallback .hero-description { max-width: 610px; line-height: 1.65; }

.design-platform { overflow: hidden; }
.design-platform-image { position: relative; padding: 0 28px 28px 0; }
.design-platform-image > img { width: 100%; border-radius: 6px; box-shadow: 0 22px 55px rgba(14, 31, 49, .18); }
.experience-badge { position: absolute; right: 0; bottom: 0; width: 210px; padding: 22px; color: #fff; background: #c51f2b; box-shadow: 0 14px 28px rgba(197, 31, 43, .24); }
.experience-badge strong, .experience-badge span { display: block; }
.experience-badge strong { margin-bottom: 5px; font-size: 22px; }
.experience-badge span { font-size: 13px; line-height: 1.4; }
.design-platform-copy { padding-left: 55px; }
.design-platform-copy h2 { margin-bottom: 22px; color: #17283a; font-size: 40px; line-height: 1.15; }
.design-platform-copy > p { margin-bottom: 28px; color: #5b6772; font-size: 16px; line-height: 1.8; }
.platform-benefits { margin-bottom: 32px; }
.platform-benefits li { display: flex; gap: 14px; margin-bottom: 18px; }
.platform-benefits .fa { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; color: #fff; background: #c51f2b; line-height: 28px; text-align: center; }
.platform-benefits strong, .platform-benefits small { display: block; }
.platform-benefits strong { color: #17283a; font-size: 16px; }
.platform-benefits small { margin-top: 2px; color: #68737d; font-size: 14px; line-height: 1.5; }

@media only screen and (max-width: 991px) {
    .design-platform-copy { padding-top: 45px; padding-left: 15px; }
    .design-platform-copy h2 { font-size: 34px; }
    .design-hero-fallback .image img { object-position: 60% center; }
}

@media only screen and (max-width: 767px) {
    .design-platform-image { padding-right: 0; }
    .experience-badge { position: relative; right: auto; bottom: auto; width: 100%; }
    .design-platform-copy h2 { font-size: 30px; }
    .design-hero-fallback .image img { object-position: 68% center; }
}
/* Página Sobre nós */
.about-page-title { background-position: center; background-size: cover; }
.about-page-title:before { background: linear-gradient(90deg, rgba(4, 15, 28, .9), rgba(4, 15, 28, .42)); }
.about-main-image { position: relative; padding: 0 32px 32px 0; }
.about-main-image .image img { width: 100%; min-height: 390px; object-fit: cover; border-radius: 5px; box-shadow: 0 22px 50px rgba(15, 31, 48, .17); }
.about-year { position: absolute; right: 0; bottom: 0; width: 215px; padding: 20px 22px; color: #fff; background: #c51f2b; box-shadow: 0 12px 25px rgba(197, 31, 43, .24); }
.about-year strong, .about-year span { display: block; }
.about-year strong { font-size: 30px; line-height: 1; }
.about-year span { margin-top: 7px; font-size: 12px; line-height: 1.45; }
.about-copy .sec-title { margin-bottom: 22px; }
.about-copy .sec-title h1 { color: #17283a; font-size: 40px; line-height: 1.18; }
.about-copy .text p { margin-bottom: 14px; color: #5d6872; font-size: 15px; line-height: 1.78; }
.about-highlights { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin: 27px 0 30px; padding-top: 23px; border-top: 1px solid #e2e6ea; }
.about-highlights strong, .about-highlights span { display: block; }
.about-highlights strong { color: #17283a; font-size: 16px; }
.about-highlights span { margin-top: 5px; color: #69747e; font-size: 13px; line-height: 1.45; }
.about-value-card { height: calc(100% - 30px); background: #fff; box-shadow: 0 12px 34px rgba(15, 31, 48, .07); }
.about-values .sec-title > .text { max-width: 650px; margin-right: auto; margin-left: auto; }
.about-differentials p { color: #65717b; font-size: 15px; line-height: 1.75; }
.about-feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; padding-left: 45px; }
.about-feature { display: flex; gap: 15px; min-height: 150px; padding: 24px; border: 1px solid #e4e8ec; background: #fff; transition: .25s ease; }
.about-feature:hover { transform: translateY(-4px); border-color: transparent; box-shadow: 0 14px 32px rgba(15, 31, 48, .1); }
.about-feature > .fa { flex: 0 0 38px; color: #c51f2b; font-size: 28px; }
.about-feature strong, .about-feature small { display: block; }
.about-feature strong { margin-bottom: 7px; color: #17283a; font-size: 16px; }
.about-feature small { color: #6b7680; font-size: 13px; line-height: 1.55; }
.about-cta { padding: 0 0 90px; }
.about-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 42px 48px; color: #fff; background: #17283a; }
.about-cta-inner .eyebrow { color: #ef5a65; }
.about-cta-inner h2 { max-width: 760px; color: #fff; font-size: 28px; line-height: 1.35; }
.about-cta-inner .theme-btn { flex: 0 0 auto; }
@media only screen and (max-width: 991px) { .about-copy { padding-top: 38px; } .about-copy .sec-title h1 { font-size: 34px; } .about-feature-grid { padding-top: 35px; padding-left: 0; } .about-cta-inner { align-items: flex-start; flex-direction: column; } }
@media only screen and (max-width: 767px) { .about-main-image { padding-right: 0; } .about-main-image .image img { min-height: 280px; } .about-year { position: relative; width: 100%; } .about-copy .sec-title h1 { font-size: 29px; } .about-highlights, .about-feature-grid { grid-template-columns: 1fr; } .about-cta { padding-bottom: 60px; } .about-cta-inner { padding: 32px 26px; } .about-cta-inner h2 { font-size: 23px; } }
/* Página de Produtos */
.products-page-title { background-position: center; background-size: cover; }
.products-page-title:before { background: rgba(5, 16, 29, .5); }
.products-intro-copy .sec-title { margin-bottom: 22px; }
.products-intro-copy .sec-title h1 { color: #17283a; font-size: 42px; line-height: 1.16; }
.products-intro-copy > p { margin-bottom: 14px; color: #5f6b75; font-size: 15px; line-height: 1.78; }
.products-checklist { margin: 26px 0 32px; }
.products-checklist li { margin-bottom: 12px; color: #253646; font-weight: 600; }
.products-checklist .fa { width: 25px; height: 25px; margin-right: 10px; border-radius: 50%; color: #fff; background: #c51f2b; font-size: 11px; line-height: 25px; text-align: center; }
.products-hero-image img { width: 100%; border-radius: 5px; box-shadow: 0 24px 56px rgba(15, 31, 48, .18); }
.products-modules .sec-title > .text { max-width: 720px; margin-right: auto; margin-left: auto; }
.product-module-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.product-module { position: relative; min-height: 390px; padding: 34px 30px 29px; overflow: hidden; border-top: 3px solid transparent; background: #fff; box-shadow: 0 10px 30px rgba(15, 31, 48, .06); transition: .25s ease; }
.product-module:hover { transform: translateY(-5px); border-top-color: #c51f2b; box-shadow: 0 18px 38px rgba(15, 31, 48, .11); }
.product-module-number { position: absolute; top: 20px; right: 24px; color: #edf0f2; font-size: 52px; font-weight: 700; line-height: 1; }
.product-module-icon { position: relative; width: 58px; height: 58px; margin-bottom: 24px; border-radius: 4px; color: #fff; background: #17283a; font-size: 24px; line-height: 58px; text-align: center; }
.product-module h2 { position: relative; margin-bottom: 14px; color: #17283a; font-size: 20px; line-height: 1.3; }
.product-module p { color: #68747e; font-size: 14px; line-height: 1.65; }
.product-module ul { margin-top: 19px; padding-top: 17px; border-top: 1px solid #e7eaed; }
.product-module li { position: relative; margin-bottom: 8px; padding-left: 16px; color: #3d4b57; font-size: 13px; }
.product-module li:before { position: absolute; left: 0; color: #c51f2b; content: '•'; }
.products-cta { padding: 90px 0; }
.products-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 45px 50px; color: #fff; background: #17283a; }
.products-cta-inner .eyebrow { color: #ef5a65; }
.products-cta-inner h2 { margin-bottom: 8px; color: #fff; font-size: 30px; }
.products-cta-inner p { color: #cbd2d8; }
.products-cta-inner .theme-btn { flex: 0 0 auto; }
@media only screen and (max-width: 991px) { .products-intro-copy { padding-bottom: 45px; } .products-intro-copy .sec-title h1 { font-size: 35px; } .product-module-grid { grid-template-columns: repeat(2, 1fr); } .products-cta-inner { align-items: flex-start; flex-direction: column; } }
@media only screen and (max-width: 767px) { .products-intro-copy .sec-title h1 { font-size: 29px; } .product-module-grid { grid-template-columns: 1fr; } .product-module { min-height: 0; } .products-cta { padding: 60px 0; } .products-cta-inner { padding: 32px 25px; } .products-cta-inner h2 { font-size: 24px; } }
/* Página de Segmentos */
.segments-page-title { background-position: center; background-size: cover; }
.segments-page-title:before { background: rgba(4, 15, 28, .48); }
.segments-intro { position: relative; z-index: 2; margin-bottom: -25px; }
.segments-intro-inner { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; margin-top: -38px; padding: 38px 45px; background: #fff; box-shadow: 0 16px 40px rgba(15, 31, 48, .1); }
.segments-intro-inner h2 { color: #17283a; font-size: 27px; line-height: 1.3; }
.segments-intro-inner p { color: #63707a; font-size: 15px; line-height: 1.75; }
.segments-showcase .sec-title > .text { max-width: 690px; margin-right: auto; margin-left: auto; }
.segments-modern-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.segment-modern-card { display: grid; grid-template-columns: 46% 54%; min-height: 335px; overflow: hidden; color: inherit; background: #fff; box-shadow: 0 10px 30px rgba(15, 31, 48, .07); transition: .28s ease; }
.segment-modern-card:hover { transform: translateY(-5px); box-shadow: 0 20px 42px rgba(15, 31, 48, .14); }
.segment-modern-image { position: relative; display: block; overflow: hidden; }
.segment-modern-image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .5s ease; }
.segment-modern-card:hover .segment-modern-image img { transform: scale(1.04); }
.segment-modern-icon { position: absolute; right: 0; bottom: 26px; width: 52px; height: 52px; color: #fff; background: #c51f2b; font-size: 20px; line-height: 52px; text-align: center; }
.segment-modern-content { display: flex; align-items: flex-start; flex-direction: column; padding: 34px 30px; }
.segment-modern-content small { margin-bottom: 10px; color: #c51f2b; font-size: 11px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.segment-modern-content strong { margin-bottom: 14px; color: #17283a; font-size: 23px; line-height: 1.25; }
.segment-modern-description { color: #69747e; font-size: 14px; line-height: 1.65; }
.segment-modern-link { margin-top: auto; padding-top: 22px; color: #17283a; font-size: 12px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; }
.segment-modern-link .fa { margin-left: 8px; color: #c51f2b; transition: transform .2s ease; }
.segment-modern-card:hover .segment-modern-link .fa { transform: translateX(4px); }
.segments-benefits p { margin-bottom: 30px; color: #64717b; font-size: 15px; line-height: 1.75; }
.segments-benefit-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; padding-left: 45px; }
.segments-benefit-grid > div { min-height: 175px; padding: 26px; border: 1px solid #e3e7ea; }
.segments-benefit-grid .fa { display: block; margin-bottom: 17px; color: #c51f2b; font-size: 25px; }
.segments-benefit-grid strong, .segments-benefit-grid small { display: block; }
.segments-benefit-grid strong { margin-bottom: 7px; color: #17283a; font-size: 16px; }
.segments-benefit-grid small { color: #69747e; font-size: 13px; line-height: 1.55; }
.segments-cta { padding: 0 0 90px; }
.segments-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 43px 48px; background: #17283a; }
.segments-cta-inner .eyebrow { color: #ef5a65; }
.segments-cta-inner h2 { max-width: 780px; color: #fff; font-size: 28px; line-height: 1.35; }
.segments-cta-inner .theme-btn { flex: 0 0 auto; }
@media only screen and (max-width: 991px) { .segments-intro-inner { grid-template-columns: 1fr; gap: 18px; } .segment-modern-card { grid-template-columns: 1fr; } .segment-modern-image { height: 300px; } .segments-benefit-grid { padding-top: 40px; padding-left: 0; } .segments-cta-inner { align-items: flex-start; flex-direction: column; } }
@media only screen and (max-width: 767px) { .segments-intro { margin-bottom: 0; } .segments-intro-inner { margin-top: 0; padding: 30px 24px; } .segments-modern-grid, .segments-benefit-grid { grid-template-columns: 1fr; } .segment-modern-image { height: 280px; } .segments-cta { padding-bottom: 60px; } .segments-cta-inner { padding: 32px 25px; } .segments-cta-inner h2 { font-size: 23px; } }
/* Página de Contato */
.contact-page-title { background-position: center; background-size: cover; }
.contact-page-title:before { background: rgba(4, 15, 28, .45); }
.contact-channel-section { position: relative; z-index: 2; }
.contact-channel-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: -38px; background: #fff; box-shadow: 0 16px 40px rgba(15, 31, 48, .12); }
.contact-channel { position: relative; display: grid; grid-template-columns: 48px 1fr 20px; gap: 16px; align-items: center; min-height: 155px; padding: 28px; border-right: 1px solid #e5e8eb; color: inherit; transition: .25s ease; }
.contact-channel:last-child { border-right: 0; }
.contact-channel:hover { z-index: 2; background: #17283a; box-shadow: 0 14px 34px rgba(15, 31, 48, .2); }
.contact-channel-icon { color: #c51f2b; font-size: 35px; }
.contact-channel small, .contact-channel strong, .contact-channel em { display: block; }
.contact-channel small { margin-bottom: 4px; color: #c51f2b; font-size: 10px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; }
.contact-channel strong { color: #17283a; font-size: 16px; line-height: 1.35; }
.contact-channel em { margin-top: 5px; color: #73808a; font-size: 11px; font-style: normal; line-height: 1.4; }
.contact-channel > .fa { color: #c5cbd0; }
.contact-channel:hover strong, .contact-channel:hover em, .contact-channel:hover > .fa { color: #fff; }
.contact-modern { margin-top: -30px; padding-top: 130px; }
.contact-modern-copy .sec-title h1 { color: #17283a; font-size: 40px; line-height: 1.18; }
.contact-modern-copy > p { margin-bottom: 30px; color: #64717b; font-size: 15px; line-height: 1.78; }
.contact-reasons { margin-bottom: 32px; }
.contact-reasons > div { display: flex; gap: 16px; margin-bottom: 17px; }
.contact-reasons > div > .fa { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: #c51f2b; line-height: 38px; text-align: center; }
.contact-reasons strong, .contact-reasons small { display: block; }
.contact-reasons strong { color: #17283a; font-size: 15px; }
.contact-reasons small { margin-top: 3px; color: #6e7a84; font-size: 12px; line-height: 1.5; }
.contact-location-note { display: flex; gap: 15px; padding: 22px; color: #d8dfe4; background: #17283a; }
.contact-location-note .fa { color: #ef4451; font-size: 22px; }
.contact-location-note p { font-size: 13px; line-height: 1.65; }
.contact-location-note strong { color: #fff; }
.contact-form-card { padding: 42px; background: #fff; box-shadow: 0 18px 48px rgba(15, 31, 48, .1); }
.contact-form-card h2 { margin-bottom: 7px; color: #17283a; font-size: 29px; }
.contact-form-card > p { margin-bottom: 27px; color: #72808a; font-size: 13px; }
.modern-contact-form label { display: block; margin-bottom: 7px; color: #263746; font-size: 12px; font-weight: 700; }
.modern-contact-form label > span { color: #c51f2b; }
.modern-contact-form .form-control { height: 52px; border: 1px solid #dfe4e8; background: #f8f9fa; color: #253746; font-size: 13px; }
.modern-contact-form select.form-control { appearance: auto; }
.modern-contact-form textarea.form-control { height: 135px; padding-top: 15px; resize: vertical; }
.modern-contact-form .form-control:focus { border-color: #c51f2b; background: #fff; box-shadow: 0 0 0 3px rgba(197, 31, 43, .08); }
.contact-consent { display: flex !important; gap: 10px; align-items: flex-start; margin: 0 0 25px !important; color: #68747e !important; font-weight: 400 !important; line-height: 1.5; }
.contact-consent input { margin-top: 3px; }
.contact-consent span { color: inherit !important; }
.contact-consent a { color: #c51f2b; text-decoration: underline; }
.contact-section-btn .theme-btn .fa { margin-left: 9px; }
@media only screen and (max-width: 991px) { .contact-channel-grid { grid-template-columns: 1fr; } .contact-channel { border-right: 0; border-bottom: 1px solid #e5e8eb; } .contact-modern-copy { padding-bottom: 45px; } }
@media only screen and (max-width: 767px) { .contact-channel-grid { margin-top: 0; } .contact-modern { margin-top: 0; padding-top: 70px; } .contact-modern-copy .sec-title h1 { font-size: 29px; } .contact-form-card { padding: 30px 22px; } }
/* Modernização da página inicial */
.home-confidence { position: relative; z-index: 4; }
.home-confidence-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: -34px; background: #fff; box-shadow: 0 16px 42px rgba(15, 31, 48, .13); }
.home-confidence-grid > div { display: flex; gap: 16px; align-items: center; min-height: 120px; padding: 27px 30px; border-right: 1px solid #e5e9ec; }
.home-confidence-grid > div:last-child { border-right: 0; }
.home-confidence-grid > div > .fa { flex: 0 0 43px; color: #c51f2b; font-size: 30px; }
.home-confidence-grid strong, .home-confidence-grid small { display: block; }
.home-confidence-grid strong { margin-bottom: 4px; color: #17283a; font-size: 15px; }
.home-confidence-grid small { color: #6d7983; font-size: 12px; line-height: 1.45; }
.home-confidence + .design-platform { padding-top: 125px; }
.our-service .service-block-six .inner-box { height: calc(100% - 30px); padding: 35px 27px; border: 1px solid transparent; border-radius: 0; background: #fff; box-shadow: 0 10px 30px rgba(15, 31, 48, .06); transition: .25s ease; }
.our-service .service-block-six .inner-box:hover { transform: translateY(-5px); border-color: rgba(197, 31, 43, .16); box-shadow: 0 18px 38px rgba(15, 31, 48, .12); }
.our-service .service-block-six .icon-box { width: 60px; height: 60px; margin: 0 auto 22px; border-radius: 4px; color: #fff; background: #17283a; font-size: 27px; line-height: 60px; }
.our-service .service-block-six .inner-box:hover .icon-box { background: #c51f2b; }
.our-service .service-block-six h4 { margin-bottom: 13px; }
.our-service .service-block-six h4 a { color: #17283a; }
.home-segments { background: #fff; }
.home-segments .sec-title > .text, .client-logo .sec-title > .text, .blog-section .sec-title > .text { max-width: 690px; margin-right: auto; margin-left: auto; }
.home-segments .project-block-one .inner-box { box-shadow: 0 10px 28px rgba(15, 31, 48, .1); }
.home-segments .project-block-one .inner-box .caption { background: linear-gradient(0deg, rgba(8, 20, 32, .88), rgba(8, 20, 32, .08) 70%); }
.home-segments .project-block-one .inner-box .overlay-box { background: rgba(23, 40, 58, .93); }
.home-segments .project-block-one .inner-box .overlay-box .read-more { color: #fff; background: #c51f2b; }
.client-logo { background: #f5f7f8; }
.client-logo .client-logo-area { margin-top: 38px !important; padding: 26px 20px; background: #fff; box-shadow: 0 10px 30px rgba(15, 31, 48, .05); }
.client-logo .client-logo-area li { display: flex; align-items: center; justify-content: center; min-height: 75px; padding: 10px 18px; filter: grayscale(1); opacity: .68; transition: .2s ease; }
.client-logo .client-logo-area li:hover { filter: none; opacity: 1; }
.blog-section { background: #fff; }
.blog-section .news-block-two .inner-box { overflow: hidden; border: 1px solid #e4e8eb; background: #fff; box-shadow: none; transition: .25s ease; }
.blog-section .news-block-two .inner-box:hover { transform: translateY(-5px); border-color: transparent; box-shadow: 0 16px 36px rgba(15, 31, 48, .12); }
.blog-section .news-block-two .image img { width: 100%; height: 190px; object-fit: cover; }
.blog-section .news-block-two .lower-content { padding: 25px; }
.blog-section .news-block-two .read-more-btn { color: #c51f2b; font-weight: 700; }
.blog-section .home-news-card .inner-box { border: 0; border-top: 3px solid transparent; box-shadow: 0 10px 30px rgba(15, 31, 48, .08); }
.blog-section .home-news-card .inner-box:hover { border-top-color: #c51f2b; }
.blog-section .home-news-card .date { margin-bottom: 8px; color: #c51f2b; font-size: 11px; font-weight: 700; letter-spacing: .5px; }
.blog-section .home-news-card h4 a { color: #17283a; }
.blog-section .home-news-card .news-brand-placeholder { height: 190px; }
@media only screen and (max-width: 991px) { .home-confidence-grid { grid-template-columns: 1fr; } .home-confidence-grid > div { border-right: 0; border-bottom: 1px solid #e5e9ec; } .home-confidence-grid > div:last-child { border-bottom: 0; } }
@media only screen and (max-width: 767px) { .home-confidence-grid { margin-top: 0; } .home-confidence + .design-platform { padding-top: 75px; } .home-confidence-grid > div { min-height: 105px; padding: 23px; } }

/* Páginas institucionais, legais e Notícias */
.institutional-page-title {
    position: relative;
    min-height: 280px;
    overflow: hidden;
    background-color: #17283a;
    background-image: linear-gradient(115deg, #101f2e 0%, #17283a 58%, #253d52 100%);
    background-position: center;
    background-size: cover;
}
.institutional-page-title:before { z-index: 1; background: linear-gradient(90deg, rgba(7, 20, 32, .88), rgba(16, 37, 55, .56)); }
.institutional-page-title:after { position: absolute; z-index: 1; right: -90px; bottom: -185px; width: 420px; height: 420px; border: 70px solid rgba(197, 31, 43, .78); border-radius: 50%; content: ''; }
.institutional-page-title .container { position: relative; z-index: 2; width: 100%; }
.institutional-page-title .outer-box { min-height: 280px; height: auto; }
.institutional-page-title h1 { font-size: 46px; letter-spacing: -.5px; text-transform: none; }
.institutional-page-title .bread-crumb li { font-family: 'Barlow', Arial, sans-serif; }

.legal-page-section { background: #f5f7f8; }
.legal-document { overflow: hidden; border-top: 4px solid #c51f2b; background: #fff; box-shadow: 0 18px 48px rgba(15, 31, 48, .1); }
.legal-document-heading { display: grid; grid-template-columns: 74px 1fr; gap: 27px; align-items: start; padding: 38px 46px; border-bottom: 1px solid #e4e8eb; background: linear-gradient(120deg, #fff, #f8f9fa); }
.legal-icon { width: 68px; height: 68px; border-radius: 4px; color: #fff; background: #17283a; font-size: 28px; line-height: 68px; text-align: center; box-shadow: 0 10px 22px rgba(23, 40, 58, .18); }
.legal-document-heading h2 { margin: 4px 0 8px; color: #17283a; font-size: 28px; line-height: 1.25; }
.legal-document-heading p { max-width: 760px; color: #697680; font-size: 14px; line-height: 1.65; }
.legal-content { max-width: 920px; padding: 44px 48px 55px; }
.legal-content .sec-title { margin-bottom: 27px; }
.legal-content .sec-title h1 { color: #17283a; font-size: 30px; line-height: 1.3; }
.legal-content .text, .legal-content > p { color: #5e6b76; font-size: 15px; line-height: 1.8; }
.legal-content .text h1, .legal-content .text h2, .legal-content .text h3, .legal-content .text h4 { margin: 28px 0 12px; color: #17283a; line-height: 1.35; }
.legal-content .text h2 { font-size: 24px; }
.legal-content .text h3 { font-size: 20px; }
.legal-content .text p { margin-bottom: 15px; }
.legal-content .text ul, .legal-content .text ol { margin: 12px 0 20px 22px; }
.legal-content .text li { margin-bottom: 8px; }
.legal-content .text a { color: #c51f2b; text-decoration: underline; }

.news-modern-section { background: #f5f7f8; }
.news-section-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; align-items: end; margin-bottom: 42px; }
.news-section-heading h2 { margin-top: 5px; color: #17283a; font-size: 36px; line-height: 1.2; }
.news-section-heading > p { padding-bottom: 5px; color: #687580; font-size: 15px; line-height: 1.7; }
.news-modern-section .news-block-two .inner-box { border: 0; border-top: 3px solid transparent; box-shadow: 0 10px 30px rgba(15, 31, 48, .07); }
.news-modern-section .news-block-two .inner-box:hover { border-top-color: #c51f2b; }
.news-modern-section .news-block-two .date { color: #c51f2b; font-size: 12px; font-weight: 700; letter-spacing: .4px; }
.news-modern-section .news-block-two .lower-content h4 a { color: #17283a; }
.news-brand-placeholder { position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column; width: 100%; height: 190px; overflow: hidden; color: #fff; background: linear-gradient(125deg, #101f2e, #223b51); }
.news-brand-placeholder:after { position: absolute; right: -45px; bottom: -90px; width: 190px; height: 190px; border: 30px solid #c51f2b; border-radius: 50%; content: ''; opacity: .9; }
.news-brand-placeholder .fa, .news-brand-placeholder strong, .news-brand-placeholder small { position: relative; z-index: 1; }
.news-brand-placeholder .fa { margin-bottom: 13px; color: #e33a46; font-size: 32px; }
.news-brand-placeholder strong { color: #fff; font-size: 17px; letter-spacing: .3px; }
.news-brand-placeholder small { margin-top: 3px; color: #bfcbd4; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }

.modern-blog-details { background: #f5f7f8; }
.news-article { overflow: hidden; border-top: 4px solid #c51f2b; background: #fff; box-shadow: 0 18px 48px rgba(15, 31, 48, .1); }
.news-article-image img { width: 100%; max-height: 480px; object-fit: cover; }
.news-brand-placeholder-large { height: 420px; }
.news-brand-placeholder-large:after { right: -80px; bottom: -180px; width: 420px; height: 420px; border-width: 65px; }
.news-brand-placeholder-large .fa { font-size: 52px; }
.news-brand-placeholder-large strong { font-size: 25px; }
.news-article-content { padding: 45px 52px 52px; }
.news-article-content .date { margin: 5px 0 10px; color: #7a858e; font-size: 13px; }
.news-article-content h1 { margin-bottom: 28px; color: #17283a; font-size: 34px; line-height: 1.25; }
.news-article-content .text { color: #5e6b76; font-size: 15px; line-height: 1.8; }
.news-article-content .text p { margin-bottom: 16px; }
.news-back-link { display: inline-block; margin-top: 35px; padding-top: 22px; border-top: 1px solid #e3e7ea; color: #c51f2b; font-size: 13px; font-weight: 700; }
.news-back-link .fa { margin-right: 8px; }

@media only screen and (max-width: 767px) {
    .institutional-page-title, .institutional-page-title .outer-box { min-height: 230px; }
    .institutional-page-title h1 { font-size: 34px; }
    .institutional-page-title:after { right: -150px; bottom: -230px; }
    .legal-document-heading { grid-template-columns: 1fr; padding: 31px 25px; }
    .legal-document-heading h2 { font-size: 24px; }
    .legal-content { padding: 33px 25px 42px; }
    .legal-content .sec-title h1 { font-size: 25px; }
    .news-section-heading { grid-template-columns: 1fr; gap: 13px; }
    .news-section-heading h2 { font-size: 29px; }
    .news-article-content { padding: 34px 25px 40px; }
    .news-article-content h1 { font-size: 27px; }
}
