* { box-sizing:border-box; }
html { color-scheme:dark; }
body { margin:0; font:400 1rem/1.55 var(--font-body); color:var(--text-primary); background:var(--bg-base); isolation:isolate; }
.sem-webgl body::before { content:''; position:fixed; inset:0; pointer-events:none; z-index:var(--z-canvas-bg); background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(10,255,31,.18) 0%,rgba(5,32,8,.08) 50%,transparent 100%); }
button,input,select { font:inherit; }
:focus-visible { outline:2px solid var(--border-focus); outline-offset:3px; }
a { color:var(--primary-green); text-underline-offset:4px; }
p,li { color:var(--text-secondary); }
strong,b { font-weight:600; }
img,svg,canvas { max-width:100%; }
.topo { display:flex; flex-wrap:wrap; gap:.5rem; align-items:baseline; justify-content:center; padding:.85rem 1rem; background:rgba(11,13,16,.9); border-bottom:1px solid var(--border-subtle); backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate)); position:sticky; top:0; z-index:var(--z-header); }
.topo span { color:var(--text-secondary); border:1px solid var(--border-default); border-radius:var(--radius-pill); padding:.25rem .65rem; font-size:.8rem; text-align:center; }
main { max-width:540px; margin:0 auto; padding:1.25rem 1rem 3.5rem; }
main.editorial { max-width:960px; padding:2rem 1.25rem 5rem; }
section { min-width:0; }
main > section + section { margin-top:var(--space-8); }
h1,h2 { font-family:var(--font-display); font-weight:600; }
h1 { font-size:clamp(1.75rem,4vw,2.5rem); line-height:1.15; letter-spacing:-.025em; margin:.5rem 0 1rem; }
h2 { font-size:clamp(1.35rem,3vw,1.75rem); line-height:1.25; letter-spacing:-.02em; }
h3 { font-size:clamp(1.15rem,2vw,1.35rem); font-weight:600; line-height:1.3; letter-spacing:-.01em; }
.hero { padding:var(--space-8) 0; }
.hero h1 { font-size:clamp(2.25rem,4vw,3.25rem); line-height:1.08; letter-spacing:-.035em; }
#capa { text-align:center; }
#capa .selos { justify-content:center; margin:1.5rem 0; gap:.5rem .65rem; }
#capa h1 { margin:.75rem auto 1rem; font-size:clamp(1.75rem,4vw,2.35rem); }
#capa > p { font-size:1.05rem; }
.sobretitulo,.etapa,.data-aula { font-size:.8125rem; font-weight:600; letter-spacing:.05em; color:var(--primary-green); }
.sobretitulo { text-transform:uppercase; }
.data-aula { display:inline-block; border:1px solid var(--border-hover); border-radius:var(--radius-pill); padding:.55rem .85rem; letter-spacing:0; }
.btn { position:relative; display:block; width:100%; padding:1rem; border:0; border-radius:var(--radius-md); background:var(--primary-green); color:var(--text-inverse); font-weight:600; cursor:pointer; text-align:center; text-decoration:none; box-shadow:var(--glow-btn); transition:transform var(--duration-hover) var(--ease-igreen-back); }
.btn:hover { background:var(--primary-green-hover); transform:translate3d(0,-2px,0); }
.btn:active { background:var(--primary-green-active); transform:scale(.98); }
.btn:disabled { opacity:.55; cursor:wait; }
.btn::after { content:''; position:absolute; inset:0; border-radius:inherit; box-shadow:var(--glow-btn-hover); opacity:0; pointer-events:none; transition:opacity var(--duration-hover) ease; }
.btn:hover::after { opacity:1; }
.opcao,.card-glow { position:relative; background:var(--bg-surface); border:1px solid var(--border-default); border-radius:var(--radius-lg); transition:transform var(--duration-hover) var(--ease-igreen-back); }
.opcao { display:block; width:100%; margin:.65rem 0; padding:1rem; text-align:left; color:var(--text-primary); cursor:pointer; }
.opcao::after,.card-glow::after { content:''; position:absolute; inset:-1px; border:1px solid var(--border-hover); border-radius:inherit; box-shadow:0 10px 28px rgba(0,0,0,.7),0 0 18px rgba(24,255,0,.15); opacity:0; pointer-events:none; transition:opacity var(--duration-hover) ease; }
.opcao:hover,.card-glow:hover { transform:translate3d(0,-3px,0); }
.opcao:hover::after,.opcao:focus-visible::after,.opcao.selecionada::after,.card-glow:hover::after { opacity:1; }
.opcao.selecionada { transform:scale(.98); transition:transform var(--duration-press) var(--ease-spring); }
.campo { display:block; margin:.9rem 0; }
.campo span { display:block; font-size:.875rem; color:var(--text-secondary); margin-bottom:.4rem; }
.campo input,.campo select { width:100%; min-width:0; padding:.9rem; border:1px solid var(--border-default); border-radius:var(--radius-md); background:var(--bg-surface-elevated); color:var(--text-primary); }
.campo input:focus,.campo select:focus { border-color:var(--border-focus); }
.campo input[aria-invalid="true"] { border-color:var(--status-danger); }
.erro { color:var(--status-danger); font-size:.875rem; min-height:1.2em; }
.progresso { height:6px; background:var(--border-default); border-radius:3px; overflow:hidden; margin-bottom:1rem; }
.progresso div { height:100%; width:100%; background:var(--primary-green); transform-origin:left center; transform:scaleX(0); transition:transform var(--duration-step) var(--ease-igreen-back); }
.link { display:inline-block; background:none; border:0; color:var(--text-secondary); text-decoration:underline; cursor:pointer; margin-top:1rem; padding:.5rem 0; }
.selos { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:.5rem; margin:var(--space-6) 0; }
.selos li { background:var(--glass-bg); border:1px solid var(--border-default); border-radius:var(--radius-pill); padding:.45rem .8rem; font-size:.75rem; }
.destaque { font-family:var(--font-display); font-size:clamp(2.5rem,5vw,3.5rem); line-height:1.05; letter-spacing:-.03em; font-weight:600; color:var(--primary-green); margin:.5rem 0; overflow-wrap:anywhere; }
.nota { background:var(--bg-surface-elevated); border:1px solid rgba(255,210,63,.25); border-radius:var(--radius-md); padding:.8rem 1rem; font-size:.875rem; }
.cartao { background:var(--bg-surface); border:1px solid var(--border-default); border-radius:var(--radius-lg); padding:1.25rem; margin:1rem 0; box-shadow:var(--shadow-card); }
.cartao > :first-child { margin-top:0; }
.cartao > :last-child { margin-bottom:0; }
.grade { display:grid; gap:var(--space-4); }
.grade .cartao { margin:0; }
.modulos,.jornada { list-style:none; padding:0; counter-reset:passos; }
.modulos li,.jornada li { counter-increment:passos; }
.modulos li::before,.jornada li::before { content:'0' counter(passos); display:block; font:600 2rem var(--font-display); color:var(--primary-green); margin-bottom:.5rem; }
.bio { display:flex; align-items:center; gap:var(--space-6); }
.retrato { flex:0 0 72px; height:72px; border-radius:50%; display:grid; place-items:center; color:var(--primary-green); border:1px solid var(--border-hover); background:var(--bg-deep-green-1); box-shadow:0 0 24px var(--accent-glow-subtle); font:600 2rem var(--font-display); }
.rodape { max-width:960px; margin:0 auto; padding:1.5rem 1rem 2.5rem; font-size:.8rem; color:var(--text-muted); text-align:center; border-top:1px solid var(--border-subtle); }
.rodape a { color:var(--text-secondary); }
.aceite { display:flex; align-items:flex-start; gap:.5rem; font-size:.875rem; }
.aceite input { flex-shrink:0; margin-top:.3rem; accent-color:var(--primary-green); }
.passos { padding-left:1.5rem; }
.passos li::marker { color:var(--primary-green); font-weight:600; }
.acoes { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.acoes > * { flex:1 1 160px; }
.acoes .link { margin:0; }
#player { width:100%; aspect-ratio:16/9; border:1px solid var(--border-hover); border-radius:var(--radius-lg); box-shadow:var(--shadow-elevated); }
#contagem { font-size:3rem; text-shadow:0 0 24px var(--accent-glow-subtle); }
details { border-bottom:1px solid var(--border-default); padding:1rem 0; }
summary { cursor:pointer; font-weight:600; color:var(--text-primary); list-style:none; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
summary::-webkit-details-marker { display:none; }
summary::after { content:'+'; flex-shrink:0; font-size:1.5rem; color:var(--primary-green); transition:transform var(--duration-hover) var(--ease-snappy); }
details[open] > summary::after { transform:rotate(45deg); }
.js details[open] > .faq-content { animation:faqExpand var(--duration-hover) var(--ease-igreen-back); }
.efeito-fundo { position:fixed; inset:0; pointer-events:none; z-index:-1; }
.efeito-fundo canvas { display:none; }
.mapa-estatico { width:min(100%,280px); margin:var(--space-4) auto; }
.mapa-estatico svg { display:block; width:100%; height:180px; fill:var(--bg-deep-green-1); stroke:var(--border-hover); stroke-width:1.5; }
.mapa-estatico canvas { display:none; }
.telefone { max-width:280px; margin:1.5rem auto; padding:1.5rem 1rem; border:4px solid #1a221d; border-radius:36px; background:#070a08; box-shadow:0 30px 70px -15px rgba(0,0,0,.85),0 0 35px var(--accent-glow-subtle); }
.telefone::before { content:''; display:block; width:64px; height:5px; margin:0 auto 1.5rem; border-radius:var(--radius-pill); background:var(--border-default); }
.telefone .destaque { font-size:2.5rem; }
.telefone .rotulo { font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; }
.editorial > section { margin-bottom:var(--space-12); }
.privacidade section { padding:1.5rem; border:1px solid var(--border-default); border-radius:var(--radius-lg); background:var(--bg-surface); }
[hidden],[data-pendente] { display:none !important; }
.js .revelar { animation:revelar var(--duration-enter-long) var(--ease-igreen-back); }
.js .passo-saindo { opacity:0; transform:translate3d(-18px,0,0); transition:transform 220ms var(--ease-snappy),opacity 200ms ease-out; }
.js .passo-entrando { animation:entrar var(--duration-step) var(--ease-igreen-back); }
.js .passo-entrando .opcao { animation:entrar var(--duration-step) var(--ease-igreen-back) backwards; }
.js .passo-entrando .opcao:nth-child(2) { animation-delay:45ms; }
.js .passo-entrando .opcao:nth-child(3) { animation-delay:90ms; }
.js .passo-entrando .opcao:nth-child(n+4) { animation-delay:135ms; }
@keyframes revelar { from { opacity:.2; transform:translate3d(0,20px,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes entrar { from { opacity:0; transform:translate3d(24px,0,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes faqExpand { from { opacity:0; transform:translate3d(0,-6px,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@media (min-width:700px) {
  .editorial .grade { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .editorial .jornada { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .hero { padding:var(--space-12) 0; }
  .hero-dividido { display:grid; grid-template-columns:1.5fr 1fr; align-items:center; gap:var(--space-8); }
  .mapa-estatico { width:min(100%,400px); }
}
@media (prefers-reduced-motion:reduce) {
  *,::before,::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .js .passo-saindo { opacity:1; transform:none; }
  .telefone,.opcao:hover,.card-glow:hover,.btn:hover { transform:none; }
}

/* Correção 1: composição do resultado e comparativo da aula. */
.para-quem-sim { border:1px solid rgba(24,255,0,.35); background:rgba(5,32,8,.4); }
@media (max-width:699px) {
  #resultado .mapa-estatico { height:110px; margin:.5rem auto; }
  #resultado .mapa-estatico svg { height:110px; }
  #resultado .telefone { margin:1rem auto; padding:1rem; }
  #resultado .telefone::before { margin-bottom:1rem; }
}
@media (prefers-reduced-motion:reduce) {
  body::before { content:''; position:fixed; inset:0; pointer-events:none; z-index:var(--z-canvas-bg); background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(10,255,31,.18) 0%,rgba(5,32,8,.08) 50%,transparent 100%); }
}
