.grade { display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.lista-check { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.lista-check li { padding-left: 28px; position: relative; }
.lista-check li::before { content: "✦"; position: absolute; left: 4px; color: var(--rosa); }
.lista-check { gap: 10px; }
#orcamento .cartao { padding: clamp(26px, 5vw, 54px); }
#orcamento .cartao > p { max-width: 62ch; }
.estrelas { color: var(--estrela); letter-spacing: .14em; font-size: 1.05rem; }
.perfis { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.perfis li { display: grid; justify-items: center; text-align: center; gap: 8px; background: var(--fundo-lilas); border-radius: 24px; padding: 30px 24px; }
.perfis img { width: 96px; height: 96px; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(69, 40, 95, .18)); margin-bottom: 6px; }
.perfis b { font-family: var(--f-titulo); font-weight: 600; font-size: 1.25rem; }
.perfis span { color: var(--tinta-suave); line-height: 1.5; }
.aprende-grade { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(36px, 7vw, 100px); align-items: center; }
.aprende-titulo { margin: 10px 0 26px; max-width: 18ch; }
.nota-equip { margin: 18px 0 0; color: var(--tinta-suave); font-size: .92rem; }
.aprende-celular { width: min(100%, 300px, calc((100svh - 150px) * .75 + 20px)); }
.aprende-celular video { aspect-ratio: 3 / 4; }
.depo-video-grade { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; max-width: 980px; margin: 0 auto 54px; }
.depo-video { position: relative; margin: 0; }
.depo-video-tela { position: relative; }
.depo-video video { display: block; width: 100%; height: auto; aspect-ratio: 402 / 720; object-fit: cover; border-radius: 26px; background: #2c1a3d; border: 6px solid var(--branco); box-shadow: 0 24px 50px rgba(69, 40, 95, .22); }
.som-botao { position: absolute; bottom: 22px; left: 50%; translate: -50% 0; display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border: 0; border-radius: 99px; cursor: pointer;
  background: var(--rosa); color: var(--branco); font: 600 .95rem/1 var(--f-titulo); white-space: nowrap; box-shadow: 0 4px 0 var(--rosa-sombra), 0 10px 24px rgba(69, 40, 95, .3); }
.som-botao svg { width: 20px; height: 20px; }
.som-botao[aria-pressed="true"] { background: var(--tinta); box-shadow: 0 4px 0 #2a1840; }
.depo-video figcaption { margin-top: 12px; text-align: center; }
.depo-video figcaption b { display: block; font-family: var(--f-titulo); font-weight: 600; font-size: 1.15rem; color: var(--tinta); }
.depo-video figcaption span { color: var(--tinta-suave); font-size: .92rem; }
.depo-citacao { margin: 14px 0 22px; font-family: var(--f-titulo); font-weight: 600; font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.2; color: var(--tinta); }
.depo-trechos { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.depo-trechos li { background: var(--branco); border-radius: 18px; padding: 14px 18px; box-shadow: 0 8px 22px rgba(69, 40, 95, .07); border-left: 5px solid var(--rosa-medio); }
.depo-trechos b { display: block; font-family: var(--f-titulo); font-weight: 600; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; color: var(--rosa); }
.depo-trechos span { display: block; margin-top: 2px; line-height: 1.45; }
.alunos-fotos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: 820px; margin: 0 auto 50px; }
.alunos-fotos figure { margin: 0; }
.alunos-fotos figcaption { margin-top: 10px; text-align: center; font-family: var(--f-titulo); font-weight: 600; color: var(--tinta-suave); }
.mensagens { columns: 3 260px; column-gap: 18px; max-width: 1040px; margin: 0 auto; }
.msg { position: relative; break-inside: avoid; margin: 0 0 22px 8px; padding: 16px 18px 12px; background: var(--branco); border-radius: 18px 18px 18px 4px; box-shadow: 0 10px 26px rgba(69, 40, 95, .09); }
.msg::before { content: ""; position: absolute; left: -8px; bottom: 0; border-right: 10px solid var(--branco); border-top: 12px solid transparent; }
.msg blockquote { margin: 0; font-size: 1.02rem; line-height: 1.5; color: var(--tinta); }
.msg figcaption { margin-top: 8px; font-size: .82rem; color: var(--tinta-suave); text-align: right; }
.msg--insta { border-top: 4px solid var(--lilas); }
@media (max-width: 760px) {
  .depo-video-grade { grid-template-columns: 1fr; justify-items: center; }
  .depo-video { width: min(78%, 280px); }
}
.alunos-fotos img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 6px solid var(--branco); box-shadow: 0 14px 30px rgba(69, 40, 95, .14); display: block; }
.professora-grade { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(30px, 6vw, 80px); align-items: center; }
.professora-foto { position: relative; margin: 0; justify-self: center; width: min(100%, 360px); }
.professora-foto .circulo { width: 100%; border: 8px solid var(--branco); box-shadow: 0 20px 44px rgba(69, 40, 95, .16); }
.professora-selo { position: absolute; right: -10px; bottom: -6px; width: 34%; transform: rotate(8deg); filter: drop-shadow(0 8px 14px rgba(69, 40, 95, .2)); border-radius: 10px; }
.professora h2 { font-size: clamp(2.2rem, 4.4vw, 3.3rem); margin: 8px 0 14px; }
.professora p { color: var(--tinta-suave); font-size: 1.08rem; max-width: 52ch; }
.professora .lista-check { margin-top: 18px; }
.oferta-grade { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(30px, 6vw, 70px); align-items: center; }
.oferta-lista h2 { margin: 10px 0 24px; max-width: 18ch; }
.recebe { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.recebe li { display: grid; gap: 2px; padding: 12px 16px 12px 50px; background: var(--branco); border-radius: 14px; position: relative; }
.recebe li::before { content: "✓"; position: absolute; left: 14px; top: 13px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center;
  background: var(--rosa); color: var(--branco); font-weight: 800; font-size: .8rem; }
.recebe b { font-family: var(--f-titulo); font-weight: 600; font-size: 1.05rem; }
.recebe span { color: var(--tinta-suave); font-size: .92rem; }
.oferta-cartao { position: relative; display: grid; justify-items: center; text-align: center; gap: 10px; padding: 46px 30px 30px; border: 2px solid var(--rosa);
  box-shadow: 0 26px 60px rgba(214, 0, 143, .16); border-radius: 26px; background: var(--branco); overflow: visible; }
.oferta-selo { position: absolute; top: -46px; width: 92px; transform: rotate(-6deg); border-radius: 10px; filter: drop-shadow(0 8px 14px rgba(69, 40, 95, .2)); }
.oferta-preco { font-family: var(--f-titulo); font-weight: 700; color: var(--rosa); font-size: clamp(2.6rem, 5vw, 3.4rem); line-height: 1; margin-top: 6px; }
.oferta-forma { margin: 0; color: var(--tinta-suave); }
.oferta-cartao .botao--grande { width: 100%; margin-top: 8px; }
.oferta-garantias { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; text-align: left; width: 100%; }
.oferta-garantias li { position: relative; padding-left: 26px; color: var(--tinta-suave); font-size: .9rem; line-height: 1.4; }
.oferta-garantias li::before { content: "✦"; position: absolute; left: 4px; color: var(--rosa); }
@media (max-width: 860px) {
  .perfis, .alunos-fotos { grid-template-columns: 1fr; }
  .alunos-fotos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .aprende-grade, .professora-grade, .oferta-grade { grid-template-columns: 1fr; }
  .aprende-celular { width: min(70%, 280px); justify-self: center; }
  .oferta-cartao { margin-top: 40px; }
}
@media (min-width: 861px) {
  .oferta-grade { align-items: start; }
  .oferta-cartao { position: sticky; top: 120px; margin-top: 70px; }
}
@media (max-width: 860px) {
  .perfis li { grid-template-columns: 64px minmax(0, 1fr); justify-items: start; text-align: left; column-gap: 16px; row-gap: 2px; padding: 18px; }
  .perfis img { grid-row: 1 / 3; width: 64px; height: 64px; margin: 0; align-self: center; }
  .perfis b { font-size: 1.1rem; }
  .perfis span { font-size: .93rem; }
}
.resultados .acoes-finais { margin-top: 34px; }
.negocio-grade { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.negocio-grade li { grid-column: span 2; display: grid; gap: 6px; align-content: start; background: var(--branco); border: 1px solid var(--linha); border-radius: 22px; padding: 24px; box-shadow: 0 10px 26px rgba(69, 40, 95, .06); }
.negocio-grade li:nth-child(4) { grid-column: 2 / span 2; }
.negocio-icone { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--fundo-lilas); font-size: 1.5rem; margin-bottom: 6px; }
.negocio-grade b { font-family: var(--f-titulo); font-weight: 600; font-size: 1.15rem; }
.negocio-grade span:last-child { color: var(--tinta-suave); font-size: .95rem; line-height: 1.45; }
.professora-video { position: relative; margin: 0; justify-self: center; width: min(100%, 320px); }
.professora-video video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: cover; border-radius: 26px; background: #2c1a3d; box-shadow: 0 24px 50px rgba(69, 40, 95, .22); border: 6px solid var(--branco); }
.professora-video figcaption { margin-top: 12px; text-align: center; font-family: var(--f-titulo); font-weight: 600; color: var(--rosa); }
.professora-video .professora-selo { right: -34px; bottom: 30px; width: 40%; }
@media (max-width: 860px) {
  .negocio-grade { grid-template-columns: 1fr; }
  .negocio-grade li, .negocio-grade li:nth-child(4) { grid-column: auto; }
  .professora-video { width: min(80%, 300px); }
  .professora-video .professora-selo { right: -18px; }
}
.negocio-icone { color: var(--rosa); }
.negocio-icone svg { width: 26px; height: 26px; }
.professora-video video { aspect-ratio: 3 / 4; object-position: center 70%; }
.professora-video { width: min(100%, 340px); }
.professora-video video { height: auto; }
.professora-video .professora-selo { top: -22px; bottom: auto; right: -30px; width: 36%; }
.play-grande { position: absolute; left: 50%; top: calc(50% - 20px); width: 76px; height: 76px; margin: -38px 0 0 -38px; border: 0; border-radius: 50%; cursor: pointer;
  background: var(--rosa); box-shadow: 0 0 0 8px rgba(255, 255, 255, .55), 0 12px 30px rgba(135, 0, 88, .35); display: grid; place-items: center; animation: pulso-play 2.4s ease-out infinite; }
.play-grande span { width: 0; height: 0; margin-left: 6px; border-left: 24px solid #fff; border-top: 15px solid transparent; border-bottom: 15px solid transparent; }
.play-grande[hidden] { display: none; }
@keyframes pulso-play { 0% { box-shadow: 0 0 0 0 rgba(214, 0, 143, .45), 0 12px 30px rgba(135, 0, 88, .35); } 70%, 100% { box-shadow: 0 0 0 18px rgba(214, 0, 143, 0), 0 12px 30px rgba(135, 0, 88, .35); } }
@media (prefers-reduced-motion: reduce) { .play-grande { animation: none; } }
@media (max-width: 860px) { .professora-video .professora-selo { right: -14px; } }
@media (max-width: 860px) {
  .negocio-grade li { grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; padding: 16px 18px; }
  .negocio-icone { grid-row: 1 / 3; width: 44px; height: 44px; margin: 0; }
  .negocio-grade b { font-size: 1.05rem; align-self: end; }
  .negocio-grade span:last-child { font-size: .9rem; }
}
.atalho-video { display: inline-flex; align-items: center; gap: 12px; margin-top: 22px; padding: 6px 16px 6px 6px; border-radius: 99px; background: var(--branco);
  text-decoration: none; color: var(--tinta-suave); box-shadow: 0 6px 18px rgba(69, 40, 95, .1); border: 1px solid var(--linha); transition: transform .15s ease; }
.atalho-video:hover { transform: translateY(-2px); }
.atalho-video img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: center 60%; }
.atalho-video b { color: var(--rosa); }
.topo-video .atalho-video { order: 6; }
.marca--academy img { height: 70px; filter: drop-shadow(0 3px 6px rgba(69, 40, 95, .18)); }
.marca--academy .marca-nome { display: inline; margin-left: 10px; color: #8a5cc8; }
@media (max-width: 760px) { .marca--academy img { height: 50px; } .marca--academy .marca-nome { font-size: .85rem; margin-left: 8px; } }
.selo-brasao {
  position: absolute; right: calc(-.45 * clamp(32px, 6vw, 90px)); top: 9%; width: clamp(120px, 11.5vw, 180px); height: auto; z-index: 2; pointer-events: none;
  transform: rotate(-9deg); filter: drop-shadow(0 10px 16px rgba(69, 40, 95, .3));
  animation: brasao-flutua 5s ease-in-out infinite;
}
@keyframes brasao-flutua { 0%, 100% { transform: rotate(-9deg) translateY(0); } 50% { transform: rotate(-5deg) translateY(-8px); } }
@media (min-width: 1280px) { .selo-brasao { top: 15%; width: 168px; right: calc(-.8 * clamp(32px, 6vw, 90px)); } }
@media (min-width: 761px) and (max-width: 900px) { .selo-brasao { width: 104px; right: 0; } }
@media (max-width: 760px) { .selo-brasao { width: 84px; top: 62px; right: 4px; } }
@media (prefers-reduced-motion: reduce) { .selo-brasao { animation: none; } }
.professora-selo, .oferta-selo { border-radius: 0; }
@media (max-width: 420px) { .professora-video .professora-selo { right: -4px; } }
.oferta-selo { width: 110px; top: -64px; }

.oferta-paga { margin: 4px 0 0; padding: 10px 14px; border-radius: 12px; background: rgba(214, 0, 143, .08); border: 1px dashed rgba(214, 0, 143, .35); color: var(--tinta); font-size: .95rem; line-height: 1.4; }
.oferta-paga b { display: block; color: var(--rosa); font-family: var(--f-titulo); font-size: 1.05rem; }

.conta { position: relative; overflow: hidden; isolation: isolate; color: var(--branco); padding-block: clamp(80px, 10vw, 130px);
  background: radial-gradient(120% 70% at 85% 0%, rgba(244, 98, 200, .35), transparent 60%), radial-gradient(90% 60% at 0% 100%, rgba(8, 152, 224, .28), transparent 60%), linear-gradient(170deg, #241237, var(--tinta) 55%, #5a2a73); }
.conta > .container { position: relative; z-index: 1; }
.conta .titulo-secao h2 { color: var(--branco); font-size: clamp(2.2rem, 6vw, 4rem); }
.conta .titulo-secao h2 .palavra:nth-last-child(-n+2) { color: var(--estrela); }
.conta .titulo-secao p { color: rgba(255, 255, 255, .78); }
.conta .sobretitulo { color: var(--rosa-claro); }
.conta-ceu { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.conta-ceu .c1 { --t: 120px; left: 3%; top: 8%; rotate: -12deg; }
.conta-ceu .c2 { --t: 110px; right: 4%; top: 46%; rotate: 9deg; }
.conta-ceu .c3 { --t: 96px; left: 6%; bottom: 6%; rotate: 6deg; }
.estrelinha { position: absolute; width: var(--s, 3px); height: var(--s, 3px); border-radius: 50%; background: #fff; box-shadow: 0 0 8px 2px rgba(255, 246, 217, .8);
  animation: piscar var(--d, 3s) ease-in-out var(--a, 0s) infinite; }
.moeda { position: absolute; bottom: -40px; font-family: var(--f-titulo); font-weight: 700; color: var(--estrela); font-size: var(--s, 18px); opacity: 0;
  text-shadow: 0 0 12px rgba(248, 200, 96, .8); animation: subir var(--d, 9s) linear var(--a, 0s) infinite; }
@keyframes piscar { 0%, 100% { opacity: .15; transform: scale(.6); } 50% { opacity: 1; transform: scale(1.2); } }
@keyframes subir { 0% { opacity: 0; transform: translateY(0) rotate(0); } 12% { opacity: .9; } 85% { opacity: .6; } 100% { opacity: 0; transform: translateY(-115vh) rotate(var(--g, 30deg)); } }

.conta-grade { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); grid-template-areas: "placar foto" "sim foto"; grid-template-rows: auto 1fr; gap: 22px clamp(28px, 5vw, 60px); align-items: start; margin-top: 10px; }
.conta-placar { grid-area: placar; }
.conta-foto { grid-area: foto; }
.conta-simulador { grid-area: sim; align-self: start; }
.conta-placar, .conta-simulador { position: relative; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .16); border-radius: 26px; padding: clamp(20px, 3vw, 30px);
  backdrop-filter: blur(6px); box-shadow: 0 20px 50px rgba(15, 5, 30, .35), inset 0 1px 0 rgba(255, 255, 255, .12); }
.placar-linha { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 6px 14px; }
.placar-linha + .placar-linha { margin-top: 22px; }
.placar-rotulo { display: grid; font-family: var(--f-titulo); font-weight: 600; font-size: 1.1rem; line-height: 1.2; }
.placar-rotulo small { font-family: var(--f-texto); font-weight: 400; font-size: .85rem; color: rgba(255, 255, 255, .65); }
.placar-valor { font-family: var(--f-titulo); font-weight: 700; font-size: clamp(1.6rem, 4vw, 2.3rem); line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.placar-curso .placar-valor { color: var(--branco); }
.placar-festa .placar-valor { color: var(--estrela); text-shadow: 0 0 22px rgba(248, 200, 96, .55); }
.placar-barra { grid-column: 1 / -1; display: block; height: 14px; border-radius: 99px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.placar-barra span { display: block; height: 100%; width: var(--cheio); border-radius: inherit; transition: width 1.6s cubic-bezier(.2, .8, .2, 1); }
.placar-curso .placar-barra span { --cheio: 88%; background: linear-gradient(90deg, var(--lilas), #d6b4f7); }
.placar-festa .placar-barra span { --cheio: 100%; transition-delay: .5s; background: linear-gradient(90deg, var(--rosa-medio), var(--estrela), var(--rosa-medio)); background-size: 200% 100%; animation: brilho-barra 2.4s linear infinite; }
@keyframes brilho-barra { to { background-position: -200% 0; } }
.placar-fim { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 24px; }
.placar-fim p { margin: 0; font-size: 1.05rem; color: rgba(255, 255, 255, .85); }
.placar-fim p { flex: 1 1 240px; line-height: 1.4; }
.placar-fim b { font-family: var(--f-titulo); color: var(--estrela); font-weight: 600; }
.carimbo { display: inline-block; font-family: var(--f-titulo); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 1.15rem; color: var(--estrela);
  border: 3px solid var(--estrela); border-radius: 12px; padding: 6px 14px; transform: rotate(-8deg); box-shadow: 0 0 24px rgba(248, 200, 96, .45), inset 0 0 12px rgba(248, 200, 96, .25); }
.brilhos { position: absolute; inset: 0; pointer-events: none; }
.faisca { position: absolute; left: var(--x); top: var(--y); width: 10px; height: 10px; color: var(--c, var(--estrela)); animation: faisca .9s cubic-bezier(.2, .8, .3, 1) forwards; }
.faisca::before { content: "✦"; position: absolute; inset: -6px; font-size: 18px; line-height: 1; }
@keyframes faisca { 0% { transform: translate(0, 0) scale(.3); opacity: 1; } 100% { transform: translate(var(--dx), var(--dy)) scale(1.1) rotate(160deg); opacity: 0; } }

.placar-anima .placar-barra span { width: 0; }
.placar-anima .placar-fim { opacity: 0; }
.placar-anima.cheio .placar-barra span { width: var(--cheio); }
.placar-anima.pago .placar-fim { opacity: 1; transition: opacity .3s; }
.placar-anima.pago .carimbo { animation: carimbar .6s cubic-bezier(.3, 1.6, .5, 1) both; }
@keyframes carimbar { 0% { transform: rotate(-8deg) scale(3); opacity: 0; } 100% { transform: rotate(-8deg) scale(1); opacity: 1; } }

.conta-foto { margin: 0; position: sticky; top: 110px; }
.conta-moldura { position: relative; border-radius: 28px; padding: 6px; background: linear-gradient(140deg, var(--rosa-medio), var(--estrela), var(--ceu-claro), var(--lilas), var(--rosa-medio)); background-size: 300% 300%;
  animation: moldura-gira 8s ease-in-out infinite; box-shadow: 0 0 60px rgba(244, 98, 200, .35); }
.conta-moldura img { display: block; width: 100%; height: auto; border-radius: 22px; }
@keyframes moldura-gira { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.etiqueta-voa { position: absolute; display: grid; font-family: var(--f-titulo); font-weight: 600; color: var(--tinta); background: var(--branco); border-radius: 16px; padding: 8px 14px; line-height: 1.15;
  box-shadow: 0 12px 28px rgba(15, 5, 30, .35); animation: etiqueta-flutua 4.5s ease-in-out infinite; }
.etiqueta-voa b { font-size: 1.5rem; color: var(--rosa); }
.etiqueta-voa.e1 { left: -18px; top: 14%; rotate: -6deg; }
.etiqueta-voa.e2 { right: -14px; bottom: 12%; rotate: 5deg; animation-delay: -2.2s; font-size: .95rem; }
@keyframes etiqueta-flutua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.conta-foto figcaption { margin-top: 12px; font-size: .9rem; color: rgba(255, 255, 255, .75); text-align: center; }

.sim-pergunta { display: block; font-family: var(--f-titulo); font-weight: 600; font-size: 1.2rem; line-height: 1.3; }
.sim-pergunta output { display: inline-grid; place-items: center; min-width: 1.8em; padding: 0 .25em; border-radius: 10px; background: var(--rosa); color: var(--branco); font-weight: 700; }
#sim-festas { -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 40px; margin: 14px 0 0; background: transparent; cursor: grab; touch-action: none; }
#sim-festas:active { cursor: grabbing; }
#sim-festas:focus { outline: none; }
#sim-festas::-webkit-slider-runnable-track { height: 12px; border-radius: 99px; background: linear-gradient(90deg, var(--rosa-medio), var(--estrela) var(--p, 33%), rgba(255, 255, 255, .16) var(--p, 33%)); }
#sim-festas::-moz-range-track { height: 12px; border-radius: 99px; background: rgba(255, 255, 255, .16); }
#sim-festas::-moz-range-progress { height: 12px; border-radius: 99px; background: linear-gradient(90deg, var(--rosa-medio), var(--estrela)); }
#sim-festas::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 34px; height: 34px; margin-top: -11px; border-radius: 50%; background: var(--estrela); border: 4px solid var(--branco);
  box-shadow: 0 0 0 7px rgba(248, 200, 96, .25), 0 6px 14px rgba(15, 5, 30, .45); transition: transform .15s ease; }
#sim-festas::-moz-range-thumb { width: 26px; height: 26px; border-radius: 50%; background: var(--estrela); border: 4px solid var(--branco); box-shadow: 0 0 0 7px rgba(248, 200, 96, .25), 0 6px 14px rgba(15, 5, 30, .45); }
#sim-festas:active::-webkit-slider-thumb { transform: scale(1.12); }
#sim-festas:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px var(--rosa-medio), 0 6px 14px rgba(15, 5, 30, .45); }
#sim-festas:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 4px var(--rosa-medio); }
.sim-marcas { display: flex; justify-content: space-between; margin: 2px 4px 10px; }
.sim-marcas button { width: 34px; height: 30px; padding: 0; border: 0; background: none; color: rgba(255, 255, 255, .7); font: 700 .95rem var(--f-titulo); cursor: pointer; border-radius: 8px; }
.sim-marcas button:hover { color: var(--branco); background: rgba(255, 255, 255, .08); }
.sim-nuvens { display: flex; flex-wrap: wrap; gap: 6px; min-height: 34px; }
.sim-nuvem { width: 34px; height: 22px; background: url("../img/nuvem-algodao.svg") center / contain no-repeat; filter: drop-shadow(0 0 6px rgba(255, 255, 255, .6)); animation: nuvem-pop .5s cubic-bezier(.3, 1.6, .5, 1) both; }
@keyframes nuvem-pop { from { transform: scale(0) translateY(10px); opacity: 0; } to { transform: none; opacity: 1; } }
.sim-resultado { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 16px 0 0; }
.sim-resultado > div { background: rgba(255, 255, 255, .08); border-radius: 16px; padding: 12px; text-align: center; min-width: 0; }
.sim-resultado dt { font-size: .8rem; color: rgba(255, 255, 255, .7); }
.sim-resultado dd { margin: 4px 0 0; font-family: var(--f-titulo); font-weight: 700; font-size: clamp(1.05rem, 2.4vw, 1.35rem); white-space: nowrap; font-variant-numeric: tabular-nums; }
.sim-resultado .sim-grande { background: linear-gradient(150deg, var(--rosa), #8f005f); box-shadow: 0 0 30px rgba(214, 0, 143, .5); }
.sim-resultado .sim-grande dd { color: var(--estrela); }
.sim-resultado dd.mudou { animation: pulo-numero .45s ease; }
@keyframes pulo-numero { 40% { transform: scale(1.15); } }
.sim-nota { margin: 14px 0 0; font-size: .8rem; color: rgba(255, 255, 255, .6); line-height: 1.4; }

.conta-salto { max-width: 760px; margin: clamp(30px, 5vw, 46px) auto 0; padding: 16px 20px; border-left: 4px solid var(--estrela); background: rgba(255, 255, 255, .08); border-radius: 0 16px 16px 0; color: rgba(255, 255, 255, .88); }
.conta-salto b { color: var(--estrela); }
.conta-provas { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px 26px; margin-top: 26px; }
.conta .link-texto { color: var(--branco); }
.conta-nota { margin: 18px auto 0; max-width: 640px; text-align: center; font-size: .8rem; color: rgba(255, 255, 255, .55); }
.oferta-paga a, .selos-confianca a { color: inherit; }

@media (max-width: 900px) {
  .conta-grade { grid-template-columns: 1fr; grid-template-areas: "placar" "foto" "sim"; }
  .conta-foto { position: relative; top: auto; max-width: 420px; margin-inline: auto; width: 88%; }
  .etiqueta-voa.e1 { left: -12px; } .etiqueta-voa.e2 { right: -10px; }
  .conta-ceu .flutuante { display: none; }
}
@media (max-width: 420px) {
  .sim-resultado { grid-template-columns: 1fr 1fr; }
  .sim-resultado .sim-grande { grid-column: 1 / -1; order: -1; }
  .sim-resultado .sim-grande dd { font-size: 1.8rem; }
}
@media (prefers-reduced-motion: reduce) {
  .estrelinha, .moeda, .conta-moldura, .etiqueta-voa, .placar-festa .placar-barra span, .sim-nuvem, .faisca { animation: none !important; }
  .moeda, .faisca { display: none; }
}

.topo-video .acoes { flex-wrap: wrap; gap: 14px 18px; }
.topo-gancho { display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; border-radius: 18px; background: var(--branco);
  border: 2px solid var(--rosa-claro); box-shadow: 0 10px 24px rgba(214, 0, 143, .12); color: var(--tinta-suave); text-decoration: none; font-size: .88rem; line-height: 1.3;
  position: relative; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.topo-gancho:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(214, 0, 143, .2); }
.topo-gancho b { display: block; font-family: var(--f-titulo); font-weight: 700; font-size: 1.02rem; color: var(--rosa); }
.gancho-icone { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--estrela); color: var(--tinta); font-size: 1.05rem; }
.topo-gancho::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, .75) 50%, transparent 60%);
  transform: translateX(-100%); animation: gancho-brilho 4.5s ease-in-out 1.5s infinite; pointer-events: none; }
@keyframes gancho-brilho { 0% { transform: translateX(-100%); } 30%, 100% { transform: translateX(100%); } }
.topo-video .acoes .link-texto { flex-basis: 100%; width: max-content; }
@media (max-width: 760px) {
  .pagina-curso .topo-video h1 { margin: 8px 0 16px; }
  .pagina-curso .topo-video .acoes { order: 3; margin: 0 0 28px; justify-items: stretch; gap: 14px; }
  .pagina-curso .topo-gancho { order: -1; flex: 1 1 100%; font-size: .92rem; padding: 10px 14px 10px 10px; }
  .pagina-curso .topo-gancho b { font-size: 1.08rem; }
  .pagina-curso .topo-video .acoes .botao { flex: 1 1 100%; justify-content: center; text-align: center; }
  .pagina-curso .topo-video .acoes .link-texto { justify-self: center; margin-inline: auto; }
  .pagina-curso .topo-video-tela { order: 4; }
  .pagina-curso .topo-video .lead { order: 5; }
  .pagina-curso .topo-video .atalho-video { order: 6; }
  .pagina-curso .topo-video .selos-confianca { order: 7; }
}
@media (prefers-reduced-motion: reduce) { .topo-gancho::after { animation: none; display: none; } }

.plataforma { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 44px); align-items: center; margin-top: 10px; }
.plataforma-janela { margin: 0; border-radius: 18px; overflow: hidden; background: #111; box-shadow: 0 30px 70px rgba(45, 20, 70, .35), 0 0 0 1px rgba(69, 40, 95, .12);
  transform: perspective(1400px) rotateY(-9deg) rotateX(4deg) scale(.96); transition: transform 1.1s cubic-bezier(.2, .8, .2, 1); }
.plataforma-janela.visivel, .plataforma-janela:hover { transform: none; }
.janela-barra { display: flex; align-items: center; gap: 7px; padding: 10px 14px; background: #232323; }
.janela-barra i { width: 11px; height: 11px; border-radius: 50%; background: #ff5f57; }
.janela-barra i:nth-child(2) { background: #febc2e; }
.janela-barra i:nth-child(3) { background: #28c840; }
.janela-barra span { margin-left: 10px; flex: 1; min-width: 0; padding: 4px 12px; border-radius: 8px; background: #1a1a1a; color: #b9b9b9; font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.plataforma-janela img { display: block; width: 100%; height: auto; }
.plataforma-janela figcaption { padding: 9px 14px; background: #161616; color: #a9a9a9; font-size: .8rem; }
.plataforma-selos { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.plataforma-selos li { position: relative; display: grid; gap: 2px; padding: 16px 18px 16px 58px; background: var(--branco); border-radius: 18px; box-shadow: 0 10px 26px rgba(69, 40, 95, .08); }
.plataforma-selos li::before { content: "✓"; position: absolute; left: 16px; top: 50%; translate: 0 -50%; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  background: var(--rosa); color: var(--branco); font-weight: 800; }
.plataforma-selos b { font-family: var(--f-titulo); font-weight: 600; font-size: 1.08rem; color: var(--tinta); }
.plataforma-selos span { color: var(--tinta-suave); font-size: .92rem; line-height: 1.4; }

.curso-numeros { list-style: none; margin: clamp(36px, 6vw, 60px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.curso-numeros li { display: grid; justify-items: center; text-align: center; gap: 4px; padding: 20px 12px; border-radius: 20px; background: linear-gradient(160deg, var(--tinta), #5a2a73); color: var(--branco);
  box-shadow: 0 16px 34px rgba(69, 40, 95, .25); }
.curso-numeros b { font-family: var(--f-titulo); font-weight: 700; font-size: clamp(2rem, 5vw, 3rem); line-height: 1; color: var(--estrela); white-space: nowrap; }
.curso-numeros span { font-size: .92rem; color: rgba(255, 255, 255, .82); }
.curso-numeros b span { font-size: inherit; color: inherit; }

.cenas-titulo { margin: clamp(44px, 7vw, 70px) 0 18px; font-size: clamp(1.4rem, 3vw, 1.9rem); text-align: center; }
.cenas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.cena { position: relative; margin: 0; border-radius: 18px; overflow: hidden; background: var(--branco); box-shadow: 0 12px 28px rgba(69, 40, 95, .12); transition: transform .35s ease, box-shadow .35s ease; }
.cena:hover { transform: translateY(-4px) rotate(-.6deg); box-shadow: 0 20px 40px rgba(69, 40, 95, .2); }
.cena video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; background: var(--tinta); }
.cena figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 10px 14px; }
.cena figcaption b { font-family: var(--f-titulo); font-weight: 600; color: var(--tinta); }
.cena figcaption span { font-size: .82rem; font-weight: 700; color: var(--rosa); white-space: nowrap; }

.grade-modulos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; counter-reset: modulo; }
.grade-modulos li { counter-increment: modulo; position: relative; padding: 16px 18px 16px 62px; background: var(--branco); border: 1px solid var(--linha); border-radius: 18px; }
.grade-modulos li::before { content: counter(modulo, decimal-leading-zero); position: absolute; left: 16px; top: 16px; font-family: var(--f-titulo); font-weight: 700; font-size: 1.4rem; color: var(--rosa-claro); }
.gm-topo { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; }
.gm-topo b { font-family: var(--f-titulo); font-weight: 600; font-size: 1.08rem; color: var(--tinta); }
.gm-topo b em { font-style: normal; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--tinta); background: var(--estrela); border-radius: 99px; padding: 2px 8px; margin-left: 6px; vertical-align: 2px; }
.gm-topo span { font-size: .85rem; font-weight: 700; color: var(--rosa); white-space: nowrap; }
.gm-barra { display: block; height: 6px; margin: 10px 0 8px; border-radius: 99px; background: var(--fundo-lilas); overflow: hidden; position: relative; }
.gm-barra::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w, 100%); border-radius: inherit; background: linear-gradient(90deg, var(--rosa-medio), var(--rosa)); transition: width 1.2s cubic-bezier(.2, .8, .2, 1) .2s; }
.grade-modulos.barras-vazias .gm-barra::after { width: 0; }
.grade-modulos p { margin: 8px 0 0; color: var(--tinta-suave); font-size: .9rem; line-height: 1.5; }
.grade-extras { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.grade-extras li { background: var(--branco); border-radius: 99px; padding: 9px 16px; color: var(--tinta-suave); font-size: .9rem; box-shadow: 0 6px 16px rgba(69, 40, 95, .06); }
.grade-extras b { color: var(--tinta); }
.grade-extras span { color: var(--rosa); font-weight: 700; margin-left: 4px; }

@media (max-width: 900px) {
  .plataforma { grid-template-columns: 1fr; }
  .plataforma-janela { transform: none; }
  .curso-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cenas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grade-modulos { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .cena figcaption { display: grid; gap: 0; padding: 8px 10px; }
  .cena figcaption b { font-size: .92rem; }
}
@media (prefers-reduced-motion: reduce) {
  .plataforma-janela { transform: none; transition: none; }
  .gm-barra::after { transition: none; }
}

.aula-cartao { display: grid; justify-items: start; gap: 6px; margin-top: 28px; padding: 20px 22px; border-radius: 20px; background: var(--branco);
  border: 2px dashed var(--rosa-claro); max-width: 380px; }
.aula-cartao b { font-family: var(--f-titulo); font-weight: 700; font-size: 1.25rem; color: var(--tinta); }
.aula-cartao p { margin: 0; color: var(--tinta-suave); font-size: .95rem; line-height: 1.45; }
.aula-cartao .link-texto { margin-top: 6px; }

.final-preco { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 10px; margin: 22px 0 4px; color: rgba(255, 255, 255, .8); font-size: 1.05rem; }
.final-preco b { font-family: var(--f-titulo); font-weight: 700; font-size: clamp(2.2rem, 6vw, 3.2rem); line-height: 1; color: var(--estrela); text-shadow: 0 0 24px rgba(248, 200, 96, .45); }
.chamada-final .acoes .botao--grande { width: auto; min-width: min(100%, 380px); }
.final-garantias { list-style: none; margin: 22px auto 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; }
.final-garantias li { color: rgba(255, 255, 255, .82); font-size: .95rem; }
.final-garantias li::before { content: "✦ "; color: var(--estrela); }
.chamada-final .final-mentoria { margin: 26px auto 0; max-width: none; text-align: center; font-size: .92rem; color: rgba(255, 255, 255, .6); }
.final-mentoria a { color: var(--rosa-claro); }
@media (max-width: 760px) { .chamada-final .noite-flutuantes { display: none; } }
