v3.26.3
Revenue - Narrative (Details) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2026
Sep. 30, 2025
Sep. 30, 2026
Disaggregation of Revenue [Line Items]      
Remaining performance obligation $ 355.0   $ 355.0
One Customer | Revenue Benchmark | Customer Concentration Risk      
Disaggregation of Revenue [Line Items]      
Concentration Risk, Percentage 10.00%    
Two Customers | Revenue Benchmark | Customer Concentration Risk      
Disaggregation of Revenue [Line Items]      
Concentration Risk, Percentage   10.00% 10.00%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-07-01      
Disaggregation of Revenue [Line Items]      
Remaining performance obligation $ 45.0   $ 45.0
Expected remaining time 6 months   6 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01      
Disaggregation of Revenue [Line Items]      
Remaining performance obligation $ 64.3   $ 64.3
Expected remaining time 1 year   1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2028-01-01      
Disaggregation of Revenue [Line Items]      
Remaining performance obligation $ 245.7   $ 245.7
Expected remaining time