v3.26.1
Accounts receivable, unbilled revenue (contract assets) and unearned revenue or payments on account (contract liabilities) - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2026
Dec. 31, 2025
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Change in unbilled revenue (unbilled services) $ (5,642)  
Increase in unearned revenue (payments on account) (2,944)  
Revenue, remaining performance obligation $ 15,000,000 $ 14,900,000
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenue, remaining performance obligation percentage   48.00%
Revenue, remaining performance obligation, expected timing of satisfaction, period   12 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-04-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenue, remaining performance obligation percentage 48.00%  
Revenue, remaining performance obligation, expected timing of satisfaction, period 12 months