.secondary-page .sp-directory-main { padding:40px 0 64px; min-height:410px; }
.secondary-page .sp-catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; min-height:42px; color:#536b7c; font-size:14px; }
.secondary-page .sp-catalog-toolbar strong { color:var(--sp-blue); font-weight:500; }
.secondary-page .sp-catalog-toolbar form { display:flex; gap:24px; align-items:center; }
.secondary-page .sp-catalog-toolbar label { display:flex; gap:12px; align-items:center; white-space:nowrap; }
.secondary-page .sp-catalog-toolbar select { border:1px solid var(--sp-line); color:var(--sp-ink); padding:8px 32px 8px 12px; background:#fff; border-radius:4px; font-size:14px; }
.secondary-page .sp-directory-search { display:flex; border:1px solid var(--sp-line); border-radius:4px; height:42px; overflow:hidden; }
.secondary-page .sp-directory-search input { width:240px; padding:8px 12px; border:0; font-size:14px; color:var(--sp-ink); background:#fff; }
.secondary-page .sp-directory-search input::placeholder { color:#677f90; }
.secondary-page .sp-directory-search button { display:grid; place-items:center; width:42px; color:var(--sp-blue); }
.secondary-page .sp-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 28px; }
.secondary-page .sp-catalog-card { min-width:0; border:1px solid var(--sp-line); background:white; }
.secondary-page .sp-catalog-cover { display:block; aspect-ratio:16/9; overflow:hidden; }
.secondary-page .sp-catalog-cover .cf-course-cover { --cf-title-size:22px; }
.secondary-page .sp-catalog-card-copy { padding:22px 24px 20px; }
.secondary-page .sp-catalog-card-copy h2 { font-size:19px; line-height:30px; font-weight:700; min-height:60px; }
.secondary-page .sp-catalog-meta { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; font-size:14px; line-height:22px; color:#536b7c; min-height:44px; margin-top:12px; }
.secondary-page .sp-catalog-meta span:last-child { flex-shrink:0; }
.secondary-page .sp-catalog-link { display:flex; align-items:center; justify-content:space-between; color:var(--sp-link); font-size:14px; font-weight:500; margin-top:16px; line-height:24px; }
.secondary-page :is(.sp-catalog-link,.sp-person-copy h2 a,.sp-catalog-card-copy h2 a):hover { color:#15949e; }
.secondary-page .sp-directory-pagination { display:flex; justify-content:center; gap:8px; margin-top:36px; }
.secondary-page .sp-directory-pagination a { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--sp-line); font-size:14px; }
.secondary-page .sp-directory-pagination [aria-current] { background:var(--sp-blue); border-color:var(--sp-blue); color:#fff; }
.secondary-page .sp-directory-empty { display:flex; flex-direction:column; gap:16px; align-items:center; padding:64px 0; color:#536b7c; }
.secondary-page .sp-directory-empty a { color:var(--sp-link); font-size:14px; }
.secondary-page .sp-person-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.secondary-page .sp-person-card { border:1px solid var(--sp-line); min-width:0; }
.secondary-page .sp-person-image { display:block; height:248px; background:var(--sp-pale); overflow:hidden; }
.secondary-page .sp-person-image img { width:100%; height:100%; object-fit:cover; object-position:50% 35%; transition:transform .35s ease; }
.secondary-page .sp-person-image.sp-person-portrait img { object-fit:cover; object-position:50% 20%; }
.secondary-page .sp-person-image:hover img { transform:scale(1.025); }
.secondary-page .sp-person-copy { padding:24px; }
.secondary-page .sp-person-school { color:#536b7c; font-size:14px; line-height:22px; }
.secondary-page .sp-person-copy h2 { font-size:26px; line-height:38px; font-weight:700; margin-top:8px; }
.secondary-page .sp-person-role { font-size:14px; color:#536b7c; margin-top:6px; }
.secondary-page .sp-person-intro { margin-top:18px; font-size:15px; line-height:27px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; min-height:108px; }
.secondary-page .sp-person-copy .sp-catalog-link { margin-top:22px; padding-top:14px; border-top:1px solid var(--sp-line); }
.secondary-page .sp-development-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:18px; }
.secondary-page .sp-development-links>a { display:flex; flex-direction:column; justify-content:space-between; min-height:154px; border-top:3px solid #20a8bd; background:var(--sp-pale); padding:24px; }
.secondary-page .sp-development-links h3 { font-size:20px; line-height:32px; }
.secondary-page .sp-development-links span { display:flex; justify-content:space-between; align-items:center; color:var(--sp-link); font-size:14px; margin-top:24px; }
.secondary-page .sp-development-people { padding-top:48px; }
.secondary-page .sp-development-people .sp-heading { margin-bottom:20px; }
.secondary-page .sp-development-lectures { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:20px; }
.secondary-page .sp-development-lectures article { background:var(--sp-pale); padding:28px; }
.secondary-page .sp-development-lectures h3 { font-size:20px; line-height:32px; }
.secondary-page .sp-development-lectures p { margin-top:18px; font-size:15px; line-height:27px; color:#536b7c; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.secondary-page .sp-university-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:20px; }
.secondary-page .sp-university-grid>a { padding:28px; border:1px solid var(--sp-line); border-left:3px solid #20a8bd; background:var(--sp-pale); }
.secondary-page .sp-university-grid h2 { font-size:21px; line-height:32px; }
.secondary-page .sp-university-grid span { display:flex; align-items:center; justify-content:space-between; font-size:14px; color:var(--sp-link); margin-top:26px; }
.secondary-page .sp-institution-article { max-width:1100px; margin:auto; }
.secondary-page .sp-institution-article>h2 { font-size:26px; line-height:40px; padding-bottom:22px; margin-bottom:26px; border-bottom:1px solid var(--sp-line); color:var(--sp-blue); }
.secondary-page .sp-institution-body { color:#35546b; font-size:16px; line-height:2; }
.secondary-page .sp-institution-body p { margin:18px 0; }
.secondary-page .sp-institution-body table { width:100%; border-collapse:collapse; table-layout:auto; }
.secondary-page .sp-institution-body :is(td,th) { border:1px solid var(--sp-line); padding:14px 18px; vertical-align:middle; }
.secondary-page .sp-institution-body tr:first-child { background:var(--sp-pale); font-weight:700; color:var(--sp-blue); }
.secondary-page .sp-institution-body :is(td,th) p { margin:0; }
.secondary-page .sp-institution-body a { color:var(--sp-link); text-decoration:underline; }

@media (max-width: 1050px) {
  .secondary-page .sp-catalog-grid,
  .secondary-page .sp-person-grid,
  .secondary-page .sp-development-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .secondary-page .sp-catalog-toolbar { flex-direction:column; align-items:stretch; gap:12px; margin-bottom:22px; }
  .secondary-page .sp-catalog-toolbar form { width:100%; flex-direction:column; align-items:stretch; gap:12px; }
  .secondary-page .sp-catalog-toolbar label { width:100%; min-width:0; justify-content:space-between; }
  .secondary-page .sp-catalog-toolbar select { min-width:0; max-width:calc(100% - 46px); }
  .secondary-page .sp-directory-search { width:100%; min-width:0; }
  .secondary-page .sp-directory-search input { width:0; min-width:0; flex:1; }
}

@media (max-width: 640px) {
  .secondary-page .sp-directory-main { padding:32px 0 48px; }
  .secondary-page .sp-catalog-grid,
  .secondary-page .sp-person-grid,
  .secondary-page .sp-development-links,
  .secondary-page .sp-development-lectures,
  .secondary-page .sp-university-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .secondary-page .sp-person-image { height:auto; aspect-ratio:4/3; }
  .secondary-page .sp-directory-pagination { flex-wrap:wrap; }
  .secondary-page .sp-institution-body { overflow-x:auto; overflow-wrap:anywhere; }
}
