/* Match the existing customized Bootstrap site; directory layout only. */
.directory-page{font-family:inherit;color:inherit;font-size:1.0625rem;line-height:1.8;overflow-wrap:anywhere}
.directory-page-title{margin-bottom:.5rem;font-weight:500}
.directory-content>.card-body{min-width:0}
.directory-breadcrumb{font-size:1rem;margin-bottom:1.25rem}
.directory-breadcrumb .breadcrumb-item{min-width:0}
.directory-breadcrumb a{color:#004085;text-decoration:underline;text-underline-offset:3px}
.directory-breadcrumb .breadcrumb-item.active,.directory-breadcrumb .breadcrumb-item+.breadcrumb-item::before{color:#495057}
.directory-page-nav{margin-bottom:1.5rem}
.directory-page-nav .nav-link{min-height:46px;padding:.55rem 1rem}
.directory-page a:focus-visible{outline:3px solid #0056b3;outline-offset:3px;border-radius:.25rem}
.directory-group-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}
.directory-group-nav a{display:inline-flex;align-items:center;min-height:44px;padding:.3rem .75rem;text-decoration:underline;text-underline-offset:3px}
.directory-group-nav a+a{border-left:1px solid #dee2e6}
.directory-group{margin-bottom:2rem;scroll-margin-top:115px}
.directory-section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem;align-items:baseline;padding-bottom:.6rem;margin-bottom:1.25rem;border-bottom:1px solid #dee2e6}
.directory-section-heading h2{font-size:1.4rem;font-weight:500;margin:0}
.directory-section-heading>span{font-size:.95rem;color:#6c757d}
.directory-faculty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.directory-faculty-card{border:1px solid rgba(0,0,0,.125);border-radius:.25rem;overflow:hidden;background:#fff;min-width:0}
.directory-faculty-card:hover{border-color:#adb5bd}
.directory-faculty-link{display:flex;flex-direction:column;height:100%;text-decoration:none!important}
.directory-faculty-photo{height:210px;padding:.75rem;background:#fff}
.directory-page .directory-portrait{width:100%;height:100%;object-fit:contain;display:block}
.directory-photo-empty{height:100%;min-height:120px;display:grid;place-items:center;background:#f8f9fa;color:#6c757d;font-size:2.5rem}
.directory-faculty-info{padding:1rem 1.15rem;display:flex;flex-direction:column;flex:1}
.directory-faculty-info h3{font-size:1.3rem;font-weight:500;margin:0 0 .3rem}
.directory-other-name{font-size:.95rem;line-height:1.5;color:#6c757d;margin:0 0 .6rem}
.directory-position{font-size:1.0625rem;color:#212529;margin:0 0 1rem}
.directory-read-more{font-size:1rem;margin-top:auto;padding-top:.6rem;display:flex;justify-content:space-between;gap:.5rem}
.directory-profile{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:2rem;align-items:start;scroll-margin-top:115px}
.directory-profile-sidebar{min-width:0;padding-right:1.5rem;border-right:1px solid #dee2e6;background:#fff}
.directory-profile-photo{height:280px;margin-bottom:1rem}
.directory-profile-identity h2{font-size:1.3rem;font-weight:500;margin:0 0 .5rem}
.directory-profile-main{min-width:0}
.directory-copy-heading{font-size:1.35rem;font-weight:500;margin:0 0 1rem;padding-bottom:.6rem;border-bottom:1px solid #dee2e6}
.directory-copy{min-width:0;max-width:100%;display:flow-root;overflow:visible;line-height:1.9;margin-bottom:1.25rem}
/* Legacy biographies contain nested .row without .col wrappers. Neutralize gutters
   at every breakpoint; a page-wide overflow check alone cannot detect clipped text. */
.directory-copy .row{margin-left:0;margin-right:0;min-width:0;max-width:100%}
.directory-copy .row>.row{width:100%}
.directory-copy .row>*{min-width:0}
.directory-copy p{margin-bottom:1rem}
.directory-copy img{max-width:100%;height:auto}
.directory-copy h1,.directory-copy h2,.directory-copy h3,.directory-copy h4,.directory-copy h5{font-size:1.3rem;font-weight:500;margin:1.25rem 0 .75rem}
.directory-copy table{display:block;max-width:100%;overflow-x:auto;font-size:1rem}
.directory-copy td,.directory-copy th{padding:.5rem;overflow-wrap:anywhere}
.directory-copy a{text-decoration:underline;text-underline-offset:3px}
.directory-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;white-space:normal;font-size:1rem;line-height:1.5;padding:.55rem .9rem}
/* Use the site's link blue for readable outline-button text, including hover. */
.directory-page .directory-button.btn-outline-primary{color:#0056b3}
.directory-page .directory-button.btn-outline-primary:hover,.directory-page .directory-button.btn-outline-primary:focus-visible,.directory-page .directory-button.btn-outline-primary:active{background:#0056b3;border-color:#0056b3;color:#fff}
.directory-lab-grid{display:block}
.directory-lab-card{min-width:0;padding:1.5rem 0;border-bottom:1px solid #dee2e6;scroll-margin-top:115px}
.directory-lab-card:first-child{padding-top:.25rem}
.directory-lab-card:last-child{border-bottom:0;padding-bottom:0}
.directory-lab-heading h2{font-size:1.4rem;font-weight:500;line-height:1.6;margin:0 0 .75rem}
.directory-lab-heading h2 a{color:inherit;text-decoration:none}
.directory-lab-heading h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.directory-lab-host{display:flex;flex-wrap:wrap;gap:.2rem .6rem;align-items:baseline;margin-bottom:.9rem}
.directory-lab-host p{margin:0}
.directory-lab-host a{display:inline-flex;align-items:center;min-height:36px;text-decoration:underline;text-underline-offset:3px}
.directory-lab-summary{margin:0 0 1rem;line-height:1.85}
.directory-lab-photo{width:100%;max-height:300px;object-fit:contain;margin-bottom:1rem}
.directory-lab-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.directory-lab-expanded{border-left:3px solid #6c757d;padding-left:1.25rem}
.directory-lab-expanded:first-child{padding-top:.5rem}
.directory-fallback{padding:.75rem 1rem;margin-bottom:1.25rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:.25rem;font-size:.95rem;color:#495057}
@media(max-width:991px){.directory-faculty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-profile{grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:1.25rem}}
@media(max-width:767px){.directory-profile{grid-template-columns:minmax(0,1fr)}.directory-profile-sidebar{padding:0 0 1.25rem;border-right:0;border-bottom:1px solid #dee2e6;display:grid;grid-template-columns:135px minmax(0,1fr);gap:1rem;align-items:center}.directory-profile-photo{height:175px;margin:0}.directory-page-nav .nav-link{padding:.55rem .8rem}}
@media(max-width:575px){.directory-content>.card-body{padding:1rem}.directory-faculty-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.directory-faculty-link{display:grid;grid-template-columns:105px minmax(0,1fr)}.directory-faculty-photo{height:150px;padding:.6rem;align-self:center}.directory-faculty-info{padding:.9rem .75rem}.directory-faculty-info h3{font-size:1.2rem}.directory-read-more{font-size:.95rem}.directory-profile-sidebar{grid-template-columns:minmax(0,1fr);text-align:center}.directory-profile-photo{height:230px}.directory-profile-identity .directory-position{text-align:center}.directory-profile-identity .directory-button{width:100%}.directory-lab-heading h2{font-size:1.3rem}.directory-lab-actions .directory-button{flex:1 1 auto}.directory-lab-expanded{padding-left:.75rem}.directory-copy .row{margin-left:0;margin-right:0}.directory-copy .col-5,.directory-copy .col-6{flex:0 0 100%;max-width:100%;padding-left:0;padding-right:0}}
