.pagina-rede-mesh {
  background:
    radial-gradient(circle at 82% 4%, rgba(49, 201, 120, 0.11), transparent 24%),
    radial-gradient(circle at 14% 21%, rgba(233, 110, 40, 0.09), transparent 25%),
    linear-gradient(180deg, var(--fundo-superior) 0%, var(--fundo) 48%, var(--fundo-inferior) 100%);
}

.atalho-menu-ativo {
  border-color: color-mix(in srgb, var(--destaque) 58%, var(--linha));
  background: color-mix(in srgb, var(--destaque) 10%, transparent);
  color: var(--texto);
}

.mesh-hero,
.mesh-introducao,
.mesh-fluxo,
.mesh-bloco-imagem,
.mesh-aplicacoes,
.mesh-recursos-distribuidos,
.mesh-eco1,
.mesh-federacao,
.mesh-portal,
.mesh-android,
.mesh-seguranca,
.mesh-fechamento {
  border-bottom: 1px solid var(--linha);
}

.mesh-hero {
  min-height: calc(100vh - 70px);
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
  align-items: center;
  gap: clamp(48px, 7vw, 112px);
  padding: clamp(70px, 9vw, 130px) clamp(24px, 7.6vw, 122px);
}

.mesh-hero-conteudo {
  max-width: 820px;
}

.mesh-hero h1 {
  margin: 16px 0 24px;
  max-width: 940px;
  font-size: clamp(48px, 6.2vw, 92px);
  line-height: .98;
  letter-spacing: -.06em;
}

.mesh-hero p,
.mesh-texto-longo p,
.mesh-bloco-imagem p,
.mesh-eco1 p,
.mesh-portal p,
.mesh-android p,
.mesh-fechamento p {
  color: var(--suave);
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.72;
}

.mesh-hero p {
  max-width: 720px;
  margin: 0;
}

.mesh-acoes {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
}

.mesh-link-secundario {
  margin-top: 32px;
  color: var(--texto-controle);
  font-weight: 800;
  border-bottom: 1px solid color-mix(in srgb, var(--texto-controle) 35%, transparent);
}

.mesh-hero-imagem,
.mesh-eco1 figure {
  margin: 0;
}

.mesh-hero-imagem img,
.mesh-eco1 img,
.mesh-portal > img,
.mesh-android > img,
.mesh-bloco-imagem > img {
  width: 100%;
  display: block;
  object-fit: cover;
  box-shadow: var(--sombra);
}

.mesh-hero-imagem img {
  min-height: 560px;
  max-height: 720px;
  border-radius: 28px;
}

.mesh-hero-imagem figcaption,
.mesh-eco1 figcaption {
  margin-top: 10px;
  color: var(--suave);
  font-size: 12px;
  text-align: right;
}

.mesh-introducao,
.mesh-federacao {
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
  gap: clamp(50px, 8vw, 150px);
  padding: clamp(80px, 10vw, 150px) clamp(24px, 8vw, 132px);
}

.mesh-titulo-lateral {
  max-width: 560px;
}

.mesh-titulo-lateral h2,
.mesh-cabecalho-central h2,
.mesh-bloco-imagem h2,
.mesh-eco1 h2,
.mesh-portal h2,
.mesh-android h2,
.mesh-fechamento h2 {
  margin: 13px 0 0;
  font-size: clamp(36px, 4.6vw, 68px);
  line-height: 1.02;
  letter-spacing: -.052em;
}

.mesh-texto-longo {
  max-width: 900px;
}

.mesh-texto-longo p:first-child {
  margin-top: 0;
}

.mesh-texto-longo p:last-child {
  margin-bottom: 0;
}

.mesh-texto-longo code,
.mesh-bloco-imagem code,
.mesh-aplicacao-linha code,
.mesh-fechamento code {
  color: var(--texto);
  font-size: .92em;
}

.mesh-fluxo,
.mesh-aplicacoes,
.mesh-recursos-distribuidos,
.mesh-seguranca {
  padding: clamp(82px, 10vw, 148px) clamp(24px, 8vw, 132px);
}

.mesh-cabecalho-central {
  max-width: 900px;
  margin: 0 auto clamp(52px, 7vw, 92px);
  text-align: center;
}

.mesh-cabecalho-central p {
  max-width: 690px;
  margin: 22px auto 0;
  color: var(--suave);
  font-size: 18px;
  line-height: 1.65;
}

.mesh-etapas {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--linha);
  border-left: 1px solid var(--linha);
}

