.team-hero{padding:70px 0 65px}
.team-directory{padding-top:55px}
.team-filter-panel{display:grid;grid-template-columns:290px minmax(0,1fr);align-items:center;gap:clamp(30px,6vw,90px);padding:10px 0 55px}
.team-filter-map svg{display:block;width:100%;height:auto;overflow:visible}
.team-filter-map line,.person-fingerprint line{stroke:rgba(250,250,247,.08);stroke-width:1}
.team-filter-map line.is-active,.person-fingerprint line.is-active{stroke:rgba(250,250,247,.3)}
.fingerprint-hit{fill:transparent;stroke:none;pointer-events:all}
.fingerprint-node{fill:#66706c;opacity:.35}
.fingerprint-ring{fill:none;stroke:transparent;stroke-width:1.5}
g.is-active .fingerprint-node{fill:var(--domain-colour);opacity:1}
g.is-active .fingerprint-ring{stroke:var(--domain-colour);opacity:.5}
.team-filter-map g{cursor:pointer;outline:none}
.team-filter-map g[aria-pressed=true] .fingerprint-ring,.team-filter-map g:focus-visible .fingerprint-ring{stroke:var(--off-white);stroke-width:3;opacity:1}
.team-filter-map g:hover .fingerprint-node{opacity:1;fill:var(--domain-colour)}
.team-filter-copy h3{margin:0 0 15px;font-size:clamp(22px,2.7vw,32px);line-height:1.25;letter-spacing:-.04em}
.team-filter-copy>p{font-size:14px;line-height:1.75;color:var(--muted);max-width:540px}
.team-domain-filters{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}
.team-domain-filters button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:none;color:var(--muted);padding:10px 12px;min-height:44px;font-size:11px;cursor:pointer}
.team-domain-filters button::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--domain-colour)}
.team-domain-filters button span{font-variant-numeric:tabular-nums;opacity:.65}
.team-domain-filters button:hover,.team-domain-filters button[aria-pressed=true]{border-color:var(--domain-colour);color:var(--off-white)}
.team-filter-result{display:flex;align-items:center;justify-content:space-between;gap:18px}
#team-filter-status{margin:0;color:var(--off-white);font-size:13px;line-height:1.5}
#team-reset{border:0;border-bottom:1px solid var(--line-strong);background:none;color:var(--muted);font-size:11px;padding:9px 0;cursor:pointer;white-space:nowrap}
#team-reset:disabled{opacity:.35;cursor:default}
.team-domain-filters button:focus-visible,#team-reset:focus-visible,.person-bio summary:focus-visible,.person-links a:focus-visible{outline:2px solid var(--ochre);outline-offset:5px}
.team-directory .team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:start}
.team-directory .team-card,.team-directory .team-card:not(:first-child){display:block;min-height:0;padding:30px 26px 28px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.team-directory .team-card:first-child{padding-left:0}
.team-directory .team-card:last-child{border-right:0;padding-right:0}
.team-directory .team-card h3{font-size:clamp(23px,2.4vw,30px);line-height:1.2;letter-spacing:-.045em;margin:0 0 12px}
.person-role{margin:0;color:var(--ochre);font-size:14px;line-height:1.5}
.person-affiliation{margin:8px 0 0;font-size:11px;line-height:1.7;color:var(--muted)}
.person-fingerprint{width:min(100%,235px);margin:28px auto 18px}
.person-fingerprint svg{display:block;width:100%;height:auto}
.person-domain-caption{min-height:38px;text-align:center;color:var(--muted);font-size:11px;line-height:1.7;margin:0 0 24px}
.person-bio{border-top:1px solid var(--line);padding-top:16px}
.person-bio summary{display:flex;justify-content:space-between;list-style:none;font-size:12px;color:var(--off-white);cursor:pointer;min-height:32px;align-items:center}
.person-bio summary::-webkit-details-marker{display:none}
.person-bio summary span{font-size:20px;font-weight:400;color:var(--muted)}
.person-bio[open] summary span{transform:rotate(45deg)}
.person-bio>p{font-size:12px;line-height:1.8;color:var(--muted);margin:18px 0}
.person-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:20px}
.person-links a{font-size:11px;line-height:1.6;color:var(--ochre);overflow-wrap:anywhere}
.team-empty{grid-column:1/-1;color:var(--muted);padding:30px 0}
@media(max-width:900px){.team-filter-panel{grid-template-columns:220px minmax(0,1fr);gap:35px}.team-directory .team-card,.team-directory .team-card:not(:first-child){padding:25px 17px}.team-directory .team-card:first-child{padding-left:0}.team-directory .team-card:last-child{padding-right:0}}
@media(max-width:680px){
 .team-hero{padding:45px 0}.team-directory{padding-top:40px}
 .team-filter-panel{grid-template-columns:1fr;gap:18px;padding-bottom:35px}
 .team-filter-map{width:215px;margin:auto}.team-filter-copy h3{font-size:25px}
 .team-domain-filters{gap:8px}.team-domain-filters button{font-size:11px;padding:10px}
 .team-directory .team-grid{grid-template-columns:1fr}
 .team-directory .team-card,.team-directory .team-card:not(:first-child),.team-directory .team-card:last-child{padding:28px 0;border-right:0}
 .team-directory .team-card h3{font-size:28px}.person-fingerprint{width:230px;margin:22px auto 12px}
 .person-domain-caption{min-height:0}.person-bio>p{font-size:14px}
}
@media(min-width:681px){.team-directory .team-card>header{min-height:105px}}
#team-heading{scroll-margin-top:100px}
/* Labelled shared network and quiet, inline personal signatures. */
.team-filter-panel{display:block;padding:0 0 35px}
.team-filter-map{width:min(100%,650px);margin:0 auto}
.fingerprint-label{font-family:Manrope,system-ui,sans-serif;font-size:17px;fill:var(--muted);font-weight:400}
.team-filter-map g.is-active .fingerprint-label{fill:var(--off-white)}
.team-filter-map g[aria-pressed=true] .fingerprint-label,.team-filter-map g:hover .fingerprint-label{fill:var(--domain-colour)}
.team-filter-copy{max-width:650px;margin:5px auto 0}
.team-filter-copy>p{text-align:center;font-size:12px;max-width:none;margin:0 0 20px}
.team-filter-result{padding-top:15px;border-top:1px solid var(--line)}
.person-name-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.team-directory .person-name-row h3{font-size:clamp(22px,2vw,28px);margin:0;min-width:0}
.person-fingerprint{width:58px;height:58px;flex:0 0 58px;margin:0}
.person-fingerprint svg{width:100%;height:100%}
.team-directory .team-card>header{min-height:0;margin-bottom:22px}
.person-bio{margin-top:22px}
@media(min-width:681px) and (max-width:1000px){.team-directory .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-directory .team-card:nth-child(2n){border-right:0}.team-directory .team-card:last-child{padding-right:17px}}
@media(max-width:680px){.team-filter-map{width:100%;max-width:440px}.team-filter-panel{padding-bottom:28px}.team-filter-copy>p{font-size:12px}.person-fingerprint{width:52px;height:52px;flex-basis:52px;margin:0}.team-directory .person-name-row h3{font-size:25px}}
@media(max-width:680px){.fingerprint-label{font-size:21px}}
/* Keep the tiny personal signatures legible without enlarging the layout. */
.person-fingerprint line.is-active{stroke:rgba(250,250,247,.85);stroke-width:3.5}
.person-fingerprint g.is-active .fingerprint-node{r:12px;opacity:1}
.person-fingerprint g.is-active .fingerprint-ring{r:18px;stroke-width:2.5;opacity:.8}
.person-fingerprint g:not(.is-active) .fingerprint-node{opacity:.2}
