/* Páginas institucionais do Recepta. Reusa fontes, cores e cabeçalho do painel. */
body.legal-page{min-height:100vh;display:flex;flex-direction:column}
.legal-page .topbar{height:auto;min-height:var(--topbar-h);gap:20px}
.legal-page .brand{white-space:nowrap}
.legal-page .legal-header-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px 18px}
.legal-page .legal-header-nav a{color:var(--ink-2);font-size:13px;font-weight:600;text-decoration:none}
.legal-page .legal-header-nav a:hover,.legal-page .legal-header-nav a[aria-current="page"]{color:var(--brand);text-decoration:underline}
.legal-page .skip-link{position:absolute;top:-100px;left:12px;z-index:100;padding:10px 14px;background:var(--surface);border:2px solid var(--brand);border-radius:var(--r1)}
.legal-page .skip-link:focus{top:8px}
.legal-page .legal-shell{width:min(100% - 32px,1080px);margin:0 auto;padding:44px 0 72px;flex:1}
.legal-page .legal-intro{padding:clamp(28px,5vw,56px);border:1px solid var(--border);border-radius:var(--r3);background:radial-gradient(circle at 90% 0,var(--brand-soft),transparent 45%),var(--surface);box-shadow:var(--shadow-md)}
.legal-page .legal-eyebrow{display:block;color:var(--brand);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.legal-page h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,6vw,64px);line-height:1.08;letter-spacing:-.035em;margin:0 0 18px;max-width:18ch}
.legal-page .legal-intro p{max-width:68ch;color:var(--ink-2);font-size:17px;line-height:1.65;margin:0}
.legal-page .legal-updated{display:inline-block;margin-top:22px;color:var(--ink-3);font-size:13px}
.legal-page .legal-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;margin-top:40px;align-items:start}
.legal-page .legal-toc{position:sticky;top:calc(var(--topbar-h) + 20px);padding:18px;border:1px solid var(--border);border-radius:var(--r2);background:var(--surface)}
.legal-page .legal-toc strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:10px}
.legal-page .legal-toc a{display:block;padding:6px 0;color:var(--ink-2);text-decoration:none;font-size:13px;line-height:1.35}
.legal-page .legal-toc a:hover{color:var(--brand);text-decoration:underline}
.legal-page .legal-article{min-width:0}
.legal-page .legal-article section{padding:0 0 25px;margin:0 0 27px;border-bottom:1px solid var(--border)}
.legal-page .legal-article section:last-child{border-bottom:0}
.legal-page .legal-article h2{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.02em;line-height:1.2;margin:0 0 13px;scroll-margin-top:calc(var(--topbar-h) + 24px)}
.legal-page .legal-article h3{font-size:17px;margin:22px 0 8px}
.legal-page .legal-article p,.legal-page .legal-article li{color:var(--ink-2);font-size:15px;line-height:1.75}
.legal-page .legal-article p{margin:0 0 14px}
.legal-page .legal-article ul,.legal-page .legal-article ol{padding-left:23px;margin:0 0 14px}
.legal-page .legal-article li+li{margin-top:8px}
.legal-page .legal-article strong{color:var(--ink)}
.legal-page .legal-article a{overflow-wrap:anywhere}
.legal-page .legal-note{padding:16px 19px;border-left:3px solid var(--brand);border-radius:0 var(--r1) var(--r1) 0;background:var(--brand-soft)}
.legal-page .legal-note p{margin:0;color:var(--brand-soft-ink)}
.legal-page .legal-step{padding:18px 20px;border:1px solid var(--border);border-radius:var(--r2);background:var(--surface);margin-bottom:12px}
.legal-page .legal-step strong{display:block;margin-bottom:4px}
.legal-page .legal-step p{margin:0}
.legal-page .legal-footer{border-top:1px solid var(--border);background:var(--surface)}
.legal-page .legal-footer-inner{width:min(100% - 32px,1080px);margin:0 auto;padding:27px 0;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.legal-page .legal-footer p{margin:0;color:var(--ink-3);font-size:13px;line-height:1.6}
.legal-page .legal-footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.legal-page .legal-footer a{font-size:13px}
@media(max-width:760px){
  .legal-page .topbar{padding-top:12px;padding-bottom:12px;align-items:flex-start;flex-direction:column;gap:8px}
  .legal-page .brand .tag{display:inline}
  .legal-page .legal-header-nav{justify-content:flex-start;gap:6px 14px}
  .legal-page .legal-shell{padding:24px 0 44px}
  .legal-page .legal-layout{display:block;margin-top:28px}
  .legal-page .legal-toc{position:static;margin-bottom:30px}
  .legal-page .legal-toc a{display:inline-block;margin-right:16px}
  .legal-page .legal-article h2{font-size:27px}
  .legal-page .legal-article h2{scroll-margin-top:124px}
  .legal-page .legal-footer-inner{flex-direction:column}
}
