:root{
  --papel:#F2F6FF; --papel2:#E6EEFF; --grade:rgba(47,91,255,.07);
  --tinta:#0E1B4D; --tinta2:#3B4A7A; --azul:#2F5BFF; --azul-esc:#1A3DD1;
  --ciano:#18C8E8; --sol:#FFD23F; --sol-esc:#E9B500; --branco:#FFFFFF;
  --fd:'Bricolage Grotesque',system-ui,sans-serif; --fb:'Atkinson Hyperlegible',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;color:var(--tinta);font:18px/1.6 var(--fb);background-color:var(--papel);
  background-image:linear-gradient(var(--grade) 1px,transparent 1px),linear-gradient(90deg,var(--grade) 1px,transparent 1px);
  background-size:28px 28px}
a{color:var(--azul)}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px;border-radius:6px}
img{max-width:100%;display:block}
.cx{max-width:1120px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--fd);line-height:1.05;margin:0;letter-spacing:-.02em}
h2{font-size:clamp(2rem,4.6vw,3.2rem);font-weight:800;max-width:18ch}
h3{font-size:1.35rem;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em}
.lead{font-size:1.15rem;color:var(--tinta2);max-width:60ch}
section{padding:96px 0}
.sec-cab{display:grid;gap:18px;margin-bottom:48px}

/* botões */
.bt{display:inline-flex;align-items:center;gap:10px;border:2px solid var(--tinta);border-radius:14px;padding:14px 22px;font:700 1.05rem var(--fb);text-decoration:none;cursor:pointer;transition:transform .15s, box-shadow .15s}
.bt-pri{background:var(--sol);color:var(--tinta);box-shadow:4px 4px 0 var(--tinta)}
.bt-pri:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--tinta)}
.bt-sec{background:var(--branco);color:var(--tinta)}
.bt-sec:hover{background:var(--papel2)}

/* topo */
.topo{position:sticky;top:0;z-index:30;background:rgba(242,246,255,.88);backdrop-filter:blur(8px);border-bottom:2px solid var(--tinta)}
.topo .cx{display:flex;align-items:center;gap:20px;height:72px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tinta);font:800 1.45rem var(--fd)}
.marca img{height:46px}
.marca b{color:var(--azul)}
.topo nav{margin-left:auto;display:flex;gap:4px;align-items:center}
.topo nav a{color:var(--tinta);text-decoration:none;font-weight:700;font-size:.98rem;padding:8px 12px;border-radius:10px}
.topo nav a:hover{background:var(--papel2)}
.topo .bt{padding:10px 16px;font-size:.98rem;box-shadow:3px 3px 0 var(--tinta)}
@media(max-width:860px){.topo nav .lnk{display:none}}

/* hero */
.hero{padding:64px 0 40px;overflow:hidden}
.hero .cx{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(2.6rem,6.4vw,5.2rem);font-weight:800;letter-spacing:-.035em;line-height:.98}
.hero h1 .riscado{background:linear-gradient(transparent 62%,var(--sol) 62%,var(--sol) 92%,transparent 92%)}
.hero .lead{margin:26px 0 32px;font-size:1.25rem}
.hero .acoes{display:flex;gap:14px;flex-wrap:wrap}
.selos{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;padding:0;list-style:none}
.selos li{background:var(--branco);border:2px solid var(--tinta);border-radius:999px;padding:6px 14px;font-size:.92rem;font-weight:700}
.palco{position:relative;aspect-ratio:1/1;max-width:460px;justify-self:center;width:100%}
.palco .disco{position:absolute;inset:6%;border-radius:50%;background:var(--azul);border:3px solid var(--tinta)}
.palco .orbita{position:absolute;inset:0;border:2px dashed var(--tinta2);border-radius:50%;opacity:.35;animation:gira 60s linear infinite}
.palco img{position:absolute;inset:14% 16% 10%;width:68%;filter:drop-shadow(0 14px 0 rgba(14,27,77,.25));animation:flutua 5s ease-in-out infinite}
.bal{position:absolute;background:var(--branco);border:2px solid var(--tinta);border-radius:16px;padding:10px 14px;font:700 .95rem var(--fd);box-shadow:3px 3px 0 var(--tinta);max-width:210px;line-height:1.25}
.bal.b1{top:4%;left:-6%}
.bal.b2{bottom:10%;right:-4%;background:var(--sol)}
@keyframes flutua{50%{transform:translateY(-10px)}}
@keyframes gira{to{transform:rotate(360deg)}}
@media(max-width:860px){.hero .cx{grid-template-columns:1fr}.palco{max-width:340px}.bal.b1{left:0}.bal.b2{right:0}}

