.team{padding:0;scroll-margin-top:100px;background:#FAF9F6}
.team-artboard{position:relative;width:100%;max-width:1536px;aspect-ratio:3/2;margin-inline:auto;container-type:inline-size;isolation:isolate}
.team-skyline{position:absolute;inset:0;z-index:-1;pointer-events:none}
.team-skyline img{width:100%;height:100%;display:block;object-fit:fill}
.team-heading{position:absolute;left:3.5%;right:3.5%;top:5.7%;display:grid;grid-template-columns:58.2% 41.8%;align-items:start}
.team h2{font:700 5.6cqw/.99 Rubik,sans-serif;letter-spacing:-.03em;margin:0;max-width:51cqw}
.team-heading>p{font-size:1.76cqw;line-height:1.36;margin:1cqw 0 0;padding-left:2.3cqw;border-left:2px solid #7C3AED;color:#17161B}
.team-members{position:absolute;top:28%;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:0}
.team-member{min-width:0}
.team-portrait{position:relative;height:28.2cqw;overflow:visible}
.team-portrait img{position:relative;left:calc(-12.5% + var(--portrait-shift,0cqw));display:block;width:125%;max-width:none;height:100%;object-fit:cover;object-position:center top;transform-origin:center bottom;transition:transform .55s cubic-bezier(.16,1,.3,1)}
.team-member:hover .team-portrait img{transform:scale(1.025)}
.team-member-copy{position:relative;padding:3cqw .4cqw 0 3.2cqw}
.team h3{font:700 1.85cqw/1.25 Rubik,sans-serif;letter-spacing:-.025em;margin:0}
.team-role{font-size:1.38cqw;letter-spacing:-.02em;line-height:1.35;font-weight:800;color:#7C3AED;margin-top:.55cqw}
.team-responsibility{font-size:1.28cqw;line-height:1.45;color:#17161B;margin-top:.75cqw}
.team-office{position:absolute;left:3.5%;right:3.5%;top:90.4%;display:flex;align-items:center;gap:1.4cqw;border-top:1px solid #B992ED;padding-top:1.4cqw}
.team-office-pin{flex:none;width:2cqw;height:2.6cqw}
.team-office h3{font-size:1.85cqw}
.team-office address{font-size:1.5cqw;line-height:1.4;font-style:normal;margin-left:auto;text-align:right;color:#17161B}
@media(prefers-reduced-motion:reduce){.team-portrait img{transition:none}.team-member:hover .team-portrait img{transform:none}}

.team-members{overflow:hidden;padding-bottom:1cqw}
.team-member--julia{--portrait-shift:1.5cqw}.team-member--noral{--portrait-shift:1cqw}.team-member--cassie{--portrait-shift:.7cqw}.team-member--igor{--portrait-shift:-1cqw}
/* Framed caption cards requested by the owner; portrait composition stays intact. */
.team-member-copy{margin:1.55cqw .8cqw 0;padding:1.05cqw;height:10.5cqw;border:1px solid #D8C4EF;border-radius:12px;background:#FDFBFF;display:flex;flex-direction:column}
.team-member-copy h3{font-size:1.65cqw;line-height:1.25}
.team-role{font-size:1.22cqw;line-height:1.35;margin-top:.45cqw}
.team-responsibility-row{display:flex;align-items:center;gap:.65cqw;margin-top:auto;padding-top:.65cqw}
.team-role-icon{display:block;flex:none;width:2.65cqw;height:2.65cqw;object-fit:contain;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.team-responsibility{font-size:1.15cqw;line-height:1.4;margin:0}
.team-member:hover .team-role-icon{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.team-role-icon{transition:none}.team-member:hover .team-role-icon{transform:none}}
