/* Official AIST faculty portraits and full professional profiles. */
.faculty-section{background:#f8f7f0}.faculty-section .section-top>p{max-width:440px}.faculty-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:4px 0 8px;outline-offset:4px}.faculty-track::-webkit-scrollbar{display:none}.faculty-track:focus-visible{outline:2px solid #2d7180}.faculty-card{flex:0 0 calc((100% - 44px)/3);min-width:0;display:flex;flex-direction:column;height:570px;border:1px solid #d3e0d8;background:#fffdf7;border-radius:4px;overflow:hidden;scroll-snap-align:start;transition:border-color .25s}.faculty-card:hover{border-color:#6399a0}.faculty-portrait{height:270px;flex:none;position:relative;display:flex;align-items:center;justify-content:center;background:#e7eeea;padding:14px;overflow:hidden}.faculty-portrait img{display:block;max-width:100%;height:100%;width:100%;object-fit:contain;object-position:center top}.faculty-photo-fallback{display:none;color:#456e74;font-size:12px;line-height:1.6;padding:20px;text-align:center}.faculty-portrait.portrait-unavailable .faculty-photo-fallback{display:block}.faculty-portrait img[hidden]{display:none!important}.faculty-card-copy{display:flex;flex-direction:column;padding:23px;flex:1;min-height:0}.faculty-card h3{font:400 25px/1.25 Georgia,serif;color:#244b52;letter-spacing:0;margin:0 0 10px}.faculty-role{font:500 13px/1.7 Manrope,Arial,sans-serif;color:#3e666c;margin:0}.faculty-card .faculty-role{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-height:5.1em;overflow:hidden;min-height:66px}.faculty-tags{list-style:none;padding:0;margin:14px 0 12px;display:flex;flex-wrap:wrap;gap:6px}.faculty-tags li{font-size:10px;line-height:1.5;border:1px solid #cadcd3;background:#eff4ee;color:#365e63;padding:4px 7px;border-radius:3px}.faculty-read{align-self:flex-start;margin-top:auto;min-height:44px;padding:9px 0;border:0;background:none;color:#2d7180;text-decoration:underline;text-underline-offset:4px;font:600 12px/1.5 Manrope,Arial,sans-serif;cursor:pointer}.faculty-read:focus-visible{outline:2px solid #2d7180;outline-offset:3px}.faculty-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}.faculty-controls button{border:1px solid #84a5a6;background:#fffdf7;color:#2d7180;border-radius:25px;min-width:46px;min-height:46px;padding:8px 15px;font-size:20px;cursor:pointer}.faculty-controls button:hover{background:#e4efea}.faculty-controls button:focus-visible,.faculty-directory-link:focus-visible{outline:2px solid #2d7180;outline-offset:3px}.faculty-directory-link{font-size:13px;color:#2d7180;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.faculty-position{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums;color:#456a70}.faculty-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.faculty-guidance{margin-top:32px;padding-top:26px;border-top:1px solid #d2e1d8;display:flex;align-items:center;justify-content:space-between;gap:30px}.faculty-guidance h3{font:400 23px/1.3 Georgia,serif;color:#244b52;margin:0 0 10px}.faculty-guidance p{font-size:14px;line-height:1.8;max-width:600px;margin:0;color:#526f70}.faculty-guidance-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.faculty-guidance .button{font-size:12px}.faculty-guidance .text-button{font-size:13px;min-height:44px}
.faculty-dialog{width:min(850px,calc(100vw - 28px));max-width:850px;max-height:90dvh;overflow-y:auto;padding:42px 34px 30px;border:1px solid #b9d0c7;border-radius:8px;background:#fffdf7;color:#354b4e}.faculty-dialog::backdrop{background:#173e4699}.faculty-dialog-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;background:none;color:#275f6b;font-size:25px;cursor:pointer}.faculty-dialog-close:focus-visible{outline:2px solid #2d7180}.faculty-dialog-header{display:grid;grid-template-columns:170px minmax(0,1fr);gap:26px;align-items:center;margin-bottom:26px;padding-right:20px}.faculty-dialog .faculty-portrait{height:220px;padding:8px;border-radius:3px}.faculty-dialog h2{font:400 31px/1.25 Georgia,serif;color:#244b52;letter-spacing:0;margin:0 0 14px;overflow-wrap:anywhere}.faculty-profile-body{font:400 15px/1.85 Manrope,Arial,sans-serif;color:#3c5659}.faculty-profile-body>p{margin:0 0 20px}.faculty-profile-body h3,.faculty-profile-body h4{font:600 16px/1.5 Manrope,Arial,sans-serif;color:#2d7180;letter-spacing:0;margin:25px 0 12px}.faculty-profile-body ul{padding-left:21px;margin:0 0 20px}.faculty-profile-body li{margin:9px 0}.faculty-source-link{font-size:12px;color:#2d7180;text-decoration:underline;text-underline-offset:3px}.faculty-directory{display:grid;gap:30px;margin-top:34px}.faculty-directory-profile{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;border:1px solid #d3e0d8;background:#fffdf7;border-radius:4px;padding:28px;align-items:start}.faculty-directory-profile>.faculty-portrait{height:310px;border-radius:3px}.faculty-directory-profile h2{font:400 30px/1.3 Georgia,serif;color:#244b52;letter-spacing:0;margin:0 0 12px}.faculty-directory-profile .faculty-profile-body{margin-top:22px}.faculty-directory-page .page-intro{max-width:850px}
@media(max-width:1100px){.faculty-card{flex-basis:calc((100% - 22px)/2)}.faculty-guidance{align-items:start;flex-direction:column;gap:20px}.faculty-directory-profile{grid-template-columns:190px minmax(0,1fr);gap:25px;padding:25px}}
@media(max-width:600px){.faculty-card{flex-basis:100%;height:550px}.faculty-portrait{height:250px}.faculty-card-copy{padding:22px}.faculty-card h3{font-size:25px}.faculty-card .faculty-role{min-height:66px;font-size:13px}.faculty-tags li{font-size:10px}.faculty-controls{gap:8px}.faculty-directory-link{font-size:12px;flex-basis:calc(100% - 115px)}.faculty-position{margin-left:0;font-size:12px}.faculty-guidance p{font-size:14px}.faculty-guidance-actions{gap:12px}.faculty-guidance .button{font-size:12px;white-space:normal}.faculty-dialog{padding:45px 22px 25px}.faculty-dialog-header{grid-template-columns:110px minmax(0,1fr);gap:16px;padding-right:0}.faculty-dialog .faculty-portrait{height:155px}.faculty-dialog h2{font-size:24px}.faculty-dialog .faculty-role{font-size:12px}.faculty-profile-body{font-size:14px;line-height:1.85}.faculty-directory-profile{grid-template-columns:1fr;padding:22px;gap:25px}.faculty-directory-profile>.faculty-portrait{height:285px}.faculty-directory-profile h2{font-size:27px}.faculty-directory-profile .faculty-role{font-size:13px}}
@media(prefers-reduced-motion:reduce){.faculty-card{transition:none}}

.faculty-source-note{font-size:11px;color:#536d6c;line-height:1.7;margin-top:20px}

.faculty-portrait-link{display:block;width:100%;height:100%;border-radius:3px}.faculty-portrait-link:focus-visible{outline:3px solid #2d7180;outline-offset:3px}.faculty-portrait-link:hover img{opacity:.94}
