Condensed Consolidated Statements of Changes in Stockholders' Equity - USD ($) $ in Thousands |
Total |
Retained Earnings |
Accumulated Other Comprehensive Income (Loss) |
Common Stock |
Additional Paid-in Capital |
| Beginning balance at Dec. 31, 2024 |
$ 1,149,913
|
$ 997,493
|
$ (23,747)
|
$ 2,170
|
$ 173,997
|
| Beginning balance (in shares) at Dec. 31, 2024 |
|
|
|
32,527,244
|
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
| Net earnings |
37,053
|
37,053
|
|
|
|
| Other comprehensive (loss) income |
21,484
|
|
21,484
|
|
|
| Repurchases of common stock, including excise tax |
(5,325)
|
|
|
$ (2)
|
(5,323)
|
| Repurchases of common stock (in shares) |
|
|
|
(32,869)
|
|
| Shares and options issued under stock plans |
5,576
|
|
|
$ 7
|
5,569
|
| Shares and options issued under stock plans (in shares) |
|
|
|
117,169
|
|
| Ending balance at Mar. 31, 2025 |
1,208,701
|
1,034,546
|
(2,263)
|
$ 2,175
|
174,243
|
| Ending balance (in shares) at Mar. 31, 2025 |
|
|
|
32,611,544
|
|
| Beginning balance at Dec. 31, 2024 |
1,149,913
|
997,493
|
(23,747)
|
$ 2,170
|
173,997
|
| Beginning balance (in shares) at Dec. 31, 2024 |
|
|
|
32,527,244
|
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
| Net earnings |
115,620
|
|
|
|
|
| Other comprehensive (loss) income |
65,343
|
|
|
|
|
| Ending balance at Sep. 30, 2025 |
1,297,864
|
1,113,113
|
41,596
|
$ 2,160
|
140,995
|
| Ending balance (in shares) at Sep. 30, 2025 |
|
|
|
32,376,314
|
|
| Beginning balance at Mar. 31, 2025 |
1,208,701
|
1,034,546
|
(2,263)
|
$ 2,175
|
174,243
|
| Beginning balance (in shares) at Mar. 31, 2025 |
|
|
|
32,611,544
|
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
| Net earnings |
38,278
|
38,278
|
|
|
|
| Other comprehensive (loss) income |
43,775
|
|
43,775
|
|
|
| Repurchases of common stock, including excise tax |
(33,348)
|
|
|
$ (13)
|
(33,335)
|
| Repurchases of common stock (in shares) |
|
|
|
(204,965)
|
|
| Shares and options issued under stock plans |
10,507
|
|
|
$ 3
|
10,504
|
| Shares and options issued under stock plans (in shares) |
|
|
|
48,975
|
|
| Ending balance at Jun. 30, 2025 |
1,267,913
|
1,072,824
|
41,512
|
$ 2,165
|
151,412
|
| Ending balance (in shares) at Jun. 30, 2025 |
|
|
|
32,455,554
|
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
| Net earnings |
40,289
|
40,289
|
|
|
|
| Other comprehensive (loss) income |
84
|
|
84
|
|
|
| Repurchases of common stock, including excise tax |
(15,624)
|
|
|
$ (6)
|
(15,618)
|
| Repurchases of common stock (in shares) |
|
|
|
(95,760)
|
|
| Shares and options issued under stock plans |
5,202
|
|
|
$ 1
|
5,201
|
| Shares and options issued under stock plans (in shares) |
|
|
|
16,520
|
|
| Ending balance at Sep. 30, 2025 |
1,297,864
|
1,113,113
|
41,596
|
$ 2,160
|
140,995
|
| Ending balance (in shares) at Sep. 30, 2025 |
|
|
|
32,376,314
|
|
| Beginning balance at Dec. 31, 2025 |
$ 1,257,413
|
1,121,396
|
41,547
|
$ 2,139
|
92,331
|
| Beginning balance (in shares) at Dec. 31, 2025 |
32,058,121
|
|
|
32,058,121
|
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
| Net earnings |
$ 40,285
|
40,285
|
|
|
|
| Other comprehensive (loss) income |
(9,798)
|
|
(9,798)
|
|
|
| Repurchases of common stock, including excise tax |
(14,923)
|
|
|
$ (6)
|
(14,917)
|
| Repurchases of common stock (in shares) |
|
|
|
(89,880)
|
|
| Shares and options issued under stock plans |
12,139
|
|
|
$ 10
|
12,129
|
| Shares and options issued under stock plans (in shares) |
|
|
|
160,285
|
|
| Ending balance at Mar. 31, 2026 |
1,285,116
|
1,161,681
|
31,749
|
$ 2,143
|
89,543
|
| Ending balance (in shares) at Mar. 31, 2026 |
|
|
|
32,128,526
|
|
| Beginning balance at Dec. 31, 2025 |
$ 1,257,413
|
1,121,396
|
41,547
|
$ 2,139
|
92,331
|
| Beginning balance (in shares) at Dec. 31, 2025 |
32,058,121
|
|
|
32,058,121
|
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
| Net earnings |
$ 131,628
|
|
|
|
|
| Other comprehensive (loss) income |
(17,138)
|
|
|
|
|
| Ending balance at Sep. 30, 2026 |
$ 1,326,777
|
1,253,024
|
24,409
|
$ 2,123
|
47,221
|
| Ending balance (in shares) at Sep. 30, 2026 |
31,824,039
|
|
|
31,824,039
|
|
| Beginning balance at Mar. 31, 2026 |
$ 1,285,116
|
1,161,681
|
31,749
|
$ 2,143
|
89,543
|
| Beginning balance (in shares) at Mar. 31, 2026 |
|
|
|
32,128,526
|
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
| Net earnings |
44,615
|
44,615
|
|
|
|
| Other comprehensive (loss) income |
(4,540)
|
|
(4,540)
|
|
|
| Repurchases of common stock, including excise tax |
(29,800)
|
|
|
$ (12)
|
(29,788)
|
| Repurchases of common stock (in shares) |
|
|
|
(183,249)
|
|
| Shares and options issued under stock plans |
6,987
|
|
|
$ 1
|
6,986
|
| Shares and options issued under stock plans (in shares) |
|
|
|
10,257
|
|
| Ending balance at Jun. 30, 2026 |
1,302,378
|
1,206,296
|
27,209
|
$ 2,132
|
66,741
|
| Ending balance (in shares) at Jun. 30, 2026 |
|
|
|
31,955,534
|
|
| Increase (Decrease) in Stockholders' Equity [Roll Forward] |
|
|
|
|
|
| Net earnings |
46,728
|
46,728
|
|
|
|
| Other comprehensive (loss) income |
(2,800)
|
|
(2,800)
|
|
|
| Repurchases of common stock, including excise tax |
(28,414)
|
|
|
$ (11)
|
(28,403)
|
| Repurchases of common stock (in shares) |
|
|
|
(170,618)
|
|
| Shares and options issued under stock plans |
8,885
|
|
|
$ 2
|
8,883
|
| Shares and options issued under stock plans (in shares) |
|
|
|
39,123
|
|
| Ending balance at Sep. 30, 2026 |
$ 1,326,777
|
$ 1,253,024
|
$ 24,409
|
$ 2,123
|
$ 47,221
|
| Ending balance (in shares) at Sep. 30, 2026 |
31,824,039
|
|
|
31,824,039
|
|