/* Fontes */
@font-face {
    font-family: "CeraPro";
    src: url("../fonts/CeraProRegular.otf");
}

@font-face {
    font-family: "CeraProBold";
    src: url("../fonts/CeraProBold.otf");
}

@font-face {
    font-family: "AvantGarde";
    src: url("../fonts/ITCAvantGardeStd-Md.otf");
}

@font-face {
    font-family: "AvantGardeDemi";
    src: url("../fonts/ITCAvantGardeStd-Demi.otf");
}

@font-face {
    font-family: "AvantGardeBold";
    src: url("../fonts/ITCAvantGardeStd-Bold.otf");
}


/* Padrões Gerais */
body {
    color: white;
    background-color: #333;
    font-family: "AvantGarde";
    font-size: 20px;
    line-height: 150%;
    margin: 0;
}

.img_flutuante {
    position: absolute;
    z-index: 1;
    max-width: 95vw;
}

.container {
    position: relative;
    z-index: 10;
    width: calc(100% - 96px);
    max-width: 1320px;
}

.grid {
    display: grid;
}

button,
a.button {
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    border-radius: 100px;
    padding: 12px 16px;
    border: 0;
    font-family: "CeraPro";
    font-size: 20px;
    background-color: #F39200;
    color: black;
    white-space: nowrap
}

button:hover,
a.button:hover {
    background-color: #FAB900;
}

.titulo_container {
    font-family: "AvantGardeBold";
    font-size: 40px;
    line-height: 120%;
}

.subtitulo_container {
    font-family: "AvantGardeBold";
    font-size: 28px;
    line-height: 120%;
}

.texto_comum {
    font-family: "CeraPro";
    font-size: 18px;
    font-weight: 500;
    line-height: 150%;
}


/* Menu */
nav,
.mobile_nav_block {
    font-size: 24px;
    font-family: "CeraPro";
}

nav {
    padding: 20px 60px;
    background-color: #2B2171;
    border-radius: 100px;
    display: flex;
    gap: 56px;
    z-index: 999;
    left: 50%;
    transform: translate(-50%, 0);
}

/* ALTERADO: seletor "div" trocado para "a", já que os itens de menu agora são links */
nav a,
.mobile_nav a {
    color: #A5D7D5;
    text-decoration: none;
    cursor: pointer;
}

nav a:hover,
.mobile_nav a:hover {
    color: #00ACA9;
}

.nav_alerta {
    background: #FAB900;
    color: #2B2171;
    text-wrap: nowrap;
    padding: 0 10px;
    border-radius: 40px;
    box-shadow: 0 0 0 10px #FAB900;
    font-size: 20px;
}

.mobile_nav_block {
    display: none;
}

