/* Área de membros FPV NA PELE (/membro/): mesmo visual da landing HOVR.
   Paper #EEEFF0, Sage #9EA39D, vermelho #D90429 só de destaque, Black #0B0B0B; Anton nos títulos, Inter no resto; vidro.
   Anima sempre, mesmo com "reduzir movimento" ligado (pedido do Jonh). */
:root{--paper:#EEEFF0;--sage:#9EA39D;--red:#D90429;--black:#0B0B0B;--ink:#111;--mute:#6f736f;
  --bg:#0B0B0B;--bg2:#121212;--card:rgba(255,255,255,.05);--card2:rgba(255,255,255,.09);--borda:rgba(255,255,255,.10);--borda2:rgba(255,255,255,.18);
  --texto:#EEEFF0;--cinza:#9EA39D;--cinza2:#7c817b;--acao:#D90429;--acao-hover:#b00321;--destaque:#ff3355;--erro:#ff5c75;
  --display:"Anton",Impact,"Arial Narrow",sans-serif;--body:"Inter",system-ui,sans-serif;--mono:"Inter",system-ui,sans-serif;
  --raio:12px;--raio-g:22px;--mola:cubic-bezier(.2,.8,.2,1)}
[hidden]{display:none!important}
.tocador,.caixa-porta section{padding:0}
body.area{background:var(--black);color:var(--texto);font:400 15.5px/1.55 var(--body);min-height:100svh}
.area h1,.area h2,.area h3{font-family:var(--display);font-weight:400;letter-spacing:.005em;line-height:.98;text-transform:uppercase}
.area .mono{font:500 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.ponto{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:8px;vertical-align:1px;animation:pisca 1.2s steps(2) infinite}
@keyframes pisca{50%{opacity:.15}}
@keyframes gira{to{transform:rotate(360deg)}}
@keyframes sobe{from{opacity:0;transform:translateY(22px) scale(.98)}}
@keyframes brilho{0%,55%{transform:translateX(-120%) skewX(-20deg)}100%{transform:translateX(320%) skewX(-20deg)}}
@keyframes pulsa{0%,100%{box-shadow:0 12px 30px -10px rgba(217,4,41,.75),0 0 0 0 rgba(217,4,41,.45)}50%{box-shadow:0 12px 30px -10px rgba(217,4,41,.75),0 0 0 9px rgba(217,4,41,0)}}

/* botões em pílula vermelha */
.area .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 26px;border:0;border-radius:999px;
  background:var(--red);color:#fff;font:600 13px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  box-shadow:0 12px 30px -12px rgba(217,4,41,.8),inset 0 1px 0 rgba(255,255,255,.2);transition:transform .25s var(--mola),background .25s,box-shadow .25s}
.area .btn:hover{background:var(--acao-hover);transform:translateY(-2px);box-shadow:0 18px 36px -12px rgba(217,4,41,.9)}
.area .btn:active{transform:translateY(0) scale(.98)}
.area .btn svg{width:16px;height:16px;transition:transform .3s}
.area .btn:hover svg{transform:translateX(3px)}
.area .btn-linha{background:rgba(255,255,255,.06);border:1px solid var(--borda2);color:var(--texto);box-shadow:none}
.area .btn-linha:hover{background:rgba(255,255,255,.12);box-shadow:none}
.area .btn[disabled]{opacity:.7;cursor:wait;transform:none}

/* vidro (mesma receita da landing) */
.vidro,.caixa-porta,.comunidade,.app-topo{position:relative;isolation:isolate;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03) 45%,rgba(255,255,255,.07));
  -webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 0 0 1px rgba(255,255,255,.10),0 30px 60px -24px rgba(0,0,0,.6)}

.carregando{position:fixed;inset:0;display:grid;place-items:center;background:var(--black);z-index:60}
.carregando i{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.14);border-top-color:var(--red);animation:gira .8s linear infinite}

/* ---------- porta (entrar, senha, esqueci, vencido) ---------- */
.porta{position:relative;min-height:100svh;display:grid;place-items:center;padding:32px 16px;overflow:hidden;
  background:radial-gradient(45% 40% at 50% 18%,rgba(217,4,41,.30),transparent 70%),radial-gradient(40% 40% at 85% 95%,rgba(158,163,157,.16),transparent 70%),var(--black)}
