/* ==========================================================================
   SEÇÃO HERO - EPS (PIXEL PERFECT)
   ========================================================================== */


.eps_home_hero_badge {
	opacity: 0;
}

/* Estilo para o vídeo ocupar todo o fundo */
.eps_home_hero_video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Faz o vídeo cobrir tudo sem distorcer */
    z-index: -2; /* Fica atrás de tudo */
}

/* Estilo para a div de imagem (caso escolha imagem) */
.eps_home_hero_bg_image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: -2;
}

/* O overlay deve ficar acima do vídeo/imagem, mas abaixo do texto */
.eps_home_hero_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

/* O conteúdo deve estar acima de tudo */
.eps_home_hero_container {
    position: relative;
    z-index: 1;
}



.eps_home_hero {
    position: relative;
    width: 100%;
    height: 693px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center; /* Centraliza o conteúdo verticalmente */
}



.eps_home_hero_container {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    z-index: 2; /* Fica acima do overlay */
}

.eps_home_hero_content {
    max-width: 680px; /* Limita a largura para quebrar o texto igual ao design */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Bullet / Badge Component */
.eps_home_hero_badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    background-color: rgba(255, 255, 255, 0.12); /* Branco 12% */
    border: 1px solid rgba(255, 255, 255, 0.24); /* Branco 24% */
    border-radius: 50px;
    margin-bottom: 24px;
}

.eps_home_hero_badge_dot {
    width: 7px;
    height: 7px;
    background-color: #C5DEEA;
    border-radius: 50%;
    display: inline-block;
    margin-top: -2px;
}

.eps_home_hero_badge_text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 11px;
    line-height: 17.6px;
    letter-spacing: 1.43px;
    color: #ffffff;
    text-transform: uppercase;
}

/* Título */
.eps_home_hero_title {
      font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 51px;
    letter-spacing: 0px;
    color: #ffffff;
    margin: 0 0 0px 0;
    max-width: 32rem;
}

/* Texto Descritivo */
.eps_home_hero_text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 21px;
    line-height: 35px;
    letter-spacing: 0px;
    max-width: 32rem;
    color: #ffffff;
    margin-top: 0px;
}

/* Responsive Ajustes */
@media (max-width: 768px) {
    .eps_home_hero {
        height: auto;
        padding: 100px 0; /* Altura fluida no mobile para não esmagar */
    }
    
    .eps_home_hero_title {
             font-size: 23px;
        line-height: 35px;
        padding-right: 5rem;
    }
    
    .eps_home_hero_text {
        font-size: 15px;
        line-height: 1.3;
        padding-right: 2rem;
    }
}

/* ==========================================================================
   SEÇÃO 2: DIFERENCIAIS (BOLINHA SEPARADORA)
   ========================================================================== */

.eps_home_diff {
    width: 100%;
    height: 96px;
    background-color: #1A3D6D;
    display: flex;
    align-items: center;
}

.eps_home_diff_container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: center; /* Centraliza os itens */
    align-items: center;
    gap: 0; /* O espaçamento agora é controlado pelo pseudo-elemento */
}

.eps_home_diff_item {
    display: flex;
    align-items: center;
    height: 40px;
    justify-content: center;
    position: relative;
}

/* 
   A MÁGICA: Cria a bolinha ANTES de cada item, 
   exceto no primeiro item da lista 
*/
.eps_home_diff_item:not(:first-child)::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #1A81BC;
    border-radius: 50%;
    display: inline-block;
    margin: 0 50px; /* Espaçamento igual dos dois lados da bolinha */
    flex-shrink: 0;
}

/* Textos da seção */
.eps_home_diff_text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 14px;
    line-height: 19.2px;
    letter-spacing: 0.24px;
    color: rgba(255, 255, 255, 0.75);
    white-space: nowrap;
}

/* ==========================================================================
   RESPONSIVIDADE (Mobile Slide)
   ========================================================================== */

