<SEC-DOCUMENT>0001104659-26-078320.txt : 20260626
<SEC-HEADER>0001104659-26-078320.hdr.sgml : 20260626
<ACCEPTANCE-DATETIME>20260626170558
ACCESSION NUMBER:		0001104659-26-078320
CONFORMED SUBMISSION TYPE:	S-8
PUBLIC DOCUMENT COUNT:		14
FILED AS OF DATE:		20260626
DATE AS OF CHANGE:		20260626
EFFECTIVENESS DATE:		20260626

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			Willdan Group, Inc.
		CENTRAL INDEX KEY:			0001370450
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-ENGINEERING SERVICES [8711]
		ORGANIZATION NAME:           	07 Trade & Services
		EIN:				141951112
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			0101

	FILING VALUES:
		FORM TYPE:		S-8
		SEC ACT:		1933 Act
		SEC FILE NUMBER:	333-297081
		FILM NUMBER:		261130314

	BUSINESS ADDRESS:	
		STREET 1:		2401 EAST KATELLA AVENUE, SUITE 300
		CITY:			ANAHEIM
		STATE:			CA
		ZIP:			92806
		BUSINESS PHONE:		800-424-9144

	MAIL ADDRESS:	
		STREET 1:		2401 EAST KATELLA AVENUE, SUITE 300
		CITY:			ANAHEIM
		STATE:			CA
		ZIP:			92806
