body {
  margin: 0;
  font-family: var(--fonte-principal);
  background-color: var(--cor-fundo-branco);
  color: var(--cor-texto-escuro);
  font-size: var(--fonte-tamanho-base);
  line-height: var(--linha-altura-normal);
}

nav {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 2em;
}

nav a {
  margin-left: var(--margem-grande);
  text-decoration: none;
  color: var(--cor-texto-claro);
  font-weight: var(--peso-fonte-medio);
  font-size: var(--fonte-tamanho-base);
}

nav a:hover {
  color: var(--cor-texto-escuro);
}

section {
  padding: var(--padding-extra) var(--padding-medio);
  text-align: center;
  width: calc(100% - var(--padding-medio) * 2);
  margin: 0 auto;
}

h1 {
  font-size: var(--fonte-tamanho-h1);
  font-weight: var(--peso-fonte-negrito);
  color: var(--cor-texto-escuro);
  margin-bottom: var(--margem-media);
  line-height: var(--linha-altura-relaxada);
}

h2 {
  font-size: var(--fonte-tamanho-h2);
  font-weight: var(--peso-fonte-negrito);
  color: var(--cor-texto-escuro);
  margin-bottom: var(--margem-media);
  line-height: var(--linha-altura-relaxada);
}

h3 {
  font-size: var(--fonte-tamanho-h3);
  font-weight: var(--peso-fonte-medio);
  color: var(--cor-texto-medio);
  margin-bottom: var(--margem-grande);
}

p {
  font-size: var(--fonte-tamanho-p);
  color: var(--cor-texto-claro);
  line-height: var(--linha-altura-relaxada);
  max-width: var(--max-largura-conteudo);
  margin: 0 auto;
}

ul {
  list-style: disc inside;
  text-align: left;
  color: var(--cor-texto-claro);
  font-size: var(--fonte-tamanho-p);
  max-width: var(--max-largura-conteudo);
  margin: var(--margem-grande) auto 0 auto;
  padding-left: 0;
}

li {
  margin-bottom: var(--margem-media);
}

img {
  width: 100%;
  /* max-width: var(--max-largura-imagem); */
  /* border-radius: 1rem; */
  box-shadow: var(--sombra-media);
}

.cards-arquitetura {
  padding: var(--padding-extra) var(--padding-medio);
  background-color: var(--cor-fundo-claro);
}

.grid-cards {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  max-width: 1200px;
  margin: 0 auto;
}

.card {
  background: white;
  padding: var(--padding-medio);
  border-radius: 1rem;
  box-shadow: var(--sombra-media);
  text-align: center;
}

.card img {
  width: 100%;
  border-radius: 0.5rem;
  box-shadow: var(--sombra-leve);
  margin-bottom: 1rem;
}

.card h4 {
  font-size: 1.25rem;
  color: var(--cor-texto-escuro);
  margin-bottom: 0.5rem;
}

.card p {
  font-size: var(--fonte-tamanho-base);
  color: var(--cor-texto-claro);
  line-height: var(--linha-altura-relaxada);
}