@media (max-width: 992px) {
    .eps_home_diff {
        overflow: hidden;
    }
    
    .eps_home_diff_container {
        overflow-x: auto;
        overflow-y: hidden;
        justify-content: flex-start;
        padding: 0 24px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .eps_home_diff_container::-webkit-scrollbar {
        display: none;
    }
    .eps_home_diff_container {
        -ms-overflow-style: none;  
        scrollbar-width: none;  
    }

    .eps_home_diff_item {
        flex: 0 0 auto;
        scroll-snap-align: start;
        padding-right: 0;
    }
    
	.eps_home_diff_item:first-child {
    padding-left: 20px; 
}
	
    /* Ajusta a bolinha no mobile para não ficar colada */
    .eps_home_diff_item:not(:first-child)::before {
        margin: 0 25px;
    }
}


/* ==========================================================================
   SEÇÃO 3: POR QUE A EPS (PIXEL PERFECT & MOBILE CAROUSEL)
   ========================================================================== */

.eps_home_why {
    width: 100%;
    padding: 50px 0;
    background-color: #ffffff;
}

.eps_home_why_container {
    width: 100%;
    max-width: 1200px; /* Alinhamento dinâmico para os 3 cards + espaçamentos */
    margin: 0 auto;
    padding: 0 20px;
}

/* Título de Seção */
.eps_home_why_main_title {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700; /* Bold */
    line-height: 17.6px;
    letter-spacing: 1.65px;
    color: #1A81BC;
    text-align: center;
    margin-top: 0px;
}

@media (max-width: 769px) {
	.eps_home_why_main_title {
		line-height: 30px;
	}
}

/* Grid de Cards */
.eps_home_why_grid {
    display: flex;
    justify-content: center;
    gap: 25px;
    flex-wrap: wrap;
}

/* Componente Card */
.eps_home_why_card {
    width: 365px;
    min-height: 195px;
    background-color: #E9F3F9;
    border: 1px solid #BBBDBF;
    border-radius: 20px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
}

/* Box do Ícone */
.eps_home_why_icon_box {
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.eps_home_why_icon {
    max-height: 100%;
    width: auto;
}

/* Títulos internos dos Cards */
.eps_home_why_card_title {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 700; /* Bold */
    line-height: 24px;
    color: #22356B;
    text-transform: uppercase;
    margin: 0;
}

/* Descrições dos Cards */
.eps_home_why_card_desc {
      font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 22px;
    color: #5A7A8A;
    margin: 0;
    padding: 0 35px;
}

.eps_home_why .swiper {
    padding: 1rem 0 !important; 
}


/* ==========================================================================
   RESPONSIVIDADE: Carrossel 1 por vez no Mobile
   ========================================================================== */

@media (max-width: 1200px) {
    .eps_home_why_grid {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .eps_home_why {
        padding: 60px 0 30px;
    }

    .eps_home_why_grid {
        flex-wrap: nowrap; /* Trava em linha única para o slide */
        overflow-x: auto;
        justify-content: flex-start;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 10px 20px 20px 20px;
        margin: 0 -20px; /* Sangria para os cards irem até a borda do aparelho */
        gap: 16px;
    }

    /* Oculta barra de scroll */
    .eps_home_why_grid::-webkit-scrollbar {
        display: none;
    }
    .eps_home_why_grid {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    /* Modifica o card para ocupar o viewport inteiro (1 por vez) */
    .eps_home_why_card {
        flex: 0 0 calc(100vw - 60px); /* Largura da tela menos os paddings laterais */
        width: calc(100vw - 40px);
        height: 215px !important; min-height: 195px; /* Evita quebra de conteúdo se o texto for longo no mobile */
        scroll-snap-align: center;
    }
}

/* ==========================================================================
   SEÇÃO 4: QUEM SOMOS (PIXEL PERFECT)
   ========================================================================== */

.eps_home_about {
    width: 100%;
    background-color: #F6F5F1;
    display: flex;
    align-items: center;
}

.eps_home_about_container {
    width: 100%;
    max-width: 90%;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

/* Esquerda: Mídia */
.eps_home_about_media {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.eps_home_about_img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

/* Direita: Conteúdo */
.eps_home_about_content {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Alinhado à esquerda conforme imagem real */
    padding: 3rem 0;
}

.eps_home_about_badge {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 17.6px;
    letter-spacing: 1.65px;
    color: #1A81BC;
    text-transform: uppercase;
    margin-bottom: 6px; /* Ajustado proporcionalmente ao grid lateral */
}

.eps_home_about_title {
   font-family: 'Montserrat', sans-serif;
    font-size: 36px;
    font-weight: 800;
    line-height: 50.6px;
    letter-spacing: 0px;
    color: #22356B;
    margin: 0 0 14px 0;
    max-width: 32rem;
}

.eps_home_about_text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 27px;
    color: #5A7A8A;
    margin: 0 0 20px 0;
   max-width: 32rem;
}

/* Botão Customizado */
.eps_home_about_btn {
    display: inline-block;
    background-color: #1A356B;
    border: 1px solid rgba(255, 255, 255, 0.25); /* Branco 25% */
    border-radius: 100px;
    padding: 8px 36px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 17.6px;
    letter-spacing: 1.43px;
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.eps_home_about_btn:hover {
    background-color: #11244A;
    transform: translateY(-2px);
}

/* ==========================================================================
   RESPONSIVIDADE
   ========================================================================== */

@media (max-width: 992px) {
    .eps_home_about {
        height: auto; /* Quebra o limite fixo para não esmagar */
        padding: 0px 0 40px;
        overflow-x: hidden;
    }
    
    .eps_home_about_title {
        font-size: 30px;
        line-height: 42px;
        padding-right: 0;
    }
}

@media (max-width: 768px) {
    .eps_home_about_container {
        grid-template-columns: 1fr;
        gap: 40px;
        max-width: 100%;
        padding: 0 0px;
    }
    
    .eps_home_about_content {
        align-items: center;
        text-align: center;
        padding: 0 40px;
    }
    
    .eps_home_about_media {
        order: -1; /* Mantém a ilustração em cima */
    }
    
    
    .eps_home_about_text {
        padding-right: 0;
    }

    .eps_home_about_badge {
            font-size: 16px;
    }
}

/* ==========================================================================
   SEÇÃO 5: COBERTURA NACIONAL (PIXEL PERFECT)
   ========================================================================== */

.eps_home_shipping {
    width: 100%;
    padding: 30px 0;
    background-color: #ffffff;
    display: flex;
    align-items: center;
}

.eps_home_shipping_container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr; /* Dá um pouco mais de espaço para o texto */
    gap: 60px;
    align-items: center;
}

/* Esquerda: Conteúdo */
.eps_home_shipping_content {
    display: flex;
    flex-direction: column;
}

.eps_home_shipping_title {
    font-family: 'Montserrat', sans-serif;
    color: #1A81BC;
    font-weight: 700;
    font-size: 28px;
    line-height: 100%;
    letter-spacing: 0px;
    margin: 0 0 25px 0;
}

@media (max-width:768px) {
	.eps_home_shipping_title {
		max-width: 250px;
	}
}

/* Estilização interna do Editor WYSIWYG */
.eps_home_shipping_wysiwyg p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 27px; /* Altura confortável para os blocos de texto no layout */
    letter-spacing: 0px;
    color: #000000;
    margin: 0 0 0px 0;
}

.eps_home_shipping_wysiwyg p strong {
    font-weight: 700;
}

/* Alinhamento estrito dos bullets e lista (Correção de encoding) */
.eps_home_shipping_wysiwyg ul {
    list-style: none;
    padding: 0;
        margin: 0 0 0 12px;
}

.eps_home_shipping_wysiwyg ul li {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 27px; /* Ajustado para alinhar perfeitamente com o dot */
    letter-spacing: 0px;
    color: #000000;
    padding-left: 20px;
    position: relative;
    margin-bottom: 0px;
    display: flex;
    align-items: center;
}

/* Criando o DOT via CSS puro para evitar bugs de caracteres especiais */
.eps_home_shipping_wysiwyg ul li::before {
    content: ""; /* Fica vazio para não quebrar */
    width: 6px;
    height: 6px;
    background-color: #000000;
    border-radius: 50%; /* Transforma o quadrado em um círculo perfeito */
    position: absolute;
    left: 0;
    /* Centraliza verticalmente o ponto com a linha */
    top: 50%;
    transform: translateY(-50%); 
}

/* Direita: Mídia */
.eps_home_shipping_media {
    display: flex;
    justify-content: center;
    align-items: center;
}

.eps_home_shipping_img {
    width: 100%;
    max-width: 377px;
    height: auto;
    object-fit: contain;
}

/* ==========================================================================
   RESPONSIVIDADE
   ========================================================================== */

@media (max-width: 992px) {
    .eps_home_shipping_container {
        gap: 40px;
    }
}

@media (max-width: 768px) {
    .eps_home_shipping {
        padding: 60px 0;
    }

    .eps_home_shipping_container {
        grid-template-columns: 1fr; /* Transiciona para coluna única */
        text-align: left;
    }
    
    .eps_home_shipping_media {
        order: 1; /* Coloca o mapa abaixo do texto no mobile */
        margin-top: 0px;
    }

    .eps_home_shipping_img {
        max-width: 300px;
    }

    .eps_home_shipping_content {
        padding: 0 30px;
    }
}

/* ==========================================================================
   SEÇÃO 6: NOSSO MANIFESTO (PIXEL PERFECT)
   ========================================================================== */

.eps_home_manifesto {
    width: 100%;
    padding: 100px 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}

.eps_home_manifesto_container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

/* Coluna da Esquerda */
.eps_home_manifesto_left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.eps_home_manifesto_badge {
    color: rgba(255, 255, 255, 0.70); /* Branco 70% */
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 17.6px;
    letter-spacing: 1.65px;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.eps_home_manifesto_main_title {
  font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 42px;
    color: #FFFFFF;
    letter-spacing: 0;
    line-height: 50.8px;
    margin: 0 0 8px 0;
    padding-right: 5rem;
}

.eps_home_manifesto_sub_title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 32px;
    color: #C5DEEA;
    letter-spacing: 0;
    line-height: 58.8px;
    margin: 0 0 32px 0;
}

/* Botão Customizado da Seção */
.eps_home_manifesto_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #1A81BC;
    width: 269px;
    height: 34px;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.25); /* Branco 25% */
    box-sizing: border-box;
    
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 11px;
    line-height: 17.6px;
    letter-spacing: 1.43px;
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.eps_home_manifesto_btn:hover {
    background-color: #136391;
    transform: translateY(-2px);
}

/* Coluna da Direita (WYSIWYG) */
.eps_home_manifesto_right {
    display: flex;
    flex-direction: column;
}

.eps_home_manifesto_wysiwyg p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 30.4px;
    letter-spacing: 0;
    color: rgba(255, 255, 255, 0.90); /* Leve transparência para conforto visual no escuro */
    margin: 0 0 24px 0;
}

.eps_home_manifesto_wysiwyg p:last-child {
    margin-bottom: 0;
}

.eps_home_manifesto_wysiwyg p strong {
    font-weight: 700; /* Aplica o destaque pedido */
    color: #FFFFFF;
}

/* ==========================================================================
   RESPONSIVIDADE
   ========================================================================== */

@media (max-width: 992px) {
    .eps_home_manifesto_main_title {
        font-size: 36px;
        line-height: 46px;
        padding-right: 0px;
    }
    
    .eps_home_manifesto_sub_title {
        font-size: 18px;
        line-height: 42px;
    }
}

@media (max-width: 768px) {
    .eps_home_manifesto {
        padding: 60px 0;
    }

    .eps_home_manifesto_container {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .eps_home_manifesto_left {
        align-items: center;
        text-align: center;
        padding: 0 20px;
    }
    
    .eps_home_manifesto_badge {
        font-size: 20px;
    }

    .eps_home_manifesto_right {
        text-align: center;
        padding: 0 20px;
    }

    .eps_home_manifesto_wysiwyg p {
        line-height: 24px;
    }
}

/* ==========================================================================
   SEÇÃO 7: PRINCIPAIS SOLUÇÕES (PIXEL PERFECT)
   ========================================================================== */

.eps_home_solutions {
    width: 100%;
    padding: 90px 0 0px;
    background-color: #ffffff;
}

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

/* Header Estrutural Desktop */
.eps_home_solutions_header {
    display: flex;
    align-items: flex-end;
    margin-bottom: 50px;
    gap: 78px;
}

.eps_home_solutions_hl {
    display: flex;
    flex-direction: column;
    margin-left: 15px;
}

.eps_home_solutions_badge {
      font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 17.6px;
    letter-spacing: 1.65px;
    color: #1A81BC;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.eps_home_solutions_main_title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 46px;
    line-height: 50.6px;
    letter-spacing: 0;
    color: #22356B;
    margin: 0;
}

.eps_home_solutions_hr {
    max-width: 500px;
}

.eps_home_solutions_intro {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 27px;
    letter-spacing: 0;
    color: #5A7A8A;
    margin: 0;
}

/* Grid de Cards */
.eps_home_solutions_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 por linha no Desktop */
    gap: 24px;
    justify-items: center;
}

/* O Card Individual */
.eps_home_solutions_card {
    width: 234px;
    height: 250px;
    background-color: rgba(41, 181, 245, 0.13); /* #29B5F521 aproximado */
    border: 1px solid #D0D2D3;
    border-radius: 8px;
    padding: 24px 16px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

/* Box do Ícone */
.eps_home_solutions_icon_box {
    width: 46px;
    height: 46px;
    background-color: rgba(41, 181, 245, 0.08); /* Azure/42 8% */
    border-radius: 4px; /* Combinando suavemente com o card */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.eps_home_solutions_icon_box img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

/* Tipografias internas do card */
.eps_home_solutions_card_title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 15px;
    line-height: 18.75px;
    letter-spacing: 0;
    color: #22356B;
    margin: 0 0 8px 0;
}

.eps_home_solutions_card_desc {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 19.8px;
    letter-spacing: 0;
    color: #5A7A8A;
    margin: 0;
}

/* Rodapé com botão */
.eps_home_solutions_footer {
    display: flex;
    justify-content: center;
    margin-top: 48px;
}

.eps_home_solutions_btn {
       display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #1A81BC;
    width: 374px;
    height: 34px;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-sizing: border-box;
    
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 17.6px;
    letter-spacing: 1.43px;
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.eps_home_solutions_btn:hover {
    background-color: #136391;
    transform: translateY(-2px);
}

/* ==========================================================================
   RESPONSIVIDADE (4 LINHAS X 2 COLUNAS NO MOBILE)
   ========================================================================== */

@media (max-width: 1080px) {
    .eps_home_solutions_grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .eps_home_solutions {
        padding: 60px 0;
    }

    .eps_home_solutions_header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 36px;
        padding: 0 20px;
    }
    
    .eps_home_solutions_badge {
        font-size: 16px;
    }
    
    .eps_home_solutions_main_title {
        font-size: 34px;
        line-height: 40px;
    }

    /* Trava estritamente em 2 colunas horizontais */
    .eps_home_solutions_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        width: 100%;
    }

    /* Ajuste fluido do card no mobile para preencher a coluna */
    .eps_home_solutions_card {
        width: 100%;
        height: auto;
        min-height: 222px; /* Mantém a proporção do design */
    }

    .eps_home_solutions_hl {
    margin-left: 0px;
    }

    .eps_home_solutions_btn {
          width: auto;
          padding: 0 1rem;

    }
    
}

/* ==========================================================================
   SEÇÃO 8: ALGUNS DE NOSSOS CLIENTES (UPGRADE DE TAMANHO DAS IMAGENS)
   ========================================================================== */

.eps_home_clients {
    width: 100%;
    padding: 60px 20px;
    background-color: #ffffff;
    box-sizing: border-box;
}

.eps_home_clients_container {
    width: 100%;
    max-width: 1200px;
    min-height: 316px;
    margin: 0 auto;
    background-color: #EEEEEE;
    border-radius: 20px;
    padding: 48px 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Título */
.eps_home_clients_title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #1A3D6D;
    text-align: center;
    margin: 0 0 48px 0;
}

/* Grid de Logos */
.eps_home_clients_grid {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 60px; /* Aumentado o espaçamento para comportar logos maiores */
}

/* Base dos itens */
.eps_home_clients_item {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 120px !important;
}

.eps_home_clients_item img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}


/* ==========================================================================
   RESPONSIVIDADE MOBILE (3 EM CIMA, 1 EM BAIXO + ALTURA DA ÚLTIMA LOGO)
   ========================================================================== */

@media (max-width: 768px) {
    .eps_home_clients {
        padding: 0px 15px 40px;
    }

    .eps_home_clients_container {
        padding: 32px 16px;
        min-height: auto;
    }

    .eps_home_clients_title {
        font-size: 24px;
        margin-bottom: 32px;
    }

    /* Grid Flex */
    .eps_home_clients_grid {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 24px 8px !important;
    }

    /* As 3 primeiras imagens */
    .eps_home_clients_item {
        width: calc(33.333% - 8px) !important;
        flex: 0 0 calc(33.333% - 8px) !important;
        max-width: calc(33.333% - 8px) !important;
        height: 65px !important; /* Altura das imagens da 1ª linha */
        margin: 0 !important;
    }

    /* 🎯 CONTROLE DA ÚLTIMA IMAGEM (4ª logo / isolada em baixo) */
    .eps_home_clients_item:last-child {
        height: 90px !important; /* <--- Altere este valor para a altura desejada */
        width: 100% !important;   /* Opcional: Garante espaço de sobra para ela centralizar */
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .eps_home_clients_item img {
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
    }
}
	




/* ==========================================================================
   SEÇÃO 9: CASES DESTAQUE (PIXEL PERFECT)
   ========================================================================== */

.eps_home_cases {
    width: 100%;
    padding: 3rem 0;

    background-color: #E9F3F9;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.eps_home_cases_container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
}

/* Header */
.eps_home_cases_header {
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
        margin-left: 15px;

}

.eps_home_cases_badge {
  font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 17.6px;
    letter-spacing: 1.65px;
    color: #1A81BC;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.eps_home_cases_title {
    font-family: 'Montserrat', sans-serif;
    font-size: 42px;
    font-weight: 800;
    line-height: 50.6px;
    color: #22356B;
    margin: 0;
}

/* Grid */
.eps_home_cases_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    justify-items: center;
}

/* Card Inteiro como Link */
.eps_home_cases_card {
    width: 330px;
    height: 455px;
    background-color: #FFFFFF;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none; /* Remove underline nativo de links */
    display: flex;
    flex-direction: column;
    box-shadow: 0px 4px 12px rgba(34, 53, 107, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.eps_home_cases_card:hover {
    transform: translateY(-5px);
    box-shadow: 0px 12px 24px rgba(34, 53, 107, 0.1);
}

/* Imagem do Card */
.eps_home_cases_card_img {
    width: 129px; /* Força largura correta interna */
    width: 100%;
    height: 180px;
}

.eps_home_cases_card_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Conteúdo Textual Interno */
.eps_home_cases_card_content {
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.eps_home_cases_card_cat {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #1A81BC;
    margin-bottom: 12px;
}

.eps_home_cases_card_title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 21.6px;
    color: #22356B;
    margin: 0 0 12px 0;
}

.eps_home_cases_card_desc {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 21.45px;
    color: #5A7A8A;
    margin: 0;
    max-width: 17rem;
}

/* Footer / Botão */
.eps_home_cases_footer {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.eps_home_cases_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #1A81BC;
    width: 374px;
    height: 34px;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-sizing: border-box;
    
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 17.6px;
    letter-spacing: 1.43px;
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.eps_home_cases_btn:hover {
    background-color: #136391;
    transform: translateY(-2px);
}

/* ==========================================================================
   RESPONSIVIDADE (RESPONSIVE EM MOBILE)
   ========================================================================== */

@media (max-width: 1024px) {
    .eps_home_cases {
        height: auto;
        padding: 60px 0;
    }
    
    .eps_home_cases_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .eps_home_cases_header {
        align-items: center;
        text-align: center;
        margin-left: 0px;
    }
    
    .eps_home_cases_title {
        font-size: 34px;
        line-height: 42px;
    }

    /* Empilhamento vertical dos cards */
    .eps_home_cases_grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .eps_home_cases_card {
        width: 100%;
        max-width: 330px; /* Mantém a proporção exata solicitada */
        height: auto;
        min-height: 455px;
    }
    
    .eps_home_cases_btn {
        width: auto;
        max-width: 374px;
        padding: 0 1rem;
    }
    }
    .eps_home_cases_card_desc {
    padding-right: 5px;
}

.eps_home_cases_badge {
    font-size: 16px;
}



/* ==========================================================================
   SEÇÃO 11: CTA FINAL (PIXEL PERFECT)
   ========================================================================== */

.eps_home_cta {
    width: 100%;
    height: 497px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.eps_home_cta_container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 4rem 20px;
    display: flex;
    justify-content: center;
}

.eps_home_cta_box {
    max-width: 850px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Badge Superior */
.eps_home_cta_badge {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 17.6px;
    letter-spacing: 1.65px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.70);
    margin-bottom: 24px;
}

/* Título */
.eps_home_cta_title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: 52px;
    line-height: 57.2px;
    letter-spacing: 0%;
    color: #FFFFFF;
    margin: 0 0 24px 0;
}

/* Descrição */
.eps_home_cta_desc {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0%;
    color: rgba(255, 255, 255, 0.75);
    max-width: 720px;
    margin: 0 0 40px 0;
    padding: 0 1rem;
}

/* Área de Botões */
.eps_home_cta_buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    width: 100%;
}

/* Base dos Botões */
.eps_home_cta_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 261px;
    height: 51px;
    border-radius: 4px;
    box-sizing: border-box;
    text-decoration: none;
    
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 20.8px;
    letter-spacing: 0.98px;
    text-transform: uppercase;
    color: #FFFFFF;
    transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.2s ease;
}

.eps_home_cta_btn:hover {
    transform: translateY(-2px);
}

/* Botão 1: Primário */
.eps_btn_primary {
    background-color: #1A81BC;
    border: 1px solid #1A81BC;
}

.eps_btn_primary:hover {
    background-color: #146696;
    border-color: #146696;
}

/* Botão 2: Secundário */
.eps_btn_secondary {
	display: none;
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.45);
}