</SEC-HEADER>
<DOCUMENT>
<TYPE>S-8
<SEQUENCE>1
<FILENAME>wldn-20260626xs8.htm
<DESCRIPTION>S-8
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  11.2.0.21--><!--Created on: 6/26/2026 04:42:04 AM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-indent:18pt;margin:0pt 0pt 9pt 0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">As filed with the Securities and Exchange Commission on June 26, 2026</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;">Registration No. 333-</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><b style="font-size:16pt;font-weight:bold;">UNITED STATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><b style="font-size:16pt;font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Washington, D.C. 20549</b></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;table-layout:auto;width:26.11%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:100%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:3pt;"><td style="vertical-align:top;width:100%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 164.75pt 0pt 0pt;"><font style="font-size:8pt;margin-right:0pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><b style="font-size:16pt;font-weight:bold;">FORM S-8</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><b style="font-size:16pt;font-weight:bold;">REGISTRATION STATEMENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-style:italic;font-weight:bold;">UNDER</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-style:italic;font-weight:bold;">THE SECURITIES ACT OF 1933</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;table-layout:auto;width:26.11%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:100%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:3pt;"><td style="vertical-align:top;width:100%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 164.75pt 0pt 0pt;"><font style="font-size:8pt;margin-right:0pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><b style="font-size:22pt;font-weight:bold;">WILLDAN GROUP, INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Exact name of registrant as specified in its charter)</b></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;table-layout:auto;width:26.11%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:100%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:3pt;"><td style="vertical-align:top;width:100%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 164.75pt 0pt 0pt;"><font style="font-size:8pt;margin-right:0pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:5pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;table-layout:auto;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style=""><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Delaware</b></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">14-1951112</b></p></td></tr><tr style=""><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(State or other jurisdiction of</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">incorporation or organization)</b></p></td><td style="vertical-align:bottom;width:50%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(I.R.S. Employer</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identification No.)</b></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"><font style="display:inline-block;visibility:hidden;width:0pt;">&#8203;</font><br></b><b style="font-weight:bold;">2401 East Katella Avenue, Suite 300</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Anaheim, California 92806</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(800) 424-9144</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">(Address of Principal Executive Offices) (Zip Code)</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Willdan Group, Inc.</b><b style="font-weight:bold;"><br></b><b style="font-weight:bold;">Amended and Restated 2008 Performance Incentive Plan</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">(Full title of the plan)</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Creighton K. Early</b><b style="font-weight:bold;"><br></b><b style="font-weight:bold;">Chief Financial Officer and Executive Vice President</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Willdan Group, Inc.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2401 East Katella Avenue, Suite 300</b><b style="font-weight:bold;"><br></b><b style="font-weight:bold;">Anaheim, California 92806</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">(Name and address of agent for service)</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(800) 424-9144</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">(Telephone number, including area code, of agent for service)</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;table-layout:auto;width:26.11%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:100%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:3pt;"><td style="vertical-align:top;width:100%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 164.75pt 0pt 0pt;"><font style="font-size:8pt;margin-right:0pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-style:italic;font-weight:bold;">Copy to:</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;table-layout:auto;width:26.11%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:100%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:3pt;"><td style="vertical-align:top;width:100%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 164.75pt 0pt 0pt;"><font style="font-size:8pt;margin-right:0pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">John-Paul Motley</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Logan Tiari</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cooley LLP</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">350&#160;South&#160;Grand&#160;Avenue, Suite 3200</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Los Angeles, California 90071</b><b style="font-weight:bold;"><br></b><b style="font-weight:bold;">Tel: (213) 561-3204</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;table-layout:auto;width:26.11%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:100%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:3pt;"><td style="vertical-align:top;width:100%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;padding-left:18pt;text-indent:-18pt;margin:0pt 164.75pt 0pt 0pt;"><font style="font-size:8pt;margin-right:0pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;text-align:justify;margin:0pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:5pt;visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:18.23%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:54.41%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:1.16%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:21.54%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:1.16%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style=""><td style="vertical-align:bottom;width:18.23%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Large accelerated filer</p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:54.41%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><font style="font-family:'Segoe UI Symbol';">&#9746;</font></p></td><td style="vertical-align:bottom;width:1.16%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.54%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Accelerated filer</p></td><td style="vertical-align:bottom;width:1.16%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><font style="font-family:'Segoe UI Symbol';">&#9744;</font></p></td></tr><tr style="height:4.5pt;"><td style="vertical-align:bottom;width:18.23%;margin:0pt;padding:0pt;"><div style="height:4.5pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td colspan="2" style="vertical-align:bottom;width:56.08%;margin:0pt;padding:0pt;"><div style="height:4.5pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td colspan="2" style="vertical-align:bottom;width:22.71%;margin:0pt;padding:0pt;"><div style="height:4.5pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td colspan="2" style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><div style="height:4.5pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style=""><td style="vertical-align:bottom;width:18.23%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Non-accelerated filer</p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:54.41%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><font style="font-family:'Segoe UI Symbol';">&#9744;</font></p></td><td style="vertical-align:bottom;width:1.16%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.54%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Smaller reporting company</p></td><td style="vertical-align:bottom;width:1.16%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><font style="font-family:'Segoe UI Symbol';">&#9744;</font></p></td></tr><tr style="height:4.5pt;"><td style="vertical-align:bottom;width:18.23%;margin:0pt;padding:0pt;"><div style="height:4.5pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td colspan="2" style="vertical-align:bottom;width:56.08%;margin:0pt;padding:0pt;"><div style="height:4.5pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td colspan="2" style="vertical-align:bottom;width:22.71%;margin:0pt;padding:0pt;"><div style="height:4.5pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td colspan="2" style="vertical-align:bottom;width:2.97%;margin:0pt;padding:0pt;"><div style="height:4.5pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style=""><td style="vertical-align:bottom;width:18.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:1.66%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:54.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:1.16%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:21.54%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Emerging growth company</p></td><td style="vertical-align:bottom;width:1.16%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:18pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:1.8%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><font style="font-family:'Segoe UI Symbol';">&#9744;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;margin:0pt;"><font style="white-space:pre-wrap;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 7(a)(2)(B) of the Securities Act.  </font><font style="font-family:'Segoe UI Symbol';">&#9744;</font></p><p style="display:none;font-size:12pt;line-height:0pt;text-align:center;margin:0pt 0pt 6pt 0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:0pt;font-weight:bold;visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:11.76%;padding-right:11.76%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-indent:18pt;margin:0pt 0pt 9pt 0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:center;margin:0pt;"><font style="font-size:12pt;"><a name="Section2"></a></font><b style="font-weight:bold;">EXPLANATORY NOTE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:center;margin:0pt;"><b style="font-weight:bold;">REGISTRATION OF ADDITIONAL SHARES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:justify;text-indent:18pt;margin:0pt;">This Registration Statement is filed by Willdan Group, Inc. (the &#8220;<font style="font-style:italic;font-weight:bold;">Registrant</font>&#8221;) to register an additional 380,000 shares of the Registrant&#8217;s common stock, par value $0.01 per share (the &#8220;<font style="font-style:italic;font-weight:bold;">Common Stock</font>&#8221;), issuable pursuant to the Registrant&#8217;s Amended and Restated 2008 Performance Incentive Plan (as amended, the &#8220;<font style="font-style:italic;font-weight:bold;">2008 Plan</font>&#8221;). &#160;</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;text-indent:18pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:justify;text-indent:18pt;margin:0pt;">The Registrant previously registered shares of its Common Stock for issuance under the 2008 Plan on Registration Statements on Form S-8 filed with the Commission on August 12, 2008 (File No. <a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1370450/000110465908052019/a08-20821_1s8.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">333-152951</font></a>), August 12, 2010 (File No. <a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1370450/000110465910044071/a10-15789_1s8.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">333-168787</font></a>), November 8, 2012 (File No. <a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1370450/000110465912075970/a12-26427_1s8.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">333-184823</font></a>), August 4, 2016 (File No. <a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1370450/000155837016007389/wldn-20160804xs8.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">333-212907</font></a>), June 30, 2017 (File No. <a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1370450/000155837017005034/s-8.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">333-219133</font></a>), June 28, 2019 (File No. <a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1370450/000110465919038278/a19-12195_1s8.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">333-232438</font></a>), June 24, 2022 (File No. <a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1370450/000155837022010274/tmb-20220624xs8.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">333-265833</font></a>), June 30, 2023 (File No. <a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1370450/000155837023011662/tmb-20230623xs8.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">333-273079</font></a>), June 28, 2024 (File No. <a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1370450/000155837024009619/tmb-20240628xs8.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">333-280582</font></a>), and June 27, 2025 (File No. <a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1370450/000155837025008972/wldn-20250627xs8.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">333-288396</font></a>) (collectively, the &#8220;<font style="font-style:italic;font-weight:bold;">Registration Statements</font>&#8221;). Pursuant to General Instruction E to Form S-8, this Registration Statement hereby incorporates by reference the contents of the Registration Statements referenced above except as set forth below. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"> <font style="visibility:hidden;">&#8203;</font></p><p style="display:none;font-size:12pt;line-height:0pt;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:0pt;visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:11.76%;margin-right:11.76%;margin-top:30pt;page-break-after:always;width:76.47%;border-width:0;"><div style="max-width:100%;padding-left:11.76%;padding-right:11.76%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-indent:18pt;margin:0pt 0pt 9pt 0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:12pt;text-align:center;margin:0pt;"><font style="font-size:12pt;"><a name="Section3"></a></font><b style="font-weight:bold;">PART I</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:12pt;text-align:center;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:12pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INFORMATION REQUIRED IN THE SECTION 10(a) PROSPECTUS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:12pt;text-align:center;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times';font-size:10pt;line-height:1.43;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:11pt;">The information specified in Item 1 and Item 2 of Part I of Form S-8 is omitted from this filing in accordance with the provisions of Rule 428 under the Securities Act of 1933, as amended (the &#8220;</font><font style="font-size:11pt;font-style:italic;font-weight:bold;">Securities Act</font><font style="font-size:11pt;">&#8221;) and the introductory note to Part I of the Form S-8 instructions. </font><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;">The documents containing information specified in Part I of Form S-8 will be sent or given to participants as specified by Rule 428(b)(1) of the Securities Act. </font></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:center;margin:9pt 0pt 9pt 0pt;"><b style="font-weight:bold;">PART II</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:center;margin:9pt 0pt 9pt 0pt;"><b style="font-weight:bold;">INFORMATION REQUIRED IN REGISTRATION STATEMENT</b><font style="font-size:12pt;"><a name="Section4"></a></font></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;margin:0pt 0pt 9pt 0pt;"><b style="font-weight:bold;">ITEM 3. INCORPORATION OF DOCUMENTS BY REFERENCE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-indent:18pt;margin:0pt 0pt 9pt 0pt;">The following documents filed by the Registrant with the Commission are incorporated by reference into this Registration Statement:</p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-decoration-line:none;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">The Registrant&#8217;s Annual Report on </font><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:11pt;" href="https://www.sec.gov/ix?doc=/Archives/edgar/data/1370450/000110465926020767/wldn-20260102x10k.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form 10-K</font></a><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> for the fiscal year ended January 2, 2026, filed with the Commission on February 27, 2026 (File No. 001-33076).</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-decoration-line:none;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">The Registrant&#8217;s Definitive Proxy Statement on </font><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:11pt;" href="https://www.sec.gov/ix?doc=/Archives/edgar/data/1370450/000110465926048621/wldn-20260617xdef14a.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Schedule 14A</font></a><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> with respect to the 2026 Annual Meeting of Stockholders held on June 17, 2026, filed with the Commission on April 24, 2026 (File No. 001-33076), but only to the extent incorporated into the Registrant&#8217;s Annual Report on Form 10-K for the fiscal year ended January 2, 2026.</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-decoration-line:none;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">The Registrant&#8217;s Quarterly Report on </font><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:11pt;" href="https://www.sec.gov/ix?doc=/Archives/edgar/data/1370450/000110465926057350/wldn-20260403x10q.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form 10-Q</font></a><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> for its fiscal quarter ended April 3, 2026, filed with the Commission on May 8, 2026 (File No. 001-33076).</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-decoration-line:none;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(d)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">The Registrant&#8217;s Current Report on </font><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:11pt;" href="https://www.sec.gov/ix?doc=/Archives/edgar/data/1370450/000110465926075795/wldn-20260617x8k.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form 8-K</font></a><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">, filed with the Commission on June 18, 2026 (File No. 001-33076).</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-decoration-line:none;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(e)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">The description of the Registrant&#8217;s Common Stock that is contained in the Registrant&#8217;s Registration Statement on Form 8-A, filed on October 11, 2006 (File No. 001-33076) under the Securities Exchange Act of 1934, as amended (the &#8220;</font><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:bold;">Exchange Act</font><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">&#8221;), as updated by </font><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:11pt;" href="https://www.sec.gov/Archives/edgar/data/1370450/000155837025002429/wldn-20241227xex4d2.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Exhibit 4.2</font></a><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> to the Registrant&#8217;s Annual Report on Form 10-K for the fiscal year ended January 2, 2026, as amended, including any amendment or report filed for the purpose of updating such description.</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-decoration-line:none;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(f)</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">All other reports and documents subsequently filed by the Registrant pursuant to Sections 13(a), 13(c), 14 and 15(d) of the Exchange Act (other than Current Reports furnished under Item 2.02 or Item 7.01 of Form 8-K and exhibits furnished on such form that relate to such items) on or after the date of this Registration Statement and prior to the filing of a post-effective amendment to this Registration Statement which indicates that all securities offered have been sold or which deregisters all securities then remaining unsold, shall be deemed to be incorporated by reference </font></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:11.76%;margin-right:11.76%;margin-top:30pt;page-break-after:always;width:76.47%;border-width:0;"><div style="max-width:100%;padding-left:11.76%;padding-right:11.76%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-indent:18pt;margin:0pt 0pt 9pt 0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-decoration-line:none;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"></td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">herein and to be a part of this Registration Statement from the date of the filing of such reports and documents. Any statement contained in a document incorporated or deemed to be incorporated by reference herein shall be deemed to be modified or superseded for purposes of this Registration Statement to the extent that a statement contained herein or in any subsequently filed document that also is deemed to be incorporated by reference herein modifies or supersedes such statement. Any such statement so modified or superseded shall not be deemed, except as so modified or superseded, to constitute a part of this Registration Statement.</font></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;margin:0pt 0pt 9pt 0pt;"><font style="font-size:12pt;"><a name="Section5"></a></font><b style="font-weight:bold;">ITEM 5. INTERESTS OF NAMED EXPERTS AND COUNSEL</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.33;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Not applicable.</p><p style="display:none;font-size:12pt;line-height:0pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:0pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:11.76%;margin-right:11.76%;margin-top:30pt;page-break-after:always;width:76.47%;border-width:0;"><div style="max-width:100%;padding-left:11.76%;padding-right:11.76%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-indent:18pt;margin:0pt 0pt 9pt 0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.43;margin:0pt 0pt 9pt 0pt;"><font style="font-size:12pt;"><a name="Section6"></a></font><b style="font-weight:bold;">ITEM 8. EXHIBITS</b></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:40.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:8pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:8pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:40.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:8pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:8pt;visibility:hidden;">&#8203;</font></p></td><td colspan="7" style="vertical-align:middle;white-space:nowrap;width:48.92%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Incorporated by Reference</b></p></td></tr><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#8203;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:40.75%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Description</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#8203;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Schedule</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Form</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#8203;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;border-bottom:1.0pt solid #000000;border-top:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">File Number</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#8203;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.74%;border-bottom:1.0pt solid #000000;border-top:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exhibit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">&#160;&#160;&#8203;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.18%;border-bottom:1.0pt solid #000000;border-top:1.0pt solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Filing Date</b></p></td></tr><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">4.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;width:40.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="http://www.sec.gov/Archives/edgar/data/1370450/000104746906010648/a2172308zex-3_1.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;background:#ffffff;">First Amended and Restated Certificate of Incorporation of Willdan Group, Inc.</font></a></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">S-1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">333-136444</p></td><td style="vertical-align:middle;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:6.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3.1</p></td><td style="vertical-align:middle;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August 9, 2006</p></td></tr><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">4.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;width:40.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="https://www.sec.gov/Archives/edgar/data/1370450/000155837023011834/wldn-20230707xex3d1.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Second Amended and Restated Bylaws of Willdan Group, Inc.</font></a></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">001-<font style="letter-spacing:0.2pt;">33076</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:6.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3.1</p></td><td style="vertical-align:middle;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">July 12, 2023</p></td></tr><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">4.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;width:40.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="https://www.sec.gov/Archives/edgar/data/1370450/000110465926020767/wldn-20260102xex4d2.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Description of Willdan Group, Inc.&#8217;s Capital Stock.</font></a></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10-K</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">001-33076</p></td><td style="vertical-align:middle;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:6.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">4.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">February 27, 2026</p></td></tr><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">5.1*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;width:40.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="wldn-20260626xex5d1.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Opinion of Cooley LLP.</font></a></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">23.1*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;width:40.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="wldn-20260626xex5d1.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Consent of Cooley LLP (included in Exhibit 5.1).</font></a></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">23.2*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;width:40.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="wldn-20260626xex23d2.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Consent of Crowe LLP, independent registered public accounting firm.</font></a></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">24.1*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;width:40.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><a style="font-size:10pt;" href="#PowerofAttorney"><font style="font-style:normal;font-weight:normal;">Power of Attorney (included on the signature page of this Form S-8).</font></a></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">99.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;width:40.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="https://www.sec.gov/Archives/edgar/data/1370450/000110465926075795/wldn-20260617xex10d1.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Willdan Group, Inc. Amended and Restated 2008 Performance Incentive Plan</font></a></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8-K</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">001-33076</p></td><td style="vertical-align:middle;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:6.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">June 18, 2026</p></td></tr><tr style=""><td style="vertical-align:middle;white-space:nowrap;width:8.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">107*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:middle;width:40.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><a style="font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:10pt;" href="wldn-20260626xexfees.htm"><font style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Filing Fee Table</font></a></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.43;padding-left:18pt;text-indent:-18pt;margin:0pt;">_______________</p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-decoration-line:none;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">*</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Filed herewith.</font></td></tr></table><div style="margin-top:9pt;"></div><p style="display:none;font-size:12pt;line-height:0pt;text-align:center;margin:0pt 0pt 9pt 0pt;"><font style="font-family:'Times New Roman','Times','serif';"><a name="Section7"></a></font><font style="font-family:'Times New Roman','Times','serif';font-size:0pt;font-weight:bold;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:11.76%;margin-right:11.76%;margin-top:30pt;page-break-after:always;width:76.47%;border-width:0;"><div style="max-width:100%;padding-left:11.76%;padding-right:11.76%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-indent:18pt;margin:0pt 0pt 9pt 0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:center;margin:0pt 0pt 9pt 0pt;"><b style="font-weight:bold;">SIGNATURES</b><font style="font-size:12pt;"><a name="SIGNATURES_339214"></a></font></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:justify;text-indent:18pt;margin:0pt 0pt 9pt 0pt;">Pursuant to the requirements of the Securities Act, the Registrant certifies that it has reasonable grounds to believe that it meets all of the requirements for filing on Form S-8 and has duly caused this Registration Statement to be signed on its behalf by the undersigned, thereunto duly authorized, in the City of Anaheim, State of California, on June 26, 2026.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:99.89%;"><tr style="height:1pt;"><td style="vertical-align:top;width:50.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:3.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:46.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:1pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style=""><td style="vertical-align:top;width:50.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td colspan="2" style="vertical-align:top;width:49.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:justify;margin:0pt;"><b style="font-weight:bold;">WILLDAN GROUP, INC.</b></p></td></tr><tr style=""><td style="vertical-align:top;width:50.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:7pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:7pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:46.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:7pt;visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td style="vertical-align:top;width:50.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:justify;margin:0pt;">By:</p></td><td style="vertical-align:top;width:46.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:justify;margin:0pt;"><i style="font-style:italic;">/s/ Creighton K. Early</i></p></td></tr><tr style=""><td style="vertical-align:top;width:50.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:46.09%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:justify;margin:0pt;">Creighton K. Early</p></td></tr><tr style=""><td style="vertical-align:top;width:50.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:3.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:46.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;margin:0pt;">Chief Financial Officer and Executive Vice President</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="display:none;font-size:12pt;line-height:0pt;text-align:right;margin:0pt 0pt 9pt 0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:center;margin:-0pt 0pt 9pt 0pt;"><a name="Section8"></a><font style="font-size:11pt;font-weight:bold;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:center;margin:9pt 0pt 9pt 0pt;"><font style="font-size:11pt;font-weight:bold;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-align:center;margin:9pt 0pt 9pt 0pt;"><font style="font-size:11pt;font-weight:bold;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:11.76%;margin-right:11.76%;margin-top:30pt;page-break-after:always;width:76.47%;border-width:0;"><div style="max-width:100%;padding-left:11.76%;padding-right:11.76%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.43;text-indent:18pt;margin:0pt 0pt 9pt 0pt;"><font style="font-size:10pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:center;margin:0pt 0pt 9pt 0pt;"><b style="font-weight:bold;">POWER OF ATTORNEY</b><font style="font-size:12pt;"><a name="PowerofAttorney"></a></font></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:justify;text-indent:18pt;margin:0pt 0pt 9pt 0pt;"><b style="font-weight:bold;">KNOW ALL PERSONS BY THESE PRESENTS</b>, that each person whose signature appears below constitutes and appoints Michael A. Bieber and Creighton K. Early, and each one of them, as his or her true and lawful attorneys-in-fact and agents, with full power of substitution and resubstitution, for him or her and in their name, place and stead, in any and all capacities, to sign any and all amendments (including post-effective amendments) to this Registration Statement, and to file the same, with all exhibits thereto and other documents in connection therewith, with the U.S. Securities and Exchange Commission, granting unto said attorneys-in-fact and agents, and each of them, full power and authority to do and perform each and every act and thing requisite and necessary to be done in connection therewith, as fully to all intents and purposes as he or she might or could do in person, hereby ratifying and confirming all that said attorneys-in-fact and agents or any of them, or his or her substitute or substitutes, may lawfully do or cause to be done by virtue hereof.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.43;text-align:justify;text-indent:18pt;margin:0pt 0pt 9pt 0pt;">Pursuant to the requirements of the Securities Act, this Registration Statement has been signed by the following persons in the capacities and on the dates indicated.</p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;table-layout:auto;width:103.52%;"><tr style=""><td style="vertical-align:bottom;width:37.61%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:2.15pt 0pt 1pt 0pt;"><b style="font-weight:bold;">Signature</b></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:41.64%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:2.15pt 0pt 1pt 0pt;"><b style="font-weight:bold;">Title</b></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:19.5%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:2.15pt 0pt 1pt 0pt;"><b style="font-weight:bold;">Date</b></p></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-bottom:1.0pt solid #000000;border-top:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><i style="font-style:italic;">/s/ Michael A. Bieber</i></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:41.64%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">President, Chief Executive Officer, and Director </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">(<i style="font-style:italic;">Principal Executive Officer</i>)</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:11pt;font-style:italic;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:19.5%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">June 26, 2026</p></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Michael A. Bieber</p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:41.64%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:19.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td></tr><tr style="height:3pt;"><td style="vertical-align:bottom;width:37.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:41.64%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:19.5%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><i style="font-style:italic;">/s/ Creighton K. Early</i></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:41.64%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Chief Financial Officer and Executive Vice President</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(Principal Financial Officer and Principal Accounting Officer)</i></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:19.5%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">June 26, 2026</p></td></tr><tr style="height:28.1pt;"><td style="vertical-align:middle;width:37.61%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:28.1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Creighton K. Early</p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:28.1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:41.64%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:28.1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:19.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td></tr><tr style="height:3pt;"><td style="vertical-align:bottom;width:37.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:41.64%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:19.5%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><i style="font-style:italic;">/s/ Thomas D. Brisbin</i></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:41.64%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Chairman of the Board and Director</p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:19.5%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">June 26, 2026</p></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Thomas D. Brisbin</p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:41.64%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:19.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td></tr><tr style="height:3pt;"><td style="vertical-align:bottom;width:37.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:41.64%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:19.5%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><i style="font-style:italic;">/s/ Steven A. Cohen</i></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:41.64%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Director</p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:19.5%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">June 26, 2026</p></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Steven A. Cohen</p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:41.64%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:19.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td></tr><tr style="height:3pt;"><td style="vertical-align:bottom;width:37.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:41.64%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:19.5%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><i style="font-style:italic;">/s/ Cynthia A. Downes</i></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:41.64%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Director</p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:19.5%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">June 26, 2026</p></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Cynthia A. Downes</p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:41.64%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:19.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td></tr><tr style="height:3pt;"><td style="vertical-align:bottom;width:37.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:41.64%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:19.5%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><i style="font-style:italic;">/s/ Dennis V. McGinn</i></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:41.64%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Director</p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:19.5%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">June 26, 2026</p></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Dennis V. McGinn</p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:41.64%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:19.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr style="height:2.9pt;"><td style="vertical-align:middle;width:37.61%;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:2.9pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:2.9pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:41.64%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:2.9pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:2.9pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:19.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><div style="height:2.9pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><i style="font-style:italic;">/s/ Wanda K. Reder</i></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:41.64%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Director</p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:19.5%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">June 26, 2026</p></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Wanda K. Reder</p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:41.64%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:19.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr style="height:3pt;"><td style="vertical-align:bottom;width:37.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:41.64%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:19.5%;margin:0pt;padding:0pt;"><div style="height:3pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-bottom:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><i style="font-style:italic;">/s/ Mohammad Shahidehpour</i></p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:41.64%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Director</p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></div></div></td><td style="color:#000000;font-style:normal;font-weight:normal;margin-bottom:0pt;margin-left:0pt;margin-right:0pt;margin-top:0pt;padding-bottom:0pt;padding-left:2.65pt;padding-right:2.65pt;padding-top:0pt;text-align:left;vertical-align:middle;width:19.5%;" rowspan="2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">June 26, 2026</p></td></tr><tr style="height:21.6pt;"><td style="vertical-align:middle;width:37.61%;border-top:1.0pt solid #000000;margin:0pt;padding:0pt 2.65pt 0pt 2.65pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:50%;transform:translate(0,-50%);width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">Mohammad Shahidehpour</p></div></div></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:41.64%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:0.61%;margin:0pt;padding:0pt;"><div style="height:21.6pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="display:none;vertical-align:top;width:19.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:11.76%;margin-right:11.76%;margin-top:30pt;page-break-after:avoid;width:76.47%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-5.1
<SEQUENCE>2
<FILENAME>wldn-20260626xex5d1.htm
<DESCRIPTION>EX-5.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  11.2.0.21--><!--Created on: 6/26/2026 04:42:04 AM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:11.76%;padding-right:11.76%;position:relative;"><div style="margin-top:22.5pt;min-height:85.5pt;width:100%;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Exhibit 5.1</b></p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 10pt 0pt;"><img src="wldn-20260626xex5d1002.jpg" alt="Graphic" style="display:inline-block;height:32.99pt;left:0%;padding-bottom:0.05pt;position:relative;top:0pt;width:101.98pt;"></p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;">Logan Tiari</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;">T: +1 213 561 3207</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 10pt 0pt;">ltiari@cooley.com</p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 12pt 0pt;"><a name="_Hlk62473599"></a>June 26, 2026</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.43;margin:0pt;">Willdan Group, Inc.</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.43;margin:0pt;">2401 East Katella Avenue, Suite 300</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.43;margin:0pt;">Anaheim, CA 92806</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 12pt 0pt;"><font style="font-weight:bold;margin-bottom:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-indent:0pt;width:36pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;font-style:normal;font-weight:bold;">Re:</b></font><b style="font-weight:bold;">Willdan Group, Inc. - Registration Statement on Form S-8</b></p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 12pt 0pt;">Ladies and Gentlemen:</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 12pt 0pt;">We have acted as counsel to Willdan Group, Inc., a Delaware corporation (the &#8220;<font style="font-style:italic;font-weight:bold;">Company</font>&#8221;), in connection with the filing by the Company of a Registration Statement on Form S-8 (the &#8220;<font style="font-style:italic;font-weight:bold;">Registration Statement</font>&#8221;) with the Securities and Exchange Commission (the &#8220;<font style="font-style:italic;font-weight:bold;">Commission</font>&#8221;) covering the offering of up to 380,000 shares (the &#8220;<font style="font-style:italic;font-weight:bold;">Shares</font>&#8221;) of the Company&#8217;s common stock, par value $0.01 per share (&#8220;<font style="font-style:italic;font-weight:bold;">Common Stock</font>&#8221;) issuable pursuant to the Company&#8217;s Amended and Restated 2008 Performance Incentive Plan (the &#8220;<font style="font-style:italic;font-weight:bold;">2008 Plan</font>&#8221;).</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 12pt 0pt;">In connection with this opinion, we have examined and relied upon (a) the Registration Statement and the related prospectus, (b) the Company&#8217;s certificate of incorporation and bylaws, each as currently in effect, (c) the 2008 Plan and (d) such other records, documents, opinions, certificates, memoranda and instruments as in our judgment are necessary or appropriate to enable us to render the opinion expressed below. We have assumed the genuineness of all signatures, the authenticity of all documents submitted to us as originals, the conformity to originals of all documents submitted to us as copies, the accuracy, completeness and authenticity of certificates of public officials, and the due authorization, execution and delivery of all documents by all persons other than by the Company. As to certain factual matters, we have relied upon a certificate of an officer of the Company and have not independently verified such matters.</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 12pt 0pt;">Our opinion is expressed only with respect to the General Corporation Law of the State of Delaware. We express no opinion to the extent that any other laws are applicable to the subject matter hereof and express no opinion and provide no assurance as to compliance with any federal or state securities law, rule or regulation.</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 12pt 0pt;">On the basis of the foregoing, and in reliance thereon, we are of the opinion that the Shares, when sold and issued in accordance with the 2008 Plan, the Registration Statement and the related prospectus, will be validly issued, fully paid and nonassessable (except as to shares issued pursuant to deferred payment arrangements, which will be fully paid and nonassessable when such deferred payments are made in full).</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 12pt 0pt;"><a name="_cp_change_12"></a>This opinion is limited to the matters expressly set forth in this letter, and no opinion has been or should be implied, or may be inferred, beyond the matters expressly stated. &#160;This opinion speaks only as to law and facts in effect or existing as of the date hereof, and we have no obligation or responsibility to update or supplement this opinion to reflect any facts or circumstances that may hereafter come to our attention or any changes in law that may hereafter occur.</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 12pt 0pt;">We consent to the filing of this opinion as an exhibit to the Registration Statement. &#160;In giving such consent, we do not thereby admit that we are in the category of persons whose consent is required under Section 7 of the Securities Act of 1933, as amended, or the rules and regulations of the Commission thereunder.</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><font style="line-height:1.19;margin-bottom:0pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;display:table;margin-bottom:25.2pt;min-height:46.8pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><font style="white-space:pre-wrap;">Cooley LLP  350 S. Grand Ave Suite 3200, Los Angeles, CA 90071</font></p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><font style="white-space:pre-wrap;">t: +1 213 561 3250  &#8226;  f: +1 213 561 3244  &#8226;  cooley.com</font></p></div></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:11.76%;margin-right:11.76%;margin-top:30pt;page-break-after:always;width:76.47%;border-width:0;"><div style="max-width:100%;padding-left:11.76%;padding-right:11.76%;position:relative;"><div style="margin-top:22.5pt;min-height:85.5pt;width:100%;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;"><a name="zzmpFIXED_LHPrimary"></a><img src="wldn-20260626xex5d1002.jpg" alt="Graphic" style="display:inline-block;height:32.99pt;left:0%;padding-bottom:0.05pt;position:relative;top:0pt;width:101.98pt;"></p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt 5.4pt 0pt 5.4pt;"><font style="margin-left:0pt;margin-right:0pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;">Willdan Group, Inc.</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;">June 26, 2026</p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;">Page Two</p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:99.89%;"><tr style=""><td colspan="2" style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Sincerely,</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td colspan="2" style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td colspan="2" style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-variant:small-caps;font-weight:bold;">Cooley LLP</b></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td colspan="2" style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td colspan="2" style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td style="vertical-align:top;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">By:</p></td><td style="vertical-align:top;width:46.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">/s/ Logan Tiari</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td style="vertical-align:top;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:46.9%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Logan Tiari</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr style=""><td colspan="2" style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr></table></div><p style="font-family:'Arial','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;display:table;margin-bottom:25.2pt;min-height:46.8pt;width:100%;"><div style="display:table-cell;vertical-align:bottom;width:100%;"><p style="font-family:'Arial','Helvetica','sans-serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><font style="white-space:pre-wrap;">Cooley LLP  350 S. Grand Ave Suite 3200, Los Angeles, CA 90071</font></p><p style="font-family:'Arial','Helvetica','sans-serif';font-size:7pt;line-height:1.19;text-align:center;margin:0pt;"><font style="white-space:pre-wrap;">t: +1 213 561 3250  &#8226;  f: +1 213 561 3244  &#8226;  cooley.com</font></p></div></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:11.76%;margin-right:11.76%;margin-top:30pt;page-break-after:avoid;width:76.47%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.2
<SEQUENCE>3
<FILENAME>wldn-20260626xex23d2.htm
<DESCRIPTION>EX-23.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  11.2.0.21--><!--Created on: 6/26/2026 04:42:04 AM (UTC)--><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:11.76%;padding-right:11.76%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-weight:bold;">Exhibit 23.2</b></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.19;text-align:right;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;line-height:1.28;margin-bottom:8pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-family:'Times New Roman','Times','serif';font-weight:bold;">Consent of Independent Registered Public Accounting Firm</b></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';">&#160;</font></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';">We consent to the incorporation by reference in this Registration Statement on Form&#160;S-8 of Willdan Group,&#160;Inc. of our report dated February 26, 2026 relating to the consolidated financial statements and effectiveness of internal control over financial reporting appearing in the Annual Report on Form&#160;10-K of Willdan Group,&#160;Inc. for the year ended January&#160;2, 2026.</font></p><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';">&#160;</font></p><div align="left"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr style=""><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:1pt;line-height:1.19;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';">&#160;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';">/s/ Crowe LLP</font></p></td></tr><tr style=""><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';">&#160;</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';">&#160;</font></p></td></tr><tr style=""><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';">Los Angeles, California</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:1pt;line-height:1.19;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';">&#160;</font></p></td></tr><tr style=""><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;line-height:1.19;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';">June&#160;26, 2026</font></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:1pt;line-height:1.19;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';">&#160;</font></p></td></tr></table></div><p style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:11.76%;margin-right:11.76%;margin-top:30pt;page-break-after:avoid;width:76.47%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-FILING FEES
<SEQUENCE>4
<FILENAME>wldn-20260626xexfees.htm
<DESCRIPTION>EX-FILING FEES
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dei="http://xbrl.sec.gov/dei/2026" xmlns:ffd="http://xbrl.sec.gov/ffd/2026">
  <head>
    <title>EX-FILING FEES</title>
  </head>
  <body>
    <div style="display: none">
      <ix:header>
        <ix:hidden>
          <ix:nonNumeric name="ffd:FormTp" contextRef="rc" id="ixv-168">S-8</ix:nonNumeric>
          <ix:nonNumeric name="ffd:SubmissnTp" contextRef="rc" id="ixv-169">S-8</ix:nonNumeric>
          <ix:nonNumeric name="ffd:FeeExhibitTp" contextRef="rc" id="ixv-170">EX-FILING FEES</ix:nonNumeric>
          <ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="rc" id="ixv-171">0001370450</ix:nonNumeric>
          <ix:nonNumeric name="dei:EntityRegistrantName" contextRef="rc" id="ixv-172">Willdan Group, Inc.</ix:nonNumeric>
          <ix:nonNumeric name="ffd:OfferingTableNa" contextRef="rc" id="hiddenrcOfferingTableNa" xsi:nil="true"></ix:nonNumeric>
          <ix:nonNumeric name="ffd:OffsetTableNa" contextRef="rc" id="hiddenrcOffsetTableNa">N/A</ix:nonNumeric>
          <ix:nonNumeric name="ffd:PrevslyPdFlg" contextRef="offrl_1" format="ixt:booleanfalse" id="ixv-175">Fees to be Paid</ix:nonNumeric>
        </ix:hidden>
        <ix:references>
          <link:schemaRef xlink:href="https://xbrl.sec.gov/ffd/2026/ffd-2026.xsd" xlink:type="simple"/>
        </ix:references>
        <ix:resources>
          <xbrli:context id="rc">
            <xbrli:entity>
              <xbrli:identifier scheme="http://www.sec.gov/CIK">0001370450</xbrli:identifier>
            </xbrli:entity>
            <xbrli:period>
              <xbrli:startDate>2026-06-24</xbrli:startDate>
              <xbrli:endDate>2026-06-24</xbrli:endDate>
            </xbrli:period>
          </xbrli:context>
          <xbrli:context id="offrl_1">
            <xbrli:entity>
              <xbrli:identifier scheme="http://www.sec.gov/CIK">0001370450</xbrli:identifier>
              <xbrli:segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                  <dei:lineNo>1</dei:lineNo>
                </xbrldi:typedMember>
              </xbrli:segment>
            </xbrli:entity>
            <xbrli:period>
              <xbrli:startDate>2026-06-24</xbrli:startDate>
              <xbrli:endDate>2026-06-24</xbrli:endDate>
            </xbrli:period>
          </xbrli:context>
          <xbrli:unit id="USD">
            <xbrli:measure>iso4217:USD</xbrli:measure>
          </xbrli:unit>
          <xbrli:unit id="pure">
            <xbrli:measure>xbrli:pure</xbrli:measure>
          </xbrli:unit>
          <xbrli:unit id="Shares">
            <xbrli:measure>xbrli:shares</xbrli:measure>
          </xbrli:unit>
        </ix:resources>
      </ix:header>
    </div>
    <div>
      <table style="width: 99%; font-family: Arial, Helvetica, sans-serif; font-size: 20pt; text-align: center;">
        <tr>
          <td colspan="4" style="padding-bottom: .5em">
            <p>
              <b>Calculation of Filing Fee Tables</b>
            </p>
          </td>
        </tr>
        <tr>
          <td style="padding-bottom: .25em">
            <p>
              <b>
                <ix:nonNumeric name="ffd:FormTp" contextRef="rc" id="ixv-200">S-8</ix:nonNumeric>
              </b>
            </p>
          </td>
        </tr>
        <tr>
          <td style="padding-bottom: .25em">
            <p>
              <b>
                <ix:nonNumeric name="dei:EntityRegistrantName" contextRef="rc" id="ixv-201">Willdan Group, Inc.</ix:nonNumeric>
              </b>
            </p>
          </td>
        </tr>
      </table>
    </div>
    <div style="padding-bottom: 20px;">
      <table style="float: center; width: 100%; text-align: left;  ">
        <tr style="font-family: Arial, Helvetica, sans-serif; font-size: 16px">
          <th style="vertical-align: bottom; text-align: center; width: 90%; word-wrap: break-word">
            <p style="margin: 0pt; text-align: center;">
              <b>Table 1: Newly Registered Securities</b>
            </p>
          </th>
        </tr>
      </table>
      <table style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; float: center; width: 90%; text-align: center;  border: 1px solid black; margin-left: auto; margin-right: auto;">
        <tr style="background-color:#9ADAF6">
          <th style="width: 2%;">
            <!-- BLANK -->
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Security Type</b>
            </p>
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Security Class Title </b>
            </p>
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Fee Calculation Rule</b>
            </p>
          </th>
          <th style="width: 10%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Amount Registered</b>
            </p>
          </th>
          <th style="width: 15%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Proposed Maximum Offering Price Per Unit</b>
            </p>
          </th>
          <th style="width: 15%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Maximum Aggregate Offering Price</b>
            </p>
          </th>
          <th style="width: 3%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Fee Rate</b>
            </p>
          </th>
          <th style="width: 15%;">
            <p style="margin: 0pt; text-align: center;">
              <b>Amount of Registration Fee</b>
            </p>
          </th>
        </tr>
        <tr style="background-color:#E7E7E2">
          <td style="text-align: center;">
		1
	</td>
          <td style="text-align: left;">
            <ix:nonNumeric name="ffd:OfferingSctyTp" contextRef="offrl_1" id="ixv-202">Equity</ix:nonNumeric>
          </td>
          <td style="text-align: left;">
            <ix:nonNumeric name="ffd:OfferingSctyTitl" contextRef="offrl_1" id="ixv-203">Common stock, $0.01 par value per share, reserved for future issuance pursuant to the Registrant's Amended and Restated 2008 Performance Incentive Plan</ix:nonNumeric>
          </td>
          <td style="text-align: center;">
            <ix:nonNumeric name="ffd:FeesOthrRuleFlg" contextRef="offrl_1" format="ixt:booleantrue" id="ixv-204">Other</ix:nonNumeric>
          </td>
          <td style="text-align: right;">
            <ix:nonFraction name="ffd:AmtSctiesRegd" unitRef="Shares" decimals="0" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-205">380,000</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <span>$</span>
            <ix:nonFraction name="ffd:MaxOfferingPricPerScty" unitRef="USD" decimals="2" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-206">82.44</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <span>$</span>
            <ix:nonFraction name="ffd:MaxAggtOfferingPric" unitRef="USD" decimals="2" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-207">31,327,200.00</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <ix:nonFraction name="ffd:FeeRate" unitRef="pure" decimals="7" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-208">0.0001381</ix:nonFraction>
          </td>
          <td style="text-align: right;">
            <span>$</span>
            <ix:nonFraction name="ffd:FeeAmt" unitRef="USD" decimals="2" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-209">4,326.29</ix:nonFraction>
          </td>
        </tr>
        <tr>
          <td colspan="5" style="vertical-align: top">
            <p style="margin: 0pt; text-align: right">Total Offering Amounts:</p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top; width: 16%;">
            <p id="MaxAggtOfferingPrice" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:TtlOfferingAmt" contextRef="rc" decimals="2" format="ixt:numdotdecimal" unitRef="USD" id="ixv-210">31,327,200.00</ix:nonFraction>
            </p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top; border-bottom: 1px black; width: 16%;">
            <p id="TotalFeeAmt" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:TtlFeeAmt" contextRef="rc" decimals="2" format="ixt:numdotdecimal" unitRef="USD" id="ixv-211">4,326.29</ix:nonFraction>
            </p>
          </td>
        </tr>
        <tr>
          <td colspan="5" style="vertical-align: top">
            <p style="margin: 0pt; text-align: right">
					Total Fee Offsets:
				</p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top">
            <p id="TotalOffsetAmt" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:TtlOffsetAmt" contextRef="rc" decimals="2" format="ixt:numdotdecimal" unitRef="USD" id="ixv-212">0.00</ix:nonFraction>
            </p>
          </td>
        </tr>
        <tr>
          <td colspan="5" style="vertical-align: top">
            <p style="margin: 0pt; text-align: right">
					Net Fee Due:
				</p>
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td>
            <!-- BLANK -->
          </td>
          <td style="vertical-align: top">
            <p id="NetFeeAmt" style="margin: 0pt; text-align: right">
              <span>$</span>
              <ix:nonFraction name="ffd:NetFeeAmt" contextRef="rc" decimals="2" format="ixt:numdotdecimal" unitRef="USD" id="ixv-213">4,326.29</ix:nonFraction>
            </p>
          </td>
        </tr>
      </table>
    </div>
    <div>
      <table style="width: 90%; margin-left:auto; margin-right:auto; text-indent: 0px;">
        <tbody>
          <tr style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; vertical-align: top;">
            <td>
              <p style="margin:0pt;text-align:left; margin-bottom: 5px;">
                <b>Offering Note</b>
              </p>
            </td>
            <td/>
          </tr>
        </tbody>
      </table>
    </div>
    <div style="padding-bottom: 20px;">
      <table style="width: 90%; margin-left:auto; margin-right:auto; text-indent: 0px;">
        <tr style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; vertical-align: top;">
          <td style="width:10pt;">
            <p style="margin:0pt;text-align:left;">
              <sup style="vertical-align:top;line-height:120%;font-size:10px">1</sup>
            </p>
          </td>
          <td colspan="7" style="white-space: pre-line;">
            <ix:nonNumeric name="ffd:OfferingNote" escape="1" contextRef="offrl_1" id="ixv-214">Estimated in accordance with Rules 457(c) and 457(h) solely for the purpose of calculating the registration fee on the basis of $82.44 per share, which is the average of the high and low selling prices per share of the common stock, par value $0.01 per share, (the "Common Stock") of Willdan Group, Inc. (the "Registrant") on June 23, 2026 as reported on the Nasdaq Global Market.

Pursuant to Rule 416(a) promulgated under the Securities Act of 1933, as amended, this Registration Statement shall also cover any additional shares of the Registrant's Common Stock, including options and other rights to purchase or acquire the shares of Common Stock, that become issuable under the Registrant's Amended and Restated 2008 Performance Incentive Plan by reason of any stock dividend, stock split, recapitalization, or other similar transaction effected that results in an increase to the number of outstanding shares of the Registrant's Common Stock, as applicable.
</ix:nonNumeric>
          </td>
        </tr>
        <tr>
          <td colspan="7">
            <hr style="width:100%;text-align:left;margin-left:0"/>
          </td>
        </tr>
      </table>
    </div>
    <div style="padding-bottom: 20px;">
      <table style="float: center; width: 100%; text-align: left;  ">
        <tr style="font-family: Arial, Helvetica, sans-serif; font-size: 16px">
          <th style="vertical-align: bottom; text-align: left; word-wrap: break-word">
            <b>Table 2: Fee Offset Claims and Sources</b>
          </th>
          <th style="vertical-align: bottom; word-wrap: break-word; text-align: right;">
            <span style="-sec-ix-hidden: hiddenrcOffsetTableNa">&#9745;Not Applicable</span>
          </th>
        </tr>
      </table>
      <table style="font-family: Arial, Helvetica, sans-serif; font-size: 16px; float: center; width: 100%; text-align: center;  border: 1px solid black;">
        <tr style="background-color:#9ADAF6">
          <th style="width: 10%; text-align: left;">
            <!-- BLANK -->
          </th>
          <th style="width: 8%; text-align: left;">
            <!-- BLANK -->
          </th>
          <th style="width: 16%;">
				Registrant or Filer Name
			</th>
          <th style="width: 6%;">
				Form or Filing Type
			</th>
          <th style="width: 7%;">
				File Number
			</th>
          <th style="width: 6%;">
				Initial Filing Date
			</th>
          <th style="width: 6%;">
				Filing Date
			</th>
          <th style="width: 6%;">
				Fee Offset Claimed
			</th>
          <th style="width: 6%;">
				Security Type Associated with Fee Offset Claimed
			</th>
          <th style="width: 8%;">
				Security Title Associated with Fee Offset Claimed
			</th>
          <th style="width: 6%;">
				Unsold Securities Associated with Fee Offset Claimed
			</th>
          <th style="width: 9%;">
				Unsold Aggregate Offering Amount Associated with Fee Offset Claimed
			</th>
          <th style="width: 6%;">
				Fee Paid with Fee Offset Source
			</th>
        </tr>
        <tr>
          <td colspan="14" style="text-align: center">
            <b>Rule 457(p)</b>
          </td>
        </tr>
        <tr style="background-color:#E7E7E2">
          <td style="text-align: left;">
		Fee Offset Claims
	</td>
          <td>

	</td>
          <td style="text-align: left;">

	</td>
          <td>

	</td>
          <td>

	</td>
          <td>

	</td>
          <td>

	</td>
          <td style="text-align: right;">

	</td>
          <td style="text-align: left;">

	</td>
          <td style="text-align: left;">

	</td>
          <td style="text-align: right;">

	</td>
          <td style="text-align: right;">

	</td>
          <td style="text-align: right;">

	</td>
        </tr>
        <tr style="background-color:#E7E7E2">
          <td style="text-align: left;">
		Fee Offset Sources
	</td>
          <td>

	</td>
          <td style="text-align: left;">

	</td>
          <td>

	</td>
          <td>

	</td>
          <td>

	</td>
          <td>

	</td>
          <td style="text-align: right;">

	</td>
          <td style="text-align: left;">

	</td>
          <td style="text-align: left;">

	</td>
          <td style="text-align: right;">

	</td>
          <td style="text-align: right;">

	</td>
          <td style="text-align: right;">

	</td>
        </tr>
      </table>
    </div>
  </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>5
<FILENAME>wldn-20260626xex5d1002.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 wldn-20260626xex5d1002.jpg
M_]C_X  02D9)1@ ! @   0 !  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1"  L (@# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#])/B=\5O#
MGPA\./K/B2]^S09*0P1C=-</C.R-,\G\@.Y KY&UG]O7QOXIU26U\#>#+?R@
M?E6:*6]N"N>#MC*A<^F&Z]>]<1XRFU7]K;]I]M#AO&AT6"YEM;=QREO9PD^9
M*!_>?;GGJ64'@<??W@;P!X?^&V@PZ/X<TR'3+&/DK$/FD;^\['EV/J237DJ=
M;%R?LY<L%I?JS]<JX/*.$L+1_M&A]8Q=2*ERMVC!/:]MW]^SV5K_ !KIO[=?
MQ#\(ZE%%XW\%V_V9SRBV\UC/CU&\L#ZXP/K7V=X%\8V7Q \(:3XCTY)H['4H
M%GB2X4+(H/9@"1D'/0FK^M:%IWB339M.U6QM]2L)AMDMKJ(21N/=2,51\/Z#
MH_PZ\)P:;9;=/T33(6V>?+E88@2QRS'H!GDGH.3771IU:;?//F7XGR6;YCE6
M948/!X/V%9/7E;<9*W;H[VV7S-RBOD#XB?M\Q0ZZVE?#WP]_PD6QMOV^[$@2
M4YY\N)0&(_VB1]/6MX-_;[NK/Q FF_$/PF=$A<X:ZLUD#P>A:%\L1ZD'/H#6
M?UZAS<O-_E]YVQX'SZ5#VZH=+\MUSV_PWO\ +?R/LBBJ6C:S8^(M)M-3TRZB
MOM/NXQ-!<0MN21",@@UX%\=OVS/#_P *=3FT'1;/_A)O$<+>7/$DFRWMF_NL
M^"6?I\JCCD$@C%=-2K"E'GF[(^:R_*,=FN)^J8.DY3ZK:WJW9+Y^A]%45\/6
M?[?/C/1;JUG\3> H(M+F(PT(FMG8=RC2;E;OQWQU%?67PP^*OASXO>&TUKPY
M>?:+?=Y<T,B[)K>3&2DB]C[C(/8FLZ6)I5GRP>IZ>;<,9IDM-5L73]QZ<R:D
MK]FUM\_D?'WQ,U"Z3]OO2[=;F98#J>F Q"0A>88<\=*^\*^!_B?_ ,I ]*_[
M"FE_^B8:^Q?BQ\5]"^#?A&;7]>E<0AQ%!;P@&6XE()"("0,X!.20  37+A9*
M+K2D]%)GU/%.&J8FEE%##PYIRH022W;.SHKXPA_;.^*7BJ.?4_"WPJDO-"3.
M)EMKJ[  /.9(PJY]@..:]:_9]_:LT7XV7<NBW5B_A_Q1"A<V,DF^.=5^\8VP
M#D=2I&0.F<$CHABZ-22BGOMYGSV.X1S?+Z$L35IIQA\7+*,G'_$DVU^A[K17
MSA>?M9W?ACX]CX>>)_#<.E6DEX+:/5DNRP9)!F"3:4 PV4!Y^7)Y.VOH^MZ=
M6%6_*]M#P\?E6+RQ4GB8652*E%IIII];IO[MPHKYVT#]JRZ\:?'V;X?>'?#D
M5_IT%R\,VL-=$;8XA^]DV!",;@57GG*^M%%.K"K=P=[:"S#*\7E<H0Q<>5SB
MI)73=GM=)Z>CLSYK_9:U*'X8_M3W.DZZXM9I9+O1_,E. LY?Y03_ +3(%![E
MAZU^CM?)'[7?[*VH>--2?QSX+A\W6PH-_IT1VO<;0 LL7K(  ".^!CG@\+\/
MOV\_$G@JU_L3QYX>EUB\M#Y378?[-=KCC;+&RX9O?Y3ZY/->31J+!-T:NBO=
M,_6,ZRVIQM2HYOE#4ZJBHU*=TI)KJKVTU?X6UNE]XU\Y_MX^)[SP]\#/LUF[
MQ#5M2AL9W0X_=;))",^YB /J"17EOB7_ (*!ZWXB TOP/X,:/5+D^7!-<R&Z
MD)/]R!%&6].2/8U[)K/PGUWXR_LO:?X>\3236_B^2V2\\Z_^^EVK,PW^@()4
MX' ;IQBNF=>.)A.G1U=OZ1\Y@\CQ'#.-P>/SF*A'VD?=NG*V_,TKZ)V\_(B_
M8M^'.C>%/@SI&N6UM$^L:VCW%W>E07*[R%C#=0JA1\O][<>];_[5/P[T?QU\
M&?$D^H6\/V[2+&;4+*\8 20O&A<J&ZX8+M(Z'([@$?+_ ,'_ -I'Q'^R]%/X
M"\>>&;V6SM9&DMD!"3VX9LL$S\LD9.Y@0>I/)!XN?&/]K35OCWI9\!_#_P -
M:A&-4(CG9P'NIXP<E%1"0BG'S,6/&1P,US+$T%AO9/>UK6ZGTM;AS/*G$?\
M:<)7I.?.JO,N50O?>^RCI;;IMJ=5^QU\1-3TO]G#XA,"TQ\,QW-Y8[AG;FW:
M78/;>A;ZN:P?V / FF>*->\4>,-7CCU+5K"2*.U:XP[122;V>;!_C.T -U^_
MZU]!?LY_ A/A;\'I/#FLJEQJ&L>9-JJ*0R@R($\H'N%0 'MDL1P:^6-,E\9_
ML,?$Z_>?3)-9\'ZFPA$V2L5W&"3&P<#"3("P*D=VXP0U0XRHJC.JM([^78[8
M8FAG-3.<'E,U&M6E%PUMSJ/Q)/SU?FI=KV^^_$7AS3/%NBW>DZQ90ZCIUTAC
MEMYT#*P/\B.H(Y!Y%?#/[(\D_P .OVIO%/@NRN9)]*9[ZP<,<A_L\C&.1L<;
M@%89_P!MO6NM\7_\%#[&YT)X/"GAB^77)TV1RZBR>5"YX!"H29,=@=O^.M^Q
M;\!M>\-:GJGQ"\803VNK:C&T5I;78Q/MD8/)-(#RK,0  <'&[(Y%;3J0Q%>G
M['6V[\CQ\%E^+X=R+,%G"Y(UHJ,(-IMS_F23>VCOY>2///B?_P I ]*_["FE
M_P#HF&E_;S\0WFK_ !E\+>'8K:?4;:SLXI4TZ/<?M$TLK JH49)9411C)]*3
MXG_\I ]*_P"PII?_ *)AKTS]M3X&ZUXJETCQ_P"$X)KK6]'18KBVMEW2M$C&
M2.5%ZLR,6R!DD$?W:Y91E.G64?YCZG#8K#83,<FGB6E?#)1;T2DXV5WTOM?S
M,>P_::^,&E6-O967P)U"UM+>-8H8(=,O%2- ,!5 CP !VKRR]?XE>*?C]X?\
M?1?"[7?"]U'=VYO/L>DW.R7#XDD8LG\49VMZ@>YKU7P9_P %#M$CT.&+Q;X<
MU2/68DV32:6L3Q2N!@MAW0IDY^7G'J:Z#X%?M'^/_C=\5+IK#PS!;?#]%V23
M3[@UL0,@^:!AY&)&8P, 8Z8+&[TZSC'VK>NUMCA5/'Y-'$XG^RJ=%*,E*3J2
MM)/=*\FI-]%^NA0_;Y^$IU_PE8^.M/ASJ&BX@O2@^9[5F^5O^ .?RD8]J(/V
MK@_[)4OB)KO_ (J^-?["/S8?[85PL_\ W[_>YZ;@17U+K&DVFOZ3>Z9?PK<V
M-Y"]O/"_1XV4JRGZ@FORM7X,7UW\>9OACI][]J4:LUK]HC;*B)"2TK <;ECW
M$CL016F+Y\/4YZ7V]/GT9YW";P7$&7+ YF[?4Y>T3_Z=[RB_*^_E:VQ]8_L"
M_"L^'O!5_P"-;^(K?ZXQAM2_5;5#RW_ W!/T13WHKZ?T/1;/PWHMCI6G0K;6
M%E EO!$O1$50JC\A17J4*2HTU!=#\NSS-*F<YC6QU3[;T7:*T2^2M\R]6'X@
M\#>&_%I4ZYX?TK62O"G4+*.?'TWJ:W**V:3T9XU.I.E+GIR:?=.S,+P]X#\,
M^$7=]"\.Z3HKN,,VG6,4!;Z[%&:W:**$DM$%2K.M+GJ2;?=NYD^(/"6A^+;=
M8-<T73]9@0Y6+4+6.=0?8."*C\.^"?#OA 2#0M TO11)]\:=9QV^[Z[%&:VJ
M*7*KWMJ7]8K*G['G?+VN[?=L%5M0TZTU:TDM;ZUAO;608>"XC$B,/=3P:LT5
M1BFXNZ>IR^C?"WP7X<O4O-)\(Z#I=XGW;BSTR&&1?HRJ#74444E%1T2-:M:K
M7?-5DY/S=_S,^7P]I<^H"_DTVSDO@0PNG@0R@CH=V,\8%:%%%%K&<I2E;F=[
M'+:O\*_!6OW[WVJ>$-!U*]<Y:YN],@ED;ZLRDFNBL;&VTRTBM;.WBM+:(;8X
M8$"(@] HX%3T4E%)W2-9XBM5BH5)MI;)MM+T.&^-?Q*@^$GPSUOQ++M>>VBV
M6D3?\M;A_EC7W&X@GV!/:OG+]@7X;3W*:[\2=7W3WM_(]G9RS#+,-VZ>7)Z[
MFPN?]EQWKW[XT_ K1OCKIVFV&NZIJ]E96,K3K!IDT4:R2$8#/OC?)4;@,8^\
MW6NO\&^$M/\  GA72_#VE(T>GZ=;K;PAR"S #EF( !8G))P,DFN%P=7$IRVB
EM/5GW-/&4\LX:E1HI^UQ,O>?10C]E==7OY-HV:***] _/S__V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>7
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.26.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Submission<br></strong></div></th>
<th class="th"><div>Jun. 24, 2026</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_SubmissionLineItems', window );"><strong>Submission [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Central Index Key</a></td>
<td class="text">0001370450<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Registrant Name</a></td>
<td class="text">Willdan Group, Inc.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FormTp', window );">Form Type</a></td>
<td class="text">S-8<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_SubmissnTp', window );">Submission Type</a></td>
<td class="text">S-8<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeExhibitTp', window );">Fee Exhibit Type</a></td>
<td class="text">EX-FILING FEES<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeExhibitTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeExhibitTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:feeExhibitTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FormTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FormTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_SubmissionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_SubmissionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_SubmissnTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_SubmissnTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.26.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Offerings - Offering: 1<br></strong></div></th>
<th class="th">
<div>Jun. 24, 2026 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingTable', window );"><strong>Offering:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_PrevslyPdFlg', window );">Fee Previously Paid</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeesOthrRuleFlg', window );">Other Rule</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTp', window );">Security Type</a></td>
<td class="text">Equity<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTitl', window );">Security Class Title</a></td>
<td class="text">Common stock, $0.01 par value per share, reserved for future issuance pursuant to the Registrant's Amended and Restated 2008 Performance Incentive Plan<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_AmtSctiesRegd', window );">Amount Registered | shares</a></td>
<td class="nump">380,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxOfferingPricPerScty', window );">Proposed Maximum Offering Price per Unit</a></td>
<td class="nump">82.44<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxAggtOfferingPric', window );">Maximum Aggregate Offering Price</a></td>
<td class="nump">$ 31,327,200.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeRate', window );">Fee Rate</a></td>
<td class="nump">0.01381%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeAmt', window );">Amount of Registration Fee</a></td>
<td class="nump">$ 4,326.29<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingNote', window );">Offering Note</a></td>
<td class="text">Estimated in accordance with Rules 457(c) and 457(h) solely for the purpose of calculating the registration fee on the basis of $82.44 per share, which is the average of the high and low selling prices per share of the common stock, par value $0.01 per share, (the "Common Stock") of Willdan Group, Inc. (the "Registrant") on June 23, 2026 as reported on the Nasdaq Global Market.

Pursuant to Rule 416(a) promulgated under the Securities Act of 1933, as amended, this Registration Statement shall also cover any additional shares of the Registrant's Common Stock, including options and other rights to purchase or acquire the shares of Common Stock, that become issuable under the Registrant's Amended and Restated 2008 Performance Incentive Plan by reason of any stock dividend, stock split, recapitalization, or other similar transaction effected that results in an increase to the number of outstanding shares of the Registrant's Common Stock, as applicable.
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_AmtSctiesRegd">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of securities being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_AmtSctiesRegd</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegativeDecimal2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total amount of registration fee (amount due after offsets).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The rate per dollar of fees that public companies and other issuers pay to register their securities with the Commission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeesOthrRuleFlg">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Checkbox indicating whether filer is using a rule other than 457(a), 457(o), or 457(f) to calculate the registration fee due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeesOthrRuleFlg</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_MaxAggtOfferingPric">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum aggregate offering price for the offering that is being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_MaxAggtOfferingPric</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative100TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_MaxOfferingPricPerScty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum offering price per share/unit being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_MaxOfferingPricPerScty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegativeDecimal4lItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingNote">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingNote</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingSctyTitl">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The title of the class of securities being registered (for each class being registered).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingSctyTitl</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingSctyTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Type of securities: "Asset-backed Securities", "ADRs/ADSs", "Debt", "Debt Convertible into Equity", "Equity", "Face Amount Certificates", "Limited Partnership Interests", "Mortgage Backed Securities", "Non-Convertible Debt", "Unallocated (Universal) Shelf", "Exchange Traded Vehicle Securities", "Other"</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingSctyTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:securityTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_PrevslyPdFlg">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_PrevslyPdFlg</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingAxis=1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingAxis=1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.26.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fees Summary<br></strong></div></th>
<th class="th">
<div>Jun. 24, 2026 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeesSummaryLineItems', window );"><strong>Fees Summary [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlOfferingAmt', window );">Total Offering</a></td>
<td class="nump">$ 31,327,200.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlFeeAmt', window );">Total Fee Amount</a></td>
<td class="nump">4,326.29<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlOffsetAmt', window );">Total Offset Amount</a></td>
<td class="nump">0.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_NetFeeAmt', window );">Net Fee</a></td>
<td class="nump">$ 4,326.29<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingTableNa', window );">Offering Table N/A</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OffsetTableNa', window );">Offset Table N/A</a></td>
<td class="text">N/A<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeesSummaryLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeesSummaryLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_NetFeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_NetFeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingTableNa">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingTableNa</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:naItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OffsetTableNa">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OffsetTableNa</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:naItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlFeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlFeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlOfferingAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlOfferingAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlOffsetAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlOffsetAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
.report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

.report table.authRefData a {
	display: block;
	font-weight: bold;
}

.report table.authRefData p {
	margin-top: 0px;
}

.report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

.report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

.report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

.report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
.pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
.report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

.report hr {
	border: 1px solid #acf;
}

/* Top labels */
.report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

