
/* ================= PAGINA EQUIPE - 4 layouts =================
   Usa os mesmos tokens do site: --t-* (escala tipografica da home),
   --bloco-y (respiro entre blocos) e as regras de banner ja aprovadas. */

.eq .p-intro .p-texto{column-count:1}
.eq .eq-sec .container{max-width:var(--container)}
.eq-lista{list-style:none;margin:0;padding:0}
.eq-txt h3{font-family:var(--f-tit);font-weight:700;color:var(--titulo);letter-spacing:-.012em;margin:0 0 var(--s2)}
.eq-txt p{margin:0 0 var(--s2);color:var(--texto)}
.eq-txt p:last-child{margin-bottom:0}
.eq-foto{margin:0;overflow:hidden;background:var(--verde-claro)}
.eq-foto img{width:100%;height:100%;object-fit:cover;display:block}
.eq h2{font-family:var(--f-tit);font-size:var(--t-secao);font-weight:700;text-transform:uppercase;letter-spacing:-.022em;color:var(--titulo);margin:0}

/* ======================= A - DOSSIE (lista editorial) ======================= */
.ea .eq-sec.alt{background:var(--creme-2)}
.ea .eq-lista{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s6) var(--s7)}
.ea .eq-p{display:grid;grid-template-columns:118px 1fr;gap:var(--s4);align-items:start}
.ea .eq-p.sem-foto{grid-template-columns:1fr}
.ea .eq-foto{width:118px;aspect-ratio:1/1;border-radius:10px}
.ea .eq-txt h3{font-size:var(--t-card)}
.ea .eq-txt p{font-size:var(--t-corpo-xs);line-height:1.68}

