/* Equipe da rádio: níveis como faixas de frequência, equipes como grupos, funções como chips. */
.team-directory-tools{display:grid;gap:16px}.team-directory-tools .team-search{margin-bottom:0}
.team-role-filters button[style*="--chip"]:not([aria-pressed=true])::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--chip);box-shadow:0 0 0 3px color-mix(in srgb,var(--chip) 18%,transparent)}
.team-levels{display:grid;gap:clamp(30px,4vw,46px);margin-top:8px}
.team-level{--rail:clamp(156px,15vw,204px);display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:clamp(18px,3vw,36px);position:relative}
.team-level-head{align-self:start;display:grid;gap:6px;padding:4px 0 18px 18px;position:sticky;top:112px}
.team-level-head::before{content:"";position:absolute;left:0;top:6px;bottom:0;width:2px;border-radius:2px;background:linear-gradient(var(--level),color-mix(in srgb,var(--level) 0%,transparent));transform-origin:top;animation:team-signal .9s cubic-bezier(.22,1,.36,1) both}
.team-level-index{font-size:13px;font-weight:800;letter-spacing:.18em;color:var(--level);font-variant-numeric:tabular-nums}
.team-level-head h2{margin:0;font-size:clamp(21px,2.1vw,28px);line-height:1.08;letter-spacing:-.02em;color:var(--text,#f8f3ff);overflow-wrap:break-word;hyphens:auto}
.team-level-count{font-size:12.5px;color:var(--muted,#a5a5c5)}
.team-level-body{display:grid;gap:22px;min-width:0}
.team-unit{display:grid;gap:12px}
.team-unit-name{display:flex;align-items:center;gap:10px;margin:0;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--team) 70%,var(--text,#f8f3ff))}
.team-unit-name span{width:8px;height:8px;border-radius:2px;background:var(--team);transform:rotate(45deg)}
.team-unit-name::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--team) 40%,transparent),transparent)}
.team-unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,264px),1fr));gap:14px}
.team-levels .team-member{display:flex;align-items:flex-end;gap:14px;min-width:0;padding:14px 18px 16px 12px;background:linear-gradient(160deg,color-mix(in srgb,var(--team,#a6accb) 9%,var(--surface,#12152e)),var(--surface,#12152e) 62%);border:1px solid color-mix(in srgb,var(--team,#a6accb) 22%,var(--stroke,#2d2e50));border-radius:16px;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s}
.team-levels .team-member:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--team,#a6accb) 55%,var(--stroke,#2d2e50))}
.team-member-avatar{flex:none;width:64px;height:110px;object-fit:contain;object-position:bottom;image-rendering:pixelated;margin-bottom:-4px;filter:drop-shadow(0 6px 8px #05061599)}
.team-member-body{min-width:0;align-self:center}
.team-levels .team-member h3{margin:0 0 9px;font-size:19px;line-height:1.2;overflow-wrap:anywhere}.team-levels .team-member h3 a{color:inherit;text-decoration:none}.team-levels .team-member h3 a:hover{color:var(--brand,#d98aff)}
.team-levels .team-member h3 a:focus-visible{outline:2px solid var(--brand,#d98aff);outline-offset:3px;border-radius:4px}
.team-functions{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.team-functions li{font-size:11.5px;font-weight:750;line-height:1;padding:6px 9px;border-radius:999px;color:color-mix(in srgb,var(--chip) 82%,#fff);background:color-mix(in srgb,var(--chip) 13%,transparent);border:1px solid color-mix(in srgb,var(--chip) 38%,transparent)}
.team-levels .team-member-bio{margin:10px 0 0;font-size:13.5px;line-height:1.6;color:var(--muted,#b6b4cc);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@keyframes team-signal{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}
@media(max-width:760px){.team-level{grid-template-columns:1fr;gap:14px}.team-level-head{position:relative;top:auto;grid-template-columns:auto 1fr auto;align-items:baseline;gap:12px;padding:0 0 12px;border-bottom:1px solid color-mix(in srgb,var(--level) 35%,transparent)}.team-level-head::before{display:none}.team-level-head h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.team-level-head::before{animation:none}.team-levels .team-member{transition:none}.team-levels .team-member:hover{transform:none}}
.team-level{padding:clamp(16px,2.4vw,26px);border-radius:22px;background:color-mix(in srgb,var(--surface,#12152e) 82%,transparent);border:1px solid color-mix(in srgb,var(--level) 20%,var(--stroke,#2d2e50));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

/* Compact roster: more people per row, less empty space. */
.team-unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.team-member{gap:10px;padding:10px 14px 10px 8px}
.team-member-avatar{width:48px;height:84px}
.team-member h3{margin:0 0 6px;font-size:16px}
.team-member-bio{margin-top:6px;font-size:12.5px;line-height:1.45;-webkit-line-clamp:2}
.team-level-body{gap:16px}
