.geps-staff-directory { margin: 2rem 0; }
.geps-staff-filters { display:flex; flex-wrap:wrap; gap:.5rem 1rem; margin-bottom:1.25rem; }
.geps-staff-filter { background:#f1f5f9; border:1px solid #cbd5e1; color:#0f2742; padding:.5rem .9rem; border-radius:9999px; cursor:pointer; font:500 0.9rem/1.2 Inter,system-ui,sans-serif; }
.geps-staff-filter.is-active { background:#0f2742; color:#fff; border-color:#0f2742; }
.geps-staff-filter:focus { outline:2px solid #0f2742; outline-offset:2px; }
.geps-staff-list { list-style:none; margin:0; padding:0; display:grid; gap:.75rem; }
.geps-staff-item { display:flex; flex-direction:column; background:#fff; padding:1rem 1.15rem; border:1px solid #e2e8f0; border-radius:8px; }
.geps-staff-name { font-family:Merriweather,serif; font-weight:700; font-size:1.05rem; color:#0f2742; text-decoration:none; }
.geps-staff-name:hover { text-decoration:underline; }
.geps-staff-position { font:400 .85rem/1.2 Inter,system-ui,sans-serif; color:#64748b; margin-top:.25rem; }
.geps-staff-empty { color:#64748b; }

/* Single Staff */
.single-staff .geps-staff-header { display:flex; flex-wrap:wrap; gap:2rem; align-items:flex-start; margin-bottom:2rem; }
.single-staff .geps-staff-photo { flex:0 0 220px; max-width:220px; }
.single-staff .geps-staff-photo img { width:100%; height:auto; border-radius:12px; object-fit:cover; }
.single-staff .geps-staff-meta { flex:1; }
.single-staff .geps-staff-meta h1 { margin-top:0; font-family:Merriweather,serif; font-weight:800; font-size:clamp(2rem,2.5vw+1rem,3rem); color:#0f2742; }
.single-staff .geps-staff-role { font:600 .9rem/1.2 Inter,system-ui,sans-serif; text-transform:uppercase; letter-spacing:.08em; color:#475569; margin-bottom:.5rem; }
.single-staff .geps-staff-contact { margin:1rem 0; font:400 .9rem/1.4 Inter,system-ui,sans-serif; }
.single-staff .geps-staff-contact a { color:#0f2742; text-decoration:none; }
.single-staff .geps-staff-contact a:hover { text-decoration:underline; }
.single-staff .geps-staff-bio { font:400 1rem/1.6 Inter,system-ui,sans-serif; color:#334155; }

/* Single Staff: Title Card Styling */
.single-staff .geps-staff-meta h1,
.single-staff .geps-staff-meta .geps-staff-role {
	/* create a fused dark-blue card for name + role */
	display:block;
	background:#0f2742;
	color:#fff;
	margin:0;
	padding:1rem 1.25rem;
}

.single-staff .geps-staff-meta h1 { border-radius:12px 12px 0 0; color:#fff; }
.single-staff .geps-staff-meta .geps-staff-role {
	border-radius:0 0 12px 12px;
	border-top:1px solid rgba(255,255,255,.15);
	color:#e2e8f0;
	letter-spacing:.08em;
	padding-top:.75rem; padding-bottom:.75rem;
	box-shadow:0 10px 24px rgba(2,9,20,.16);
	margin:0 0 1rem;
}

/* Contact list layout */
.single-staff .geps-staff-contact-list { list-style:none; margin:.5rem 0 0; padding:0; display:flex; flex-wrap:wrap; gap:.35rem 1rem; }
.single-staff .geps-staff-contact-list a { color:#0f2742; font-weight:500; text-decoration:none; }
.single-staff .geps-staff-contact-list a:hover { text-decoration:underline; }

/* Spacing tweaks */
.single-staff .geps-staff-contact { margin-top:.5rem; }
.single-staff .geps-staff-bio { margin-top:1rem; }

/* Basic layout for staff directory enhancements */
.staff-archive .staff-filters{ display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; margin-bottom:12px; }
.staff-archive .staff-filter label{ display:block; font-size:12px; color:#374151; margin-bottom:4px; }
.staff-letter-filter{ margin:10px 0; }
.staff-letter-filter__list{ list-style:none; display:flex; flex-wrap:wrap; gap:6px; padding:0; margin:0; }
.staff-letter-filter__list li { flex: 1 1 44px; }
.staff-letter-filter__list button{ width: 100%; text-align:center; padding: 0px 10px; border:1px solid #d1d5db; background:#fff; color:#374151; border-radius:4px; font-size:12px; }
.staff-letter-filter__list button.is-active{ background:#1a4d7a; color:#fff; border-color:#1a4d7a; }
.staff-search { display: flex; justify-content: flex-end; margin:10px 0 16px; }
.staff-search input[type="search"]{ width: clamp(220px, 40vw, 420px); padding:8px 10px; border:1px solid #e5e7eb; border-radius:6px; }

.table-responsive{ width:100%; overflow:auto; }
.staff-table{ width:100%; border-collapse: collapse; }
.staff-table thead th{ text-align:left; font-weight:600; font-size:14px; padding:10px; border-bottom:2px solid #e5e7eb; }
.staff-table tbody td{ font-size:14px; padding:10px; border-bottom:1px solid #f3f4f6; vertical-align:top; }
.staff-table a{ color:#1a4d7a; }

@media (max-width:680px){
	.single-staff .geps-staff-header { flex-direction:column; }
	.single-staff .geps-staff-photo { width:180px; }
	.single-staff .geps-staff-meta h1,
	.single-staff .geps-staff-meta .geps-staff-role { padding:.85rem 1rem; }
  .staff-table thead{ display:none; }
  .staff-table tbody tr{ display:block; border:1px solid #f3f4f6; border-radius:8px; margin-bottom:10px; padding:8px; }
  .staff-table tbody td{ display:flex; justify-content:space-between; gap:12px; border:0; padding:6px 4px; }
  .staff-table tbody td::before{ content: attr(data-label); font-weight:600; color:#374151; }
  .staff-search { justify-content: flex-start; }
  .staff-search input[type="search"] { width: 100%; }
}