v3.26.1
Revenue Recognition (Tables)
6 Months Ended
Jun. 30, 2026
Revenue from Contract with Customer [Abstract]  
Schedule of Disaggregation of Revenue
The following table disaggregates revenue by major sources as of June 30:
THREE MONTHS ENDEDSIX MONTHS ENDED
JUNE 30JUNE 30
2026202520262025
Timing of Revenue Recognition
Transferred at a point in time
$22,824 $29,472 $41,661 $50,326 
Transferred over time
49,486 38,763 93,424 83,480 
Total revenues$72,310 $68,235 $135,085 $133,806 
Schedule of Contract Balances The opening and closing balances of our current and long-term contract assets and liabilities and receivables are as follows:
Contract balances
Trade accounts receivableContract asset (current)Contract asset
(long-term)
Contract liability (current)Contract liability (long-term)
Balance at January 1, 2026
$42,921 $382 $3,500 $1,358 $10,593 
Balance at June 30, 2026
34,728 551 3,500 1,743 12,674 
Increase (decrease)$(8,193)$169 $— $385 $2,081