/* faixa porque */
.porque{background:var(--tinta);color:var(--papel);border-block:2px solid var(--tinta)}
.porque h2{color:var(--branco)}
.porque .lead{color:#C4D0F5}
.razoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:2px solid rgba(242,246,255,.18)}
.razao{padding:28px 26px 8px 0;border-bottom:2px solid rgba(242,246,255,.18)}
.razao + .razao{padding-left:26px;border-left:2px solid rgba(242,246,255,.18)}
.razao h3{color:var(--sol);margin-bottom:10px}
.razao p{color:#DCE4FF}
.razao.futuro{grid-column:1 / -1;order:-1;padding:30px 30px 22px;margin:22px 0 4px;border:2px solid var(--sol);border-radius:20px;background:rgba(255,210,63,.08);display:grid;grid-template-columns:auto 1fr;gap:6px 22px;align-items:start}
.razao.futuro + .razao{padding-left:0;border-left:0}
.razao.futuro .ic{font-size:2.8rem;grid-row:1 / span 4;line-height:1}
.razao.futuro > :not(.ic){grid-column:2}
.razoes{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.razoes{grid-template-columns:1fr}}
.razao.futuro h3{font-size:1.7rem}
.razao.futuro p{font-size:1.08rem;margin-bottom:.6em}
.razao.futuro p strong{color:#fff}
.razao.futuro .alerta-futuro{display:inline-block;background:var(--sol);color:var(--tinta);font-weight:800;border-radius:10px;padding:6px 12px;border:2px solid var(--tinta)}
@media(max-width:620px){.razao.futuro{grid-template-columns:1fr}.razao.futuro .ic{grid-row:auto}.razao.futuro > :not(.ic){grid-column:1}}
@media(max-width:820px){.razao + .razao{padding-left:0;border-left:0}}

/* para quem */
.publico{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pub{background:var(--branco);border:2px solid var(--tinta);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:10px}
.pub .idade{font:800 2rem var(--fd);color:var(--azul);letter-spacing:-.02em}
.pub p{color:var(--tinta2);margin:0}
.pub.destaque{background:var(--sol)}
.pub.destaque .idade{color:var(--tinta)}
@media(max-width:960px){.publico{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.publico{grid-template-columns:1fr}}

/* trilha */
.trilha-sec{background:var(--papel2);border-block:2px solid var(--tinta)}
.trilha{position:relative}
.niveis{position:relative;display:grid;grid-template-columns:.94fr .97fr 1fr 1.03fr 1.06fr;align-items:end;gap:14px;list-style:none;margin:0;padding:0}
.nivel{background:var(--branco);border:2px solid var(--tinta);border-radius:20px;padding:16px;box-shadow:4px 4px 0 var(--tinta);display:flex;flex-direction:column;font-size:.92rem}
.nivel:nth-child(1){min-height:700px}
.nivel:nth-child(2){min-height:760px}
.nivel:nth-child(3){min-height:820px;padding:18px;box-shadow:5px 5px 0 var(--tinta)}
.nivel:nth-child(4){min-height:880px;padding:20px;box-shadow:6px 6px 0 var(--tinta);font-size:.96rem}
.nivel:nth-child(5){min-height:940px;padding:22px;box-shadow:7px 7px 0 var(--tinta);font-size:1rem;background:linear-gradient(180deg,#FFF9E0,var(--branco) 45%)}
.nivel h3{font-size:1.2rem}
.nivel:nth-child(4) h3{font-size:1.35rem}.nivel:nth-child(5) h3{font-size:1.5rem}
.nivel .verbo{font:700 .9rem var(--fb);color:var(--tinta2);margin:2px 0 0}
.nivel .num{width:44px;height:44px;font-size:1.2rem}
.nivel:nth-child(2) .num{width:48px;height:48px;font-size:1.3rem}
.nivel:nth-child(3) .num{width:54px;height:54px;font-size:1.45rem}
.nivel:nth-child(4) .num{width:60px;height:60px;font-size:1.6rem}
.nivel:nth-child(5) .num{width:66px;height:66px;font-size:1.8rem;background:var(--sol);color:var(--tinta)}
.nivel .selo{margin-top:auto;padding-top:10px;font:700 .8rem var(--fb);color:var(--tinta2);border-top:2px dashed var(--papel2)}
/* barra de evolução: 5 degraus que crescem, com brilho correndo da esquerda para a direita */
.evolucao{margin-top:26px}
.evo-trilho{position:relative;display:flex;align-items:flex-end;gap:6px;height:78px;padding-right:34px}
.evo-seg{position:relative;flex:1;display:flex;align-items:center;justify-content:center;gap:6px;border:2px solid var(--tinta);border-radius:12px;
  font:800 .95rem var(--fd);color:#fff;box-shadow:3px 3px 0 var(--tinta);overflow:hidden;white-space:nowrap}
.evo-seg b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.25);border:2px solid currentColor;font-size:.85rem}
.evo-seg.s1{height:34px;background:#5B7CFF}
.evo-seg.s2{height:44px;background:var(--azul)}
.evo-seg.s3{height:54px;background:#1C9FD6}
.evo-seg.s4{height:64px;background:var(--ciano);color:var(--tinta)}
.evo-seg.s5{height:76px;background:var(--sol);color:var(--tinta);font-size:1.05rem}
.evo-seg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:evo-brilho 4.5s ease-in-out infinite}
.evo-seg.s2::after{animation-delay:.25s}.evo-seg.s3::after{animation-delay:.5s}.evo-seg.s4::after{animation-delay:.75s}.evo-seg.s5::after{animation-delay:1s}
@keyframes evo-brilho{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
.evo-seta{position:absolute;right:0;bottom:0;width:0;height:0;border-top:38px solid transparent;border-bottom:38px solid transparent;border-left:30px solid var(--tinta)}
.evo-seta::after{content:"";position:absolute;left:-29px;top:-30px;border-top:30px solid transparent;border-bottom:30px solid transparent;border-left:23px solid var(--sol)}
.evo-legenda{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 0;font:700 .95rem var(--fb);color:var(--tinta2)}
.evo-legenda strong{color:var(--azul-esc);font-family:var(--fd);font-size:1.1rem}
.evo-trilho::before{content:"";position:absolute;left:0;right:34px;bottom:-8px;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--azul),var(--ciano) 60%,var(--sol))}
@media(max-width:820px){.evo-seg span{display:none}.evo-trilho{height:64px}.evo-seg.s5{height:62px}.evo-seg.s4{height:52px}.evo-seg.s3{height:44px}.evo-seg.s2{height:36px}.evo-seg.s1{height:28px}.evo-seta{border-top-width:31px;border-bottom-width:31px}.evo-seta::after{top:-24px;border-top-width:24px;border-bottom-width:24px}}
@media(max-width:560px){.evo-legenda{flex-direction:column;align-items:flex-start;gap:2px}}
.nivel .num{display:grid;place-items:center;border-radius:50%;background:var(--azul);color:#fff;font-family:var(--fd);font-weight:800;border:2px solid var(--tinta);margin-bottom:12px}
.nivel .meta{font-weight:700;color:var(--azul-esc);font-size:.9em;margin:6px 0 10px}
.nivel .resultado{margin:0 0 10px;font-size:.92em;line-height:1.4;background:var(--papel2);border-radius:12px;padding:8px 10px}
.nivel .mods{margin:0;padding-left:20px;color:var(--tinta);font-size:.9em;line-height:1.3}
.nivel .mods li{margin:5px 0;padding-left:2px}
.nivel .mods li::marker{font-weight:800;color:var(--azul)}
.nivel .mods li:last-child{font-weight:700}
.det-niveis{margin-top:26px;background:var(--branco);border:2px solid var(--tinta);border-radius:20px;box-shadow:4px 4px 0 var(--tinta)}
.det-niveis summary{cursor:pointer;padding:16px 22px;font:800 1.05rem var(--fd);color:var(--azul-esc);list-style:none}
.det-niveis summary::-webkit-details-marker{display:none}
.det-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px 26px;padding:4px 22px 22px}
.det-nivel h3{font-size:1.1rem;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.det-nivel h3 small{font:700 .85rem var(--fb);color:var(--tinta2)}
.det-nivel .num-p{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--azul);color:#fff;border:2px solid var(--tinta);font-size:.9rem}
.det-nivel ol{margin:0;padding-left:20px;font-size:.92rem;color:var(--tinta2)}
.det-nivel li{margin:6px 0}
.det-nivel li b{color:var(--tinta)}
.nivelamento{margin-top:56px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;background:var(--branco);border:2px dashed var(--tinta);border-radius:22px;padding:24px 28px}
.nivelamento .ic{font-size:2.6rem}
@media(max-width:1120px){.niveis{grid-template-columns:1fr 1fr}.nivel:nth-child(n){height:auto;min-height:0}.nivel:nth-child(5){grid-column:1 / -1;min-height:0}}
@media(max-width:560px){.niveis{grid-template-columns:1fr;justify-items:start}.nivel:nth-child(n){min-height:0;height:auto}.nivel:nth-child(1){width:80%}.nivel:nth-child(2){width:85%}.nivel:nth-child(3){width:90%}.nivel:nth-child(4){width:95%}.nivel:nth-child(5){width:100%;grid-column:auto}.nivelamento{grid-template-columns:1fr}}

/* aula */
.aula{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.eps{list-style:none;margin:0;padding:0;counter-reset:ep;border-left:3px solid var(--tinta);margin-left:22px}
.eps li{position:relative;padding:0 0 26px 40px;counter-increment:ep}
.eps li::before{content:counter(ep);position:absolute;left:-23px;top:-4px;width:42px;height:42px;border-radius:50%;background:var(--papel);border:3px solid var(--tinta);display:grid;place-items:center;font:800 1.15rem var(--fd)}
.eps li:last-child{padding-bottom:0}
.eps strong{font-family:var(--fd);font-size:1.2rem;display:block}
.eps span{color:var(--tinta2)}
.eps em{font-style:normal;font-weight:700;color:var(--azul-esc);font-size:.9rem}
@media(max-width:860px){.aula{grid-template-columns:1fr}}

/* vantagens */
.vant{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:2px solid var(--tinta);border-radius:22px;overflow:hidden;background:var(--branco)}
.v{padding:28px;border-right:2px solid var(--tinta);border-bottom:2px solid var(--tinta)}
.v:nth-child(3n){border-right:0}
.v:nth-last-child(-n+3){border-bottom:0}
.v .ic{font-size:2rem;margin-bottom:10px}
.v p{color:var(--tinta2);margin:8px 0 0}
@media(max-width:860px){.vant{grid-template-columns:1fr}.v{border-right:0!important;border-bottom:2px solid var(--tinta)!important}.v:last-child{border-bottom:0!important}}

/* pais */
.pais{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.painel{background:var(--tinta);color:#E8ECFF;border:2px solid var(--tinta);border-radius:22px;padding:24px;box-shadow:8px 8px 0 var(--azul)}
.painel h4{margin:0 0 4px;font:700 1.15rem var(--fd);color:#fff}
.painel .sub{color:#9AA6D6;font-size:.9rem;margin-bottom:18px}
.lin{display:grid;grid-template-columns:120px 1fr 48px;gap:12px;align-items:center;margin:12px 0;font-size:.95rem}
.bar{height:12px;border-radius:99px;background:#1B2757;overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--ciano),var(--azul))}
.bar.ref i{background:#5A6799}
.painel .nota{margin-top:16px;padding:12px 14px;border-radius:12px;background:#17224D;font-size:.92rem}
.checks{list-style:none;padding:0;margin:20px 0 0}
.checks li{padding-left:34px;position:relative;margin:12px 0}
.checks li::before{content:'✓';position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--sol);border:2px solid var(--tinta);display:grid;place-items:center;font-weight:800;font-size:.8rem}
@media(max-width:860px){.pais{grid-template-columns:1fr}}

/* faq */
.faq{max-width:820px}
details{border-bottom:2px solid var(--tinta);padding:20px 0}
details:first-of-type{border-top:2px solid var(--tinta)}
summary{cursor:pointer;list-style:none;font:700 1.2rem var(--fd);display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font-size:1.6rem;line-height:1;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:12px 0 0;color:var(--tinta2);max-width:68ch}
.faq mark{background:var(--sol);color:var(--tinta);font-weight:800;padding:1px 6px;border-radius:6px;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* contato */
.contato{background:var(--azul);color:#fff;border-top:2px solid var(--tinta)}
.contato .cx{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contato h2{color:#fff}
.contato .lead{color:#DCE4FF}
form.interesse{background:var(--branco);color:var(--tinta);border:2px solid var(--tinta);border-radius:22px;padding:28px;box-shadow:8px 8px 0 var(--tinta)}
form.interesse label{display:block;font-weight:700;margin:14px 0 6px;font-size:.95rem}
form.interesse label:first-child{margin-top:0}
form.interesse input,form.interesse select,form.interesse textarea{width:100%;border:2px solid var(--tinta);border-radius:12px;padding:12px 14px;font:1rem var(--fb);background:var(--papel)}
form.interesse textarea{min-height:90px;resize:vertical}
form.interesse .bt{margin-top:20px;width:100%;justify-content:center}
.aviso{margin-top:14px;padding:12px 14px;border-radius:12px;font-weight:700}
.aviso.ok{background:#DDF7EA;color:#0B5B36}.aviso.erro{background:#FFE3E6;color:#8A1325}
.miudo{font-size:.85rem;color:var(--tinta2);margin-top:12px}
@media(max-width:860px){.contato .cx{grid-template-columns:1fr}}

footer{background:var(--tinta);color:#9AA6D6;padding:36px 0;font-size:.92rem}
footer .cx{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
footer a{color:#fff}

/* rodapé */
footer.rodape{background:var(--tinta);color:#B9C4EC;padding:56px 0 32px;font-size:.95rem}
footer.rodape .cx{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px}
footer.rodape h4{font:700 1.05rem var(--fd);color:#fff;margin:0 0 12px}
footer.rodape a{color:#fff}
footer.rodape ul{list-style:none;margin:0;padding:0}
footer.rodape li{margin:8px 0}
footer.rodape .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;font-size:.85rem;color:#9AA6D6;line-height:1.6}
footer.rodape .marca-r{display:flex;align-items:center;gap:10px;font:800 1.4rem var(--fd);color:#fff;margin-bottom:10px}
footer.rodape .marca-r img{height:42px}
@media(max-width:820px){footer.rodape .cx{grid-template-columns:1fr}}
/* páginas de texto */
.doc{max-width:820px;margin:0 auto;padding:56px 20px 80px}
.doc h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;margin-bottom:12px}
.doc h2{font-size:1.6rem;max-width:none;margin:40px 0 12px}
.doc p,.doc li{color:var(--tinta2)}
.doc li{margin:6px 0}
.doc .resumo{background:var(--branco);border:2px solid var(--tinta);border-radius:22px;padding:22px 26px;box-shadow:5px 5px 0 var(--tinta);margin:28px 0}
.doc .resumo li{color:var(--tinta)}
.doc table{width:100%;border-collapse:collapse;background:var(--branco);border:2px solid var(--tinta);border-radius:14px;overflow:hidden;margin:12px 0}
.doc th,.doc td{padding:10px 12px;border-bottom:1px solid var(--papel2);text-align:left;vertical-align:top;font-size:.95rem}
.doc th{background:var(--papel2);font-family:var(--fd)}
.interesse input.invalido{border-color:#C0233F;box-shadow:0 0 0 3px rgba(192,35,63,.15)}
#zapAjuda{display:block;margin:4px 0 0}
