/* Páginas legais (termos.html, privacidade.html, cookies.html): mesmo desenho do cadastro.html */
:root { --orange: #FF6B1A; --navy: #001F5B; --teal: #159A87; --yellow: #F7C84B; --ink: #271812; --bg: #FAFAFA; }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; font-family: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  color: var(--ink); background: var(--bg); line-height: 1.5; -webkit-font-smoothing: antialiased; }
.icon { font-family: "Material Symbols Outlined"; font-weight: normal; font-style: normal; line-height: 1; font-variation-settings: "FILL" 1;
  display: inline-block; vertical-align: middle; font-feature-settings: "liga"; }
.wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 16px; }
:focus-visible { outline: 3px solid var(--navy); outline-offset: 3px; }

header { background: #fff; border-bottom: 1px solid rgba(0,31,91,.06); }
.bar { display: flex; align-items: center; height: 68px; }
.logo { display: flex; align-items: center; text-decoration: none; }
.logo img { display: block; height: 40px; width: auto; transition: transform .3s; }
.logo:hover img { transform: scale(1.05); }
@media (max-width: 400px) { .logo img { height: 32px; } }

main { position: relative; overflow: hidden; flex: 1; padding: 40px 0 72px; }
.blob { position: absolute; border-radius: 50%; pointer-events: none; display: none; }
@media (min-width: 1100px) {
  .blob { display: block; }
  .blob.teal { background: var(--teal); width: 120px; height: 120px; left: 3%; top: 90px; }
  .blob.yellow { background: var(--yellow); width: 130px; height: 130px; right: 3%; bottom: 80px; }
}

.doc { position: relative; z-index: 2; max-width: 760px; margin: 0 auto; }
.back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 14px; color: var(--navy); opacity: .75; font-size: .85rem; font-weight: 600; text-decoration: none; }
.back:hover { opacity: 1; }
.back .icon { font-size: 1rem; }
.card { background: #fff; border-radius: 24px; box-shadow: 0 8px 30px rgba(0,31,91,.1); overflow: hidden; }
.strip { background: var(--orange); height: 8px; }
.body { padding: 28px 22px 36px; }
@media (min-width: 640px) { .body { padding: 40px 48px 52px; } }

.body h1 { margin: 0; color: var(--navy); font-size: clamp(1.8rem, 5vw, 2.4rem); font-weight: 900; line-height: 1.1; letter-spacing: -.03em; }
.upd { display: inline-block; margin: 14px 0 6px; padding: 5px 14px; border-radius: 9999px; background: #FFF1E8; color: #C2410C; font-size: .8rem; font-weight: 700; }
.body h2 { margin: 32px 0 8px; color: var(--navy); font-size: 1.2rem; font-weight: 800; letter-spacing: -.01em; }
.body p, .body li { color: rgba(39,24,18,.88); font-size: 1rem; }
.body p { margin: 0 0 12px; }
.body ul { margin: 0 0 12px; padding-left: 1.2rem; }
.body li { margin: 0 0 6px; }
.body a { color: #E85A0C; font-weight: 600; text-underline-offset: 2px; }
.body strong { color: var(--navy); }

.tbl { margin: 8px 0 14px; overflow-x: auto; border-radius: 14px; border: 1px solid rgba(0,31,91,.12); }
.tbl table { width: 100%; min-width: 440px; border-collapse: collapse; font-size: .92rem; }
.tbl th, .tbl td { padding: 11px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(0,31,91,.08); }
.tbl th { background: rgba(0,31,91,.05); color: var(--navy); font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.tbl tr:last-child td { border-bottom: 0; }