.mesh-etapas li {
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 25px;
  padding: 30px;
  border-right: 1px solid var(--linha);
  border-bottom: 1px solid var(--linha);
}

.mesh-etapas strong {
  color: var(--destaque-forte);
  font-size: 14px;
  letter-spacing: .03em;
}

.mesh-etapas span {
  color: var(--suave);
  font-size: 17px;
  line-height: 1.55;
}

.mesh-bloco-imagem,
.mesh-eco1,
.mesh-portal,
.mesh-android {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(52px, 8vw, 130px);
  padding: clamp(80px, 10vw, 150px) clamp(24px, 8vw, 132px);
}

.mesh-bloco-imagem > img,
.mesh-eco1 img,
.mesh-portal > img,
.mesh-android > img {
  min-height: 510px;
  max-height: 700px;
  border-radius: 24px;
}

.mesh-bloco-imagem p,
.mesh-eco1 p,
.mesh-portal p,
.mesh-android p {
  max-width: 740px;
}

.mesh-exemplos-endereco {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.mesh-exemplos-endereco code {
  padding: 10px 12px;
  border-left: 3px solid var(--verde);
  background: color-mix(in srgb, var(--painel) 75%, transparent);
  color: var(--texto);
}

.mesh-aplicacoes {
  background: color-mix(in srgb, var(--painel) 24%, transparent);
}

.mesh-aplicacao-linha {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) 130px;
  gap: 30px;
  align-items: start;
  padding: 38px 0;
  border-top: 1px solid var(--linha);
}

.mesh-aplicacao-linha:last-child {
  border-bottom: 1px solid var(--linha);
}

.mesh-numero {
  color: color-mix(in srgb, var(--destaque-forte) 82%, var(--texto));
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .12em;
}

.mesh-aplicacao-linha h3 {
  margin: 0 0 13px;
  font-size: clamp(27px, 3vw, 42px);
  letter-spacing: -.04em;
}

.mesh-aplicacao-linha p {
  max-width: 920px;
  margin: 0 0 10px;
  color: var(--suave);
  font-size: 16px;
  line-height: 1.72;
}

.mesh-tipo {
  justify-self: end;
  color: var(--verde);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .11em;
}

.mesh-lista-recursos {
  max-width: 1250px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 70px;
}

.mesh-lista-recursos > div {
  padding: 27px 0;
  border-top: 1px solid var(--linha);
}

.mesh-lista-recursos > div:nth-last-child(-n + 2) {
  border-bottom: 1px solid var(--linha);
}

.mesh-lista-recursos strong {
  font-size: 22px;
  letter-spacing: -.025em;
}

.mesh-lista-recursos p {
  margin: 9px 0 0;
  color: var(--suave);
  line-height: 1.65;
}

.mesh-portal ul {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--linha);
}

.mesh-portal li {
  padding: 14px 0;
  color: var(--suave);
  line-height: 1.55;
  border-bottom: 1px solid var(--linha);
}

.mesh-portal li strong {
  color: var(--texto);
}

.mesh-colunas-texto {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 50px;
}

.mesh-colunas-texto > div {
  padding-top: 24px;
  border-top: 2px solid color-mix(in srgb, var(--destaque) 45%, var(--linha));
}

.mesh-colunas-texto h3 {
  margin: 0 0 12px;
  font-size: 24px;
}

.mesh-colunas-texto p {
  margin: 0;
  color: var(--suave);
  line-height: 1.68;
}

.mesh-fechamento {
  padding: clamp(95px, 12vw, 175px) clamp(24px, 10vw, 170px);
  text-align: center;
}

.mesh-fechamento h2 {
  max-width: 1100px;
  margin-inline: auto;
}

.mesh-fechamento p {
  max-width: 880px;
  margin: 28px auto 0;
}

.mesh-fechamento .botao-destaque {
  margin-top: 38px;
}

