/* ═══════════════════════════════════════════════════════════
   VITRINE DE ARTEFATOS · 4 blocos
   ═══════════════════════════════════════════════════════════ */
.art{
  display:grid;grid-template-columns:1.08fr .92fr;gap:38px;align-items:center;
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-xl);
  padding:34px;margin-bottom:20px;position:relative;overflow:hidden;
  box-shadow:0 2px 4px rgba(18,20,34,.05);transition:box-shadow .3s,border-color .3s;
}
.art:hover{box-shadow:0 22px 56px rgba(18,20,34,.11);border-color:var(--edge)}
.art:last-child{margin-bottom:0}
.art{margin-bottom:0}
.tabbar{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-bottom:22px}
.tabb{
  padding:11px 16px;border-radius:var(--r);border:1px solid var(--line);
  background:var(--bg-1);color:var(--tx-3);font-family:var(--f-mono);font-size:10.5px;
  letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.2s;white-space:nowrap;
}
/* com muitos tipos, no celular vira faixa rolável em vez de bloco alto */
@media(max-width:820px){
  .tabbar{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;
    scrollbar-width:none;padding-bottom:4px;
    -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);
    mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .tabbar::-webkit-scrollbar{display:none}
  .tabb{flex-shrink:0}
}
.tabb:hover{color:var(--tx);border-color:var(--line-2);transform:translateY(-2px)}
.tabb[aria-selected="true"]{
  background:linear-gradient(120deg,var(--blue),var(--violet));color:#fff;border-color:transparent;
  box-shadow:0 10px 26px rgba(77,124,255,.3);
}
.pane{display:none}
[hidden]{display:none!important}
.pane.on{display:grid;animation:paneIn .38s cubic-bezier(.16,1,.3,1)}
@keyframes paneIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:560px){.tabb{padding:10px 14px;font-size:10px;letter-spacing:.06em}}
.art.rev .art-media{order:2}
.art.rev .art-body{order:1}
@media(max-width:900px){
  .art{grid-template-columns:1fr;gap:26px;padding:24px}
  .art.rev .art-media,.art.rev .art-body{order:initial}
}
.art-media{
  position:relative;background:linear-gradient(160deg,#101426,#1C1B3A);
  border-radius:var(--r-lg);padding:22px;display:flex;align-items:center;justify-content:center;min-height:270px;
  /* a moldura é sempre escura, então os tokens voltam ao tema escuro aqui dentro */
  --bg-1:#0E0F17;--bg-2:#12131D;--bg-3:#191B27;
  --line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.15);
  --tx:#F2F3F7;--tx-2:#A8AEC0;--tx-3:#767D92;
  color:var(--tx);
}
.art-media::before{content:"";position:absolute;inset:0;border-radius:var(--r-lg);pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:26px 26px}
.art-media > *{position:relative;z-index:1;width:100%}
.art-id{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--blue);display:flex;align-items:center;gap:10px;margin-bottom:14px}
.art-id::after{content:"";flex:1;height:1px;background:var(--line-2)}
.art-body h3{font-size:clamp(20px,2.4vw,25px);margin-bottom:12px}
.art-body > p{font-size:14.5px;color:var(--tx-2);line-height:1.68}
.prompt{
  display:flex;align-items:flex-start;gap:10px;margin:16px 0;padding:13px 15px;border-radius:var(--r);
  background:var(--bg-2);border:1px solid var(--line);font-family:var(--f-mono);font-size:11.5px;
  line-height:1.6;color:var(--tx-2);letter-spacing:-.01em;
}
.prompt b{color:var(--blue);font-weight:700;flex-shrink:0}
.art-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.art-list li{display:flex;gap:10px;font-size:13.5px;color:var(--tx-2);line-height:1.5}
.art-list .mk{width:17px;height:17px;font-size:10px;margin-top:2px;
  background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff}

/* ═══════ PERFIL · é para você? ═══════ */
.fit{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:stretch}
@media(max-width:860px){.fit{grid-template-columns:1fr}}
.fit-card{position:relative;isolation:isolate;border-radius:var(--r-xl);padding:30px;overflow:hidden;
  display:flex;flex-direction:column}
