/* Mês do Professor eadSimples — cores oficiais do manual da marca (p. 5) */
:root{
  --roxo:#6C2991; --azul:#3662AD; --azul-claro:#009BC9; --ciano:#15D7E5; --laranja:#FFA427;
  --fundo:#0b0a1a; --fundo-2:#120f28; --cartao:#17142f; --linha:rgba(255,255,255,.12);
  --texto:#eef0fa; --suave:#b9bdd6; --raio:18px;
  --sombra:0 30px 80px -30px rgba(0,0,0,.8);
  --fonte:Arial, Helvetica, "Helvetica Neue", sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--fundo);color:var(--texto);font:400 17px/1.6 var(--fonte);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#9fd8ff}
a:hover{color:#fff}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--laranja);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:12px;top:-60px;z-index:100;background:#fff;color:#000;padding:10px 14px;border-radius:8px}
.pular:focus{top:12px}
[hidden]{display:none!important}

/* topo */
.topo{position:sticky;top:0;z-index:50;background:rgba(11,10,26,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--linha)}
.topo-in{max-width:1240px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:24px}
.marca img{height:46px;width:auto}
.topo nav{margin-left:auto}
.topo ul{list-style:none;display:flex;gap:22px;margin:0;padding:0}
.topo nav a{color:var(--suave);text-decoration:none;font-size:15px}
.topo nav a:hover{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;font:700 16px/1.2 var(--fonte);text-decoration:none;cursor:pointer;padding:15px 26px;transition:transform .2s,box-shadow .2s,background .2s}
.btn-topo{background:#fff;color:#2a1640;padding:10px 18px;font-size:14px}
.btn-primario{background:linear-gradient(100deg,var(--roxo),var(--azul));color:#fff;box-shadow:0 12px 40px -12px rgba(108,41,145,.9)}
.btn-primario:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 50px -12px rgba(54,98,173,.9)}
.btn-secundario{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55)}
.btn-secundario:hover{border-color:#fff}
.seta{transition:transform .2s}
.btn-primario:hover .seta{transform:translateX(4px)}
.link-sec{color:#fff;font-weight:700;text-underline-offset:4px}
.acoes{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:22px}
.acoes-centro{justify-content:center}

/* hero */
.hero{position:relative;padding:32px 24px 0;overflow:hidden;--p:0}
.hero-fundo{position:absolute;inset:0;pointer-events:none}
.brilho{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}
.b1{width:620px;height:620px;background:var(--roxo);top:-180px;right:-120px}
.b2{width:520px;height:520px;background:var(--azul);bottom:-120px;left:-180px;opacity:.4}
.grade{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 60% 30%,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 60% 30%,#000 20%,transparent 70%)}
.hero-in{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center}
.selo{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffd79e;background:rgba(255,164,39,.12);border:1px solid rgba(255,164,39,.35);padding:7px 14px;border-radius:999px}
.selo-ponto{width:8px;height:8px;border-radius:50%;background:var(--laranja);box-shadow:0 0 0 4px rgba(255,164,39,.25)}
.hero h1{font-size:clamp(30px,3.9vw,52px);margin:14px 0 12px}
.lead{font-size:clamp(16px,1.35vw,19px);color:var(--suave);max-width:36em;margin-bottom:0}
.oferta{margin-top:18px;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid var(--linha);border-radius:var(--raio);padding:20px 22px;box-shadow:var(--sombra)}
.oferta-topo{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.oferta-pct{font-size:44px;font-weight:700;line-height:1;margin:0;color:var(--laranja)}
.oferta-pct small{font-size:17px;color:#fff}
.oferta-validade{margin:0;color:var(--suave);font-size:15px}
.cupom-box{margin-top:14px}
.cupom-rotulo{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--suave)}
.cupom-linha{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.cupom-codigo{font:700 26px/1 "Courier New",monospace;letter-spacing:.12em;background:#fff;color:#2a1640;padding:12px 18px;border-radius:12px;border:2px dashed var(--roxo);user-select:all;-webkit-user-select:all}
.btn-copiar{background:var(--laranja);color:#1d1030;padding:12px 20px}
.btn-copiar:hover{background:#ffb84f}
.cupom-feedback{min-height:1.4em;margin:8px 0 0;font-size:15px}
.cupom-feedback.ok{color:#8ff0b7}
.cupom-feedback.erro{color:#ffd79e}
.contador{display:flex;gap:8px;margin-top:10px}
.contador span{flex:1;max-width:84px;background:rgba(0,0,0,.35);border:1px solid var(--linha);border-radius:12px;padding:8px 6px;text-align:center}
.contador b{display:block;font-size:24px;font-variant-numeric:tabular-nums}
.contador small{font-size:12px;color:var(--suave);text-transform:uppercase;letter-spacing:.06em}
.urgencia{margin:10px 0 0;color:#ffd79e;font-weight:700}
.proxima{margin:10px 0 0;font-size:14px;color:var(--suave)}
.cronograma{margin:12px 0 0;padding-left:18px;color:var(--suave);font-size:15px}
.cronograma .vigente{color:#fff}
.oferta.encerrada .encerrada-titulo{font-size:22px;font-weight:700;color:#fff}
.nota-destino{font-size:14px;color:var(--suave);margin-top:14px;max-width:40em}
html:not(.js) [data-copiar],html:not(.js) [data-contador]{display:none}

.hero-cena{position:relative;perspective:1600px;min-height:520px}
.notebook{margin:0;transform-style:preserve-3d;transform:rotateY(calc(-14deg + var(--p)*14deg)) rotateX(calc(8deg - var(--p)*8deg)) translateZ(calc(var(--p)*40px));transition:transform .1s linear}
.notebook-tela{background:#05040c;border:10px solid #22202f;border-bottom-width:14px;border-radius:16px 16px 6px 6px;box-shadow:0 50px 100px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.08);overflow:hidden}
.notebook-tela img{width:100%}
.notebook-base{height:16px;margin:0 -6%;background:linear-gradient(#3a3848,#1a1924);border-radius:0 0 18px 18px}
.celular{position:absolute;right:-6px;bottom:6px;width:31%;margin:0;transform:translateZ(80px) translateY(calc(var(--p)*-40px)) rotate(4deg)}
.celular-tela{border:8px solid #111019;border-radius:30px;overflow:hidden;box-shadow:0 40px 80px -20px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.12);background:#fff}
.cartao-flutuante{position:absolute;margin:0;width:46%;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:var(--sombra)}
.cf1{left:-10%;top:-6%;transform:translateY(calc(var(--p)*-70px)) rotate(-4deg)}
.cf2{left:-4%;bottom:-2%;width:40%;transform:translateY(calc(var(--p)*-30px)) rotate(3deg)}
.legenda-cena{position:absolute;right:0;bottom:-30px;margin:0;font-size:12px;color:var(--suave)}
.faixa-provas{position:relative;list-style:none;max-width:1240px;margin:70px auto 0;padding:22px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;border-top:1px solid var(--linha)}
.faixa-provas li{display:flex;flex-direction:column}
.faixa-provas b{font-size:22px}
.faixa-provas span{color:var(--suave);font-size:14px}

/* seções */
.secao{padding:96px 24px;position:relative}
.secao:nth-of-type(even){background:linear-gradient(180deg,var(--fundo-2),var(--fundo))}
.sec-in{max-width:1240px;margin:0 auto}
.sec-estreita{max-width:860px}
.centro{text-align:center}
.centro .cupom-linha,.centro .contador{justify-content:center}
.centro .contador span{flex:0 0 84px}
.kicker{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ciano);margin-bottom:10px}
.secao h2{font-size:clamp(28px,3.4vw,44px);max-width:22em}
.centro h2{margin-left:auto;margin-right:auto}
.sec-lead{color:var(--suave);font-size:18px;max-width:46em}

.passos{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:p}
.passos li{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);padding:24px}
.passo-n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--roxo),var(--azul));font-weight:700;margin-bottom:14px}
.passos h3{font-size:19px}
.passos p{color:var(--suave);margin:0}
.regras{margin-top:48px;background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);padding:28px}
.regras h3{font-size:22px}
.tabela-rolagem{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:560px}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--linha);vertical-align:top}
thead th{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--suave)}
tbody th{font-weight:700;width:46%}
.regras-nota{margin-top:16px;color:var(--suave);font-size:15px}

.contador.compacto{margin-top:12px;gap:6px}
.contador.compacto span{flex:0 0 auto;min-width:58px;padding:5px 8px;display:flex;align-items:baseline;justify-content:center;gap:4px}
.contador.compacto b{display:inline;font-size:18px}
.contador.compacto small{font-size:11px}
.acoes-hero{margin-top:16px}
.oferta .proxima{margin-top:12px}
.oferta.encerrada .acoes-hero .btn{color:#fff}
@media (max-width:720px){
  .selo{font-size:12px;padding:6px 12px}
  .hero h1{font-size:30px}
  .lead{font-size:16px;line-height:1.5}
  .oferta{padding:16px}
  .oferta-pct{font-size:34px}
  .cupom-box{margin-top:10px}
  .cupom-codigo{padding:10px 12px}
  .contador.compacto span{min-width:0;flex:1}
  .acoes-hero{margin-top:12px;gap:10px}
  .acoes-hero .link-sec{width:100%;text-align:center}
  .legenda-cena{margin-top:30px}
  .regras{padding:20px}
  table{min-width:0}
  table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table,tbody,tr,th,td{display:block;width:auto}
  tbody tr{border:1px solid var(--linha);border-radius:12px;padding:12px 14px;margin-bottom:10px}
  tbody th,tbody td{border:0;padding:0;width:auto}
  tbody th{margin-bottom:6px}
  tbody td{color:var(--suave)}
}

/* plataforma: palco fixo + cenas */
.historia{max-width:1240px;margin:40px auto 0;display:grid;grid-template-columns:1.25fr 1fr;gap:56px;padding:0 0}
.palco{position:sticky;top:110px;height:calc(100vh - 160px);display:flex;align-items:center}
.palco-moldura{position:relative;width:100%;aspect-ratio:16/10.4;border-radius:16px;border:10px solid #22202f;background:#05040c;overflow:hidden;box-shadow:var(--sombra);transform:perspective(1400px) rotateY(6deg)}
.palco-moldura img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;opacity:0;transform:scale(1.04);transition:opacity .6s ease,transform 1.2s ease}
.palco-moldura img.ativa{opacity:1;transform:none}
.cenas{padding:10vh 0}
.cena{min-height:62vh;display:flex;flex-direction:column;justify-content:center;opacity:.35;transition:opacity .4s}
.cena.ativa{opacity:1}
.cena-img{display:none;margin:0 0 18px}
.cena-img img{border-radius:12px;border:1px solid var(--linha)}
.cena-kicker{color:var(--laranja);font-weight:700;margin-bottom:6px}
.cena h3{font-size:clamp(24px,2.4vw,32px)}
.cena p{color:var(--suave)}
.beneficios{list-style:none;padding:0;margin:60px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.beneficios li{border-top:2px solid var(--roxo);padding-top:16px}
.beneficios h3{font-size:18px}
.beneficios p{color:var(--suave);font-size:15px;margin:0}

/* verticais */
.verticais{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:40px}
.vertical{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;padding:0 0 24px}
.vertical figure{margin:0 0 20px;position:relative;overflow:hidden;aspect-ratio:16/9;--py:0}
.vertical figure img{width:100%;height:112%;object-fit:cover;object-position:top;transform:translateY(calc(var(--py)*-20px - 4%))}
.vertical figcaption{position:absolute;left:12px;bottom:12px;background:rgba(11,10,26,.82);font-size:13px;padding:5px 10px;border-radius:8px}
.vertical h3,.vertical p{padding:0 24px}
.vertical h3{font-size:22px}
.vertical p{color:var(--suave)}
.clientes-mini{font-size:14px}

/* vídeo */
.video-moldura{position:relative;margin-top:32px;aspect-ratio:16/9;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);border:1px solid var(--linha);background:#000}
.video-moldura iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-capa{position:absolute;inset:0;border:0;padding:0;cursor:pointer;background:#000;color:#fff;font:inherit}
.video-capa img{width:100%;height:100%;object-fit:cover;opacity:.75;transition:opacity .3s,transform .6s}
.video-capa:hover img{opacity:.9;transform:scale(1.02)}
.video-play{position:absolute;left:50%;top:50%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;background:linear-gradient(135deg,var(--roxo),var(--azul));box-shadow:0 0 0 12px rgba(255,255,255,.12)}
.video-play::after{content:"";position:absolute;left:38px;top:30px;border-left:28px solid #fff;border-top:18px solid transparent;border-bottom:18px solid transparent}
.video-rotulo{position:absolute;left:0;right:0;bottom:22px;text-align:center;font-weight:700;font-size:18px;text-shadow:0 2px 10px #000}
.video-alt{margin-top:14px;color:var(--suave);font-size:15px}

/* famílias */
.familias{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;margin-top:40px;align-items:start}
.familia{background:var(--cartao);border:1px solid var(--linha);border-radius:var(--raio);padding:32px}
.familia.destaque{background:linear-gradient(160deg,rgba(108,41,145,.45),rgba(54,98,173,.25));border:2px solid rgba(255,255,255,.3);box-shadow:var(--sombra)}
.familia-tag{display:inline-block;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.12);padding:5px 12px;border-radius:999px}
.familia.destaque .familia-tag{background:var(--laranja);color:#1d1030}
.familia h3{font-size:32px;margin-top:8px}
.familia-chave{font-size:19px;font-weight:700;color:#fff}
.familia ul{padding-left:20px;color:var(--suave)}
.familia li{margin-bottom:8px}
.familia .link-sec{display:inline-block;margin-top:14px;font-weight:400}
.nota-pequena{font-size:14px;color:var(--suave);margin-top:22px}

/* clientes */
.lista-clientes{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.lista-clientes li{border:1px solid var(--linha);border-radius:999px;padding:8px 14px;font-size:15px;background:rgba(255,255,255,.03)}
.depoimentos{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}
.depoimento{margin:0;background:var(--cartao);border:1px solid var(--linha);border-left:4px solid var(--laranja);border-radius:var(--raio);padding:24px}
.depoimento blockquote{margin:0 0 12px;font-size:17px}
.depoimento figcaption{color:var(--suave);font-size:14px}

/* faq */
.faq{margin-top:28px}
.faq details{border-bottom:1px solid var(--linha);padding:4px 0}
.faq summary{cursor:pointer;font-weight:700;font-size:18px;padding:16px 36px 16px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:12px;font-size:26px;color:var(--ciano)}
.faq details[open] summary::after{content:"−"}
.faq details div{color:var(--suave);padding-bottom:12px}

/* final */
.final{background:radial-gradient(ellipse at 50% 0%,rgba(108,41,145,.55),transparent 65%),var(--fundo)!important}
.final h2{font-size:clamp(30px,4vw,50px)}
.final .orientacao{color:var(--suave);font-size:15px;margin-top:12px}
.orientacao{font-size:15px}
.links-final{margin-top:20px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 16px}

/* rodapé */
.rodape{border-top:1px solid var(--linha);padding:40px 24px;color:var(--suave);font-size:14px}
.rodape img{height:44px;width:auto;margin-bottom:12px}

/* aviso flutuante */
.aviso{position:fixed;left:50%;bottom:24px;z-index:80;visibility:hidden;transform:translate(-50%,220%);max-width:min(92vw,560px);background:#fff;color:#1d1030;font-weight:700;padding:14px 20px;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.6);transition:transform .3s}
.aviso.visivel{visibility:visible;transform:translate(-50%,0)}
.aviso.erro{background:#ffe2b8}

/* revelação (só com JS e movimento permitido) */
.anima [data-revelar]{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.anima [data-revelar].visivel{opacity:1;transform:none}

/* responsivo */
@media (max-width:1080px){
  .topo nav{display:none}
  html[data-campanha="encerrada"] .topo .btn-topo{margin-left:auto}
  .hero-in{grid-template-columns:minmax(0,1fr)}
  .hero-cena{min-height:0;max-width:640px;margin:20px auto 40px;width:100%}
  .passos,.beneficios{grid-template-columns:repeat(2,1fr)}
  .historia{grid-template-columns:1fr;padding:0 24px}
  .palco{display:none}
  .cenas{padding:0}
  .cena{min-height:0;opacity:1;margin-bottom:48px}
  .cena-img{display:block}
  .faixa-provas{grid-template-columns:repeat(2,1fr);padding:22px 0}
}
@media (max-width:720px){
  body{font-size:16px}
  .hero{padding-top:32px}
  .secao{padding:64px 20px}
  .passos,.beneficios,.verticais,.familias,.depoimentos{grid-template-columns:1fr}
  .cf1,.cf2{display:none}
  .celular{width:34%;right:-4px;bottom:-10px}
  .legenda-cena{position:static;margin-top:16px}
  .oferta-pct{font-size:38px}
  .cupom-codigo{font-size:22px;flex:1;text-align:center}
  .btn-copiar{flex:1}
  .acoes .btn{width:100%}
  .familia{padding:24px}
  .marca img{height:40px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .notebook,.celular,.cf1,.cf2,.vertical figure img,.palco-moldura{transform:none!important}
}

/* v2.0 — cupom sempre visível no cabeçalho fixo */
.topo-cupom{display:flex;align-items:center;gap:8px;flex-shrink:0;background:rgba(255,255,255,.07);border:1px solid rgba(255,164,39,.5);border-radius:999px;padding:4px 4px 4px 14px;transition:box-shadow .3s}
.topo-cupom.copiado{box-shadow:0 0 0 4px rgba(143,240,183,.4)}
.topo-cupom-rotulo{font-size:13px;font-weight:700;color:#ffd79e;white-space:nowrap}
.topo-cupom-validade{font-size:12px;color:var(--suave);white-space:nowrap}
.topo-cupom-codigo{font:700 16px/1 "Courier New",monospace;letter-spacing:.1em;background:#fff;color:#2a1640;padding:7px 10px;border-radius:999px;border:2px dashed var(--roxo);user-select:all;-webkit-user-select:all}
.btn-topo-copiar{border:0;border-radius:999px;background:var(--laranja);color:#1d1030;font:700 14px/1 var(--fonte);padding:10px 15px;cursor:pointer;white-space:nowrap}
.btn-topo-copiar:hover{background:#ffb84f}
@media (max-width:1180px){
  .topo nav{display:none}
  .topo-cupom{margin-left:auto}
}
@media (max-width:720px){
  .topo-in{padding:8px 14px;gap:10px}
  .marca img{height:34px}
  .topo-cupom{padding:3px 3px 3px 10px;gap:6px}
  .topo-cupom-validade{display:none}
  .topo-cupom-codigo{font-size:14px;padding:6px 8px}
  .btn-topo-copiar{padding:9px 12px;font-size:13px}
  html:not([data-campanha="encerrada"]) .topo .btn-topo{display:none}
}
@media (max-width:430px){ .topo-cupom-palavra{display:none} }
@media (max-width:360px){ .topo-cupom-rotulo{display:none} .marca img{height:30px} .topo-in{padding:8px 10px;gap:8px} }
@media (max-width:360px){
  .hero{padding-left:14px;padding-right:14px}
  .oferta{padding:14px}
  .contador.compacto span{padding:5px 4px;gap:2px}
  .contador.compacto b{font-size:16px}
  .contador.compacto small{font-size:10px}
  .cupom-codigo{font-size:19px;letter-spacing:.06em}
  .secao{padding-left:14px;padding-right:14px}
}
@media (max-width:420px){ .centro .contador span{flex:1 1 0;min-width:0} .contador b{font-size:20px} }
