:root {
  --bg: #E9E3F8;          /* lilás do fundo, bem suave */
  --violet-700: #6B57C8;   /* título / ícones / títulos de seção */
  --violet-600: #6F58CF;   /* card roxo (não usado aqui, mas mantido por consistência) */
  --text-muted: #7B74A8;   /* parágrafos introdutórios */
  --text-body: #454064;    /* Cor mais escura para texto longo, melhorando a leitura */
  --shadow: 0 6px 18px rgba(62, 42, 124, 0.15);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
  color: var(--text-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.wrap {
  max-width: 680px; /* Um pouco mais largo para acomodar o texto */
  margin: 0 auto;
  padding: 64px 20px 48px;
  text-align: center;
}

/* Ícone topo (Mantido igual) */
.top-icon {
  color: var(--violet-700);
  display: flex;
  justify-content: center;
  margin: 24px 0 12px;
}
.top-icon svg { width: 120px; height: 120px; }

/* Título (Mantido igual) */
.title {
  font-weight: 800;
  font-size: 32px;
  color: var(--violet-700);
  letter-spacing: .2px;
  margin-top: 8px;
}

/* Descrição (Mantido igual) */
.lead {
  margin: 16px auto 36px;
  color: var(--text-muted);
  line-height: 1.6;
  max-width: 580px;
  font-size: 15.5px;
}
.lead strong { color: var(--violet-700); }

/* --- NOVOS ESTILOS PARA O CONTEÚDO DA POLÍTICA --- */

.policy-content {
  text-align: left; /* Essencial para legibilidade de textos longos */
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid rgba(107, 87, 200, 0.15); /* Separador sutil */
}

.policy-content h2 {
  font-family: 'Raleway', sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--violet-700);
  margin-top: 24px;
  margin-bottom: 12px;
}
/* Primeiro h2 não precisa de margem no topo */
.policy-content h2:first-of-type {
  margin-top: 0;
}

.policy-content p,
.policy-content ul {
  line-height: 1.75;
  font-size: 15px;
  margin-bottom: 16px;
}

.policy-content ul {
  list-style-position: inside;
  padding-left: 8px;
}

.policy-content li {
  margin-bottom: 8px;
}

.policy-content a {
  color: var(--violet-700);
  font-weight: 600;
  text-decoration: none;
  transition: opacity .2s;
}
.policy-content a:hover {
  opacity: .8;
  text-decoration: underline;
}

/* Responsividade sutil (Mantida e ajustada) */
@media (max-width: 480px) {
  .wrap { padding: 48px 15px 32px; }
  .title { font-size: 26px; }
  .lead { font-size: 14.5px; }
  .policy-content h2 { font-size: 18px; }
  .policy-content p,
  .policy-content ul { font-size: 14px; }
}