/* Additions on top of the ploy stylesheet. Uses ploy's own design tokens. */
.team__photo{width:112px;height:112px;border-radius:50%;object-fit:cover;margin-bottom:24px;
  filter:grayscale(1) contrast(1.02);transition:filter .3s;border:1px solid var(--ploy-border-primary)}
.team__member:hover .team__photo{filter:none}
.team__linkedin{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--font-mono);
  font-size:13px;color:var(--ploy-text-primary);text-decoration:none;border-bottom:1px solid var(--ploy-border-primary);padding-bottom:3px;transition:color .15s,border-color .15s}
.team__linkedin:hover{color:var(--ploy-accent-primary);border-color:var(--ploy-accent-primary)}
.team__linkedin:focus-visible{outline:2px solid var(--ploy-accent-primary);outline-offset:4px}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.interest__privacy{margin-top:6px;font-size:12px;line-height:1.5;color:var(--ploy-text-inverse-secondary,rgba(255,255,255,.75))}
.interest__privacy a{color:inherit;text-decoration:underline}
@media (prefers-reduced-motion:reduce){.team__photo{transition:none}}
/* hero entrance (ploy animated this with JS) */
@keyframes ct-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes ct-zoom{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}
.enter-up{animation:ct-up .7s cubic-bezier(.2,.7,.2,1) both}
.enter-zoom{animation:ct-zoom 1s cubic-bezier(.2,.7,.2,1) .15s both}
@media (prefers-reduced-motion:reduce){.enter-up,.enter-zoom{animation:none}}
