:root{--verde:#0D9E29;--verde-esc:#0A7F21;--sol:#F2C811;--gelo:#F0EFF4;--texto:#1F2A1B;--suave:#66705F;--linha:#E1E3E8;
--degrade:radial-gradient(520px 340px at 85% 0%,rgba(155,203,59,.35),transparent 70%),linear-gradient(160deg,#0B3D1C 0%,#0D6B24 55%,#0D9E29 100%)}
*{box-sizing:border-box}
body{margin:0;background:var(--gelo);color:var(--texto);font:16px/1.55 "Plus Jakarta Sans","Segoe UI",system-ui,sans-serif}
a{color:var(--verde-esc)}
.topo{background:var(--degrade);color:#fff;padding:22px 16px 30px;text-align:center}
.topo.foto{background:linear-gradient(180deg,rgba(11,61,28,.82),rgba(13,107,36,.88)),var(--foto) center/cover}
.topo img.logo{height:44px}
.topo .volta{display:block;text-align:left;max-width:640px;margin:0 auto 6px;color:#E6F2E1;text-decoration:none;font-size:14px}
.topo .tag{display:inline-block;background:var(--sol);color:#1F2A1B;font:700 12px/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-top:12px}
.topo h1{font:800 29px/1.15 Sora,"Segoe UI",sans-serif;margin:12px auto 8px;max-width:640px;text-wrap:balance}
.topo p{margin:0 auto;max-width:560px;color:#E6F2E1}
.btn{display:inline-block;margin-top:16px;padding:14px 22px;border-radius:999px;font-weight:700;text-decoration:none}
.btn.sol{background:var(--sol);color:#1F2A1B}
.wrap{max-width:680px;margin:0 auto;padding:20px 16px 40px;display:grid;gap:18px}
.card{background:#fff;border:1px solid var(--linha);border-radius:14px;padding:18px}
h2{font:800 21px/1.2 Sora,"Segoe UI",sans-serif;margin:0 0 10px}
h3{font:700 17px/1.3 Sora,"Segoe UI",sans-serif;margin:0 0 4px}
h3 small{font:600 13px/1 "Plus Jakarta Sans",sans-serif;color:var(--verde-esc);margin-left:6px}
.modulos{display:grid;gap:12px}
.mod{border-left:4px solid var(--verde);padding:4px 0 4px 12px}
.mod p{margin:0;color:var(--suave);font-size:15px}
.passos{margin:0;padding-left:22px;display:grid;gap:8px}
.cursos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.curso{background:#fff;border:1px solid var(--linha);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--texto);display:grid}
.curso img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.curso div{padding:12px}
.curso b{display:block;font:700 16px/1.3 Sora,sans-serif}
.curso span{font-size:14px;color:var(--suave)}
.curso em{font-style:normal;font-size:13px;font-weight:700;color:var(--verde-esc)}
.benef{margin:0;padding-left:20px;columns:2 260px;column-gap:24px}
.benef li{margin:0 0 6px;break-inside:avoid}
video{width:100%;border-radius:12px;background:#000;display:block}
label{display:block;font-weight:700;margin:12px 0 4px}
input,select{width:100%;font:inherit;padding:12px;border:2px solid var(--linha);border-radius:10px;background:#fff}
input:focus,select:focus{outline:none;border-color:var(--verde)}
.isca{position:absolute;left:-9999px}
button{display:block;width:100%;margin-top:18px;background:var(--verde);color:#fff;font:700 18px/1 "Plus Jakarta Sans",sans-serif;border:0;border-radius:999px;padding:17px;cursor:pointer}
button:disabled{opacity:.6} button:focus-visible,.btn:focus-visible{outline:3px solid var(--sol);outline-offset:2px}
.msg{margin-top:12px;padding:12px 14px;border-radius:10px;display:none}
.msg.ok{display:block;background:#E8F7EC;border:2px solid var(--verde)}
.msg.erro{display:block;background:#FDECEC;border:2px solid #DD4C3A}
.nota{color:var(--suave);font-size:14px}
details{border-top:1px solid var(--linha);padding:10px 0} summary{font-weight:700;cursor:pointer}
.outros{text-align:center;color:var(--suave)}
footer{text-align:center;color:var(--suave);font-size:13px;padding:10px 16px 26px}
