/* Team page: the team placed on the radar by area. Brand tokens come from brand.css. */
@font-face{font-family:Orbitron;font-style:normal;font-weight:600 800;font-display:swap;src:url(/assets/fonts/orbitron-latin.woff2?v=team-1) format('woff2');}
:root{color-scheme:dark;--display:Orbitron,"Eurostile","Arial Black",sans-serif;--muted:#aeb8c3;--subtle:#74808d;}
*{box-sizing:border-box;}
body{margin:0;background:var(--brand-ink);color:var(--brand-pale);font:15px/1.55 Inter,ui-sans-serif,system-ui,sans-serif;}
a{color:var(--brand-link);}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--brand-cyan);color:var(--brand-ink);padding:8px 12px;border-radius:6px;}
.skip-link:focus{left:8px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
main{max-width:1180px;margin:0 auto;padding:40px 24px 64px;}

.team-heading{max-width:820px;}
.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--brand-cyan);font-weight:700;margin:0;}
h1{margin:10px 0 12px;font:800 clamp(24px,3.6vw,38px)/1.12 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#fff;text-wrap:balance;}
.intro{margin:0;color:var(--muted);max-width:68ch;font-size:16px;}
.sponsor{margin:14px 0 0;font:500 13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);}
.sponsor strong{color:var(--brand-pale);font-weight:500;}

.team-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:36px;align-items:center;margin-top:32px;}
.team-radar{width:100%;max-width:520px;aspect-ratio:1;margin:0 auto;}
.team-radar svg{display:block;width:100%;height:100%;}
.ring{fill:none;stroke:var(--brand-border);stroke-width:1;}
.axis{stroke:var(--brand-border);stroke-width:1;stroke-dasharray:3 5;}
.sector{fill:var(--subtle);font:500 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;}
.sweep{transform-origin:260px 260px;animation:team-spin 7s linear infinite;}
@keyframes team-spin{to{transform:rotate(360deg);}}
.blip{cursor:pointer;}
.blip .avatar-bg{fill:var(--brand-surface-raised);}
.blip .avatar-ring{fill:none;stroke:var(--brand-cyan);stroke-width:2;transition:stroke-width .15s;}
.blip text{fill:var(--brand-pale);font:600 14px Inter,ui-sans-serif,system-ui,sans-serif;}
.blip .pulse{fill:none;stroke:var(--brand-cyan);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:team-pulse 2.2s ease-out infinite;}
.blip[aria-pressed="true"] .pulse{animation:none;opacity:0;}
.blip[aria-pressed="true"] .avatar-ring{stroke:#fff;stroke-width:3;}
.blip[aria-pressed="true"] text{fill:#fff;}
.blip:hover .avatar-ring{stroke-width:4;}
.blip:hover text{fill:#fff;text-decoration:underline;}
@keyframes team-pulse{0%{transform:scale(1);opacity:.7;}100%{transform:scale(1.7);opacity:0;}}
.blip:focus{outline:none;}
.blip:focus-visible .avatar-ring{stroke:var(--brand-link);stroke-width:4;}

.member{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:start;padding:24px;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:10px;}
.member-photo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:6px;background:var(--brand-surface-raised);}
.member-area{font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-cyan);}
.member-name{margin:10px 0 0;font:600 clamp(16px,1.9vw,19px)/1.25 var(--display);letter-spacing:.1em;text-transform:uppercase;color:#fff;text-wrap:balance;}
.member-role{margin:6px 0 0;color:var(--brand-pale);}
.member-aff{margin:2px 0 0;color:var(--muted);font-size:14px;}
.member-bio{margin:12px 0 16px;color:var(--muted);font-size:14px;max-width:52ch;}
.member-links{display:flex;flex-wrap:wrap;gap:8px;}
.chip{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 12px;border:1px solid var(--brand-border);border-radius:6px;color:var(--brand-pale);text-decoration:none;font:600 13px/1 Inter,ui-sans-serif,system-ui,sans-serif;}
/* A hidden button stays hidden: .chip sets display, which would otherwise override [hidden]. */
.chip[hidden]{display:none;}
.chip svg{width:15px;height:15px;fill:currentColor;}
.chip:hover{border-color:var(--brand-cyan);color:var(--brand-link);}
.chip:focus-visible{outline:2px solid var(--brand-link);outline-offset:3px;}

.hint{margin:16px 0 0;color:var(--muted);font-size:13px;}
.roster{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.roster button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:6px 14px 6px 6px;border:1px solid var(--brand-border);border-radius:999px;background:transparent;color:var(--muted);font:600 13px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;}
.roster button:hover{color:#fff;border-color:var(--brand-cyan);}
.roster button[aria-pressed="true"]{background:var(--brand-cyan);border-color:var(--brand-cyan);color:var(--brand-ink);}
.roster button img{width:28px;height:28px;border-radius:50%;object-fit:cover;}
.roster button:focus-visible{outline:2px solid var(--brand-link);outline-offset:3px;}

@media(max-width:900px){.team-layout{grid-template-columns:1fr;}.team-radar{max-width:420px;}}
@media(max-width:520px){main{padding:28px 16px 48px;}.member{grid-template-columns:1fr;}.member-photo{width:120px;}}
@media(prefers-reduced-motion:reduce){.sweep,.blip .pulse{animation:none;}}
