/* ============================================================
   CTA FINAL E RODAPÉ
   ============================================================ */

/* ---------- CTA final ---------- */
.final-cta{
  background:var(--brand-dark);
  color:#fff;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.final-cta::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(90deg, rgba(255,255,255,0.05) 0 1px, transparent 1px 84px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.05) 0 1px, transparent 1px 84px);
  pointer-events:none;
}
.final-cta .wrap{ position:relative; }
.final-cta h2{
  font-size:clamp(28px, 4vw, 42px);
  color:#fff;
  max-width:20ch;
  margin:0 auto 18px;
}
.final-cta p{
  font-size:16.5px;
  color:#EFCEFA;
  max-width:48ch;
  margin:0 auto 34px;
}
.final-cta .hero-ctas{ justify-content:center; margin-bottom:0; }


/* ---------- Rodapé ---------- */
footer{ padding:56px 0 40px; }
footer .logo img{ height:90px; }
.footer-grid{
  display:flex; justify-content:space-between; align-items:flex-start;
  flex-wrap:wrap; gap:32px;
  padding-bottom:32px;
  border-bottom:1px solid var(--line);
}
.footer-brand p{
  color:var(--ink-soft);
  font-size:14px;
  max-width:32ch;
  margin:12px 0 0;
}
.footer-title{
  font-family:var(--font-mono);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--ink-faint);
  margin:0 0 16px;
}

.footer-nav ul{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2, auto); gap:10px 36px;
}
.footer-nav a{
  text-decoration:none;
  font-size:14.5px;
  color:var(--ink-soft);
  transition:color 0.15s ease;
}
.footer-nav a:hover{ color:var(--brand); text-decoration:underline; text-underline-offset:4px; }

.footer-contact{ display:flex; flex-direction:column; }
.footer-wa{
  display:flex; align-items:center; gap:14px;
  padding:14px 22px 14px 14px;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  background:var(--accent-tint);
  text-decoration:none;
  color:var(--ink);
  transition:transform 0.15s ease, box-shadow 0.15s ease;
}
.footer-wa:hover{ transform:translateY(-2px); box-shadow:var(--shadow); }
.footer-wa-icon{
  display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; flex-shrink:0;
  border-radius:50%;
  background:var(--brand-dark); color:#fff;
}
.footer-wa-label{ display:block; font-size:12.5px; color:var(--ink-soft); }
.footer-wa-number{ display:block; font-size:16px; font-weight:600; }
.footer-note{
  font-size:13px; color:var(--ink-soft);
  margin:12px 0 0;
}
.footer-bottom{
  padding-top:24px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-size:13px; color:var(--ink-faint);
}
.footer-bottom a{ color:inherit; text-underline-offset:3px; }
.footer-bottom a:hover{ color:var(--brand); }
