:root{
  --blue:#2D6CDF;
  --blue2:#153194;
  --blue3:#0f236f;
  --green:#11b957;
  --red:#ff0808;
  --black:#020202;
  --white:#ffffff;
  --muted:#d6d6d6;
  --dark-card:#101010;
  --radius:26px;
  --shadow:0 28px 80px rgba(0,0,0,.35);
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,Helvetica,sans-serif;
  background:#000;
  color:#fff;
  line-height:1.35;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.top-alert{
  background:var(--red);
  color:#fff;
  text-align:center;
  font-weight:900;
  font-size:14px;
  letter-spacing:.6px;
  padding:9px 16px;
}

.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.narrow{max-width:680px}
.center{text-align:center}
.small{font-size:14px;color:#e8e8e8}
.section{padding:82px 0}
.dark{background:#000}

.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--blue);
  color:#fff;
  border-radius:10px;
  padding:7px 12px;
  font-size:14px;
  margin-bottom:20px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:0;
  font-weight:900;
  letter-spacing:.3px;
  cursor:pointer;
  transition:.25s ease;
  text-align:center;
}
.btn--primary{
  background:var(--blue);
  color:#fff;
  padding:16px 38px;
  box-shadow:0 0 0 8px rgba(45,108,223,.18);
}
.btn--primary:hover{transform:translateY(-3px);filter:brightness(1.08)}
.btn--wide{width:100%;max-width:390px}
.btn--whatsapp{background:#12b957;color:#fff;padding:14px 28px;font-size:13px}

/* HERO CORRIGIDO */
.hero{
  position:relative;
  min-height:626px;
  background:#fff;
  color:#000;
  display:grid;
  grid-template-columns:minmax(420px, 520px) minmax(620px, 1fr);
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:56px max(28px,calc((100vw - var(--max))/2)) 0;
  overflow:hidden;
}

.hero__content{
  position:relative;
  z-index:6;
  padding-bottom:46px;
  max-width:490px;
}

.brand{display:inline-flex;margin-bottom:28px}
.brand img{width:170px;height:auto}

.hero h1{
  font-size:clamp(33px,3.55vw,56px);
  line-height:.96;
  margin:0 0 16px;
  font-weight:950;
  max-width:520px;
  letter-spacing:-1.4px;
}
.hero h1 em{font-style:italic}

.hero__lead{
  font-size:18px;
  max-width:470px;
  margin:0 0 24px;
  color:#111;
}
.hero__lead strong{color:var(--blue);font-weight:950}
.hero__actions{margin-bottom:28px}

.trust-row{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  font-size:11px;
  font-weight:850;
  color:#111;
}
.trust-row--dark{justify-content:center;color:#000;margin-top:22px}

.hero__art{
  position:relative;
  height:626px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
}
.hero__art-image{
  width:min(835px, 100%);
  height:auto;
  display:block;
  object-fit:contain;
  object-position:right bottom;
  margin-right:-24px;
  margin-bottom:0;
}

.ticker{
  height:36px;
  background:var(--blue);
  color:#fff;
  display:flex;
  align-items:center;
  overflow:hidden;
  white-space:nowrap;
  font-size:14px;
  letter-spacing:7px;
}
.ticker--white{background:#fff;color:var(--blue)}
.ticker__track{
  display:flex;
  min-width:200%;
  animation:ticker 20s linear infinite;
}
.ticker span{padding-right:28px;font-weight:700}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

h2{
  font-size:clamp(28px,3.1vw,44px);
  line-height:1.05;
  margin:0 0 18px;
  font-weight:950;
}
h2 em{
  font-style:italic;
  background:linear-gradient(90deg,var(--blue),#fff);
  padding:0 7px;
  border-radius:3px;
}
h3{margin:0 0 8px}

/* SEÇÕES */
.section-pattern{position:relative;overflow:hidden}
.section-pattern:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.23;
  pointer-events:none;
  background-image:
    linear-gradient(60deg,rgba(255,255,255,.18) 1px,transparent 1px),
    linear-gradient(120deg,rgba(255,255,255,.18) 1px,transparent 1px);
  background-size:105px 180px;
  mask-image:linear-gradient(to bottom,#000 0%,transparent 86%);
}
.section-pattern>*{position:relative}

.grid-pain{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  max-width:760px;
  margin-top:34px;
}
.pain-card{
  display:grid;
  grid-template-columns:54px 1fr;
  align-items:center;
  gap:18px;
  padding:25px 28px;
  background:linear-gradient(145deg,var(--blue),var(--blue3));
  border-radius:15px;
  box-shadow:var(--shadow);
}
.pain-card span{
  height:46px;
  width:46px;
  border-radius:12px;
  background:#fff;
  color:var(--blue);
  font-size:31px;
  font-weight:950;
  display:flex;
  align-items:center;
  justify-content:center;
  clip-path:polygon(16% 0,84% 0,100% 50%,84% 100%,16% 100%,0 50%);
}
.pain-card h3{font-size:18px}
.pain-card p{margin:0;font-size:13px;color:#edf2ff}

.proof-strip{
  width:min(100%,1120px);
  margin:40px auto 28px;
  display:flex;
  gap:22px;
  overflow-x:auto;
  padding:10px 20px 22px;
  scroll-snap-type:x mandatory;
}
.proof-strip img{
  height:360px;
  min-width:190px;
  border-radius:14px;
  object-fit:cover;
  border:1px solid rgba(255,211,81,.65);
  scroll-snap-align:center;
  background:#111;
}
.proof-strip::-webkit-scrollbar{height:8px}
.proof-strip::-webkit-scrollbar-thumb{background:var(--blue);border-radius:999px}

.modules{max-width:760px}
.modules article{
  display:grid;
  grid-template-columns:72px 1fr;
  margin-bottom:14px;
  border-radius:13px;
  overflow:hidden;
  box-shadow:0 10px 36px rgba(0,0,0,.35);
}
.modules strong{
  background:#fff;
  color:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:29px;
}
.modules div{background:linear-gradient(135deg,#1c3498,#142986);padding:22px}
.modules h3{text-transform:uppercase;font-size:18px}
.modules p{margin:0;color:#edf2ff}

.who{position:relative;padding-top:74px}
.who:after{
  content:"";
  position:absolute;
  left:7%;
  right:7%;
  bottom:-70px;
  height:210px;
  background:linear-gradient(100deg,#e9e9e9,#cfcfcf);
  border-radius:34px 34px 0 0;
  clip-path:polygon(0 36%,40% 36%,55% 10%,100% 10%,100% 100%,0 100%);
  z-index:0;
}
.who__grid{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:70px;
  position:relative;
  z-index:2;
}
.who h2{max-width:360px}
.ghost-note{
  font-size:180px;
  color:#fff;
  opacity:.18;
  transform:rotate(-18deg);
  margin-top:80px;
}
.check-list{display:grid;gap:14px}
.check-list p{
  margin:0;
  background:#fff;
  color:#111;
  border-radius:11px;
  padding:18px 22px 18px 56px;
  position:relative;
}
.check-list p:before{
  content:"✓";
  position:absolute;
  left:20px;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  height:24px;
  background:var(--green);
  border-radius:50%;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:950;
}

.story{background:#000;padding:130px 0 80px}
.story__card{
  background:linear-gradient(120deg,#f7f7f7,#c7c7c7);
  color:#000;
  border-radius:30px;
  padding:70px clamp(24px,6vw,92px);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.story__grid{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:80px;
  align-items:center;
}
.story__card .pill{
  position:absolute;
  top:32px;
  left:50%;
  transform:translateX(-50%);
}
.story h2 em{background:none;padding:0}
.story p{font-size:18px}
.story img{
  border-radius:16px;
  box-shadow:0 18px 50px rgba(0,0,0,.2);
  width:100%;
  max-height:520px;
  object-fit:cover;
}

.offer{padding-top:60px}
.price-panel{
  margin-top:42px;
  background:linear-gradient(135deg,#3378f4,#152986);
  border-radius:42px 42px 0 0;
  padding:70px clamp(24px,7vw,115px);
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:70px;
  align-items:center;
}
.included h2{margin-bottom:26px}
.included ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:16px;
  font-size:20px;
}
.included li{position:relative;padding-left:52px}
.included li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  background:#1bd44f;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:950;
}
.price-card{
  background:#fff;
  color:#000;
  border-radius:18px;
  padding:45px 38px;
  text-align:center;
  box-shadow:0 28px 70px rgba(0,0,0,.24);
}
.price-card img{width:180px;margin:0 auto 30px}
.price-card p{font-size:18px;margin:0 0 16px}
.price-card span{display:block;font-weight:900;margin-bottom:10px}
.price-card strong{
  display:block;
  font-size:clamp(52px,6vw,78px);
  line-height:1;
  margin-bottom:32px;
}

.guarantee{
  max-width:760px;
  background:linear-gradient(135deg,#343434,#121212);
  border-radius:18px;
  padding:42px 52px;
  display:grid;
  grid-template-columns:150px 1fr;
  gap:34px;
  align-items:center;
  margin-bottom:75px;
}
.seal{
  width:112px;
  height:112px;
  border:1px dashed var(--blue);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-size:58px;
  font-weight:950;
}
.seal span{font-size:11px;text-transform:uppercase;letter-spacing:2px}
.guarantee h2{font-size:27px;margin-bottom:8px}
.guarantee p{font-size:20px;color:#f2f2f2;margin:0}

.faq-grid{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:78px;
  align-items:start;
}
.support-card{
  background:#fff;
  color:#000;
  border-radius:18px;
  padding:68px 58px;
  text-align:center;
}
.support-card h2{font-size:31px}
.support-card p{font-size:18px;margin-bottom:28px}
.faq h2{margin-bottom:22px}
.faq details{
  margin-bottom:12px;
  border-radius:14px;
  overflow:hidden;
}
.faq summary{
  list-style:none;
  cursor:pointer;
  background:linear-gradient(145deg,var(--blue),var(--blue3));
  padding:18px 62px 18px 35px;
  position:relative;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{
  content:"+";
  position:absolute;
  right:28px;
  top:50%;
  transform:translateY(-50%);
  font-size:20px;
}
.faq details[open] summary:after{content:"−"}
.faq details p{
  background:#fff;
  color:#555;
  margin:0;
  padding:28px 35px;
  border-radius:0 0 14px 14px;
}
.disclaimer{
  max-width:840px;
  text-align:center;
  color:#e9e9e9;
  margin-top:70px;
  font-size:18px;
}

/* FOOTER CORRIGIDO */
.footer{
  border-top:1px solid rgba(255,255,255,.28);
  padding:48px 0;
  background:#000;
  color:#bdbdbd;
}
.footer__inner{
  max-width:1100px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:170px;
}
.footer p{
  margin:0;
  font-size:16px;
}
.footer img{
  width:150px;
  height:auto;
}

.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:.65s ease;
}
.reveal.is-visible{opacity:1;transform:none}

/* RESPONSIVO */
@media(max-width:980px){
  .hero{
    grid-template-columns:1fr;
    text-align:center;
    padding:42px 24px 0;
    min-height:auto;
  }
  .hero__content{
    display:flex;
    flex-direction:column;
    align-items:center;
    max-width:100%;
    padding-bottom:16px;
  }
  .hero h1{font-size:clamp(34px,8.2vw,54px);max-width:680px}
  .hero__lead{max-width:620px}
  .hero__art{width:100%;height:auto;justify-content:center}
  .hero__art-image{width:min(720px, 100%);margin-right:0}
  .grid-pain,.who__grid,.story__grid,.price-panel,.faq-grid{grid-template-columns:1fr}
  .who__grid{gap:30px}
  .who:after{display:none}
  .ghost-note{display:none}
  .story{padding-top:70px}
  .story__card{padding-top:82px}
  .price-panel{border-radius:28px;padding:42px 24px;gap:34px}
  .guarantee{grid-template-columns:1fr;text-align:center;justify-items:center}
  .footer__inner{gap:30px;flex-direction:column}
  .proof-strip img{height:320px}
  .modules article{grid-template-columns:64px 1fr}
}

@media(max-width:560px){
  .top-alert{font-size:12px}
  .container{width:min(100% - 26px,var(--max))}
  .section{padding:58px 0}
  .brand img{width:138px}
  .hero h1{font-size:34px;letter-spacing:-.5px}
  .hero__lead{font-size:16px}
  .btn--primary{padding:15px 24px;font-size:12px}
  .hero__art-image{width:min(100%, 460px);margin-right:0}
  .trust-row{justify-content:center}
  .hero__art{height:auto}
        .ticker{height:32px;font-size:12px;letter-spacing:4px}
  .grid-pain{gap:14px}
  .pain-card{grid-template-columns:1fr;text-align:center;justify-items:center;padding:24px 20px}
  .proof-strip{gap:14px;padding-inline:13px}
  .proof-strip img{height:280px;min-width:160px}
  .modules article{grid-template-columns:1fr}
  .modules strong{padding:14px}
  .modules div{padding:20px}
  .check-list p{padding:16px 16px 16px 52px}
  .story__card{border-radius:22px;padding:80px 22px 30px}
  .story p{font-size:16px}
  .included ul{font-size:16px}
  .price-card{padding:34px 18px}
  .price-card strong{font-size:56px}
  .guarantee{padding:32px 22px}
  .guarantee p{font-size:17px}
  .support-card{padding:45px 28px}
  .faq summary{padding-left:22px}
  .footer{padding-bottom:38px}
  .footer p{text-align:center;font-size:14px}
  .footer img{width:142px}
}



/* =========================================================
   CORREÇÃO FINAL REAL: PULSO, REDES PEQUENAS, ZAP E RODAPÉ
   ========================================================= */

/* Topo com fundo branco e imagem combinando */
.hero{
  background:#fff !important;
}

.hero__art-image{
  width:min(835px,100%) !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:right bottom !important;
  margin-right:-24px !important;
  margin-bottom:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:#fff !important;
}

/* Pulso sempre visível, sem depender do mouse */
@keyframes pulseBlueFinal{
  0%{
    box-shadow:0 0 0 0 rgba(45,108,223,.55), 0 0 0 8px rgba(45,108,223,.18);
  }
  50%{
    box-shadow:0 0 0 18px rgba(45,108,223,0), 0 0 0 8px rgba(45,108,223,.18);
  }
  100%{
    box-shadow:0 0 0 0 rgba(45,108,223,0), 0 0 0 8px rgba(45,108,223,.18);
  }
}

@keyframes pulseGreenFinal{
  0%{
    box-shadow:0 0 0 0 rgba(20,184,90,.58);
  }
  50%{
    box-shadow:0 0 0 18px rgba(20,184,90,0);
  }
  100%{
    box-shadow:0 0 0 0 rgba(20,184,90,0);
  }
}

a.btn--primary,
.btn--primary,
.hero__actions .btn--primary,
.price-card .btn--primary{
  animation:pulseBlueFinal 1.35s ease-in-out infinite !important;
}

a.btn--whatsapp,
.btn--whatsapp,
.support-zap{
  animation:pulseGreenFinal 1.35s ease-in-out infinite !important;
}

a.btn--primary:hover,
.btn--primary:hover,
a.btn--whatsapp:hover,
.btn--whatsapp:hover{
  animation-play-state:running !important;
}

/* Botão verde com símbolo do WhatsApp */
.support-zap{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:54px !important;
  padding:14px 30px !important;
  background:#14b85a !important;
  color:#fff !important;
  border-radius:999px !important;
}

.support-zap .zap-icon{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  max-width:22px !important;
  display:block !important;
}

/* Seção de redes sociais com ícones pequenos, sem imagens gigantes */
.social-section{
  padding-top:42px !important;
  padding-bottom:46px !important;
}

.social-text{
  max-width:760px !important;
  margin:0 auto 24px !important;
  color:#e9e9e9 !important;
  font-size:18px !important;
}

.social-links,
.social-links--compact{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:20px !important;
}

.social-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  padding:10px 15px !important;
  border-radius:999px !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1 !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:#111 !important;
  box-shadow:0 8px 24px rgba(0,0,0,.25) !important;
}

.social-icon{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  max-width:22px !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.social-tiktok .social-icon{background:#111;border:1px solid rgba(255,255,255,.25)}
.social-youtube .social-icon{background:#ff0000}
.social-instagram .social-icon{background:linear-gradient(135deg,#feda75,#fa7e1e,#d62976,#4f5bd5)}

.social-btn span:last-child{
  font-size:14px !important;
  font-weight:850 !important;
}

/* Rodapé vermelho em movimento */
.footer-red-ticker{
  height:38px !important;
  background:#ff0808 !important;
  color:#fff !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  white-space:nowrap !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
}

.footer-red-ticker__track{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  white-space:nowrap !important;
  animation:footerRedMove 18s linear infinite !important;
}

.footer-red-ticker__track span{
  display:inline-flex !important;
  padding-right:34px !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:3px !important;
}

@keyframes footerRedMove{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* WhatsApp flutuante */
.float-whatsapp{
  position:fixed !important;
  right:20px !important;
  bottom:20px !important;
  z-index:9999 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  background:#14b85a !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:11px 15px 11px 11px !important;
  font-weight:900 !important;
  box-shadow:0 12px 28px rgba(0,0,0,.28) !important;
  animation:pulseGreenFinal 1.4s ease-in-out infinite !important;
}

.float-whatsapp .zap-icon{
  width:27px !important;
  height:27px !important;
  min-width:27px !important;
  max-width:27px !important;
  display:block !important;
}

.float-whatsapp span{
  font-size:14px !important;
}

/* Forçar qualquer imagem dentro de social a não ficar gigante, mesmo que exista cache/HTML antigo */
.social-section img,
.social-links img,
.social-btn img{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  max-width:22px !important;
  object-fit:contain !important;
  display:block !important;
}

@media(max-width:980px){
  .hero__art-image{
    width:min(720px,100%) !important;
    margin-right:0 !important;
  }
}

@media(max-width:560px){
  .social-text{font-size:16px !important}
  .social-btn{
    padding:9px 13px !important;
    font-size:13px !important;
  }
  .social-icon{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    max-width:20px !important;
    font-size:13px !important;
  }
  .support-zap .zap-icon{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    max-width:20px !important;
  }
  .float-whatsapp{
    right:14px !important;
    bottom:14px !important;
    padding:11px !important;
  }
  .float-whatsapp span{display:none !important}
  .footer-red-ticker__track span{
    font-size:12px !important;
    letter-spacing:2px !important;
  }
}
