0) {
// Build groups in first-seen order
$groups = []; // label => [items]
$order = []; // labels in order of first appearance
foreach ($services as $serviceItem) {
$label = canon_cat($serviceItem->service_category ?? '');
if ($label === '') $label = 'Other';
if (!isset($groups[$label])) {
$groups[$label] = [];
$order[] = $label;
}
$groups[$label][] = $serviceItem;
}
// Render
foreach ($order as $label) {
?>