/* Páginas institucionais: termos, privacidade, links e ferramentas em iframe. */

.inst-hero { padding-block: clamp(56px, 8vw, 108px) clamp(30px, 4vw, 48px); }
.inst-hero h1 { max-width: 900px; margin: 10px 0 0; font-size: clamp(2.6rem, 5vw, 4.6rem); line-height: .97; letter-spacing: -.056em; }

.inst-note { display: grid; grid-template-columns: 220px 1fr; gap: 40px; margin-block: 10px 8px; padding-block: 22px; border-block: 1px solid var(--line); }
.inst-note strong { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.inst-note p { max-width: 960px; margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.inst-note a { font-weight: 700; }

.inst-body { max-width: 800px; padding-block: clamp(36px, 5vw, 72px); color: #383838; font-size: 1.05rem; line-height: 1.75; }
.inst-body h2 { margin: 52px 0 18px; color: var(--ink); font-size: clamp(1.7rem, 3vw, 2.5rem); letter-spacing: -.045em; line-height: 1.05; scroll-margin-top: 110px; }
.inst-body h3 { margin: 38px 0 14px; color: var(--ink); font-size: 1.3rem; letter-spacing: -.025em; }
.inst-body h4, .inst-body h5, .inst-body h6 { margin: 30px 0 12px; color: var(--ink); font-size: 1.1rem; }
.inst-body p, .inst-body ul, .inst-body ol, .inst-body dl, .inst-body blockquote, .inst-body figure { margin-block: 0 20px; }
.inst-body ul, .inst-body ol { padding-left: 24px; }
.inst-body li + li { margin-top: 8px; }
.inst-body a { color: var(--navy); font-weight: 650; }
.inst-body a:hover { text-decoration: none; }
.inst-body blockquote { padding: 18px 24px; border-left: 4px solid var(--blue); background: var(--paper); }
.inst-body table { width: 100%; margin-bottom: 24px; border-collapse: collapse; font-size: .94rem; }
.inst-body th, .inst-body td { padding: 10px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.inst-body th { background: var(--paper); }
.inst-body img { display: block; max-width: 100%; height: auto; }
.inst-body figure { margin-inline: 0; }
.inst-body figcaption { margin-top: 8px; color: var(--muted); font-size: .82rem; }
.inst-body hr { margin: 40px 0; border: 0; border-top: 1px solid var(--line); }
.inst-body :last-child { margin-bottom: 0; }

.inst-logo { max-width: 320px; margin: 0 0 8px; }
.inst-logo img { width: 100%; height: auto; }

.inst-links { margin: 30px 0 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.inst-links li + li { margin-top: 0; }
.inst-links a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); color: inherit; font-size: 1.08rem; font-weight: 680; letter-spacing: -.02em; line-height: 1.3; text-decoration: none; }
.inst-links a:hover { color: var(--navy); }
.inst-links a span[aria-hidden] { flex: none; color: var(--muted); }

.inst-app-wrap { margin-block: 14px clamp(56px, 8vw, 110px); }
.inst-app { display: block; width: 100%; height: 720px; border: 0; background: var(--paper); }

@media (max-width: 767px) {
  .inst-note { grid-template-columns: 1fr; gap: 8px; }
}

.inst-body { overflow-wrap: anywhere; }
