v3.26.1
Revenue and Cost Recognition - Narrative (Details)
Jun. 30, 2026
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligations $ 173,107,691
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-07-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligations $ 34,368,785
Remaining performance obligations recognization period 6 months
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 obligations recognization period