/* ======================= B - FICHAS (cartoes em grade) ======================= */
.eb .p-hero{min-height:0;padding:var(--bloco-y) 0;background:var(--verde-topo);align-items:center}
.eb .p-hero .capa{display:none}
.eb .p-hero::after{display:none}
.eb .p-hero-txt h1{color:#fff}
.eb .p-hero .risca{background:var(--verde)}
.eb .p-ini{grid-template-columns:5fr 7fr}
.eb .p-ini-foto{order:-1}
.eb .eq-sec{background:var(--creme-2)}
.eb .eq-sec.alt{background:#fff}
.eb .eq-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.eb .eq-p{background:#fff;border:1px solid var(--linha);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.eb .eq-sec.alt .eq-p{background:var(--creme-2)}
.eb .eq-foto{width:100%;aspect-ratio:4/3;border-radius:0}
.eb .eq-p.sem-foto .eq-foto{display:none}
.eb .eq-txt{padding:var(--s4) var(--s4) var(--s5)}
.eb .eq-txt h3{font-size:var(--t-card)}
.eb .eq-txt p{font-size:.87rem;line-height:1.62}

/* ======================= C - RETRATOS (linhas alternadas) ======================= */
.ec .p-hero{padding:0;min-height:0}
.ec .p-hero .capa{display:none}
.ec .p-hero::after{display:none}
.ec .eq-hero-grade{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(300px,26vw,380px)}
.ec .eq-hero-txt{background:var(--creme-2);display:flex;flex-direction:column;justify-content:center;
  padding:var(--bloco-y) var(--s7) var(--bloco-y) max(var(--gutter),calc((100vw - var(--container))/2 + var(--gutter)))}
.ec .eq-hero-foto{position:relative;overflow:hidden}
.ec .eq-hero-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ec .p-ini{grid-template-columns:1fr}
.ec .p-ini-foto{position:relative;aspect-ratio:21/7;min-height:0}
.ec .eq-lista{display:grid;gap:var(--s7)}
.ec .eq-p{display:grid;grid-template-columns:180px 1fr;gap:var(--s6);align-items:center;max-width:1040px}
.ec .eq-p:nth-child(even){grid-template-columns:1fr 180px;margin-left:auto}
.ec .eq-p:nth-child(even) .eq-foto{order:2}
.ec .eq-p.sem-foto{grid-template-columns:1fr}
.ec .eq-foto{width:180px;aspect-ratio:1/1;border-radius:50%}
.ec .eq-txt h3{font-size:var(--t-bloco)}
.ec .eq-txt p{font-size:var(--t-corpo-s);line-height:1.72;max-width:62ch}
.ec .p-logos{border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}

/* ======================= D - MOSAICO (titulo fixo + grade densa) ======================= */
.ed .p-hero .capa{opacity:.42}
.ed .eq-sec .container{display:grid;grid-template-columns:230px 1fr;gap:var(--s7)}
.ed .eq-cabeca{position:sticky;top:112px;align-self:start}
.ed .eq-cabeca h2{font-size:var(--t-bloco);line-height:1.3}
.ed .eq-cabeca .risca{margin-top:var(--s3)}
.ed .eq-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6) var(--s5)}
.ed .eq-p{display:block}
.ed .eq-foto{width:92px;aspect-ratio:1/1;border-radius:50%;margin-bottom:var(--s3)}
.ed .eq-txt h3{font-size:var(--t-corpo-s);line-height:1.35}
.ed .eq-txt p{font-size:.82rem;line-height:1.6}
.ed .eq-sec.alt{background:var(--creme-2)}

/* ================= responsivo ================= */
@media(max-width:1100px){
.ea .eq-lista{grid-template-columns:1fr}
.eb .eq-lista{grid-template-columns:repeat(2,1fr)}
.ed .eq-sec .container{grid-template-columns:1fr;gap:var(--s5)}
.ed .eq-cabeca{position:static}
.ed .eq-lista{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1000px){
.ec .eq-hero-grade{grid-template-columns:1fr}
.ec .eq-hero-foto{min-height:240px}
.ec .eq-hero-txt{padding:var(--bloco-y) var(--gutter)}
.ec .eq-p,.ec .eq-p:nth-child(even){grid-template-columns:140px 1fr;margin-left:0;gap:var(--s5)}
.ec .eq-p:nth-child(even) .eq-foto{order:0}
.ec .eq-foto{width:140px}
.eb .p-ini-foto{order:0}
}
@media(max-width:680px){
.ea .eq-p{grid-template-columns:96px 1fr}
.ea .eq-foto{width:96px}
.eb .eq-lista{grid-template-columns:1fr}
.ed .eq-lista{grid-template-columns:1fr}
.ec .eq-p,.ec .eq-p:nth-child(even){grid-template-columns:1fr}
.ec .eq-foto{width:120px}
}

/* ---- ajustes pos-revisao ---- */
/* C: o hero dividido precisa ocupar a largura toda (o .p-hero e flex) */
.ec .p-hero{background:transparent;display:block}
.ec .eq-hero-grade{width:100%}

/* D: quem nao tem foto fica com o nome alinhado aos demais da linha */
.ed .eq-p.sem-foto{padding-top:calc(92px + var(--s3))}

/* A/C: quem nao tem foto ganha recuo equivalente para nao quebrar o alinhamento */
.ea .eq-p.sem-foto .eq-txt{padding-left:calc(118px + var(--s4))}
.ec .eq-p.sem-foto .eq-txt{padding-left:calc(180px + var(--s6))}
@media(max-width:680px){
.ea .eq-p.sem-foto .eq-txt,.ec .eq-p.sem-foto .eq-txt{padding-left:0}
.ed .eq-p.sem-foto{padding-top:0}
}

/* C: o titulo fica sobre fundo creme, entao volta a cor escura */
.ec .eq-hero-txt .p-hero-txt h1{color:var(--titulo)}
.ec .eq-hero-txt .p-hero-txt .risca{background:var(--verde-esc)}

/* trava contra estouro horizontal: itens de grade nao podem crescer
   alem da faixa por causa do min-content do texto */
.eq .p-ini > *{min-width:0}
.eq .eq-lista > *{min-width:0}
.eq .eq-txt{min-width:0;overflow-wrap:break-word}
@media(max-width:1000px){
.eb .p-ini{grid-template-columns:1fr}
}

/* ===== retratos redondos + placeholder de quem nao tem foto =====
   Todas as fotos no mesmo padrao: circulo, recorte "cover", mesmo tamanho.
   Sem foto: circulo cinza com icone de camera no centro, ocupando o mesmo lugar. */
.eq .eq-foto{border-radius:50%}
.eq .eq-p.sem-foto .eq-txt{padding-left:0}
.eq .eq-p.sem-foto{padding-top:0}
.eq .eq-foto.eq-sem{display:flex;align-items:center;justify-content:center;background:#E3E5E1;color:#9AA29A}
.eq .eq-foto.eq-sem svg{width:34%;height:34%;display:block}

/* A: o retrato vira circulo, mesmo diametro para todos */
.ea .eq-p,.ea .eq-p.sem-foto{grid-template-columns:118px 1fr}
.ea .eq-foto{width:118px;aspect-ratio:1/1}

/* B: o cartao passa a ter retrato redondo centralizado no topo */
.eb .eq-p,.eb .eq-p.sem-foto{display:flex;flex-direction:column}
.eb .eq-foto,.eb .eq-p.sem-foto .eq-foto{display:block;width:132px;aspect-ratio:1/1;margin:var(--s5) auto 0;border-radius:50%}
.eb .eq-foto.eq-sem{display:flex}
.eb .eq-txt{text-align:center}

/* C e D mantem os diametros proprios */
.ec .eq-p.sem-foto,.ec .eq-p{grid-template-columns:180px 1fr}
.ec .eq-p:nth-child(even){grid-template-columns:1fr 180px}
.ed .eq-foto.eq-sem{width:92px}
@media(max-width:680px){
.ea .eq-p,.ea .eq-p.sem-foto{grid-template-columns:96px 1fr}
.ec .eq-p,.ec .eq-p:nth-child(even),.ec .eq-p.sem-foto{grid-template-columns:1fr}
}

/* ===== secao com uma unica pessoa: a ficha ocupa a linha inteira,
   assim nao sobra buraco do lado direito. Tamanho de fonte e de foto
   permanecem exatamente os mesmos. ===== */
.ea .eq-lista[data-n="1"]{grid-template-columns:1fr}
.ea .eq-lista[data-n="1"] .eq-p{grid-template-columns:118px 1fr;gap:var(--s5)}
.ea .eq-lista[data-n="1"] .eq-txt{max-width:none}
.ed .eq-lista[data-n="1"]{grid-template-columns:1fr}
.ed .eq-lista[data-n="1"] .eq-txt{max-width:86ch}
.eb .eq-lista[data-n="1"]{grid-template-columns:minmax(0,360px)}

/* secao com uma pessoa so: o texto usa a largura inteira da pagina */
.ea .eq-lista[data-n="1"] .eq-txt,.ea .eq-lista[data-n="1"] .eq-txt p{max-width:none}

/* ===== bloco de intro: foto exatamente da altura do texto, tudo centralizado =====
   Antes a foto tinha min-height de 340px e mandava na altura da linha: ficava
   mais alta que o texto, que sobrava no topo da propria caixa. */
.eq .p-intro .p-ini{align-items:stretch}
.eq .p-intro .p-ini-foto{min-height:0}
.eq .p-intro .p-ini-txt{display:flex;flex-direction:column;justify-content:center}
@media(max-width:1000px){
.eq .p-intro .p-ini-foto{aspect-ratio:16/9}
}

/* ===== correcao: a imagem vazava para fora da moldura =====
   A regra .pa .p-ini-foto img tinha min-height:340px (herdada do bloco
   INICIATIVA do O Projeto, onde o texto e mais alto). Como aqui a moldura
   passou a ter a altura do texto (258px), a imagem continuava com 340px e
   escapava 82px para baixo, encostando no fim do bloco. */
.eq .p-intro .p-ini-foto{min-height:0;overflow:hidden}
.eq .p-intro .p-ini-foto img{min-height:0}
/* trava geral: nenhuma imagem pode ultrapassar a propria moldura */
.proj .p-ini-foto{overflow:hidden}

/* who-we-are: no celular a foto do topo passava 90px da tela (min-width automatico do item de grade) */
.en-topo .p-ini > *{min-width:0}
.en-topo .p-ini-foto{max-width:100%}
/* ===== 17/10/2026 - Professores do curso e Autores dos estudos: VERSAO 3 aprovada (secao por edicao/tema, lista de nomes; espaco maior entre blocos) ===== */
main .vx .vx-lead{max-width:76ch;margin:var(--s4) 0 var(--s6);font-size:var(--t-corpo-s);line-height:1.7;text-align:left!important;color:var(--texto)}.vx .eq-txt h3{margin-bottom:6px}.vx .eq-txt p.eq-papel{font-family:var(--f-tit);font-size:.74rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--verde-esc);line-height:1.5;margin:0}main .vx .eq-txt p.eq-tema-txt{font-size:var(--t-corpo-xs);line-height:1.6;text-align:left!important;margin:0}.v3-bloco+.v3-bloco{margin-top:clamp(52px,5vw,76px)}main .v3 .v3-sub{font-family:var(--f-tit);font-size:var(--t-card);font-weight:700;color:var(--titulo);margin:0 0 var(--s3);display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;text-align:left!important}.v3-sub span{font-size:.72rem;color:var(--verde-esc);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.v3-nomes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--s5)}main .v3 .v3-nomes li{padding:9px 0;border-bottom:1px solid var(--linha);font-family:var(--f-tit);font-weight:500;font-size:var(--t-corpo-xs);color:var(--titulo);text-align:left!important;min-width:0}.v3-nomes em{font-weight:400;opacity:.7}@media(max-width:1100px){.v3-nomes{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.v3-nomes{grid-template-columns:repeat(2,minmax(0,1fr))}}