v3.26.1
Disaggregation of Revenue - Schedule of Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Disaggregation of Revenue [Line Items]        
Revenue $ 1,455,872 $ 1,125,964 $ 2,368,337 $ 1,825,511
Construction        
Disaggregation of Revenue [Line Items]        
Revenue 1,207,479 937,426 1,973,533 1,552,044
Construction | Public        
Disaggregation of Revenue [Line Items]        
Revenue 946,182 651,923 1,494,504 1,047,808
Construction | Private        
Disaggregation of Revenue [Line Items]        
Revenue 261,297 285,503 479,029 504,236
Materials        
Disaggregation of Revenue [Line Items]        
Revenue 248,393 188,538 394,804 273,467
Materials | Aggregates        
Disaggregation of Revenue [Line Items]        
Revenue 115,763 59,643 206,736 100,045
Materials | Asphalt        
Disaggregation of Revenue [Line Items]        
Revenue 131,864 128,625 187,302 173,063
Materials | Other        
Disaggregation of Revenue [Line Items]        
Revenue $ 766 $ 270 $ 766 $ 359