For the input in OP, we can also use RegionPlot3D with the options MeshFunctions and Mesh:
cs = Circumsphere[{a, b, c, s}]; Show[RegionPlot3D[cs, PlotStyle -> Opacity[.1, LightBlue], MeshFunctions -> {#2 &, #3 &}, Mesh -> {{{0, Directive[Orange, Thick, Opacity[1]]}}, {{0, Directive[Blue, Thick, Opacity[1]]}}}], Graphics3D[MapThread[{Black, PointSize[Large], Point@#2, Text[##, {1, -1}]} &, {{"A", "B", "C", "S"}, {a, b, c, s}}]]]

Alternatively, we can get the two circles using RegionIntersection[cs, InfinitePlane[{a, b, c}] and RegionIntersection[cs, InfinitePlane[{a, b, s}]:
{c1, c2} = MeshPrimitives[DiscretizeRegion @ RegionIntersection[cs, InfinitePlane[{a, b, #}]], 1] & /@ {c, s}; Graphics3D[{Opacity[.25], cs, Opacity[1], Thick, Blue, c1, Orange, c2, Black, PointSize[Large], Point @ {a, b, c, s}, MapThread[Text[##, {1, -1}] &, {{"A", "B", "C", "S"}, {a, b, c, s}}]}]
