:root{
  --bg: #F5F3EE;
  --paper: #FFFFFF;
  --ink: #1B2430;
  --ink-soft: #5B6472;
  --navy: #1B3A5C;
  --navy-deep: #10263E;
  --gold: #A8792F;
  --line: #DCD6C7;
  --line-strong: #B9B096;
  --radius: 3px;
  --display: 'Fraunces', serif;
  --body: 'IBM Plex Sans', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}
*{ box-sizing: border-box; }
body{
  margin:0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a{ color: var(--navy); text-decoration-color: var(--line-strong); }
a:hover{ color: var(--gold); }
.wrap{ max-width: 780px; margin: 0 auto; padding: 0 24px; }

header.site{ padding: 28px 0 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; }
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; width: fit-content; }
nav.main-nav{ display:flex; gap:24px; align-items:center; }
nav.main-nav a{
  text-decoration:none; color: var(--ink-soft); font-size: 14px; font-weight: 600;
  border-bottom: 2px solid transparent; padding-bottom: 2px;
}
nav.main-nav a:hover, nav.main-nav a.ativo{ color: var(--navy-deep); border-color: var(--gold); }
.brand .mark{
  width: 38px; height: 38px;
  border: 1.5px solid var(--navy);
  border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  letter-spacing: 0.5px; color: var(--navy);
}
.brand .name{ font-family: var(--display); font-weight: 600; font-size: 20px; color: var(--ink); }
.brand .name em{ font-style: normal; color: var(--gold); }

.legal-header{ padding: 44px 0 20px; border-bottom: 1px solid var(--line); margin-bottom: 32px; }
.legal-header .eyebrow{
  font-family: var(--mono); font-size: 12px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--gold); margin: 0 0 10px;
}
.legal-header h1{
  font-family: var(--display); font-weight: 600;
  font-size: clamp(28px, 4vw, 40px); margin: 0 0 10px; color: var(--navy-deep);
}
.legal-header .updated{ font-size: 13px; color: var(--ink-soft); font-family: var(--mono); }

main.legal{ padding-bottom: 60px; }
main.legal h2{
  font-family: var(--display); font-weight: 600; font-size: 21px;
  color: var(--navy-deep); margin: 36px 0 12px;
}
main.legal h2:first-child{ margin-top: 0; }
main.legal p{ font-size: 15px; color: var(--ink); margin: 0 0 14px; }
main.legal ul{ margin: 0 0 14px; padding-left: 20px; }
main.legal li{ font-size: 15px; margin-bottom: 6px; }
main.legal strong{ color: var(--navy-deep); }

footer.site{
  border-top: 1px solid var(--line);
  margin-top: 60px; padding: 26px 0 40px;
  font-size: 12.5px; color: var(--ink-soft);
}
footer.site nav{ margin-bottom: 10px; }
footer.site nav a{ color: var(--ink-soft); margin-right: 16px; text-decoration: none; }
footer.site nav a:hover{ color: var(--navy); text-decoration: underline; }

/* Formulário (usado na página de Contato) */
.campo{ margin-bottom: 20px; }
.campo label{ display:block; font-size: 13px; font-weight:600; color: var(--navy-deep); margin-bottom: 6px; }
.campo .ajuda{ font-size: 12px; color: var(--ink-soft); margin-top: 5px; }
.campo input[type="text"], .campo input[type="email"], .campo textarea{
  width: 100%; font-family: var(--body); font-size: 14.5px; padding: 10px 12px;
  border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--paper); color: var(--ink);
}
.campo input:focus, .campo textarea:focus{
  outline:none; border-color: var(--navy); box-shadow: 0 0 0 3px rgba(27,58,92,0.12);
}
.campo textarea{ resize: vertical; min-height: 130px; }
.btn{
  font-family: var(--body); font-weight:600; font-size:15px; padding: 12px 24px;
  background: var(--navy); color:#fff; border:none; border-radius: var(--radius);
  cursor:pointer; text-decoration:none; display:inline-block;
}
.btn:hover{ background: var(--navy-deep); }
.msg-erro{
  background: #F5E6E1; color: #A23E2C; padding: 12px 14px;
  border-radius: var(--radius); font-size:14px; margin-bottom:18px;
  border: 1px solid rgba(162,62,44,0.25);
}
.msg-sucesso{
  background: #E6EFE8; color: #2F6B4F; padding: 12px 14px;
  border-radius: var(--radius); font-size:14px; margin-bottom:18px;
  border: 1px solid rgba(47,107,79,0.25);
}
.honeypot-field{ position:absolute; left:-9999px; top:-9999px; }
