#team{
  position:relative; z-index:3;
  background:#fff;
  height:calc(740 * var(--vhu));
  color:#000;
  overflow:clip;
}
.team__title{
  position:absolute; left:calc(324 * var(--u)); top:calc(101 * var(--vhu));
  font-size:calc(53 * var(--u));
  line-height:calc(55 * var(--vhu));   /* +6: acento de TRÁS */
}
.team__title span{display:block; width:fit-content}
.team__title .l1{color:#BBBBBB}
.team__title .l2{color:#262626}
.team__sub{
  position:absolute; left:calc(324 * var(--u)); top:calc(219 * var(--vhu));
  width:calc(377 * var(--u));
  font-size:calc(12 * var(--u)); line-height:calc(13 * var(--vhu));
  color:#666;
}
.team__ctrl{
  position:absolute; right:var(--gutter); top:calc(236 * var(--vhu));
  display:flex; align-items:center; gap:calc(19 * var(--u));
  font-size:calc(8.5 * var(--u)); color:#000;
}
.team__ctrl .sep{display:block; width:1px; height:calc(11 * var(--vhu)); background:#E6E6E6}
.team__ctrl button{padding:0; letter-spacing:.08em; font:inherit; text-transform:uppercase; cursor:none}
.team__rule{
  position:absolute; left:calc(323 * var(--u)); right:var(--gutter); top:calc(272 * var(--vhu));
  height:1px; background:#ECECEC;
}
.team__progress{
  position:absolute; left:calc(323 * var(--u)); top:calc(272 * var(--vhu));
  height:1px; background:#808080;
  width:calc(43.6 * var(--u));
  transition:width 1s cubic-bezier(.9,.2,.7,.7);
}
.team__counter{
  position:absolute; left:var(--gutter); top:calc(270 * var(--vhu));
  font-size:calc(8.5 * var(--u)); color:#BBBBBB;
}
.team__viewport{
  position:absolute; left:calc(323 * var(--u)); right:0; top:calc(299 * var(--vhu));
  height:calc(345 * var(--vhu));   /* +25: legenda com nome em duas linhas */
  overflow:hidden;
}
.team__track{
  display:flex; gap:calc(13.5 * var(--u));
  transition:transform .3s cubic-bezier(.25,.1,.25,1);
  will-change:transform;
}
.team__slide{
  position:relative; flex:none;
  width:calc(208.5 * var(--u));
}
.team__tile{position:relative; width:100%; height:calc(242 * var(--vhu)); overflow:hidden; background:#fff}
.team__tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.team__tile .photo{opacity:0}
.team__tile .dots{opacity:1}
.team__slide.is-active .photo{opacity:1}
.team__slide.is-active .dots{opacity:0}
.team__cap{position:absolute; left:calc(1.5 * var(--u)); top:calc(262 * var(--vhu)); width:calc(100% - 6 * var(--u)); opacity:1; white-space:normal}   /* nome e cargo sempre visíveis; nomes longos quebram linha */
.team__slide:not(.is-active) .team__cap .name{color:#9A9A9A}
.team__slide:not(.is-active) .team__cap .role{color:#9A9A9A}
.team__cap .name, .team__cap .role{transition:color .33s ease}
.team__cap .name{display:block; font-size:calc(18 * var(--u)); line-height:1; color:#000}
.team__cap .role{display:block; margin-top:calc(11 * var(--vhu)); font-size:calc(12.5 * var(--u)); color:#333}
.team__bios{
  position:absolute; left:var(--gutter); top:calc(425 * var(--vhu));
  width:calc(208 * var(--u));
}
.team__bio{
  position:absolute; left:0; top:0; width:100%;
  font-size:calc(12 * var(--u)); line-height:calc(12.8 * var(--vhu));
  color:#5A5A5A; opacity:0;
}
.team__bio.is-active{opacity:1}
.team__more{
  position:absolute; left:var(--gutter); top:calc(616 * var(--vhu));
  font-size:calc(8.5 * var(--u)); color:#000;
}
.team__join{
  position:absolute; right:var(--gutter); top:calc(640 * var(--vhu));   /* abaixo das legendas (nome/cargo agora em todos os slides) */
  width:calc(118 * var(--u)); height:calc(32 * var(--vhu));
  border:1px solid #DADADA; color:#000; padding:0;
  font-size:calc(10 * var(--u));
}
.team__media{opacity:1}
/* afordância do perfil: foto do slide ativo (quem tem dossiê) */
.team__slide.is-active .team__tile[data-cursor]{cursor:pointer}
.team__slide.is-active .team__tile[data-cursor] .photo{transition:opacity .33s ease, transform .7s cubic-bezier(.2,.7,.2,1)}
.team__slide.is-active .team__tile[data-cursor]:hover .photo{transform:scale(1.04)}
.team__open{
  position:absolute; left:calc(10 * var(--u)); bottom:calc(10 * var(--u)); z-index:2;
  display:inline-flex; align-items:center; gap:calc(5 * var(--u));
  background:#0C0C0C; color:#fff; font-size:calc(7.5 * var(--u)); letter-spacing:.12em;
  padding:calc(6 * var(--u)) calc(9 * var(--u));
  opacity:0; transform:translateY(calc(6 * var(--u))); transition:opacity .25s ease, transform .25s ease; pointer-events:none;
}
.team__open i{font-style:normal; color:#8CF0AE}
.team__slide.is-active .team__tile[data-cursor]:hover .team__open{opacity:1; transform:none}
.team__slide.has-profile .team__cap{cursor:pointer}
/* foto recortada (alpha): card holográfico (HoloCard, Three.js) atrás + raio como filtro translúcido na frente */
.team__tile.is-cutout{background:#E4E4E4}
.team__tile .holo{position:absolute; inset:0; z-index:0; width:100%; height:100%}   /* inativo: cinza; ativo: colorido (uSat no shader) */
.team__tile.is-cutout img{z-index:1}
.team__tile.is-cutout .photo{object-position:top center; transition:opacity .33s ease, transform .8s cubic-bezier(.2,.7,.2,1)}
.team__tile.is-cutout .dots{object-position:top center}
.team__mark{
  position:absolute; right:-28%; top:-8%; width:92%; height:118%; z-index:2; pointer-events:none;
  background:#fff; opacity:0; mix-blend-mode:overlay;
  -webkit-mask:var(--bolt-mask) center/contain no-repeat; mask:var(--bolt-mask) center/contain no-repeat;
  transition:opacity .45s ease, transform 1.1s cubic-bezier(.2,.7,.2,1);
  animation:mark-float 7s ease-in-out infinite;
}
.team__slide.is-active .team__mark{opacity:.32}
.team__slide.is-active .team__tile.is-cutout:hover .team__mark{opacity:.48; transform:translate(-3%, 2%) rotate(-4deg)}
.team__slide.is-active .team__tile.is-cutout:hover .photo{transform:scale(1.03)}
.team__tile.is-cutout .team__open{z-index:3}
@keyframes mark-float{0%,100%{translate:0 0}50%{translate:0 2%}}
/* sem WebGL: gradiente CSS animado */
.holo--css{background:linear-gradient(135deg,#1a6b3e,#4FA845,#bff5d6,#3fd17a,#1a6b3e); background-size:300% 300%; animation:holo-css 9s ease-in-out infinite}
.holo--css.is-boost{animation-duration:4s}
@keyframes holo-css{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
/* setas do carrossel: círculos nas bordas da área dos cards (além de ANTERIOR/PRÓXIMO) */
.team__arrow{
  position:absolute; z-index:4; top:calc(299 * var(--vhu) + 121 * var(--vhu) - 19 * var(--u));
  width:calc(38 * var(--u)); height:calc(38 * var(--u)); border-radius:50%;
  background:#fff; border:1px solid #DADADA; color:#0C0C0C; padding:0;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .3s cubic-bezier(.2,.7,.2,1), opacity .3s ease;
}
.team__arrow svg{width:calc(14 * var(--u)); height:calc(14 * var(--u)); display:block}
.team__arrow:hover{background:#0C0C0C; color:#fff; border-color:#0C0C0C; transform:scale(1.08)}
.team__arrow--prev{left:calc(323 * var(--u) - 19 * var(--u))}
.team__arrow--next{right:calc(var(--gutter) - 6 * var(--u))}
.team__viewport{cursor:grab; user-select:none; -webkit-user-drag:none; touch-action:pan-y}
.team__tile img, .team__tile canvas{pointer-events:none; -webkit-user-drag:none; user-select:none}   /* sem drag nativo de imagem: o tile recebe o arraste */
.team__viewport.is-dragging{cursor:grabbing}
.team__viewport.is-dragging .team__track{transition:none}
