/* A compact team map: the particles are the movement, the copy stays above. */
.team-section{padding-block:96px 88px}
.team-heading h2{font-size:clamp(42px,4.2vw,60px);margin:0;line-height:1.06}
.team-heading p{max-width:57ch;min-height:3.2em;margin:20px auto 0;font-size:17px;line-height:1.6;text-wrap:pretty}
.team-map{--project-size:174px;position:relative;height:380px;margin:32px auto 0;isolation:isolate;touch-action:pan-y}
.team-wires{overflow:visible}
.team-wires path,.team-map [data-team-wire]{fill:none;stroke:var(--line2);stroke-width:1.6;stroke-dasharray:none;vector-effect:non-scaling-stroke}
.team-wires .magnet-energy{stroke:var(--accentText);stroke-width:2;stroke-dasharray:9 100;opacity:.45}
.team-wires .magnet-particle{fill:var(--accentText);stroke:none}
.team-map[data-motion="paused"] .magnet-energy{visibility:hidden}
.team-project{width:var(--project-size);height:var(--project-size);overflow:hidden;border:1.5px solid var(--accentText);background:#0d111a;cursor:pointer;touch-action:manipulation;user-select:none;z-index:2;box-shadow:none}
.team-map[data-motion="running"] .team-project{will-change:transform}
.team-project-label{position:absolute;left:50%;top:20%;transform:translateX(-50%);font:600 25px/1.06 Neue,sans-serif;letter-spacing:-.025em;text-align:center;pointer-events:none;color:var(--highlight);z-index:4}
.team-role{flex-direction:column;align-items:flex-start;gap:10px;min-height:0;width:190px;padding:10px 12px;border-radius:0;background:transparent;z-index:3;font-size:24px;line-height:1.12;transition:color 150ms}
.team-role>svg{width:34px;height:34px;transition:none}.team-role:hover>svg{transform:none}
.team-role-product,.team-role-growth{left:6%}.team-role-creative,.team-role-operations{right:6%;align-items:flex-start;text-align:left}
.team-role-product,.team-role-creative{top:0}.team-role-growth,.team-role-operations{bottom:0}
.team-role:hover{background:transparent;color:var(--accentText)}
.team-role[aria-pressed="true"]{color:var(--accentText)}
.team-role[aria-pressed="true"] span{text-decoration:none}
.creator-case-link{margin-top:16px}
@media(max-width:760px){
  .team-section{padding-block:76px 68px}
  .team-heading h2{font-size:42px}
  .team-heading p{font-size:16px;max-width:36ch;min-height:4.8em;margin-top:18px}
  .team-map{--project-size:130px;height:340px;margin-top:28px}
  .team-project-label{font-size:20px;top:20%}
  .team-role{font-size:18px;padding:6px;width:122px;max-width:45%;gap:8px}
  .team-role>svg{width:28px;height:28px}
  .team-role-product,.team-role-growth{left:0}.team-role-creative,.team-role-operations{right:0}
}
@media(max-width:380px){.team-heading h2{font-size:38px}.team-role{font-size:17px}.team-heading p{min-height:6.4em}.team-map{--project-size:118px}}
@media(prefers-reduced-motion:reduce){.team-role{transition:none}.team-project{cursor:default}.team-wires .magnet-energy{display:none}}

/* Mirrored role stations keep every icon, label and incoming route on the same grid. */
.team-role{height:112px;align-items:center;justify-content:center;text-align:center;padding:8px;gap:12px}
.team-role-creative,.team-role-operations{align-items:center;text-align:center}
.team-role span{display:block;min-height:2.24em}
.team-project-label{top:19%;width:100%;padding-inline:12px;letter-spacing:0}
.team-brand-prefix{display:block;font:400 14px/1.3 NeueText,sans-serif;color:var(--highlight)}
.team-brand-name{display:block;font:600 28px/1.15 Neue,sans-serif;letter-spacing:-.025em;color:var(--highlight)}
@media(max-width:760px){
 .team-map{height:360px}
 .team-role{width:calc((100% - 64px)/2);max-width:none;height:94px;font-size:18px;gap:10px;padding:4px 0;align-items:center;text-align:center}
 .team-role>svg{width:30px;height:30px}
 .team-brand-prefix{font-size:12px}.team-brand-name{font-size:24px}
}
@media(max-width:380px){.team-role{font-size:17px}.team-brand-name{font-size:22px}}

.team-role{touch-action:manipulation;border-radius:8px;transition:color 160ms,background-color 200ms}
.team-role:active{background:var(--canvas)}
.team-role:focus-visible{outline:2px solid var(--accentText);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.team-role{transition:none}}

/* Visible source ports connect role content to the rim, never from behind hit areas. */
.team-wires .team-port{fill:var(--ink2);stroke:none}
.team-wires .team-port[data-active="true"]{fill:var(--accentText)}
.team-wires [data-team-wire][data-active="true"]{stroke:var(--accentText);stroke-opacity:.5}
@media(max-width:760px){.team-wires path{stroke-width:1.75}.team-wires .magnet-energy{stroke-width:2.5}}
