/* Bigstone course guide: official portraits, an editorial faculty lineup. */
.courses-page{background:#fff;color:var(--ink,#171717)}
.courses-page header{z-index:30}
.courses-page :is(section,article)[id]{scroll-margin-top:20px}
.courses-page .faculty-hero{display:block;padding:78px 0 0;background:#fff7f0;min-height:0;overflow:hidden}
.faculty-hero-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}
.faculty-hero-heading .kicker{color:#a9430b;letter-spacing:.13em;font-size:12px}
.courses-page .faculty-hero h1{font-size:clamp(40px,5.1vw,66px);line-height:1.16;letter-spacing:-.055em;margin:16px 0 0}
.courses-page .faculty-hero h1 span{color:var(--orange)}
.faculty-hero-intro{display:flex;gap:20px;align-items:center;padding-bottom:4px}
.faculty-hero-intro img{width:58px;height:auto;flex:none}
.faculty-hero-intro p{font-size:14px;line-height:1.9;margin:0;color:#66574c}
.faculty-hero-intro strong{font-weight:650;color:#24211f}
.faculty-lineup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.lineup-person{position:relative;display:block;background:#fff;border-bottom:3px solid #252525;text-decoration:none;transition:transform .2s,border-color .2s}
.lineup-person:hover,.lineup-person:focus-visible{transform:translateY(-5px);border-color:var(--orange)}
.faculty-portrait{position:relative;width:100%;aspect-ratio:550/660;overflow:hidden;background:#fff}
.faculty-portrait img{display:block;position:absolute;max-width:none;width:163.6364%;height:auto;left:-32.7273%;top:0}
.lineup-caption{position:relative;padding:18px 20px 24px;background:#fff;min-height:126px;border-top:1px solid #e7e1dd}
.lineup-caption h2{margin:0 0 10px;font-size:26px;line-height:1.2;letter-spacing:-.04em}
.lineup-caption h2 span{font-size:13px;font-weight:500;color:#777;margin-left:8px}
.lineup-caption p{font-size:12px;line-height:1.6;max-width:190px;margin:0;color:#5c5149;word-break:keep-all}
.lineup-arrow{position:absolute;bottom:24px;right:14px;color:var(--orange);font-size:22px}
.lineup-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0;color:#4f443c;font-size:12px;font-weight:650;letter-spacing:.04em}
.lineup-footer i{font-style:normal;color:var(--orange);margin:0 10px}
.lineup-footer a{text-decoration:none;color:inherit}
.courses-page .course-catalog{background:#171717;color:#fff;padding:88px 0}
.courses-page .course-catalog .kicker{color:#ff934f}
.courses-page .course-catalog .section-head>p{color:#bcb6b2}
.courses-page .exam-card{background:#232323;border:1px solid #45403c;color:#fff}
.courses-page .exam-card:hover{border-color:var(--orange)}
.courses-page .exam-card h3{color:#fff}
.courses-page .exam-teacher{border-color:#49413b}
.courses-page .exam-teacher>span,.courses-page .exam-tag{color:#b9ada5}
.courses-page .exam-teacher p,.courses-page .exam-teacher a{color:#fff;text-underline-offset:5px}
.courses-page .exam-teacher a{text-decoration:none;border-bottom:1px solid #736459}
.courses-page .exam-teacher a:hover{color:#ff934f}
.courses-page .course-button{background:#fff5ed;color:#29211c;border:0}
.courses-page .course-button:hover{background:var(--orange);color:#fff}
.courses-page .course-catalog-foot{border-color:#45403c;color:#c2b9b3}
.courses-page .course-catalog-foot a{color:#ff934f}
.faculty-section{padding:100px 0 110px;background:#fff}
.faculty-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;align-items:end;margin-bottom:70px}
.faculty-section-heading .kicker{grid-column:1/-1;color:#a7430d}
.faculty-section-heading h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.05em;line-height:1.25;margin:10px 0 0}
.faculty-section-heading h2 span{color:var(--orange)}
.faculty-section-heading>p:last-child{justify-self:end;color:#756b64;font-size:14px;line-height:1.8;margin:0 0 4px}
.faculty-profile{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:74px;margin:0 0 96px;position:relative}
.faculty-profile:last-child{margin-bottom:0}
.faculty-profile:nth-of-type(even) .profile-photo{order:2}
.profile-photo{margin:0;position:relative;align-self:end}
.profile-photo .faculty-portrait{aspect-ratio:550/660}
.profile-photo figcaption{display:flex;justify-content:space-between;border-top:3px solid var(--orange);padding:14px 0;font-size:10px;letter-spacing:.2em;color:#947d6c}
.profile-photo figcaption span{font-size:16px;letter-spacing:0;color:#bb4b0d;font-weight:700}
.profile-detail{padding:32px;border:2px solid #ec772f;position:relative;background:#fff}
.profile-detail:before{content:"";position:absolute;left:-75px;top:72px;width:73px;border-top:1px solid #ec772f}
.profile-detail:after{content:"";position:absolute;left:-80px;top:68px;width:9px;height:9px;border-radius:50%;background:var(--orange)}
.faculty-profile:nth-of-type(even) .profile-detail:before{left:auto;right:-75px}
.faculty-profile:nth-of-type(even) .profile-detail:after{left:auto;right:-80px}
.profile-number{font-size:10px;letter-spacing:.15em;color:#a8430c;font-weight:700}
.profile-title h3{font-size:38px;letter-spacing:-.04em;margin:12px 0 18px;line-height:1.2}
.profile-title h3 span{font-size:18px;font-weight:500;margin-left:12px;color:#68594f}
.profile-subjects{display:flex;flex-wrap:wrap;gap:6px}
.profile-subjects a{background:#fff1e7;color:#a7430d;padding:6px 10px;font-size:12px;font-weight:650;text-decoration:none;line-height:1.4}
.profile-quote{font-size:18px;font-weight:650;line-height:1.6;word-break:keep-all;letter-spacing:-.03em;margin:22px 0 20px}
.profile-bio{padding:0 0 0 17px;margin:0;display:grid;gap:8px;font-size:13px;color:#5f5751;line-height:1.65;word-break:keep-all}
.profile-bio li::marker{color:var(--orange);font-size:12px}
.profile-experience{font-size:12px;color:#995024;font-weight:600;padding-top:18px;margin-bottom:0}
.profile-next{display:inline-block;margin-top:25px;font-size:12px;color:#29211d}
.profile-detail .instructor-credentials{border-top:1px solid #eadfd8;padding-top:18px;margin-top:18px}
.profile-detail .credentials-label{font-size:10px;color:#8d7666;margin:0 0 10px}
.profile-detail .institution-logos{display:flex;gap:12px;flex-wrap:wrap;justify-content:start}
.profile-detail .institution-logo{width:64px;height:24px;margin:0}
.profile-detail .institution-logo img{width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.55}
.faculty-consult{background:#fff2e8;padding:65px 0;text-align:center}
.faculty-consult h2{font-size:32px;letter-spacing:-.04em}
.faculty-consult p:not(.kicker){font-size:14px;color:#6d5e53;margin:15px 0 24px}
.faculty-consult .button{min-width:230px}
.courses-page footer{padding-top:50px}
@media(max-width:1000px){
 .faculty-hero-heading{gap:20px}.faculty-hero-intro img{display:none}
 .faculty-profile{gap:40px}.profile-detail{padding:24px}
 .profile-detail:before{left:-41px;width:39px}.profile-detail:after{left:-45px}
 .faculty-profile:nth-of-type(even) .profile-detail:before{right:-41px}.faculty-profile:nth-of-type(even) .profile-detail:after{right:-45px}
 .lineup-caption{padding:16px 12px 20px;min-height:126px}.lineup-caption h2{font-size:23px}.lineup-arrow{display:none}
}
@media(max-width:760px){
 .courses-page .faculty-hero{padding-top:45px}.faculty-hero-heading{display:block;margin-bottom:26px}
 .courses-page .faculty-hero h1{font-size:40px}.faculty-hero-intro{margin-top:20px}.faculty-hero-intro p{font-size:13px;line-height:1.7}
 .faculty-lineup{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .lineup-caption{min-height:116px;padding:14px 12px 17px}.lineup-caption h2{font-size:23px}.lineup-caption h2 span{font-size:11px;margin-left:6px}.lineup-caption p{font-size:11px}
 .lineup-footer{align-items:start;flex-direction:column;gap:10px;padding:22px 0;font-size:11px}
 .courses-page .course-catalog{padding:55px 0}.courses-page .course-catalog .section-head{gap:20px}
 .faculty-section{padding:55px 0 65px}.faculty-section-heading{display:block;margin-bottom:25px}.faculty-section-heading>p:last-child{margin-top:18px}
 .faculty-profile{display:flex;flex-direction:column;gap:0;margin-bottom:50px;align-items:stretch}
 .profile-photo{align-self:center;width:84%;max-width:350px}
 .faculty-profile:nth-of-type(even) .profile-photo{order:0}
 .profile-photo figcaption{display:none}.profile-detail{padding:25px 21px}
 .profile-detail:before,.profile-detail:after{display:none}.profile-title h3{font-size:32px}.profile-title h3 span{font-size:16px}
 .profile-quote{font-size:17px}.profile-bio{font-size:13px;gap:9px}
 .faculty-consult{padding:48px 0}.faculty-consult h2{font-size:26px}.faculty-consult p:not(.kicker){line-height:1.8}
}
@media(prefers-reduced-motion:reduce){.lineup-person{transition:none}.lineup-person:hover{transform:none}}
@media(min-width:761px){
 .courses-page .faculty-hero{padding-top:42px}
 .faculty-hero-heading{margin-bottom:28px}
 .courses-page .faculty-hero h1{font-size:clamp(40px,4vw,56px)}
 .lineup-person .faculty-portrait{height:250px;aspect-ratio:auto}
 .lineup-caption{min-height:108px;padding-top:15px;padding-bottom:18px}
}
