:root{
  --bg:#05080b; --bg2:#081016; --sup:#0c151c; --borda:rgba(255,255,255,.08);
  --txt:#e9eef2; --mudo:#8b98a4; --verde:#19e68c; --verde2:#0fb871; --ouro:#e8c26a; --ouro2:#c99a3b; --verm:#ff4d5e;
  --raio:18px; --fh:'Sora',system-ui,sans-serif; --fb:'Inter',system-ui,sans-serif; --fm:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--txt);font:400 16px/1.6 var(--fb);overflow-x:hidden;padding-bottom:72px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
em{font-style:normal;background:linear-gradient(92deg,var(--verde),#7cf5c0 45%,var(--ouro));-webkit-background-clip:text;background-clip:text;color:transparent}
.caixa{width:min(1160px,100% - 40px);margin-inline:auto}
.estreita{width:min(780px,100% - 40px)}
.mono{font-family:var(--fm);font-size:.92em}
.txt-v{color:var(--verde)}.txt-r{color:var(--verm)}.txt-o{color:var(--ouro)}
.vidro{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}

/* fita */
.fita{background:#03060a;border-bottom:1px solid var(--borda);overflow:hidden;white-space:nowrap;font:500 12px/32px var(--fm);color:var(--mudo);letter-spacing:.06em;text-transform:uppercase}
.fita-trilho{display:inline-flex;align-items:center;gap:18px;animation:fita 40s linear infinite;padding-left:18px}
.fita i{width:6px;height:6px;border-radius:50%;background:var(--verde);box-shadow:0 0 8px var(--verde)}
.fita i:nth-of-type(3n){background:var(--ouro);box-shadow:0 0 8px var(--ouro)}
@keyframes fita{to{transform:translateX(-50%)}}

/* topo */
.topo{position:sticky;top:0;z-index:50;background:rgba(5,8,11,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--borda)}
.topo-in{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.marca{display:flex;align-items:center;gap:10px;font:700 16px/1.1 var(--fh)}
.marca small{display:block;font:500 11px var(--fb);color:var(--mudo);letter-spacing:.02em}
.marca-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font:800 14px var(--fh);color:#05080b;background:linear-gradient(135deg,var(--verde),var(--ouro));box-shadow:0 6px 20px rgba(25,230,140,.25)}
.menu{display:none;gap:28px;font-size:14px;color:var(--mudo)}
.menu a:hover{color:var(--txt)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 15px var(--fh);padding:14px 22px;border-radius:999px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;text-align:center}
.btn:active{transform:scale(.98)}
.btn-ouro{color:#140f02;background:linear-gradient(135deg,#f5d98f,var(--ouro) 45%,var(--ouro2));box-shadow:0 10px 30px rgba(232,194,106,.28),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-ouro:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(232,194,106,.4),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-linha{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.03)}
.btn-linha:hover{border-color:var(--verde);color:var(--verde)}
.btn-mini{white-space:nowrap;padding:9px 16px;font-size:13px;border:1px solid rgba(25,230,140,.4);color:var(--verde);background:rgba(25,230,140,.06)}
.btn-grande{padding:18px 28px;font-size:16px}
.btn .seta{transition:transform .2s}.btn:hover .seta{transform:translateX(4px)}
.larg{width:100%}

/* hero */
.hero{position:relative;display:flex;align-items:center;overflow:hidden;padding:40px 0 72px}
#velas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,11,.82) 0,rgba(5,8,11,.55) 45%,rgba(5,8,11,.35) 70%,var(--bg) 100%);pointer-events:none}
.hero-brilho{position:absolute;width:620px;height:620px;right:-160px;top:-120px;background:radial-gradient(circle,rgba(25,230,140,.18),transparent 65%);filter:blur(10px);z-index:1}
.hero-in{position:relative;z-index:2;display:grid;gap:44px;align-items:center}
.selo{display:inline-flex;align-items:center;gap:10px;font:500 13px var(--fb);color:#c9f7e2;padding:7px 14px;border-radius:999px;background:rgba(25,230,140,.08);border:1px solid rgba(25,230,140,.25)}
.pulso{width:8px;height:8px;border-radius:50%;background:var(--verde);box-shadow:0 0 0 0 rgba(25,230,140,.7);animation:pulso 1.8s infinite}
@keyframes pulso{70%{box-shadow:0 0 0 10px rgba(25,230,140,0)}100%{box-shadow:0 0 0 0 rgba(25,230,140,0)}}
h1{font:800 clamp(38px,9vw,72px)/1.04 var(--fh);letter-spacing:-.03em;margin:20px 0 18px}
h2{font:700 clamp(28px,5.6vw,46px)/1.12 var(--fh);letter-spacing:-.02em}
h3{font:600 18px/1.3 var(--fh)}
.sub{font-size:clamp(16px,2.6vw,19px);color:#b7c3cc;max-width:580px}
.sub strong{color:var(--txt)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 26px}
.hero-ctas .btn-ouro{flex:1 1 100%}
.hero-provas{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:var(--mudo)}
.ok{color:var(--verde);font-weight:700;margin-right:6px}
.x{color:var(--verm);font-weight:700;margin-right:10px}

.hero-card{border-radius:22px;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:flutua 6s ease-in-out infinite}
@keyframes flutua{50%{transform:translateY(-10px)}}
.hc-topo{display:flex;align-items:center;gap:7px;margin-bottom:16px}
.pt{width:10px;height:10px;border-radius:50%}.pt.v{background:var(--verm)}.pt.a{background:var(--ouro)}.pt.r{background:var(--verde)}
.hc-titulo{margin-left:8px;font:500 12px var(--fm);color:var(--mudo)}
.hc-linhas div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.08);font-size:14px}
.hc-linhas span{color:var(--mudo)}
.hc-barra{display:flex;gap:4px;margin-top:18px;height:10px}
.hc-barra span{width:var(--w);border-radius:6px;background:var(--verm);transform-origin:left;animation:cresce 1.4s .6s both cubic-bezier(.2,.8,.2,1)}
.hc-barra span+span{background:linear-gradient(90deg,var(--verde2),var(--verde))}
@keyframes cresce{from{transform:scaleX(0)}}
.hc-leg{display:flex;justify-content:space-between;font:500 11px var(--fm);color:var(--mudo);margin-top:6px}
.rolar{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:3;width:24px;height:38px;border:2px solid rgba(255,255,255,.25);border-radius:14px}
.rolar span{position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--verde);animation:rola 1.6s infinite}
@keyframes rola{to{transform:translateY(12px);opacity:0}}

/* números */
.numeros{border-block:1px solid var(--borda);background:linear-gradient(180deg,var(--bg2),var(--bg))}
.grade-num{display:grid;grid-template-columns:1fr 1fr}
.num{padding:30px 16px;border-right:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.num:nth-child(2n){border-right:0}
.num b{display:block;font:800 clamp(36px,7vw,54px)/1 var(--fh);background:linear-gradient(180deg,#fff,#9fb0bc);-webkit-background-clip:text;background-clip:text;color:transparent}
.num span{display:block;margin-top:8px;font-size:13px;color:var(--mudo)}

/* seções */
.secao{padding:84px 0;position:relative}
.cab{text-align:center;max-width:760px;margin:0 auto 44px}
.sobre{display:inline-block;font:600 12px var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--ouro);margin-bottom:14px}
.lead{color:#aab7c1;font-size:17px;margin-top:16px}
.centro{text-align:center;margin-inline:auto}
.grade-2{display:grid;gap:40px;align-items:center}
.grade-3,.grade-4{display:grid;gap:16px}
.cartao{padding:26px;border-radius:var(--raio);background:linear-gradient(180deg,var(--sup),rgba(12,21,28,.4));border:1px solid var(--borda);transition:transform .3s,border-color .3s}
.cartao:hover{transform:translateY(-4px);border-color:rgba(25,230,140,.35)}
.cartao .ic{color:var(--verde);width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:rgba(25,230,140,.08);border:1px solid rgba(25,230,140,.2);margin-bottom:16px}
.cartao p{color:var(--mudo);font-size:15px;margin-top:8px}

.dores{background:radial-gradient(ellipse at 0% 50%,rgba(255,77,94,.07),transparent 60%)}
.lista-dor{list-style:none;display:grid;gap:10px}
.lista-dor li{padding:16px 18px;border-radius:14px;background:var(--sup);border:1px solid var(--borda);font-size:15px;display:flex;align-items:flex-start}
.lista-dor li.vira{background:rgba(25,230,140,.07);border-color:rgba(25,230,140,.35)}

.metodo{background:linear-gradient(180deg,var(--bg),var(--bg2) 50%,var(--bg))}
.passos{list-style:none;display:grid;gap:16px;position:relative}
.passo{display:flex;gap:20px;padding:26px;border-radius:var(--raio);background:var(--sup);border:1px solid var(--borda);position:relative;overflow:hidden}
.passo::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--verde),var(--ouro))}
.passo-n{font:800 34px/1 var(--fh);color:transparent;-webkit-text-stroke:1px rgba(232,194,106,.7);min-width:56px}
.passo p{color:var(--mudo);font-size:15px;margin-top:6px}

.item{display:flex;gap:16px;padding:22px;border-radius:var(--raio);border:1px solid var(--borda);background:rgba(255,255,255,.015)}
.item-ic{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--ouro);background:rgba(232,194,106,.08);border:1px solid rgba(232,194,106,.22);font-size:18px}
.item p{color:var(--mudo);font-size:14.5px;margin-top:4px}

/* alan */
.alan{background:url(img/mesa.jpg) center/cover no-repeat;isolation:isolate}
.alan::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0,rgba(5,8,11,.88) 20%,rgba(5,8,11,.9) 80%,var(--bg));z-index:-1}
.alan-foto{position:relative;max-width:440px;margin-inline:auto;width:100%}
.moldura{position:relative;aspect-ratio:4/5;border-radius:26px;overflow:hidden;border:1px solid rgba(232,194,106,.35);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 8px rgba(232,194,106,.05)}
.moldura img{width:100%;height:100%;object-fit:cover}
.moldura .ph{display:none}
.moldura.sem-foto .ph{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 50% 35%,rgba(25,230,140,.18),transparent 60%),linear-gradient(160deg,#0f1b23,#060a0e)}
.ph span{font:800 110px/1 var(--fh);background:linear-gradient(135deg,var(--verde),var(--ouro));-webkit-background-clip:text;background-clip:text;color:transparent}
.ph small{font:500 12px var(--fm);color:var(--mudo);letter-spacing:.1em;text-transform:uppercase;margin-top:10px}
.selo-flut{position:absolute;left:-6px;bottom:24px;padding:12px 16px;border-radius:14px;font-size:13px}
.selo-flut b{display:block;font-family:var(--fh);color:var(--ouro)}
.selo-flut span{color:var(--mudo)}
.cargo{font:500 14px var(--fm);color:var(--verde);margin-top:6px;letter-spacing:.04em}
.alan-lista{list-style:none;display:grid;gap:10px;margin:22px 0 28px}

/* depoimentos */
.depo{position:relative;padding:28px;border-radius:var(--raio);background:var(--sup);border:1px dashed rgba(232,194,106,.35)}
.etiqueta{position:absolute;top:14px;right:14px;font:600 10px var(--fm);letter-spacing:.12em;color:var(--ouro);border:1px solid rgba(232,194,106,.4);padding:3px 8px;border-radius:6px}
.depo blockquote{color:#c3ced6;font-size:15.5px;margin:10px 0 20px}
.depo figcaption{display:flex;align-items:center;gap:12px}
.depo small{display:block;color:var(--mudo);font-size:12px}
.av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:700 15px var(--fh);color:#05080b;background:linear-gradient(135deg,var(--verde),var(--ouro))}

/* planos */
.grade-planos{display:grid;gap:18px;align-items:stretch}
.plano{position:relative;display:flex;flex-direction:column;padding:30px 26px;border-radius:22px;background:var(--sup);border:1px solid var(--borda)}
.plano ul{list-style:none;display:grid;gap:10px;margin:20px 0 26px;flex:1}
.plano li{font-size:15px;color:#c3ced6;padding-left:26px;position:relative}
.plano li::before{content:"✓";position:absolute;left:0;color:var(--verde);font-weight:700}
.pl-sub{color:var(--mudo);font-size:14px;margin-top:4px}
.preco{font:700 30px var(--fh);margin-top:18px}
.destaque{background:linear-gradient(180deg,rgba(232,194,106,.1),var(--sup) 40%);border-color:rgba(232,194,106,.55);box-shadow:0 30px 70px rgba(232,194,106,.08)}
.fita-plano{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font:700 11px var(--fm);letter-spacing:.1em;text-transform:uppercase;color:#140f02;background:var(--ouro);padding:5px 14px;border-radius:999px;white-space:nowrap}

/* faq */
.faq details{border-bottom:1px solid var(--borda)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font:600 17px/1.4 var(--fh);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font:400 26px var(--fb);color:var(--ouro);transition:transform .25s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq p{color:var(--mudo);padding:0 0 22px;font-size:15.5px}

/* final */
.final{position:relative;padding:110px 0;overflow:hidden;text-align:center}
.final-fundo{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(25,230,140,.22),transparent 60%),radial-gradient(ellipse at 50% 0%,rgba(232,194,106,.1),transparent 50%)}
.final-in{position:relative}
.final .btn{margin-top:30px}

/* rodapé */
.rodape{border-top:1px solid var(--borda);padding:40px 0 30px;background:#03060a;font-size:13px;color:var(--mudo)}
.rod-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;color:var(--txt)}
.aviso{font-size:12px;line-height:1.6;max-width:900px}
.copy{margin-top:14px;font-size:12px}

/* flutuantes */
.zap{position:fixed;right:16px;bottom:86px;z-index:60;opacity:0;pointer-events:none;transform:scale(.6);transition:transform .3s,opacity .3s;display:flex;align-items:center;gap:8px;height:58px;padding:0 15px;border-radius:999px;background:#25d366;color:#fff;box-shadow:0 12px 30px rgba(37,211,102,.4);transition:transform .2s}
.zap.on{opacity:1;pointer-events:auto;transform:none}.zap.on:hover{transform:scale(1.05)}
@media (max-width:400px){.marca small{display:none}}
.zap::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #25d366;animation:onda 2.2s infinite}
@keyframes onda{to{transform:scale(1.35);opacity:0}}
.zap-txt{display:none;font:600 14px var(--fh)}
.barra-cel{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(5,8,11,.92);backdrop-filter:blur(12px);border-top:1px solid var(--borda);font-size:13px;color:var(--mudo);transform:translateY(110%);transition:transform .35s}
.barra-cel.on{transform:none}
.barra-cel .btn{padding:12px 20px;font-size:14px}

/* animação de entrada */
.revelar{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.revelar.vis{opacity:1;transform:none}

@media (min-width:640px){
  .hero-ctas .btn-ouro{flex:0 0 auto}
  .grade-4{grid-template-columns:1fr 1fr}
  .grade-3{grid-template-columns:1fr 1fr}
}
@media (min-width:960px){
  body{padding-bottom:0}
  .hero{min-height:calc(100svh - 96px);padding:56px 0 84px}
  .hero::after{background:linear-gradient(90deg,rgba(5,8,11,.88) 0,rgba(5,8,11,.6) 45%,rgba(5,8,11,.15) 75%,transparent),linear-gradient(to bottom,transparent 70%,var(--bg))}
  .zap{opacity:1;pointer-events:auto;transform:none}
  .menu{display:flex}
  .hero-in{grid-template-columns:1.25fr .85fr}
  .grade-num{grid-template-columns:repeat(4,1fr)}
  .num{border-bottom:0;padding:38px 26px}
  .num:nth-child(2n){border-right:1px solid var(--borda)}.num:last-child{border-right:0}
  .grade-2{grid-template-columns:1fr 1fr;gap:64px}
  .grade-4{grid-template-columns:repeat(4,1fr)}
  .grade-3{grid-template-columns:repeat(3,1fr)}
  .passos{grid-template-columns:1fr 1fr}
  .grade-planos{grid-template-columns:repeat(3,1fr)}
  .destaque{transform:scale(1.04)}
  .secao{padding:110px 0}
  .zap{bottom:24px;right:24px}
  .zap-txt{display:inline}
  .barra-cel{display:none}
  .alan-in{grid-template-columns:.9fr 1.1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .revelar{opacity:1;transform:none}
}