.report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

.report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

.report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

.report td.pl div.a {
	width: 200px;
}

.report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
.report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
.report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
.report .re, .report .reu {
	background-color: #def;
}

.report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
.report .ro, .report .rou {
	background-color: white;
}

.report .rou td {
	border-bottom: 1px solid black;
}

.report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
.report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
.report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

.report .nump {
	padding-left: 2em;
}

.report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
.report .text {
	text-align: left;
	white-space: normal;
}

.report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

.report .text .more {
	display: none;
}

.report .text .note {
	font-style: italic;
	font-weight: bold;
}

.report .text .small {
	width: 10em;
}

.report sup {
	font-style: italic;
}

.report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.26.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>2</ContextCount>
  <ElementCount>21</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>1</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="wldn-20260626xexfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995210 - Document - Submission</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/submissionTable</Role>
      <ShortName>Submission</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="wldn-20260626xexfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995211 - Document - Offerings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/feesOfferingTable</Role>
      <ShortName>Offerings</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="wldn-20260626xexfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>995215 - Document - Fees Summary</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/feesSummaryTable</Role>
      <ShortName>Fees Summary</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="EX-FILING FEES" original="wldn-20260626xexfees.htm">wldn-20260626xexfees.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="3">http://xbrl.sec.gov/dei/2026</BaseTaxonomy>
    <BaseTaxonomy items="20">http://xbrl.sec.gov/ffd/2026</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>15
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "wldn-20260626xexfees.htm": {
   "dts": {
    "inline": {
     "local": [
      "wldn-20260626xexfees.htm"
     ]
    },
    "schema": {
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd",
      "https://www.xbrl.org/dtr/type/2024-01-31/types.xsd",
      "https://xbrl.sec.gov/dei/2026/dei-2026.xsd",
      "https://xbrl.sec.gov/ffd/2026/ffd-2026.xsd"
     ]
    }
   },
   "keyStandard": 21,
   "keyCustom": 0,
   "axisStandard": 1,
   "axisCustom": 0,
   "memberStandard": 1,
   "memberCustom": 0,
   "hidden": {
    "total": 8,
    "http://xbrl.sec.gov/ffd/2026": 6,
    "http://xbrl.sec.gov/dei/2026": 2
   },
   "contextCount": 2,
   "entityCount": 1,
   "segmentCount": 1,
   "elementCount": 107,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/ffd/2026": 20,
    "http://xbrl.sec.gov/dei/2026": 3
   },
   "report": {
    "R1": {
     "role": "http://xbrl.sec.gov/ffd/role/document/submissionTable",
     "longName": "995210 - Document - Submission",
     "shortName": "Submission",
     "isDefault": "true",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": null,
     "uniqueAnchor": null
    },
    "R2": {
     "role": "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
     "longName": "995211 - Document - Offerings",
     "shortName": "Offerings",
     "isDefault": "false",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": {
      "contextRef": "offrl_1",
      "name": "ffd:FeesOthrRuleFlg",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "wldn-20260626xexfees.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "offrl_1",
      "name": "ffd:FeesOthrRuleFlg",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "wldn-20260626xexfees.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable",
     "longName": "995215 - Document - Fees Summary",
     "shortName": "Fees Summary",
     "isDefault": "false",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "3",
     "firstAnchor": {
      "contextRef": "rc",
      "name": "ffd:TtlOfferingAmt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "wldn-20260626xexfees.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "rc",
      "name": "ffd:TtlOfferingAmt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "wldn-20260626xexfees.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "ffd_AggtRedRpPricFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "AggtRedRpPricFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Redeemed or Repurchased Price, Fiscal Year",
        "terseLabel": "Aggregate Redeemed or Repurchased, FY"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AggtRedRpPricPrrFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "AggtRedRpPricPrrFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Redeemed or Repurchased Price, Prior Fiscal Year",
        "terseLabel": "Aggregate Redeemed or Repurchased, Prior FY"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AggtSalesPricFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "AggtSalesPricFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Sales Price, Fiscal Year",
        "terseLabel": "Aggregate Sales Price"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AmtRedCdts": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "AmtRedCdts",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Redemption Credits",
        "terseLabel": "Redemption Credits"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AmtSctiesRcvd": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "AmtSctiesRcvd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Securities Received",
        "terseLabel": "Amount of Securities Received",
        "documentation": "Amount of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form)"
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_AmtSctiesRegd": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "AmtSctiesRegd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Securities Registered",
        "terseLabel": "Amount Registered",
        "documentation": "The amount of securities being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CeasedOprsDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "CeasedOprsDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ceased Operations Date",
        "terseLabel": "Ceased Operations Date"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_CfwdFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "CfwdFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Form Type",
        "terseLabel": "Carry Forward Form Type",
        "documentation": "The Form Type of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6). This should be an EDGAR submission type (S-3, S-3/A, S-3ASR, etc.), which means there is a fixed set of possible responses. Note that while the XBRL response should be an EDGAR submission type, the human-readable Ex. 107 could include a simpler label (e.g., \"Form S-3\" in the human-readable and \"S-3ASR\" in the XBRL)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrevslyPdFee": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "CfwdPrevslyPdFee",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Previously Paid Fee",
        "terseLabel": "Filing Fee Previously Paid in Connection with Unsold Securities to be Carried Forward",
        "documentation": "The fee previously paid in connection with the securities being brought forward from the prior shelf registration statement on which unsold securities are carried forward under 415(a)(6)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrrFctvDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "CfwdPrrFctvDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Prior Effective Date",
        "terseLabel": "Carry Forward Initial Effective Date",
        "documentation": "The initial effective date of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrrFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "CfwdPrrFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward File Number",
        "terseLabel": "Carry Forward File Number",
        "documentation": "The EDGAR File Number of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6). If the prior registration statement has a Securities Act File Number and an Investment Company Act File Number, the Securities Act File Number should be used."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CmbndPrspctsItemAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "CmbndPrspctsItemAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus Item [Axis]",
        "terseLabel": "Combined Prospectus",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different references to earlier prospectuses on a single fee bearing submission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CmbndPrspctsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "CmbndPrspctsLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus [Line Items]",
        "terseLabel": "Combined Prospectus:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CmbndPrspctsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "CmbndPrspctsTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus [Table]",
        "terseLabel": "Combined Prospectus Table"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CombinedProspectusTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "CombinedProspectusTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus Table [N/A]",
        "terseLabel": "Combined Prospectus Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_CshPdByRegistrantInTx": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "CshPdByRegistrantInTx",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Paid by Registrant in Transaction",
        "terseLabel": "Cash Consideration Paid",
        "documentation": "Amount of cash consideration paid by registrant in connection with the exchange or other transaction being registered (in a 457(f) calculation)."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "ffd_CshRcvdByRegistrantInTx": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "CshRcvdByRegistrantInTx",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Received by Registrant in Transaction",
        "terseLabel": "Cash Consideration Received",
        "documentation": "Amount of cash consideration received by registrant in connection with the exchange or other transaction being registered (in a 457(f) calculation)."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "terseLabel": "Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2026",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "terseLabel": "Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "ffd_FeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "FeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Amount",
        "terseLabel": "Amount of Registration Fee",
        "documentation": "Total amount of registration fee (amount due after offsets)."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeExhibitTp": {
     "xbrltype": "feeExhibitTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "FeeExhibitTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Exhibit Type",
        "terseLabel": "Fee Exhibit Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_FeeIntrstAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "FeeIntrstAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Interest Amount",
        "terseLabel": "Interest Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "FeeNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Note",
        "terseLabel": "Fee Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeNoteMaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "FeeNoteMaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Note Maximum Aggregate Offering Price",
        "terseLabel": "Fee Note MAOP"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "FeeRate",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Rate",
        "terseLabel": "Fee Rate",
        "documentation": "The rate per dollar of fees that public companies and other issuers pay to register their securities with the Commission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeesOthrRuleFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "FeesOthrRuleFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fees, Other Rule [Flag]",
        "terseLabel": "Other Rule",
        "documentation": "Checkbox indicating whether filer is using a rule other than 457(a), 457(o), or 457(f) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeesSummaryLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "FeesSummaryLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Fees Summary [Line Items]",
        "terseLabel": "Fees Summary:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FnlPrspctsFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "FnlPrspctsFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Final Prospectus [Flag]",
        "terseLabel": "Final Prospectus"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FormTp": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "FormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Form Type",
        "terseLabel": "Form Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_GnlInstrIIhiFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "GnlInstrIIhiFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General Instruction II.H,I [Flag]",
        "terseLabel": "General Instruction II.H,I"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrCity": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "IssrBizAdrCity",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, City",
        "terseLabel": "City"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStatOrCtryCd": {
     "xbrltype": "stateOrCountryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "IssrBizAdrStatOrCtryCd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, State or Country Code",
        "terseLabel": "State or Country Code"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStrt1": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "IssrBizAdrStrt1",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Street 1",
        "terseLabel": "Street 1"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStrt2": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "IssrBizAdrStrt2",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Street 2",
        "terseLabel": "Street 2"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrZipCd": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "IssrBizAdrZipCd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Zip Code",
        "terseLabel": "Zip Code"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrNm": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "IssrNm",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Name",
        "terseLabel": "Issuer Name"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_MaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "MaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum Aggregate Offering Price",
        "terseLabel": "Maximum Aggregate Offering Price",
        "documentation": "The maximum aggregate offering price for the offering that is being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_MaxOfferingPricPerScty": {
     "xbrltype": "nonNegativeDecimal4lItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "MaxOfferingPricPerScty",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum Offering Price per Security",
        "terseLabel": "Proposed Maximum Offering Price per Unit",
        "documentation": "The maximum offering price per share/unit being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NetFeeAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "NetFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Fee Amount",
        "terseLabel": "Net Fee"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NetSalesAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "NetSalesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Sales Amount",
        "terseLabel": "Net Sales"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvDsclsr": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "NrrtvDsclsr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure",
        "terseLabel": "Narrative Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvMaxAggtAmt": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "NrrtvMaxAggtAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure, Maximum Aggregate Offering Amount",
        "terseLabel": "Narrative - Max Aggregate Offering Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvMaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "NrrtvMaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure, Maximum Aggregate Offering Price",
        "terseLabel": "Narrative - Max Aggregate Offering Price"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OfferingAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Axis]",
        "terseLabel": "Offering",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different security offerings on a single fee bearing submission."
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OfferingLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Line Items]",
        "terseLabel": "Offering:"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OfferingNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Note",
        "terseLabel": "Offering Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingSctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OfferingSctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Security Title",
        "terseLabel": "Security Class Title",
        "documentation": "The title of the class of securities being registered (for each class being registered)."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingSctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OfferingSctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Security Type",
        "terseLabel": "Security Type",
        "documentation": "Type of securities: \"Asset-backed Securities\", \"ADRs/ADSs\", \"Debt\", \"Debt Convertible into Equity\", \"Equity\", \"Face Amount Certificates\", \"Limited Partnership Interests\", \"Mortgage Backed Securities\", \"Non-Convertible Debt\", \"Unallocated (Universal) Shelf\", \"Exchange Traded Vehicle Securities\", \"Other\""
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OfferingTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Table]",
        "terseLabel": "Offering:"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OfferingTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Table [N/A]",
        "terseLabel": "Offering Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OffsetAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset [Axis]",
        "terseLabel": "Offset",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different offsets as applied to a fee bearing submission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetClmInitlFilgDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetClmInitlFilgDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claim Initial Filing Date",
        "terseLabel": "Initial Filing Date",
        "documentation": "The initial filing date of the earlier registration statement with which the earlier (offsetting) fee was paid for a claimed offset. If the offset fee was paid with an amendment, do not provide the amendment date under this element; instead, provide the date of the initial filing (i.e. the \"parent\" filing) ."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetClmdAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetClmdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claimed Amount",
        "terseLabel": "Fee Offset Claimed",
        "documentation": "The amount of offsetting fees being claimed."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetClmdInd": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetClmdInd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claimed Indicator",
        "terseLabel": "Offset Claimed"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetExpltnForClmdAmt": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetExpltnForClmdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Explanation for Claimed Amount",
        "terseLabel": "Explanation for Claimed Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetLineItems",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offset:",
        "label": "Offset [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Note",
        "terseLabel": "Offset Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetPrrFeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetPrrFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Fee Amount",
        "terseLabel": "Fee Paid with Fee Offset Source",
        "documentation": "The fee previously paid from which an offset is being derived."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetPrrFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior File Number",
        "terseLabel": "File Number",
        "documentation": "The EDGAR File Number of the earlier registration statement with which the earlier (offsetting) fee was paid. If the offset filing for the offset has a Securities Act File Number and an Investment Company Act File Number, the Securities Act File Number should be used."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFilerNm": {
     "xbrltype": "filerNameItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetPrrFilerNm",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Filer Name",
        "terseLabel": "Registrant or Filer Name",
        "documentation": "The name of the registrant that filed the earlier registration statement with which the earlier (offsetting) fee was paid."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetPrrFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Form Type",
        "terseLabel": "Form or Filing Type",
        "documentation": "The Form Type of the offset filing."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrNbOfUnsoldScties": {
     "xbrltype": "nonNegativeDecimal8ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetPrrNbOfUnsoldScties",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Unsold Number of Securities",
        "terseLabel": "Unsold Securities Associated with Fee Offset Claimed",
        "documentation": "The number of unsold securities registered on the prior registration statement that are associated with the claimed offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrSctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetPrrSctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Security Title",
        "terseLabel": "Security Title Associated with Fee Offset Claimed",
        "documentation": "The title of the class of securities from which offset fees were derived."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrSctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetPrrSctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Security Type",
        "terseLabel": "Security Type Associated with Fee Offset Claimed",
        "documentation": "Type of securities: \"Asset-backed Securities\", \"ADRs/ADSs\", \"Debt\", \"Debt Convertible into Equity\", \"Equity\", \"Face Amount Certificates\", \"Limited Partnership Interests\", \"Mortgage Backed Securities\", \"Non-Convertible Debt\", \"Unallocated (Universal) Shelf\", \"Exchange Traded Vehicle Securities\", \"Other\""
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrUnsoldOfferingAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetPrrUnsoldOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Unsold Offering Amount",
        "terseLabel": "Unsold Aggregate Offering Amount Associated with Fee Offset Claimed",
        "documentation": "The aggregate offering amount of unsold securities registered on the prior registration statement that are associated with the claimed offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetSrcFilgDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetSrcFilgDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Source Filing Date",
        "terseLabel": "Filing Date",
        "documentation": "The filing date of the earlier registration statement with which the earlier (offsetting) fee was paid in an offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offset Payment:",
        "label": "Offset [Table]"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "OffsetTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Table [N/A]",
        "terseLabel": "Offset Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_PrevslyPdFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "PrevslyPdFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Previously Paid [Flag]",
        "terseLabel": "Fee Previously Paid"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_RegnFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "RegnFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registration File Number",
        "terseLabel": "Registration File Number"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_RptgFsclYrEndDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "RptgFsclYrEndDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reporting Fiscal Year End Date",
        "terseLabel": "Reporting FY End Date"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule011Flg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule011Flg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 0-11 [Flag]",
        "terseLabel": "Rule 0-11"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule011a2OffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule011a2OffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 0-11(a)(2) Offset",
        "label": "Rule 0-11(a)(2) Offset [Flag]"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule415a6Flg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule415a6Flg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 415(a)(6) [Flag]",
        "terseLabel": "Rule 415(a)(6)",
        "documentation": "Checkbox indicating whether filer is claiming a 415(a)(6) carryforward."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_Rule429AggtOfferingAmt": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule429AggtOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Aggregate Offering Amount",
        "terseLabel": "Maximum Aggregate Offering Price of Securities Previously Registered",
        "documentation": "The maximum aggregate offering amount of unsold securities registered on the prior registration statement that are carried forward under Rule 429. Only applicable if 457(o) was used in the fee calculation for the prior registration statement."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429CmbndPrspctsFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule429CmbndPrspctsFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Combined Prospectus [Flag]",
        "terseLabel": "Rule 429",
        "documentation": "Checkbox indicating whether filer is using a combined prospectus under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429EarlierFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule429EarlierFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Earlier File Number",
        "terseLabel": "File Number",
        "documentation": "The Securities Act File Number of the earlier effective registration statement(s) from which securities may be offered and sold using the combined prospectus pursuant to Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429EarlierFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule429EarlierFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Earlier Form Type",
        "terseLabel": "Form Type",
        "documentation": "The Form Type of the earlier registration statement from which unsold securities are carried forward under Rule 429. This should be an EDGAR submission type (S-3, S-3/A, S-3ASR, etc.), which means there is a fixed set of possible responses. Note that while the XBRL response should be an EDGAR submission type, the human-readable Ex. 107 could include a simpler label (e.g., \"Form S-3\" in the human-readable and \"S-3ASR\" in the XBRL)."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429InitlFctvDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule429InitlFctvDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Initial Effective Date",
        "terseLabel": "Initial Effective Date",
        "documentation": "The filing date of the earlier registration statement from which unsold securities are carried forward under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429NbOfUnsoldScties": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule429NbOfUnsoldScties",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Number Of Unsold Securities",
        "terseLabel": "Amount of Securities Previously Registered",
        "documentation": "The number of securities registered on the prior registration statement that are carried forward under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429PrspctsNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule429PrspctsNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Prospectus Note",
        "terseLabel": "Combined Prospectus Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule429SctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule429SctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Security Title",
        "terseLabel": "Security Class Title"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule429SctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule429SctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Security Type",
        "terseLabel": "Security Type"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule457aFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule457aFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(a) [Flag]",
        "terseLabel": "Rule 457(a)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(a) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "ffd_Rule457bOffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule457bOffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(b) Offset [Flag]",
        "terseLabel": "Rule 457(b) Offset",
        "documentation": "Checkbox indicating whether filer is claiming an offset under Rule 457(b) or 0-11(a)(2)."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "ffd_Rule457fFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule457fFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(f) [Flag]",
        "terseLabel": "Rule 457(f)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(f) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_Rule457oFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule457oFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(o) [Flag]",
        "terseLabel": "Rule 457(o)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(o) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "ffd_Rule457pOffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule457pOffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(p) Offset [Flag]",
        "terseLabel": "Rule 457(p) Offset",
        "documentation": "Checkbox indicating whether filer is claiming an offset under Rule 457(p)."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "ffd_Rule457rFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule457rFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(r) [Flag]",
        "terseLabel": "Rule 457(r)"
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "ffd_Rule457sFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule457sFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(s) Flag",
        "terseLabel": "Rule 457(s)"
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "ffd_Rule457uFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Rule457uFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(u) [Flag]",
        "terseLabel": "Rule 457(u)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(u) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "ffd_Scties424iAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Scties424iAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Axis]",
        "terseLabel": "Securities, 424I"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Scties424iLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Scties424iLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Line Items]",
        "terseLabel": "Securities, 424I:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Scties424iTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Scties424iTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Table]",
        "terseLabel": "Securities, 424I Table"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Securities424iTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "Securities424iNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities 424I [N/A]",
        "terseLabel": "Securities 424I N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_SubmissionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "SubmissionLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Submission [Line Items]",
        "terseLabel": "Items"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_SubmissnTp": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "SubmissnTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Submission Type",
        "terseLabel": "Submission Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_TermntnCmpltnWdrwl": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "TermntnCmpltnWdrwl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Termination / Completion / Withdrawal Statement",
        "terseLabel": "Termination / Withdrawal Statement"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_TtlFeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "TtlFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Fee Amount",
        "terseLabel": "Total Fee Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlFeeAndIntrstAmt": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "TtlFeeAndIntrstAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Fee and Interest Amount",
        "terseLabel": "Total Fee and Interest Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlOfferingAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "TtlOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Offering Amount",
        "terseLabel": "Total Offering"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlOffsetAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "TtlOffsetAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Offset Amount",
        "terseLabel": "Total Offset Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlPrevslyPdAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "TtlPrevslyPdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Previously Paid Amount",
        "terseLabel": "Previously Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlTxValtn": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "TtlTxValtn",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Transaction Valuation",
        "terseLabel": "Total Transaction Valuation"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TxValtn": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "TxValtn",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transaction Valuation",
        "terseLabel": "Transaction Valuation"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_ValSctiesRcvd": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "ValSctiesRcvd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value of Securities Received",
        "terseLabel": "Value of Securities Received",
        "documentation": "Value of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form)"
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_ValSctiesRcvdPerShr": {
     "xbrltype": "nonNegativeDecimal4lItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2026",
     "localname": "ValSctiesRcvdPerShr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value of Securities Received, Per Share",
        "terseLabel": "Value of Securities Received, Per Share",
        "documentation": "Value per share of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form). This is included in the explanation of 457(f) fee calculation."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "415",
   "Subsection": "a"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "429"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "b"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "f"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "o"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "p"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "r"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "s"
  },
  "r11": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "u"
  },
  "r12": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Subsection": "f",
   "Section": "457"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>16
