v3.26.1
Segment Information (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2026
USD ($)
segment
Mar. 31, 2025
USD ($)
Dec. 31, 2025
USD ($)
Segment information      
Number of reportable segments | segment 2    
Net sales $ 1,445,860 $ 1,233,278  
Cost of sales 1,045,607 881,805  
Selling, general, and administrative expenses 225,210 173,984  
Segment operating profit 175,043 177,489  
Other expense, net (35,296) (11,516)  
Income before income taxes 139,747 165,973  
Depreciation and amortization 56,295 35,791  
Property additions 13,911 11,614  
Total assets 6,711,163 4,596,296 $ 6,605,312
Installation Services      
Segment information      
Net sales 777,329 745,533  
Specialty Distribution      
Segment information      
Net sales 668,531 487,745  
Operating Segment      
Segment information      
Net sales 1,514,409 1,305,337  
Cost of sales 1,100,673 941,937  
Selling, general, and administrative expenses 214,537 164,725  
Segment operating profit 199,199 198,675  
Depreciation and amortization 54,611 34,327  
Property additions 11,933 10,727  
Total assets 6,504,737 4,278,229  
Operating Segment | Cost of sales      
Segment information      
Rationalization charges   13,500  
Operating Segment | Selling, General and Administrative Expenses      
Segment information      
Rationalization charges   1,900  
Operating Segment | Selling, General and Administrative Expenses | Branch Support Center      
Segment information      
Rationalization charges   200  
Operating Segment | Installation Services      
Segment information      
Net sales 777,329 745,533  
Cost of sales 540,053 511,438  
Selling, general, and administrative expenses 118,085 104,479  
Segment operating profit 119,191 129,616  
Depreciation and amortization 29,191 19,326  
Property additions 7,568 7,468  
Total assets 3,126,391 2,183,831  
Operating Segment | Installation Services | Cost of sales      
Segment information      
Rationalization charges   7,100  
Operating Segment | Installation Services | Selling, General and Administrative Expenses      
Segment information      
Rationalization charges   1,200  
Operating Segment | Specialty Distribution      
Segment information      
Net sales 737,080 559,804  
Cost of sales 560,620 430,499  
Selling, general, and administrative expenses 96,452 60,246  
Segment operating profit 80,008 69,059  
Depreciation and amortization 25,420 15,001  
Property additions 4,365 3,259  
Total assets 3,378,346 2,094,398  
Operating Segment | Specialty Distribution | Cost of sales      
Segment information      
Rationalization charges   6,400  
Operating Segment | Specialty Distribution | Selling, General and Administrative Expenses      
Segment information      
Rationalization charges   500  
Intercompany Eliminations      
Segment information      
Net sales (68,549) (72,059)  
Segment operating profit (13,482) (11,927)  
Intercompany Eliminations | Specialty Distribution      
Segment information      
Net sales (68,549) (72,059)  
Corporate      
Segment information      
Selling, general, and administrative expenses 10,674 9,259  
Depreciation and amortization 1,684 1,464  
Property additions 1,978 887  
Total assets $ 206,426 $ 318,067