.eps_btn_secondary:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.7);
}

/* ==========================================================================
   RESPONSIVIDADE SEÇÃO 11
   ========================================================================== */

@media (max-width: 992px) {
    .eps_home_cta {
        height: auto;
        padding: 80px 0;
    }

    .eps_home_cta_title {
        font-size: 40px;
        line-height: 48px;
    }
}

@media (max-width: 768px) {
    .eps_home_cta {
        padding: 60px 0;
        background-position: center top; /* Ajuste para manter o foco visual no mobile */
                background-size: cover;
    }

    .eps_home_cta_badge {
        font-size: 16px;
        margin-bottom: 16px;
    }

    .eps_home_cta_title {
        font-size: 28px;
        line-height: 36px;
    }

    .eps_home_cta_desc {
        font-size: 15px;
        line-height: 24px;
        margin-bottom: 32px;
    }

    /* Empilhamento dos botões no mobile */
    .eps_home_cta_buttons {
        flex-direction: column;
        align-items: center;
        gap: 16px;
    }

    .eps_home_cta_btn {
        width: 100%;
        max-width: 280px; /* Alinhamento estético confortável para polegares */
    }
}


/* ==========================================================================
   SEÇÃO 12: DEPOIMENTOS COM SWIPER (ATUALIZADO)
   ========================================================================== */

