/* Estilo das páginas legais do LeanTower (Privacidade, Termos, Cookies). */
:root {
  --bg:#0E0F11; --surface:rgba(255,255,255,.05); --border:rgba(255,255,255,.10); --border-strong:rgba(255,255,255,.18);
  --text:#F2F6FB; --muted:#aab4c2; --desc:#c2cad6; --aqua:#24DAF9; --indigo:#6d8bff; --amarelo:#fbbf24;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html,body { margin:0; padding:0; }
body {
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-weight:500;
  background:
    radial-gradient(60vw 50vw at 12% -8%, rgba(29,43,184,.28), transparent 60%),
    radial-gradient(48vw 44vw at 92% 4%, rgba(36,218,249,.16), transparent 60%),
    var(--bg);
  color:var(--text); min-height:100vh; -webkit-font-smoothing:antialiased; line-height:1.6;
}
.nav { position:sticky; top:0; z-index:20; backdrop-filter:blur(14px); background:rgba(14,15,17,.72); border-bottom:1px solid var(--border); }
.nav-in { max-width:900px; margin:0 auto; padding:11px clamp(16px,4vw,32px); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-.02em; font-size:17px; color:var(--text); text-decoration:none; }
.brand-mark { width:32px; height:32px; border-radius:9px; background:linear-gradient(140deg,#1b2a6b,#0c1430); border:1px solid var(--border-strong); display:grid; place-items:center; color:var(--aqua); flex:none; }
.brand-mark svg { width:21px; height:21px; }
.brand small { display:block; font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-top:1px; }
.btn { background:var(--surface); border:1px solid var(--border); color:var(--text); cursor:pointer; padding:8px 14px; border-radius:10px; font-size:14px; font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:7px; transition:.2s; }
.btn:hover { background:rgba(255,255,255,.085); border-color:var(--border-strong); }

.legal { max-width:820px; margin:0 auto; padding:48px clamp(16px,4vw,32px) 80px; }
.legal .kick { font-size:12px; text-transform:uppercase; letter-spacing:.14em; color:var(--aqua); font-weight:700; }
.legal h1 { font-size:clamp(28px,4.4vw,40px); font-weight:800; letter-spacing:-.02em; margin:10px 0 6px; }
.legal .vig { color:var(--muted); font-size:13.5px; margin:0 0 32px; }
.legal h2 { font-size:20px; font-weight:800; letter-spacing:-.01em; margin:36px 0 10px; }
.legal h3 { font-size:16px; font-weight:700; margin:22px 0 8px; }
.legal p, .legal li { color:var(--desc); font-size:15.5px; }
.legal a { color:var(--aqua); text-decoration:none; }
.legal a:hover { text-decoration:underline; }
.legal ul { padding-left:22px; margin:10px 0; }
.legal li { margin:6px 0; }
.legal .toc { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:18px 22px; margin:0 0 34px; }
.legal .toc strong { display:block; font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-bottom:10px; }
.legal .toc ol { margin:0; padding-left:20px; columns:2; }
.legal .toc a { font-weight:600; }
@media (max-width:640px){ .legal .toc ol { columns:1; } }
.legal .nota { background:rgba(36,218,249,.06); border:1px solid rgba(36,218,249,.2); border-radius:12px; padding:14px 18px; font-size:14px; color:var(--desc); }
/* Placeholder visível para o Fernando preencher antes de publicar. */
.ph { background:rgba(251,191,36,.18); border:1px solid rgba(251,191,36,.45); color:#fde68a; border-radius:6px; padding:1px 7px; font-weight:700; font-style:normal; white-space:nowrap; }

footer { border-top:1px solid var(--border); }
.foot-in { max-width:820px; margin:0 auto; padding:22px clamp(16px,4vw,32px) 40px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px; color:var(--muted); }
.foot-in a { color:var(--aqua); text-decoration:none; }
.foot-in .lks { display:flex; gap:16px; flex-wrap:wrap; }
