Contracts with Customers - Summary of Contract Assets and Contract Liabilities (Parenthetical) (Details) - USD ($) $ in Millions |
12 Months Ended | |
|---|---|---|
Dec. 31, 2024 |
Dec. 31, 2023 |
|
| Revenue from Contract with Customer [Abstract] | ||
| Contract retentions | $ 89.8 | $ 73.8 |
| Contract retentions, not expected to be paid in next 12 months | 35.9 | |
| Contract assets, net claims recovery estimates | 70.7 | $ 109.5 |
| Loss recognized related to claims recoveries | $ 21.6 |