/* Shared icon geometry. Page styles still own each icon's size and color. */
.sf-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  flex: none;
  vertical-align: middle;
  overflow: visible;
}

/* Set paints on the groups so older page SVG rules cannot fill an outline. */
.sf-icon > .sf-icon-lines {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sf-icon > .sf-icon-tint {
  fill: currentColor;
  fill-opacity: .16;
  stroke: none;
}

.sf-capability-art {
  display: block;
  width: 100%;
  height: 100%;
  flex: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.sf-capability-art-workforce-advice { background-image: url('assets/capability-workforce-advice.png'); }
.sf-capability-art-manager-coaching { background-image: url('assets/capability-manager-coaching.png'); }
.sf-capability-art-ai-workflow { background-image: url('assets/capability-ai-workflow.png'); }

/* Optical fit inside existing badges; node and card geometry stays unchanged. */
.hp-capability-icon > .sf-capability-art,
.gp-capability > .gp-icon > .sf-capability-art,
.gp-skills-heading > .gp-icon > .sf-capability-art,
.lm-connection-capability > .lm-icon > .sf-capability-art { width:82%;height:82%; }
.sf-detail-map .sm-capability .sm-node-icon > .sf-capability-art { width:78%;height:78%; }
.sf-capability-art-manager-coaching { background-size:108%; }
.sf-capability-art-ai-workflow { background-size:115%; }

/* Light interiors keep pale parts of the artwork distinct from the badge. */
.hp-capability-icon:has(.sf-capability-art) { background:linear-gradient(#ffffffa6,#ffffffa6),var(--hp-fill); }
.sf-detail-map .sm-capability .sm-node-icon:has(.sf-capability-art) { background:linear-gradient(#ffffffa6,#ffffffa6),var(--sm-fill); }
.gp-panel .gp-icon:has(.sf-capability-art) { background:linear-gradient(#ffffffa6,#ffffffa6),var(--gp-disc,#c7e2ff); }
.lm-connection-capability > .lm-icon:has(.sf-capability-art) { background:linear-gradient(#ffffffa6,#ffffffa6),var(--lm-disc,#e2f1ff); }
