v3.26.1
Accounting policies - Performance obligations (Details)
3 Months Ended
Mar. 31, 2026
USD ($)
Revenue remaining performance obligation expected timing of satisfaction  
Amount recognized revenue included in the contract liability balance $ 653,000
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-12-31  
Revenue remaining performance obligation expected timing of satisfaction  
Revenue remaining performance obligation, amount $ 26,400,000
Revenue remaining performance obligation, expected timing of satisfaction, period 9 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-12-31  
Revenue remaining performance obligation expected timing of satisfaction  
Revenue remaining performance obligation, amount $ 148,700,000
Revenue remaining performance obligation, expected timing of satisfaction, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2028-12-31  
Revenue remaining performance obligation expected timing of satisfaction  
Revenue remaining performance obligation, amount $ 122,300,000
Revenue remaining performance obligation, expected timing of satisfaction, period 2 years