.porta::before{content:"";position:absolute;width:520px;aspect-ratio:1;border-radius:50%;border:18px solid rgba(255,255,255,.035);top:-180px;right:-160px;animation:gira 40s linear infinite;pointer-events:none}
.caixa-porta{width:min(440px,100%);border-radius:var(--raio-g);padding:30px 24px 26px;animation:sobe .55s var(--mola)}
.caixa-porta .marca{margin-bottom:26px}
.caixa-porta .marca b{font:400 15px/1 var(--display);letter-spacing:.08em;border-left-color:var(--borda2)}
.caixa-porta section{animation:sobe .45s var(--mola)}
.caixa-porta h1{font-size:clamp(34px,9vw,44px);margin-bottom:10px}
.caixa-porta h1 span{color:var(--red)}
.caixa-porta .cinza{font-size:14.5px;color:var(--sage);margin-bottom:20px}
.area .form{display:grid;gap:14px}
.area .campo{display:grid;gap:6px;font:500 11px/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--sage)}
.area .campo input{width:100%;min-height:50px;padding:0 14px;border-radius:12px;border:1px solid var(--borda2);background:rgba(0,0,0,.35);color:var(--paper);
  font:400 16px var(--body);text-transform:none;letter-spacing:0;transition:border-color .2s,box-shadow .2s}
.area .campo input:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(217,4,41,.22)}
.area .campo input[aria-invalid=true]{border-color:var(--erro)}
.area .erro-msg{color:var(--erro);font-size:13.5px;font-weight:500}
.caixa-porta .form .btn{width:100%;margin-top:4px}
.links{display:flex;flex-direction:column;gap:12px;margin-top:22px;font-size:14.5px}
.links a{color:var(--paper);text-decoration:none;opacity:.85;transition:opacity .2s,color .2s}
.links a:hover{opacity:1;color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}
.links .btn{opacity:1;width:100%}
.links .btn:hover{text-decoration:none}
.aviso{margin-top:16px;padding:14px 16px;border-radius:12px;background:rgba(217,4,41,.14);border:1px solid rgba(217,4,41,.38);font-size:14.5px}
.aviso-ok{display:flex;gap:10px;align-items:flex-start;margin:0 0 20px;background:rgba(158,163,157,.14);border-color:rgba(158,163,157,.45);color:var(--paper);animation:sobe .5s var(--mola)}
.aviso-ok svg{width:20px;height:20px;flex:none;color:#7ddc9a;margin-top:1px}

/* ---------- app estilo Netflix ---------- */
.app{--g:4vw;--topo-h:68px;--w:22vw;--th:calc(var(--w) * .5625);--pt:0px;
  background:var(--black);min-height:100svh;overflow-x:clip;display:flex;flex-direction:column}
.app section{padding:0}
.app .vista{flex:1 0 auto}
body.travado{overflow:hidden}
@keyframes kenburns{0%{transform:scale(1.04) translate(0,0)}100%{transform:scale(1.16) translate(-2.5%,-2%)}}
@keyframes entra{from{opacity:0;transform:translateY(26px)}}
@keyframes surge{from{opacity:0;transform:scale(.94) translateY(16px)}}

/* barra do topo: transparente, fica preta ao rolar */
.nf-topo{position:fixed;inset:0 0 auto;z-index:40;height:var(--topo-h);display:flex;align-items:center;gap:clamp(14px,2.4vw,36px);padding:0 var(--g);
  background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,0));transition:background .45s,box-shadow .45s}
.nf-topo.solido{background:rgba(11,11,11,.96);box-shadow:0 1px 0 rgba(255,255,255,.06),0 10px 30px -10px rgba(0,0,0,.8)}
.nf-topo .marca{gap:10px;flex:none}
.nf-topo .marca img{width:70px}
.nf-topo .marca b{font:400 15px/1 var(--display);letter-spacing:.08em;border-left-color:var(--borda2);white-space:nowrap}
.nf-links{display:flex;gap:4px}
.nf-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;color:#c9ccc8;text-decoration:none;font:500 14px/1 var(--body);transition:color .2s,background .2s;white-space:nowrap}
.nf-links a:hover{color:#fff}
.nf-links a[aria-current=page]{color:#fff;font-weight:700}
.nf-dir{margin-left:auto;display:flex;align-items:center;gap:14px}
.prog{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--sage);white-space:nowrap}
.prog b{color:var(--paper)}
.prog i{display:block;width:96px;height:5px;border-radius:9px;background:rgba(255,255,255,.14);overflow:hidden}
.prog em{display:block;height:100%;width:0;background:var(--red);border-radius:9px;transition:width .7s var(--mola)}
.sair{min-height:44px;background:none;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:var(--paper);font:500 13.5px/1 var(--body);padding:0 16px;transition:background .2s,border-color .2s}
.sair:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35)}

