| Date | TitleTitle | ||||
|---|---|---|---|---|---|
| 15/09/26 | 14:12:00 | 15 Sept 2026 | Director/PDMR Shareholding | PRN | |
| 15/09/26 | 07:00:01 | 15 Sept 2026 | Transaction in Own Shares | RNS | |
| 11/09/26 | 16:03:00 | 11 Sept 2026 | Director/PDMR Shareholding | PRN | |
| 08/09/26 | 07:00:01 | 8 Sept 2026 | Transaction in Own Shares | RNS | |
| 02/09/26 | 07:00:01 | 2 Sept 2026 | Transaction in Own Shares | RNS | |
| 01/09/26 | 09:56:00 | 1 Sept 2026 | Total Voting Rights | PRN | |
| 27/08/26 | 08:30:00 | 27 Aug 2026 | Director/PDMR Shareholding | PRN | |
| 25/08/26 | 07:00:01 | 25 Aug 2026 | Transaction in Own Shares | RNS | |
| 18/08/26 | 07:00:01 | 18 Aug 2026 | Transaction in Own Shares | RNS | |
| 11/08/26 | 07:00:02 | 11 Aug 2026 | Transaction in Own Shares | RNS | |
| 06/08/26 | 16:07:00 | 6 Aug 2026 | Director/PDMR Shareholding | PRN | |
| 04/08/26 | 07:00:04 | 4 Aug 2026 | Interim Results for the half year ended 30 June 26 | RNS | |
| 04/08/26 | 07:00:02 | 4 Aug 2026 | Transaction in Own Shares | RNS | |
| 03/08/26 | 08:30:00 | 3 Aug 2026 | Total Voting Rights | PRN | |
| 14/07/26 | 07:00:02 | 14 Jul 2026 | Transaction in Own Shares | RNS | |
| 07/07/26 | 07:00:02 | 7 Jul 2026 | Trading Update | RNS | |
| 07/07/26 | 07:00:01 | 7 Jul 2026 | Transaction in Own Shares | RNS | |
| 01/07/26 | 09:00:00 | 1 Jul 2026 | Director/PDMR Shareholding | PRN | |
| 01/07/26 | 08:30:00 | 1 Jul 2026 | Total Voting Rights | PRN | |
| 30/06/26 | 07:00:02 | 30 Jun 2026 | Transaction in Own Shares | RNS | |
| 25/06/26 | 09:00:00 | 25 Jun 2026 | Holding(s) in Company | PRN | |
| 23/06/26 | 11:43:00 | 23 Jun 2026 | Holding(s) in Company | PRN | |
| 23/06/26 | 07:00:02 | 23 Jun 2026 | Transaction in Own Shares | RNS | |
| 19/06/26 | 07:00:00 | 19 Jun 2026 | Appointment of Joint Corporate Brokers | PRN | |
| 18/06/26 | 15:09:00 | 18 Jun 2026 | Holding(s) in Company | PRN | |
| 16/06/26 | 07:00:02 | 16 Jun 2026 | Transaction in Own Shares | RNS | |
| 09/06/26 | 07:00:03 | 9 Jun 2026 | Multi-year US highway contract variation award | RNS | |
| 09/06/26 | 07:00:01 | 9 Jun 2026 | Transaction in Own Shares | RNS | |
| 02/06/26 | 07:00:02 | 2 Jun 2026 | Transaction in Own Shares | RNS | |
| 01/06/26 | 08:30:00 | 1 Jun 2026 | Total Voting Rights | PRN | |
| 27/05/26 | 07:00:01 | 27 May 2026 | Transaction in Own Shares | RNS | |
| 22/05/26 | 16:16:00 | 22 May 2026 | Holding(s) in Company | PRN | |
| 20/05/26 | 11:06:00 | 20 May 2026 | Result of AGM | PRN | |
| 20/05/26 | 07:00:04 | 20 May 2026 | AGM Trading Update | RNS | |
| 19/05/26 | 07:00:02 | 19 May 2026 | Transaction in Own Shares | RNS | |
| 12/05/26 | 09:09:00 | 12 May 2026 | Holding(s) in Company | PRN | |
| 12/05/26 | 07:00:03 | 12 May 2026 | Transaction in Own Shares | RNS | |
| 07/05/26 | 10:32:00 | 7 May 2026 | Holding(s) in Company | PRN | |
| 06/05/26 | 12:00:00 | 6 May 2026 | Holding(s) in Company | PRN | |
| 06/05/26 | 11:13:00 | 6 May 2026 | Director Declaration | PRN | |
| 06/05/26 | 07:00:01 | 6 May 2026 | Transaction in Own Shares | RNS | |
| 05/05/26 | 16:30:00 | 5 May 2026 | Holding(s) in Company | PRN | |
| 01/05/26 | 08:30:00 | 1 May 2026 | Total Voting Rights | PRN | |
| 28/04/26 | 07:00:02 | 28 Apr 2026 | Transaction in Own Shares | RNS | |
| 21/04/26 | 07:00:01 | 21 Apr 2026 | Transaction in Own Shares | RNS | |
| 14/04/26 | 16:51:00 | 14 Apr 2026 | Director/PDMR Shareholding | PRN | |
| 14/04/26 | 14:53:00 | 14 Apr 2026 | Notice of 2026 Annual General Meeting | PRN | |
| 14/04/26 | 07:00:01 | 14 Apr 2026 | Transaction in Own Shares | RNS | |
| 09/04/26 | 07:00:07 | 9 Apr 2026 | Michael Speakman | RNS | |
| 08/04/26 | 07:00:02 | 8 Apr 2026 | Transaction in Own Shares | RNS |
| Date | TitleTitle | ||||
|---|---|---|---|---|---|
| 15/09/26 | 14:12:00 | 15 Sept 2026 | Director/PDMR Shareholding | PRN | |
| 15/09/26 | 07:00:01 | 15 Sept 2026 | Transaction in Own Shares | RNS | |
| 11/09/26 | 16:03:00 | 11 Sept 2026 | Director/PDMR Shareholding | PRN | |
| 08/09/26 | 07:00:01 | 8 Sept 2026 | Transaction in Own Shares | RNS | |
| 02/09/26 | 07:00:01 | 2 Sept 2026 | Transaction in Own Shares | RNS | |
| 01/09/26 | 09:56:00 | 1 Sept 2026 | Total Voting Rights | PRN | |
| 27/08/26 | 08:30:00 | 27 Aug 2026 | Director/PDMR Shareholding | PRN | |
| 25/08/26 | 07:00:01 | 25 Aug 2026 | Transaction in Own Shares | RNS | |
| 18/08/26 | 07:00:01 | 18 Aug 2026 | Transaction in Own Shares | RNS | |
| 11/08/26 | 07:00:02 | 11 Aug 2026 | Transaction in Own Shares | RNS | |
| 06/08/26 | 16:07:00 | 6 Aug 2026 | Director/PDMR Shareholding | PRN | |
| 04/08/26 | 07:00:04 | 4 Aug 2026 | Interim Results for the half year ended 30 June 26 | RNS | |
| 04/08/26 | 07:00:02 | 4 Aug 2026 | Transaction in Own Shares | RNS | |
| 03/08/26 | 08:30:00 | 3 Aug 2026 | Total Voting Rights | PRN | |
| 14/07/26 | 07:00:02 | 14 Jul 2026 | Transaction in Own Shares | RNS | |
| 07/07/26 | 07:00:02 | 7 Jul 2026 | Trading Update | RNS | |
| 07/07/26 | 07:00:01 | 7 Jul 2026 | Transaction in Own Shares | RNS | |
| 01/07/26 | 09:00:00 | 1 Jul 2026 | Director/PDMR Shareholding | PRN | |
| 01/07/26 | 08:30:00 | 1 Jul 2026 | Total Voting Rights | PRN | |
| 30/06/26 | 07:00:02 | 30 Jun 2026 | Transaction in Own Shares | RNS | |
| 25/06/26 | 09:00:00 | 25 Jun 2026 | Holding(s) in Company | PRN | |
| 23/06/26 | 11:43:00 | 23 Jun 2026 | Holding(s) in Company | PRN | |
| 23/06/26 | 07:00:02 | 23 Jun 2026 | Transaction in Own Shares | RNS | |
| 19/06/26 | 07:00:00 | 19 Jun 2026 | Appointment of Joint Corporate Brokers | PRN | |
| 18/06/26 | 15:09:00 | 18 Jun 2026 | Holding(s) in Company | PRN | |
| 16/06/26 | 07:00:02 | 16 Jun 2026 | Transaction in Own Shares | RNS | |
| 09/06/26 | 07:00:03 | 9 Jun 2026 | Multi-year US highway contract variation award | RNS | |
| 09/06/26 | 07:00:01 | 9 Jun 2026 | Transaction in Own Shares | RNS | |
| 02/06/26 | 07:00:02 | 2 Jun 2026 | Transaction in Own Shares | RNS | |
| 01/06/26 | 08:30:00 | 1 Jun 2026 | Total Voting Rights | PRN | |
| 27/05/26 | 07:00:01 | 27 May 2026 | Transaction in Own Shares | RNS | |
| 22/05/26 | 16:16:00 | 22 May 2026 | Holding(s) in Company | PRN | |
| 20/05/26 | 11:06:00 | 20 May 2026 | Result of AGM | PRN | |
| 20/05/26 | 07:00:04 | 20 May 2026 | AGM Trading Update | RNS | |
| 19/05/26 | 07:00:02 | 19 May 2026 | Transaction in Own Shares | RNS | |
| 12/05/26 | 09:09:00 | 12 May 2026 | Holding(s) in Company | PRN | |
| 12/05/26 | 07:00:03 | 12 May 2026 | Transaction in Own Shares | RNS | |
| 07/05/26 | 10:32:00 | 7 May 2026 | Holding(s) in Company | PRN | |
| 06/05/26 | 12:00:00 | 6 May 2026 | Holding(s) in Company | PRN | |
| 06/05/26 | 11:13:00 | 6 May 2026 | Director Declaration | PRN | |
| 06/05/26 | 07:00:01 | 6 May 2026 | Transaction in Own Shares | RNS | |
| 05/05/26 | 16:30:00 | 5 May 2026 | Holding(s) in Company | PRN | |
| 01/05/26 | 08:30:00 | 1 May 2026 | Total Voting Rights | PRN | |
| 28/04/26 | 07:00:02 | 28 Apr 2026 | Transaction in Own Shares | RNS | |
| 21/04/26 | 07:00:01 | 21 Apr 2026 | Transaction in Own Shares | RNS | |
| 14/04/26 | 16:51:00 | 14 Apr 2026 | Director/PDMR Shareholding | PRN | |
| 14/04/26 | 14:53:00 | 14 Apr 2026 | Notice of 2026 Annual General Meeting | PRN | |
| 14/04/26 | 07:00:01 | 14 Apr 2026 | Transaction in Own Shares | RNS | |
| 09/04/26 | 07:00:07 | 9 Apr 2026 | Michael Speakman | RNS | |
| 08/04/26 | 07:00:02 | 8 Apr 2026 | Transaction in Own Shares | RNS |