/* AxisAgenda — páginas de conteúdo (termos, privacidade) */
:root{
  --bg: hsl(48 33% 97%);
  --bg-2: hsl(40 20% 94%);
  --ink: hsl(24 18% 7%);
  --ink-2: hsl(24 10% 22%);
  --muted: hsl(25 6% 45%);
  --line: hsl(30 12% 88%);
  --card: #ffffff;
  --primary: hsl(47.9 95.8% 53.1%);
  --gold: #bb8c00;
  --radius: 14px;
}
*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior: auto; } }
body{
  margin:0;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, sans-serif;
  background: var(--bg); color: var(--ink-2);
  font-size: 16px; line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: var(--gold); text-decoration: underline; text-underline-offset: 2px; }
a:hover{ color: var(--ink); }
:focus-visible{ outline: 3px solid var(--primary); outline-offset: 2px; border-radius: 4px; }
.container{ width: min(760px, 100% - 40px); margin-inline: auto; }

.skip-link{
  position:absolute; top:-100px; left:12px; z-index:100;
  background: var(--ink); color: var(--bg); padding:12px 18px;
  border-radius:10px; font-weight:600; font-size:14px; text-decoration:none;
  transition: top .2s ease;
}
.skip-link:focus{ top:12px; }

header.nav{
  position: sticky; top:0; z-index: 50;
  background: hsl(48 33% 97% / .82);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:64px; gap:16px; }
.brand{ display:flex; align-items:center; text-decoration:none; }
.brand img{ height: 22px; width:auto; display:block; }
.nav-back{ font-size:14px; color: var(--ink-2); text-decoration:none; font-weight:500; white-space:nowrap; }
.nav-back:hover{ color: var(--ink); }

main{ padding: 44px 0 72px; }
.crumbs{ font-size:13px; color: var(--muted); margin-bottom: 26px; }
.crumbs a{ color: var(--muted); text-decoration:none; }
.crumbs a:hover{ color: var(--ink); text-decoration:underline; }

h1{
  font-size: clamp(30px, 5vw, 42px); line-height:1.12; letter-spacing:-.03em;
  font-weight:800; color: var(--ink); margin: 0 0 14px;
}
.lead{ font-size: 18px; color: var(--ink-2); margin: 0 0 10px; }
.updated{ font-size:13.5px; color: var(--muted); margin: 0 0 30px; }

h2{
  font-size: clamp(20px, 2.6vw, 24px); line-height:1.25; letter-spacing:-.02em;
  font-weight:700; color: var(--ink); margin: 44px 0 12px; scroll-margin-top: 84px;
}
h3{ font-size:17px; font-weight:700; color: var(--ink); margin: 26px 0 8px; letter-spacing:-.01em; }
p{ margin: 0 0 14px; }
ul,ol{ margin: 0 0 16px; padding-left: 22px; }
li{ margin-bottom: 8px; }
strong{ color: var(--ink); font-weight:600; }

.box{
  background: var(--card); border: 1px solid var(--line);
  border-left: 4px solid var(--primary);
  border-radius: var(--radius); padding: 20px 22px; margin: 26px 0;
}
.box p:last-child{ margin-bottom:0; }

.toc{
  background: var(--bg-2); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 22px 26px; margin: 32px 0 8px;
}
.toc h2{ margin: 0 0 12px; font-size:14px; text-transform:uppercase; letter-spacing:.12em; color: var(--muted); font-weight:700; }
.toc ol{ margin:0; padding-left: 20px; font-size:15px; }
.toc li{ margin-bottom: 6px; }
.toc a{ color: var(--ink-2); text-decoration:none; }
.toc a:hover{ color: var(--ink); text-decoration:underline; }

table{ width:100%; border-collapse: collapse; margin: 0 0 20px; font-size: 15px; }
th,td{ text-align:left; padding: 11px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
th{ color: var(--ink); font-weight:700; background: var(--bg-2); }
.table-wrap{ overflow-x:auto; margin: 0 0 20px; }

footer.site{
  border-top: 1px solid var(--line); padding: 28px 0 40px;
  font-size: 13.5px; color: var(--muted);
}
.foot-inner{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
footer.site a{ color: var(--muted); text-decoration:none; }
footer.site a:hover{ color: var(--ink); text-decoration:underline; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
