Revenue from Contracts with Customers - Schedule of Contracts In Progress (Details) - USD ($) $ in Thousands |
Mar. 31, 2026 |
Dec. 31, 2025 |
|---|---|---|
| Revenue from Contract with Customer [Abstract] | ||
| Revenue earned on uncompleted contracts | $ 634,756 | $ 614,448 |
| Less: Billings to date | (622,601) | (606,083) |
| Net underbilling | 12,155 | 8,365 |
| Costs and estimated earnings in excess of billings on uncompleted contracts | 30,163 | 29,254 |
| Billings in excess of costs and estimated earnings on uncompleted contracts, net | $ (18,008) | $ (20,889) |