/* botões Netflix */
.nf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px 0 22px;border:0;border-radius:6px;
  font:700 17px/1 var(--body);letter-spacing:0;text-decoration:none;transition:background .2s,transform .2s var(--mola)}
.nf-btn svg{width:24px;height:24px;flex:none}
.nf-btn:active{transform:scale(.97)}
.nf-play{background:#fff;color:#000}
.nf-play:hover{background:rgba(255,255,255,.78)}
.nf-info{background:rgba(109,109,110,.7);color:#fff}
.nf-info:hover{background:rgba(109,109,110,.45)}
.nf-redondo{display:inline-grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.55);background:rgba(42,42,42,.65);color:#fff;padding:0;transition:border-color .2s,background .2s,transform .2s var(--mola)}
.nf-redondo svg{width:20px;height:20px}
.nf-redondo:hover{border-color:#fff;background:rgba(255,255,255,.12)}
.nf-redondo.branco{background:#fff;border-color:#fff;color:#000}
.nf-redondo.branco:hover{background:rgba(255,255,255,.8)}
.nf-redondo.feito{border-color:var(--red);color:#ff6b80}
.nf-redondo.dir{margin-left:auto}
.nf-btn:focus-visible,.nf-redondo:focus-visible,.c-thumb:focus-visible,.sair:focus-visible,.nf-links a:focus-visible,.seta:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* hero (billboard) */
.app .hero{position:relative;display:block;min-height:0;height:clamp(600px,56.25vw,94svh);overflow:hidden;background:#000}
.app .hero::before{display:none}
.hero-fundo{position:absolute;inset:0;overflow:hidden}
.hero-fundo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;animation:kenburns 26s ease-in-out infinite alternate;transform-origin:60% 40%}
.hero-fundo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,var(--black) 0%,rgba(11,11,11,.55) 22%,rgba(11,11,11,0) 48%),
             linear-gradient(90deg,rgba(11,11,11,.92) 0%,rgba(11,11,11,.55) 32%,rgba(11,11,11,0) 66%)}
.hero-conteudo{position:absolute;left:var(--g);bottom:max(26%,190px);width:min(640px,46vw);z-index:2}
.hero-conteudo>*{animation:entra .8s var(--mola) both}
.hero-selo{display:flex;align-items:center;gap:10px;margin:0 0 16px;font:700 13px/1 var(--body);letter-spacing:.32em;text-transform:uppercase;color:#d7d9d6;animation-delay:.05s}
.selo-n{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border:3px solid #fff;border-radius:50%;box-sizing:border-box}
.selo-n::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}
.area .hero-titulo{font-size:clamp(46px,5.6vw,98px);line-height:.94;margin:0 0 16px;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.45);animation-delay:.15s;overflow-wrap:break-word}
.hero-meta{margin:0 0 12px;font:600 15px/1.3 var(--body);color:var(--paper);animation-delay:.22s}
.hero-meta span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:10px;vertical-align:1px}
.hero-resumo{margin:0 0 24px;font-size:clamp(15px,1.25vw,19px);line-height:1.5;color:#e2e4e1;text-shadow:0 2px 12px rgba(0,0,0,.6);max-width:560px;animation-delay:.3s}
.hero-botoes{display:flex;flex-wrap:wrap;gap:12px;animation-delay:.38s}
.so-curto{display:none}
.hero-feitas{margin:18px 0 0;font-size:14px;color:var(--sage);animation-delay:.46s}
.hero-feitas b{color:var(--paper)}

/* fileiras */
.fileiras{position:relative;z-index:3;margin-top:calc(-1 * clamp(70px,9vw,150px))}
.fileira{position:relative;z-index:1;margin:0 0 clamp(26px,3vw,44px);pointer-events:none}
.fileira:hover,.fileira:focus-within{z-index:6}
.fileira-tit,.fileira .seta,.fileira .cartao,.fileira .cq{pointer-events:auto}
.app .fileira-tit{display:flex;align-items:baseline;gap:12px;margin:0 0 12px;padding:0 var(--g);font:400 clamp(20px,1.7vw,28px)/1.05 var(--display);letter-spacing:.02em;color:var(--paper)}
.fileira-tit small{font:500 13px/1 var(--body);letter-spacing:.04em;color:var(--sage);text-transform:none}
.fileira-ver{margin-left:auto;display:inline-flex;align-items:center;min-height:44px;font:600 13.5px/1 var(--body);text-transform:none;letter-spacing:0;color:var(--sage);text-decoration:none}
.fileira-ver:hover{color:#fff}
.trilho{position:relative}
.faixa{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0 var(--g);padding:var(--pt) var(--g) 4px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.faixa::-webkit-scrollbar{display:none}
.seta{position:absolute;z-index:8;top:var(--pt);height:var(--th);width:calc(var(--g) - 4px);min-width:40px;display:grid;place-items:center;border:0;padding:0;color:#fff;
  background:rgba(11,11,11,.6);opacity:0;transition:opacity .25s,background .2s}
.seta svg{width:30px;height:30px;transition:transform .2s var(--mola)}
.seta:hover{background:rgba(11,11,11,.85)}
.seta:hover svg{transform:scale(1.25)}
.seta-esq{left:0;border-radius:0 6px 6px 0}
.seta-dir{right:0;border-radius:6px 0 0 6px}
.trilho:not(.pode-esq) .seta-esq,.trilho:not(.pode-dir) .seta-dir{visibility:hidden}

/* cartão de aula */
.cartao{position:relative;flex:0 0 var(--w);scroll-snap-align:start;border-radius:6px;transition:transform .3s var(--mola);animation:entra .6s var(--mola) both}
.cartao:nth-child(2){animation-delay:.05s}.cartao:nth-child(3){animation-delay:.1s}.cartao:nth-child(4){animation-delay:.15s}.cartao:nth-child(n+5){animation-delay:.2s}
.c-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:6px;overflow:hidden;background:#1c1c1c;color:#fff;transition:border-radius .3s}
.c-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--mola)}
.c-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 50%);pointer-events:none}
.c-num{position:absolute;left:8px;bottom:2px;z-index:1;font:400 clamp(42px,4.2vw,64px)/.85 var(--display);color:rgba(11,11,11,.35);-webkit-text-stroke:2px rgba(255,255,255,.92);letter-spacing:-.02em;text-shadow:0 4px 18px rgba(0,0,0,.5)}
.c-dur{position:absolute;right:7px;bottom:9px;z-index:1;font:600 11.5px/1 var(--body);background:rgba(0,0,0,.72);padding:4px 6px;border-radius:4px}
.c-ok{position:absolute;top:8px;right:8px;z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 4px 14px rgba(217,4,41,.6)}
.c-ok svg{width:16px;height:16px}
.c-barra{position:absolute;left:0;right:0;bottom:0;z-index:2;height:4px;background:rgba(255,255,255,.25)}
.c-barra i{display:block;height:100%;background:var(--red)}
.cartao.visto .c-thumb img{filter:saturate(.75) brightness(.85)}
.c-base{display:flex;align-items:flex-start;gap:8px;padding:9px 2px 0;transition:opacity .2s}
.c-base>span{flex:1;min-width:0}
.c-base small{display:block;font:600 10.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:5px}
.c-base b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:600 14px/1.3 var(--body);color:var(--paper)}
.cartao.visto .c-base small{color:#ff6b80}
.c-info-m{flex:none;display:grid;place-items:center;width:48px;height:48px;margin:-6px -6px 0 0;border:0;border-radius:50%;background:none;color:var(--sage)}
.c-info-m svg{width:22px;height:22px}
.c-painel{display:none}

@media (hover:hover) and (pointer:fine){
  .app{--pt:58px}
  .faixa{padding-bottom:210px;margin:calc(-1 * var(--pt)) 0 -206px;padding-top:var(--pt)}
  .seta{top:var(--pt)}
  .trilho:hover .seta{opacity:1}
  .c-info-m{display:none}
  .c-painel{display:block;position:absolute;left:0;right:0;top:var(--th);padding:12px 14px 14px;background:#181818;border-radius:0 0 6px 6px;
    box-shadow:0 18px 30px -6px rgba(0,0,0,.85);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .25s var(--mola),visibility 0s .25s}
  .cartao:hover{transform:scale(1.25) translateY(-6%);z-index:5;transition-delay:.28s;box-shadow:0 20px 40px -10px rgba(0,0,0,.9)}
  .cartao[data-lado=esq]{transform-origin:left center}
  .cartao[data-lado=dir]{transform-origin:right center}
  .cartao:hover .c-thumb{border-radius:6px 6px 0 0;transition-delay:.28s}
  .cartao:hover .c-painel{opacity:1;visibility:visible;transform:none;transition:opacity .25s .28s,transform .3s var(--mola) .28s,visibility 0s .28s}
  .cartao:hover .c-base{opacity:0;transition-delay:.28s}
  .cartao:hover .c-num{opacity:0}
  .c-thumb:hover img{transform:scale(1.04)}
  .c-acoes{display:flex;gap:8px;margin-bottom:10px}
  .c-acoes .nf-redondo{width:34px;height:34px}
  .c-acoes .nf-redondo svg{width:16px;height:16px}
  .c-meta{font:500 11px/1.3 var(--body);color:var(--sage);margin:0 0 4px}
  .c-meta b{color:#7ddc9a;font-weight:700}
  .c-meta em{font-style:normal;color:#ff6b80}
  .c-tit{font:700 12.5px/1.3 var(--body);color:#fff;margin:0 0 5px}
  .c-resumo{font-size:10.5px;line-height:1.45;color:#c4c7c3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}

/* banner da comunidade (início) */
.vista .comunidade{margin:clamp(8px,2vw,24px) var(--g) clamp(40px,5vw,64px);border-radius:var(--raio-g);padding:clamp(22px,3vw,36px);overflow:hidden;
  background:radial-gradient(70% 120% at 0% 0%,rgba(217,4,41,.30),transparent 60%),linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03) 50%,rgba(255,255,255,.07));
  animation:sobe .7s var(--mola) both}
.comunidade{position:relative;isolation:isolate}
.comunidade::after{content:"";position:absolute;right:-70px;bottom:-90px;width:230px;aspect-ratio:1;border-radius:50%;border:16px solid rgba(255,255,255,.05);pointer-events:none;z-index:-1}
.com-texto h2{font-size:clamp(30px,3.4vw,48px);margin:14px 0 10px;color:var(--paper)}
.com-texto p:not(.mono){color:var(--sage);font-size:15px;max-width:560px}
.redes{display:grid;gap:12px;margin-top:20px}
.rede{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 22px;border-radius:999px;
  border:1px solid var(--borda2);background:rgba(255,255,255,.07);color:var(--paper);text-decoration:none;font:600 13px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;
  transition:transform .25s var(--mola),background .25s,border-color .25s;animation:sobe .6s var(--mola) both}
.rede:nth-child(1){animation-delay:.25s}.rede:nth-child(2){animation-delay:.35s}.rede:nth-child(3){animation-delay:.45s}
.rede svg{width:22px;height:22px;flex:none;transition:transform .3s var(--mola)}
.rede:hover{transform:translateY(-2px);background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35)}
.rede:hover svg{transform:scale(1.12) rotate(-6deg)}
.rede:active{transform:scale(.98)}
.rede:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
.rede-grupo{background:var(--red);border-color:transparent;color:#fff;animation:sobe .6s var(--mola) .25s both,pulsa 2.6s ease-in-out 1.2s infinite}
.rede-grupo:hover{background:var(--acao-hover);border-color:transparent}
.rede-grupo::after{content:"";position:absolute;top:0;bottom:0;left:0;width:38%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:brilho 3.4s ease-in-out 1s infinite;pointer-events:none}
.rede span{position:relative;z-index:1;white-space:nowrap}
@media (min-width:1000px){
  .vista .comunidade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px;align-items:center}
  .vista .redes{grid-template-columns:1.25fr 1fr 1fr;margin-top:0}
}
@media (min-width:560px) and (max-width:999px){
  .vista .redes{grid-template-columns:1fr 1fr}
  .vista .redes .rede-grupo{grid-column:1/-1}
}

/* versão compacta na lateral do player */
.comunidade.compacta{margin:22px 0 0;padding:18px 16px;border-radius:var(--raio-g);overflow:hidden;animation:sobe .7s var(--mola) .3s both;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03) 45%,rgba(255,255,255,.07));box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 0 0 1px rgba(255,255,255,.10)}
.comunidade.compacta b{display:block;font:400 22px/1 var(--display);text-transform:uppercase;letter-spacing:.01em;color:var(--paper)}
.comunidade.compacta p{font-size:14px;color:var(--sage);margin:8px 0 0}
.redes-p{gap:8px;margin-top:14px}
.redes-p .rede{min-height:48px;font-size:11.5px;padding:0 16px;justify-content:flex-start}
.redes-p .rede svg{width:19px;height:19px}

/* player */
.vista-player{padding-top:calc(var(--topo-h) + 12px)}
.palco{max-width:1440px;margin:0 auto;padding:12px var(--g) 60px;display:grid;gap:28px}
.tocador{min-width:0}
.voltar{display:inline-flex;align-items:center;gap:10px;min-height:48px;margin:0 0 14px;padding:0 18px 0 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.05);color:var(--paper);font:600 14px/1 var(--body);transition:background .2s,transform .2s var(--mola)}
.voltar svg{width:20px;height:20px;transition:transform .25s var(--mola)}
.voltar:hover{background:rgba(255,255,255,.12)}
.voltar:hover svg{transform:translateX(-3px)}
.video{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000;border:1px solid var(--borda);box-shadow:0 40px 80px -40px rgba(0,0,0,.9);animation:sobe .6s var(--mola) .05s both}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.info{padding:24px 2px 0}
.info .mono{margin:0}
.info h1{font-size:clamp(30px,3.4vw,46px);margin:14px 0 14px}
.info .cinza{max-width:760px;color:var(--sage)}
.botoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.botoes .btn{min-height:52px}
.area .btn.feito{background:rgba(217,4,41,.16);border:1px solid rgba(217,4,41,.5);color:#ff6b80;box-shadow:none}
.fim{margin-top:30px;padding:26px 24px;border-radius:var(--raio-g);border:1px solid rgba(217,4,41,.4);background:linear-gradient(135deg,rgba(217,4,41,.22),transparent);animation:sobe .5s var(--mola)}
.fim h2{font-size:clamp(28px,3.4vw,38px);margin:0 0 12px}
.fim .btn{margin-top:18px}

/* lista de aulas do player */
.trilha .mono{margin-bottom:12px}
.trilha ol{list-style:none;display:grid;gap:8px}
.trilha li{animation:sobe .5s var(--mola) both}
.trilha li button{width:100%;display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:center;text-align:left;padding:8px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--texto);transition:background .2s,border-color .2s,transform .2s}
.trilha li button:hover{background:var(--card);transform:translateX(3px)}
.trilha li.atual button{background:var(--card2);border-color:rgba(217,4,41,.5)}
.trilha .thumb{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:rgba(255,255,255,.06)}
.trilha .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--mola)}
.trilha li button:hover .thumb img{transform:scale(1.06)}
.trilha .thumb>span:not(.ok):not(.c-barra){position:absolute;right:5px;bottom:5px;font:500 11px/1 var(--body);color:#fff;background:rgba(0,0,0,.75);padding:3px 5px;border-radius:4px}
.trilha .thumb .ok{position:absolute;inset:0;display:grid;place-items:center;background:rgba(11,11,11,.55);color:#ff6b80}
.trilha .thumb .ok svg{width:26px;height:26px}
.trilha .tit small{display:block;font:500 11px/1 var(--body);letter-spacing:.12em;color:var(--cinza2);margin-bottom:5px}
.trilha .tit b{font:600 14.5px/1.3 var(--body);letter-spacing:-.01em;text-transform:none}
.trilha li.atual .tit small{color:#ff6b80}
.trilha li.visto .tit b{color:var(--sage)}
@media (min-width:1000px){
  .palco{grid-template-columns:minmax(0,1fr) 360px;align-items:start}
  .trilha{position:sticky;top:calc(var(--topo-h) + 16px);max-height:calc(100svh - var(--topo-h) - 32px);overflow:auto;padding-right:4px}
}
@media (max-width:999px){ .comunidade.compacta{display:none} }

/* modal Mais informações */
.nf-modal{position:fixed;inset:0;z-index:80;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;overscroll-behavior:contain;padding:5vh 16px}
.nf-modal-fundo{position:fixed;inset:0;background:rgba(0,0,0,.72);animation:fade .3s both}
@keyframes fade{from{opacity:0}}
.nf-modal-caixa{position:relative;z-index:1;width:min(860px,100%);background:#181818;border-radius:10px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.75);animation:surge .4s var(--mola) both}
.nf-fechar{position:absolute;top:14px;right:14px;z-index:5;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:0;background:rgba(24,24,24,.9);color:#fff;padding:0;transition:background .2s,transform .2s var(--mola)}
.nf-fechar svg{width:22px;height:22px}
.nf-fechar:hover{background:#2a2a2a;transform:rotate(90deg)}
.mi-capa{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}
.mi-capa img{width:100%;height:100%;object-fit:cover;animation:kenburns 30s ease-in-out infinite alternate}
.mi-capa::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#181818 0%,rgba(24,24,24,.35) 38%,transparent 65%)}
.mi-capa-txt{position:absolute;left:clamp(16px,5%,48px);right:clamp(16px,5%,48px);bottom:clamp(16px,6%,44px);z-index:2}
.area .mi-capa-txt h2{font-size:clamp(32px,5vw,58px);line-height:.95;color:#fff;margin:0 0 18px;text-shadow:0 4px 24px rgba(0,0,0,.6)}
.mi-botoes{display:flex;align-items:center;gap:12px}
.mi-botoes .nf-redondo{width:48px;height:48px}
.mi-corpo{padding:8px clamp(16px,5%,48px) 40px}
.mi-meta{margin:0 0 12px;font-size:15px;color:var(--sage)}
.mi-meta b{color:#7ddc9a}
.mi-meta em{font-style:normal;color:#ff6b80}
.mi-resumo{font-size:16.5px;line-height:1.55;color:var(--paper);margin:0 0 30px;max-width:640px}
.area .mi-corpo h3{font-size:24px;margin:0 0 14px;color:#fff}
.mi-lista{list-style:none;display:grid;border-top:1px solid #2f2f2f}
.mi-lista button{width:100%;display:grid;grid-template-columns:34px 140px 1fr;gap:16px;align-items:center;text-align:left;padding:16px 12px;border:0;border-bottom:1px solid #2f2f2f;background:none;color:var(--paper);border-radius:6px;transition:background .2s}
.mi-lista button:hover{background:#262626}
.mi-lista .atual button{background:#2a2a2a}
.mi-n{font:400 26px/1 var(--display);color:var(--sage);text-align:center}
.mi-th{position:relative;aspect-ratio:16/9;border-radius:5px;overflow:hidden;background:#222}
.mi-th img{width:100%;height:100%;object-fit:cover}
.mi-th .ok{position:absolute;inset:0;display:grid;place-items:center;background:rgba(11,11,11,.55);color:#ff6b80}
.mi-th .ok svg{width:26px;height:26px}
.mi-tx{display:grid;grid-template-columns:1fr auto;gap:6px 12px;min-width:0}
.mi-tx b{font:600 15px/1.3 var(--body)}
.mi-tx small{font-size:13px;color:var(--sage)}
.mi-tx em{grid-column:1/-1;font-style:normal;font-size:13.5px;line-height:1.45;color:#b9bcb8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* rodapé */
.nf-rodape{display:flex;align-items:center;gap:14px;padding:28px var(--g) calc(28px + env(safe-area-inset-bottom));color:var(--cinza2);font-size:13px;border-top:1px solid rgba(255,255,255,.06)}
.nf-rodape .marca img{width:60px}

/* tamanhos dos cartões por largura */
@media (min-width:1600px){ .app{--w:calc((100vw - 8vw - 40px) / 6.2)} }
@media (max-width:1199px){ .app{--w:28vw} }
@media (max-width:899px){ .app{--w:40vw} }

/* celular */
@media (max-width:699px){
  .app{--g:16px;--topo-h:118px;--w:68vw}
  .nf-topo{flex-wrap:wrap;align-content:center;gap:6px 12px;padding:6px 16px;height:var(--topo-h)}
  .nf-topo .marca img{width:58px}
  .nf-topo .marca b{font-size:13px;padding-left:10px}
  .nf-links{order:3;width:100%;gap:6px;margin:0 -4px}
  .nf-links a{min-height:48px;padding:0 16px;border:1px solid rgba(255,255,255,.22);font-size:13px}
  .nf-links a[aria-current=page]{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4)}
  .nf-dir{gap:10px}
  .prog{font-size:12.5px;gap:8px}
  .prog i{width:40px}
  .sair{padding:0 16px;min-height:48px}
  .nf-topo .marca,.nf-rodape .marca{min-height:48px}
  .app .hero{height:auto;min-height:max(560px,80svh);display:flex;flex-direction:column;justify-content:flex-end}
  .hero-fundo img{object-position:76% 22%}
  .hero-fundo::after{background:linear-gradient(0deg,var(--black) 0%,rgba(11,11,11,.82) 34%,rgba(11,11,11,.25) 62%,rgba(11,11,11,.55) 100%)}
  .hero-conteudo{position:relative;left:auto;bottom:auto;width:auto;padding:calc(var(--topo-h) + 40px) 16px 72px}
  .hero-selo{font-size:11.5px;letter-spacing:.26em;margin-bottom:14px}
  .area .hero-titulo{font-size:clamp(40px,12vw,58px);margin-bottom:14px}
  .hero-resumo{font-size:15px;margin-bottom:22px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .hero-botoes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .nf-btn{min-height:50px;padding:0 14px;font-size:15.5px}
  .nf-btn svg{width:22px;height:22px}
  .nf-btn{white-space:nowrap;gap:8px}
  .so-largo{display:none}.so-curto{display:inline}
  .hero-feitas{margin-top:16px}
  .fileiras{margin-top:-40px}
  .fileira{margin-bottom:30px}
  .app .fileira-tit{font-size:22px;margin-bottom:12px}
  .faixa{gap:10px;scroll-padding:0 16px}
  .seta{display:none}
  .c-num{font-size:46px}
  .vista .comunidade{margin:8px 16px 40px;padding:24px 18px}
  .vista .redes{grid-template-columns:1fr;gap:12px}
  .nf-modal{padding:0}
  .nf-modal-caixa{width:100%;min-height:100svh;border-radius:0}
  .nf-fechar{top:max(10px,env(safe-area-inset-top));right:10px}
  .mi-capa{aspect-ratio:auto;overflow:visible}
  .mi-capa img{height:auto;aspect-ratio:16/9}
  .mi-capa::after{inset:0 0 auto;height:56.25vw}
  .mi-capa-txt{position:relative;left:auto;right:auto;bottom:auto;margin-top:-34px;padding:0 16px}
  .area .mi-capa-txt h2{font-size:clamp(32px,9.5vw,42px);margin-bottom:16px}
  .mi-corpo{padding-top:20px}
  .mi-lista button{grid-template-columns:112px 1fr;gap:12px;padding:14px 4px}
  .mi-n{display:none}
  .mi-botoes .nf-play{flex:1}
  .vista-player{padding-top:calc(var(--topo-h) + 8px)}
  .palco{padding:8px 16px 48px;gap:24px}
  .info h1{font-size:clamp(28px,8.4vw,38px)}
  .botoes{display:grid;gap:12px}
  .botoes .btn{width:100%}
  .nf-rodape{flex-wrap:wrap;gap:10px}
}
@media (max-width:380px){
  .nf-topo .marca b{display:none}
}

/* porta em tela baixa (375x667): caixa inteira, centrada, sem corte; toques de 44 px nos links */
.links{gap:4px}
.links a:not(.btn){display:flex;align-items:center;min-height:44px}
@media (max-width:699px){
  .porta{padding:24px 16px;align-content:center}
}
@media (max-height:720px){
  .porta{padding:16px}
  .caixa-porta{padding:22px 20px 18px}
  .caixa-porta .marca{margin-bottom:16px}
  .aviso-ok{margin-bottom:14px;padding:10px 14px}
  .caixa-porta h1{margin-bottom:8px}
  .caixa-porta .cinza{margin-bottom:14px}
  .area .form{gap:10px}
  .links{margin-top:14px}
}

/* ajuste da conferência visual (10/11): hero nunca sobe por baixo da barra do topo e texto sem arte por trás */
@media (min-width:700px){
  .app .hero{display:flex;flex-direction:column;justify-content:flex-end;height:auto;min-height:clamp(600px,56.25vw,94svh);
    padding:calc(var(--topo-h) + 28px) 0 calc(clamp(70px,9vw,150px) + 36px)}
  .hero-conteudo{position:relative;left:auto;bottom:auto;margin-left:var(--g)}
}
.hero-fundo::after{background:linear-gradient(0deg,var(--black) 0%,rgba(11,11,11,.6) 24%,rgba(11,11,11,0) 50%),
  linear-gradient(90deg,rgba(11,11,11,.97) 0%,rgba(11,11,11,.85) 34%,rgba(11,11,11,.35) 58%,rgba(11,11,11,0) 76%)}
.hero-titulo{text-shadow:0 4px 24px rgba(0,0,0,.65)}

/* boas-vindas: texto no canto esquerdo, foto do Jonh à direita (pedido do Jonh, 10/11) */
.app .hero{align-items:flex-start}
.hero-conteudo{align-self:flex-start;text-align:left}
@media (min-width:700px){.hero-conteudo{margin-left:var(--g);width:min(600px,42vw)}}

/* aviso da camada de segurança (aula só conclui assistida) */
.aviso-seg{position:fixed;left:50%;bottom:28px;z-index:300;max-width:min(520px,calc(100% - 32px));padding:14px 18px;border-radius:14px;
  background:rgba(20,20,20,.92);border:1px solid rgba(217,4,41,.55);color:#fff;font:500 14.5px/1.4 var(--body,Inter,sans-serif);
  box-shadow:0 20px 50px -20px rgba(0,0,0,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  opacity:0;transform:translate(-50%,16px);pointer-events:none;transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.aviso-seg.on{opacity:1;transform:translate(-50%,0)}

/* texto de boas-vindas no canto esquerdo, a foto fica como está (pedido do Jonh, 10/11) */
@media (min-width:700px){
  .app .hero{align-items:flex-start}
  .hero-conteudo{margin-left:var(--g);margin-right:auto}
}
