/* ====== NKEMBA v1 — folha de estilos ====== */
* { box-sizing: border-box; }

:root{
  --bg:#0e1222;
  --bg2:#0a0f20;
  --card:#141a2b;
  --text:#e8edf6;
  --muted:#9fb2c5;
  --brand:#5dd1ff;
  --ok:#35d6a6;
  --line:rgba(255,255,255,.08);
}

html,body{ height:100%; }
body{
  margin:0;
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,var(--bg) 0%, var(--bg2) 100%);
}

/* Links & botões */
a{ color:var(--brand); text-decoration:none; }
a:hover{ text-decoration:underline; }
.btn{
  display:inline-block; padding:10px 16px; border-radius:12px;
  background:var(--brand); color:#05102c; font-weight:700; border:0;
}
.btn:hover{ filter:brightness(1.05); }
.ghost{ display:inline-block; padding:10px 16px; border-radius:12px; border:1px solid var(--brand); color:var(--brand); }
.ok{ color:var(--ok); }

/* Layout base */
main{ max-width:980px; margin:0 auto; padding:40px 22px; }
section.section{ margin:42px 0; }

/* Topo */
header.topbar{ padding:28px 22px; border-bottom:1px solid var(--line); }
.logo-area{ display:flex; gap:18px; align-items:center; }
.brand-block h1{ margin:0; font-size:22px; letter-spacing:.04em; }
.brand-block p{ margin:6px 0 0; color:var(--muted); }
.nav{ margin-top:14px; display:flex; gap:18px; }
.nav a{ opacity:.95; }

/* Hero */
.hero{ margin:14px 0 24px; }
.hero h2{ font-size:34px; margin:10px 0 12px; }
.hero-content p{ max-width:760px; margin:0; }
.hero-actions{ display:flex; gap:12px; margin-top:14px; }
.note{ color:var(--muted); font-size:14px; }

/* Cartões / grelha */
.grid{ display:grid; gap:22px; grid-template-columns:1fr; }
.card{
  background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:16px 18px;
}
.card h4{ margin:0 0 8px; }
@media(min-width:900px){ .grid{ grid-template-columns:repeat(3,1fr); }}

/* “Pílulas” */
.pill-list{ list-style:none; padding:0; margin:10px 0 0; display:flex; flex-wrap:wrap; gap:10px; }
.pill-list li{
  background:var(--card); border:1px solid var(--line); border-radius:999px;
  padding:6px 12px; font-size:14px;
}

/* Documentos */
.docs-list{ display:grid; gap:14px; }
.doc{
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:12px 14px;
}
.doc-tag{ font-size:12px; color:var(--muted); display:inline-block; margin-bottom:6px; }
.doc-tag.alert{ color:#ffcb7b; }

/* Contactos / formulário */
.section.contact h3{ margin-top:0; }
form.form-contacto{ display:grid; gap:14px; max-width:620px; }
.row label{ display:block; font-weight:600; color:#cfd6e4; margin-bottom:6px; }

input[type="text"],
input[type="email"],
textarea{
  width:100%; color:var(--text); background:#0c1122;
  border:1px solid var(--line); border-radius:12px;
  padding:12px 14px; outline:none;
}
textarea{ min-height:140px; resize:vertical; }
input:focus, textarea:focus{ border-color:#2a86ff; box-shadow:0 0 0 2px rgba(42,134,255,.2); }

.actions{ display:flex; gap:12px; align-items:center; }
.actions button[type="submit"]{
  all:unset; cursor:pointer;
  background:var(--brand); color:#05102c; font-weight:700;
  padding:10px 18px; border-radius:12px;
}
#form-msg{ display:none; font-size:14px; color:#ffb4b4; }

/* Rodapé */
footer.footer{
  margin-top:36px; padding:18px 22px; border-top:1px solid var(--line);
  color:var(--muted);
}
