.secao {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--borda);
  padding-block: clamp(3rem, 6vw, 4rem) 1.5rem;
}
.secao > .layout__container { margin-block: auto; }
/* Preserve existing section backgrounds when inserting the practical project. */
.secao:nth-child(even of :not(.secao--projeto-pratico)) { background: var(--superficie); }
.secao__grade, .secao__texto { display: grid; gap: 1.25rem; }
.secao__texto { justify-items: start; color: var(--texto-suave); }
.secao__texto p { max-width: 68ch; }
.secao__texto strong { color: var(--branco); }
@media (min-width: 90rem) {
  /* Keep this section's full text clear of the expanded floating navigation. */
  .secao--projeto-pratico > .layout__container {
    width: auto;
    max-width: var(--largura-desktop);
    margin-inline-start: max(var(--gutter), calc((100% - var(--largura-desktop)) / 2));
    margin-inline-end: calc(var(--largura-navegacao-lateral) + 3rem);
  }
}
.secao__rotulo {
  margin-bottom: 1rem;
  color: var(--acento);
  font-size: .8125rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.secao--inicio .secao__grade { gap: 1.75rem; }
.secao--inicio h1 { max-width: 19ch; text-wrap: pretty; }
.secao--inicio .secao__texto { font-size: clamp(1.0625rem, 2vw, 1.25rem); }
.secao--inicio .secao__texto > p { text-wrap: pretty; }
.projeto__cabecalho { display: grid; gap: 1rem; }
.projeto__cabecalho h2 { font-size: min(clamp(2.25rem, 5.5vw, 5rem), 8vw); }
.projeto__cabecalho .secao__texto p,
.equipamentos__apresentacao .secao__texto p {
  justify-self: stretch;
  max-width: none;
}
.projeto__cabecalho .secao__texto p:first-child { color: var(--branco); }
.fluxo, .metricas, .processo__etapas {
  display: grid;
  gap: 1.25rem;
  margin-top: clamp(2rem, 5vw, 3.5rem);
}
/* Marcadores vazios preservam a semântica de lista no Safari. */
.fluxo, .metricas, .equipamentos__mosaico { list-style-type: ""; }
.fluxo, .metricas { padding: 0; }
.metricas li { border-top: 1px solid var(--borda); padding-top: .75rem; }
.secao--projeto .fluxo { margin-top: clamp(2.875rem, 5vw + .875rem, 4.375rem); }
.fluxo li {
  padding: 1rem;
  padding-inline-start: 1.375rem;
  border-inline-start: .1875rem solid var(--acento);
  border-radius: .75rem;
  background: var(--entrada);
}
.fluxo__cabecalho {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .5rem;
}
.fluxo__marcadores {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: var(--acento);
  font-weight: 800;
}
.fluxo h3 { font-size: 1.125rem; line-height: 1.25; }
.fluxo__descricao { font-weight: 400; line-height: 1.5; }
.icone-lucide { flex: none; filter: invert(85%); }
.equipamentos__grade {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-top: clamp(1.5rem, 4vw, 2.625rem);
}
.equipamentos__apresentacao { display: grid; gap: 1.5rem; }
.equipamentos__aplicacao { display: grid; gap: .5rem; margin-top: .5rem; }
.equipamentos__aplicacao h3, .equipamentos__mapa h3 { font-size: 1.25rem; line-height: 1.25; }
.equipamentos__relacoes { margin: .75rem 0 0; border-bottom: 1px solid var(--borda); }
.equipamentos__relacoes > div {
  display: grid;
  gap: .25rem;
  padding-block: .625rem;
  border-top: 1px solid var(--borda);
}
.equipamentos__relacoes dt { color: var(--branco); font-weight: 700; }
.equipamentos__numero { color: var(--acento); }
.equipamentos__relacoes dd, .equipamentos__observacao {
  font-size: .875rem;
  line-height: 1.5;
}
.equipamentos__relacoes dd { margin: 0; color: var(--texto-suave); }
.equipamentos__observacao { margin-top: .75rem; color: var(--branco); }
.equipamentos__mosaico {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .25rem;
  padding: 0;
}
.equipamentos__mosaico li {
  overflow: hidden;
  border: 1px solid var(--borda);
  background: var(--entrada);
}
.equipamentos__mosaico img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain;
}
.processo__etapas { gap: 2rem; }
.secao--processo .secao__texto {
  align-self: start;
  padding: clamp(1rem, 2vw, 1.5rem);
  border-top: 1px solid var(--acento);
  background: var(--entrada);
}
.processo__etapa img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: contain;
  background: var(--entrada);
}
.processo__etapa {
  display: grid;
  grid-template-rows: auto 1fr;
}
.processo__etapa figcaption {
  padding: clamp(1rem, 2vw, 1.5rem);
  border-bottom: 1px solid var(--acento);
  background: var(--entrada);
  color: var(--texto-suave);
}
.processo__etapa figcaption strong { color: var(--branco); }
.processo__etapa figcaption p { text-wrap: pretty; }
.processo__etapa h3 { margin-bottom: .25rem; font-size: 1.25rem; }
.processo__etapa h3 span { color: var(--acento); }
.metricas strong, .investimento__valor strong {
  display: block;
  color: var(--acento);
  font-size: clamp(2.75rem, 6vw, 5.5rem);
  font-weight: 900;
  letter-spacing: -.05em;
  line-height: 1.05;
}
.investimento__valor {
  display: grid;
  justify-self: stretch;
  gap: .5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--borda);
  color: var(--texto);
}
.secao__texto .investimento__valor { max-width: none; }
.investimento__valor strong {
  font-size: clamp(2.5rem, 4vw, 3.75rem);
  white-space: nowrap;
}
.investimento__valor span {
  text-wrap: pretty;
}
.destaque-nome, .secao__texto .destaque-nome { color: var(--acento); font-weight: 900; }
.nome-software { font-weight: 900; }
.secao--publico h2 { font-size: clamp(2.25rem, 5.4vw, 4.625rem); }
.secao--publico .secao__texto p { text-wrap: pretty; }
.publico__titulo-destaque { color: var(--acento); }
.publico__previa {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--branco);
  color: var(--branco);
  text-wrap: pretty;
}
.secao--publico .publico__convite { color: var(--acento); }
.publico__dado { color: var(--branco); }
.publico__destaque-medio { font-weight: 600; }
.publico__observacao {
  padding-top: 1rem;
  border-top: 1px solid var(--borda);
  color: var(--texto-suave);
  text-wrap: pretty;
}
.secao--contato address { font-style: normal; overflow-wrap: anywhere; }
.secao--contato .secao__texto p { text-wrap: pretty; }
.contato__acento { color: var(--acento); }
.contato__convite {
  width: 100%;
  padding-top: 1rem;
  border-top: 1px solid var(--acento);
  color: var(--branco);
}
.contato__assinatura, .contato__perfil {
  display: flex;
  align-items: center;
  gap: clamp(.75rem, 2vw, 1rem);
}
.contato__assinatura {
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: clamp(.75rem, 2vw, 1.25rem);
  background: var(--entrada);
}
.contato__perfil { min-width: 0; }
.contato__frase { color: var(--texto); font-size: .9375rem; line-height: 1.5; }
.contato__foto {
  flex: none;
  width: 5rem;
  height: 5rem;
  border: 2px solid var(--acento);
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}
.contato__identificacao { display: grid; gap: .25rem; min-width: 0; }
.contato__nome { font-size: 1.25rem; line-height: 1.3; }
.contato__link {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: .5rem;
  max-width: 100%;
  font-size: .875rem;
  line-height: 1.5;
  text-decoration: none;
}
.contato__link:hover { color: var(--acento); }
.contato__icone {
  flex: none;
  width: 1rem;
  height: 1rem;
}
.secao--apoio-tecnico .secao__texto p,
.secao--patrocinio .secao__texto p { text-wrap: pretty; }
.apoio-tecnico__previsao { color: var(--branco); }
.secao--patrocinio .secao__texto { align-self: start; }
.secao--patrocinio .secao__cabecalho > .destaque {
  margin-top: 1.5rem;
  text-wrap: pretty;
}
.patrocinio__acento { color: var(--branco); }
.experiencia__conteudo { display: grid; gap: 1.5rem; }
.experiencia__conteudo .botao {
  min-height: 2.75rem;
  padding: .4rem .875rem;
  gap: .25em;
}
.experiencia__marca { color: var(--acento); }
.experiencia__foto img { width: 100%; }
.secao--experiencia .metricas { margin-top: 1.5rem; }
.rodape__interno {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem 2rem;
  padding-block: 1.5rem;
  color: var(--texto-suave);
  text-align: center;
}
.rodape .destaque-nome { text-decoration: none; }