@media (max-width: 768px) {
    
    nav {
        display: none;
    }

    .mobile_nav_block {
        z-index: 9999;
        width: calc(100% - 40px);
        display: flex;
        justify-content: space-between;
        position: fixed;
        top: 20px;
        left: 20px;
        right: 20px;
    }

    .mobile_nav {
        position: absolute;
        padding: 60px 10vw 48px 10vw;
        width: calc(100% - 20vw);
        background-color: #2B2171;
        border-radius: 30px;
    }

    .mobile_nav_interno {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        gap: 48px;
    }

    /* ALTERADO: agora é <button>, então neutraliza o fundo laranja/padding do seletor genérico "button" */
    .mobile_nav_interno_fechar {
        position: absolute;
        top: 14px;
        right: 14px;
        background-color: transparent;
        border: 0;
        padding: 0;
        border-radius: 0;
    }

    .mobile_nav_interno_fechar:hover {
        background-color: transparent;
    }

    /* ALTERADO: idem, .mobile_toggle já é <button> — reforça reset visual */
    .mobile_toggle {
        border-radius: 30px;
        padding: 24px;
        background-color: #2B2171;
        height: 32px;
        aspect-ratio: 1 / 1;
        border: 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .mobile_toggle img {
        width: max-content;
        height: 24px;
    }

    .mobile_toggle:hover {
        background-color: #2B2171;
    }

    .nav_alerta_mobile {
        background: #FAB900;
        color: #2B2171;
        text-wrap: nowrap;
        padding: 0 22px;
        border-radius: 40px;
        font-size: 20px;
        line-height: 58px;
    }
}

/* Index */
section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.index_seg1 {
    background: linear-gradient(180deg, #171437 19.85%, #2B2171 79.74%);
    padding: 60px 0 120px 0;
}

.index_seg1 .grid {
    grid-template-columns: 2fr 1fr 6fr 1fr 2fr;
    grid-template-areas: ". . i . ." ". t t t .";
    text-align: center;
    grid-gap: 48px 24px;
}

.seg1_grid_i {
    grid-area: i;
}

.seg1_grid_i img {
    max-width: auto;
}

.seg1_grid_t {
    grid-area: t;
    font-size: 40px;
    line-height: 120%;
    font-weight: 500;
}

/* section 1 fotos */
.fotos_seg0 {
    background: linear-gradient(180deg, #171437 19.85%, #2B2171 79.74%);
    padding: 100px 0 10px 0;
}

.fotos_seg0 .grid {
    text-align: center;
    grid-gap: 48px 24px;
    display: flex;
}

.fotos_grid_i img {
    max-width: auto;
    width: 500px;
}

.fotos_grid_t {
    font-size: 40px;
    line-height: 120%;
    font-weight: 500;
    align-content: center;
    text-align: initial;
}


.index_seg2 {
    background: linear-gradient(180deg, #A5D7D5 0%, #FFD661 100%);
    padding: 96px 0;
    color: black;
}

.index_seg2 .grid {
    grid-template-columns: repeat(2, 1fr) repeat(4, 2fr) repeat(2, 1fr);
    grid-template-areas: ". t t t t t t ." ". . s s s s . ." ". . a b c d . .";
    text-align: center;
    grid-gap: 48px 24px;
}

.seg2_grid_t {
    grid-area: t;
    color: #2B2171;
}

.seg2_grid_s {
    grid-area: s;
}

.seg2_grid_i {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
    font-size: 18px;
    font-family: "CeraPro";
}

.seg2_grid_i div:nth-child(2) {
    line-height: 120%;
}

.seg2_grid_a {
    grid-area: a;
}

.seg2_grid_b {
    grid-area: b;
}

.seg2_grid_c {
    grid-area: c;
}

.seg2_grid_d {
    grid-area: d;
}

.index_seg3 {
    background: #380F80;
    padding: 96px 0;
}

.index_seg3 .grid {
    grid-template-columns: repeat(4, 1fr);
    text-align: center;
    grid-gap: 24px;
}

.index_seg3 .grid .contador {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.index_seg3 .grid .contador div:nth-child(1) {
    font-size: 96px;
    line-height: 110%;
}

.index_seg3 .grid .contador div:nth-child(2) {
    font-size: 28px;
    line-height: 110%;
    font-family: "CeraPro";
}

.index_seg4 {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.00) 50%, rgba(0, 0, 0, 0.40) 100%), #2B2171;
    padding: 96px 0;
}

.index_seg4 .grid {
    grid-template-columns: repeat(2, 1fr);
    text-align: center;
    grid-template-areas: "t i" "a b" "x x";
    grid-gap: 96px 24px;
}

.seg4_grid_t,
.seg4_grid_c {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.seg4_grid_t {
    grid-area: t;
    align-items: flex-start;
    text-align: left;
    align-self: center;
}

.seg4_grid_t div:nth-child(1) {
    color: #FAB900;
}

.seg4_grid_t div:nth-child(2) {
    line-height: 150%;
    font-family: "CeraPro";
}

.seg4_grid_i {
    grid-area: i;
}

.seg4_grid_i img {
    width: 100%;
}

.seg4_grid_c {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.seg4_grid_c div:nth-child(2) {
    font-family: "AvantGardeDemi";
    font-size: 32px;
    line-height: 120%;
}

.seg4_grid_c div:nth-child(3) {
    font-family: "CeraPro";
    font-size: 18px;
    line-height: 150%;
    padding: 0 36px;
}

.seg4_grid_c div:nth-child(3) p {
    margin: 0 0 18px 0;
}

.seg4_grid_c div:nth-child(3) p:last-of-type {
    margin: 0;
}

.seg4_grid_a {
    grid-area: a;
}

.seg4_grid_b {
    grid-area: b;
}

.seg4_grid_x {
    grid-area: x;
}

.index_seg7 {
    background: linear-gradient(#ffffff 70%, #5348aaFF 30%);
    display: flex;
    align-items: center;
    justify-items: start;
    row-gap: 48px;
    padding: 128px 0 48px 0;
}

.index_seg7 .grid {
    display: grid;
    grid-template-columns: 1fr 10fr 15fr 10fr 1fr;
    grid-template-areas: "t t t t t" ". a a a ." ". . b . .";
    text-align: center;
    grid-gap: 48px 24px;
}

.seg7_grid_t {
    grid-area: t;
    padding-bottom: 48px;
}

.seg7_grid_t .titulo_container {
    color: #3d3294FF;
    text-align: center;
}

.seg7_grid_t hr {
    color: #5348aaFF;
}

.seg7_grid_a {
    grid-area: a;
    width: 100%;
    position: relative;
}

.seg7_janela_artigos {
    display: flex;
    align-items: stretch;
    justify-content: center;
    padding: 16px 0;
    gap: 24px;
    /* flex-wrap removido para manter tudo sempre em uma única linha */
}

.seg7_artigo {
    /* Calcula exatamente 1/3 do container para os 3 cards caberem perfeitamente */
    flex: 0 0 calc((100% - 48px) / 3);
    max-width: calc((100% - 48px) / 3);
    margin: 0;
    background-color: #ffffff;
    border: 2px solid #99acd2FF;
    text-align: left;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 0;
    font: inherit;
    cursor: pointer;
    box-sizing: border-box;
    text-decoration: none;
    /* ALTERADO: agora é <a>, remove sublinhado padrão de link */
    word-break: break-all;
    white-space: normal;
    
    .artigo_conteudo {
    padding: 20px;
}
}


.seg7_artigo:hover {
    background-color: #fcfcfc;
}

.seg7_janela_artigos img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    font-family: "CeraPro";
    text-decoration: none;
    text-transform: none;
}

.seg7_artigo_titulo {
    margin-bottom: 16px;
    color: #2c2171FF;
    font-family: "CeraPro";
    font-style: normal;
    font-size: 24px;
    text-align: left;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0px;
}

.seg7_artigo_texto {
    color: #222222FF;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0px;
}

.index_seg8 {
    background: #100843;
    display: flex;
    align-items: center;
    justify-items: start;
    row-gap: 48px;
    padding: 128px 0 48px 0;
}

.index_seg8 .grid {
    display: grid;
    grid-template-columns: 2fr 1fr 6fr 1fr 2fr;
    grid-template-areas: "t t t t t" "c c c c c" ". . b . .";
    text-align: center;
    grid-gap: 48px 24px;
}

.seg8_grid_t {
    grid-area: t;
    font-size: 40px;
    line-height: 120%;
    font-weight: 500;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.seg8_grid_c {
    grid-area: c;
    position: relative;
    width: 100%;
}

.seg8_grid_b {
    grid-area: b;
}

.seg8_carrossel_janela {
    overflow: hidden;
    border-radius: 16px;
    cursor: grab;
    touch-action: pan-y;
}

.seg8_carrossel_janela.seg8_arrastando {
    cursor: grabbing;
}

.seg8_carrossel_trilho {
    display: flex;
}

.seg8_carrossel_objeto {
    flex: 0 0 25%;
    padding: 0 12px;
    box-sizing: border-box;
}

.seg8_carrossel_objeto {
    flex: 0 0 25%;
    padding: 0 12px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.seg8_carrossel_objeto img {
    width: 100%;
    height: 220px;
    object-fit: contain;
    border-radius: 16px;
    display: block;
    background-color: rgba(0, 0, 0, 0.2);
}

.seg8_carrossel_dots {
    display: flex;
    justify-content: center;
    gap: 31px;
    margin-top: 48px;
}

.seg8_carrossel_dot {
    width: 12px;
    height: 12px;
    border-radius: 100%;
    background-color: rgba(255, 255, 255, 0.3);
    cursor: pointer;
}

.seg8_carrossel_dot.ativo {
    background-color: #999999;
}

.seg8_carrossel_trilho .seg8_carrossel_botao {
    all: unset;
    display: block;
    width: 100%;
    cursor: pointer;
    background: transparent;
}

.seg8_carrossel_trilho .seg8_carrossel_botao:hover {
    background: transparent;
}

.seg8_carrossel_trilho .seg8_carrossel_botao img {
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: none;
}

.seg8_lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.seg8_lightbox.seg8_lightbox_ativo {
    display: flex;
}

.seg8_lightbox_img {
    max-width: 90vw;
    max-height: 90vh;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    cursor: default;
}

/* Container do carrossel configurado em coluna para manter as bolinhas centralizadas embaixo */
.seg8_grid_c {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* Janela do carrossel */
.seg8_carrossel_janela {
    width: 100%;
    overflow: hidden;
}

/* Posicionamento absoluto das setas nas laterais */
.seg8_nav_arrow {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.9);
    color: #2b2171;
    border: none;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s, color 0.2s;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.seg8_nav_arrow:hover {
    background-color: #FAB900;
}

.seg8_prev {
    left: -20px;
}

.seg8_next {
    right: -20px;
}

/* Alinhamento das bolinhas (dots) */
.seg8_carrossel_dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
    width: 100%;
}

.index_seg5 {
    background: linear-gradient(180deg, #F6E2A2 0%, #FFF 100%);
    padding: 96px 0;
    color: black
}

.collapse {
    width: 50%;
    padding-top: 48px;
}
.collapse_object{
    display: flex;
    border-bottom: #5e5d5d solid 1px;
}
.collapse_object > div {
    width: 100%;
    padding: 0 0 0 10px;
    margin: 12px 0 12px 0;
}
.col_lks{
    justify-content: right;
    left: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.col_lks > .barra{
    border: 1px black solid; @media (max-width: 1174px) {border:none;}; 
}

.link_no_decoration{
    text-decoration: none;
    color: #000;
}
.link_no_decoration:hover{
    color: #bf7200;
}

summary {
    /* Override default "display: list-item" and position the summary text as well as the custom arrow icon */
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    
    /* General styling */
    cursor: pointer;
    font-weight: 500;
    padding: 0.75rem;
    
		/* Fallback code to hide standard marker, especially on Safari */
		&::marker,
		&::-webkit-details-marker {
			display: none;
		}
    
    &::after {
      /* CSS for chevron shape from https://css-shape.com/chevron/ */
      --shape-chevron-width: 1rem;
      --s: calc(var(--shape-chevron-width) / 4);

      /* Styling */
      content: "";
      aspect-ratio: 7/5;
      background: currentColor;
      clip-path: polygon(0 0, 0 var(--s), 50% 100%, 100% var(--s), 100% 0, 50% calc(100% - var(--s)));
      flex-shrink: 0;
      width: var(--shape-chevron-width);
      
      /* Animation */
			rotate: 0deg;
			transition: rotate 0.35s ease;
    }
  }
  details[open] > summary::after {
  rotate: 180deg;
}



.index_seg5 .grid {
    grid-template-columns: repeat(2, 1fr) repeat(2, 4fr) repeat(2, 1fr);
    grid-gap: 48px 24px;
    text-align: center;
    grid-template-areas: ". . h1 h1 . ." ". . h2 h2 . ." "a a a b b b" ". c c c c ." ". . d d . ." "n n n n n n" "r r r r r r";
}

.index_seg5 .grid_index {
    grid-template-areas: ". . h1 h1 . ." ". . h2 h2 . ." "a a a b b b" ". c c c c ." ". . d d . ." "n n n n n n" "r r r r r r";
}

.index_seg5 .grid_etapas {
    grid-template-areas: ". . h1 h1 . ." "n n n n n n" "r r r r r r";
}

.seg5_grid_h1 {
    grid-area: h1;
    color: #2B2171;
}

.seg5_grid_h2 {
    grid-area: h2;
}

.seg5_grid_a,
.seg5_grid_b {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.seg5_grid_a img,
.seg5_grid_b img {
    width: 100%;
    border-radius: 16px;
}

.seg5_grid_a {
    grid-area: a;
}

.seg5_grid_b {
    grid-area: b;
}

.seg5_grid_c {
    grid-area: c;
    color: #2B2171;
    font-size: 32px;
    font-family: "AvantGardeDemi";
    line-height: 120%;
    margin-top: 48px;
}

.seg5_grid_d {
    grid-area: d;
    margin-top: -24px;
}

.seg5_grid_r {
    border-radius: 16px;
    text-align: left;
    color: white;
    border: 1px solid #000;
    background: #2B2171;
    grid-area: r;
    padding: 48px;
    display: grid;
    grid-gap: 24px;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-areas: "m a b" "m c d";
}

.seg5_grid_r .subgrid_passo {
    display: flex;
    flex-direction: column;
}

.seg5_grid_r .subgrid_passo div:nth-child(1) {
    color: #00ACA9;
    font-size: 32px;
    line-height: 120%;
    font-family: "AvantGardeDemi";
}

.seg5_grid_r .subgrid_passo div:nth-child(2) {
    font-family: "CeraProBold";
    font-size: 20px;
}

.seg5_grid_r .subgrid_m {
    grid-area: m;
    display: flex;
    flex-direction: column;
    gap: 48px;
    padding-right: 24px;
}

.seg5_grid_r .subgrid_m .grid_r_desktop {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.seg5_grid_r .subgrid_a {
    grid-area: a;
}

.seg5_grid_r .subgrid_b {
    grid-area: b;
}

.seg5_grid_r .subgrid_c {
    grid-area: c;
}

.seg5_grid_r .subgrid_d {
    grid-area: d;
}

.seg5_grid_r .subgrid_x {
    display: none;
}

.seg5_grid_a26 {
    border-radius: 16px 16px 0 0;
    background: #FAB900;
    color: #2A246A;
    grid-area: n;
    font-family: "CeraPro";
    margin-bottom: -48px;
    line-height: 56px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 10px;
}

.seg5_grid_a26 span {
    font-family: "CeraProBold";
}

.index_seg6 {
    background: linear-gradient(180deg, #55AAA7 0%, #2A246A 100%);
    padding: 96px 0;
}

.index_seg6 .grid {
    grid-template-columns: 2fr 8fr 2fr;
    grid-template-areas: ". a .";
}

.index_seg6 .grid>* {
    grid-column: 2;
}

.seg6_grid_t {
    text-align: center;
    font-size: 40px;
    margin-bottom: 48px;
    line-height: 120%;
}

/* ALTERADO: .seg6_grid_p agora é <button> — neutraliza fundo laranja, centralização e força largura total */
.seg6_grid_p {
    font-family: "CeraPro";
    display: grid;
    grid-template-columns: 1fr max-content;
    grid-template-areas: "a b" "c c";
    padding: 24px 0;
    border-bottom: 1px solid white;
    cursor: pointer;
    background-color: transparent;
    text-align: left;
    width: 100%;
    color: inherit;
    font-size: inherit;
    border-radius: 0;
    white-space: normal;
}

.seg6_grid_p:hover {
    background-color: transparent;
}

.seg6_grid_p:last-of-type {
    border: 0;
}

.seg6_grid_p div:nth-child(1) {
    grid-area: a;
    font-family: "CeraProBold";
    font-size: 20px;
}

.seg6_grid_p div:nth-child(2) {
    grid-area: b;
}

.seg6_grid_p div:nth-child(3) {
    grid-area: c;
    margin-top: 12px;
}

@media (max-width: 768px) {
    .collapse{
        width: 75%;
    }
    .index_seg1 .grid {
        grid-template-columns: 1fr;
        grid-template-areas: "i" "t";
        grid-gap: 48px 24px;
    }

    .seg1_grid_i img {
        max-width: calc(100% - 40px);
    }

    .fotos_seg0 .grid {
        grid-template-columns: 1fr;
        grid-template-areas: "i" "t";
        grid-gap: 48px 24px;
        flex-direction: column-reverse;
    }

    .fotos_grid_t {
        text-align: center;
    }

    .fotos_grid_i img {
        max-width: calc(100% - 40px);
    }

    .index_seg2 .grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: "t t" "s s" "a b" "c d";
        text-align: center;
        grid-gap: 48px 24px;
    }

    .index_seg3 .grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .index_seg3 .grid .contador div:nth-child(1) {
        font-size: 60px;
        line-height: 110%;
    }

    .index_seg3 .grid .contador div:nth-child(2) {
        font-size: 18px;
    }

    .index_seg4 .grid {
        grid-template-columns: 1fr;
        text-align: center;
        grid-template-areas: "i" "t" "a" "b" "x";
        grid-gap: 96px 24px;
    }

    .seg4_grid_t {
        text-align: center;
    }

    .seg4_grid_t div {
        width: 100%;
    }

    .seg4_grid_c div:nth-child(3) {
        padding: 0;
    }

    .seg7_janela_artigos {
        display: flex;
        flex-direction: column;
        /* Empilha os cards na vertical em telas menores */
        align-items: center;
        gap: 24px;
    }

    .seg7_artigo {
        width: 100%;
        max-width: 400px;
        /* Evita que o card fique gigante no mobile, mantendo boa leitura */
    }

    .seg8_carrossel_objeto {
        flex: 0 0 50%;
    }

    .index_seg5 .grid {
        grid-template-columns: 1fr;
        grid-template-areas: "h1" "h2" "a" "b" "c" "d" "n" "r";
    }

    .index_seg5 .grid>div {
        text-align: center;
    }

    .seg5_grid_r {
        text-align: left;
        color: white;
        border: 1px solid #000;
        background: #2B2171;
        grid-area: r;
        padding: 48px;
        display: grid;
        grid-gap: 24px;
        grid-template-columns: 1fr;
        grid-template-areas: "m" "a" "b" "c" "d" "x";
    }

    .seg5_grid_r .subgrid_m .grid_r_desktop {
        display: none;
    }

    .seg5_grid_r .subgrid_x {
        grid-area: x;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 24px;
        margin-top: 48px;
    }

    .index_seg6 .grid {
        grid-template-columns: 1fr;
        grid-template-areas: "a";
    }

    .index_seg6 .grid>* {
        grid-column: 1;
    }

    .seg5_grid_a26 {
        flex-direction: column;
        gap: 0;
        line-height: 150%;
        padding: 16px 0;
    }

}

@media (max-width: 440px) {
    .seg8_prev {
    left: -5px;
}

.seg8_next {
    right: -5px;
}
    .collapse {
        width: calc(100% - 48px);
    }
    .container {
        width: calc(100% - 18px);
    }

    .index_seg3 .grid {
        grid-template-columns: 1fr;
    }

    .seg8_carrossel_objeto {
        flex: 0 0 100%;
    }
}


/* Artigos */
.artigos_seg1 {
    padding: 48px 0 24px 0;
}

.artigos_seg1 .container {
    background-color: white;
    color: black;
    border-radius: 10px;
    width: 752px;
}

.artigos_seg1 .grid {
    padding-bottom: 48px;
    min-width: 0;
}

.artigos1_grid_i {
    margin: 0; /* reset da margem padrão do <figure> */
}

.artigos1_grid_i img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
}

.legenda_capa {
    font-family: "CeraPro";
    font-size: 14px;
    color: #6b6b6b;
    text-align: center;
    padding: 8px 20px 0 20px;
}

.artigos1_grid_t {
    word-break: break-word;
    margin: 50px 20px 10px 20px;
    text-align: center;
    font-size: 40px;
    color: #2B2171;
    line-height: 1.2;
    font-family: "AvantGardeBold";
    font-weight: 700;
    letter-spacing: 0px;
    overflow-wrap: break-word;
}

.artigos1_grid_s {
    margin: 10px 20px 10px 20px;
    text-align: center;
    font-size: 20px;
    color: #2B2171;
    line-height: 1.2;
    font-family: "CeraPro";
    font-weight: 700;
    letter-spacing: 0px;
    overflow-wrap: break-word;
}

.artigos1_grid_e {
    margin: 10px 20px 10px 20px;
}

.artigos1_grid_e .texto_comum {
    font-size: 18px;
    font-weight: 400;
    color: #000;
    line-height: 1.4;
    font-family: "AvantGarde";
    overflow-wrap: break-word;
}
.artigos1_grid_e p img {
    width: 100%;
    height: auto;
}

.artigos1_grid_a {
    margin: 10px 20px 10px 20px;
    overflow-wrap: break-word;
    display: grid;
    grid-template-columns: 1fr 4fr;
    grid-template-areas: "a1 a2";
    grid-gap: 20px;
}

.artigos1_grid_a img {
    grid-area: a1;
    width: 100%;
    margin-top: 5px;
    border-radius: 10px;
}

.artigos1_grid_a .texto_comum {
    grid-area: a2;
    color: #201b46FF;
    font-family: "CeraPro";
    font-size: 16px;
    line-height: 1.4;
}

.artigos1_grid_a .texto_comum p {
    margin-top: 0;
}

.artigos1_grid_e h2,
.artigos1_grid_e h3 {
    font-weight: 500;
    line-height: 1.3;
}

.artigos1_grid_e h2 {
    font-size: 26px;
}

.artigos1_grid_e h3 {
    font-size: 22px;
}

.artigos1_grid_e h2 strong,
.artigos1_grid_e h2 b,
.artigos1_grid_e h3 strong,
.artigos1_grid_e h3 b {
    font-family: "AvantGardeBold", "CeraProBold", sans-serif;
    font-weight: 700;
}

.artigos1_grid_e li[data-list="bullet"] {
    list-style-type: disc;
}

.artigos1_grid_e li[data-list="ordered"] {
    list-style-type: decimal;
}

.artigos_seg2 {
    padding: 24px 0 48px 0;
}

.artigos_seg2 .container {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 75%, rgba(83, 72, 170, 1) 75%);
    color: black;
    border-radius: 10px;
    width: 752px;
}

.artigos_seg2 .grid {
    padding-bottom: 150px;
    min-width: 0;
    display: inherit;

}

.artigos2_grid_b {
    height: 50px;
    align-content: center;
    margin: 30px;
}

.artigos2_grid_b .titulo_container {
    font-size: 30px;
    color: #3d3294FF;
    line-height: 120%;
}

.artigos2_grid_b hr {
    border: #5348aaFF solid 1px;
}

/* Carrossel de "Outros Artigos" */
.artigos2_grid_c {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.artigos2_carrossel_janela {
    width: 100%;
    overflow: hidden;
    padding-bottom: 12px;
    margin-bottom: -12px;
}

.artigos2_carrossel_trilho {
    justify-content: center;
    display: flex;
    transition: transform 0.5s ease-in-out;
    flex-wrap: nowrap;
}

.artigos2_carrossel_objeto {
    display: flex;
    flex: 0 0 33.3333%;
    padding: 0 10px;
    box-sizing: border-box;
    min-width: 0;
    box-sizing: border-box;
    .artigo_conteudo{
        padding: 10px;
    }
}

.artigos2_carrossel_objeto .artigo {
    width: 100%;
    margin: 0;
    border: gray solid 2px;
    border-radius: 10px;
    background-color: rgb(255, 255, 255);
    overflow: hidden;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.artigos2_carrossel_objeto .artigo img {
    width: 100%;
        max-width: 100%;
    height: auto;
    display: block;
}

.artigos2_carrossel_objeto .artigo .titulo {
    margin-bottom: 16px;
    color: #2c2171FF;
    font-size: 18px;
    font-family: "CeraPro";
    font-weight: 700;
    line-height: 1.2;
    overflow-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 1; /* Número máximo de linhas */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.artigos2_carrossel_objeto .artigo .texto {
    color: #222222FF;
    font-size: 14px;
    font-family: "CeraPro";
    font-weight: 400;
    line-height: 1.2;
    overflow-wrap: break-word;
      display: -webkit-box;
    -webkit-line-clamp: 2; /* Número máximo de linhas */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.artigos2_nav_arrow {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.9);
    color: #2b2171;
    border: none;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.artigos2_nav_arrow:hover {
    background-color: #fab900;
}

.artigos2_prev {
    left: -20px;
}

.artigos2_next {
    right: -20px;
}

.artigos2_carrossel_dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
    width: 100%;
}

.artigos2_carrossel_dot {
    width: 12px;
    height: 12px;
    border-radius: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    cursor: pointer;
}

.artigos2_carrossel_dot.ativo {
    background-color: #2b2171;
}

@media (max-width: 768px) {


    .artigos2_carrossel_objeto {
        
        flex: 0 0 33.3333%;
        min-width: 0;
        padding: 0 10px;
        box-sizing: border-box;
    }
    .artigos2_carrossel_objeto .artigo .artigo_conteudo { padding: 20px; }
    .artigos2_carrossel_objeto .artigo .titulo { font-size: 24px;}
    .artigos2_carrossel_objeto .artigo .texto { font-size: 16px;}
}

.artigos_seg2 hr {
    color: #000;
    width: 100%;
}

/* Suporte ao recuo de parágrafos (Indent) do Quill */
.ql-indent-1 {
    padding-left: 3em !important;
}

.ql-indent-2 {
    padding-left: 6em !important;
}

.ql-indent-3 {
    padding-left: 9em !important;
}

.ql-indent-4 {
    padding-left: 12em !important;
}

.ql-indent-5 {
    padding-left: 15em !important;
}

.ql-indent-6 {
    padding-left: 18em !important;
}

.ql-indent-7 {
    padding-left: 21em !important;
}

.ql-indent-8 {
    padding-left: 24em !important;
}

@media (max-width: 768px) {
    .artigos_seg1 {
        padding: 60px 0;
    }

    .artigos_seg1 .container {
        width: 90%;
    }

    .artigos_seg1 .grid {
        grid-template-columns: 1fr;
        grid-template-areas: "i" "t" "s" "e" "a";
        grid-gap: 16px;
        padding-bottom: 24px;
    }

    .artigos1_grid_s {
        font-size: 18px;
    }

    .artigos1_grid_e {
        font-size: 16px;
    }

    .artigos_seg2 {
        padding: 40px 0;
    }

    .artigos_seg2 .container {
        width: 90%;
    }

    .artigos2_grid_b {
        height: auto;
        margin: 20px;
    }

    .artigos2_grid_b .titulo_container {
        font-size: 24px;
    }
}

@media (max-width: 600px) {
    .artigos2_grid_c {
        align-items: center;
    }

    .artigos_seg2 .grid {
        padding-bottom: 60px;
    }
}

@media (max-width: 440px) {
    .artigos1_grid_a {
        display: block
    }

    .artigos1_grid_a img {
        grid-area: a1;
        width: 50%;
    }

    .artigos_seg1 {
        padding: 40px 0;
    }

    .artigos1_grid_t {
        font-size: 35px;
    }

    .artigos_seg2 {
        padding: 24px 0;
    }

    .artigos2_grid_b {
        margin: 15px;
    }

    .artigos2_grid_b .titulo_container {
        font-size: 20px;
    }
}

/* Fotos */
.fotos_seg1 .container {
    margin: 48px;
    background-color: rgb(255, 255, 255);
    border-radius: 10px;
}

.fotos_seg1 .grid {
    margin: 25px;
    grid-template-columns: 1fr;
    grid-template-areas: "a" "b" "c";
    grid-gap: 48px;
    text-align: center;
}

.fotos1_grid_a.titulo {
    color: #2b2171;
    grid-area: a;
    font-family: "AvantGardeBold";
    font-size: 40px;
    line-height: 120%;
}

.fotos1_grid_b {
    grid-area: b;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.fotos1_grid_b .filtro,
.fotos1_grid_b .ordem {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    font-family: "CeraPro";
    font-size: 18px;
}

.fotos1_grid_b .filtro {
    margin-right: auto;
}

.fotos1_grid_b .ordem {
    margin-left: auto;
}

.fotos1_grid_b label {
    font-family: "CeraProBold";
    color: #2b2171FF;
}

.fotos1_grid_b .selects_linha {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.fotos1_grid_b select {
    min-width: 100px;
    max-width: 250px;
    font-family: "CeraPro";
    font-size: 16px;
    color: #2B2171;
    background-color: white;
    border: #2b2171 solid 2px;
    border-radius: 10px;
    padding: 10px 20px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fotos1_grid_b select option {
    font-family: "CeraPro", sans-serif !important;
    font-size: 14px;
    color: #2B2171;
    background-color: white;
    cursor: pointer;
    max-width: 250px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Paginação da Galeria de Fotos */
.paginacao_fotos {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 32px;
}

.paginacao_fotos .pagina_link {
    padding: 10px 16px;
    background-color: white;
    color: #2b2171;
    border: 2px solid #2b2171;
    border-radius: 8px;
    font-family: "CeraProBold";
    font-size: 16px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.paginacao_fotos .pagina_link:hover {
    background-color: #2b2171;
    color: white;
}

.paginacao_fotos .pagina_link.ativo {
    background-color: #2b2171;
    color: white;
    border-color: #2b2171;
}

.fotos1_grid_c {
    grid-area: c;
    column-count: 3;
    column-gap: 14px;
}

.fotos1_grid_c img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 14px;
    border-radius: 4px;
    break-inside: avoid;
}

@media (max-width: 768px) {
    .fotos_seg1 .container {
        margin: 16px;
    }

    .fotos_seg1 .grid {
        margin: 16px 8px;
        grid-gap: 24px;
    }

    .fotos1_grid_a.titulo {
        font-size: 24px;
    }

    .fotos1_grid_b {
        flex-direction: column;
        align-items: center;
        gap: 24px;
    }

    .fotos1_grid_b .filtro,
    .fotos1_grid_b .ordem {
        width: 100%;
    }

    .fotos1_grid_b .selects_linha {
        flex-direction: column;
        width: 100%;
    }

    .fotos1_grid_c {
        flex-wrap: wrap;
        gap: 16px;
    }

    .fotos1_grid_c .coluna {
        flex: 1 1 45%;
        min-width: 140px;
    }

    .fotos1_grid_b select {
        width: 100%;
        max-width: none;
    }

    .fotos1_grid_c {
        column-count: 2;
    }
}

@media (max-width: 440px) {
    .fotos1_grid_c {
        column-count: 1;
    }
}

/* Etapas */
.etapas_seg1 {
    padding: 128px 0 48px 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.00) 50.48%, rgba(0, 0, 0, 0.40) 100%), #2B2171;
}

.etapas_seg1 .grid {
    grid-template-columns: 5fr 7fr;
    align-items: center;
    grid-gap: 24px;
}

.etapas1_grid_t {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.etapas1_grid_t .titulo_container {
    font-family: "AvantGarde";
    color: #FAB900;
}

.etapas_seg2 {
    color: black;
    padding-top: 96px;
    background: var(--gradiente-mentoria, linear-gradient(0deg, rgba(255, 255, 255, 0.50) 0%, rgba(255, 255, 255, 0.50) 100%), linear-gradient(180deg, #642C85 0%, #F29000 100%));
}

.etapas_seg2 .grid_titulo {
    display: grid;
    grid-gap: 0 48px;
    margin-bottom: 96px;
    grid-template-columns: 2fr 8fr 2fr;
    grid-template-areas: ". t ." ". c .";
    text-align: center;
    grid-gap: 24px;
}

.etapas_seg2 .grid_titulo .titulo_container {
    grid-area: t;
    color: #2B2171;
}

.etapas_seg2 .grid_titulo .texto_comum {
    grid-area: c;
}

.etapas_seg2 .grid {
    grid-template-columns: 1fr 1fr 8fr 2fr;
    align-items: center;
    justify-content: center;
    grid-gap: 48px 24px;
    position: relative
}

.etapas_seg2 .grid .etapas2_grid_v {
    grid-column: 2;
    aspect-ratio: 1 / 1;
    width: 60px;
    background-color: #00ACA9;
    border-radius: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
}

.etapas_seg2 .grid .etapas2_grid_v::before {
    content: "";
    width: 3px;
    background-color: #00ACA9;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    top: -450%;
    bottom: -450%;
    z-index: -1;
}

.etapas_seg2 .grid .etapas2_grid_v_1::before {
    top: 0 !important;
}

.etapas_seg2 .grid .etapas2_grid_v_6::before {
    bottom: 0 !important;
}

.etapas_seg2 .grid .etapas2_grid_c {
    grid-column: 3;
    display: grid;
    grid-template-columns: 3fr 5fr;
    background-color: white;
    border: 1px solid #00ACA9;
    border-radius: 30px;
    padding: 36px;
    grid-gap: 24px;
}

.etapas_seg2 .grid .etapas2_grid_c .titulo_etapa {
    color: #2b2171;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.etapas_seg2 .grid .etapas2_grid_c .titulo_etapa div:nth-child(1) {
    font-family: "AvantGardeBold";
}

.etapas_seg2 .grid .etapas2_grid_c .titulo_etapa div:nth-child(2) {
    font-size: 32px;
    font-weight: 600;
    line-height: 120%;
}

.etapas_seg2 .grid .etapas2_grid_c .texto_comum {
    display: flex;
    flex-direction: column;
    gap: 24px;
    cursor: pointer;
}

.etapas_seg2 .grid .etapas2_grid_c .texto_comum .seta {
    display: inline-block;
    background-color: #F39200;
    width: 24px;
    height: 24px;
    border-radius: 100%;
    transform: translate(0, 8px);
}

.etapas_seg2 .grid .etapas2_grid_c .texto_comum:hover .seta {
    background-color: #FAB900;
}

.etapas_seg2 .grid .etapas2_grid_c .texto_comum .expandivel {
    display: none;
}

.etapas_seg2 .grid .etapas2_grid_c ul {
    margin-bottom: 0;
}

.etapas_seg3 {
    color: black;
    padding: 96px 0;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0.50) 0%, rgba(255, 255, 255, 0.50) 100%), linear-gradient(180deg, #F39200 0%, #0AA 100%);
}

.etapas_seg3 .grid_titulo {
    display: grid;
    grid-gap: 24px 48px;
    margin-bottom: 96px;
    grid-template-columns: 2fr 8fr 2fr;
    grid-template-areas: ". t ." ". c .";
    text-align: center;
}

.etapas_seg3 .grid_titulo .titulo_container {
    grid-area: t;
    color: #2B2171;
}

.etapas_seg3 .grid_titulo .texto_comum {
    grid-area: c;
}

.etapas_seg3 .grid {
    grid-template-columns: 1fr 2fr 6fr 2fr 1fr;
    grid-gap: 80px 24px;
    text-align: center;
    align-items: stretch;
    justify-content: stretch;
    grid-template-areas: "i0 c0 c0 . ." ". . c1 c1 i1" "i2 c2 c2 . ." ". . c3 c3 i3";
}

.etapas_seg3 .grid .icone {
    position: relative;
    justify-self: center;
    width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.etapas_seg3 .grid .icone .icone_curva {
    position: absolute;
    width: 50vw;
    height: calc(50% + 40px);
    z-index: -1;
}

.curva_baixo_direita {
    bottom: -41px;
    right: calc(50% - 50vw);
    border-bottom: 2px solid #2B2171;
    border-left: 2px solid #2B2171;
    border-bottom-left-radius: 50px;
}

.curva_baixo_esquerda {
    bottom: -41px;
    left: calc(50% - 50vw);
    border-bottom: 2px solid #2B2171;
    border-right: 2px solid #2B2171;
    border-bottom-right-radius: 50px;
}

.curva_cima_direita {
    top: -41px;
    right: calc(50% - 50vw);
    border-top: 2px solid #2B2171;
    border-left: 2px solid #2B2171;
    border-top-left-radius: 50px;
}

.curva_cima_esquerda {
    top: -41px;
    left: calc(50% - 50vw);
    border-top: 2px solid #2B2171;
    border-right: 2px solid #2B2171;
    border-top-right-radius: 50px;
}

.etapas_seg3 .grid .icone .icone_icone {
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #2B2171;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.etapas_seg3 .grid .linhahorizontal {
    height: 79px;
    width: 100%;
    position: relative;
}

.etapas_seg3 .grid .tipo1 {
    background-image: url(../img/icons/curvas/topright.svg), url(../img/icons/curvas/leftbottom.svg);
    background-position: top left, bottom right;
}

.etapas_seg3 .grid .tipo2 {
    background-image: url(../img/icons/curvas/rightbottom.svg), url(../img/icons/curvas/topleft.svg);
    background-position: bottom left, top right;
}

.conecta_card {
    border-radius: 16px;
    color: white;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.4) 100%), url(../img/misc/bg_conecta_pessoas.png);
    display: grid;
    grid-gap: 48px;
    grid-template-columns: max-content 1fr;
    padding: 48px;
    align-items: center;
    justify-content: center;
}

.conecta_card .card_descricoes {
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.conecta_card .card_descricoes div:nth-child(1) {
    font-family: "AvantGardeBold";
    font-size: 24px;
}

.conecta_card .card_descricoes div:nth-child(2) {
    font-family: "CeraPro";
    font-size: 18px;
}

@media (min-width: 2350px) {
    .etapas_seg3 .grid .icone .icone_curva {
        width: 25vw;
    }

    .curva_baixo_direita,
    .curva_cima_direita {
        right: calc(50% - 25vw);
    }

    .curva_baixo_esquerda,
    .curva_cima_esquerda {
        left: calc(50% - 25vw);
    }

}

@media (max-width: 1240px) {
    .etapas_seg3 .grid_titulo {
        grid-template-columns: 1fr;
        grid-template-areas: "t" "c";
    }

    .etapas_seg3 .grid {
        grid-template-columns: 2fr 8fr 2fr;
        grid-template-areas: "i0 c0 c0" "c1 c1 i1" "i2 c2 c2" "c3 c3 i3";
    }

    .conecta_card {
        height: auto;
        grid-template-columns: 1fr;
    }

    .conecta_card div {
        text-align: center;
    }
}

@media (max-width: 768px) {
    .etapas_seg1 .grid {
        grid-template-columns: 1fr;
        align-items: center;
        grid-gap: 24px;
    }

    .etapas_seg2 .grid_titulo {
        grid-template-columns: 1fr;
        grid-template-areas: "t" "c";
    }

    .etapas_seg2 .grid {
        grid-template-columns: 2fr 10fr;
    }

    .etapas_seg2 .grid .etapas2_grid_v {
        grid-column: 1;
    }

    .etapas_seg2 .grid .etapas2_grid_c {
        grid-column: 2;
        grid-template-columns: 1fr;
    }
}


/* Modal */
.backdrop_modal {
    position: fixed;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 100000;
}

.grade_modal {
    display: grid;
    width: calc(100vw - 80px);
    max-width: 800px;
    grid-template-columns: 1fr;
}

.grade_modal:not(:first-child) {
    display: none;
}

.titulo_modal {
    font-family: "AvantGardeBold";
    font-size: 24px;
    color: white;
    background-color: #2B2171;
    padding: 8px 16px;
    border-radius: 16px 16px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.titulo_modal img {
    transform: translate(0, 4px);
    cursor: pointer;
}

.conteudo_modal {
    background-color: white;
    color: black;
    padding: 36px;
    font-family: "CeraPro";
    font-size: 18px;
    overflow-y: scroll;
    max-height: calc(100vh - 300px);
}

.conteudo_modal .conteudo_imagem img {
    margin-bottom: 12px;
    max-width: 100%;
    text-align: center;
    border-radius: 16px;
}

.conteudo_modal .conteudo_titulo {
    font-family: "AvantGarde";
    font-size: 32px;
    color: #2B2171;
}

.conteudo_modal .conteudo_texto p:last-child {
    margin-bottom: 0;
}

.fechar_modal {
    background-color: white;
    border-top: 1px solid #CCC;
    padding: 12px;
    border-radius: 0 0 16px 16px;
    text-align: right;
}

/* ALTERADO: caso o botão de fechar modal (.fechar_modal_btn) vire <button>, neutraliza estilo genérico */
.fechar_modal_btn {
    background-color: transparent;
    border: 0;
    padding: 0;
    color: inherit;
    font-size: inherit;
    text-align: inherit;
}

.fechar_modal_btn:hover {
    background-color: transparent;
}


/* Footer */
footer {
    display: flex;
    justify-content: center;
    padding: 120px 0;
    position: relative;
    background: linear-gradient(180deg, #2A246A 0%, #171437 100%);
    font-family: "AvantGarde";
}

footer .container .grid {
    grid-gap: 96px 24px;
    grid-template-columns: 4fr 4fr 4fr;
    grid-template-areas: "a b c" "d d d";
}

footer .mapa {
    width: 100%;
    aspect-ratio: 1 / 1;
}

footer .footer_d {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 48px;
}

footer .footer_d .lista_logos {
    display: inline-flex;
    gap: 48px;
    align-items: center;
}

footer .footer_d .lista_logos div:nth-child(2) {
    width: 1px;
    background-color: white;
    align-self: stretch;
}

@media (max-width: 768px) {
    footer .container .grid {
        grid-template-columns: 1fr;
        grid-gap: 24px;
        grid-template-areas: "a" "b" "c" "d";
    }

    footer .container .grid>div {
        text-align: center;
    }

    footer .footer_d .lista_logos {
        flex-direction: column;
        gap: 24px;
    }

    footer .footer_d .lista_logos div:nth-child(2) {
        height: 1px;
        width: 100%;
    }
}