/* A quiet introduction beside a vertical window into the teaching team. */
.faculty-section{background:#f7f8f5;overflow:hidden;padding-top:88px;padding-bottom:82px}
.faculty-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.96fr);gap:clamp(44px,7vw,112px);align-items:center}
.faculty-intro{padding:24px 0}
.faculty-eyebrow{font-size:12px;letter-spacing:.07em;color:#78876c;display:flex;align-items:center;gap:10px;margin-bottom:27px}
.faculty-eyebrow>span{width:7px;height:7px;border-radius:50%;background:#9abf69;box-shadow:0 0 0 5px #9abf6912}
.faculty-intro h2.display{font-size:clamp(38px,4.05vw,68px);line-height:1.34;letter-spacing:-.045em;font-weight:400;margin:0}
.faculty-lead{font-size:16px;line-height:2;color:#757e6e;margin-top:28px}
.faculty-disciplines{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.faculty-disciplines>span{border:1px solid #dce2d5;border-radius:99px;padding:5px 13px;color:#737e6a;font-size:12px}
.faculty-start{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;border-radius:6px;padding:14px 23px;background:#293727;color:#fff;font-size:14px;margin-top:32px;box-shadow:0 9px 20px #27372712;transition:transform .25s,background .25s}
.faculty-start>span{font-size:22px;line-height:1}.faculty-start:hover{transform:translateY(-3px);background:#415638}.faculty-start:focus-visible{outline:2px solid #658445;outline-offset:5px}
.faculty-team{display:flex;align-items:center;margin-top:48px;padding-left:5px}
.faculty-avatar{display:block;flex-shrink:0;width:88px;height:88px;border-radius:50%;background-image:url('assets/teachers/teacher-source-web.jpg');background-repeat:no-repeat;background-color:#f0f1ec;box-shadow:0 0 0 1px #1c28130a}
.faculty-mini{height:37px;width:37px;margin-left:-5px;border:3px solid #f7f8f5;box-shadow:none}
.faculty-team>p{padding-left:18px;line-height:1.5}.faculty-team strong{display:block;font-weight:500;font-size:14px;color:#46543c}.faculty-team p>span{display:block;color:#8a9482;font-size:11px;margin-top:3px}
.faculty-source-note{font-size:11px;line-height:1.8;color:#929a8c;margin-top:24px;max-width:390px}
.faculty-stage{min-width:0;position:relative}
.faculty-window{height:650px;max-height:76svh;min-height:480px;position:relative}
.faculty-window:before,.faculty-window:after{content:'';position:absolute;left:0;width:100%;height:48px;pointer-events:none;z-index:4}
.faculty-window:before{top:0;background:linear-gradient(#f7f8f5,transparent)}
.faculty-window:after{bottom:0;height:92px;background:linear-gradient(transparent,#f7f8f5 93%)}
.faculty-scroll{height:100%;overflow-y:auto;overflow-x:hidden;padding:40px 24px 205px;scrollbar-width:none;position:relative;scroll-behavior:smooth;outline-offset:-4px;overscroll-behavior-y:auto}
.faculty-scroll::-webkit-scrollbar{display:none}.faculty-scroll:focus-visible{outline:1px dashed #a8b99a;border-radius:16px}
.faculty-card{position:relative;background:#fff;border:1px solid #e5e9df;border-radius:16px;margin:0 0 23px;box-shadow:0 7px 25px #2c3f2010;transform:perspective(1000px) rotate(var(--rest-angle,0deg));transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s;isolation:isolate}
.faculty-card:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(230px circle at var(--pointer-x,50%) var(--pointer-y,40%),#dcedbb66,transparent 78%);opacity:0;transition:opacity .4s;z-index:-1}
.faculty-card summary{list-style:none;cursor:pointer;padding:20px 24px 16px;outline-offset:6px;border-radius:15px}
.faculty-card summary::-webkit-details-marker{display:none}.faculty-card summary:focus-visible{outline:2px solid #93aa77}
.faculty-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.06em;color:#98a28f;margin-bottom:18px;gap:12px}
.faculty-card-meta>span:last-child{letter-spacing:0;color:#7d896f}
.faculty-card-main{display:flex;align-items:center;gap:22px}.faculty-card-copy{display:block;flex:1;min-width:0}
.faculty-name{display:block;font-size:28px;line-height:1.3;font-weight:400;color:#253022;letter-spacing:.03em}
.faculty-role{display:block;font-size:12px;color:#727f65;margin-top:8px;line-height:1.7}
.faculty-bio{display:block;font-size:11px;color:#98a08f;margin-top:3px;line-height:1.7}
.faculty-card-open{font-size:21px;color:#71835f;transition:transform .35s;align-self:center;line-height:1}
.faculty-card-hint{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eff2eb;margin-top:18px;padding-top:12px;color:#a0aa96;font-size:10px;letter-spacing:.03em}
.faculty-card-hint>span:last-child{font-size:16px}.faculty-hint-open{display:none}
.faculty-card[open]{transform:perspective(1000px) rotate(0deg);border-color:#bccda8;box-shadow:0 12px 35px #2b432019}
.faculty-card[open] .faculty-card-open{transform:rotate(45deg)}.faculty-card[open] .faculty-hint-closed{display:none}.faculty-card[open] .faculty-hint-open{display:inline}
.faculty-card[open]:before{opacity:.35}.faculty-card[open] .faculty-details{animation:faculty-detail-in .35s ease both}
.faculty-details{padding:0 24px 24px;font-size:12px;color:#68765b;line-height:1.9}
.faculty-details dl{border-top:1px solid #e8eee1;padding-top:15px}.faculty-details dl>div{display:grid;grid-template-columns:64px 1fr;gap:12px;margin-top:8px}.faculty-details dt{color:#939e86}.faculty-details dd{margin:0}.faculty-details dd>span{display:block;color:#a2aa99;font-size:10px;line-height:1.5;margin-top:1px}
.faculty-record{margin-top:18px;padding:14px 16px;border-radius:8px;background:#f5f7ef}.faculty-record>p{font-size:10px;color:#8f9b81;margin-bottom:7px}.faculty-record ul{padding-left:16px}.faculty-record li+li{margin-top:5px}
.faculty-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 24px 0;font-size:12px;color:#546348}
.faculty-total{color:#a1aa99}.faculty-scroll-hint{font-size:11px;color:#8e9a82;margin-left:21px}.faculty-controls>div{display:flex;gap:9px}.faculty-controls button{width:34px;height:34px;border:1px solid #dbe3d3;border-radius:50%;font-size:17px;transition:background .2s,color .2s}.faculty-controls button:hover{background:#e8efd9}.faculty-controls button:disabled{opacity:.3;cursor:default}.faculty-controls button:focus-visible{outline:2px solid #90a773;outline-offset:3px}
@media(hover:hover) and (pointer:fine){.faculty-card:hover{transform:perspective(1000px) translateY(-4px) rotate(0deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1.025);box-shadow:0 18px 35px #23391b1c;border-color:#c2d6a9;z-index:2}.faculty-card:hover:before{opacity:1}}
@keyframes faculty-detail-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:1200px) and (min-width:901px){.faculty-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.faculty-card summary{padding:18px}.faculty-card-main{gap:16px}.faculty-avatar{width:72px;height:72px}.faculty-mini{width:33px;height:33px}.faculty-name{font-size:25px}.faculty-card-open{font-size:18px}.faculty-bio{font-size:10px}.faculty-scroll{padding-right:18px;padding-left:18px}.faculty-intro h2.display{font-size:clamp(34px,3.8vw,46px)}}
@media(max-width:900px){.faculty-section{padding-top:65px;padding-bottom:65px}.faculty-layout{grid-template-columns:1fr;gap:25px}.faculty-intro{padding:0;max-width:650px}.faculty-intro h2.display{font-size:clamp(39px,6.4vw,60px)}.faculty-lead{margin-top:23px}.faculty-team{margin-top:28px}.faculty-source-note{max-width:none;margin-top:17px}.faculty-stage{width:min(590px,100%);margin:0 auto}.faculty-window{height:610px;max-height:none;min-height:0}.faculty-controls{padding-top:8px}.faculty-card{margin-bottom:22px}.faculty-disciplines{margin-top:18px}.faculty-start{margin-top:25px}}
@media(max-width:600px){.faculty-section{padding:58px 24px 55px}.faculty-eyebrow{font-size:11px;margin-bottom:21px}.faculty-intro h2.display{font-size:clamp(32px,8.8vw,45px);letter-spacing:-.05em}.faculty-lead{font-size:13px;line-height:2.1;margin-top:19px}.faculty-disciplines{gap:6px}.faculty-disciplines>span{font-size:10px;padding:4px 10px}.faculty-start{font-size:12px;padding:12px 20px;gap:43px;margin-top:24px}.faculty-team{margin-top:27px}.faculty-mini{width:31px;height:31px}.faculty-team>p{padding-left:13px}.faculty-team strong{font-size:12px}.faculty-team p>span{font-size:10px}.faculty-source-note{font-size:10px;line-height:1.9}.faculty-layout{gap:12px}.faculty-stage{width:calc(100% + 24px);margin-left:-12px}.faculty-window{height:575px}.faculty-scroll{padding:35px 15px 195px}.faculty-card summary{padding:17px 18px 14px}.faculty-card-meta{font-size:9px;margin-bottom:15px}.faculty-card-main{gap:14px}.faculty-avatar{height:70px;width:70px}.faculty-mini{height:31px;width:31px}.faculty-name{font-size:25px}.faculty-role{font-size:11px;margin-top:6px}.faculty-bio{font-size:10px}.faculty-card-open{font-size:18px}.faculty-card-hint{margin-top:15px;font-size:9px}.faculty-details{font-size:11px;padding:0 18px 18px}.faculty-details dl>div{grid-template-columns:57px 1fr;gap:7px}.faculty-record{padding:12px}.faculty-controls{padding:5px 15px 0}.faculty-scroll-hint{margin-left:13px;font-size:10px}}
.motion-off .faculty-card,.motion-off .faculty-card:hover{transform:none}.motion-off .faculty-scroll{scroll-behavior:auto}
@media(prefers-reduced-motion:reduce){.faculty-card,.faculty-card:hover{transform:none}.faculty-scroll{scroll-behavior:auto}.faculty-details{animation:none!important}.faculty-start:hover{transform:none}}
/* Keep scroll controls away from the fixed return-to-navigation button. */
.faculty-controls>div{position:absolute;right:24px;top:-6px;z-index:5}
.faculty-controls button{background:#f7f8f5}
@media(max-width:600px){.faculty-controls>div{right:15px;top:-3px}}

.faculty-profile{margin-top:19px;line-height:1.95}.faculty-profile-label{font-size:10px;color:#8f9b81;margin-bottom:7px}.faculty-profile>p+p{margin-top:10px}

.faculty-tabs{display:inline-flex;gap:5px;padding:5px;background:#ecefe7;border:1px solid #e1e6d9;border-radius:99px;margin-bottom:28px}.faculty-tabs button{display:flex;align-items:center;gap:12px;padding:10px 19px;border-radius:99px;color:#7d8873;font-size:13px;transition:background .25s,color .25s,box-shadow .25s}.faculty-tabs button>span{font:10px Arial,sans-serif;opacity:.6}.faculty-tabs button[aria-selected="true"]{background:#fff;color:#31442a;box-shadow:0 2px 8px #3443220c}.faculty-tabs button:focus-visible{outline:2px solid #90a773;outline-offset:2px}.faculty-panel[hidden]{display:none!important}.faculty-panel.is-entering{animation:faculty-panel-in .35s ease both}.faculty-start>#faculty-start-label{font-size:inherit;line-height:inherit}@keyframes faculty-panel-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@media(max-width:600px){.faculty-tabs{margin-bottom:23px}.faculty-tabs button{padding:9px 16px;font-size:12px;gap:11px}}@media(prefers-reduced-motion:reduce){.faculty-panel.is-entering{animation:none}}
