/* Studio 18: public team content; portrait slots stay ready for real images. */
.people-page main{overflow:clip}
.people-intro{position:relative;padding-block:40px 52px;isolation:isolate;overflow:clip}
.people-intro-copy{position:relative;z-index:1}
.people-intro h1{font-size:clamp(56px,6vw,88px);line-height:1.02;letter-spacing:-.055em;font-weight:400;margin:0;max-width:990px}
.people-intro h1 span{color:var(--red)}
.people-lead{font-size:22px;line-height:1.5;max-width:660px}
.people-ribbon{position:absolute;width:clamp(360px,38vw,520px);aspect-ratio:740/320;right:32px;top:50%;transform:translateY(-50%);z-index:0;pointer-events:none}
/* Play only once the page-transition cover has cleared. */
.people-ribbon{--ribbon-angle:-14deg}
.people-ribbon img{display:block;width:100%;height:auto;transform:rotate(var(--ribbon-angle));animation:people-ribbon-enter 1050ms cubic-bezier(.16,1,.3,1) 120ms both}
html.motus-page-pending .people-ribbon img,html.is-page-transitioning .people-ribbon img{animation-play-state:paused}
@keyframes people-ribbon-enter{
 from{opacity:0;transform:translate3d(36px,18px,0) rotate(calc(var(--ribbon-angle) - 8deg)) scale(.96)}
 40%{opacity:1}
 to{opacity:1;transform:translate3d(0,0,0) rotate(var(--ribbon-angle)) scale(1)}
}
.people-board{padding-block:12px 100px}
.people-heading{margin-bottom:30px}
.people-heading h2{font-size:clamp(42px,4.5vw,64px);line-height:1.04;letter-spacing:-.055em;margin:0}
.people-thanks h2{font-size:clamp(50px,5.25vw,76px);line-height:1.04;letter-spacing:-.055em;margin-top:25px}
.people-heading>p{font-size:18px;line-height:1.55;max-width:390px;padding-bottom:4px}
.people-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px}
.person-portrait{position:relative;display:grid;place-items:center;background:#000;border:1px solid #ffffff55;border-radius:10px;aspect-ratio:4/5;overflow:hidden;isolation:isolate}
.person-portrait::before,.person-portrait::after{content:"";position:absolute;width:34px;height:34px;border-color:#fff;pointer-events:none}
.person-portrait::before{left:16px;top:16px;border-top:1px solid;border-left:1px solid}
.person-portrait::after{right:16px;bottom:16px;border-bottom:1px solid;border-right:1px solid}
.portrait-initials{font-size:clamp(90px,10vw,154px);font-weight:300;letter-spacing:-.085em;line-height:1;color:transparent;-webkit-text-stroke:1px #fff;padding-right:.085em;user-select:none}
.portrait-label{position:absolute;bottom:23px;left:22px;font-size:8px;font-weight:400;letter-spacing:.13em}
.person-portrait img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.person-card h3{font-size:26px;line-height:1.12;letter-spacing:-.035em;margin-top:20px;font-weight:400;overflow-wrap:break-word}
.people-team .person-card h3{font-size:24px}
.person-role{font-size:14px;line-height:1.45;margin-top:9px;max-width:260px}
.board-person h3{font-size:32px;margin-top:24px}
.board-person .person-role{font-size:16px;max-width:310px}
.person-summary{margin-top:17px;font-size:15px;line-height:1.5;max-width:320px}
.people-team{border-top:1px solid #ffffff55;padding-block:78px 100px}
.people-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:54px 32px}
.people-team .portrait-initials{font-size:clamp(75px,7vw,112px)}
.people-thanks{border-top:1px solid #ffffff55;padding-block:78px 86px}
.thanks-copy{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end}
.thanks-copy>p{font-size:21px;max-width:480px;line-height:1.55}
.thanks-names:not([hidden]){list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:14px 32px;margin:40px 0 0;font-size:20px}
.people-page .join-section{padding-block:70px 86px}
.site-footer .footer-legal{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-top:50px}
.site-footer .footer-legal .license{margin:0}
.site-footer .footer-credit{font-size:11px;white-space:nowrap;margin-left:auto;text-align:right}
.footer-credit a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:761px) and (max-width:1100px){.people-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.people-board-grid{gap:28px}.board-person h3{font-size:27px}.people-ribbon{width:clamp(210px,31vw,340px);right:16px;opacity:1}.people-intro h1{font-size:clamp(56px,6.8vw,75px);max-width:740px}.people-lead{max-width:590px}}
@media(max-width:760px){
 .people-intro{padding-block:28px 36px}.people-intro h1{font-size:clamp(43px,11.45vw,78px);margin:0;line-height:1.04}.people-lead{font-size:18px;max-width:550px}.people-ribbon{width:clamp(120px,38vw,210px);right:10px;top:auto;bottom:28px;transform:none;opacity:1}.people-ribbon{--ribbon-angle:-8deg}.people-intro-copy{z-index:2}.people-intro h1{max-width:100%}.people-intro h1 span{display:block}.people-lead{position:relative;background:#000;padding-top:2px}
 .people-heading{margin-bottom:24px}.people-heading h2{font-size:clamp(36px,9.5vw,56px);margin:0}.people-thanks h2{font-size:clamp(44px,11.5vw,66px);margin-top:20px}.people-heading>p{font-size:17px;margin-top:22px}.people-heading>p br{display:none}
 .people-board{padding-block:0 60px}.people-board-grid{grid-template-columns:1fr;gap:42px;max-width:480px;margin-inline:auto}.board-person .person-portrait{aspect-ratio:4/5}.portrait-initials{font-size:clamp(120px,34vw,185px)}.board-person h3{font-size:31px;margin-top:20px}.board-person .person-role{font-size:16px;max-width:none}.person-summary{font-size:15px;margin-top:12px;max-width:none}
 .people-team{padding-block:52px 60px}.people-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 20px}.people-team .person-portrait{aspect-ratio:4/5}.people-team .portrait-initials{font-size:clamp(60px,17vw,112px)}.people-team .person-portrait::before,.people-team .person-portrait::after{width:19px;height:19px}.people-team .person-portrait::before{top:10px;left:10px}.people-team .person-portrait::after{bottom:10px;right:10px}.people-team .portrait-label{font-size:6px;left:11px;bottom:17px;letter-spacing:.04em}.people-team .person-card h3{font-size:clamp(18px,4.8vw,24px);margin-top:16px;line-height:1.14}.people-team .person-role{font-size:12px;margin-top:8px;line-height:1.5}
 .people-thanks{padding-block:52px 60px}.thanks-copy{grid-template-columns:1fr;gap:25px}.thanks-copy>p{font-size:18px}.people-page .join-section{padding-block:52px 60px}.site-footer .footer-legal{flex-direction:column;align-items:flex-start;margin-top:38px;gap:25px}.site-footer .footer-credit{align-self:flex-end}
}
@media(max-width:359px){.people-team-grid{gap:32px 16px}.people-team .portrait-label{font-size:5.5px}.people-intro h1{font-size:41px}.people-ribbon{width:118px;right:8px}.board-person h3{font-size:29px}}

.people-page .person-card[id]{scroll-margin-top:160px}

@media(prefers-reduced-motion:reduce){.people-ribbon img{animation:none;opacity:1}}

/* Optional LinkedIn profile: same first line as the name, no extra text row. */
.person-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:20px}
.person-card .person-name-row h3{flex:1;min-width:0;margin-top:0}
.board-person .person-name-row{margin-top:24px}
.person-linkedin{position:relative;display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin-top:2px;color:#fff;opacity:.72;transition:opacity 200ms ease}
.person-linkedin::after{content:"";position:absolute;inset:-8px}
/* The exact official logo masks the energy, including the negative-space letters. */
.person-linkedin-mark{position:relative;display:block;width:22px;aspect-ratio:840/779;isolation:isolate;transition:transform 320ms cubic-bezier(.16,1,.3,1)}
.person-linkedin img{display:block;width:100%;height:100%;max-width:none}
.person-linkedin-mark::before{content:"";position:absolute;inset:1px;background:linear-gradient(110deg,#5552a3 0%,#802070 35%,#d51436 70%,#e63634 100%);filter:blur(5px);opacity:0;z-index:-1}
.person-linkedin-energy{position:absolute;inset:0;overflow:hidden;pointer-events:none;-webkit-mask:url("assets/linkedin-in-white.png") center/100% 100% no-repeat;mask:url("assets/linkedin-in-white.png") center/100% 100% no-repeat}
.person-linkedin-energy::before{content:"";position:absolute;left:-25%;top:-40%;width:150%;height:180%;border-radius:35%;background:linear-gradient(110deg,#5552a3 0%,#802070 35%,#d51436 70%,#e63634 100%);opacity:0;transform:translate3d(-135%,0,0) rotate(-12deg)}
.person-linkedin.is-linkedin-flowing .person-linkedin-energy::before{animation:linkedin-energy-pass 1600ms cubic-bezier(.3,0,.3,1) both}
.person-linkedin.is-linkedin-flowing .person-linkedin-mark::before{animation:linkedin-energy-glow 1600ms ease-in-out both}
@keyframes linkedin-energy-pass{
 0%{opacity:0;transform:translate3d(-135%,0,0) rotate(-12deg)}
 16%{opacity:1}
 84%{opacity:1}
 100%{opacity:0;transform:translate3d(135%,0,0) rotate(-12deg)}
}
@keyframes linkedin-energy-glow{0%,100%{opacity:0}45%,55%{opacity:.18}}
.person-linkedin:focus-visible{opacity:1;outline:1px solid #ffffffaa;outline-offset:5px;border-radius:3px}
@media(hover:hover) and (pointer:fine){
 .person-linkedin:hover{opacity:1}
 .person-linkedin:hover .person-linkedin-mark{transform:translateY(-2px) scale(1.06)}
}
.person-linkedin:focus-visible .person-linkedin-mark{transform:translateY(-2px) scale(1.06)}
@media(max-width:760px){.board-person .person-name-row{margin-top:20px}.people-team .person-name-row{margin-top:16px;gap:6px}.people-team .person-linkedin{flex-basis:24px;width:24px;height:24px;margin-top:0}.people-team .person-linkedin-mark{width:18px}}
@media(prefers-reduced-motion:reduce){.person-linkedin,.person-linkedin-mark{transition:none}.person-linkedin:hover .person-linkedin-mark,.person-linkedin:focus-visible .person-linkedin-mark{transform:none}.person-linkedin.is-linkedin-flowing .person-linkedin-energy::before,.person-linkedin.is-linkedin-flowing .person-linkedin-mark::before{animation:none;opacity:0}}
