/* =========================================================
   CONTACT FINAL — BLOCO DE FECHAMENTO / CTA
   Arquivo isolado para não mexer no que já está aprovado
========================================================= */
#contato.contact-final{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:84px 0 92px;
  background:linear-gradient(180deg,#050506 0%,#060608 100%);
}

#contato .contact-final-bg,
#contato .contact-final-grid,
#contato .contact-final-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
}

#contato .contact-final-bg{
  z-index:1;
  background:
    radial-gradient(760px 460px at 20% 20%, rgba(255,180,80,.06) 0%, rgba(255,180,80,0) 45%),
    radial-gradient(820px 520px at 82% 30%, rgba(155,20,20,.16) 0%, rgba(155,20,20,0) 48%),
    radial-gradient(900px 560px at 50% 100%, rgba(20,30,80,.10) 0%, rgba(20,30,80,0) 50%),
    linear-gradient(90deg,#070707 0%,#0a090c 38%,#070709 100%);
}

#contato .contact-final-grid{
  z-index:2;
  opacity:.05;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 88px, rgba(255,255,255,.018) 89px, rgba(255,255,255,.018) 90px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 88px, rgba(255,255,255,.014) 89px, rgba(255,255,255,.014) 90px);
}

#contato .contact-final-glow-a{
  z-index:3;
  background:radial-gradient(circle at 15% 18%, rgba(255,175,65,.12) 0%, rgba(255,175,65,0) 28%);
  filter:blur(46px);
  opacity:.66;
}

#contato .contact-final-glow-b{
  z-index:3;
  background:radial-gradient(circle at 78% 30%, rgba(120,0,0,.18) 0%, rgba(120,0,0,0) 34%);
  filter:blur(56px);
  opacity:.72;
}

#contato .contact-final-shell{
  position:relative;
  z-index:6;
  display:grid;
  grid-template-columns:minmax(320px, 560px) minmax(280px, 1fr);
  gap:48px;
  align-items:center;
}

#contato .contact-final-copy{
  max-width:560px;
}

#contato .contact-final-title{
  margin:0;
  display:flex;
  flex-direction:column;
  font-family:Rajdhani, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  line-height:.90;
  letter-spacing:-.025em;
  font-size:clamp(52px, 5vw, 88px);
  text-shadow:0 12px 34px rgba(0,0,0,.72), 0 2px 8px rgba(0,0,0,.55);
}

#contato .contact-final-title span{
  display:block;
}

#contato .contact-final-text{
  margin:20px 0 0;
  max-width:24ch;
  color:rgba(245,246,250,.82);
  font-size:clamp(18px, 1.15vw, 22px);
  line-height:1.42;
}

#contato .contact-final-actions{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

#contato .contact-final-btn{
  min-width:196px;
  justify-content:center;
}

#contato .contact-final-points{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

#contato .contact-final-points span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:rgba(245,246,250,.78);
  font-size:13px;
  letter-spacing:.02em;
}

#contato .contact-final-points span::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#d4af5a;
  box-shadow:0 0 12px rgba(212,175,90,.45);
}

#contato .contact-final-side{
  display:flex;
  justify-content:flex-end;
}

#contato .contact-final-card{
  width:min(100%, 520px);
  padding:32px 30px 28px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.02) 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 18px 48px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:blur(8px);
}

#contato .contact-final-card-kicker{
  font-family:Rajdhani, sans-serif;
  font-size:14px;
  letter-spacing:.18em;
  font-weight:700;
  color:#d4af5a;
  text-transform:uppercase;
}

#contato .contact-final-card-text{
  margin:14px 0 0;
  color:rgba(245,246,250,.84);
  font-size:clamp(17px, 1.05vw, 20px);
  line-height:1.5;
}

#contato .contact-final-mini-proof{
  margin-top:22px;
  display:grid;
  gap:12px;
}

#contato .contact-final-proof-item{
  display:grid;
  gap:2px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.06);
}

#contato .contact-final-proof-item strong{
  font-family:Rajdhani, sans-serif;
  font-size:26px;
  line-height:1;
  letter-spacing:.01em;
  color:#f3f4f7;
}

#contato .contact-final-proof-item span{
  color:rgba(245,246,250,.70);
  font-size:14px;
  line-height:1.35;
}

@media (max-width: 1100px){
  #contato.contact-final{
    padding:76px 0 84px;
  }

  #contato .contact-final-shell{
    grid-template-columns:1fr;
    gap:28px;
    align-items:start;
  }

  #contato .contact-final-copy,
  #contato .contact-final-side{
    max-width:none;
  }

  #contato .contact-final-side{
    justify-content:flex-start;
  }

  #contato .contact-final-card{
    width:min(100%, 620px);
  }
}

