/* A continuous portrait gallery follows the portfolio's final rule. */
.portfolio-team-bridge{height:112px;border-top:1px solid #afc7df33;border-left:1px solid #afc7df33;opacity:var(--grid-border)}
.team-section{position:relative;padding:0 7vw;background:#03070c;scroll-margin-top:105px;isolation:isolate}
.team-intro{position:relative;padding:54px 0 105px}
.team-continuation{position:absolute;top:0;left:0;width:28px;height:60px;border-left:1px solid #afc7df33;border-bottom:1px solid #afc7df33}
.team-intro>.eyebrow{padding-left:45px;margin:0 0 46px;font-size:12px;letter-spacing:.14em}
.team-intro-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}
.team-intro h2{font-size:clamp(58px,6.6vw,104px);font-weight:400;line-height:1.04;letter-spacing:-.06em}
.team-intro-heading>p{margin:0 0 8px;color:#a9bacb;font-size:17px;font-weight:300;line-height:1.7;max-width:260px}
.team-index{display:flex;gap:34px;margin-top:48px;font-size:14px;color:#b6c4d2;flex-wrap:wrap}
.team-index a{display:inline-flex;align-items:center;gap:13px}.team-index span{font:12px 'IBM Plex Mono',monospace;color:#637b94}.team-index a:hover{color:#fff}
.team-group{scroll-margin-top:130px;margin-bottom:108px}
.team-group-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:25px;border-bottom:1px solid #afc7df26;margin-bottom:42px}
.team-group-heading h3{font-size:21px;font-weight:400;letter-spacing:-.025em;margin:0}.team-group-heading>span{font:12px 'IBM Plex Mono',monospace;color:#8296ad}
.portrait-row{--portrait-height:460px;--expanded-height:560px;margin-bottom:72px;max-width:100%;transition:max-width .7s cubic-bezier(.22,1,.36,1)}
.portrait-row:last-child{margin-bottom:0}
.portrait-row[data-columns="4"]{--portrait-height:330px;--expanded-height:490px}

.portrait-row[data-columns="2"]{max-width:100%}
.portrait-row.is-open{max-width:100%}
.portrait-stage{display:grid;grid-template-columns:var(--row-tracks);height:var(--portrait-height);transition:grid-template-columns .7s cubic-bezier(.22,1,.36,1),height .7s cubic-bezier(.22,1,.36,1);position:relative}
.portrait-row.is-open .portrait-stage{height:var(--expanded-height)}
.portrait-window{position:relative;padding:0;min-width:0;overflow:hidden;display:block;height:100%;isolation:isolate;opacity:1;transition:opacity .45s;cursor:pointer}
.portrait-window::after,.mobile-portrait::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#03070c 0%,#03070c00 12%,#03070c00 88%,#03070c 100%),linear-gradient(0deg,#03070c 0%,#03070c00 28%),linear-gradient(180deg,#03070c55,transparent 18%)}
.portrait-image{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--portrait-position,center);transform:scale(var(--portrait-zoom,1));transform-origin:var(--portrait-position,center);filter:grayscale(1) brightness(.32) contrast(1.06);opacity:.35;transition:filter 1.45s cubic-bezier(.2,.65,.3,1),opacity 1.45s;transition-delay:var(--light-delay,0ms)}
.is-lit .portrait-image{filter:grayscale(1) brightness(.91) contrast(1.04);opacity:1}
.portrait-window:hover .portrait-image,.portrait-row.is-open .portrait-window.is-selected .portrait-image,.mobile-person.is-open .portrait-image{filter:grayscale(.35) brightness(.98) contrast(1.02)}
.portrait-row.is-open .portrait-window:not(.is-selected){opacity:0;pointer-events:none}
.portrait-identities{display:grid;grid-template-columns:repeat(var(--people),minmax(0,1fr));position:relative}
.person-select{text-align:left;padding:22px 18px 0;min-width:0;display:flex;align-items:flex-start;flex-direction:column;border-top:1px solid transparent;transition:border-color .3s}
.person-select:hover,.person-select[aria-expanded="true"]{border-top-color:#a5bed56b}
.person-name{display:block;font-size:clamp(25px,2.2vw,34px);font-weight:400;letter-spacing:-.045em;line-height:1.13;color:#eef3f8;margin-bottom:13px}
.person-role{display:block;font-size:14px;font-weight:400;line-height:1.6;color:#bec9d5;max-width:340px}
.person-experience{display:block;font-size:16px;font-weight:300;line-height:1.55;color:#8fa3b9;margin-top:20px;max-width:335px}
.person-action{display:flex;align-items:center;gap:18px;font-size:12px;letter-spacing:.015em;color:#b4c7db;margin-top:24px}.person-action>span{font-size:22px;font-weight:300;line-height:1}
.person-select:focus-visible{outline:1px solid #a3c4e5;outline-offset:4px}
.team-group-advisors .person-name{font-size:26px}.team-group-advisors .person-select{padding-left:13px;padding-right:13px}.team-group-advisors .person-experience{font-size:15px}
.portrait-bio{min-width:0;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .25s}
.portrait-row.is-open .portrait-bio{opacity:1;pointer-events:auto;transition:opacity .6s .18s}
.portrait-bio-inner{position:relative;padding:38px clamp(25px,4vw,65px);height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#546c8155 transparent}
.bio-close{position:absolute;right:8px;top:0;width:42px;height:42px;border:1px solid #b5cee233;border-radius:50%;font-size:27px;font-weight:300;display:grid;place-items:center;line-height:1;transition:background .2s}.bio-close:hover{background:#182b3d}
.bio-label{font-size:12px;letter-spacing:.12em;color:#91aac2;margin-bottom:22px}
.bio-name{font-size:clamp(31px,3.25vw,50px);font-weight:400;letter-spacing:-.045em;line-height:1.06;margin:0 0 17px}
.bio-role{font-size:14px;line-height:1.6;color:#adbdce;margin:0 0 26px}
.bio-copy{font-size:18px;font-weight:300;line-height:1.75;color:#c4ceda;margin:0;max-width:590px}
.bio-credentials{font:12px/1.7 'IBM Plex Mono',monospace;color:#91a7bd;margin:27px 0 0}.bio-credentials:empty{display:none}
.mobile-gallery{display:none}
.team-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:47px 0 52px;border-top:1px solid #afc7df2b;color:#a8b8ca;font-size:14px}
.team-footer-brand{display:block;width:150px}.team-footer-brand img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}.team-footer>div{display:flex;gap:34px}.team-footer>div a{display:inline-flex;gap:13px}.team-footer a:hover{color:#fff}
@media(min-width:1700px){.portrait-row{--portrait-height:540px;--expanded-height:620px}.portrait-row[data-columns="4"]{--portrait-height:390px;--expanded-height:520px}}
@media(max-width:1100px){.team-intro-heading{display:block}.team-intro-heading>p{margin-top:32px;max-width:540px}.team-intro-heading>p br{display:none}.team-intro-heading>p br:after{content:' '}.portrait-row{--portrait-height:370px;--expanded-height:540px}.portrait-row[data-columns="4"]{--portrait-height:255px;--expanded-height:510px}.person-name{font-size:26px}.team-group-advisors .person-name{font-size:23px}.person-select{padding:20px 13px 0}.person-role{font-size:14px}.person-experience{font-size:16px}.portrait-bio-inner{padding:36px 28px}.bio-name{font-size:35px}.bio-copy{font-size:17px;line-height:1.65}.team-index{gap:24px}}
@media(max-width:700px){.desktop-gallery{display:none}.mobile-gallery{display:block}.portfolio-team-bridge{height:84px}.team-section{scroll-margin-top:72px}.team-intro{padding-top:42px;padding-bottom:72px}.team-continuation{height:48px;width:22px}.team-intro>.eyebrow{padding-left:35px;margin-bottom:33px}.team-intro h2{font-size:clamp(43px,9.2vw,65px);line-height:1.07}.team-intro-heading>p{font-size:16px;line-height:1.65;max-width:330px;margin-top:27px}.team-index{gap:16px 23px;margin-top:32px;font-size:13px}.team-index a{gap:9px}.team-index span{font-size:11px}.team-group-heading{margin-bottom:28px;padding-bottom:20px}.team-group-heading h3{font-size:19px;max-width:270px}.team-group{margin-bottom:76px;scroll-margin-top:95px}.mobile-person{margin-bottom:48px}.mobile-person:last-child{margin-bottom:0}.mobile-profile{display:block;padding:0;text-align:left;width:100%}.mobile-portrait{height:430px;display:block;position:relative;overflow:hidden}.mobile-identity{display:block;padding:12px 8px 0}.mobile-profile .person-name{font-size:31px}.mobile-profile .person-role{font-size:14px}.mobile-profile .person-experience{font-size:16px;margin-top:17px}.mobile-profile .person-action{margin-top:19px}.mobile-bio{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1),opacity .4s}.mobile-bio>div{min-height:0;overflow:hidden}.mobile-bio p:not(.bio-credentials){font-size:17px;line-height:1.7;font-weight:300;margin:26px 8px 0;color:#c4ceda}.mobile-bio .bio-credentials{margin:22px 8px 8px}.mobile-person.is-open .mobile-bio{grid-template-rows:1fr;opacity:1}.team-group-advisors .mobile-person{padding-bottom:30px;border-bottom:1px solid #afc7df20;margin-bottom:30px}.team-group-advisors .mobile-profile{display:grid;grid-template-columns:96px minmax(0,1fr);gap:17px;align-items:start}.team-group-advisors .mobile-portrait{height:130px}.team-group-advisors .mobile-identity{padding:4px 0 0}.team-group-advisors .person-name{font-size:23px}.team-group-advisors .person-role{font-size:13px;line-height:1.6}.team-group-advisors .person-experience{font-size:15px;margin-top:13px}.team-group-advisors .person-action{margin-top:16px}.team-group-advisors .mobile-bio p:not(.bio-credentials){font-size:16px;margin-left:0;margin-right:0}.team-footer{align-items:flex-start;padding:35px 0 42px;font-size:13px}.team-footer-brand{width:124px}.team-footer>div{flex-direction:column;gap:20px}.team-link{font-size:12px}nav[aria-label="Main navigation"]{gap:14px}}
@media(max-width:380px){nav[aria-label="Main navigation"] .focus-link{display:none}.mobile-portrait{height:380px}.team-intro h2{font-size:40px}.team-index{font-size:12px;gap:14px}.team-group-advisors .mobile-profile{grid-template-columns:82px minmax(0,1fr);gap:14px}.team-group-advisors .mobile-portrait{height:115px}}
@media(prefers-reduced-motion:reduce){.portrait-image,.portrait-stage,.portrait-row,.portrait-bio,.mobile-bio{transition:none}.portrait-image{opacity:1;filter:grayscale(1) brightness(.91)}}
.team-section{overflow-anchor:none}
.portrait-row{scroll-margin-top:125px}
.portrait-row.is-open .portrait-identities{border-top:1px solid #afc7df26;margin-top:20px;padding-top:8px}
.portrait-row.is-open .person-select:not([aria-expanded="true"]){color:#a8b7c8}
.portrait-row.is-open .person-select:not([aria-expanded="true"]) .person-name{color:#a7b6c6}
.team-group-advisors .portrait-image{object-fit:contain}
.team-group-advisors [data-person="basil-yap"] .portrait-image{object-fit:cover}
@media(max-width:700px){.team-group-advisors .portrait-image{object-fit:cover}}
.person-action{font-size:14px}.team-group-advisors .person-experience{font-size:16px}
@media(max-width:700px){.team-index{font-size:14px}.team-group-advisors .person-experience{font-size:16px}}

.portrait-row[data-count="2"] .portrait-window .portrait-image{object-fit:contain}
