/* People directory: keep the established ivory, powder blue and espresso palette. */
body.people-page{background-color:var(--paper);background-image:url('images/paper-grain.svg')}
.people-main{max-width:1360px;margin:0 auto;padding:0 32px 100px}
.team-intro{text-align:center;padding:76px 0 48px}
.team-intro h1{font:400 clamp(2.4rem,4vw,3.6rem)/1.15 Georgia,serif;letter-spacing:-.04em;margin:0 0 24px;color:var(--ink)}
.team-intro p{max-width:830px;margin:0 auto;font-size:1.1875rem;line-height:1.8;color:var(--muted)}
.team-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 28px}
.team-filters[hidden],.team-card[hidden]{display:none}
.team-filters button{appearance:none;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:100px;font:inherit;font-size:1rem;line-height:1.4;min-height:46px;padding:10px 16px;cursor:pointer}
.team-filters button:hover{border-color:var(--ink)}
.team-filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.team-filters button:focus-visible,.team-card .team-card-link:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.team-guide{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:20px 0 12px}
.team-guide p{font-size:1rem;margin:0;color:var(--muted)}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px;align-items:stretch}
.team-card{padding:0;min-width:0;background:transparent;border:0;scroll-margin-top:140px}
.team-card .team-card-link{position:relative;display:flex;flex-direction:column;list-style:none;cursor:pointer;padding:0}
.team-card .team-card-link{height:100%}
.team-card .team-card-link::-webkit-details-marker{display:none}
/* The background panel starts below the crown so the cutout gently rises above it. */
.team-portrait{flex-shrink:0;display:block;position:relative;height:290px;overflow:hidden}
.team-portrait:before{content:"";position:absolute;inset:42px 0 0;background:#E1E6EF}
.team-portrait img{display:block;position:absolute;left:50%;top:var(--portrait-top);height:var(--portrait-height);width:auto;max-width:none;transform:translateX(var(--portrait-x))}
.team-caption{flex:1;display:flex;flex-direction:column;position:relative;min-height:346px;margin:-20px 0 0;padding:22px 20px 16px;background:var(--paper);border:0;border-radius:0;text-align:left;color:var(--ink)}
.team-identity{display:block;min-height:100px}
.team-name{display:block;font:400 1.4rem/1.28 Georgia,'Times New Roman',serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.team-role{display:block;font-size:.9375rem;line-height:1.5;margin-top:9px;color:var(--muted)}
.team-excerpt{display:block;font-size:1rem;line-height:1.65;margin:12px 0 22px;color:var(--ink)}
.team-read{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:14px;margin-top:auto;font-size:.875rem;font-weight:600;line-height:1.5}
.team-read>span:last-child{font-size:1.2rem;font-weight:400}
.read-less,.team-card[open] .read-more{display:none}.team-card[open] .read-less{display:inline}
.team-card .team-card-link:hover .team-read{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.team-bio{padding:0 20px 22px;background:var(--paper);overflow-wrap:anywhere}
.team-bio p{font-size:1rem;line-height:1.75;margin:0 0 18px}
.team-summary-full{display:none}
.profile-source{display:inline-flex;gap:16px;align-items:center;font-size:.9375rem;border-bottom:1px solid var(--ink);padding-bottom:3px;color:var(--ink)}
.profile-source:hover{text-decoration:none}
.people-main .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-intro{padding-top:56px}.people-main{padding-left:24px;padding-right:24px}}
@media(max-width:760px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-caption{min-height:350px}}
@media(max-width:540px){.people-main{padding:0 16px 60px}.team-intro{padding:40px 4px 30px}.team-intro h1{font-size:2.2rem;margin-bottom:24px}.team-intro p{font-size:1.0625rem;line-height:1.8}.team-filters{gap:4px;justify-content:flex-start;margin-bottom:20px}.team-filters button{font-size:.9375rem;padding:9px 12px}.team-guide{padding:16px 0 8px;gap:8px;align-items:start}.team-guide p{font-size:.875rem}.team-guide #team-count{white-space:nowrap}.team-grid{gap:26px 12px}.team-portrait{height:220px}.team-portrait:before{top:34px}.team-caption{margin:-14px 0 0;padding:17px 12px 14px;min-height:342px}.team-identity{min-height:115px}.team-name{font-size:1.18rem;line-height:1.25}.team-role{font-size:.875rem;line-height:1.45;margin-top:8px}.team-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;font-size:.9375rem;line-height:1.6;height:8em}.team-read{font-size:.8125rem;gap:6px}.team-excerpt{margin-bottom:20px}.team-bio{padding:0 12px 20px}.team-bio p{font-size:.9375rem}.team-summary-full{display:block}.profile-source{font-size:.875rem}}
@media(max-width:370px){.team-portrait{height:190px}.team-caption{padding-left:10px;padding-right:10px}.team-identity{min-height:140px}.team-intro h1{font-size:2rem}}
@media print{body.people-page{background-image:none}.team-filters,.team-guide,.team-read{display:none}.team-card[hidden]{display:block}.team-card{break-inside:avoid}.team-excerpt{display:block;height:auto;overflow:visible;-webkit-line-clamp:unset}}

/* Per-person framing of the original transparent assets. No image distortion.
   Source measurements: image height / crown y / chin y / head center x, at width 600px.
   Every crown sits 8% from the top; crown-to-chin height occupies 74% of the window.
   Relative heights keep the same composition at every responsive breakpoint. */
#toni{--portrait-height:171.5848%;--portrait-top:-1.0877%;--portrait-x:-50.0000%;} /* 793 / 42 / 384 / 300 */
#katie{--portrait-height:88.4286%;--portrait-top:6.0000%;--portrait-x:-50.0000%;} /* 619 / 14 / 532 / 300 */
#mark{--portrait-height:137.5565%;--portrait-top:5.0161%;--portrait-x:-49.3333%;} /* 461 / 10 / 258 / 296 */
#vanessa{--portrait-height:129.2094%;--portrait-top:0.6387%;--portrait-x:-49.6667%;} /* 667 / 38 / 420 / 298 */
#sergio{--portrait-height:170.7692%;--portrait-top:-1.6769%;--portrait-x:-53.3333%;} /* 600 / 34 / 294 / 320 */
#sonia{--portrait-height:135.6667%;--portrait-top:-3.4886%;--portrait-x:-51.6667%;} /* 803 / 68 / 506 / 310 */
#guillaume{--portrait-height:114.2808%;--portrait-top:-1.8424%;--portrait-x:-52.6316%;} /* 1254 / 108 / 920 / 660 */
#ioannis{--portrait-height:91.2667%;--portrait-top:0.2105%;--portrait-x:-51.6667%;} /* 703 / 60 / 630 / 310 */
#isabel{--portrait-height:136.4488%;--portrait-top:1.5024%;--portrait-x:-49.6667%;} /* 756 / 36 / 446 / 298 */
#hao{--portrait-height:124.7191%;--portrait-top:-4.8876%;--portrait-x:-46.3333%;} /* 600 / 62 / 418 / 278 */
#martin{--portrait-height:99.6533%;--portrait-top:2.0800%;--portrait-x:-51.0000%;} /* 808 / 48 / 648 / 306 */
#nazuk{--portrait-height:129.2576%;--portrait-top:-9.7729%;--portrait-x:-52.0000%;} /* 800 / 110 / 568 / 312 */
#milidili{--portrait-height:99.2137%;--portrait-top:5.6129%;--portrait-x:-51.0000%;} /* 665 / 16 / 512 / 306 */
#ruoqi{--portrait-height:177.4671%;--portrait-top:-4.8503%;--portrait-x:-52.6667%;} /* 801 / 58 / 392 / 316 */
#possawee{--portrait-height:112.7319%;--portrait-top:3.5915%;--portrait-x:-50.3333%;} /* 716 / 28 / 498 / 302 */
#iman{--portrait-height:135.2262%;--portrait-top:-0.3690%;--portrait-x:-49.0000%;} /* 614 / 38 / 374 / 294 */
#kaida{--portrait-height:137.3111%;--portrait-top:0.8741%;--portrait-x:-49.6667%;} /* 501 / 26 / 296 / 298 */
#rodrigo{--portrait-height:118.4000%;--portrait-top:2.5733%;--portrait-x:-43.3333%;} /* 480 / 22 / 322 / 260 */
/* Alumni are opt-in: neither the current-member view nor the homepage includes them. */
.team-grid[hidden],.alumni-directory[hidden]{display:none!important}
.alumni-directory{padding-top:12px}.alumni-intro{max-width:760px;margin:0 0 36px}.alumni-intro h2{font:400 clamp(30px,3vw,44px)/1.2 Georgia,serif;letter-spacing:-.02em;margin:10px 0 18px}.alumni-intro>p:last-child{font-size:18px;line-height:1.7;color:var(--muted)}
.alumni-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}.alumni-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding:28px 0;border-top:1px solid var(--line);scroll-margin-top:140px}.alumni-portrait-link>img{width:120px;height:150px;object-fit:contain;background:#E1E6EF;border-radius:4px}.alumni-card h3{font:400 25px/1.25 Georgia,serif;margin:0 0 12px;overflow-wrap:anywhere}.alumni-card p{font-size:17px;line-height:1.65;margin:0 0 18px;color:var(--muted)}.alumni-card a{font-size:14px;text-decoration:underline;text-underline-offset:4px;display:inline-block;padding:8px 0}.alumni-card a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:900px){.alumni-grid{grid-template-columns:1fr}}@media(max-width:480px){.alumni-card{grid-template-columns:85px minmax(0,1fr);gap:16px}.alumni-portrait-link>img{width:85px;height:110px}.alumni-card h3{font-size:23px}.alumni-card p{font-size:16px}}

/* Whole-card links open independent local homepages. */
.team-card .team-card-link{height:100%;color:var(--ink);text-decoration:none}
.team-card .team-card-link:hover .team-name{text-decoration:underline;text-underline-offset:4px}
.alumni-card .alumni-portrait-link{display:block;padding:0}
.alumni-card h3 a{font:inherit;padding:0;text-decoration:none}
.alumni-card h3 a:hover{text-decoration:underline}

#mohammadhadi{--portrait-height:168.7251%;--portrait-top:-1.9175%;--portrait-x:-53.0000%;}