@media (max-width: 1050px) {
  .mesh-hero {
    grid-template-columns: 1fr;
  }

  .mesh-hero-imagem img {
    min-height: 420px;
    max-height: 560px;
  }

  .mesh-introducao,
  .mesh-federacao,
  .mesh-bloco-imagem,
  .mesh-eco1,
  .mesh-portal,
  .mesh-android {
    grid-template-columns: 1fr;
  }

  .mesh-bloco-invertido > img {
    order: -1;
  }

  .mesh-etapas,
  .mesh-colunas-texto {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .mesh-hero,
  .mesh-introducao,
  .mesh-fluxo,
  .mesh-bloco-imagem,
  .mesh-aplicacoes,
  .mesh-recursos-distribuidos,
  .mesh-eco1,
  .mesh-federacao,
  .mesh-portal,
  .mesh-android,
  .mesh-seguranca,
  .mesh-fechamento {
    padding-left: 20px;
    padding-right: 20px;
  }

  .mesh-hero {
    min-height: auto;
    padding-top: 64px;
    padding-bottom: 74px;
  }

  .mesh-hero h1 {
    font-size: clamp(42px, 13vw, 62px);
  }

  .mesh-hero-imagem img,
  .mesh-bloco-imagem > img,
  .mesh-eco1 img,
  .mesh-portal > img,
  .mesh-android > img {
    min-height: 320px;
    border-radius: 18px;
  }

  .mesh-etapas,
  .mesh-lista-recursos,
  .mesh-colunas-texto {
    grid-template-columns: 1fr;
  }

  .mesh-lista-recursos > div:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .mesh-lista-recursos > div:last-child {
    border-bottom: 1px solid var(--linha);
  }

  .mesh-aplicacao-linha {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 18px;
  }

  .mesh-tipo {
    grid-column: 2;
    justify-self: start;
  }
}

/* Internet 1.0 x Internet 2.0 */
.mesh-comparativo {
  padding: clamp(82px, 10vw, 148px) clamp(24px, 8vw, 132px);
  border-bottom: 1px solid var(--linha);
  background: color-mix(in srgb, var(--painel) 17%, transparent);
}

.mesh-comparativo-cabecalho,
.mesh-comparativo-linha {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(145px, .42fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 64px);
}

.mesh-comparativo-cabecalho {
  padding: 0 0 18px;
  color: var(--suave);
  border-bottom: 2px solid color-mix(in srgb, var(--destaque) 48%, var(--linha));
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 11px;
}

.mesh-comparativo-cabecalho strong {
  color: var(--texto);
  font-size: 15px;
  letter-spacing: -.01em;
  text-transform: none;
}

.mesh-comparativo-cabecalho small {
  display: block;
  margin-top: 5px;
  color: var(--suave);
  font-size: 11px;
  font-weight: 600;
}

.mesh-comparativo-linha {
  padding: 27px 0;
  border-bottom: 1px solid var(--linha);
}

.mesh-comparativo-linha > strong {
  color: var(--destaque-forte);
  font-size: 15px;
  letter-spacing: .01em;
}

.mesh-comparativo-linha p {
  margin: 0;
  color: var(--suave);
  font-size: 16px;
  line-height: 1.65;
}

.mesh-comparativo-linha p b {
  display: none;
}

.mesh-comparativo-linha code {
  color: var(--texto);
}

.mesh-brasil {
  max-width: 1320px;
  margin: clamp(58px, 7vw, 92px) auto 0;
  padding-top: 34px;
  display: grid;
  grid-template-columns: minmax(170px, .38fr) minmax(0, 1.62fr);
  gap: clamp(34px, 7vw, 110px);
  align-items: start;
  border-top: 3px solid var(--verde);
}

.mesh-brasil > div {
  display: flex;
  align-items: center;
  gap: 16px;
}

.mesh-brasil-sigla {
  display: inline-flex;
  width: 54px;
  height: 54px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid color-mix(in srgb, var(--verde) 70%, var(--linha));
  border-radius: 50%;
  color: var(--verde);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .04em;
}

.mesh-brasil p {
  max-width: 900px;
  margin: 0;
  color: var(--suave);
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.72;
}

@media (max-width: 900px) {
  .mesh-comparativo-cabecalho {
    display: none;
  }

  .mesh-comparativo-linha {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 30px 0;
  }

  .mesh-comparativo-linha > strong {
    margin-bottom: 7px;
    font-size: 19px;
  }

  .mesh-comparativo-linha p {
    padding-left: 17px;
    border-left: 2px solid var(--linha);
  }

  .mesh-comparativo-linha p:last-child {
    border-left-color: var(--verde);
  }

  .mesh-comparativo-linha p b {
    display: block;
    margin-bottom: 5px;
    color: var(--texto);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .07em;
  }

  .mesh-brasil {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .mesh-comparativo {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Economia e Moeda Mesh */
.mesh-moeda {
  border-bottom: 1px solid var(--linha);
  background:
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--verde) 11%, transparent), transparent 27%),
    color-mix(in srgb, var(--painel) 11%, transparent);
}

.mesh-moeda-abertura {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  align-items: center;
  gap: clamp(52px, 8vw, 130px);
  padding: clamp(88px, 11vw, 158px) clamp(24px, 8vw, 132px);
}

.mesh-moeda-abertura > div {
  max-width: 790px;
}

.mesh-moeda-abertura h2 {
  margin: 13px 0 26px;
  font-size: clamp(38px, 4.9vw, 72px);
  line-height: 1.01;
  letter-spacing: -.055em;
}

.mesh-moeda-abertura p,
.mesh-moeda-usos p,
.mesh-moeda-reais p,
.mesh-moeda-fechamento p {
  color: var(--suave);
  font-size: clamp(17px, 1.38vw, 20px);
  line-height: 1.72;
}

.mesh-moeda-abertura figure {
  margin: 0;
}

.mesh-moeda-abertura img {
  width: 100%;
  min-height: 520px;
  max-height: 720px;
  display: block;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: var(--sombra);
}

.mesh-moeda-abertura figcaption {
  margin-top: 10px;
  color: var(--suave);
  font-size: 12px;
  text-align: right;
}

.mesh-moeda-participacao,
.mesh-moeda-usos,
.mesh-moeda-reais,
.mesh-moeda-fechamento {
  border-top: 1px solid var(--linha);
}

.mesh-moeda-participacao {
  display: grid;
  grid-template-columns: minmax(250px, .58fr) minmax(0, 1.42fr);
  gap: clamp(50px, 8vw, 130px);
  padding: clamp(76px, 9vw, 128px) clamp(24px, 8vw, 132px);
}

.mesh-moeda-titulo {
  max-width: 540px;
}

.mesh-moeda-titulo h3,
.mesh-moeda-usos h3,
.mesh-moeda-reais h3,
.mesh-moeda-fechamento h3 {
  margin: 12px 0 0;
  font-size: clamp(30px, 3.7vw, 54px);
  line-height: 1.04;
  letter-spacing: -.047em;
}

.mesh-moeda-linhas {
  border-top: 1px solid var(--linha);
}

.mesh-moeda-linhas > div {
  display: grid;
  grid-template-columns: minmax(190px, .52fr) minmax(0, 1.48fr);
  gap: clamp(24px, 5vw, 74px);
  padding: 27px 0;
  border-bottom: 1px solid var(--linha);
}

.mesh-moeda-linhas strong {
  color: var(--texto);
  font-size: 20px;
  letter-spacing: -.025em;
}

.mesh-moeda-linhas p {
  margin: 0;
  color: var(--suave);
  line-height: 1.7;
}

.mesh-moeda-usos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(55px, 9vw, 150px);
  padding: clamp(84px, 10vw, 145px) clamp(24px, 8vw, 132px);
}

