XML 45 R33.htm IDEA: XBRL DOCUMENT v3.25.2
Share-Based Compensation (Tables)
6 Months Ended
Jun. 30, 2025
Share-Based Payment Arrangement [Abstract]  
Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award
The following table presents the effects of share-based compensation expense in the Condensed Consolidated Statements of Operations during the periods presented (in thousands):
Three months ended June 30,Six months ended June 30,
2025202420252024
Direct costs
$68 $62 $131 $123 
Sales and marketing1,349 1,093 2,335 1,851 
Research, development, and engineering937 1,071 1,727 2,161 
General, administrative, and other related costs
9,373 9,374 17,286 16,337 
Total share-based compensation expense$11,727 $11,600 $21,479 $20,472 
Market-Based Restricted Stock Awards, Valuation Assumptions
The assumptions used in determining the weighted-average fair values of PSUs granted during the periods presented are as follows:
Six months ended June 30,
20252024
Underlying stock price at valuation date$38.19 $66.88 
Expected volatility34.5 %32.9 %
Risk-free interest rate3.9 %4.3 %
Restricted Stock and Restricted Stock Unit Award Activity
Restricted stock award (“RSA”) and PSA activity for the six months ended June 30, 2025 is set forth below:
RSAs
PSAs
Number of
Shares
Weighted Average
Grant Date
Fair Value
Number of
Shares
Weighted Average
Grant Date
Fair Value
Nonvested at January 1, 202554,829 $68.97 163,181 $36.27 
Granted— $— — $— 
Vested(27,197)$68.97 — $— 
Forfeited
— $— — $— 
Nonvested at June 30, 2025
27,632 $68.97 163,181 $36.27 
  
Restricted stock unit (“RSU”) and PSU activity for the six months ended June 30, 2025 is set forth below:
RSUs
PSUs
Number of
Shares

Weighted Average Grant Date Fair Value
Number of Shares (1)
Weighted Average Grant Date Fair Value
Outstanding at January 1, 2025652,227 $74.59 520,986 $82.73 
Granted730,803 $37.42 598,676 $38.80 
Vested(247,175)$73.37 (23,477)$78.73 
Forfeited
(23,560)$60.89 (41,093)$65.51 
Outstanding at June 30, 2025
1,112,295 $50.73 1,055,092 $58.12 
(1)Represents the number of shares at 100% achievement.