<FILENAME>0001104659-26-078320-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001104659-26-078320-xbrl.zip
M4$L#!!0    ( +2HVEP!>[D.:PL  &(_   8    =VQD;BTR,#(V,#8R-GAE
M>&9E97,N:'1M[1MK<]I(\G/\*^:TR2:I0H  &T,P6ZQCYWQ)6%=PZO+M:I &
MF(I>T8QLV%]_W2,)/1 O&WN]M=G]$*'IZ7?W]+3:O=_FCDUN62"XYYZ]-JKU
MUX2YIF=Q=WKV>C ZO[IZ_5O_J#>3  :@KCC39E+ZW5KM[NZN>M>L>L&T9G0Z
MG=H<8;0(J#NWN?M]/2BN+D''@<USH/A& 3?J]6:-NT)2UV19>"O=D 4^J46+
M"2@77JMAM#<ACR"6&^;K8 UD!-AFWW[_\BD%E^7P*6A-!M05$R]PJ 05(Z9C
MO=[0&R<9)+I@9@X1_*Y.O=NM>$[UII'@6=%X7E)<'E.1JE'P,OL K%'[]OG3
MR)PQA^I%Y5NLH/F$4UB O:E4DXE5#@@+$6#_B)#>C%$+'^!1<FFS_L4W_?+J
MT]7P [F\N!CU:M%;!*TEL+VQ9RWB31:_)4(N;':F65SX-EUTB>NY3(O6 8+/
MN[B1!<F;^!VW+.:F[Z*WL'48.BS@)G&I TB!V^XE*/W&UXCIN9+-Y1<V.=,"
M4R,<).3S6]TX.=7Z(_VT5\MAV GW*!P[7 AW,_[.O?%?,G8QG_$QEQLIM.O:
MBN;W(P;V[UZX8*W%.7/!5^TKUV+SCVRQB:JA]>O@;\UVO75<OS_%+VS*!<:'
M',+*)H(-K?]?;ML6=<F'P O]"KERS>I]%/O'9 )OW.D-'=ML2,N)1DX6F"O
M$'Q=E]MGF@Q"\-5[,B"8W)5\!K0_K WN0_ Z8+?"7EQ;E_8T3\^;3 +[?Y"(
MHO2$RI;=L>?9C+H3:F/.24UPK/7!*061'ADS<DVYM989M5 ,5.0O8*!/.*:8
MR'&.*:XK5.("OH@Z9;JS %G$3"36I2)\T/&A.A>6%N^3"Q\$%]SQ;:;5"DR5
M,1 Q)KPP*/*E3KANK#&E"K!0%F()PY0_YY>6B]S"Y0EG 5%"LM(CX_SJ8SZJ
MBIL+A&OK*<=T?;"*9ZUA"HZ'0+ZGDO51@7K]1&^T$ISI6OE>YEIK=B8KI:RN
M\I.LQ"K>HOS$79^)!5)5LJD#(,75>-WBRB6MS\P9 WV+ ZPJVG+I:##G0EO%
M@"<EI$LL)H9>W^C5,K]6R=56Z:VP7-O \S_$IT*71P[U=?2^W)D<1D48L'Y<
M978!,$&;+)501+R;R/FP;S.]6"9X/ "YT8Q"6MN%H%"0>Y.,,VHA<T;)/U.Y
M@=/RV[3L6\))/->2(O".6W+6)9W.JW=P&KE2GU"'VU 4#@).[0KY-[-OF>0F
MK1 !]304W@&?Q*""_\FZI%'WY3N")M>IS:=NEYC@QRQXE]% 3^8"HB<M. ]M
MX5.(QI:6\.)3"Z]1^MB3TG.ZI'K,G*(:_14W'O?/J6V&MBKSB3<AEQP"=4K@
MT"3J" <%CXM.[.>U+*VL=K/,EG"^CMO&CNRNYH_[%M)P]]A6Z$82_0WEW[]:
MA1O>OM7JP[0#S^A?I=&V3DL0+?,T,O*Q.+$]*I?A0^+0-.KU5_GXLMD$(H[D
MXVN)Y%Y!;)SX<RUOZ%F"\98%N-=.R$>BE(9\PG,'6;[S DN_"Z@/6P)&O^OX
M8L5!$BH.#:8<,.V039:>I,*;&%TR9'?V@D2. G6F14;,# ,N^4[!/]O!O"NV
MNK>:X46IG3M%,R?KH/  DCKL]N=$>#:WR-BFYO=W)-*9CO[0)324WO)5P*>S
MY%VYGXP!PQ2"Q+5T2,5>T/VE,W@_N#Q9YP4QEXU714OT_J7KY/=/@^%'HNOK
M-5N&S*BO8GN00\1F7Y ;J,3VL_S3\G=N4R'(#?9J=DE 3\TGGIW94_5+:#]'
M=0X<\%^9B?L#\'A\8!ZO \_W!*2DSW3.G= AR<V#7,-A!!=ZN)M\A?+N&;*>
M<#R83@,VA:M @?>'L]Q\!+_] HP^0V7&O@KU:5+/J,@"CN]_0FU)Z!=M^+]1
M2.C+^JV<[Q<OC*,7^9)G[2Y5AQ25M*W_-S+EHEC3+OMA:2D';%_\""%5;NJ\
M/3:;D)ZW,MK4^N>>XX IA?3,[Q7RLEZM&\2G ;FE=LB(C\T/O.A5"-S96' +
MN6#B!6022KCM$2Y$B!\,"-P^\4EBHT_.&$G+WM>"#!RXC<-&ZEJP '=Z"3^@
M_#_%_*&ZB(@"JEUL(=Q"5K&I^W#-E;OSIMZY^$/. CPM]NIYJJ9N1J<MK0]X
M6/!P"50=M$: RX":*@93"0:.!,-#U0C*MS2"UV[%?'RE)Q8SN4-M<:;5\X*X
MH6-Y,E[>ZC/'6K]Y6J_4Z\L>?L++P43$NW7_9:^F_MU1>LCWB?MC?@?/PBC(
MJ '[-AD=-!ZB R@T3QO55NNY:0 ..YG5PB.)WP87,"K-1KL"45Q]1$=8*RM$
M*QZ5&?E4GRPC8/LA IYJ?92K;C1/C6=E8Y ;POR1S-K1^BVPZDFUT=E=Z*T=
MEV6O[%A;=RF7GK]_N:*4JO5O/$GMM+:+*A71W=@'48SM?A%<9^(2,=+&QTE9
M"8:Z+@E3INTJ;;$T6^]#F[SH1MK+3PCH3<6FU*[^E/?"I2,9]3WRPY:6U6.:
M*FI-++M;V*&(>Q-;C:B\+@G&I[9=0O?09C-VB_^'MF ?.2' +0#^B]("7JFB
M[^&BJ]X_IJ_]%3OW4N#2<2.5_"6^FR%]:/=M1(?VW]YUATPJQWT?LI].J^P+
M&OE+<FV&[J&=M7GP7+OI@\X2IO3S*?;NL]WXDF9\]$HIFKLXVH"JG^>[\^F@
M7O+F -]UWI&RH[OH)D5O+ DZ])2,HT2?H6(9DPK@."_2$M>XOZPOAUY)@V[%
M2JMNKYBL%2P9Y"R9U=^AO\X=V-1/8]A,JHCX-]"(V[)KF:%+$D+HKTE#R 8.
MR^@SIO1A-$!I*?/ PUS#H1K L&\=FYX?[64FNYMQR71X:X)B_(#I2'OOCA^Z
MI4:8,"G.L1G;KGI&2^M?" DI"EMQW"74-*$85GVX.RYGZIN)(*WC]AOSK>K;
MX>/L+7[!8_9"M0"QS0>7;OP^@(UA,_GB D&"2T&V43R!XPS^P?=C*KC #2]5
M!R7;8015F#,"JPA'P2QTJE#CSQG80C%B>W=$,%M-2?AX=Q(IB@38S/4TTVYF
MW-U,*;Y!:"UN@8X07'N+2$H^Q,>P:6,3(5WRG]!EI-&L$!Q!(E2 W+X7H%9C
M>8=46/0'^6![8RA(/]/@.Y/5HZ/K3,,4E4U:QLD;^A9$\IS0GBJ[A!!^D9[3
M+\)D8*H^O-%I E&@1Z/F:@7@0'.Y]OP(.ZTXL(7BVC:!X\H#W8!B09,+@ND#
MX8"M:)8G45^N>9M53@5<Q;1#S#K$\W&O4#;QL-\9';UJU!/<PIQ1] N@9/X(
M.9@&$:=D\ECEC$HR9F"VN*6,F2N5_L'-9#)>@%VHB$9L4';E&@22*<[I@?*B
MW\*WN<1.-X01ASJ9_ZD464$Y(AD%AU0'_J3F\^-Z@4$,FLB%$@,$#&U0 P:5
MB_I"PBSIBT-U@/-\P(472ARV5[K<6?UH;Q^8-%%#U:.=6\R[%[;M8N:9!<4<
M#.FPF%^S1TI=*QYS/R=0MDV@1"SM-'.2#(XTNIG;+7Z2YTX4C*-HLJY0I&SX
M:+B.P5)V2JKMTL9F@AS_V$7G<ST:[.Z2-5/JO_[2:;>.W\$Q1@9+!U\MUY_-
MO,NJ5VT=>#GH)(M1ZM2'&VXY?5ST<6,-+[=IML,L>\EM2(\X*G>D+K[;$*5X
M<-PPQH I%6=H=D/13E$ <3)4&7I?ZE=PS>/8<(JHX^CQW@(\8&LA$3!K7PRY
MV2,R$,(SN3I9535X7_RG)?C5U-"A"*0"?'4AUJQ<H70@&ITBC9*)DG@^XO!B
M(0;\JYD5?%&67T6W^TEOI+/+JWEL]=2)BE2X!?AO5X^63:7&(48\DO2SZNJB
M=. #(?>>!%FSY2D6-GXT/)PH!]IR'\X.O.?IO"PNIWZZV3_=S<JO*Y +5=NN
M5\,_B.__'U!+ 0(4 Q0    ( +2HVEP!>[D.:PL  &(_   8
M  "  0    !W;&1N+3(P,C8P-C(V>&5X9F5E<RYH=&U02P4&      $  0!&
)    H0L

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>wldn-20260626xexfees_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2026"
  xmlns:ffd="http://xbrl.sec.gov/ffd/2026"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef
      xlink:href="https://xbrl.sec.gov/ffd/2026/ffd-2026.xsd"
      xlink:type="simple"/>
    <context id="rc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001370450</identifier>
        </entity>
        <period>
            <startDate>2026-06-24</startDate>
            <endDate>2026-06-24</endDate>
        </period>
    </context>
    <context id="offrl_1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001370450</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>1</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-06-24</startDate>
            <endDate>2026-06-24</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="pure">
        <measure>pure</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <ffd:FormTp contextRef="rc" id="ixv-168">S-8</ffd:FormTp>
    <ffd:SubmissnTp contextRef="rc" id="ixv-169">S-8</ffd:SubmissnTp>
    <ffd:FeeExhibitTp contextRef="rc" id="ixv-170">EX-FILING FEES</ffd:FeeExhibitTp>
    <dei:EntityCentralIndexKey contextRef="rc" id="ixv-171">0001370450</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName contextRef="rc" id="ixv-172">Willdan Group, Inc.</dei:EntityRegistrantName>
    <ffd:OfferingTableNa contextRef="rc" id="hiddenrcOfferingTableNa" xsi:nil="true"/>
    <ffd:OffsetTableNa contextRef="rc" id="hiddenrcOffsetTableNa">N/A</ffd:OffsetTableNa>
    <ffd:PrevslyPdFlg contextRef="offrl_1" id="ixv-175">false</ffd:PrevslyPdFlg>
    <ffd:FormTp contextRef="rc" id="ixv-200">S-8</ffd:FormTp>
    <dei:EntityRegistrantName contextRef="rc" id="ixv-201">Willdan Group, Inc.</dei:EntityRegistrantName>
    <ffd:OfferingSctyTp contextRef="offrl_1" id="ixv-202">Equity</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_1" id="ixv-203">Common stock, $0.01 par value per share, reserved for future issuance pursuant to the Registrant's Amended and Restated 2008 Performance Incentive Plan</ffd:OfferingSctyTitl>
    <ffd:FeesOthrRuleFlg contextRef="offrl_1" id="ixv-204">true</ffd:FeesOthrRuleFlg>
    <ffd:AmtSctiesRegd
      contextRef="offrl_1"
      decimals="0"
      id="ixv-205"
      unitRef="Shares">380000</ffd:AmtSctiesRegd>
    <ffd:MaxOfferingPricPerScty
      contextRef="offrl_1"
      decimals="2"
      id="ixv-206"
      unitRef="USD">82.44</ffd:MaxOfferingPricPerScty>
    <ffd:MaxAggtOfferingPric
      contextRef="offrl_1"
      decimals="2"
      id="ixv-207"
      unitRef="USD">31327200.00</ffd:MaxAggtOfferingPric>
    <ffd:FeeRate
      contextRef="offrl_1"
      decimals="7"
      id="ixv-208"
      unitRef="pure">0.0001381</ffd:FeeRate>
    <ffd:FeeAmt
      contextRef="offrl_1"
      decimals="2"
      id="ixv-209"
      unitRef="USD">4326.29</ffd:FeeAmt>
    <ffd:TtlOfferingAmt contextRef="rc" decimals="2" id="ixv-210" unitRef="USD">31327200.00</ffd:TtlOfferingAmt>
    <ffd:TtlFeeAmt contextRef="rc" decimals="2" id="ixv-211" unitRef="USD">4326.29</ffd:TtlFeeAmt>
    <ffd:TtlOffsetAmt contextRef="rc" decimals="2" id="ixv-212" unitRef="USD">0.00</ffd:TtlOffsetAmt>
    <ffd:NetFeeAmt contextRef="rc" decimals="2" id="ixv-213" unitRef="USD">4326.29</ffd:NetFeeAmt>
    <ffd:OfferingNote contextRef="offrl_1" id="ixv-214">Estimated in accordance with Rules 457(c) and 457(h) solely for the purpose of calculating the registration fee on the basis of $82.44 per share, which is the average of the high and low selling prices per share of the common stock, par value $0.01 per share, (the "Common Stock") of Willdan Group, Inc. (the "Registrant") on June 23, 2026 as reported on the Nasdaq Global Market.

Pursuant to Rule 416(a) promulgated under the Securities Act of 1933, as amended, this Registration Statement shall also cover any additional shares of the Registrant's Common Stock, including options and other rights to purchase or acquire the shares of Common Stock, that become issuable under the Registrant's Amended and Restated 2008 Performance Incentive Plan by reason of any stock dividend, stock split, recapitalization, or other similar transaction effected that results in an increase to the number of outstanding shares of the Registrant's Common Stock, as applicable.
</ffd:OfferingNote>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
