/* Public discovery shares the app's warm red identity and readable density. */
body.student-directory-page { background:#faf8f5; color:#292522; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
.student-directory-page .wrap,.student-directory-page .info-nav { max-width:1120px; }
.student-directory-page .masthead { background:#b43d35; }
.student-directory-page .info-nav { padding:14px 24px; margin:0 auto; border-bottom:1px solid #e7e0d9; gap:26px; }
.student-directory-page .info-nav a { font-size:13px; font-weight:500; }
.student-directory-page .directory-page { padding:36px 24px 48px; }
.student-directory-page .page-kicker { margin:0 0 10px; color:#a3362e; font-size:11px; font-weight:650; letter-spacing:.09em; text-transform:uppercase; }
.student-directory-page .directory-page h1 { max-width:850px; margin:0; font-family:inherit; font-size:clamp(28px,3vw,38px); line-height:1.2; font-weight:650; letter-spacing:-.045em; }
.student-directory-page .directory-page .lead { max-width:680px; margin:14px 0 28px; color:#746b65; font-size:15px; line-height:1.6; }
.student-directory-page .directory-tools { display:flex; align-items:flex-start; gap:16px; margin-bottom:20px; }
.student-directory-page .directory-search { order:-1; flex:1; min-width:0; margin:0; }
.student-directory-page .directory-search label { display:block; margin-bottom:8px; font-size:12px; font-weight:600; }
.student-directory-page #student-search { box-sizing:border-box; width:100%; max-width:none; min-height:48px; padding:12px 16px; border:1px solid #dfd8d2; border-radius:10px; background:#fff; color:#292522; font:inherit; font-size:14px; box-shadow:0 1px 2px #29252203; }
.student-directory-page #student-search:focus { outline:2px solid #b43d35; outline-offset:2px; }
.student-directory-page #student-count { margin:12px 0 0; font-size:12px; color:#746b65; }
.student-directory-page #student-refresh-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.student-directory-page .directory-universities { width:260px; flex:0 0 260px; box-sizing:border-box; margin:26px 0 0; border:1px solid #dfd8d2; border-radius:10px; background:#fff; padding:0; }
.student-directory-page .directory-universities summary { min-height:48px; box-sizing:border-box; padding:14px 16px; font-size:13px; font-weight:500; cursor:pointer; }
.student-directory-page .directory-universities nav { display:grid; gap:4px; padding:8px; max-height:260px; overflow:auto; border-top:1px solid #e7e0d9; }
.student-directory-page .directory-universities nav a { padding:10px; font-size:12px; border-radius:6px; }
.student-directory-page .directory-universities nav a:hover { background:#fbefed; }
.student-directory-page .student-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.student-directory-page .student-list-item { margin:0; min-width:0; border:1px solid #e7e0d9; border-radius:12px; background:#fff; overflow:hidden; }
.student-directory-page .student-list-item a { display:flex; align-items:center; gap:12px; min-height:100px; padding:18px; box-sizing:border-box; color:inherit; text-decoration:none; }
.student-directory-page .student-list-item a>span:nth-child(2) { min-width:0; flex:1; }
.student-directory-page .student-list-avatar { width:44px; height:44px; flex:0 0 44px; border-radius:50%; background:#f5e9e5; color:#96372f; font-size:16px; }
.student-directory-page .student-list-avatar img { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.student-directory-page .student-list-item strong { display:block; font-family:inherit; font-size:14px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.student-directory-page .student-list-item small { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin-top:5px; color:#746b65; font-size:12px; line-height:1.5; }
.student-directory-page .student-list-arrow { color:#a3362e; font-size:18px; }
.student-directory-page .student-list-item a:hover { background:#fdf8f6; }
.student-directory-page .student-list-item a:focus-visible { outline:2px solid #b43d35; outline-offset:-3px; border-radius:12px; }
.student-directory-page .directory-note { margin-top:28px; font-size:12px; line-height:1.7; color:#746b65; }
.student-directory-page .site-footer { border-top:1px solid #e7e0d9; background:transparent; font-size:12px; }
.student-directory-page [hidden] { display:none!important; }
@media(max-width:900px) { .student-directory-page .student-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .student-directory-page .directory-page { padding:26px 18px 36px; }
 .student-directory-page .info-nav { padding:12px 18px; gap:20px; overflow:auto; flex-wrap:nowrap; white-space:nowrap; }
 .student-directory-page .directory-page h1 { font-size:29px; }
 .student-directory-page .directory-page .lead { font-size:14px; margin-bottom:22px; }
 .student-directory-page .directory-tools { flex-direction:column; gap:12px; }
 .student-directory-page .directory-search,.student-directory-page .directory-universities { width:100%; flex-basis:auto; margin:0; }
 .student-directory-page .student-list { grid-template-columns:minmax(0,1fr); gap:10px; }
 .student-directory-page .student-list-item a { min-height:90px; padding:16px; }
}
.student-directory-page .info-nav { display:flex; align-items:center; justify-content:flex-start; }
.student-directory-page .info-nav a { flex:0 0 auto; }
@media(max-width:600px) { .student-directory-page .info-nav { min-height:48px; box-sizing:border-box; } }
