Quarterly report [Sections 13 or 15(d)]

Revenue, Contract Assets and Liabilities and Other Contract Matters - Summary of Remaining Performance Obligations, Disaggregated by Operating Segment and Contract Type (Parenthetical) (Details)

v3.25.3
Revenue, Contract Assets and Liabilities and Other Contract Matters - Summary of Remaining Performance Obligations, Disaggregated by Operating Segment and Contract Type (Parenthetical) (Details)
$ in Thousands
Sep. 30, 2025
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 36,844 [1]
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-10-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 17,400
Expected timing of satisfaction, period 3 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 16,400
Expected timing of satisfaction, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 3,000
Expected timing of satisfaction, period 1 year
[1] We expect to recognize revenue of approximately $17.4 million, $16.4 million and $3.0 million for the remainder of 2025, 2026 and thereafter, respectively, associated with our performance obligations at September 30, 2025. Certain factors and circumstances could result in changes in the timing of recognition of our performance obligations as revenue and the amounts ultimately recognized.