.eps_home_testimonials {
    width: 100%;
    padding: 80px 0;
    background-color: #ffffff;
    box-sizing: border-box;
    overflow-x: hidden;
	display: none;
}

.eps_home_testimonials_container {
    width: 100%;
    max-width: 1420px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
    position: relative;
}

/* Título */
.eps_home_testimonials_title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 100%;
    color: #1A3D6D;
    text-align: center;
    margin: 0 0 40px 0;
}

/* Configuração do Box do Swiper */
.eps_testimonials_swiper {
    width: 100%;
    padding: 60px 0 20px 0 !important; /* Padding pro avatar não cortar no estouro */
    overflow: visible !important; /* Permite visualizar os cards vizinhos nas laterais se quiser */
}

/* Card Individual */
.eps_home_testimonials_card {
    position: relative;
    width: 325px;
    background-color: #F5F5F5;
    border-radius: 20px;
    padding: 60px 24px 24px 24px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    text-align: center;
        box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

/* Foto Flutuante */
.eps_home_testimonials_avatar {
    position: absolute;
    top: -55px;
    left: calc(50% - 55px);
    width: 110px;
    height: 110px;
    border-radius: 50%;
    overflow: hidden;
    background-color: #e0e0e0;
    z-index: 10;
}

.eps_home_testimonials_avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Caixa de Conteúdo */
.eps_home_testimonials_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 2rem;
}

.eps_home_testimonials_name {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 15px;
    line-height: 100%;
    color: #1A81BC;
    margin: 0 0 14px 0;
}

.eps_home_testimonials_text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 162%;
    color: #828282;
    margin: 0;
}

/* Estrelas */
.eps_home_testimonials_rating {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    margin-top: 20px;
}

.eps_home_testimonials_rating img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* Estilização Customizada dos Dots do Swiper */
.eps_home_testimonials_dots {
    position: static !important; /* Remove o absolute padrão do swiper */
    display: flex;
    justify-content: center;
    gap: 8px;
}

/* Bolinha Padrão */
.eps_home_testimonials_dots .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background-color: #D6D6D6 !important;
    opacity: 1 !important;
    margin: 0 !important;
    transition: background-color 0.3s ease;
}

/* Bolinha Ativa */
.eps_home_testimonials_dots .swiper-pagination-bullet-active {
    background-color: #1A81BC !important;
}

/* Responsive Overrides */
@media (max-width: 768px) {
    .eps_home_testimonials {
        padding: 40px 0 ;
    }
    .eps_home_testimonials_title {
        font-size: 26px;
        margin-bottom: 30px;
    }
}


@media (max-width: 1024px) {

.eps_home_testimonials_container {
    overflow-x: hidden;
}
}

