v3.26.1
Revenue - Narrative (Details) - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Disaggregation of Revenue [Line Items]      
Remaining performance obligation $ 378.1   $ 378.1
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 $ 76.2   $ 76.2
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 $ 72.6   $ 72.6
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 $ 229.3   $ 229.3
Expected remaining time