:root {
  --salvia: #8fa98b;
  --salvia-claro: #eef3ec;
  --lilas: #8f6a88;
  --lilas-claro: #f4eef3;
  --pessego: #f2ae8c;
  --azul: #4a8dbf;
  --rosa: #f7a8b0;
  --texto: #3f3540;
  --texto-suave: #6b5f6a;
  --fundo: #ffffff;
  --linha: #ece4e9;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--texto);
  background: var(--fundo);
}

a { color: var(--lilas); }
a:hover { color: var(--azul); }

.conteudo { max-width: 960px; margin: 0 auto; padding: 0 24px; }

header.topo { padding: 28px 0 8px; }
header.topo img { width: 300px; max-width: 80%; height: auto; display: block; }

.abertura { padding-top: 32px; padding-bottom: 40px; }
.abertura h1 {
  font-size: clamp(28px, 4.5vw, 40px);
  line-height: 1.2;
  margin: 0 0 12px;
  color: var(--lilas);
  font-weight: 700;
}
.abertura p { font-size: 19px; color: var(--texto-suave); margin: 0 0 24px; max-width: 640px; }

.botao {
  display: inline-block;
  background: var(--salvia);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  padding: 12px 22px;
  border-radius: 999px;
}
.botao:hover { background: #7a9576; color: #fff; }

section { padding: 36px 0; border-top: 1px solid var(--linha); }
section h2 { font-size: 24px; margin: 0 0 16px; color: var(--texto); }

.especialidades {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 12px;
}
.especialidades li {
  background: var(--lilas-claro);
  border-left: 5px solid var(--lilas);
  padding: 14px 16px;
  border-radius: 10px;
  font-weight: 600;
}
.especialidades li:nth-child(5n+1) { border-color: var(--salvia); background: var(--salvia-claro); }
.especialidades li:nth-child(5n+2) { border-color: var(--pessego); background: #fdf1ea; }
.especialidades li:nth-child(5n+3) { border-color: var(--azul); background: #edf4fa; }
.especialidades li:nth-child(5n+4) { border-color: var(--rosa); background: #fdf0f1; }

.contato { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.contato div { padding: 4px 0; }
.contato .rotulo { display: block; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-suave); }

footer {
  border-top: 1px solid var(--linha);
  padding: 28px 0 40px;
  font-size: 15px;
  color: var(--texto-suave);
}
footer a { margin-right: 16px; }

/* Política de privacidade */
.texto-longo { max-width: 760px; padding-bottom: 24px; }
.texto-longo h1 { color: var(--lilas); font-size: clamp(26px, 4vw, 34px); line-height: 1.2; margin: 24px 0 4px; }
.texto-longo .data { color: var(--texto-suave); margin: 0 0 24px; }
.texto-longo h2 { font-size: 20px; margin: 28px 0 8px; }
.texto-longo ul { padding-left: 22px; }
