/* ---------- CTA final — versão compacta, selo na fronteira ----------
   Sobrescreve .final de style.css / secoes.css.
   A seção deixa de cortar (overflow visível) para o selo ficar inteiro,
   metade sobre a seção anterior e metade sobre esta. O símbolo-marca d'água
   foi para dentro de .final__bg, que é quem recorta. */

.final {
  position: relative; z-index: 3; overflow: visible; isolation: isolate;
  padding: 92px 0 54px;
  border-top: 1px solid rgba(208,176,42,.22);
}
.final__bg { position: absolute; inset: 0; overflow: hidden; z-index: -1; pointer-events: none; }
.final__sym { bottom: -30%; width: min(560px, 80vw); opacity: .05; }
.final__line { z-index: 1; }

/* selo: centralizado exatamente sobre a borda superior, por cima de tudo */
.final .final__seal {
  top: 0; left: 50%; transform: translate(-50%, -50%);
  width: 116px; height: 116px; z-index: 20;
  box-shadow:
    0 0 0 1px rgba(208,176,42,.6),
    0 0 0 6px rgba(7,31,44,.92),
    0 0 0 7px rgba(208,176,42,.38),
    0 18px 40px -12px rgba(4,20,29,.55),
    0 4px 14px rgba(4,20,29,.25);
}
.final .final__seal .seal__sym { width: 42px; }
.final .final__seal .seal__ring { inset: 6px; }

/* tipografia e ritmo mais enxutos */
.final h2 { font-size: clamp(2.2rem, 4.2vw, 3.5rem); line-height: 1.04; max-width: 22ch; }
.final p { margin: 12px auto 22px; font-size: clamp(1rem, 1.35vw, 1.15rem); max-width: 48ch; }

/* foto + botão na mesma linha */
.final__act { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px 18px; }
.final__act .final__who { margin: 0; padding: 6px 18px 6px 6px; }
.final__act .final__who img { width: 44px; height: 44px; }
.final__act .final__who b { font-size: 14.5px; }
.final__act .final__who span { font-size: 12.5px; }
.final__assure { margin-top: 20px; gap: 8px 24px; }
.final__assure li { font-size: 13.5px; }

@media (max-width: 1080px) {
  .final .final__seal { width: 100px; height: 100px; }
  .final .final__seal .seal__sym { width: 36px; }
}
@media (max-width: 640px) {
  .final { padding: 76px 0 44px; }
  .final h2 { font-size: 2.05rem; }
  .final__act { flex-direction: column; gap: 14px; }
  .final__act .btn { width: 100%; max-width: 360px; justify-content: space-between; }
  .final__assure { flex-direction: row; flex-wrap: wrap; gap: 6px 18px; margin-top: 16px; }
  .final__assure li { font-size: 13px; }
}
