v3.26.3
Fair Value Measurements - Schedule of Carrying Values of the Company's Contingent Earnout Payment Obligations (Details) - USD ($)
$ in Thousands
1 Months Ended
Apr. 30, 2026
Feb. 28, 2026
Jan. 31, 2026
Sep. 30, 2026
Dec. 31, 2025
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Earnout payments       $ 8,131 $ 9,962
Level 1          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Earnout payments       0 0
Level 2          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Earnout payments       0 0
Level 3          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Earnout payments       8,131 9,962
Second Kent Island Earnout Period          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       2,500 2,372
Second Kent Island Earnout Period | Level 1          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       0 0
Second Kent Island Earnout Period | Level 2          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       0 0
Second Kent Island Earnout Period | Level 3          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       2,500 2,372
Second Consolidated Mechanical Earnout Period          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       880 636
Second Consolidated Mechanical Earnout Period | Level 1          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       0 0
Second Consolidated Mechanical Earnout Period | Level 2          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       0 0
Second Consolidated Mechanical Earnout Period | Level 3          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       880 636
First 1901 Earnout Period          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       2,431  
First 1901 Earnout Period | Level 1          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       0  
First 1901 Earnout Period | Level 2          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       0  
First 1901 Earnout Period | Level 3          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       2,431  
Second 1901 Earnout Period          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       2,320  
Second 1901 Earnout Period | Level 1          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       0  
Second 1901 Earnout Period | Level 2          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       0  
Second 1901 Earnout Period | Level 3          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       $ 2,320  
Second IA Earnout Period          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         3,500
Payment for contingent consideration liability   $ 3,500      
Second IA Earnout Period | Level 1          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         0
Second IA Earnout Period | Level 2          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         0
Second IA Earnout Period | Level 3          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         3,500
First Kent Island Earnout Period          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         2,500
Payment for contingent consideration liability     $ 2,500    
First Kent Island Earnout Period | Level 1          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         0
First Kent Island Earnout Period | Level 2          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         0
First Kent Island Earnout Period | Level 3          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         2,500
First Consolidated Mechanical Earnout Period          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         954
Payment for contingent consideration liability $ 900        
First Consolidated Mechanical Earnout Period | Level 1          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         0
First Consolidated Mechanical Earnout Period | Level 2          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         0
First Consolidated Mechanical Earnout Period | Level 3          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability         $ 954