/* Members — person cards, hub index, alumni table */
.hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.hub a{position:relative;padding:clamp(22px,2.6vw,34px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .26s var(--e)}
.hub a:hover{background:var(--accent-soft)}
.hub .n{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.16em;color:var(--accent)}
.hub h3{font-size:clamp(16px,1.7vw,21px);margin-top:16px;color:var(--ink)}
.hub a:hover h3{color:var(--accent)}
.hub p{color:var(--ink-2);font-size:15px;margin-top:10px;max-width:30ch}
.hub .c{position:absolute;top:clamp(22px,2.6vw,34px);right:clamp(22px,2.6vw,34px);font-family:var(--f-disp);font-size:26px;font-weight:600;color:transparent;-webkit-text-stroke:1px var(--line-2)}

.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:clamp(12px,1.4vw,18px)}
.pc{position:relative;background:var(--bg-2);border:1px solid var(--line);transition:border-color .26s var(--e),transform .26s var(--e)}
.pc:hover{border-color:var(--line-2);transform:translateY(-2px)}
.pc .ph{border:none;border-bottom:1px solid var(--line)}
.pc__b{padding:16px 17px 18px}
.pc__i{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;color:var(--ink-3)}
.pc__n{font-family:var(--f-disp);font-size:17px;font-weight:600;color:var(--ink);margin-top:10px;line-height:1.25}
.pc__kr{font-family:var(--f-kr);font-size:14px;color:var(--ink-3);margin-top:3px}
.pc__d{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}
.pc__r{margin-top:11px;display:flex;flex-direction:column;gap:5px}
.pc__r span{font-size:14px;color:var(--ink-2);position:relative;padding-left:14px;line-height:1.5}
.pc__r span::before{content:"";position:absolute;left:0;top:.66em;width:6px;height:1px;background:var(--accent)}
.pc__m{display:block;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.02em;color:var(--ink-3);margin-top:13px;word-break:break-all}
.pc__m:hover{color:var(--accent)}
.pc__tag{position:absolute;top:11px;left:11px;z-index:2;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;background:var(--accent);color:#fff}

/* professor */
.prof{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(28px,4vw,60px);align-items:start}
.tl{border-top:1px solid var(--line)}
.tl__r{display:grid;grid-template-columns:minmax(140px,180px) minmax(0,1fr);gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}
.tl__p{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;color:var(--accent);white-space:nowrap}
.tl__d{font-size:15px;color:var(--ink-2)}

/* alumni table */
.atab{border-top:1px solid var(--line)}
.atab__h,.atab__r{display:grid;grid-template-columns:44px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.5fr);gap:clamp(12px,2vw,26px);align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.atab__h{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.atab__r{transition:background .2s var(--e)}
.atab__r:hover{background:var(--accent-soft)}
.atab__n{font-family:var(--f-mono);font-size:12px;color:var(--ink-3)}
.atab__name{font-family:var(--f-disp);font-size:16px;font-weight:600;color:var(--ink)}
.atab__kr{font-family:var(--f-kr);font-size:13px;color:var(--ink-3);margin-left:8px;font-weight:400}
.atab__deg{font-family:var(--f-mono);font-size:12px;letter-spacing:.05em;color:var(--ink-2)}
.atab__pos{font-size:15px;color:var(--ink-2)}

.crumb{display:flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.crumb a{color:var(--ink-3)}
.crumb a:hover{color:var(--accent)}

@media (max-width:900px){
  .prof{grid-template-columns:1fr}
  .tl__r{grid-template-columns:1fr;gap:4px}
}
@media (max-width:700px){
  .atab__h{display:none}
  .atab__r{grid-template-columns:34px minmax(0,1fr);gap:4px 12px}
  .atab__deg,.atab__pos{grid-column:2}
}
