/* The original portrait is shown once, without cropping or a generated stand-in. */
.faculty-directory { padding-bottom:72px; }
.faculty-introduction-note { max-width:840px; margin:0 0 32px; color:var(--muted); font-size:17px; line-height:27px; }
.faculty-controls { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(0,1.8fr) auto; align-items:end; gap:20px; padding:28px; border-top:1px solid var(--ink); background:var(--sage,#e8ede3); }
.faculty-controls[hidden], [data-faculty-card][hidden], [data-faculty-group][hidden], .faculty-empty[hidden] { display:none; }
.faculty-controls label { display:grid; gap:10px; min-width:0; margin:0; color:var(--ink); font-size:17px; line-height:27px; font-weight:600; }
.faculty-controls :is(input,select,button) { min-width:0; min-height:50px; border:1px solid #aeb9aa; border-radius:0; font:400 17px/27px var(--sans); color:var(--ink); }
.faculty-controls :is(input,select) { width:100%; margin:0; padding:10px 12px; background:var(--paper,#f8f6ef); }
.faculty-controls button { padding:10px 20px; border-color:var(--ink); background:transparent; cursor:pointer; }
.faculty-controls button:hover { color:var(--paper,#f8f6ef); background:var(--ink); }
.faculty-directory :is(a,input,select,button,summary):focus-visible { outline:3px solid #8b5e13; outline-offset:4px; }
.faculty-results-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:16px 28px; margin:40px 0 32px; }
.faculty-results-heading h2 { margin:0; font-size:var(--ds-section-size,36px); line-height:var(--ds-section-line,48px); letter-spacing:0; }
.faculty-count { margin:0; color:var(--muted); font-size:17px; line-height:27px; overflow-wrap:anywhere; }
.faculty-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:48px 36px; }
.faculty-card { min-width:0; border-top:1px solid var(--ink); padding-top:24px; scroll-margin-top:112px; }
.faculty-card:target { border-top:3px solid var(--ink); padding-top:22px; }
.faculty-portrait { display:flex; align-items:flex-end; justify-content:center; height:250px; margin:0 0 24px; overflow:hidden; }
.faculty-portrait img { display:block; width:100%; height:100%; object-fit:contain; object-position:center bottom; }
.faculty-card-copy { min-width:0; }
.faculty-card h3 { margin:0; font:600 28px/38px var(--serif); letter-spacing:0; overflow-wrap:anywhere; }
.faculty-card h3 a { display:flex; align-items:baseline; justify-content:space-between; gap:20px; color:var(--ink); text-decoration:none; }
.faculty-card h3 a > span { flex:none; font:400 18px/1 var(--sans); }
.faculty-card h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.faculty-field-label { margin:12px 0 0; font-size:15px; line-height:24px; color:var(--muted); }
.faculty-topics { margin:16px 0 0; font-size:17px; line-height:27px; color:var(--ink); overflow-wrap:anywhere; }
.faculty-biography { list-style:none; margin:18px 0 0; padding:0; font-size:17px; line-height:27px; color:var(--text,var(--ink)); }
.faculty-biography li { margin:0; padding:0; font-size:17px; line-height:27px; overflow-wrap:anywhere; }
.faculty-biography li + li { margin-top:10px; }
.faculty-details { border-top:1px solid var(--line); margin-top:20px; }
.faculty-details summary { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:48px; padding-block:12px; list-style:none; cursor:pointer; color:var(--ink); font-size:17px; line-height:27px; }
.faculty-details summary::-webkit-details-marker { display:none; }
.faculty-details summary::after { content:'+'; flex:none; font-size:22px; }
.faculty-details[open] summary::after { content:'−'; }
.faculty-details > .faculty-biography { margin:4px 0 20px; }
.faculty-source { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-top:12px; color:var(--muted); font-size:15px; line-height:24px; text-decoration:underline; text-underline-offset:4px; }
.faculty-profile { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; margin-top:16px; color:var(--ink); font-size:17px; line-height:27px; text-decoration:underline; text-underline-offset:4px; }
.faculty-card--text { padding-top:32px; }
.faculty-card--text:target { padding-top:30px; }
.faculty-card--text h3 { margin-bottom:20px; font-size:32px; line-height:42px; }
.faculty-empty { margin:0; padding:40px 0; border-block:1px solid var(--line); font-size:17px; line-height:27px; }
.faculty-next { display:flex; flex-wrap:wrap; gap:16px 32px; margin-top:64px; padding-top:28px; border-top:1px solid var(--line); }
.faculty-next a { min-height:44px; font-size:17px; line-height:27px; }
@media(max-width:1068px) {
 .faculty-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 28px; }
 .faculty-controls { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); }
 .faculty-controls button { grid-column:1 / -1; justify-self:start; }
 .faculty-portrait { height:240px; }
}
@media(max-width:734px) {
 .faculty-directory { padding-bottom:48px; }
 .faculty-introduction-note { margin-bottom:24px; }
 .faculty-controls { grid-template-columns:minmax(0,1fr); padding:22px 18px; gap:18px; }
 .faculty-controls button { grid-column:auto; width:100%; }
 .faculty-results-heading { margin:32px 0 24px; gap:12px; }
 .faculty-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
 .faculty-portrait { height:250px; }
 .faculty-card { scroll-margin-top:96px; }
 .faculty-next { display:grid; justify-items:start; gap:12px; margin-top:40px; padding-top:24px; }
}

.faculty-source-notes { margin-top:48px; border-top:1px solid var(--line); }
.faculty-source-notes summary { min-height:48px; padding-block:14px; cursor:pointer; font-size:17px; line-height:27px; }
.faculty-source-notes p,.faculty-source-notes li { font-size:17px; line-height:27px; }
.faculty-source-notes a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
