/* Cierre comercial de portada: conversación directa y piloto OPT propio. */
.contact-finale { position:relative;z-index:2;padding:32px 24px 95px; }
.contact-finale .contact-finale-panel { position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);align-items:center;gap:22px;max-width:1240px;margin:0 auto;padding:0 28px 0 54px;overflow:hidden;border:1px solid rgba(255,150,50,.28);border-radius:28px;background:linear-gradient(115deg,#0b111e 0%,#080d17 48%,#1b120e 100%);box-shadow:0 35px 100px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,218,178,.06); }
.contact-finale .contact-finale-panel::before { content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,180,100,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,180,100,.02) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent 45%,#000);-webkit-mask-image:linear-gradient(90deg,transparent 45%,#000); }
.contact-finale .contact-finale-light { position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 85% 40%,rgba(255,115,0,.18),transparent 60%),radial-gradient(ellipse at 5% 100%,rgba(255,140,0,.04),transparent 55%); }
.contact-finale .contact-finale-copy { position:relative;z-index:3;padding:56px 0; }
.contact-finale .tm-block-tag { display:flex;align-items:center;gap:10px;font-size:.66rem;color:#e7a260;letter-spacing:.16em;margin:0 0 24px; }
.contact-finale .tm-block-tag>span { width:6px;height:6px;border-radius:50%;background:#ff941f;box-shadow:0 0 16px rgba(255,140,0,.55);flex-shrink:0; }
.contact-finale h2 { color:#f0f2f8;font-size:clamp(2.3rem,4.3vw,3.9rem);line-height:1.08;font-weight:850;letter-spacing:-.04em;margin:0 0 26px; }
.contact-finale .contact-finale-lead { color:#f0d2b2;font-size:1.04rem;line-height:1.6;font-weight:650;margin:0 0 13px; }
.contact-finale .contact-finale-description { max-width:525px;color:#a9b3c5;font-size:.96rem;line-height:1.85;margin:0 0 29px; }
.contact-finale .contact-finale-actions { display:flex;align-items:center;flex-wrap:wrap;gap:12px; }
.contact-finale .contact-finale-primary { position:relative;min-height:61px;padding:16px 21px 16px 25px;gap:20px;font-size:.93rem;border:1px solid rgba(255,190,100,.42);box-shadow:0 12px 40px rgba(255,115,0,.22); }
.contact-finale .contact-finale-primary>span { display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border-radius:50%;background:rgba(255,255,255,.16); }
.contact-finale .contact-finale-primary>span>.icon { width:18px;height:18px; }
.contact-finale .contact-finale-whatsapp { min-height:61px;padding:16px 18px;font-size:.82rem;gap:9px;border-color:rgba(142,223,159,.3);color:#b8e6c4;background:rgba(75,160,97,.035); }
.contact-finale .contact-finale-whatsapp>.icon { width:19px;height:19px; }
.contact-finale .contact-finale-whatsapp:hover { border-color:#9de8ac;background:rgba(80,190,111,.08);box-shadow:0 0 30px rgba(80,190,111,.08); }
.contact-finale .contact-finale-reassurance { display:flex;align-items:flex-start;gap:8px;margin:20px 0 0;color:#93a093;font-size:.7rem;line-height:1.7; }
.contact-finale .contact-finale-reassurance>.icon { width:16px;height:19px;flex-shrink:0;color:#bad0ac; }
.contact-finale .contact-finale-phone { display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px;margin:14px 0 0;color:#7e8a9c;font-size:.72rem;line-height:1.7; }
.contact-finale .contact-finale-phone>a { display:inline-flex;align-items:center;gap:8px;color:#d6b48c;text-decoration:none;white-space:nowrap; }
.contact-finale .contact-finale-phone>a:hover { color:#ffcb91;text-decoration:underline;text-underline-offset:4px; }
.contact-finale .contact-finale-phone .icon { width:13px;height:13px; }
.contact-finale .contact-finale-art { position:relative;align-self:stretch;min-width:0;min-height:620px;display:flex;align-items:flex-end;justify-content:center; }
.contact-finale .contact-finale-halo { position:absolute;z-index:0;top:15%;left:50%;width:330px;height:330px;max-width:95%;transform:translateX(-50%) rotate(-20deg);border-radius:50%;border:1px solid rgba(255,165,70,.24);background:radial-gradient(circle,rgba(255,120,0,.04),transparent 68%);box-shadow:inset 0 0 40px rgba(255,130,0,.04),0 0 65px rgba(255,130,0,.035); }
.contact-finale .contact-finale-halo::before { content:"";position:absolute;inset:-27px;border-radius:50%;border:1px solid rgba(255,165,70,.08); }
.contact-finale .contact-finale-halo::after { content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid transparent;border-top-color:rgba(255,180,90,.55);border-right-color:rgba(255,140,0,.18);animation:contactFinaleOrbit 16s linear infinite; }
.contact-finale .contact-finale-pilot { position:relative;z-index:1;width:100%;max-width:470px;animation:contactFinalePilot 7s ease-in-out infinite; }
.contact-finale .contact-finale-pilot img { display:block;width:100%;height:640px;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%); }
.contact-finale .contact-finale-symbol { position:absolute;z-index:2;display:grid;place-items:center;width:58px;height:58px;color:#f3b879;border:1px solid rgba(255,165,70,.35);border-radius:18px;background:linear-gradient(140deg,rgba(24,28,39,.96),rgba(37,24,14,.9));box-shadow:0 14px 35px rgba(0,0,0,.3); }
.contact-finale .contact-finale-symbol>.icon { width:27px;height:27px; }
.contact-finale .contact-finale-symbol--chat { top:19%;left:-4px;transform:rotate(-8deg);animation:contactFinaleChat 6s ease-in-out infinite; }
.contact-finale .contact-finale-symbol--phone { top:60%;right:2px;width:47px;height:47px;transform:rotate(8deg);animation:contactFinalePhone 7.5s ease-in-out infinite; }
.contact-finale .contact-finale-symbol--phone>.icon { width:22px;height:22px; }
.contact-finale .contact-finale-primary::after { content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.27) 48%,transparent 75%);transform:translateX(-160%);animation:contactFinaleShine 8s ease-in-out infinite; }
@keyframes contactFinalePilot { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
@keyframes contactFinaleOrbit { to { transform:rotate(360deg); } }
@keyframes contactFinaleChat { 0%,100% { transform:translateY(0) rotate(-8deg); } 50% { transform:translateY(-9px) rotate(-4deg); } }
@keyframes contactFinalePhone { 0%,100% { transform:translateY(0) rotate(8deg); } 50% { transform:translateY(8px) rotate(4deg); } }
@keyframes contactFinaleShine { 0%,65% { transform:translateX(-160%); } 88%,100% { transform:translateX(160%); } }
@media(max-width:1100px) {
  .contact-finale .contact-finale-panel { padding-left:36px;padding-right:20px;gap:18px; }
  .contact-finale .contact-finale-copy { padding:44px 0; }
  .contact-finale .contact-finale-pilot img { height:610px; }
  .contact-finale .contact-finale-symbol--chat { left:0; }
  .contact-finale .contact-finale-halo { width:280px;height:280px; }
}
@media(max-width:850px) {
  .contact-finale { padding:24px 20px 72px; }
  .contact-finale .contact-finale-panel { grid-template-columns:minmax(0,1fr);padding:0 32px;gap:0; }
  .contact-finale .contact-finale-copy { padding:42px 0 0;max-width:620px; }
  .contact-finale h2 { font-size:clamp(2.4rem,6vw,3.6rem); }
  .contact-finale .contact-finale-description { max-width:560px; }
  .contact-finale .contact-finale-art { min-height:450px;width:100%;max-width:460px;justify-self:center;margin-top:10px; }
  .contact-finale .contact-finale-pilot { max-width:380px; }
  .contact-finale .contact-finale-pilot img { height:500px; }
  .contact-finale .contact-finale-halo { top:16%;width:300px;height:300px; }
  .contact-finale .contact-finale-symbol--chat { top:26%;left:12px; }
  .contact-finale .contact-finale-symbol--phone { right:14px; }
}
@media(max-width:540px) {
  .contact-finale { padding:12px 18px 55px; }
  .contact-finale .contact-finale-panel { padding:0 24px;border-radius:22px; }
  .contact-finale .contact-finale-copy { padding-top:30px; }
  .contact-finale .tm-block-tag { font-size:.57rem;letter-spacing:.12em;margin-bottom:21px; }
  .contact-finale h2 { font-size:clamp(2rem,8.2vw,2.8rem);margin-bottom:22px;line-height:1.1; }
  .contact-finale .contact-finale-lead { font-size:.95rem;line-height:1.6; }
  .contact-finale .contact-finale-description { font-size:.88rem;line-height:1.85;margin-bottom:25px; }
  .contact-finale .contact-finale-actions { display:grid;grid-template-columns:minmax(0,1fr);gap:11px; }
  .contact-finale .contact-finale-primary,.contact-finale .contact-finale-whatsapp { width:100%;justify-content:center;min-height:57px;white-space:normal;line-height:1.4; }
  .contact-finale .contact-finale-primary { justify-content:space-between;font-size:.9rem;padding:14px 18px; }
  .contact-finale .contact-finale-whatsapp { font-size:.8rem;padding:14px; }
  .contact-finale .contact-finale-reassurance { font-size:.65rem; }
  .contact-finale .contact-finale-phone { font-size:.68rem; }
  .contact-finale .contact-finale-art { min-height:365px;margin-top:12px; }
  .contact-finale .contact-finale-pilot img { height:405px; }
  .contact-finale .contact-finale-halo { top:20%;width:220px;height:220px; }
  .contact-finale .contact-finale-symbol { width:45px;height:45px;border-radius:14px; }
  .contact-finale .contact-finale-symbol>.icon { width:22px;height:22px; }
  .contact-finale .contact-finale-symbol--chat { top:26%;left:-8px; }
  .contact-finale .contact-finale-symbol--phone { top:66%;right:-8px;width:38px;height:38px; }
  .contact-finale .contact-finale-symbol--phone>.icon { width:18px;height:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .contact-finale *, .contact-finale *::before, .contact-finale *::after { animation:none!important;transition:none!important; }
  .contact-finale .tm-reveal.is-pending { opacity:1;transform:none; }
  .contact-finale .contact-finale-primary::after { display:none; }
}
