/* Directory layout inspired by the RPI faculty department listing. */
.people-page {
    padding: 48px 0 64px;
    color: #242424;
    background: #fff;
}
.people-heading {
    margin-bottom: 32px;
    padding-bottom: 20px;
}
.people-heading h1 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 600;
    line-height: 1.2;
}
.people-directory .person-row {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    padding: 24px;
}
.people-directory .person-row:nth-child(even) {
    background: #e1edf5;
}
.person-photo-link {
    display: block;
}
.people-directory .person-photo {
    display: block;
    width: 150px;
    height: 150px;
    object-fit: cover;
    object-position: center top;
    background: #f2f2f2;
}
.people-directory .person-name {
    margin: 0 0 12px;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.35;
}
.people-directory .person-name-link {
    color: #006eb0;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}
.people-directory .person-name-link:hover {
    color: #006eb0;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.people-directory .person-name-link:focus-visible {
    outline: 2px solid #006eb0;
    outline-offset: 4px;
    text-decoration: underline;
}
.people-directory .person-details {
    min-width: 0;
    overflow-wrap: anywhere;
}
.people-directory .person-details p {
    margin: 0;
    line-height: 1.7;
}
@media (max-width: 575.98px) {
    .people-page { padding: 32px 0 40px; }
    .people-heading { margin-bottom: 20px; }
    .people-directory .person-row {
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 16px;
        padding: 20px 12px;
    }
    .people-directory .person-photo { width: 96px; height: 96px; }
    .people-directory .person-name { font-size: 1.05rem; }
}
@media (max-width: 379.98px) {
    .people-directory .person-row { grid-template-columns: 1fr; }
}
