v3.26.3
Disaggregation of Revenue - Schedule of Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2026
Sep. 30, 2025
Sep. 30, 2026
Sep. 30, 2025
Disaggregation of Revenue [Line Items]        
Revenue $ 1,766,331 $ 1,433,498 $ 4,134,668 $ 3,259,009
Construction        
Disaggregation of Revenue [Line Items]        
Revenue 1,474,017 1,162,513 3,447,550 2,714,557
Construction | Public        
Disaggregation of Revenue [Line Items]        
Revenue 1,203,336 880,416 2,697,840 1,928,224
Construction | Private        
Disaggregation of Revenue [Line Items]        
Revenue 270,681 282,097 749,710 786,333
Materials        
Disaggregation of Revenue [Line Items]        
Revenue 292,314 270,985 687,118 544,452
Materials | Aggregates        
Disaggregation of Revenue [Line Items]        
Revenue 121,724 100,849 328,460 200,894
Materials | Asphalt        
Disaggregation of Revenue [Line Items]        
Revenue 170,556 169,290 357,858 342,353
Materials | Other        
Disaggregation of Revenue [Line Items]        
Revenue $ 34 $ 846 $ 800 $ 1,205