.fit-yes{
  background:linear-gradient(160deg,#141A38 0%,#1E1B46 55%,#2B1F5C 100%);
  border:1px solid rgba(139,92,246,.4);color:#F2F3F7;
  box-shadow:0 26px 62px rgba(77,124,255,.26);
}
.fit-yes::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,#8AA8FF,#B69CFF,transparent)}
.fit-yes::after{content:"";position:absolute;right:-16%;top:-28%;width:56%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(139,92,246,.32),transparent 66%);z-index:-1;pointer-events:none}
.fit-no{background:var(--bg-1);border:1px solid var(--line)}

.fit-hd{margin-bottom:22px}
.fit-eyebrow{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  display:block;margin-bottom:5px;color:var(--tx-3)}
.fit-yes .fit-eyebrow{color:#9DB4FF}
.fit-hd h3{font-size:clamp(19px,2.2vw,23px);margin:0}
.fit-yes .fit-hd h3{color:#fff}

.personas{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 4px;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12)}
.persona{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:var(--r-full);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  font-size:12.5px;font-weight:500;color:#DCE2F5}
.persona svg{width:13px;height:13px;color:#9DB4FF;flex-shrink:0}

.fit-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.fit-card li{display:flex;gap:13px;font-size:14.5px;line-height:1.5}
.fit-yes li{color:#D3D9EC}
.fit-no li{color:var(--tx-2)}
.fit-mk{width:21px;height:21px;border-radius:6px;flex-shrink:0;margin-top:1px;display:grid;place-items:center}
.fit-mk svg{width:12px;height:12px}
.fit-yes .fit-mk{background:linear-gradient(135deg,#4D7CFF,#8B5CF6);color:#fff}
.fit-no .fit-mk{background:rgba(18,20,34,.07);color:#9AA1B5}
.fit-foot{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);
  font-size:13.5px;color:#AAB4D4;line-height:1.6}
.fit-card ul{margin-bottom:26px}
.fit-no .fit-foot{border-top-color:var(--line);color:var(--tx-3)}

/* ═══════ COORDENAÇÃO E DOCENTES ═══════ */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:940px){.team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.team{grid-template-columns:1fr}}
.team-card{
  position:relative;isolation:isolate;display:flex;flex-direction:column;
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  transition:transform .25s;
}
.team-card:hover{transform:translateY(-4px)}
/* Moldura da foto do docente (recorte 4:3.1, object-fit cover) */
.ph{position:relative;aspect-ratio:4/3.1;overflow:hidden;flex-shrink:0;background:#161B33}
.ph svg,.ph img{width:100%;height:100%;object-fit:cover;display:block}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(11,13,24,.72))}
.team-bd{padding:20px 22px 24px;display:flex;flex-direction:column;gap:7px;flex:1}
.team-role{font-family:var(--f-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue-lt);display:flex;align-items:center;gap:7px}
.team-role i{width:5px;height:5px;border-radius:50%;background:currentColor;display:block}
.team-card.is-prof .team-role{color:var(--violet-lt)}
.team-bd h3{font-size:18px;margin:0}
.team-pos{font-size:13px;color:var(--tx-2);font-weight:500;margin:0}
.team-bd > p.team-desc{font-size:13.5px;color:var(--tx-3);line-height:1.6;margin-top:4px}
.team-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:14px}
/* a borda animada precisa ficar acima da foto, que é posicionada e pintaria por cima;
   e com inset 0, para não ser cortada pelo overflow:hidden do card */
.team-card::before{inset:0;z-index:3}


/* Depoimentos */
.quote{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;
  display:flex;flex-direction:column;gap:18px;transition:.25s;position:relative}
.quote:hover{transform:translateY(-4px)}
.stars{color:var(--blue-lt);font-size:13px;letter-spacing:3px}
.quote > p:last-child{margin-bottom:0}
.quote p{font-size:14.5px;line-height:1.7;color:var(--tx-2);flex:1}
.who{display:flex;align-items:center;gap:12px;padding-top:15px;border-top:1px solid var(--line)}
.av{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;
  background:linear-gradient(135deg,var(--blue),var(--violet));font-family:var(--f-mono);font-weight:700;font-size:12px}
.who b{display:block;font-size:13.5px;font-weight:600}
.who small{font-family:var(--f-mono);font-size:10px;color:var(--tx-3);letter-spacing:.05em}
