/* Páginas institucionais — mesmo universo visual da home v2 */
.page-shell {
  padding: clamp(48px, 7vw, 88px) var(--gutter, clamp(20px, 4vw, 56px)) clamp(70px, 9vw, 110px);
  max-width: var(--maxw, 1240px);
  margin: 0 auto;
}

.page-shell__header {
  max-width: 720px;
  margin-bottom: clamp(28px, 4vw, 44px);
}

.page-shell__header .kicker {
  margin-bottom: 12px;
}

.page-shell__title {
  font-family: var(--font-display, "Fraunces", serif);
  font-weight: 400;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--ink, #0e1116);
  margin: 0 0 12px;
}

.page-shell__sub {
  font-size: 17px;
  color: var(--muted, #5b6472);
  margin: 0;
  line-height: 1.5;
  max-width: 52ch;
}

.page-meta {
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted-2, #8a93a1);
  margin-top: 14px;
}

.page-prose {
  max-width: 720px;
}

.page-prose h2 {
  font-family: var(--font-display, "Fraunces", serif);
  font-weight: 400;
  font-size: clamp(22px, 2.8vw, 28px);
  color: var(--ink, #0e1116);
  margin: 2.2em 0 0.75em;
  letter-spacing: -0.02em;
}

.page-prose h2:first-child {
  margin-top: 0;
}

.page-prose h3 {
  font-family: var(--font-body, system-ui, sans-serif);
  font-weight: 600;
  font-size: 17px;
  color: var(--ink-2, #2a2f38);
  margin: 1.75em 0 0.6em;
}

.page-prose p,
.page-prose li {
  font-size: 16px;
  color: var(--muted, #5b6472);
  line-height: 1.75;
}

.page-prose p {
  margin: 0 0 1.1em;
}

.page-prose ul {
  margin: 0 0 1.25em;
  padding-left: 1.25em;
}

.page-prose li {
  margin-bottom: 0.55em;
}

.page-prose a:not(.btn) {
  color: var(--brand, #4f46e5);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-prose a:not(.btn):hover {
  color: var(--brand-ink, #2e2a8a);
}

.page-prose .btn,
.page-prose .btn:hover {
  text-decoration: none;
}

.page-prose .btn--solid,
.page-prose .btn--solid:hover {
  color: var(--bg, #FBFAF7);
}

.page-prose .btn--ghost,
.page-prose .btn--ghost:hover {
  color: var(--ink, #0E1116);
}

.page-prose strong {
  color: var(--ink-2, #2a2f38);
  font-weight: 600;
}

.page-callout {
  margin-top: 2rem;
  padding: 1.25rem 1.35rem;
  background: var(--brand-soft, #eef0ff);
  border: 1px solid var(--line, #e7e4dd);
  border-radius: var(--radius-sm, 12px);
}

.page-callout .btn--ghost {
  border: 1px solid var(--line, #e7e4dd);
  background: transparent;
  color: var(--ink, #0e1116);
}