.mesh-moeda-usos > div {
  padding-top: 26px;
  border-top: 3px solid color-mix(in srgb, var(--destaque) 48%, var(--linha));
}

.mesh-moeda-usos > div:last-child {
  border-top-color: var(--verde);
}

.mesh-moeda-usos h3 {
  max-width: 620px;
  margin-bottom: 24px;
}

.mesh-moeda-reais {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(50px, 8vw, 130px);
  padding: clamp(76px, 9vw, 125px) clamp(24px, 8vw, 132px);
}

.mesh-moeda-reais > div:last-child {
  max-width: 850px;
}

.mesh-moeda-reais p:first-child {
  margin-top: 0;
}

.mesh-moeda-fechamento {
  padding: clamp(92px, 11vw, 160px) clamp(24px, 10vw, 170px);
  text-align: center;
}

.mesh-moeda-fechamento h3 {
  max-width: 1100px;
  margin-inline: auto;
}

.mesh-moeda-fechamento p {
  max-width: 900px;
  margin: 28px auto 0;
}

@media (max-width: 1050px) {
  .mesh-moeda-abertura,
  .mesh-moeda-participacao,
  .mesh-moeda-reais {
    grid-template-columns: 1fr;
  }

  .mesh-moeda-usos {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .mesh-moeda-abertura,
  .mesh-moeda-participacao,
  .mesh-moeda-usos,
  .mesh-moeda-reais,
  .mesh-moeda-fechamento {
    padding-left: 20px;
    padding-right: 20px;
  }

  .mesh-moeda-abertura img {
    min-height: 320px;
    border-radius: 18px;
  }

  .mesh-moeda-linhas > div {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
