.team-page{min-height:70vh;padding:42px 0 96px;background:var(--paper)}
.team-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:42px;width:min(1380px,calc(100% - 48px));margin:0 auto}
.team-directory{align-self:start;position:sticky;top:100px;min-width:0;border-top:1px solid var(--line)}
.team-categories{display:block}
.team-category{display:block;width:100%;padding:15px 12px;border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;background:transparent;color:var(--muted);text-align:left;font:700 13px var(--sans);cursor:pointer}
.team-category:hover,.team-category.is-active{border-left-color:var(--coral);background:var(--sage);color:var(--forest)}
.team-members-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.team-members-head h1{margin:0;color:var(--forest-deep);font-size:clamp(34px,4vw,52px);line-height:1.15}
.team-members-head>span{color:var(--muted);font:11px var(--mono)}
.team-groups{display:grid;gap:0}
.leadership-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;border-bottom:1px solid var(--line)}
.leadership-row .team-group{border-bottom:0}
.leadership-row .member-grid{grid-template-columns:1fr}
.team-group{padding:38px 0 46px;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.team-group-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.team-group-head h2{margin:0;color:var(--forest-deep);font-size:clamp(25px,3vw,36px)}
.team-group-head span{color:var(--muted);font:11px var(--mono)}
.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.member-card{display:grid;grid-template-columns:150px minmax(0,1fr);min-width:0;border:1px solid var(--line);background:var(--white);transition:transform .18s,box-shadow .18s}
.member-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,58,45,.1)}
.member-card-placeholder{border-style:dashed}.member-card-placeholder:hover{transform:none;box-shadow:none}.member-card-placeholder .member-card-copy{opacity:.72}
.member-photo{display:grid;place-items:center;align-self:start;aspect-ratio:3/4;min-height:0;overflow:hidden;background:var(--sage);color:var(--forest);font-size:48px;font-weight:800}
.member-photo img{display:block;min-width:0;min-height:0;width:100%;height:100%;object-fit:cover;object-position:var(--crop-x,50%) var(--crop-y,50%);transform:scale(var(--crop-zoom,1));transform-origin:var(--crop-x,50%) var(--crop-y,50%);background:var(--sage)}
.member-photo img.is-placeholder{object-fit:contain;transform:none;padding:28px;background:var(--sage);filter:grayscale(1) opacity(.62)}
.member-photo img[src$="member-photo-placeholder.png"]{object-fit:contain;transform:none;padding:28px;background:var(--sage);filter:grayscale(1) opacity(.62)}
.member-card-copy{min-width:0;padding:22px;overflow-wrap:anywhere}
.member-role{margin:0 0 7px;color:var(--coral);font:11px var(--mono)}
.member-card h3{margin:0 0 7px;color:var(--forest-deep);font-size:22px}
.member-title{margin:0 0 13px;color:var(--forest);font-size:13px;font-weight:700}
.member-summary{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.7}
.member-placeholder-note{margin:0;color:var(--ink);font-size:13px;line-height:1.7}
.member-link{display:inline-flex;max-width:100%;margin-top:17px;color:var(--forest);font-size:12px;font-weight:800;white-space:normal;overflow-wrap:anywhere}
.member-link-pending{display:inline-flex;max-width:100%;margin-top:17px;color:var(--muted);font-size:12px;font-weight:700;white-space:normal;overflow-wrap:anywhere}
.team-empty{grid-column:1/-1;padding:24px;border:1px dashed var(--line);background:var(--sage);color:var(--muted)}
@media(max-width:1100px){.member-grid{grid-template-columns:1fr}}
@media(max-width:900px){.team-page{padding-top:0}.team-shell{grid-template-columns:1fr;gap:24px;width:min(100% - 32px,720px)}.team-directory{z-index:5;top:0;padding-top:10px;background:var(--paper);border-top:0}.team-categories{display:flex;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:thin}.team-category{flex:0 0 auto;width:auto;white-space:nowrap;border-left:0;border-bottom:3px solid transparent}.team-category:hover,.team-category.is-active{border-left:0;border-bottom-color:var(--coral)}.leadership-row{grid-template-columns:1fr;gap:0}.leadership-row .team-group:first-child{border-bottom:1px solid var(--line)}.team-group{scroll-margin-top:72px}}
@media(max-width:560px){.team-members-head h1{font-size:32px}.member-card{grid-template-columns:1fr}.member-photo{aspect-ratio:3/4;min-height:0}.member-card-copy{padding:19px}}
