v3.26.1
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
Mar. 31, 2026
Dec. 31, 2025
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Earnout payments       $ 4,006 $ 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       4,006 9,962
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       911 954
First Consolidated Mechanical Earnout Period | Subsequent Event          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
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 0
First Consolidated Mechanical Earnout Period | Level 2          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       0 0
First Consolidated Mechanical Earnout Period | Level 3          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       911 954
Second Kent Island Earnout Period          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       2,415 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,415 2,372
Second Consolidated Mechanical Earnout Period          
Fair Value Measurement Inputs and Valuation Techniques [Line Items]          
Contingent consideration, liability       680 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       $ 680 $ 636