v3.25.1
Fair Value Measurement - Summary of Carrying Amounts and Fair Values of Long-Term Debt Obligations (Details) - USD ($)
$ in Thousands
Mar. 31, 2025
Dec. 31, 2024
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Carrying Amount $ 117,400 $ 135,500
Current portion of long-term debt 13,906 8,438
Long-term debt 103,494 127,062
Carrying Amount | Line of Credit | Revolving credit facility    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Carrying Amount 32,400 50,500
Fair Value | Line of Credit | Revolving credit facility    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Fair Value 32,400 50,500
Term Loan and security agreement | Line of Credit    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Current portion of long-term debt 13,900 8,400
Long-term debt 71,100 76,600
Term Loan and security agreement | Carrying Amount | Line of Credit    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Carrying Amount 85,000 85,000
Term Loan and security agreement | Fair Value | Line of Credit    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Fair Value $ 85,000 $ 84,363