/* Sector page · what we build — the mix bar (segment width = weight), its key, then one row per discipline. */
.ind-sx-mix{margin:0 0 clamp(36px,4.2vw,60px)}
.ind-sx-mix__bar{display:flex;gap:4px;height:72px}
.ind-sx-mix__seg{flex:var(--w) 1 0;min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:11px 12px;border-radius:var(--r-sm);overflow:hidden;
  background:var(--ink);color:var(--on-ink);transform-origin:left center;transition:transform .9s var(--e) calc(var(--i) * 80ms),opacity .2s}
.ind-sx-mix__seg.w-2{background:var(--muted);color:var(--on-ink)}
.ind-sx-mix__seg.w-1{background:var(--paper-4);color:var(--ink)}
.ind-sx-mix__seg:hover{opacity:.88}
.ind-sx-mix__sn{font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.1em;text-transform:uppercase;color:var(--on-ink-2);white-space:nowrap}
.ind-sx-mix__seg.w-2 .ind-sx-mix__sn{color:var(--on-ink)}
.ind-sx-mix__seg.w-1 .ind-sx-mix__sn{color:var(--txt)}
.ind-sx-mix__st{font-family:var(--f-h);font-size:var(--t-sm);font-weight:500;white-space:nowrap}
.ind-sx-mix__key{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:14px;font-size:var(--t-xs);color:var(--txt)}
.ind-sx-mix__k{display:inline-flex;align-items:center;gap:8px}
.ind-sx-mix__k i{width:12px;height:12px;border-radius:3px;background:var(--ink)}
.ind-sx-mix__k.w-2 i{background:var(--muted)}
.ind-sx-mix__k.w-1 i{background:var(--paper-4);box-shadow:inset 0 0 0 1px var(--line-3)}
.ind-sx-mix__note{margin-left:auto;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.ind-sx-mix.is-anim .ind-sx-mix__seg{transform:scaleX(0)}
.ind-sx-mix.is-anim.is-in .ind-sx-mix__seg{transform:none}

.ind-sx-build__list{border-top:1px solid var(--ink)}
.ind-sx-dis{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);gap:var(--bdh-gap);align-items:start;padding:26px 0 28px;border-bottom:1px solid var(--line)}
.ind-sx-dis__who{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px 10px;align-items:baseline}
.ind-sx-dis__n{grid-row:1 / span 2;font-family:var(--f);font-size:var(--t-xs);font-weight:500;color:var(--blue)}
.ind-sx-dis__t{font-family:var(--f-h);font-size:1.22rem;font-weight:500;line-height:1.25;letter-spacing:-.01em}
.ind-sx-dis__t a{color:var(--ink);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:text-decoration-color var(--d1) var(--e-io)}
.ind-sx-dis__t a:hover{text-decoration-color:var(--blue)}
.ind-sx-dis__role{display:inline-flex;align-items:center;gap:10px;font-family:var(--f);font-size:var(--t-lbl);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ind-sx-dis.w-3 .ind-sx-dis__role{color:var(--ink)}
.ind-sx-dis__what{font-size:var(--t-body);line-height:1.62;color:var(--txt);max-width:52ch}
.ind-sx-dis__caps{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.ind-sx-dis__cap{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--line-3);border-radius:var(--r-pill);background:var(--paper);
  font-size:var(--t-xs);font-weight:500;line-height:1.3;color:var(--ink);transition:border-color var(--d1) var(--e-io),color var(--d1) var(--e-io)}
.ind-sx-dis__cap:hover{border-color:var(--blue);color:var(--blue-d)}
.ind-sx-dis__arr{font-family:var(--f);color:var(--blue)}

/* labels leave a segment before they would be clipped: supports first, then core; on phones the bar is a labelled stack */
@media (max-width:1240px){.ind-sx-mix__seg.w-1>span{display:none}}
@media (max-width:1023px){
  .ind-sx-dis{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .ind-sx-dis__caps{grid-column:2;flex-direction:row;flex-wrap:wrap}
}
@media (max-width:860px){
  .ind-sx-mix__bar{height:56px}
  .ind-sx-mix__note{margin-left:0;width:100%}
  .ind-sx-dis{grid-template-columns:minmax(0,1fr);gap:14px}
  .ind-sx-dis__caps{grid-column:auto}
}
@media (max-width:600px){
  .ind-sx-dis__cap{min-height:44px}
  .ind-sx-dis__t a{display:inline-flex;align-items:center;min-height:44px}
  /* phones: the bar becomes a stack, one labelled row per discipline, its length by role (leads longest) */
  .ind-sx-mix__bar{flex-direction:column;height:auto;gap:4px}
  .ind-sx-mix__seg{flex:none;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:40px;padding:8px 12px;pointer-events:none}
  .ind-sx-mix__seg.w-2{width:84%}
  .ind-sx-mix__seg.w-1{width:68%}
  .ind-sx-mix__seg>span,.ind-sx-mix__seg.w-1>span{display:inline}
  .ind-sx-mix__st{order:-1;overflow:hidden;text-overflow:ellipsis}
  .ind-sx-mix.is-anim .ind-sx-mix__seg{transform-origin:left center}
}
@media (prefers-reduced-motion:reduce){.ind-sx-mix.is-anim .ind-sx-mix__seg{transform:none;transition:none}}

/* touch screens (phones and tablets): 44px tap targets (integrator, responsive pass) */
@media (pointer:coarse){
  .ind-sx-dis__cap{min-height:44px}
  .ind-sx-dis__t a{display:inline-flex;align-items:center;min-height:44px}
}
