/* One horizontal team strip; the browser owns touch scrolling and momentum. */
.people-section{background:#eaf0f8;padding:100px 0 88px;scroll-margin-top:100px}
.people-content{max-width:1240px}
.people-heading{text-align:center;margin:0 auto 48px;max-width:960px}
.people-heading h2{font-size:clamp(44px,5.2vw,72px);line-height:1.07;letter-spacing:-.045em;font-weight:570;color:#17212b;text-wrap:balance}
.people-heading p{font-size:18px;line-height:1.65;color:#526174;max-width:670px;margin:25px auto 0;text-wrap:pretty}
.team-shell{background:#fff;border-radius:24px;padding:32px 24px;transition:opacity .6s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.team-shell.reveal-pending:not(.is-revealed){opacity:0;transform:translate3d(0,20px,0)}
.team-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:18px;list-style:none;margin:0;padding:8px 0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b7c6db transparent}
.team-track:focus-visible{outline:2px solid var(--blue);outline-offset:8px;border-radius:6px}
.team-member{min-width:0;text-align:center;scroll-snap-align:start}
.team-portrait{display:block;width:min(100%,142px);aspect-ratio:1;height:auto;object-fit:cover;border-radius:50%;margin:0 auto 22px;background:#e8edf5;user-select:none;-webkit-user-drag:none}
.team-member h3{font-size:17px;line-height:1.3;font-weight:570;letter-spacing:-.025em;color:#17212b;margin:0 auto 8px;max-width:155px;text-wrap:balance}
.team-member p{font-size:13px;line-height:1.5;color:#647084;max-width:166px;margin:0 auto;text-wrap:balance}
.team-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px}
.team-controls[hidden]{display:none}
.team-position{font-size:13px;color:#647084;font-variant-numeric:tabular-nums}
.team-buttons{display:flex;gap:8px}
.team-buttons button{width:46px;height:46px;padding:12px;display:grid;place-items:center;border:1px solid #d5deeb;border-radius:50%;background:#fff;color:var(--blue);cursor:pointer;transition:background .2s,color .2s}
.team-buttons button:hover:not(:disabled){background:var(--blue);border-color:var(--blue);color:#fff}
.team-buttons button:disabled{opacity:.35;cursor:default}
.team-buttons button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.team-buttons svg{width:20px;height:20px}
.team-prev svg{transform:rotate(180deg)}
.people-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:40px}
.people-principles h3{font-size:23px;line-height:1.25;font-weight:550;letter-spacing:-.45px;max-width:310px}
.people-principles p{font-size:15px;line-height:1.7;color:#526174;margin-top:15px;max-width:330px}
.people-actions{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:44px;flex-wrap:wrap}
.people-actions .button{min-height:58px;font-size:15px;gap:32px}
.people-phone{font-size:18px;letter-spacing:-.35px;white-space:nowrap}
.people-phone:hover{color:var(--blue)}
.people-directions{text-align:center;margin:22px auto 0;max-width:700px;font-size:13px;line-height:1.8;color:#526174;text-wrap:pretty}
.people-directions a{text-decoration:underline;text-decoration-color:#aebccc;text-underline-offset:3px}
.people-directions a:hover{color:var(--blue);text-decoration-color:currentColor}
.motion-reduced .team-shell{opacity:1!important;transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.team-shell{opacity:1!important;transform:none!important;transition:none!important}}
@media(max-width:950px){.people-section{padding:76px 0}.people-principles{gap:28px}.people-principles h3{font-size:21px}.people-principles p{font-size:14px}}
@media(max-width:900px){
 .team-track{grid-auto-columns:168px;gap:22px;padding:8px 0 18px}
 .team-portrait{width:140px}
 .team-shell{padding:24px}
}
@media(max-width:767px){
 .people-section{padding:58px 0 60px}
 .people-heading{margin-bottom:30px}
 .people-heading h2{font-size:clamp(33px,8.8vw,45px);line-height:1.12;letter-spacing:-.04em}
 .people-heading h2 br{display:none}
 .people-heading p{font-size:16px;line-height:1.65;margin-top:21px;max-width:480px}
 .team-shell{border-radius:20px;padding:22px 18px 18px}
 .team-track{grid-auto-columns:170px;gap:16px}
 .team-portrait{width:144px;margin-bottom:18px}
 .team-member h3{font-size:19px;max-width:165px}
 .team-member p{font-size:14px}
 .people-principles{grid-template-columns:1fr;gap:24px;margin-top:30px}
 .people-principles>div+div{border-top:1px solid #ccd7e6;padding-top:24px}
 .people-principles h3{font-size:23px;max-width:none}
 .people-principles p{font-size:15px;margin-top:10px;max-width:510px}
 .people-actions{margin-top:32px;gap:20px;flex-direction:column}
 .people-actions .button{width:100%;max-width:430px;justify-content:space-between;font-size:14px}
 .people-phone{font-size:20px}
 .people-directions{font-size:12px;line-height:1.75;margin-top:23px;max-width:360px}
}
