:root{
  --bg:#08050f;--bg2:#0d0820;
  --violet:#8b5cf6;--blue:#3b82f6;--pink:#ec4899;
  --wa:#25d366;
  --text:#f5f3ff;--muted:#b8b2d6;
  --glass:rgba(255,255,255,.06);--stroke:rgba(255,255,255,.12);
  --grad:linear-gradient(100deg,#a78bfa,#60a5fa 45%,#f472b6);
  --shadow:0 18px 50px -18px rgba(139,92,246,.55);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1200px 700px at 50% -10%,#1b1140 0%,var(--bg2) 45%,var(--bg) 100%);color:var(--text);font-family:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,.price,.num{font-family:Sora,system-ui,sans-serif}
.wrap{width:min(1120px,92vw);margin-inline:auto}
.section{padding:56px 0}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ic{width:22px;height:22px;fill:currentColor;flex:none}
.ic.sm{width:16px;height:16px}

/* fundo */
.bg-orbs{position:fixed;inset:0;z-index:-2;pointer-events:none;filter:blur(70px);opacity:.55}
.orb{position:absolute;border-radius:50%;animation:drift 18s ease-in-out infinite}
.o1{width:42vw;height:42vw;background:#7c3aed;top:-12vw;left:-8vw}
.o2{width:36vw;height:36vw;background:#2563eb;top:30vh;right:-10vw;animation-delay:-6s}
.o3{width:30vw;height:30vw;background:#db2777;bottom:-8vw;left:20vw;animation-delay:-11s}
@keyframes drift{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(2vw,-3vh,0) scale(1.12)}}
#particles{position:fixed;inset:0;z-index:-1;pointer-events:none}

.glass{background:var(--glass);border:1px solid var(--stroke);border-radius:24px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 20px 60px -30px rgba(0,0,0,.9)}

/* hero */
.hero{padding:64px 0 16px}
.hero-grid{display:grid;gap:40px;grid-template-columns:1fr;align-items:center}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1px solid rgba(236,72,153,.4);background:rgba(236,72,153,.12);font-size:.75rem;letter-spacing:.16em;font-weight:700;color:#fbcfe8}
.badge .ic{width:16px;height:16px;animation:beat 2.4s ease-in-out infinite}
@keyframes beat{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
h1{font-size:clamp(1.9rem,7vw,3.4rem);line-height:1.05;margin:18px 0 6px;letter-spacing:-.02em;font-weight:800}
.pre{margin:12px 0 0;color:var(--muted);letter-spacing:.28em;font-size:.75rem;font-weight:700}
.price{display:flex;align-items:flex-start;gap:10px;margin:2px 0 6px;line-height:1}
.cur{font-size:clamp(1.4rem,4vw,2.2rem);font-weight:700;color:var(--muted);margin-top:.6em}
.val{font-size:clamp(4.4rem,20vw,9rem);font-weight:800;letter-spacing:-.05em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative}
.shine{animation:glowp 3.2s ease-in-out infinite}
@keyframes glowp{0%,100%{filter:drop-shadow(0 0 18px rgba(167,139,250,.35));transform:translateY(0)}50%{filter:drop-shadow(0 0 34px rgba(244,114,182,.55));transform:translateY(-4px)}}
.sub{color:var(--muted);max-width:44ch;font-size:1rem;margin:6px 0 26px}
.micro{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem;margin-top:14px}

/* botao */
.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:460px;padding:19px 26px;border-radius:18px;background:var(--grad);color:#12061f;font-weight:800;font-size:clamp(.9rem,3.4vw,1.05rem);letter-spacing:.02em;text-decoration:none;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease;animation:pulse 2.6s ease-in-out infinite}
.cta:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 26px 60px -18px rgba(236,72,153,.6)}
.cta:hover .arrow{transform:translateX(4px)}
.arrow{transition:transform .25s ease}
@keyframes pulse{0%,100%{box-shadow:0 18px 50px -18px rgba(139,92,246,.55),0 0 0 0 rgba(167,139,250,.45)}50%{box-shadow:0 18px 50px -18px rgba(139,92,246,.55),0 0 0 16px rgba(167,139,250,0)}}

/* arte hero */
.card-art{padding:22px;position:relative;overflow:hidden;animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.art-head{display:flex;gap:6px;margin-bottom:18px}
.dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.2)}
.stat-label{display:block;color:var(--muted);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.stat-num{font-family:Sora;font-size:3rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.bars{display:flex;align-items:flex-end;gap:10px;height:120px;margin-top:18px}
.bars i{flex:1;height:var(--h);border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#a78bfa,#3b82f6);opacity:.85;transform-origin:bottom;animation:grow 1.2s cubic-bezier(.2,.8,.2,1) both}
.bars i:nth-child(2){animation-delay:.08s}.bars i:nth-child(3){animation-delay:.16s}.bars i:nth-child(4){animation-delay:.24s}.bars i:nth-child(5){animation-delay:.32s}
.bars i:nth-child(6){animation-delay:.4s;background:linear-gradient(180deg,#f472b6,#a78bfa)}
@keyframes grow{from{transform:scaleY(.05)}to{transform:scaleY(1)}}
.art-foot{display:flex;align-items:center;gap:8px;margin-top:16px;color:var(--muted);font-size:.85rem}

/* cards */
.cards{display:grid;gap:16px;grid-template-columns:1fr}
.card{padding:24px;display:flex;align-items:center;gap:16px;transition:transform .3s ease,border-color .3s ease,background .3s ease}
.card:hover{transform:translateY(-6px);border-color:rgba(167,139,250,.5);background:rgba(139,92,246,.12)}
.card:hover .ic-box{transform:rotate(-6deg) scale(1.08)}
.card h2{font-size:1.05rem;margin:0;font-weight:700}
.ic-box{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,rgba(167,139,250,.28),rgba(59,130,246,.22));border:1px solid var(--stroke);color:#c4b5fd;transition:transform .3s ease;flex:none}

/* steps */
.sec-title{text-align:center;font-size:clamp(1.4rem,5vw,2rem);margin:0 0 28px}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:16px;grid-template-columns:1fr;position:relative}
.step{position:relative;display:flex;align-items:center;gap:16px;padding:20px;border-radius:20px;background:var(--glass);border:1px solid var(--stroke);transition:transform .3s ease,border-color .3s}
.step:hover{transform:translateY(-4px);border-color:rgba(96,165,250,.5)}
.num{font-size:1.6rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;min-width:44px}
.step p{margin:0;font-weight:600}

/* final */
.final{padding:42px 24px;text-align:center;background:linear-gradient(140deg,rgba(139,92,246,.22),rgba(59,130,246,.14) 50%,rgba(236,72,153,.2))}
.final h2{font-size:clamp(1.6rem,6vw,2.4rem);margin:0 0 8px}
.final p{color:var(--muted);margin:0 0 22px}
.final strong{color:#f9a8d4}
.final .micro{justify-content:center}
.foot{padding:26px 0 96px;text-align:center;color:rgba(184,178,214,.6);font-size:.8rem}

/* whatsapp flutuante */
.float-wa{position:fixed;right:18px;bottom:18px;z-index:50;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#25d366,#128c4a);box-shadow:0 14px 34px -8px rgba(37,211,102,.6);animation:popin .6s .5s cubic-bezier(.2,1.4,.4,1) both,waPulse 2.8s 1.2s ease-in-out infinite;transition:transform .25s ease}
.float-wa svg{width:32px;height:32px;fill:#fff}
.float-wa:hover{transform:scale(1.1) rotate(4deg)}
@keyframes popin{from{opacity:0;transform:scale(.4) translateY(20px)}to{opacity:1;transform:scale(1)}}
@keyframes waPulse{0%,100%{box-shadow:0 14px 34px -8px rgba(37,211,102,.6),0 0 0 0 rgba(37,211,102,.4)}50%{box-shadow:0 14px 34px -8px rgba(37,211,102,.6),0 0 0 14px rgba(37,211,102,0)}}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

@media(min-width:760px){
  .hero{padding:88px 0 24px}
  .hero-grid{grid-template-columns:1.15fr .85fr}
  .cards{grid-template-columns:repeat(3,1fr)}
  .card{flex-direction:column;align-items:flex-start;gap:18px;padding:30px}
  .steps{grid-template-columns:repeat(3,1fr)}
  .steps::before{content:"";position:absolute;top:50%;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(167,139,250,.5),rgba(244,114,182,.5),transparent)}
  .step{flex-direction:column;align-items:flex-start;text-align:left;backdrop-filter:blur(12px)}
  .final{padding:60px 40px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
