@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: 'Inter', Arial, sans-serif;
  color: #000;
  background: #fff;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

a { color: inherit; }

/* Cabeçalho */
header {
  background: #888887;
  height: 126px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 84px 0 56px;
}

.logo {
  color: #fff;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 2px;
  text-decoration: none;
  white-space: nowrap;
}
.logo span { font-size: 0.5em; vertical-align: middle; margin: 0 4px; }

nav { display: flex; align-items: center; gap: 36px; }
nav a {
  color: #fff;
  text-decoration: none;
  font-size: 28px;
  font-weight: 400;
}
nav a.ativo { font-weight: 700; }
nav .sep { color: #fff; font-size: 30px; font-weight: 300; }

main { flex: 1; }

/* Home */
.sobre {
  display: flex;
  gap: 40px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 76px 84px 110px 84px;
  align-items: flex-start;
}
.sobre img {
  width: 614px;
  max-width: 45%;
  aspect-ratio: 614 / 664;
  object-fit: cover;
  display: block;
}
.sobre .texto { flex: 1; padding-top: 22px; }
.sobre h1 { font-size: 46px; font-weight: 700; margin-bottom: 22px; }
.sobre p { font-size: 18px; font-weight: 500; line-height: 1.25; margin-bottom: 22px; }
.sobre .assinatura { margin-top: 44px; }

/* Contato */
.banner {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
}
.contato {
  text-align: center;
  padding: 106px 20px 130px;
}
.contato h1 { font-size: 46px; font-weight: 700; margin-bottom: 32px; }
.contato p { font-size: 28px; font-weight: 600; margin-bottom: 32px; }

/* Rodapé */
footer {
  background: #888887;
  color: #fff;
  text-align: center;
  padding: 58px 20px 60px;
}
footer .logo { font-size: 30px; }
footer .traco { margin: 26px 0 18px; font-size: 18px; }
footer p { font-size: 18px; font-weight: 600; line-height: 1.3; }

/* Celular */
@media (max-width: 800px) {
  header { height: auto; padding: 24px 16px; flex-direction: column; gap: 16px; }
  .logo { font-size: 30px; }
  nav { gap: 18px; }
  nav a { font-size: 20px; }
  .sobre { flex-direction: column; padding: 32px 16px 60px; }
  .sobre img { max-width: 100%; width: 100%; }
  .sobre h1, .contato h1 { font-size: 32px; }
  .contato p { font-size: 20px; }
  .banner { height: 200px; }
  .contato { padding: 56px 16px 70px; }
}
