:root {
  --fin-paper: #f4f1e9;
  --fin-card: #fffdf8;
  --fin-line: #d9d6ca;
  --fin-ink: #1d2b22;
  --fin-green: #173f2a;
  --fin-orange: #dd6b20;
}

html { scroll-behavior: smooth; }
body,
main#conteudo { background: var(--fin-paper); color: var(--fin-ink); }

/* O conteúdo fica visível mesmo quando algum script de animação falha. */
.fade-up {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.article-summary { box-shadow: 0 18px 45px rgba(23, 63, 42, .09); }

.finance-layout {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 62px 0 96px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 32px;
  align-items: start;
}

.art-body {
  grid-column: 1;
  grid-row: 1;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(30px, 4vw, 52px) !important;
  background: var(--fin-card);
  border: 1px solid var(--fin-line);
  border-radius: 18px;
  box-shadow: 0 16px 44px rgba(23, 63, 42, .07);
}

.art-body > p,
.art-body > h2,
.art-body > h3,
.art-body > ul,
.art-body > ol,
.art-body > .box-destaque { max-width: none !important; }

.art-body h2 {
  margin: 64px 0 20px;
  padding-top: 8px;
  font-size: clamp(1.55rem, 2.4vw, 2.18rem);
  line-height: 1.16;
  letter-spacing: -.025em;
}

.art-body h2:first-child { margin-top: 0; }
.art-body h2::after {
  content: "";
  display: block;
  width: 52px;
  height: 4px;
  margin-top: 15px;
  border-radius: 99px;
  background: var(--fin-orange);
}

.art-body p { font-size: 1.04rem; line-height: 1.78; }
.box-destaque,
.box-alerta,
.box-comparacao,
.tabela-wrap,
.perfis-grid,
.steps,
.faq,
.cta-final {
  max-width: none !important;
  margin-top: 28px;
  margin-bottom: 36px;
}

.box-destaque,
.box-alerta { border-radius: 14px; box-shadow: none; }
.box-comparacao { border-radius: 16px; box-shadow: 0 18px 45px rgba(23, 63, 42, .16); }
.perfil-card,
.faq-item { border: 1px solid var(--fin-line); box-shadow: 0 8px 24px rgba(23, 63, 42, .05); }
.tabela-wrap { border: 1px solid var(--fin-line); border-radius: 14px; overflow: auto; background: #fff; }

.finance-sidebar {
  grid-column: 2;
  grid-row: 1;
  position: sticky;
  top: 96px;
  display: grid;
  gap: 18px;
}

.finance-side-card {
  overflow: hidden;
  padding: 26px;
  background: var(--fin-card);
  border: 1px solid var(--fin-line);
  border-radius: 16px;
  box-shadow: 0 14px 36px rgba(23, 63, 42, .07);
}

.finance-side-card.is-green { color: #fff; background: var(--fin-green); border-color: var(--fin-green); }
.finance-side-kicker {
  display: block;
  margin-bottom: 10px;
  color: var(--fin-orange);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.finance-side-card h2 { margin: 0 0 12px; font-size: 1.32rem; line-height: 1.25; letter-spacing: -.02em; }
.finance-side-card p { margin: 0; color: #526157; font-size: .91rem; line-height: 1.6; }
.finance-side-card.is-green p { color: rgba(255, 255, 255, .76); }
.finance-checklist { margin: 20px 0 0; padding: 0; list-style: none; display: grid; gap: 13px; }
.finance-checklist li { position: relative; padding-left: 27px; color: #34463a; font-size: .88rem; line-height: 1.45; }
.finance-checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: -1px;
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  color: #fff;
  background: var(--fin-green);
  font-size: .72rem;
  font-weight: 900;
}

.finance-side-button {
  display: block;
  margin-top: 20px;
  padding: 14px 16px;
  border-radius: 10px;
  color: #fff !important;
  background: var(--fin-orange);
  text-align: center;
  text-decoration: none;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.35;
  box-shadow: 0 10px 25px rgba(221, 107, 32, .25);
}

.finance-side-note { display: block; margin-top: 10px; color: rgba(255, 255, 255, .52); font-size: .72rem; text-align: center; }

/* CTA final: contraste forte e sem os ornamentos dos títulos do artigo. */
.art-body .cta-final {
  color: #fff;
  background: linear-gradient(135deg, #173f2a 0%, #205737 100%);
  border: 1px solid rgba(255, 255, 255, .1);
  box-shadow: 0 20px 46px rgba(23, 63, 42, .2);
}

.art-body .cta-final h2 {
  margin: 0 0 16px;
  padding: 0;
  color: #fff !important;
  font-size: clamp(1.65rem, 2.7vw, 2.35rem);
  line-height: 1.16;
}

.art-body .cta-final h2::before,
.art-body .cta-final h2::after { display: none !important; }
.art-body .cta-final h2 strong { color: #ffad1f !important; }
.art-body .cta-final p {
  max-width: 760px !important;
  color: rgba(255, 255, 255, .82) !important;
}

.art-body .cta-final .cta-final-nota {
  margin-top: 16px;
  color: rgba(255, 255, 255, .62) !important;
  font-size: .8rem;
}

.art-body .cta-final .cta-links a {
  color: rgba(255, 255, 255, .82) !important;
  border-color: rgba(255, 255, 255, .35);
}

.art-body .cta-final .cta-links a:hover { color: #fff !important; }

@media (max-width: 960px) {
  .finance-layout { grid-template-columns: 1fr; width: min(100% - 30px, 820px); padding-top: 40px; }
  .finance-sidebar { grid-column: 1; grid-row: 1; position: static; grid-template-columns: 1fr 1fr; }
  .art-body { grid-column: 1; grid-row: 2; }
}

@media (max-width: 640px) {
  html,
  body { overflow-x: hidden; }
  .art-hero { min-width: 0; }
  .art-hero-inner { width: 100%; min-width: 0; }
  .art-hero h1 { max-width: 100%; font-size: clamp(2rem, 10vw, 3rem); overflow-wrap: break-word; }
  .article-summary { width: calc(100% - 30px) !important; max-width: 1040px; }
  .finance-layout { gap: 22px; padding: 30px 0 70px; }
  .finance-sidebar { grid-template-columns: 1fr; }
  .art-body { padding: 28px 20px 38px !important; border-radius: 14px; }
  .art-body h2 { margin-top: 48px; }
  .box-comparacao { padding: 26px 20px; }
  .wpp-float { display: none !important; }
}
