/* Shared instructor portraits, with all professional details readable without JS. */
body main .faculty{padding:100px 0!important;background:#f1f5fb!important;color:#142942!important;overflow:hidden;scroll-margin-top:160px}
.faculty-wrap{width:min(1240px,calc(100% - 64px));margin:auto}
.faculty-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}
.faculty-kicker{font-size:11px!important;letter-spacing:.17em;font-weight:750;color:#2853ce!important;margin:0 0 18px!important}
body main .faculty h2{font-size:clamp(30px,3.6vw,52px)!important;line-height:1.25!important;letter-spacing:-.05em;color:#142942!important;margin:0 0 22px!important}
.faculty-heading>div>p:last-child{font-size:16px!important;line-height:1.85;color:#57677d!important;margin:0}
.faculty-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.faculty-controls[hidden]{display:none}
.faculty-controls>span{font-size:12px;color:#536987;margin-right:14px;font-variant-numeric:tabular-nums}
.faculty-controls button{width:44px;height:44px;border:1px solid #c8d7ee;border-radius:50%;background:white;color:#244ab8;font-size:20px;cursor:pointer}
.faculty-controls .faculty-pause{font-size:14px}
.faculty-controls button:hover{background:#244ab8;color:#fff}
.faculty-controls button:focus-visible,.faculty-rail:focus-visible{outline:3px solid #356cf2;outline-offset:4px}
.faculty-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.faculty.is-enhanced .faculty-rail{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:24px;padding:4px 0 22px}
.faculty.is-enhanced .faculty-rail::-webkit-scrollbar{display:none}
.faculty-card{min-width:0;background:#fff;border:1px solid #dce5f1;border-radius:20px;overflow:hidden;scroll-snap-align:start;flex:0 0 calc((100% - 48px)/3);transition:box-shadow .4s,transform .4s;display:flex;flex-direction:column}
.faculty-card:hover{box-shadow:0 18px 50px #193b7414;transform:translateY(-3px)}
.faculty-photo{margin:0;position:relative;background:#dce3ef;aspect-ratio:1/1.12;overflow:hidden}
.faculty-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 13%;display:block;transition:transform .9s cubic-bezier(.2,.65,.3,1)}
.faculty-card:hover .faculty-photo img{transform:scale(1.025)}
.faculty-photo--original img{object-fit:contain;object-position:center;background:#f8f7fc}
.faculty-photo figcaption{position:absolute;inset:auto 18px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fff;text-shadow:0 1px 10px #000;background:#10223fc9;backdrop-filter:blur(8px);padding:10px 12px;border-radius:7px}
.faculty-photo figcaption span{font-size:9px;letter-spacing:.1em;font-weight:650}
.faculty-photo figcaption b{font-size:15px;font-weight:500}
.faculty-copy{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.faculty-role{font-size:12px!important;color:#345dca!important;font-weight:650;margin:0 0 8px!important}
body main .faculty h3{font-size:29px!important;letter-spacing:-.045em;color:#142942!important;line-height:1.3!important;margin:0 0 15px!important}
.faculty-headline{font-size:15px!important;font-weight:650;color:#1b3357!important;line-height:1.7;margin:0 0 22px!important;word-break:keep-all}
.faculty-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:19px 0;border-block:1px solid #e1e8f2;margin-bottom:22px}
.faculty-metrics>div{display:flex;flex-direction:column;gap:6px}
.faculty-metrics strong{font-size:clamp(21px,2vw,28px);line-height:1.2;letter-spacing:-.045em;color:#2454cd;font-variant-numeric:tabular-nums}
.faculty-metrics span{font-size:11px;color:#63718a}
.faculty-facts{list-style:none;padding:0!important;margin:0 0 20px!important;display:grid;gap:10px}
.faculty-facts li{position:relative;font-size:12px!important;line-height:1.7!important;color:#344963!important;padding-left:12px;word-break:keep-all;overflow-wrap:anywhere}
.faculty-facts li:before{content:"";position:absolute;left:0;top:.75em;width:4px;height:4px;border-radius:50%;background:#4a76d3}
.faculty-summary{font-size:12px!important;color:#65758d!important;line-height:1.8;margin:0 0 22px!important;word-break:keep-all}
.faculty-topics{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.faculty-topics span{font-size:10px!important;padding:6px 9px;border-radius:5px;background:#eef3fc;color:#3b5e94}
.faculty-team{display:grid;grid-template-columns:1fr auto;gap:12px 24px;border-top:1px solid #cddbef;padding-top:30px;margin-top:30px;align-items:center}
.faculty-team p{font-size:20px!important;letter-spacing:-.03em;margin:0;color:#203b60!important}
.faculty-team strong{color:#2454cd;font-weight:750}
.faculty-team>span{grid-column:1;font-size:12px;color:#65758d}
.faculty-team a{grid-column:2;grid-row:1/3;display:flex;align-items:center;gap:32px;font-size:13px;font-weight:650;padding:16px 20px;border:1px solid #b6c8e8;border-radius:8px;text-decoration:none;color:#244ab8;background:white}
.faculty-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.faculty.is-visible .faculty-card{animation:faculty-enter .75s both;animation-delay:calc(var(--faculty-order,0)*100ms)}
@keyframes faculty-enter{from{opacity:0;translate:35px 20px}to{opacity:1;translate:0 0}}
@media(max-width:1000px){.faculty-card{flex-basis:calc((100% - 24px)/2)}.faculty-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){body main .faculty{padding:65px 0!important}.faculty-wrap{width:calc(100% - 40px)}.faculty-heading{display:block;margin-bottom:26px}.faculty-controls{margin-top:25px}.faculty-heading>div>p:last-child{font-size:14px!important}.faculty-card{flex-basis:100%;border-radius:14px}.faculty-rail{grid-template-columns:1fr}.faculty-photo{aspect-ratio:1/1.06}.faculty-copy{padding:23px}.faculty-team{display:block}.faculty-team p{font-size:18px!important;line-height:1.6}.faculty-team>span{display:block;margin-top:10px;font-size:11px;line-height:1.8}.faculty-team a{margin-top:22px;justify-content:space-between}.faculty-facts li{font-size:13px!important}.faculty-summary{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){.faculty *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
