/* Pirilampo — escola online de tecnologia e dados (projeto conceito VEXA) */

@font-face{font-family:"Sora";src:url(../fonts/sora.woff2) format("woff2");font-weight:300 800;font-display:swap}
@font-face{font-family:"Figtree";src:url(../fonts/figtree.woff2) format("woff2");font-weight:300 800;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(../fonts/plex-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --papel:#E9EEF6;
  --papel-2:#F5F7FB;
  --branco:#FFFFFF;
  --tinta:#0F1426;
  --suave:#4A5470;
  --linha:rgba(15,20,38,.1);
  --anil:#7B2FF7;
  --anil-esc:#5A17CF;
  --anil-claro:#B79BFF;
  --ambar:#FFB21E;
  --ambar-claro:#FFD36B;
  --menta:#00A896;
  --rosa:#FF5C8A;
  --noite:#140D33;
  --noite-2:#1E1647;
  --f-tit:"Sora",system-ui,sans-serif;
  --f-txt:"Figtree",system-ui,sans-serif;
  --f-mono:"Plex Mono",ui-monospace,monospace;
  --raio:22px;
  --sombra:0 1px 0 rgba(255,255,255,.8) inset,0 24px 60px -24px rgba(31,26,84,.28),0 4px 14px -6px rgba(31,26,84,.12);
  --mola:cubic-bezier(.2,.9,.25,1.15);
  --suave-out:cubic-bezier(.16,1,.3,1);
  --faixa:34px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 17px/1.6 var(--f-txt);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
:focus-visible{outline:3px solid var(--anil);outline-offset:3px;border-radius:8px}
::selection{background:var(--ambar);color:var(--tinta)}
h1,h2,h3{font-family:var(--f-tit);margin:0;letter-spacing:-.03em;line-height:1.05}
p{margin:0}

/* ---------- Faixa VEXA ---------- */
.vexa-faixa{position:fixed;inset:0 0 auto;z-index:90;height:var(--faixa);display:flex;align-items:center;justify-content:center;gap:14px;
  padding:0 14px;background:rgba(15,20,38,.92);color:#E9EEF6;font-size:12.5px;letter-spacing:.01em;white-space:nowrap}
.vexa-faixa strong{color:var(--ambar-claro);font-weight:700}
.vexa-faixa a{color:#fff;text-decoration:none;opacity:.85;border-bottom:1px solid rgba(255,255,255,.35)}
.vexa-faixa a:hover{opacity:1}
@media (max-width:420px){.vexa-faixa{font-size:11.5px;gap:10px}}

/* ---------- Cursor vaga-lume ---------- */
.cursor-luz{position:fixed;left:0;top:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;pointer-events:none;z-index:95;
  background:radial-gradient(circle,#FFF3C4 0 22%,var(--ambar) 40%,rgba(255,178,30,0) 72%);opacity:0;transition:opacity .3s,width .3s var(--mola),height .3s var(--mola),margin .3s var(--mola);will-change:transform}
.cursor-luz.on{opacity:1}
.cursor-luz.grande{width:46px;height:46px;margin:-23px 0 0 -23px;opacity:.55}
@media (hover:none),(pointer:coarse){.cursor-luz{display:none}}

/* ---------- Botões ---------- */
.btn{--mx:0px;--my:0px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;border:0;
  font:600 16px/1 var(--f-txt);text-decoration:none;transform:translate(var(--mx),var(--my));transition:transform .35s var(--suave-out),box-shadow .3s,background .3s;white-space:nowrap}
.btn svg{transition:transform .3s var(--suave-out)}
.btn:hover svg{transform:translateX(3px)}
.btn-sm{min-height:42px;padding:0 18px;font-size:14.5px}
.btn-tinta{background:var(--tinta);color:#fff}
.btn-anil{background:var(--anil);color:#fff;box-shadow:0 14px 30px -12px rgba(123,47,247,.7),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-anil:hover{background:var(--anil-esc)}
.btn-claro{background:var(--branco);color:var(--tinta);box-shadow:var(--sombra)}
.btn-ambar{background:var(--ambar);color:var(--tinta);box-shadow:0 14px 30px -12px rgba(255,178,30,.75),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-ambar:hover{background:var(--ambar-claro)}
.btn-play{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--anil);color:#fff}
.btn-claro:hover .btn-play svg{transform:none}

/* ---------- Nav ---------- */
.nav{position:fixed;z-index:80;top:calc(var(--faixa) + 12px);left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 24px));
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 8px 8px 16px;border-radius:999px;
  background:rgba(245,247,251,.78);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);
  border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 30px -18px rgba(31,26,84,.35);transition:transform .45s var(--suave-out)}
.nav.some{transform:translate(-50%,calc(-100% - 60px))}
.marca{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--tinta)}
.marca-ic{color:var(--tinta)}
.marca-ic .vaga-luz{animation:pulsa 2.4s ease-in-out infinite;transform-origin:32px 44px}
.marca-nome{font:700 21px/1 var(--f-tit);letter-spacing:-.04em}
.nav-links{display:none;gap:4px}
.nav-links a{padding:9px 14px;border-radius:999px;text-decoration:none;font-size:15px;font-weight:500;color:var(--suave);transition:background .25s,color .25s}
.nav-links a:hover{background:rgba(123,47,247,.08);color:var(--tinta)}
@media (min-width:960px){.nav-links{display:flex}}
@keyframes pulsa{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}

/* ---------- Comuns ---------- */
.secao{position:relative;padding:110px 20px}
.cab{max-width:1180px;margin:0 auto 48px}
.cab-linha{display:grid;gap:20px;align-items:end}
@media (min-width:900px){.cab-linha{grid-template-columns:1.7fr 1fr}}
.sobre{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;font:500 13px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--anil)}
.sobre::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ambar);box-shadow:0 0 0 4px rgba(255,178,30,.25)}
.sobre-claro{color:var(--ambar-claro)}
.h2{font-size:clamp(34px,5.4vw,62px);font-weight:600;max-width:16ch}
.cab-linha .h2{max-width:18ch}
.cinza{color:#7C86A2}
.cinza-c{color:#A79FD0}
.cab-p{margin-top:18px;max-width:52ch;color:var(--suave);font-size:18px}
.cab-linha .cab-p{margin-top:0}

/* revelar ao rolar */
.js .revela{opacity:0;transform:translateY(34px);transition:opacity .9s var(--suave-out),transform .9s var(--suave-out)}
.js .revela.visto{opacity:1;transform:none}

/* ---------- HERO ---------- */
.hero{position:relative;padding:calc(var(--faixa) + 120px) 20px 70px;overflow:hidden;
  background:radial-gradient(70% 60% at 85% 20%,rgba(183,155,255,.45),transparent 70%),radial-gradient(38% 40% at 0% 62%,rgba(255,211,107,.32),transparent 70%),var(--papel)}
.hero-grade{position:absolute;inset:0;background-image:linear-gradient(rgba(15,20,38,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(15,20,38,.05) 1px,transparent 1px);
  background-size:56px 56px;-webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(80% 70% at 50% 40%,#000 30%,transparent 80%)}
.hero-in{position:relative;max-width:1180px;margin:0 auto;display:grid;gap:56px;align-items:center}
@media (min-width:1000px){.hero-in{grid-template-columns:1.02fr 1fr;gap:40px}}
.selo{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(255,255,255,.75);
  box-shadow:0 6px 20px -10px rgba(31,26,84,.3);font-size:14px;font-weight:600;color:var(--suave)}
.selo-luz{width:10px;height:10px;border-radius:50%;background:var(--ambar);box-shadow:0 0 0 0 rgba(255,178,30,.6);animation:anel 2s infinite}
@keyframes anel{0%{box-shadow:0 0 0 0 rgba(255,178,30,.6)}100%{box-shadow:0 0 0 12px rgba(255,178,30,0)}}
.hero-t{margin:22px 0 20px;font-size:clamp(40px,5.9vw,74px);font-weight:650;letter-spacing:-.045em;line-height:1}
.hero-t .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.hero-t .w > span{display:inline-block}
.js .hero-t .w > span{transform:translateY(105%);transition:transform 1s var(--suave-out);transition-delay:calc(var(--i) * 70ms + 150ms)}
.js .pronto .hero-t .w > span{transform:none}
.marca-texto{font-style:normal;color:var(--anil);background:linear-gradient(var(--ambar-claro),var(--ambar-claro)) no-repeat 0 88%/0% .34em;
  transition:background-size 1.3s var(--suave-out) 1.1s}
.pronto .marca-texto{background-size:100% .34em}
html:not(.js) .marca-texto{background-size:100% .34em}
.hero-sub{max-width:50ch;color:var(--suave);font-size:clamp(17px,1.6vw,19px)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 40px}
.hero-meta{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 32px;margin:0;padding-top:24px;border-top:1px solid var(--linha)}
.hero-meta dt{font:500 11.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#6A7390;margin-bottom:8px}
.hero-meta dd{margin:0;font-weight:600;font-size:15px}
@media (max-width:520px){.hero-meta{grid-template-columns:1fr 1fr}}
.js .entra{opacity:0;transform:translateY(18px);transition:opacity .8s var(--suave-out),transform .8s var(--suave-out);transition-delay:calc(var(--i) * 90ms + 200ms)}
.js .pronto .entra{opacity:1;transform:none}

/* vaga-lumes */
.vagalumes{position:absolute;inset:0;pointer-events:none}
.vagalumes i{position:absolute;left:var(--x);top:var(--y);width:8px;height:8px;border-radius:50%;background:#FFE08A;
  box-shadow:0 0 10px 3px rgba(255,190,50,.55);animation:voa var(--d) ease-in-out var(--a) infinite}
@keyframes voa{0%{transform:translate(0,0);opacity:.2}25%{transform:translate(26px,-34px);opacity:1}50%{transform:translate(-12px,-60px);opacity:.35}75%{transform:translate(-30px,-20px);opacity:.95}100%{transform:translate(0,0);opacity:.2}}
.pausa .vagalumes i,.pausa .marquee-trilho,.pausa .marca-ic .vaga-luz{animation-play-state:paused}

/* ---------- Painel do aluno ---------- */
.painel-palco{position:relative;perspective:1400px;padding:10px 0 30px}
.painel{--rx:0deg;--ry:0deg;position:relative;max-width:560px;margin:0 auto;padding:18px;border-radius:28px;background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.9);box-shadow:var(--sombra),0 60px 90px -50px rgba(90,23,207,.55);
  transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .5s var(--suave-out)}
.js .painel{opacity:0;transform:translateY(40px) rotateX(14deg) scale(.96);transition:opacity 1s var(--suave-out) .35s,transform 1.2s var(--suave-out) .35s}
.js .pronto .painel{opacity:1;transform:rotateX(var(--rx)) rotateY(var(--ry))}
.js .pronto .painel.mexendo{transition:transform .2s linear}
.pn-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.pn-ola{display:flex;align-items:center;gap:10px}
.pn-ola small{display:block;font-size:12px;color:#6A7390}
.pn-ola strong{font:600 16px/1.2 var(--f-tit);letter-spacing:-.02em}
.pn-av{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--anil),var(--rosa));color:#fff;font:700 16px/1 var(--f-tit)}
.pn-xp{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--tinta);color:#fff;font:500 13px/1 var(--f-mono)}
.pn-xp svg{color:#fff}
.pn-grade{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:auto auto;gap:12px}
.pn-card{position:relative;padding:14px;border-radius:18px;background:var(--branco);box-shadow:0 1px 2px rgba(15,20,38,.06),0 10px 24px -16px rgba(31,26,84,.3);overflow:hidden}
.pn-rotulo{font:500 10.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#6A7390;margin-bottom:8px}
.pn-trilha{grid-row:span 3;background:linear-gradient(160deg,#8A45FF,#5A17CF);color:#fff}
.pn-trilha .pn-rotulo{color:rgba(255,255,255,.75)}
.pn-tit{font:600 18px/1.15 var(--f-tit);letter-spacing:-.02em}
.pn-anel{position:relative;width:min(150px,80%);margin:16px auto 14px;aspect-ratio:1}
.pn-anel svg{width:100%;height:100%;transform:rotate(-90deg)}
.anel-fundo{fill:none;stroke:rgba(255,255,255,.16);stroke-width:12}
.anel-cheio{fill:none;stroke:var(--ambar);stroke-width:12;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 2s var(--suave-out) .9s}
.pronto .anel-cheio{stroke-dashoffset:32}
html:not(.js) .anel-cheio{stroke-dashoffset:32}
.anel-num{position:absolute;inset:0;display:grid;place-content:center;grid-auto-flow:column;align-items:baseline;font:700 36px/1 var(--f-tit);letter-spacing:-.04em}
.anel-num small{font-size:16px;opacity:.75}
.pn-mods{display:flex;flex-wrap:wrap;gap:6px}
.pn-mods span{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(255,255,255,.12);color:rgba(255,255,255,.75)}
.pn-mods .ok{background:rgba(255,255,255,.22);color:#fff}
.pn-mods .ok::before{content:"✓ "}
.pn-mods .agora{background:var(--ambar);color:var(--tinta)}
.barras{display:flex;align-items:flex-end;justify-content:space-between;gap:5px;height:84px}
.barras span{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;height:100%;justify-content:flex-end}
.barras i{display:block;width:100%;max-width:18px;height:calc(var(--h) * 64px);border-radius:6px;background:#DCD3FB;transform-origin:bottom;transform:scaleY(0);transition:transform .9s var(--mola)}
.barras .hoje i{background:var(--anil)}
.barras small{font:500 10px/1 var(--f-mono);color:#6A7390}
.pronto .barras i{transform:scaleY(1)}
.barras span:nth-child(1) i{transition-delay:1s}.barras span:nth-child(2) i{transition-delay:1.07s}.barras span:nth-child(3) i{transition-delay:1.14s}
.barras span:nth-child(4) i{transition-delay:1.21s}.barras span:nth-child(5) i{transition-delay:1.28s}.barras span:nth-child(6) i{transition-delay:1.35s}.barras span:nth-child(7) i{transition-delay:1.42s}
html:not(.js) .barras i{transform:none}
.pn-prox{background:var(--ambar-claro)}
.pn-prox .pn-rotulo{color:rgba(15,20,38,.65)}
.pn-prox strong{display:block;font:600 16px/1.2 var(--f-tit);letter-spacing:-.02em;padding-right:40px}
.pn-prox small{font-size:12.5px;color:rgba(15,20,38,.7)}
.pn-playbtn{position:absolute;right:12px;top:14px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--tinta);color:#fff}
.pn-playbtn::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--tinta);animation:onda 2s ease-out infinite}
@keyframes onda{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.7);opacity:0}}
.pn-barra{margin-top:12px;height:6px;border-radius:9px;background:rgba(15,20,38,.12);overflow:hidden}
.pn-barra i{display:block;height:100%;width:100%;background:var(--tinta);border-radius:9px;transform-origin:left;transform:scaleX(0);transition:transform 1.6s var(--suave-out) 1.4s}
.pronto .pn-barra i{transform:scaleX(.35)}
.pn-seq{grid-column:2}
.pontos{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.pontos i{aspect-ratio:1;border-radius:50%;background:#E6EAF2;transform:scale(0);transition:transform .45s var(--mola)}
.pontos .c{background:var(--anil)}
.pontos .m{background:linear-gradient(90deg,var(--anil) 50%,#E6EAF2 50%)}
.pontos .h{background:var(--ambar);box-shadow:0 0 0 3px rgba(255,178,30,.3)}
.pronto .pontos i{transform:scale(1)}
html:not(.js) .pontos i{transform:none}
.pn-toast{position:absolute;left:-14px;bottom:-22px;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:16px;background:var(--tinta);color:#fff;
  box-shadow:0 20px 40px -18px rgba(15,20,38,.6);transform:translateY(20px) scale(.9);opacity:0;transition:transform .6s var(--mola),opacity .4s;transform:translateZ(40px) translateY(20px) scale(.9)}
.pn-toast.on{opacity:1;transform:translateZ(40px)}
.toast-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--menta);color:#fff}
.toast-txt b{display:block;font-size:13.5px}
.toast-txt small{font-size:12px;opacity:.75}
.flutua{position:absolute;padding:8px 12px;border-radius:12px;background:var(--branco);box-shadow:var(--sombra);font:500 13px/1 var(--f-mono);color:var(--anil);will-change:transform;pointer-events:none}
.f1{top:-1%;left:8%}
.f2{top:42%;left:-2%;color:var(--menta)}
.f3{bottom:8%;right:0;color:var(--rosa)}
.painel-nota{position:absolute;right:6px;bottom:0;font:500 11px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#6A7390}
@media (max-width:560px){
  .painel{padding:12px;border-radius:22px}
  .pn-grade{gap:8px}
  .pn-card{padding:11px;border-radius:14px}
  .pn-tit{font-size:15px}
  .anel-num{font-size:28px}
  .pn-prox strong{font-size:14px;padding-right:34px}
  .pn-playbtn{width:30px;height:30px;right:9px;top:10px}
  .f2{display:none}
  .pn-toast{left:6px}
}

/* ---------- Marquee ---------- */
.faixa-wrap{overflow:hidden;padding:18px 0;margin-top:-8px}
.faixa-temas{position:relative;z-index:2;padding:22px 0;background:var(--tinta);color:#fff;transform:rotate(-1.6deg) scale(1.03)}
.marquee{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-trilho{display:flex;flex-shrink:0;align-items:center;gap:28px;padding-right:28px;animation:rola 36s linear infinite}
.marquee-trilho span{font:600 clamp(20px,2.6vw,30px)/1 var(--f-tit);letter-spacing:-.02em;white-space:nowrap}
.marquee-trilho b{color:var(--ambar);font-size:18px}
@keyframes rola{to{transform:translateX(-100%)}}

/* ---------- Bento do método ---------- */
.bento{max-width:1180px;margin:0 auto;display:grid;gap:16px}
@media (min-width:760px){.bento{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.bento{grid-template-columns:repeat(6,1fr)}
  .bx-curta{grid-column:span 2}.bx-codigo{grid-column:span 4;grid-row:span 2}.bx-mentoria{grid-column:span 2}
  .bx-projeto{grid-column:span 3}.bx-ritmo{grid-column:span 3}}
.bx{--sx:50%;--sy:50%;position:relative;padding:26px;border-radius:var(--raio);background:var(--branco);box-shadow:var(--sombra);overflow:hidden;isolation:isolate}
.bx h3{font-size:22px;font-weight:600;margin:18px 0 8px}
.bx p{color:var(--suave);font-size:16px;max-width:48ch}
.spot::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(360px circle at var(--sx) var(--sy),rgba(123,47,247,.10),transparent 60%);opacity:0;transition:opacity .4s}
.spot:hover::before{opacity:1}
.bx-vis{position:relative;height:150px;border-radius:16px;background:var(--papel-2);display:grid;place-items:center;overflow:hidden}
.relogio-vis{grid-template-columns:auto auto;gap:18px;color:var(--tinta)}
.relogio-vis svg{width:110px;height:110px}
.rv-fundo{fill:none;stroke:#E1E5EF;stroke-width:8}
.rv-arco{fill:none;stroke:var(--anil);stroke-width:8;stroke-linecap:round;stroke-dasharray:60;stroke-dashoffset:60;transform:rotate(-90deg);transform-origin:60px 60px;transition:stroke-dashoffset 1.6s var(--suave-out) .3s}
.rv-ponteiro{stroke:var(--tinta);stroke-width:4;stroke-linecap:round;transform-origin:60px 60px;transform:rotate(0);transition:transform 1.6s var(--suave-out) .3s}
.visto .rv-arco{stroke-dashoffset:48}
.visto .rv-ponteiro{transform:rotate(72deg)}
.rv-num{font:700 30px/1 var(--f-tit);letter-spacing:-.04em}
.bx-codigo{background:var(--noite);color:#fff;display:flex;flex-direction:column}
.bx-codigo::before{background:radial-gradient(420px circle at var(--sx) var(--sy),rgba(255,178,30,.14),transparent 60%)}
.bx-codigo p{color:#C9C3EA}
.bx-codigo h3{margin-top:24px}
.editor{flex:1;min-height:250px;display:flex;flex-direction:column;border-radius:16px;background:#0B0720;border:1px solid rgba(255,255,255,.08);overflow:hidden}
.ed-topo{display:flex;align-items:center;gap:7px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.07);font:500 12px/1 var(--f-mono);color:#A79FD0}
.ed-topo i{width:10px;height:10px;border-radius:50%;background:#3A3166}
.ed-topo i:first-child{background:var(--rosa)}.ed-topo i:nth-child(2){background:var(--ambar)}.ed-topo i:nth-child(3){background:var(--menta)}
.ed-topo span{margin-left:8px}
.ed-rodar{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:0;background:var(--menta);color:#05221E;font:600 12.5px/1 var(--f-txt);transition:transform .25s var(--mola)}
.ed-rodar:hover{transform:scale(1.06)}
.ed-rodar:active{transform:scale(.95)}
.ed-cod{flex:1;margin:0;padding:16px;font:500 14px/1.75 var(--f-mono);color:#E9E5FF;white-space:pre-wrap;word-break:break-word}
.ed-cod .k{color:#FF8FB0}.ed-cod .s{color:var(--ambar-claro)}.ed-cod .c{color:#7E77A8}.ed-cod .f{color:#8FE3D3}.ed-cod .n{color:#B79BFF}
.ed-cursor{display:inline-block;width:8px;height:1.1em;vertical-align:-3px;background:var(--ambar);animation:pisca 1s steps(1) infinite}
@keyframes pisca{50%{opacity:0}}
.ed-saida{padding:12px 16px;border-top:1px solid rgba(255,255,255,.07);font:500 13.5px/1.4 var(--f-mono);color:#8FE3D3;min-height:46px}
.ed-prompt{color:#7E77A8}
.ed-saida.flash{animation:flash .7s}
@keyframes flash{0%{background:rgba(0,168,150,.35)}100%{background:transparent}}
.roda{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:16px}
.bolha{align-self:flex-start;max-width:85%;padding:9px 13px;border-radius:14px 14px 14px 4px;background:var(--branco);box-shadow:0 6px 16px -10px rgba(31,26,84,.4);font-size:13.5px;font-weight:500;
  transform:translateY(12px);opacity:0;transition:transform .6s var(--mola),opacity .5s}
.bolha.resp{align-self:flex-end;border-radius:14px 14px 4px 14px;background:var(--anil);color:#fff;transition-delay:.7s}
.visto .bolha{transform:none;opacity:1}
.rostos{display:flex;margin-top:4px}
.rostos i{display:grid;place-items:center;width:30px;height:30px;margin-right:-8px;border-radius:50%;border:2px solid var(--papel-2);background:var(--c);color:#fff;font:700 12px/1 var(--f-tit);font-style:normal}
.mini-dash{grid-template-columns:1fr 1.3fr;gap:16px;padding:20px}
.md-l{display:grid;gap:10px;align-self:center}
.md-l i{display:block;height:12px;border-radius:9px;background:linear-gradient(90deg,var(--menta),#5BD6C7);transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--suave-out)}
.md-l i:nth-child(2){background:linear-gradient(90deg,var(--rosa),#FF9DB6);transition-delay:.15s}
.md-l i:nth-child(3){background:linear-gradient(90deg,var(--ambar),var(--ambar-claro));transition-delay:.3s}
.visto .md-l i{transform:scaleX(var(--w))}
.md-linha{width:100%;height:auto}
.md-linha path{fill:none;stroke:var(--anil);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--suave-out) .3s}
.visto .md-linha path{stroke-dashoffset:0}
.ritmo{display:flex;gap:8px;flex-wrap:wrap;align-content:center;justify-content:center;padding:16px}
.tg{padding:10px 14px;border-radius:12px;background:var(--branco);border:1px solid var(--linha);font-weight:600;font-size:14px;color:#6A7390;transition:background .4s,color .4s,transform .4s var(--mola)}
.tg.on{background:var(--tinta);color:#fff;transform:translateY(-4px)}

/* ---------- Trilhas ---------- */
.trilhas{position:relative;height:340vh;background:linear-gradient(var(--papel),#E2E1F6 40%,var(--papel))}
.trilhas-presa{position:sticky;top:0;height:100vh;height:100svh;max-width:1180px;margin:0 auto;padding:calc(var(--faixa) + 82px) 20px 24px;display:grid;
  grid-template-rows:auto 1fr;gap:10px;overflow:hidden}
@media (min-width:900px){.trilhas-presa{grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:40px;align-items:center;padding-top:calc(var(--faixa) + 90px)}}
.tr-esq .h2{font-size:clamp(28px,4.2vw,50px)}
.abas{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0 18px;padding:5px;border-radius:999px;background:rgba(255,255,255,.7);width:max-content;max-width:100%;box-shadow:0 8px 20px -14px rgba(31,26,84,.4)}
.aba{position:relative;padding:9px 14px;border:0;border-radius:999px;background:transparent;font-weight:600;font-size:14px;color:var(--suave);transition:background .35s var(--suave-out),color .35s}
.aba[aria-selected="true"]{background:var(--tinta);color:#fff}
.estacoes{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:est}
.estacoes li{display:grid;grid-template-columns:34px 1fr;gap:0 12px;padding:8px 10px;border-radius:14px;transition:background .4s,opacity .4s;opacity:.5}
.estacoes li .n{grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(15,20,38,.07);font:600 13px/1 var(--f-mono);transition:background .4s,color .4s}
.estacoes li b{font:600 16px/1.3 var(--f-tit);letter-spacing:-.02em;align-self:center}
.estacoes li p{grid-column:2;max-height:0;overflow:hidden;font-size:14.5px;color:var(--suave);transition:max-height .5s var(--suave-out)}
.estacoes li small{font:500 11.5px/1 var(--f-mono);color:var(--anil);margin-left:8px;letter-spacing:.04em}
.estacoes li.feita{opacity:.85}
.estacoes li.feita .n{background:var(--anil);color:#fff}
.estacoes li.ativa{opacity:1;background:rgba(255,255,255,.85);box-shadow:0 10px 24px -18px rgba(31,26,84,.5)}
.estacoes li.ativa .n{background:var(--ambar);color:var(--tinta)}
.estacoes li.ativa p{max-height:90px}
.tr-dica{margin-top:12px;font:500 12px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#6A7390}
.tr-mapa{position:relative;min-height:0;height:100%;max-height:100%;display:flex;align-items:center;justify-content:center}
.tr-svg{width:auto;height:100%;max-height:min(760px,100%);aspect-ratio:520/760;overflow:visible}
.tr-sombra{fill:none;stroke:rgba(15,20,38,.10);stroke-width:14;stroke-linecap:round;stroke-dasharray:2 22}
.tr-linha{fill:none;stroke:url(#g-trilha);stroke-width:10;stroke-linecap:round}
.tr-vaga{will-change:transform}
.tr-vaga circle:first-child{animation:pulsa 1.6s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
.tr-nos{position:absolute;inset:0;margin:auto;height:100%;max-height:min(760px,100%);aspect-ratio:520/760;pointer-events:none}
.no{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);transition:left .8s var(--suave-out),top .8s var(--suave-out)}
.no i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--branco);border:3px solid #D5D8E6;font:600 12px/1 var(--f-mono);font-style:normal;color:#6A7390;
  transition:transform .5s var(--mola),background .4s,border-color .4s,color .4s;box-shadow:0 6px 14px -8px rgba(31,26,84,.5)}
.no span{position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%);white-space:nowrap;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.9);
  font:600 13px/1 var(--f-tit);letter-spacing:-.01em;box-shadow:0 6px 16px -10px rgba(31,26,84,.45);opacity:.55;transition:opacity .4s}
.no.esq span{left:auto;right:calc(100% + 10px)}
.no.feito i{background:var(--anil);border-color:var(--anil);color:#fff}
.no.feito span{opacity:1}
.no.ativo i{transform:scale(1.25);background:var(--ambar);border-color:#fff;color:var(--tinta)}
.no.ativo span{opacity:1}
.no.fim i{width:42px;height:42px}
@media (max-width:899px){
  .trilhas-presa{grid-template-rows:auto minmax(0,1fr);padding-top:calc(var(--faixa) + 76px)}
  .tr-esq .h2{font-size:26px;max-width:none}
  .tr-esq .sobre{margin-bottom:8px}
  .tr-esq{min-width:0}
  .abas{margin:12px 0 8px;display:grid;grid-template-columns:repeat(3,1fr);width:100%;border-radius:16px}
  .aba{padding:8px 6px;font-size:12.5px;line-height:1.15;border-radius:12px}
  .estacoes li{display:none}
  .estacoes li.ativa{display:grid}
  .tr-dica{display:none}
  .tr-mapa{order:2}
  .no span{font-size:11.5px;padding:5px 8px}
  .no i{width:28px;height:28px}
}

/* ---------- Catálogo ---------- */
.filtros{max-width:1180px;margin:0 auto 26px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.filtro-grupo{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.filtro-rot{font:500 12px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#6A7390;margin-right:6px}
.chip{padding:9px 15px;border-radius:999px;border:1px solid var(--linha);background:rgba(255,255,255,.6);font-weight:600;font-size:14px;color:var(--suave);transition:background .3s,color .3s,border-color .3s,transform .3s var(--mola)}
.chip:hover{transform:translateY(-2px)}
.chip.ativo{background:var(--anil);border-color:var(--anil);color:#fff}
.filtro-conta{margin-left:auto;font:500 13px/1 var(--f-mono);color:#6A7390}
.cursos{max-width:1180px;margin:0 auto;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.curso{--sx:50%;--sy:50%;position:relative;display:flex;flex-direction:column;border-radius:var(--raio);background:var(--branco);box-shadow:var(--sombra);overflow:hidden;isolation:isolate;
  transition:box-shadow .4s,transform .4s var(--suave-out)}
.curso:hover{transform:translateY(-6px)}
.curso::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(300px circle at var(--sx) var(--sy),rgba(255,255,255,.35),transparent 55%);opacity:0;transition:opacity .35s;mix-blend-mode:soft-light}
.curso:hover::after{opacity:1}
.curso[hidden]{display:none}
.curso.sai{opacity:0;transform:scale(.9);transition:opacity .3s,transform .3s}
.capa{position:relative;height:150px;background:var(--c1);overflow:hidden}
.capa::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,var(--c2),transparent 60%),repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 2px,transparent 2px 14px)}
.capa-gl{position:absolute;left:20px;bottom:16px;font:700 44px/1 var(--f-mono);color:rgba(255,255,255,.95);letter-spacing:-.04em;transition:transform .6s var(--mola)}
.curso:hover .capa-gl{transform:translateY(-6px) rotate(-3deg) scale(1.05)}
.capa-forma{position:absolute;right:-20px;top:-20px;width:150px;height:150px;border-radius:40%;border:18px solid rgba(255,255,255,.18);transition:transform 1.2s var(--suave-out)}
.curso:hover .capa-forma{transform:rotate(60deg) scale(1.1)}
.nivel{position:absolute;right:14px;bottom:14px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--tinta);font:600 12px/1 var(--f-txt)}
.curso-corpo{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.curso-area{font:500 11.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--anil)}
.curso h3{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:10px 0 8px}
.curso p{font-size:15px;color:var(--suave);flex:1}
.curso-info{display:flex;gap:16px;margin:16px 0;font-size:13.5px;color:#525C78;font-weight:500}
.curso-info span{display:inline-flex;align-items:center;gap:6px}
.curso-link{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-radius:14px;background:var(--papel-2);text-decoration:none;font-weight:600;font-size:14.5px;transition:background .3s,color .3s}
.curso-link:hover{background:var(--tinta);color:#fff}
.curso-link svg{transition:transform .3s var(--suave-out)}
.curso-link:hover svg{transform:translateX(4px)}

/* ---------- Aula / Quiz ---------- */
.aula{background:var(--noite);color:#fff;overflow:hidden}
.aula::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 90% 10%,rgba(123,47,247,.45),transparent 70%),radial-gradient(40% 50% at 0% 100%,rgba(255,178,30,.18),transparent 70%)}
.aula-in{position:relative;max-width:1180px;margin:0 auto;display:grid;gap:48px;align-items:center}
@media (min-width:960px){.aula-in{grid-template-columns:.9fr 1.1fr;gap:64px}}
.aula-txt > p:not(.sobre){color:#CFC8F0;max-width:46ch;margin-top:18px;font-size:18px}
.aula-lista{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px}
.aula-lista li{display:flex;align-items:center;gap:10px;font-weight:500}
.aula-lista svg{color:var(--ambar)}
.quiz{position:relative;padding:26px;border-radius:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);min-height:440px;display:flex;flex-direction:column}
.qz-topo{display:flex;justify-content:space-between;align-items:center;font:500 13px/1 var(--f-mono);color:#CFC8F0}
.qz-xp{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:rgba(255,178,30,.15);color:var(--ambar-claro)}
.qz-xp svg{color:var(--ambar-claro)}
.qz-xp.pula{animation:pula .5s var(--mola)}
@keyframes pula{40%{transform:scale(1.25)}}
.qz-prog{height:8px;margin:16px 0 24px;border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden}
.qz-prog i{display:block;height:100%;width:100%;border-radius:9px;background:linear-gradient(90deg,var(--anil-claro),var(--ambar));transform-origin:left;transform:scaleX(0);transition:transform .8s var(--suave-out)}
.qz-corpo{flex:1;display:flex;flex-direction:column}
.qz-q{animation:qzEntra .6s var(--suave-out)}
@keyframes qzEntra{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
.qz-q.sai{animation:qzSai .35s ease-in forwards}
@keyframes qzSai{to{opacity:0;transform:translateX(-40px)}}
.qz-tema{font:500 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ambar-claro)}
.qz-perg{font:600 clamp(20px,2.4vw,26px)/1.25 var(--f-tit);letter-spacing:-.02em;margin:10px 0 16px}
.qz-codigo{margin:0 0 16px;padding:14px 16px;border-radius:14px;background:#0B0720;font:500 14px/1.7 var(--f-mono);color:#E9E5FF;white-space:pre-wrap;overflow-x:auto}
.qz-codigo .k{color:#FF8FB0}.qz-codigo .s{color:var(--ambar-claro)}.qz-codigo .n{color:#B79BFF}
.qz-ops{display:grid;gap:10px}
.qz-op{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);
  text-align:left;font-weight:500;font-size:16px;color:#fff;transition:background .25s,border-color .25s,transform .25s var(--mola)}
.qz-op:hover:not([disabled]){background:rgba(255,255,255,.1);transform:translateX(4px)}
.qz-op .l{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.1);font:600 13px/1 var(--f-mono)}
.qz-op[disabled]{cursor:default}
.qz-op.certa{background:rgba(0,168,150,.22);border-color:#2FD3BE}
.qz-op.certa .l{background:#2FD3BE;color:#05221E}
.qz-op.errada{background:rgba(255,92,138,.18);border-color:var(--rosa);animation:treme .45s}
.qz-op.errada .l{background:var(--rosa);color:#fff}
@keyframes treme{20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
.qz-exp{margin-top:14px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.07);font-size:15px;color:#E4DFFA;animation:qzEntra .5s var(--suave-out)}
.qz-exp b{color:var(--ambar-claro)}
.qz-prox{margin-top:16px;align-self:flex-end}
.qz-fim{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:14px;animation:qzEntra .6s var(--suave-out)}
.qz-fim .grande{font:700 64px/1 var(--f-tit);letter-spacing:-.05em}
.qz-fim .grande small{font-size:28px;color:#A79FD0}
.qz-fim p{color:#CFC8F0;max-width:36ch}
.qz-fim .btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}
.qz-fim .btn-claro{background:rgba(255,255,255,.1);color:#fff;box-shadow:none}
.qz-faiscas{position:absolute;inset:0;pointer-events:none;overflow:visible}
.faisca{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--ambar-claro);box-shadow:0 0 8px 2px rgba(255,178,30,.7)}

/* ---------- Passos (pilha) ---------- */
.pilha{max-width:980px;margin:0 auto;display:grid;gap:22px}
.pcard{position:sticky;top:calc(var(--faixa) + 96px + var(--i) * 16px);display:grid;gap:18px;padding:30px;border-radius:28px;background:var(--branco);box-shadow:var(--sombra);
  transform-origin:center top;transform:scale(var(--s,1));will-change:transform;min-height:260px;align-content:center}
@media (min-width:760px){.pcard{grid-template-columns:150px 1fr 170px;align-items:center;gap:30px;padding:40px}}
.pc-num{align-self:start;justify-self:start;padding:8px 12px;border-radius:999px;background:var(--c);color:#fff;font:600 13px/1 var(--f-mono)}
.pcard:nth-child(4) .pc-num{color:var(--tinta)}
.pcard h3{font-size:clamp(22px,2.6vw,30px);font-weight:600;margin-bottom:10px}
.pcard p{color:var(--suave)}
.pc-vis{height:130px;border-radius:20px;background:var(--papel-2);display:grid;place-items:center;overflow:hidden}
.pc-v1{grid-template-columns:repeat(2,34px);gap:10px;place-content:center}
.pc-v1 i{width:34px;height:34px;border-radius:10px;background:var(--c);opacity:.25;animation:acende 2.4s infinite}
.pc-v1 i:nth-child(2){animation-delay:.3s}.pc-v1 i:nth-child(3){animation-delay:.9s}.pc-v1 i:nth-child(4){animation-delay:.6s}
@keyframes acende{0%,100%{opacity:.25;transform:scale(.9)}40%{opacity:1;transform:scale(1)}}
.pc-v2 code{font:500 15px/1 var(--f-mono);color:var(--c);padding:10px 14px;border-radius:10px;background:var(--branco)}
.pc-v3{display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:20px}
.pc-v3 i{width:20px;height:calc(var(--h)*80px);border-radius:6px;background:var(--c);opacity:.85}
.pc-v4 svg{color:#fff;background:var(--c);border-radius:50%;padding:12px;width:64px;height:64px}

/* ---------- Certificado ---------- */
.certificado{position:relative;height:260vh;background:linear-gradient(var(--papel),#F3EEE2 50%,var(--papel))}
.cert-presa{position:sticky;top:0;height:100vh;height:100svh;max-width:1180px;margin:0 auto;padding:calc(var(--faixa) + 84px) 20px 24px;display:grid;gap:22px;align-content:center}
@media (min-width:960px){.cert-presa{grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}}
.cert-txt > p:not(.sobre){color:var(--suave);margin-top:16px;max-width:44ch}
.cert-campo{display:grid;gap:8px;margin-top:22px;max-width:380px}
.cert-campo span{font:500 12px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#6A7390}
.cert-campo input,.campo input[type=text]{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--linha);background:var(--branco);font-size:17px;transition:border-color .3s,box-shadow .3s}
.cert-campo input:focus,.campo input[type=text]:focus{outline:0;border-color:var(--anil);box-shadow:0 0 0 4px rgba(123,47,247,.18)}
.cert-aviso{margin-top:12px !important;font-size:13px;color:#6A7390}
.cert-palco{perspective:1600px}
.cert{position:relative;width:100%;max-width:640px;margin:0 auto;aspect-ratio:600/420;padding:6% 7%;border-radius:18px;background:#FFFDF7;
  box-shadow:0 40px 80px -40px rgba(31,26,84,.45),0 2px 6px rgba(31,26,84,.08);display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden;container-type:inline-size}
.cert::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0 0,rgba(183,155,255,.25),transparent 40%),radial-gradient(circle at 100% 100%,rgba(255,211,107,.3),transparent 45%);pointer-events:none}
.pc{position:relative;will-change:transform}
.cert-moldura{position:absolute;inset:0;width:100%;height:100%}
.cert-moldura rect{fill:none;stroke-dasharray:1;stroke-dashoffset:var(--dash,0)}
.cm-a{stroke:var(--anil);stroke-width:2.5}
.cm-b{stroke:var(--ambar);stroke-width:1.2}
.cert-cab{display:flex;align-items:center;gap:6px;font:700 clamp(13px,3.2cqi,20px)/1 var(--f-tit);letter-spacing:-.04em;color:var(--tinta)}
.cert-cab svg{width:clamp(18px,4cqi,26px);height:auto}
.cert-tipo{margin-top:4%;font:500 clamp(9px,2cqi,13px)/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--anil)}
.cert-confere{margin-top:5%;font-size:clamp(10px,2.4cqi,15px);color:var(--suave)}
.cert-nome{margin-top:1.5%;font:600 clamp(20px,6.4cqi,42px)/1.1 var(--f-tit);letter-spacing:-.035em;color:var(--tinta);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  border-bottom:2px solid rgba(123,47,247,.25);padding:0 .3em .15em}
.cert-desc{margin-top:3%;max-width:44ch;font-size:clamp(9.5px,2.3cqi,14.5px);line-height:1.5;color:var(--suave)}
.cert-base{margin-top:auto;width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:4%}
.cert-ass{display:flex;flex-direction:column;align-items:center;width:30%}
.cert-ass svg{width:100%;height:auto}
.cert-ass path{fill:none;stroke:var(--tinta);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:var(--dash,1)}
.cert-ass span{width:100%;padding-top:4px;border-top:1px solid rgba(15,20,38,.3);font-size:clamp(8px,1.8cqi,11.5px);color:var(--suave)}
.cert-selo{width:20%;max-width:110px}
.cert-selo svg{width:100%;height:auto;filter:drop-shadow(0 8px 12px rgba(90,23,207,.35))}
.cert-qr{width:15%;max-width:80px;aspect-ratio:1;display:grid;grid-template-columns:repeat(9,1fr);gap:1px;padding:3px;background:#fff;border:1px solid var(--linha);border-radius:6px}
.cert-qr i{background:var(--tinta);border-radius:1px}
.cert-qr i.v{background:transparent}
.cert-marca{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-18deg);font:700 clamp(16px,5.8cqi,40px)/1 var(--f-tit);letter-spacing:.1em;color:rgba(123,47,247,.07);white-space:nowrap;pointer-events:none}

/* ---------- FAQ ---------- */
.faq-in{max-width:1180px;margin:0 auto;display:grid;gap:20px}
@media (min-width:960px){.faq-in{grid-template-columns:.8fr 1.2fr;gap:56px}.faq-in .cab{margin:0}}
.faq-lista{display:grid;gap:10px}
.faq-lista details{border-radius:18px;background:var(--branco);box-shadow:0 1px 2px rgba(15,20,38,.05),0 10px 24px -20px rgba(31,26,84,.4);transition:box-shadow .3s}
.faq-lista details[open]{box-shadow:var(--sombra)}
.faq-lista summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;font:600 17.5px/1.3 var(--f-tit);letter-spacing:-.02em;cursor:pointer;border-radius:18px}
.faq-lista summary::-webkit-details-marker{display:none}
.mais{position:relative;flex:none;width:30px;height:30px;border-radius:50%;background:var(--papel);transition:background .3s,transform .45s var(--mola)}
.mais::before,.mais::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:var(--tinta);transition:transform .45s var(--mola),background .3s}
.mais::after{transform:rotate(90deg)}
details[open] .mais{background:var(--anil);transform:rotate(180deg)}
details[open] .mais::before,details[open] .mais::after{background:#fff}
details[open] .mais::after{transform:rotate(0)}
.faq-r{padding:0 22px 20px;color:var(--suave)}
details[open] .faq-r{animation:abre .5s var(--suave-out)}
@keyframes abre{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---------- Matrícula ---------- */
.matricula{background:var(--noite);color:#fff;overflow:hidden}
.matricula::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 100% 100%,rgba(123,47,247,.5),transparent 70%),radial-gradient(40% 40% at 0 0,rgba(255,178,30,.15),transparent 70%)}
.mat-in{position:relative;max-width:1180px;margin:0 auto;display:grid;gap:56px;align-items:center}
@media (min-width:960px){.mat-in{grid-template-columns:1.1fr .9fr}}
.mat-txt > p:not(.sobre){color:#CFC8F0;margin-top:16px;max-width:46ch;font-size:18px}
.mat-form{display:grid;gap:20px;margin-top:30px;max-width:560px}
.campo{display:grid;gap:10px;border:0;margin:0;padding:0;min-width:0}
.campo > span,.campo legend{font:500 12px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#BDB5E6;padding:0;margin-bottom:10px}
.campo input[type=text]{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#fff}
.campo input[type=text]::placeholder{color:#9D95C8}
.opcoes{display:flex;flex-wrap:wrap;gap:8px}
.opcoes label{position:relative}
.opcoes input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opcoes span{display:inline-block;padding:11px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);font-weight:600;font-size:15px;transition:background .3s,color .3s,border-color .3s,transform .3s var(--mola)}
.opcoes input:checked + span{background:var(--ambar);border-color:var(--ambar);color:var(--tinta);transform:translateY(-2px)}
.opcoes input:focus-visible + span{outline:3px solid var(--anil-claro);outline-offset:3px}
.mat-form .btn{justify-self:start}
.form-obs{font-size:13.5px;color:#A79FD0}
.mat-fone{display:flex;justify-content:center}
.fone{width:min(340px,100%);border-radius:40px;padding:12px;background:#0B0720;border:1px solid rgba(255,255,255,.12);box-shadow:0 50px 90px -40px rgba(0,0,0,.8);transform:rotate(3deg);transition:transform .8s var(--suave-out)}
.fone:hover{transform:rotate(0)}
.fone-topo{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:28px 28px 10px 10px;background:#1E1647}
.fone-topo small{display:block;font-size:12px;color:#8FE3D3}
.fone-av{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ambar-claro);color:var(--tinta)}
.fone-chat{display:flex;flex-direction:column;gap:10px;min-height:340px;padding:18px 10px;border-radius:10px 10px 28px 28px;
  background:#150F35 radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/14px 14px}
.msg{max-width:86%;padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.45}
.msg-in{align-self:flex-start;background:#2A2160;border-top-left-radius:4px}
.msg-out{align-self:flex-end;background:#6B2BE0;border-top-right-radius:4px;white-space:pre-line;transition:transform .3s var(--mola)}
.msg-out.bate{animation:pula .4s var(--mola)}

/* ---------- Rodapé ---------- */
.rodape{position:relative;padding:90px 20px 50px;background:#0B0720;color:#DCD6F7;overflow:hidden}
.rodape-in{position:relative;z-index:1;max-width:1180px;margin:0 auto}
.rodape-grande{font:700 clamp(64px,17vw,250px)/.9 var(--f-tit);letter-spacing:-.06em;color:#fff;white-space:nowrap}
.rodape-grande .l{display:inline-block}
.js .rodape-grande .l{transform:translateY(60%);opacity:0;transition:transform 1s var(--suave-out),opacity .8s;transition-delay:calc(var(--i) * 55ms)}
.js .rodape-grande.visto .l{transform:none;opacity:1}
.rodape-grande .l.pinga{color:var(--ambar)}
.rodape-linhas{display:grid;gap:30px;margin-top:40px;padding-top:30px;border-top:1px solid rgba(255,255,255,.12)}
@media (min-width:860px){.rodape-linhas{grid-template-columns:1fr 1fr;align-items:start}}
.rodape-linhas > p{max-width:52ch;font-size:15px;color:#ADA5D6}
.rodape-vexa{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.rodape-vexa p{width:100%;font:600 18px/1.3 var(--f-tit);color:#fff}
.rodape-voltar{color:#DCD6F7;font-size:15px}
.vagalumes-rod i{opacity:.6}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .js .revela,.js .entra,.js .painel,.js .hero-t .w > span,.js .rodape-grande .l{opacity:1 !important;transform:none !important}
  .marca-texto{background-size:100% .34em}
  .anel-cheio{stroke-dashoffset:32}
  .barras i,.pontos i{transform:none}
  .pn-barra i{transform:scaleX(.35)}
  .rv-arco{stroke-dashoffset:48}.rv-ponteiro{transform:rotate(72deg)}
  .bolha{opacity:1;transform:none}
  .md-l i{transform:scaleX(var(--w))}.md-linha path{stroke-dashoffset:0}
  .pn-toast{opacity:1;transform:none}
  .trilhas,.certificado{height:auto}
  .trilhas-presa,.cert-presa{position:relative;height:auto;padding-top:110px;padding-bottom:110px}
  .estacoes li,.estacoes li.ativa{display:grid;opacity:1}
  .estacoes li p{max-height:none}
  .tr-mapa{height:70vh}
  .tr-dica{display:none}
  .pcard{position:relative;top:auto;transform:none}
  .cert-moldura rect{stroke-dashoffset:0}.cert-ass path{stroke-dashoffset:0}
  .pc{transform:none !important;opacity:1 !important}
  .vagalumes i{opacity:.7}
  .cursor-luz{display:none}
}
