:root {
  --marinho: #0B1A2E;
  --fundo: #07111F;
  --card: #0F2340;
  --dourado: #DDA63F;
  --dourado-claro: #E9BC62;
  --branco: #FFFFFF;
  --suave: rgba(255, 255, 255, .72);
  --linha: rgba(255, 255, 255, .14);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  min-height: 100vh;
  font-family: "Inter", system-ui, sans-serif;
  color: var(--branco);
  background: radial-gradient(circle at 50% 0%, #1C3A63 0%, var(--marinho) 40%, var(--fundo) 100%);
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
}
.pagina { width: min(480px, 100% - 32px); margin: 0 auto; padding: 48px 0 32px; }

.perfil { text-align: center; margin-bottom: 32px; }
.avatar {
  width: 132px; height: 132px; border-radius: 50%;
  object-fit: cover; object-position: center 15%;
  border: 2px solid var(--dourado); padding: 4px; background: var(--marinho);
  margin: 0 auto 18px;
}
h1 { font-family: "Playfair Display", Georgia, serif; font-weight: 500; font-size: 1.9rem; letter-spacing: .02em; }
.posic { color: var(--suave); font-size: .95rem; margin-top: 6px; }
.creci { color: var(--dourado); font-size: .78rem; margin-top: 10px; letter-spacing: .04em; }

.links { display: grid; gap: 12px; }
.botao {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 18px 20px; border-radius: 4px; text-decoration: none; color: var(--branco);
  background: var(--card); border: 1px solid var(--linha);
  transition: transform .2s, border-color .2s, background .2s;
}
.botao:hover, .botao:focus-visible { transform: translateY(-2px); border-color: var(--dourado); outline: none; }
.botao strong { display: block; font-size: 1rem; font-weight: 600; }
.botao small { display: block; color: var(--suave); font-size: .8rem; margin-top: 2px; }
.botao i { font-style: normal; color: var(--dourado); font-size: 1.2rem; }

.botao.principal { background: var(--dourado); color: var(--fundo); border-color: var(--dourado); padding: 22px 20px; }
.botao.principal small { color: rgba(7, 17, 31, .75); }
.botao.principal i { color: var(--fundo); }
.botao.principal:hover { background: var(--dourado-claro); }

footer { text-align: center; color: var(--suave); font-size: .75rem; margin-top: 36px; }

/* Formulário */
.formulario { margin-top: 20px; padding: 28px 22px; background: var(--card); border: 1px solid var(--linha); border-radius: 4px; }
.formulario h2 { font-family: "Playfair Display", Georgia, serif; font-weight: 500; font-size: 1.4rem; }
.form-sub { color: var(--suave); font-size: .88rem; margin: 6px 0 22px; }
form { display: grid; gap: 16px; }
#detalhes { display: grid; gap: 16px; }
#detalhes[hidden], label[hidden] { display: none; }
label { display: grid; gap: 6px; font-size: .82rem; color: var(--suave); }
input[type="text"], input[type="tel"], select, textarea {
  width: 100%; font: inherit; font-size: 1rem; color: var(--branco);
  background: var(--fundo); border: 1px solid var(--linha); border-radius: 4px; padding: 13px 14px;
}
select option { color: #101826; background: #fff; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--dourado); }
textarea { resize: vertical; }
.consent { grid-template-columns: 20px 1fr; align-items: start; gap: 10px; font-size: .78rem; line-height: 1.5; }
.consent input { width: 18px; height: 18px; accent-color: var(--dourado); margin-top: 2px; }
.oculto { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.erro { color: #F2B8B5; font-size: .85rem; }
.envio { width: 100%; cursor: pointer; font: inherit; text-align: left; }
.envio:disabled { opacity: .6; cursor: wait; }

.dica { color: var(--suave); font-size: .75rem; opacity: .85; }
