/* Aula Pontuada · páginas públicas (página inicial, para escolas, novidades, convite) · v14.1 */
:root{--teal:#5F9E91;--td:#3E7468;--tdd:#2C5A51;--tl:#DDEDE8;--paper:#FFF8EC;--line:#EADCC3;--ink:#2D3B39;--ink2:#4A5A57;--mut:#6E7168;--mus:#EDB443;--pos:#2A7F58;--neg:#C2412F;--bg:#FCE6C8;
  --pro:#B07A0E;--gam:#7A4FC9;--fam:#2F8E63;--esc:#2F6FA8;--wa:#1F9A52}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:var(--bg);background-image:linear-gradient(rgba(255,255,255,.55) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.55) 2px,transparent 2px);background-size:46px 46px;line-height:1.5;overflow-x:hidden}
a{color:var(--td)}img{max-width:100%}
.w{max-width:1120px;margin:0 auto;padding:0 16px}
:focus-visible{outline:3px solid var(--mus);outline-offset:2px}
/* topo */
.top{position:sticky;top:0;z-index:30;background:rgba(252,230,200,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1.5px solid rgba(234,220,195,.9)}
.top .w{display:flex;align-items:center;gap:10px;min-height:66px}
.logo{display:flex;align-items:center;gap:9px;font-family:Caveat,cursive;font-size:31px;color:var(--tdd);text-decoration:none;white-space:nowrap}
.logo img{width:40px;height:40px;border-radius:11px}
.menu{display:flex;gap:2px;margin-left:auto}
.menu a{font-weight:800;color:var(--ink2);text-decoration:none;padding:8px 11px;border-radius:10px;font-size:15px}
.menu a:hover,.menu a.on{background:rgba(255,255,255,.75);color:var(--tdd)}
.b{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:15px;font:900 17px/1.15 Nunito,system-ui,sans-serif;text-decoration:none;border:0;cursor:pointer;background:var(--teal);color:#fff;box-shadow:0 4px 0 var(--td);white-space:nowrap;text-align:center}
.b:active{transform:translateY(2px);box-shadow:0 2px 0 var(--td)}
.b.y{background:var(--mus);color:#3A2600;box-shadow:0 4px 0 #C98F1F}
.b.s{background:#fff;color:var(--tdd);border:1.5px solid var(--line);box-shadow:0 4px 0 var(--line)}
.b.wa{background:var(--wa);box-shadow:0 4px 0 #157340}
.b.sm{min-height:42px;font-size:15px;padding:0 15px}
.b.full{width:100%}
.b[disabled]{opacity:.6;cursor:wait}
.so-cel{display:none}
/* hero */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:40px 0 30px}
h1{font-size:clamp(33px,4.8vw,54px);line-height:1.06;margin:0 0 16px;letter-spacing:-.01em}
h1 em{font-style:normal;font-family:Caveat,cursive;color:var(--td);font-size:1.15em}
.lead{font-size:19px;font-weight:700;color:var(--ink2);margin:0 0 22px}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.mini{margin-top:12px;font-weight:800;color:var(--mut);font-size:14px}
.selos{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}
.selos li{display:flex;align-items:center;gap:7px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:7px 11px;font-weight:800;font-size:14px;color:var(--ink2)}
.selos li span{font-size:18px}
/* login */
.login{background:#fff;border:2px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 24px 60px rgba(44,90,81,.18)}
#entrar{scroll-margin-top:84px}
.login h2{font-size:24px;margin:0 0 2px}.login .ls{margin:0 0 16px;font-weight:700;color:var(--mut);font-size:15px}
.campo{display:grid;gap:5px;margin-bottom:12px}.campo>span{font-weight:900;font-size:14px;color:var(--ink2)}
.campo input{font:700 17px Nunito,system-ui,sans-serif;min-height:50px;padding:0 14px;border:1.5px solid var(--line);border-radius:13px;background:var(--paper);color:var(--ink);width:100%}
.campo input:focus{outline:3px solid rgba(95,158,145,.35);border-color:var(--teal);background:#fff}
.senha{position:relative;display:block}.senha input{padding-right:70px}
.olho{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;font:900 13px Nunito,sans-serif;color:var(--td);cursor:pointer;padding:8px}
.chk{display:flex;gap:8px;align-items:center;font-weight:800;font-size:14px;color:var(--ink2);margin:2px 0 14px;cursor:pointer}
.chk input{width:20px;height:20px;accent-color:var(--teal)}
.lmsg{font-weight:800;font-size:14px;border-radius:11px;margin-bottom:10px}.lmsg:not(:empty){padding:9px 12px}
.lmsg.er{background:#FBE7E2;color:var(--neg)}.lmsg.ok{background:#E2F3EA;color:var(--pos)}
.llinks{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;font-weight:800;font-size:14px}
.llinks button{border:0;background:none;font:inherit;color:var(--td);text-decoration:underline;cursor:pointer;padding:4px 0}
.lnovo{margin-top:16px;padding-top:14px;border-top:1.5px dashed var(--line);text-align:center;font-weight:800;color:var(--ink2);font-size:15px}
.ja{display:none;text-align:center}.login.conectado .ja{display:block}.login.conectado form,.login.conectado .llinks{display:none}
/* seções */
section{padding:52px 0}
h2{font-size:clamp(28px,3.6vw,40px);margin:0 0 8px;line-height:1.1}
.sub{font-size:18px;font-weight:700;color:var(--mut);margin:0 0 26px}
.cen{text-align:center}.cen .sub{max-width:720px;margin-left:auto;margin-right:auto}
.tag{display:inline-block;font-size:11.5px;font-weight:900;padding:2px 9px;border-radius:99px;color:#fff;background:var(--c,var(--pro));vertical-align:middle;letter-spacing:.02em;white-space:nowrap}
/* carrossel */
.car{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:24px;padding:10px;box-shadow:0 20px 50px rgba(44,90,81,.16)}
.car-vp{overflow:hidden;border-radius:16px}
.car-tr{display:flex;transition:transform .5s cubic-bezier(.4,.1,.2,1)}
.car-it{flex:0 0 100%;margin:0;min-width:0}
.car-it img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top;background:var(--paper)}
.car-cap{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;padding:12px 8px 4px}
.car-cap b{font-size:18px}.car-cap p{margin:2px 0 0;font-weight:700;color:var(--mut);font-size:15px}
.car-nav{position:absolute;top:calc(50% - 40px);width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:#fff;font:900 22px Nunito,sans-serif;color:var(--tdd);cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.12);display:grid;place-items:center;z-index:2}
.car-nav.ant{left:-14px}.car-nav.pro{right:-14px}
.dots{display:flex;gap:7px;justify-content:center;margin-top:12px}
.dots button{width:11px;height:11px;border-radius:99px;border:0;background:#D9C9AC;cursor:pointer;padding:0;transition:width .3s}
.dots button.on{width:30px;background:var(--c,var(--teal))}
/* antes e depois */
.ad{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch}
.ad-c{border-radius:22px;padding:22px;border:2px solid}
.ad-c h3{margin:0 0 12px;font-size:22px}
.ad-c ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.ad-c li{display:flex;gap:10px;font-weight:700;color:var(--ink2);font-size:16px;align-items:flex-start}
.ad-c li span{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900;margin-top:1px}
.ad-antes{background:#FBF1EE;border-color:#F0D2C9}.ad-antes li span{background:#F3D3CA;color:var(--neg)}
.ad-depois{background:#EEF7F2;border-color:#BFE0CD}.ad-depois li span{background:var(--pos);color:#fff}
.ad-seta{display:grid;place-items:center;font-size:34px;color:var(--teal);font-weight:900}
/* momentos */
.mom{display:grid;grid-template-columns:1fr 1.15fr;gap:34px;align-items:center;padding:30px 0}
.mom.inv .mom-img{order:-1}
.mom-k{font-weight:900;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--c)}
.mom h3{font-size:clamp(26px,3vw,34px);margin:4px 0 10px;line-height:1.1}
.mom p.d{font-weight:700;color:var(--ink2);font-size:17px;margin:0 0 16px}
.feat{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.feat li{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;background:#fff;border:1.5px solid var(--line);border-radius:15px;padding:11px 13px}
.feat .e{font-size:24px;line-height:1.2}.feat b{display:block;font-size:16px}.feat small{display:block;font-weight:700;color:var(--mut);font-size:14px;line-height:1.35}
.shot{background:#fff;border:1.5px solid var(--line);border-radius:22px;padding:8px;box-shadow:0 18px 40px rgba(44,90,81,.14)}
.shot img{display:block;width:100%;height:auto;border-radius:15px}
/* módulos extras */
.mx{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.mxc{--c:var(--gam);background:#fff;border:2px solid var(--line);border-top:8px solid var(--c);border-radius:26px;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 44px rgba(44,90,81,.12)}
.mxc .cab{display:flex;gap:12px;align-items:center}
.mxc .cab .e{font-size:40px;line-height:1}
.mxc h3{margin:2px 0 0;font-size:26px;line-height:1.1}
.mxc .fr{margin:0;font-weight:900;color:var(--c);font-size:16px}
.mxc .car{box-shadow:none;border-color:var(--line);padding:8px;border-radius:20px}
.mxc .car-cap b{font-size:16px}.mxc .car-cap p{font-size:14px}
.mxc .car-nav{width:40px;height:40px;font-size:20px}
.f4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.f4 li{background:var(--paper);border:1.5px solid var(--line);border-radius:15px;padding:12px}
.f4 .e{font-size:24px;line-height:1}.f4 b{display:block;margin-top:6px;font-size:15.5px;line-height:1.2}.f4 small{display:block;font-weight:700;color:var(--mut);font-size:13.5px;line-height:1.35;margin-top:3px}
.mxc .rod{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1.5px dashed var(--line)}
.mxc .pr{font-weight:900;font-size:20px;color:var(--ink)}.mxc .pr small{display:block;font-weight:800;color:var(--mut);font-size:13px}
.esc-l{margin-top:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:space-between;background:#fff;border:2px solid var(--line);border-left:8px solid var(--esc);border-radius:20px;padding:16px 20px}
.esc-l p{margin:0;font-weight:800;color:var(--ink2);flex:1;min-width:240px}
/* todos os recursos */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.card{background:var(--paper);border:1.5px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 4px 0 var(--line)}
.card .e{font-size:30px;line-height:1}.card h3{margin:10px 0 4px;font-size:18px}.card p{margin:0;color:var(--ink2);font-weight:700;font-size:15px}
.cards.curto .card:nth-child(n+7){display:none}
.mais-w{text-align:center;margin-top:18px}
/* preços */
.chave{display:inline-flex;background:#fff;border:1.5px solid var(--line);border-radius:99px;padding:5px;gap:4px;margin:0 auto 22px}
.chave button{border:0;background:none;font:900 16px Nunito,sans-serif;color:var(--ink2);padding:10px 20px;border-radius:99px;cursor:pointer}
.chave button.on{background:var(--teal);color:#fff;box-shadow:0 3px 0 var(--td)}
.chave small{display:inline-block;margin-left:6px;background:#FFE7A8;color:#6B4700;border-radius:99px;padding:1px 8px;font-size:12px}
.chave small:empty{display:none}
.monta{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start;background:#fff;border:2px solid var(--line);border-radius:26px;padding:22px}
.mods{display:grid;gap:12px}
.mod{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:2px solid var(--line);border-left:8px solid var(--c);border-radius:18px;padding:14px 16px;cursor:pointer;background:var(--paper);transition:background .2s,border-color .2s}
.mod.on{background:#fff;border-color:var(--c)}
.mod input{width:24px;height:24px;accent-color:var(--c);margin:0}
.mod h3{margin:0;font-size:19px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mod p{margin:3px 0 0;font-weight:700;color:var(--ink2);font-size:14px;line-height:1.35}
.mod .v{font-weight:900;font-size:17px;white-space:nowrap;text-align:right}.mod .v small{display:block;font-size:12px;color:var(--mut);font-weight:800}
.mod.fixo{cursor:default}
.tot{position:sticky;top:84px;background:var(--tl);border-radius:20px;padding:20px;display:grid;gap:10px}
.tot .t{font-size:15px;font-weight:900;color:var(--tdd);text-transform:uppercase;letter-spacing:.05em}
.tot .vv{font-size:42px;font-weight:900;color:var(--tdd);line-height:1}.tot .vv small{font-size:17px;color:var(--ink2)}
.tot .eco{font-weight:900;color:var(--pos)}.tot .eco:empty{display:none}
.tot ul{margin:0;padding-left:18px;font-weight:800;color:var(--ink2)}
.pacotes{display:grid;grid-template-columns:repeat(3,minmax(0,300px));gap:16px;justify-content:center;margin-top:26px}
.pac{background:#fff;border:2px solid var(--line);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:8px;position:relative}
.pac.dest{border-color:var(--teal);box-shadow:0 10px 30px rgba(44,90,81,.18)}
.pac.dest::before{content:"Mais completo";position:absolute;top:-13px;right:16px;background:var(--teal);color:#fff;font-weight:900;font-size:12.5px;padding:3px 11px;border-radius:99px}
.pac h3{margin:0;font-size:21px}.pac .vv{font-size:30px;font-weight:900;color:var(--pos);line-height:1.05}.pac .vv small{font-size:15px;color:var(--mut)}
.pac .inc{display:flex;flex-wrap:wrap;gap:5px}.pac p{margin:0;font-weight:700;color:var(--ink2);font-size:14.5px;flex:1}
.garantia{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:22px;font-weight:800;color:var(--tdd)}
.garantia span{background:#fff;border:1.5px solid var(--line);border-radius:99px;padding:7px 14px}
/* passos (pix, escola) */
.passos3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:p}
.pp{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:20px;position:relative}
.pp::before{counter-increment:p;content:counter(p);position:absolute;top:-15px;left:18px;width:36px;height:36px;border-radius:50%;background:var(--mus);color:#3A2600;font-weight:900;display:grid;place-items:center;font-size:18px;box-shadow:0 3px 0 #C98F1F}
.pp .tela{margin-top:14px;background:var(--paper);border:1.5px solid var(--line);border-radius:14px;padding:12px;font-weight:800;font-size:13.5px;color:var(--ink2);min-height:118px;display:grid;gap:6px;align-content:start}
.pp .tela i{font-style:normal;display:block;background:#fff;border:1px solid var(--line);border-radius:9px;padding:6px 9px}
.pp .tela i.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.qr{width:64px;height:64px;background:repeating-conic-gradient(#2D3B39 0 25%,#fff 0 50%) 0 0/16px 16px;border:4px solid #fff;outline:1px solid var(--line);border-radius:6px}
.pp h3{margin:8px 0 4px;font-size:19px}.pp p{margin:0;font-weight:700;color:var(--ink2);font-size:15px}
/* instalar */
.inst{background:#fff;border:2px solid var(--line);border-radius:24px;padding:22px}
.abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.abas button{border:1.5px solid var(--line);background:var(--paper);font:900 15px Nunito,sans-serif;color:var(--ink2);padding:9px 16px;border-radius:12px;cursor:pointer}
.abas button.on{background:var(--teal);border-color:var(--teal);color:#fff}
.inst ol{margin:0;padding-left:22px;font-weight:700;color:var(--ink2);font-size:16px;gap:8px}
.inst [data-os]{display:none}.inst [data-os].on{display:grid}
.kbd{display:inline-block;background:var(--paper);border:1.5px solid var(--line);border-radius:7px;padding:0 7px;font-weight:900;color:var(--ink)}
/* lgpd, faq, fim */
.seg{background:var(--tl);border-radius:22px;padding:24px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.seg .e{font-size:46px}
details{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:14px 18px;margin-bottom:10px}
summary{font-weight:900;font-size:17px;cursor:pointer}details p{margin:10px 0 0;font-weight:700;color:var(--ink2)}
.faq2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start}
.fim{text-align:center;background:var(--paper);border:1.5px solid var(--line);border-radius:28px;padding:40px 20px;margin:20px 0 40px}
footer{padding:16px 0 90px;text-align:center;font-weight:700;color:var(--mut);font-size:14px}
footer nav{display:flex;gap:6px 16px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}
.wa-f{position:fixed;right:16px;bottom:16px;z-index:40;width:60px;height:60px;border-radius:50%;background:var(--wa);color:#fff;display:none;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);text-decoration:none}
.wa-f svg{width:32px;height:32px}
/* páginas extras */
.pg-hero{padding:44px 0 20px}
.lista2{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.nov{border-left:5px solid var(--teal);background:#fff;border-radius:0 18px 18px 0;padding:18px 20px;margin-bottom:14px}
.nov h3{margin:0 0 6px}.nov .dt{font-weight:800;color:var(--mut);font-size:14px}.nov ul{margin:8px 0 0;padding-left:20px;font-weight:700;color:var(--ink2)}
.convite{max-width:620px;margin:40px auto;background:#fff;border:2px solid var(--line);border-radius:28px;padding:30px;text-align:center;box-shadow:0 24px 60px rgba(44,90,81,.16)}
.convite .av{width:84px;height:84px;border-radius:50%;background:var(--tl);display:grid;place-items:center;font-size:42px;margin:0 auto 10px}
.cod{display:inline-block;font:900 24px/1 ui-monospace,monospace;letter-spacing:.15em;background:var(--paper);border:2px dashed var(--mus);border-radius:12px;padding:10px 16px;margin:10px 0}
[hidden]{display:none!important}
@media (max-width:980px){.menu{display:none}.top .wa-t{margin-left:auto}}
@media (max-width:860px){
  .hero,.mom,.monta,.ad,.mx{grid-template-columns:1fr}.mom.inv .mom-img{order:0}.hero{gap:26px;padding:24px 0}
  .ad-seta{transform:rotate(90deg);font-size:28px}.pacotes{grid-template-columns:minmax(0,420px)}.passos3{grid-template-columns:1fr;gap:26px}
  .faq2{grid-template-columns:1fr}.wa-f{display:grid}.wa-f[hidden]{display:none}.top .wa-t{display:none}.top .so-cel{display:inline-flex;margin-left:auto}
  .car-nav{display:none}.tot{position:static}.seg{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr;gap:10px}.card{padding:14px}.card h3{font-size:16px}.card p{font-size:13.5px}
  .mod{grid-template-columns:auto 1fr}.mod .v{grid-column:2;text-align:left}.mod .v small{display:inline;margin-left:3px}
}
@media (max-width:420px){.top .w{gap:8px}.logo{font-size:23px;gap:6px}.logo img{width:32px;height:32px}.top .b.sm{padding:0 10px;font-size:13.5px;min-height:40px}.login,.mxc{padding:16px}.f4{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.car-tr{transition:none}html{scroll-behavior:auto}}
/* itens de grade não podem crescer além da tela por causa do carrossel */
.mx>*,.monta>*,.mom>*,.hero>*,.ad>*,.mods>*{min-width:0}.car,.car-vp{min-width:0;max-width:100%}
.mxc .rod .b{white-space:normal}
