/*
 * Página pública do OrbiMove: landing (/) e documentos legais (/privacidade, /termos, /app/privacidade, /app/termos).
 * Veio do protótipo aprovado (docs/prototipos/landing.html). Fonte e ícones são locais: a CSP do app só aceita o que é
 * servido por ele (default-src 'self').
 */
@font-face { font-family: 'Poppins'; font-weight: 400; font-display: swap; src: url('fontes/Poppins-Regular.ttf') format('truetype'); }
@font-face { font-family: 'Poppins'; font-weight: 500; font-display: swap; src: url('fontes/Poppins-Medium.ttf') format('truetype'); }
@font-face { font-family: 'Poppins'; font-weight: 600; font-display: swap; src: url('fontes/Poppins-SemiBold.ttf') format('truetype'); }
@font-face { font-family: 'Poppins'; font-weight: 700 800; font-display: swap; src: url('fontes/Poppins-Bold.ttf') format('truetype'); }
/* Cores do pacote de marca (docs/brand/brand.md §10) e do app (static/css/orbimove.css). */
:root {
  --verde: #02C59D; --verde-texto: #01866B; --verde-claro: #33d6b1; --verde-suave: rgba(2,197,157,.12);
  --marinho: #0D1C2D; --noite: #08131f; --card-escuro: #11233a; --borda-escura: #1e3550; --texto-escuro: #eef0f2; --suave-escuro: #9fb0c6;
  --fundo: #f4f7f8; --branco: #fff; --borda: #dde6ea; --borda-clara: #e7eef1;
  --texto: #0f1d2c; --mudo: #4a5a6b; --slogan: #495567;
  --aviso: #b45309; --aviso-suave: #fff7e6; --perigo: #dc2626; --perigo-suave: #fef2f2;
  --sombra-p: 0 2px 6px rgba(13,28,45,.06); --sombra: 0 12px 32px rgba(13,28,45,.08); --sombra-g: 0 24px 60px rgba(13,28,45,.18);
  --r: 12px; --r-g: 18px;
  --marca-texto: linear-gradient(180deg, transparent 62%, rgba(2,197,157,.35) 62%);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { margin: 0; font-family: 'Poppins', system-ui, sans-serif; color: var(--texto); background: #fff; font-size: 16px; line-height: 1.6; }
/* Ícones: Font Awesome (o app não carrega script de fora — CSP) */
.lp-icone, i.fa-solid, i.fa-brands { width: 1.15em; text-align: center; }
a { color: var(--verde-texto); text-decoration: none; }
button { font: inherit; }
h1, h2, h3, h4 { color: var(--marinho); letter-spacing: -.02em; line-height: 1.15; margin: 0; }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.destaque-texto { background: var(--marca-texto); padding: 0 .06em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.eyebrow { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; font-weight: 700; color: var(--verde-texto); text-transform: uppercase; letter-spacing: .07em; }
.btn { display: inline-flex; align-items: center; gap: 8px; border-radius: 10px; padding: 11px 18px; font-weight: 600; font-size: 15px; border: 1px solid transparent; cursor: pointer; transition: .15s; white-space: nowrap; }
/* Sobre verde, texto marinho (branco sobre verde tem 2,2:1 — manual §07) */
.btn-verde { background: var(--verde); color: var(--marinho); }
.btn-verde:hover { background: var(--verde-claro); }
.btn-contorno { background: transparent; color: var(--marinho); border-color: #c4d3da; }
.btn-contorno:hover { border-color: var(--verde-texto); color: var(--verde-texto); }
.btn-claro { background: transparent; color: var(--texto-escuro); border-color: #2c4563; }
.btn-claro:hover { border-color: var(--verde); color: var(--verde); }
.btn-ghost { background: transparent; color: var(--mudo); }
.btn-p { padding: 7px 12px; font-size: 14px; }
.btn-g { padding: 14px 22px; font-size: 16px; }

/* ---------- navegação ---------- */
.nav { position: sticky; top: 0; z-index: 50; background: rgba(8,19,31,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--borda-escura); }
.nav .wrap { display: flex; align-items: center; gap: 24px; height: 68px; }
.marca img { height: 34px; display: block; }
.menu { display: flex; gap: 22px; margin-left: 12px; }
.menu a { color: var(--suave-escuro); font-size: 15px; font-weight: 500; }
.menu a:hover { color: var(--verde); }
.nav-acoes { margin-left: auto; display: flex; gap: 8px; }
.nav-acoes .btn-ghost { color: var(--texto-escuro); }
.burger { display: none; margin-left: auto; background: none; border: 1px solid var(--borda-escura); color: var(--texto-escuro); border-radius: 8px; padding: 6px 8px; cursor: pointer; }

/* ---------- hero (escuro, como o app) ---------- */
.hero { position: relative; overflow: hidden; background: radial-gradient(900px 480px at 85% -10%, rgba(2,197,157,.22) 0%, transparent 60%), linear-gradient(180deg, var(--noite), var(--marinho)); padding: 56px 0 80px; color: var(--texto-escuro); }
.hero::before { content: ""; position: absolute; right: -160px; top: 30px; width: 600px; height: 600px; border: 1px dashed rgba(2,197,157,.28); border-radius: 50%; }
.hero::after { content: ""; position: absolute; right: 60px; top: 120px; width: 14px; height: 14px; background: var(--verde); border-radius: 50%; box-shadow: 0 0 0 8px rgba(2,197,157,.15); }
.hero .wrap { position: relative; display: grid; grid-template-columns: 1fr 1.05fr; gap: 48px; align-items: center; }
.hero h1 { color: #fff; font-size: clamp(32px, 4.2vw, 52px); font-weight: 800; }
.hero h1 .verde { color: var(--verde); }
.hero p.lead { font-size: 18.5px; color: #cfdcef; margin: 18px 0 28px; max-width: 560px; }
.publico { display: inline-flex; flex-wrap: wrap; background: rgba(255,255,255,.06); border: 1px solid var(--borda-escura); border-radius: 999px; padding: 4px; margin-bottom: 22px; }
.publico button { border: 0; background: none; padding: 7px 14px; border-radius: 999px; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--suave-escuro); display: inline-flex; gap: 6px; align-items: center; }
.publico button.ativo { background: var(--verde); color: var(--marinho); }
.hero-acoes { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-provas { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 26px; color: #c3cfe2; font-size: 14px; }
.hero-provas span { display: inline-flex; gap: 6px; align-items: center; }
.hero-provas i { color: var(--verde); }

/* telas do produto (mesmos tons do app) */
.palco { position: relative; padding-bottom: 30px; }
.tela-app { background: var(--noite); border: 1px solid var(--borda-escura); border-radius: var(--r-g); box-shadow: var(--sombra-g); overflow: hidden; color: var(--texto-escuro); font-size: 13px; }
.tela-app .barra-sup { display: flex; gap: 6px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--borda-escura); background: #0b1826; color: var(--suave-escuro); font-size: 12px; }
.tela-app .barra-sup span { width: 9px; height: 9px; border-radius: 50%; background: #22344d; }
.tela-app .barra-sup strong { margin-left: 8px; color: var(--texto-escuro); font-weight: 600; }
.tela-app .corpo { display: grid; grid-template-columns: 128px 1fr; min-height: 320px; }
.tela-app aside { background: var(--marinho); padding: 14px 10px; display: grid; gap: 6px; align-content: start; font-size: 12px; color: var(--suave-escuro); }
.tela-app aside b { color: #fff; font-size: 12.5px; margin-bottom: 6px; display: flex; gap: 6px; align-items: center; }
.tela-app aside span { padding: 5px 8px; border-radius: 7px; display: flex; gap: 6px; align-items: center; }
.tela-app aside span.on { background: #10333f; color: var(--verde-claro); }
.tela-app aside i { width: 14px; height: 14px; }
.tela-app main { padding: 16px; display: grid; gap: 12px; align-content: start; }
.tela-app h5 { margin: 0; font-size: 15px; color: #fff; }
.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.kpi { background: var(--card-escuro); border: 1px solid var(--borda-escura); border-radius: 10px; padding: 9px 10px; }
.kpi small { color: var(--suave-escuro); font-size: 11px; display: block; } .kpi b { font-size: 18px; color: #fff; }
.kpi.alerta b { color: #fbbf24; }
.lista-app { background: var(--card-escuro); border: 1px solid var(--borda-escura); border-radius: 10px; }
.lista-app div { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 10px; border-bottom: 1px solid #1a2d45; }
.lista-app div:last-child { border-bottom: 0; }
.lista-app small { color: var(--suave-escuro); }
.chip { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: rgba(2,197,157,.16); color: var(--verde-claro); white-space: nowrap; }
.chip.aviso { background: rgba(251,191,36,.16); color: #fbbf24; }
.chip.neutro { background: rgba(159,176,198,.14); color: var(--suave-escuro); }
.lotacao { height: 8px; background: #1a2d45; border-radius: 99px; overflow: hidden; margin-top: 6px; }
.lotacao div { height: 100%; background: var(--verde); border-radius: 99px; }
.legenda-ilustr { font-size: 11px; color: var(--suave-escuro); text-align: right; margin-top: 8px; opacity: .8; }

/* celular (aluno) */
.celular { position: absolute; right: -14px; bottom: 0; width: 220px; background: var(--noite); border: 6px solid #1b2a3d; border-radius: 30px; box-shadow: var(--sombra-g); overflow: hidden; color: var(--texto-escuro); font-size: 12px; }
.celular.sozinho { position: relative; right: auto; margin: 0 auto; width: 290px; font-size: 13px; }
.celular .topo { padding: 12px 14px 8px; background: var(--marinho); }
.celular .topo small { color: var(--suave-escuro); display: block; font-size: 11px; }
.celular .topo b { color: #fff; font-size: 14px; }
.celular .ex { padding: 10px 14px; border-bottom: 1px solid #1a2d45; }
.celular .ex b { display: block; color: #fff; font-size: 12.5px; }
.celular .ex small { color: var(--suave-escuro); }
.series { display: flex; gap: 5px; margin-top: 7px; flex-wrap: wrap; }
.series span { border: 1px solid #2c4563; border-radius: 7px; padding: 2px 7px; font-size: 11px; }
.series span.feita { background: var(--verde); border-color: var(--verde); color: var(--marinho); font-weight: 600; }
.celular .rodape { padding: 10px 14px; display: flex; justify-content: space-between; align-items: center; background: #0b1826; }
.celular .rodape .btn { padding: 6px 10px; font-size: 12px; }

/* ---------- seções ---------- */
section { padding: 88px 0; }
.sec-cab { max-width: 760px; margin-bottom: 40px; }
.sec-cab.centro { margin-left: auto; margin-right: auto; text-align: center; }
.sec-cab h2 { font-size: clamp(27px, 3.1vw, 39px); margin-top: 10px; }
.sec-cab p { color: var(--mudo); font-size: 17.5px; margin: 14px 0 0; }
.cinza { background: var(--fundo); }

/* antes → depois */
/* Destaques do topo (escuro): lista em duas colunas com ✓ */
.hero-destaques { list-style: none; padding: 0; margin: 26px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 22px; }
.hero-destaques li { display: flex; gap: 8px; align-items: flex-start; color: var(--texto-escuro); font-size: 14.5px; line-height: 1.45; }
.hero-destaques li i { color: var(--verde); margin-top: 3px; flex-shrink: 0; }

/* abas do treino */
.abas { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 26px; }
.abas button { border: 1px solid var(--borda); background: #fff; border-radius: 12px; padding: 12px 16px; cursor: pointer; text-align: left; min-width: 200px; flex: 1; transition: .15s; }
.abas button b { display: flex; gap: 8px; align-items: center; color: var(--marinho); font-size: 16px; }
.abas button small { display: block; color: var(--mudo); font-size: 13px; margin-top: 2px; }
.abas button.ativo { border-color: var(--verde); box-shadow: 0 0 0 3px var(--verde-suave); }
.abas button.ativo b { color: var(--verde-texto); }
.painel { display: none; grid-template-columns: 1fr 1.05fr; gap: 40px; align-items: center; }
.painel.ativo { display: grid; }
.recursos { display: grid; gap: 16px; }
.recurso { display: grid; grid-template-columns: 42px 1fr; gap: 12px; }
.recurso .ic { width: 42px; height: 42px; border-radius: 11px; background: var(--verde-suave); color: var(--verde-texto); display: grid; place-items: center; }
.recurso h3 { font-size: 16px; } .recurso p { margin: 3px 0 0; color: var(--mudo); font-size: 14.5px; }
.mapa { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-top: 6px; }
.mapa span { height: 26px; border-radius: 6px; background: #1a2d45; }
.mapa span.q1 { background: #facc15; } .mapa span.q2 { background: #fb923c; } .mapa span.q3 { background: #f97316; }
.grafico { display: flex; align-items: flex-end; gap: 6px; height: 90px; padding-top: 6px; }
.grafico div { flex: 1; background: linear-gradient(180deg, var(--verde-claro), var(--verde-texto)); border-radius: 5px 5px 0 0; }

/* gestão */
.gestao { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.gestao article { background: #fff; border: 1px solid var(--borda); border-radius: var(--r); padding: 20px; }
.gestao article i { color: var(--verde-texto); width: 22px; height: 22px; }
.gestao h3 { font-size: 16.5px; margin-top: 10px; } .gestao p { margin: 6px 0 0; color: var(--mudo); font-size: 14.5px; }
/* Seções novas (25/10/2026): grade de cartões abaixo dos passos ou do painel */
#pagamento .gestao, #financeiro .gestao { margin-top: 28px; }
.gestao .em-breve { margin-top: 10px; display: inline-flex; font-size: 12px; font-weight: 600; color: var(--aviso); background: var(--aviso-suave); border-radius: 99px; padding: 2px 9px; }

/* seguranca */
.seg { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.seg article { background: #fff; border: 1px solid var(--borda); border-radius: var(--r); padding: 18px; }
.seg i { color: var(--verde-texto); }
.seg h3 { font-size: 15.5px; margin-top: 10px; } .seg p { margin: 6px 0 0; color: var(--mudo); font-size: 14px; }

/* como começar */
.passos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: p; }
.passo { background: #fff; border: 1px solid var(--borda); border-radius: var(--r); padding: 20px; position: relative; }
.passo::before { counter-increment: p; content: counter(p); width: 34px; height: 34px; border-radius: 50%; background: var(--marinho); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 14px; margin-bottom: 12px; }
.passo h3 { font-size: 16px; } .passo p { margin: 6px 0 0; color: var(--mudo); font-size: 14.5px; }

/* planos */
.planos-topo { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 26px; }
.segm { display: inline-flex; border: 1px solid var(--borda); border-radius: 10px; overflow: hidden; background: #fff; }
.segm button { border: 0; background: #fff; padding: 9px 14px; cursor: pointer; font-size: 14px; color: var(--mudo); font-weight: 500; display: inline-flex; gap: 6px; align-items: center; }
.segm button + button { border-left: 1px solid var(--borda); }
.segm button.ativo { background: var(--verde-suave); color: var(--verde-texto); font-weight: 700; }
.economia { font-size: 11px; font-weight: 700; color: var(--verde-texto); background: #e5f8f3; border-radius: 99px; padding: 1px 7px; }
.planos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: stretch; }
.planos.um { grid-template-columns: minmax(0, 420px); justify-content: center; }
.plano { background: #fff; border: 1px solid var(--borda); border-radius: var(--r-g); padding: 26px; display: flex; flex-direction: column; gap: 14px; position: relative; }
.plano.destaque { border-color: var(--verde); box-shadow: 0 0 0 4px var(--verde-suave), var(--sombra); }
.plano .selo { position: absolute; top: -12px; left: 26px; background: var(--verde); color: var(--marinho); font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 99px; }
.plano h3 { font-size: 22px; } .plano .para { color: var(--mudo); font-size: 14.5px; margin: 0; }
.preco b { font-size: 34px; color: var(--marinho); letter-spacing: -.02em; }
.preco small { color: var(--mudo); font-size: 14px; }
.preco .mes { display: block; color: var(--mudo); font-size: 13px; }
.plano ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14.5px; flex: 1; }
.plano li { display: flex; gap: 8px; } .plano li i { color: var(--verde-texto); flex-shrink: 0; margin-top: 3px; }
.teste { font-size: 13px; color: var(--verde-texto); font-weight: 600; display: flex; gap: 6px; align-items: center; }
.planos-rodape { text-align: center; color: var(--mudo); font-size: 14px; margin-top: 22px; }

/* o que ainda não fazemos */
.nao { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.nao article { border: 1px dashed #c4d3da; border-radius: var(--r); padding: 18px; background: #fff; }
.nao h3 { font-size: 15.5px; display: flex; gap: 8px; align-items: center; } .nao h3 i { color: var(--aviso); }
.nao p { margin: 6px 0 0; color: var(--mudo); font-size: 14px; }

/* faq */
.faq { max-width: 820px; margin: 0 auto; display: grid; gap: 10px; }
.faq details { background: #fff; border: 1px solid var(--borda); border-radius: var(--r); padding: 4px 18px; }
.faq summary { cursor: pointer; padding: 14px 0; font-weight: 600; color: var(--marinho); list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 20px; color: var(--verde-texto); line-height: 1; }
.faq details[open] summary::after { content: "–"; }
.faq p { margin: 0 0 16px; color: var(--mudo); }

/* chamada final */
.cta { background: linear-gradient(135deg, var(--noite), var(--marinho) 60%, #10333f); color: #cfdcef; text-align: center; }
.cta h2 { color: #fff; font-size: clamp(28px, 3.2vw, 40px); }
.cta p { max-width: 640px; margin: 14px auto 28px; font-size: 17.5px; }
.cta .hero-acoes { justify-content: center; }
.cta .hero-provas { justify-content: center; }

/* rodapé */
footer { background: #050d16; color: #8e9fbb; padding: 48px 0 26px; font-size: 14px; }
footer .topo { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
footer img { height: 46px; margin-bottom: 12px; }
footer h4 { color: #fff; margin: 0 0 12px; font-size: 14px; }
footer a { color: #cfdaea; display: block; margin-bottom: 8px; }
footer .base { border-top: 1px solid #16263a; margin-top: 32px; padding-top: 18px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: 13px; }

[hidden] { display: none !important; }

/* responsivo */
@media (max-width: 1080px) {
  .menu, .nav-acoes { display: none; } .burger { display: inline-flex; }
  .nav.aberto .menu { display: grid; position: absolute; top: 68px; left: 0; right: 0; background: var(--noite); padding: 16px 24px; gap: 14px; border-bottom: 1px solid var(--borda-escura); margin: 0; }
  .hero .wrap, .painel.ativo { grid-template-columns: 1fr; }
  .gestao, .planos { grid-template-columns: 1fr 1fr; }
  .seg, .passos, .nao { grid-template-columns: 1fr 1fr; }
  footer .topo { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  section { padding: 64px 0; } .wrap { padding: 0 16px; }
  .gestao, .planos, .seg, .passos, .nao, .hero-destaques, footer .topo { grid-template-columns: 1fr; }
  .tela-app .corpo { grid-template-columns: 1fr; } .tela-app aside { display: none; }
  .kpis { grid-template-columns: 1fr 1fr; }
  .celular { position: relative; right: auto; margin: 16px auto 0; }
  .abas button { min-width: 100%; }
}

/* ---------- substitutos dos estilos inline do protótipo (a CSP bloqueia style="...") ---------- */
.lotacao-linha { display: block !important; }
.lotacao .w39 { width: 39%; }
.sub-escuro { color: var(--suave-escuro); font-weight: 400; }
.grafico .h90 { height: 90%; } .grafico .h84 { height: 84%; } .grafico .h80 { height: 80%; }
.grafico .h77 { height: 77%; } .grafico .h73 { height: 73%; } .grafico .h71 { height: 71%; }
.preco [data-mostra-ciclo][hidden] { display: none; }
.preco .anual-texto { display: block; }

/* ---------- documentos legais (mesma estrutura das páginas legais do Avizuaí) ---------- */
.legal-page { background: var(--fundo); padding: 48px 24px 80px; min-height: calc(100vh - 68px); }
.legal-container { max-width: 820px; margin: 0 auto; background: var(--branco); border-radius: 16px; padding: 56px 56px 48px;
  box-shadow: 0 4px 20px rgba(13, 28, 45, .06); }
.legal-header { border-bottom: 1px solid var(--borda); padding-bottom: 24px; margin-bottom: 36px; }
.legal-eyebrow { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: var(--verde-texto); margin-bottom: 10px; }
.legal-header h1 { font-size: 2.2rem; font-weight: 800; color: var(--marinho); letter-spacing: -.8px; line-height: 1.15; margin-bottom: 12px; }
.legal-meta { font-size: .88rem; color: var(--mudo); margin: 0; }
.legal-meta a { color: var(--verde-texto); font-weight: 500; }
.legal-meta a:hover { text-decoration: underline; }
/* Menu entre os documentos (molde do OrbiDesk) */
.legal-abas { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 20px; }
.legal-abas a { border: 1px solid var(--borda); border-radius: 999px; padding: 6px 14px; font-size: 14px; color: var(--mudo); background: var(--branco); }
.legal-abas a:hover { border-color: var(--verde-texto); color: var(--verde-texto); }
.legal-abas a.ativo { border-color: var(--verde-texto); color: var(--verde-texto); background: var(--verde-suave); font-weight: 600; }
/* Zera o espaçamento geral de <section> da landing: aqui as seções só precisam de respiro entre si */
.legal-content section { padding: 0; margin-bottom: 32px; }
.legal-content section:last-child { margin-bottom: 0; }
.legal-content h2 { font-size: 1.2rem; font-weight: 700; color: var(--marinho); margin-bottom: 14px; letter-spacing: -.2px; }
.legal-content p, .legal-content li { font-size: .95rem; color: var(--mudo); line-height: 1.7; }
.legal-content p { margin: 0 0 12px; }
.legal-content ul { margin: 0 0 16px 24px; padding: 0; }
.legal-content li { margin-bottom: 6px; }
.legal-content a { color: var(--verde-texto); text-decoration: underline; text-underline-offset: 2px; }
.legal-content a:hover { color: var(--marinho); }
.legal-content strong { color: var(--marinho); }
.legal-destaque { padding: 1rem 1.25rem; border-left: 4px solid var(--verde); background: var(--verde-suave); border-radius: 6px; }
.legal-intro { font-style: italic; }
@media (max-width: 768px) {
  .legal-page { padding: 32px 16px 48px; }
  .legal-container { padding: 32px 24px 28px; }
  .legal-header h1 { font-size: 1.7rem; }
}
.skip-link { position: absolute; left: -9999px; top: 8px; background: var(--verde); color: var(--marinho); padding: 8px 14px; border-radius: 8px; z-index: 100; font-weight: 600; }
.skip-link:focus { left: 12px; }
