/* Melhorias do restante da página (teste 04/11). Classes com prefixo mx- para não colidir. */

/* ---------- fundos claros com grafismo da marca em marca d'água ---------- */
.mx-fundo{position:relative;overflow:hidden;isolation:isolate}
.mx-fundo::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(36,45,52,.10) 1px,transparent 1.3px);background-size:22px 22px;-webkit-mask:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}
.mx-arcos{position:absolute;z-index:-1;width:min(760px,72vw);aspect-ratio:1;opacity:.075;pointer-events:none}
.mx-arcos.d{right:-12%;top:-18%}
.mx-arcos.e{left:-16%;bottom:-24%;transform:rotate(160deg)}

/* ---------- próximas turmas: passes holográficos ---------- */
.mx-holo{position:relative;border-radius:24px;transform-style:preserve-3d;will-change:transform;transition:box-shadow .3s ease}
.mx-holo .mx-foil,.mx-holo .mx-glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.mx-holo .mx-foil{background:conic-gradient(from var(--fa,0deg) at var(--px,50%) var(--py,50%),#049FA1,#7FE0E1,#EB186E,#F8AE18,#049FA1);opacity:calc(var(--fo,0) * .55);mix-blend-mode:soft-light;transition:opacity .25s}
.mx-holo .mx-glare{background:radial-gradient(260px circle at var(--px,50%) var(--py,50%),rgba(255,255,255,.55),transparent 60%);opacity:var(--go,0);mix-blend-mode:overlay;transition:opacity .25s}
.cards .card.mx-holo{overflow:hidden}
.vazio.mx-holo{background:linear-gradient(135deg,#2B363F 0%,#1D252B 60%,#232D35 100%);color:var(--txt-d);box-shadow:0 30px 60px -30px rgba(29,37,43,.55),inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden;padding:clamp(28px,4vw,48px);gap:22px 36px}
.vazio.mx-holo .mx-foil{mix-blend-mode:overlay}
.vazio.mx-holo h3{color:var(--txt-d);font-size:clamp(26px,3vw,38px);font-weight:700}
.vazio.mx-holo p{color:var(--mut-d)}
.vazio .mx-selo{width:92px;height:92px;flex:none;filter:drop-shadow(0 8px 22px rgba(4,159,161,.35))}
.vazio .mx-tx{flex:1 1 320px;min-width:0}
.vazio .mx-eb{display:inline-flex;align-items:center;gap:8px;font-family:var(--num);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--yel);margin-bottom:10px}
.vazio .mx-eb i{width:7px;height:7px;border-radius:50%;background:var(--yel);animation:mxpisca 1.6s infinite}
@keyframes mxpisca{50%{opacity:.25}}
.vazio .btn{background:var(--yel);color:var(--ink)}

/* ---------- todos os cursos: lista viva com foto ---------- */
.list a{grid-template-columns:28px 1fr auto}
.list .mx-th{display:none}
.mx-peek{position:fixed;left:0;top:0;z-index:40;width:260px;aspect-ratio:16/10;border-radius:16px;overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.85) rotate(-4deg);transition:opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 24px 50px -18px rgba(0,0,0,.6),0 0 0 3px var(--pc,#049FA1)}
.mx-peek.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-4deg)}
.mx-peek img{width:100%;height:100%;object-fit:cover;display:block}
.mx-peek b{position:absolute;left:12px;bottom:10px;right:12px;font-family:var(--display);font-size:15px;font-weight:600;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.7)}
@media (hover:none),(max-width:820px){
  .mx-peek{display:none}
  .list a{grid-template-columns:64px 1fr auto;gap:14px}
  .list a svg{display:none}
  .list .mx-th{display:block;position:relative;width:64px;height:48px;border-radius:10px;overflow:hidden;box-shadow:0 0 0 2px var(--c)}
  .list .mx-th img{width:100%;height:100%;object-fit:cover;display:block}
}

/* ---------- como funciona + por que escolher: bento ---------- */
.mx-bento{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}
.mx-bento + .sec-head{margin-top:clamp(48px,6vw,80px)}
.mx-t{position:relative;border-radius:24px;padding:22px 26px 26px;display:flex;flex-direction:column;gap:8px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.03),0 20px 44px -28px rgba(36,45,52,.4),inset 0 0 0 1px var(--line-l);overflow:hidden;isolation:isolate;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.mx-t:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(0,0,0,.03),0 30px 54px -26px rgba(36,45,52,.5),inset 0 0 0 1px var(--line-l)}
.mx-t h3{font-size:22px;font-weight:600;margin:0;color:var(--txt-l)}
.mx-t p{margin:0;color:var(--mut-l);font-size:15.5px;max-width:42ch}
.mx-t .mx-vis{position:relative;height:200px;display:grid;place-items:center;margin-bottom:10px}
.mx-t.dk{background:linear-gradient(150deg,#2B363F,#1D252B);box-shadow:0 24px 50px -28px rgba(29,37,43,.6)}
.mx-t.dk h3{color:var(--txt-d)}.mx-t.dk p{color:var(--mut-d)}
/* ao vivo */
.mx-live{display:flex;flex-direction:column;align-items:center;gap:16px}
.mx-rec{display:inline-flex;align-items:center;gap:8px;font-family:var(--num);font-weight:700;font-size:12px;letter-spacing:.18em;color:#fff;background:var(--red);padding:6px 12px;border-radius:999px;box-shadow:0 0 0 0 rgba(236,63,47,.6);animation:mxrec 1.8s infinite}
.mx-rec i{width:7px;height:7px;border-radius:50%;background:#fff}
@keyframes mxrec{0%{box-shadow:0 0 0 0 rgba(236,63,47,.55)}70%{box-shadow:0 0 0 16px rgba(236,63,47,0)}100%{box-shadow:0 0 0 0 rgba(236,63,47,0)}}
.mx-eq{display:flex;align-items:center;gap:6px;height:64px}
.mx-eq span{width:7px;border-radius:4px;background:linear-gradient(180deg,var(--teal),var(--pink));height:20%;animation:mxeq 1.1s ease-in-out infinite alternate}
@keyframes mxeq{to{height:var(--h,90%)}}
/* gravação */
.mx-play{width:min(78%,250px);border-radius:14px;background:#1D252B;padding:12px;box-shadow:0 14px 30px -16px rgba(0,0,0,.5)}
.mx-play .scr{aspect-ratio:16/9;border-radius:9px;background:linear-gradient(135deg,#2E3942,#1A2127);display:grid;place-items:center}
.mx-play .scr i{width:44px;height:44px;border-radius:50%;background:var(--teal);display:grid;place-items:center;box-shadow:0 0 0 8px rgba(4,159,161,.18)}
.mx-play .scr i::after{content:"";border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.mx-play .bar{height:5px;border-radius:5px;background:rgba(255,255,255,.12);margin-top:10px;overflow:hidden}
.mx-play .bar b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--yel));animation:mxbar 7s linear infinite}
.mx-play .tm{display:flex;justify-content:space-between;font-family:var(--num);font-size:11px;color:#A7B4BB;margin-top:6px}
@keyframes mxbar{to{width:100%}}
/* certificado */
.mx-cert{width:auto;height:auto;max-width:86%;max-height:168px;border-radius:8px;box-shadow:0 18px 36px -16px rgba(0,0,0,.45);transform:rotate(-5deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.mx-t:hover .mx-cert{transform:rotate(0) scale(1.05)}
/* corpo docente: selo */
.mx-selo2{width:120px;height:120px}
.mx-selo2 circle.r{stroke-dasharray:340;stroke-dashoffset:340;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1)}
.mx-t.vis .mx-selo2 circle.r{stroke-dashoffset:0}
/* capacitação: checklist */
.mx-chk{list-style:none;margin:0;padding:0;display:grid;gap:10px;width:min(80%,240px)}
.mx-chk li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--txt-l);background:var(--paper);border-radius:12px;padding:9px 12px;opacity:.35;transform:translateX(-8px);transition:opacity .5s,transform .5s}
.mx-chk li i{width:20px;height:20px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 2px var(--c);display:grid;place-items:center}
.mx-chk li.ok{opacity:1;transform:none}
.mx-chk li.ok i{background:var(--c)}
.mx-chk li.ok i::after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
/* material: pasta de vidro */
.mx-pasta{position:relative;width:200px;height:150px}
.mx-pasta .bk{position:absolute;inset:18px 0 0;border-radius:14px;background:linear-gradient(160deg,#F8AE18,#E08A0B)}
.mx-pasta .bk::before{content:"";position:absolute;left:0;top:-14px;width:78px;height:24px;border-radius:10px 10px 0 0;background:#F8AE18}
.mx-pasta .fl{position:absolute;left:22px;right:22px;top:10px;height:118px;border-radius:8px;background:#fff;box-shadow:0 6px 16px -8px rgba(0,0,0,.35);transition:transform .5s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;gap:6px;padding:14px 12px}
.mx-pasta .fl i{height:5px;border-radius:4px;background:#E2E9E8}.mx-pasta .fl i:first-child{width:60%;background:var(--c,#049FA1)}
.mx-pasta .f2{--c:#EB186E;transform:rotate(-6deg) translateX(-8px)}
.mx-pasta .f3{--c:#EC3F2F;transform:rotate(5deg) translateX(8px)}
.mx-t:hover .mx-pasta .f1,.mx-t.vis .mx-pasta .f1{transform:translateY(-26px)}
.mx-t:hover .mx-pasta .f2,.mx-t.vis .mx-pasta .f2{transform:rotate(-12deg) translate(-26px,-14px)}
.mx-t:hover .mx-pasta .f3,.mx-t.vis .mx-pasta .f3{transform:rotate(11deg) translate(26px,-12px)}
.mx-pasta .gl{position:absolute;inset:52px 0 0;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.22));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 24px -14px rgba(0,0,0,.4);display:grid;place-items:center;font-family:var(--num);font-weight:700;font-size:13px;letter-spacing:.14em;color:#7A4B00}
@media (max-width:980px){.mx-bento{grid-template-columns:1fr 1fr}.mx-bento .mx-t:first-child{grid-column:span 2}}
@media (max-width:640px){.mx-bento{grid-template-columns:1fr}.mx-bento .mx-t:first-child{grid-column:auto}.mx-t .mx-vis{height:170px}}

/* ---------- professora: linha do tempo que se desenha ---------- */
.sprof .tl ol::before{transform:scaleX(var(--tlp,0));transform-origin:left;transition:transform 1.8s cubic-bezier(.2,.8,.2,1)}
.sprof .tl li{opacity:.25;transform:translateY(10px);transition:opacity .6s,transform .6s}
.sprof .tl.vis li{opacity:1;transform:none}
.sprof .tl.vis{--tlp:1}

/* ---------- depoimentos: parede inclinada em 3D ---------- */
.mx-dep{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:center}
.mx-dep .sec-head{display:block;margin:0}
.mx-dep .sec-head p{color:var(--mut-l);margin-top:14px;max-width:34ch}
.mx-parede{position:relative;height:560px;overflow:hidden;perspective:300px;border-radius:24px}
.mx-plano{position:absolute;inset:-30% -10%;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;transform:translateZ(-60px) rotateX(18deg) rotateY(-14deg) rotateZ(14deg)}
.mx-col{display:flex;flex-direction:column;gap:16px;animation:mxsobe 40s linear infinite}
.mx-col.desce{animation-name:mxdesce}
.mx-parede:hover .mx-col:hover{animation-play-state:paused}
@keyframes mxsobe{from{transform:translateY(0)}to{transform:translateY(-33.333%)}}
@keyframes mxdesce{from{transform:translateY(-33.333%)}to{transform:translateY(0)}}
.mx-parede .quote{background:#fff;box-shadow:inset 0 0 0 1px var(--line-l),0 16px 30px -20px rgba(36,45,52,.35);transition:box-shadow .3s,background .3s;padding:22px;gap:16px}
.mx-parede .quote:hover{box-shadow:inset 0 0 0 2px var(--c),0 20px 34px -18px rgba(36,45,52,.45)}
.mx-parede .quote p{color:var(--txt-l);font-size:14.5px}
.mx-parede::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,var(--paper) 0,transparent 24%,transparent 76%,var(--paper) 100%),linear-gradient(90deg,var(--paper) 0,transparent 22%,transparent 80%,var(--paper) 100%)}
@media (max-width:820px){.mx-dep{grid-template-columns:1fr}.mx-parede{height:480px}}
@media (prefers-reduced-motion:reduce){.mx-col{animation:none}}

/* ---------- rodapé: nome em retícula luminosa + seção final ---------- */
.mx-rod{position:relative;background:#14191D;color:var(--txt-d);overflow:hidden}
.mx-rod .wrap{position:relative;z-index:2}
.mx-rod .mx-rtop{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px 40px;padding-block:clamp(56px,7vw,88px) 36px;border-bottom:1px solid var(--line-d)}
.mx-rod .brand{display:inline-flex;align-items:center;gap:10px;color:var(--txt-d);text-decoration:none}
.mx-rod .brand svg{width:40px;height:40px}
.mx-rod .frase{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.2vw,30px);line-height:1.1;margin:18px 0 12px}
.mx-rod .qs{color:var(--mut-d);font-size:15px;max-width:40ch;margin:0}
.mx-rod h4{font-family:var(--num);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mut-d);margin:6px 0 14px}
.mx-rod ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mx-rod a{color:var(--txt-d);text-decoration:none;font-size:15px;transition:color .2s}
.mx-rod a:hover{color:var(--yel)}
.mx-rod .redes a{display:inline-flex;align-items:center;gap:10px}
.mx-rod .redes svg{width:18px;height:18px;flex:none}
.mx-rod .mx-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:18px;font-size:13px;color:var(--mut-d)}
.mx-rod .mx-base button{background:none;border:0;color:var(--txt-d);font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.mx-ret{position:relative;width:100%;display:block;cursor:crosshair}
.mx-ret canvas{display:block;width:100%;height:100%;filter:drop-shadow(0 0 10px rgba(235,24,110,.28)) drop-shadow(0 0 3px rgba(4,159,161,.45))}
.quotes[hidden]{display:none!important}
@media (max-width:820px){.mx-rod .mx-rtop{grid-template-columns:1fr 1fr}.mx-rod .mx-rtop>div:first-child{grid-column:1/-1}}

@media (max-width:520px){.mx-rod .mx-rtop{grid-template-columns:1fr}.mx-rod .redes a{word-break:break-all}}