@media (max-width: 640px){
  #contato.contact-final{
    padding:62px 0 70px;
  }

  #contato .contact-final-shell{
    gap:24px;
  }

  #contato .contact-final-copy{
    width:100%;
    max-width:none;
    padding:0 24px;
  }

  #contato .contact-final-title{
    font-size:clamp(42px, 12vw, 58px);
    line-height:.92;
  }

  #contato .contact-final-text{
    margin-top:16px;
    font-size:16px;
    max-width:18ch;
  }

  #contato .contact-final-actions{
    margin-top:22px;
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }

  #contato .contact-final-btn{
    width:100%;
    min-width:0;
  }

  #contato .contact-final-points{
    margin-top:18px;
    gap:10px;
  }

  #contato .contact-final-points span{
    font-size:12px;
    min-height:36px;
    padding:0 12px;
  }

  #contato .contact-final-side{
    padding:0 24px;
  }

  #contato .contact-final-card{
    padding:24px 20px 22px;
    border-radius:22px;
  }

  #contato .contact-final-card-text{
    font-size:16px;
  }

  #contato .contact-final-proof-item strong{
    font-size:22px;
  }

  #contato .contact-final-proof-item span{
    font-size:13px;
  }
}



/* =========================================================
   CONTACT FINAL — MICRO AJUSTES PREMIUM
========================================================= */
#contato .contact-final-copy,
#contato .contact-final-side,
#contato .contact-final-actions .contact-final-btn,
#contato .contact-final-points span,
#contato .contact-final-card,
#contato .contact-final-proof-item{
  opacity:0;
  transform:translate3d(0,20px,0);
  transition:
    opacity .72s ease,
    transform .72s cubic-bezier(.22,.7,.18,1),
    border-color .28s ease,
    box-shadow .28s ease,
    background-color .28s ease,
    color .28s ease;
}

#contato .contact-final-copy.reveal,
#contato .contact-final-side.reveal{
  opacity:1;
  transform:translate3d(0,0,0);
}

#contato .contact-final-copy.reveal .contact-final-actions .contact-final-btn,
#contato .contact-final-copy.reveal .contact-final-points span,
#contato .contact-final-side.reveal .contact-final-card,
#contato .contact-final-side.reveal .contact-final-proof-item{
  opacity:1;
  transform:translate3d(0,0,0);
}

#contato .contact-final-copy.reveal .contact-final-actions .contact-final-btn:nth-child(1){ transition-delay:.10s; }
#contato .contact-final-copy.reveal .contact-final-actions .contact-final-btn:nth-child(2){ transition-delay:.16s; }

#contato .contact-final-copy.reveal .contact-final-points span:nth-child(1){ transition-delay:.22s; }
#contato .contact-final-copy.reveal .contact-final-points span:nth-child(2){ transition-delay:.28s; }
#contato .contact-final-copy.reveal .contact-final-points span:nth-child(3){ transition-delay:.34s; }

#contato .contact-final-side.reveal .contact-final-card{ transition-delay:.10s; }
#contato .contact-final-side.reveal .contact-final-proof-item:nth-child(1){ transition-delay:.18s; }
#contato .contact-final-side.reveal .contact-final-proof-item:nth-child(2){ transition-delay:.24s; }
#contato .contact-final-side.reveal .contact-final-proof-item:nth-child(3){ transition-delay:.30s; }

#contato .contact-final-btn.btn-primary{
  position:relative;
  overflow:hidden;
  box-shadow:
    0 0 0 rgba(212,175,90,0),
    0 8px 22px rgba(212,175,90,.10);
  animation:contactGoldPulse 3.8s ease-in-out infinite;
}

#contato .contact-final-btn.btn-primary::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(110deg, transparent 20%, rgba(255,255,255,.22) 48%, transparent 76%);
  transform:translateX(-140%);
  opacity:.55;
  animation:contactGoldSweep 5.4s ease-in-out infinite;
  pointer-events:none;
}

#contato .contact-final-btn.btn-ghost{
  transition:
    border-color .26s ease,
    box-shadow .26s ease,
    transform .26s ease,
    color .26s ease,
    background-color .26s ease;
}

@media (hover:hover) and (pointer:fine){
  #contato .contact-final-btn.btn-ghost:hover{
    border-color:rgba(212,175,90,.48);
    box-shadow:
      0 0 0 1px rgba(212,175,90,.14) inset,
      0 0 18px rgba(212,175,90,.10);
    transform:translateY(-2px);
    color:#f5f6fa;
    background:rgba(255,255,255,.03);
  }
}

#contato .contact-final-proof-item strong{
  transition:opacity .24s ease, transform .24s ease;
}

#contato .contact-final-proof-item strong.is-counting{
  opacity:1;
}

footer{
  padding:20px 0 28px;
}

footer .wrap{
  font-size:13px;
  color:rgba(245,246,250,.72);
  letter-spacing:.01em;
}

@keyframes contactGoldPulse{
  0%,100%{
    box-shadow:
      0 0 0 rgba(212,175,90,0),
      0 8px 22px rgba(212,175,90,.10);
  }
  50%{
    box-shadow:
      0 0 22px rgba(212,175,90,.16),
      0 10px 28px rgba(212,175,90,.18);
  }
}

@keyframes contactGoldSweep{
  0%,70%,100%{
    transform:translateX(-140%);
  }
  82%{
    transform:translateX(135%);
  }
}

@media (max-width: 640px){
  footer{
    padding:18px 0 24px;
  }

  footer .wrap{
    font-size:12px;
    line-height:1.4;
    text-align:left;
  }
}
