XML 59 R47.htm IDEA: XBRL DOCUMENT v3.25.3
REVENUE FROM CUSTOMERS - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2025
Sep. 30, 2024
Sep. 30, 2025
Sep. 30, 2024
Dec. 31, 2024
Disaggregation of Revenue [Line Items]          
Contracts receivable unpaid project contract price $ 2,900   $ 2,900   $ 4,000
Increase (decrease) on revenue from performance obligations satisfied in previous period $ 51,851 $ 46,890 $ 124,333 $ 99,241  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-10-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligation expected to be recognized over next twelve months 70.00%   70.00%    
Remaining performance obligation period 12 months   12 months    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-10-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligation period