<SEC-DOCUMENT>0001193125-25-179972.txt : 20250813
<SEC-HEADER>0001193125-25-179972.hdr.sgml : 20250813
<ACCEPTANCE-DATETIME>20250813171535
ACCESSION NUMBER:		0001193125-25-179972
CONFORMED SUBMISSION TYPE:	S-8
PUBLIC DOCUMENT COUNT:		17
FILED AS OF DATE:		20250813
DATE AS OF CHANGE:		20250813
EFFECTIVENESS DATE:		20250813

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			CODEXIS, INC.
		CENTRAL INDEX KEY:			0001200375
		STANDARD INDUSTRIAL CLASSIFICATION:	INDUSTRIAL ORGANIC CHEMICALS [2860]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		EIN:				710872999
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		200 PENOBSCOT DRIVE
		CITY:			REDWOOD CITY
		STATE:			CA
		ZIP:			94063
		BUSINESS PHONE:		650-421-8100

	MAIL ADDRESS:	
		STREET 1:		200 PENOBSCOT DRIVE
		CITY:			REDWOOD CITY
		STATE:			CA
		ZIP:			94063

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	CODEXIS INC
		DATE OF NAME CHANGE:	20021022
</SEC-HEADER>
<DOCUMENT>
<TYPE>S-8
<SEQUENCE>1
<FILENAME>d907936ds8.htm
<DESCRIPTION>S-8
<TEXT>
<HTML><HEAD>
<TITLE>S-8</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE" STYLE="line-height:Normal">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>As filed with the Securities and Exchange Commission on August&nbsp;13, 2025 </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Registration <FONT STYLE="white-space:nowrap">No.&nbsp;333-_____</FONT> </B></P>
<P STYLE="font-size:4pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><DIV STYLE="line-height:1.0pt;margin-top:0pt;margin-bottom:0pt;border-bottom:1px solid #000000">&nbsp;
</DIV><DIV STYLE="line-height:3.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1px solid #000000">&nbsp;</DIV> <P STYLE="margin-top:4pt; margin-bottom:0pt; font-size:18pt; font-family:Times New Roman" ALIGN="center"><B>UNITED STATES </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:18pt; font-family:Times New Roman" ALIGN="center"><B>SECURITIES AND EXCHANGE COMMISSION </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:12pt; font-family:Times New Roman" ALIGN="center"><B>WASHINGTON, D.C. 20549 </B></P>
<P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><center><DIV STYLE="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%">&nbsp;</DIV></center>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:18pt; font-family:Times New Roman" ALIGN="center"><B>FORM <FONT STYLE="white-space:nowrap">S-8</FONT> </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:18pt; font-family:Times New Roman" ALIGN="center"><B>REGISTRATION STATEMENT </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:12pt; font-family:Times New Roman" ALIGN="center"><B><I>UNDER </I></B></P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:12pt; font-family:Times New Roman" ALIGN="center"><B><I>THE
SECURITIES ACT OF 1933 </I></B></P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><center><DIV STYLE="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%">&nbsp;</DIV></center>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:24pt; font-family:Times New Roman" ALIGN="center"><B>Codexis, Inc. </B></P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>(Exact
name of registrant as specified in its charter) </B></P>
<P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><center><DIV STYLE="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%">&nbsp;</DIV></center>
<P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt" ALIGN="center">


<TR>

<TD WIDTH="50%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="48%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center"><B>Delaware</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" ALIGN="center"><B><FONT STYLE="white-space:nowrap">71-0872999</FONT></B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<TD VALIGN="top" ALIGN="center"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>(State or Other Jurisdiction of</B></P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>Incorporation or Organization)</B></P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" ALIGN="center"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>(I.R.S. Employer</B></P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>Identification No.)</B></P></TD></TR>
</TABLE> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>200 Penobscot Drive </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Redwood City, CA 94063 </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>(Address and Zip Code of Principal Executive Offices) </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Codexis, Inc. 2019 Incentive Award Plan </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>(Full title of the plan) </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Georgia Erbez </B></P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Chief
Financial Officer </B></P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Codexis, Inc. </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>200 Penobscot Drive </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Redwood City, CA 94063 </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>(650) <FONT STYLE="white-space:nowrap">421-8100</FONT> </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>(Name, Address, and Telephone Number, including Area Code, of Agent for Service) </B></P>
<P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><center><DIV STYLE="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%">&nbsp;</DIV></center>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a <FONT STYLE="white-space:nowrap">non-accelerated</FONT>
filer, a smaller reporting company or an emerging growth company. See definitions of &#147;large accelerated filer,&#148; &#147;accelerated filer,&#148; &#147;smaller reporting company&#148; and &#147;emerging growth company&#148; in Rule <FONT
STYLE="white-space:nowrap">12b-2</FONT> of the Exchange Act. </P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD WIDTH="17%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="57%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="21%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="2%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom">Large&nbsp;accelerated&nbsp;filer</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&#9744;</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Accelerated&nbsp;filer</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&#9744;</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom">Non-accelerated filer</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&#9746;</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Smaller&nbsp;reporting&nbsp;company</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&#9746;</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Emerging&nbsp;growth&nbsp;company</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&#9744;</TD></TR>
</TABLE> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">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&nbsp;7(a)(2)(B) of the Securities Act.&#8194;&#9744; </P>
<P STYLE="font-size:10pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><DIV STYLE="line-height:1.0pt;margin-top:0pt;margin-bottom:0pt;border-bottom:1px solid #000000">&nbsp;
</DIV><DIV STYLE="line-height:3.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1px solid #000000">&nbsp;</DIV>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>EXPLANATORY NOTE </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Codexis, Inc. (the &#147;Registrant&#148;) is filing this Registration Statement on Form <FONT STYLE="white-space:nowrap">S-8</FONT> for the
purpose of registering an additional 8,000,000 shares of the Registrant&#146;s Common Stock, par value $0.0001 per share (the &#147;Common Stock&#148;), reserved for issuance under the Codexis, Inc. 2019 Incentive Award Plan (together with previous
versions of such plan, and as may be further amended from time to time, the &#147;Plan&#148;), pursuant to an amendment to the Plan that was approved by the Registrant&#146;s stockholders on June&nbsp;10, 2025, which Common Stock is in addition to
the shares of Common Stock registered on the Registrant&#146;s Registration Statements on Form <FONT STYLE="white-space:nowrap">S-8</FONT> filed with the Securities and Exchange Commission (the &#147;Commission&#148;) on <A HREF="http://www.sec.gov/Archives/edgar/data/1200375/000119312519178854/d724919ds8.htm">June
<U></U>&nbsp;21, 2019</A> (Registration <FONT STYLE="white-space:nowrap">No.&nbsp;333-232262)</FONT> and <A HREF="http://www.sec.gov/Archives/edgar/data/1200375/000119312523202957/d534759ds8.htm">August<U></U>&nbsp;3, 2023</A> (Registration <FONT
STYLE="white-space:nowrap">No.&nbsp;333-273661)</FONT> (collectively, the &#147;Prior Registration Statements&#148;). The Prior Registration Statements are currently effective. This Registration Statement relates to securities of the same class as
those to which the Prior Registration Statements relate and is submitted in accordance with General Instruction E of Form <FONT STYLE="white-space:nowrap">S-8</FONT> regarding Registration of Additional Securities. In accordance with Instruction E
to Form <FONT STYLE="white-space:nowrap">S-8,</FONT> the contents of the Prior Registration Statements are incorporated herein by reference and made part of this Registration Statement, except as amended hereby. </P>
<P STYLE="margin-top:24pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>PART I </B></P> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>INFORMATION
REQUIRED IN THE SECTION 10(a) PROSPECTUS </B></P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The information specified in Item 1 and Item 2 of Part I of Form <FONT
STYLE="white-space:nowrap">S-8</FONT> is omitted from this Registration Statement. The documents containing the information specified in Part I of Form <FONT STYLE="white-space:nowrap">S-8</FONT> will be delivered to Plan participants as specified
by Rule 428(b)(1) under the Securities Act of 1933, as amended (the &#147;Securities Act&#148;). </P> <P STYLE="margin-top:24pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>PART II </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>INFORMATION REQUIRED IN THE REGISTRATION STATEMENT </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><B>Item&#8201;3.&nbsp;Incorporation of Documents by Reference. </B></P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The following documents filed with the Securities and Exchange Commission (the &#147;Commission&#148;) by the Registrant are hereby
incorporated in this Registration Statement by reference (other than information in such filings deemed, under Commission rules or otherwise, not to have been filed with the Commission): </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">1. The Registrant&#146;s Annual Report on Form <FONT STYLE="white-space:nowrap">10-K</FONT> for its fiscal year ended December&nbsp;31, 2024,
filed with the Commission on <A HREF="http://www.sec.gov/Archives/edgar/data/../../../ix?doc=/Archives/edgar/data/0001200375/000120037525000003/cdxs-20241231.htm">February<U></U>&nbsp;27, 2025</A> (the &#147;Annual Report&#148;); </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">2. The Registrant&#146;s Quarterly Report on Form <FONT STYLE="white-space:nowrap">10-Q</FONT> for the quarter ended March&nbsp;31, 2025, filed
with the Commission on <A HREF="http://www.sec.gov/Archives/edgar/data/../../../ix?doc=/Archives/edgar/data/0001200375/000120037525000006/cdxs-20250331.htm">May<U></U>&nbsp;14, 2025</A>; </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">3. The Registrant&#146;s Quarterly Report on Form <FONT STYLE="white-space:nowrap">10-Q</FONT> for the quarter ended June&nbsp;30, 2025, filed
with the Commission on <A HREF="http://www.sec.gov/Archives/edgar/data/../../../ix?doc=/Archives/edgar/data/1200375/000120037525000012/cdxs-20250630.htm">August&nbsp;13, 2025</A>; </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">3 The Registrant&#146;s Current Report<B>s</B> on Form <FONT STYLE="white-space:nowrap">8-K,</FONT> filed with the Commission on <A HREF="http://www.sec.gov/Archives/edgar/data/../../../ix?doc=/Archives/edgar/data/0001200375/000119312525007775/d876172d8k.htm">January&nbsp;16,
 2025</A>, <A HREF="http://www.sec.gov/Archives/edgar/data/../../../ix?doc=/Archives/edgar/data/0001200375/000119312525067978/d915487d8k.htm">March&nbsp;
31, 2025</A>, <A HREF="http://www.sec.gov/Archives/edgar/data/../../../ix?doc=/Archives/edgar/data/0001200375/000119312525076926/d949566d8k.htm">April&nbsp;
9, 2025</A>, and <A HREF="http://www.sec.gov/Archives/edgar/data/../../../ix?doc=/Archives/edgar/data/0001200375/000119312525139123/d41532d8k.htm">June&nbsp;11, 2025</A>. </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">4 All other reports filed by the Registrant pursuant to Sections 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended (the
&#147;Exchange Act&#148;), since the end of the fiscal year covered by the Annual Report; and </P> <P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">5 The description of the Common Stock
contained in the Registrant&#146;s Registration Statement on <A HREF="http://www.sec.gov/Archives/edgar/data/1200375/000119312510086738/d8a12b.htm">Form <FONT STYLE="white-space:nowrap">8-A</FONT></A>, filed with the Commission on April&nbsp;19,
2010, and any amendments or reports filed for the purposes of updating such description, including <A HREF="http://www.sec.gov/Archives/edgar/data/1200375/000120037524000009/exhibit44cdxs-20231231.htm">Exhibit&nbsp;4.4</A> to the Registrant&#146;s
Annual Report on Form <FONT STYLE="white-space:nowrap">10-K</FONT> for the fiscal year ended December&nbsp;31, 2023, filed with the Commission on February<U></U>&nbsp;28, 2024. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">In addition, all documents filed by the Registrant pursuant to Section&nbsp;13(a), 13(c), 14, and 15(d) of the Exchange Act, subsequent to the
date of this Registration Statement (other than information in such filings deemed, under Commission rules or otherwise, not to have been filed with the Commission), prior to the filing of a post-effective amendment to this Registration Statement
that indicates that all securities offered have been sold or that deregisters all securities then remaining unsold, shall be deemed to be incorporated by reference in this Registration Statement and to be a part hereof from the date of filing of
such documents. </P> <P STYLE="font-size:12pt; margin-top:0pt; margin-bottom:0pt">&nbsp;</P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Any statement contained in this Registration Statement or 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 or incorporated by reference herein or in any subsequently filed document
that 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.
</P> <P STYLE="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><B>Item&#8201;4.&nbsp;Description of Securities. </B></P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Not applicable. </P> <P STYLE="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><B>Item&#8201;5.&nbsp;Interests
of Named Experts and Counsel. </B></P> <P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Not applicable. </P>
<P STYLE="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><B>Item&#8201;6.&nbsp;Indemnification of Directors and Officers. </B></P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Subsection (a)&nbsp;of Section&nbsp;145 of the General Corporation Law of the State of Delaware (the &#147;DGCL&#148;), empowers a corporation
to indemnify any person who was or is a party or who is threatened to be made a party to any threatened, pending or completed action, suit or proceeding, whether civil, criminal, administrative or investigative (other than an action by or in the
right of the corporation) by reason of the fact that the person is or was a director, officer, employee or agent of the corporation, or is or was serving at the request of the corporation as a director, officer, employee or agent of another
corporation, partnership, joint venture, trust or other enterprise, against expenses (including attorneys&#146; fees), judgments, fines and amounts paid in settlement actually and reasonably incurred by the person in connection with such action,
suit or proceeding if the person acted in good faith and in a manner the person reasonably believed to be in or not opposed to the best interests of the corporation, and, with respect to any criminal action or proceeding, had no reasonable cause to
believe the person&#146;s conduct was unlawful. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Subsection (b)&nbsp;of Section&nbsp;145 of the DGCL empowers a corporation to indemnify
any person who was or is a party or is threatened to be made a party to any threatened, pending or completed action or suit by or in the right of the corporation to procure a judgment in its favor by reason of the fact that the person acted in any
of the capacities set forth above, against expenses (including attorneys&#146; fees) actually and reasonably incurred by the person in connection with the defense or settlement of such action or suit if the person acted in good faith and in a manner
the person reasonably believed to be in or not opposed to the best interests of the corporation, except that no indemnification shall be made in respect of any claim, issue or matter as to which such person shall have been adjudged to be liable to
the corporation unless and only to the extent that the Court of Chancery or the court in which such action or suit was brought shall determine upon application that, despite the adjudication of liability but in view of all the circumstances of the
case, such person is fairly and reasonably entitled to indemnity for such expenses which the Court of Chancery or such other court shall deem proper. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Section&nbsp;145 of the DGCL further provides that to the extent a director or officer of a corporation has been successful on the merits or
otherwise in the defense of any action, suit or proceeding referred to in subsections (a)&nbsp;and (b) of Section&nbsp;145 of the DGCL, or in defense of any claim, issue or matter therein, such person shall be indemnified against expenses (including
attorneys&#146; fees) actually and reasonably incurred by such person in connection therewith; that indemnification provided for by Section&nbsp;145 of the DGCL shall not be deemed exclusive of any other rights to which the indemnified party may be
entitled; and the indemnification provided for by Section&nbsp;145 of the DGCL shall, unless otherwise provided when authorized or ratified, continue as to a person who has ceased to be a director, officer, employee or agent and shall inure to the
benefit of such person&#146;s heirs, executors and administrators. Section&nbsp;145 of the DGCL also empowers the corporation to purchase and maintain insurance on behalf of any person who is or was a director, officer, employee or agent of the
corporation, or is or was serving at the request of the corporation as a director, officer, employee or agent of another corporation, partnership, joint venture, trust or other enterprise against any liability asserted against such person and
incurred by such person in any such capacity, or arising out of his status as such, whether or not the corporation would have the power to indemnify such person against such liabilities under Section&nbsp;145 of the DGCL. </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Section&nbsp;102(b)(7) of the DGCL provides that a corporation&#146;s certificate of
incorporation may contain a provision eliminating or limiting the personal liability of a director to the corporation or its stockholders for monetary damages for breach of fiduciary duty as a director, provided that such provision shall not
eliminate or limit the liability of a director (i)&nbsp;for any breach of the director&#146;s duty of loyalty to the corporation or its stockholders, (ii)&nbsp;for acts or omissions not in good faith or which involve intentional misconduct or a
knowing violation of law, (iii)&nbsp;under Section&nbsp;174 of the DGCL, or (iv)&nbsp;for any transaction from which the director derived an improper personal benefit. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Registrant&#146;s amended and restated certificate of incorporation provides that the Registrant may, and the Registrant&#146;s amended
and restated bylaws provide that it shall, indemnify and advance expenses to each of the Registrant&#146;s directors and officers, and may indemnify and advance expenses to its employees and other agents, to the fullest extent permitted by the DGCL,
as described above. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Registrant has also entered into indemnification agreements with each of its directors and executive officers,
and certain other of its employees, in addition to the indemnification provisions provided for in its amended and restated certificate of incorporation and amended and restated bylaws. Subject to the limitations of the DGCL and other applicable law,
these agreements provide for the indemnification of the Registrant&#146;s directors, officers and some employees for certain expenses and liabilities incurred in connection with any action, suit, proceeding or alternative dispute resolution
mechanism, or hearing, inquiry or investigation that may lead to the foregoing, to which they are a party or participant in, or are threatened to be made a party or participant in, by reason of the fact that they are or were a director, officer,
employee, agent or fiduciary of the Registrant, or any of its subsidiaries, by reason of any action or inaction by them while serving as an officer, director, agent or fiduciary, or by reason of the fact that they were serving at the
Registrant&#146;s request as a director, officer, employee, agent or fiduciary of another entity. In the case of an action or proceeding by or in the right of the Registrant or any of its subsidiaries, no indemnification will be provided for any
claim where a court determines that the indemnified party is prohibited from receiving indemnification. The Registrant intends to enter into indemnification agreements with any new directors and executive officers in the future. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">The Registrant has purchased and will maintain insurance on behalf of any person who is or was a director or officer against any loss arising
from any claim asserted against him or her and incurred by him or her in that capacity, subject to certain exclusions and limits of the amount of coverage. </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><B>Item&#8201;7. Exemption from Registration Claimed. </B></P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Not applicable. </P> <P STYLE="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><B>Item&#8201;8. Exhibits.
</B></P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD></TD>

<TD VALIGN="bottom" WIDTH="5%"></TD>
<TD WIDTH="92%"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<TD VALIGN="bottom" NOWRAP ALIGN="center" STYLE="border-bottom:1.00pt solid #000000"><B>Exhibit<BR>Number</B></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" ALIGN="center" STYLE="border-bottom:1.00pt solid #000000"> <P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>Description</B></P></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>4.1</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="http://www.sec.gov/Archives/edgar/data/1200375/000095013010000138/dex31.htm">Amended and Restated Certificate of Incorporation of Registrant (incorporated by reference to Exhibit 3.1 to the Registrant&#146;s Quarterly Report on
 Form <FONT STYLE="white-space:nowrap">10-Q</FONT> for the quarter ended March<U></U>&nbsp;31, 2010, filed with the Commission on May<U></U>&nbsp;28, 2010).</A></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>4.2</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="http://www.sec.gov/Archives/edgar/data/1200375/000119312523168972/d522880dex31.htm">Certificate of Amendment to the Amended and Restated Certificate of Incorporation of Registrant (incorporated by reference to Exhibit 3.1 to the
 Registrant&#146;s Current Report on Form <FONT STYLE="white-space:nowrap">8-K,</FONT> filed with the Commission on June<U></U>&nbsp;16, 2023).</A></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>4.3</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="http://www.sec.gov/Archives/edgar/data/1200375/000119312524255904/d892460dex31.htm">Second Amended and Restated Bylaws of Registrant effective as of November<U></U>&nbsp;
7, 2024 (incorporated by reference to Exhibit 3.1 to the Registrant&#146;s Current Report on Form <FONT STYLE="white-space:nowrap">8-K,</FONT> filed with he Commission on November<U></U>&nbsp;12, 2024).</A></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>4.4</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="http://www.sec.gov/Archives/edgar/data/../../../ix?doc=/Archives/edgar/data/1200375/000119312525093503/d913237ddef14a.htm#toc913237_62">Codexis, Inc. 2019 Incentive Award Plan, as amended (incorporated by reference to Appendix
 A of the Registrant&#146;s Definitive Proxy Statement on Schedule 14A filed with the Commission on April<U></U>&nbsp;24, 2025).</A></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>5.1*</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="d907936dex51.htm">Opinion of Sidley Austin LLP with respect to validity of issuance of securities. </A></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>23.1*</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="d907936dex231.htm">Consent of KPMG, LLP, independent registered public accounting firm. </A></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>23.2*</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="d907936dex232.htm">Consent of BDO USA, P.C., independent registered public accounting firm. </A></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>23.3*</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="d907936dex51.htm">Consent of Sidley Austin LLP (included in Exhibit 5.1). </A></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>24.1*</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="#sig">Power of Attorney (included on the signature pages to the Registration Statement and incorporated herein by reference).</A></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>107*</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="d907936dexfilingfees.htm">Filing Fee Table. </A></TD></TR>
</TABLE> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%" VALIGN="top" ALIGN="left">*</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left">Filed herewith. </P></TD></TR></TABLE>
<P STYLE="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><B>Item&#8201;9. Undertakings. </B></P> <P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">(a) The
undersigned Registrant hereby undertakes: </P> <P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">(1) To file, during any period in which offers or sales are being made, a post-effective
amendment to this Registration Statement: </P> <P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman">(i) To include any prospectus required by Section&nbsp;10(a)(3) of the Securities Act; </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman">(ii) To reflect in the prospectus any facts or events arising after the effective date of this Registration Statement (or the most recent
post-effective amendment thereof) which, individually or in the aggregate, represent a fundamental change in the information set forth in this Registration Statement. Notwithstanding the foregoing, any increase or decrease in volume of securities
offered (if the total dollar value of securities offered would not exceed that which was registered) and any deviation from the low or high end of the estimated maximum offering range may be reflected in the form of prospectus filed with the
Commission pursuant to Rule 424(b) (&#167; 230.424(b) of this chapter) if, in the aggregate, the changes in volume and price represent no more than 20% change in the maximum aggregate offering price set forth in the &#147;Calculation of Filing Fee
Tables&#148; or &#147;Calculation of Registration Fee&#148; table, as applicable, in the effective registration statement; and </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; text-indent:9%; font-size:10pt; font-family:Times New Roman">(iii) To include any material information with respect to the plan of distribution not
previously disclosed in this Registration Statement or any material change to such information in this Registration Statement; </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><I>provided</I>,
<I>however</I>, that paragraphs (a)(1)(i) and (a)(1)(ii) do not apply if the information required to be included in a post-effective amendment by those paragraphs is contained in periodic reports filed with or furnished to the Commission by the
Registrant pursuant to Section&nbsp;13 or Section&nbsp;15(d) of the Exchange Act that are incorporated by reference in this Registration Statement. </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">(2) That, for the purpose of determining any liability under the Securities Act, each such post-effective amendment shall be deemed to be a new
registration statement relating to the securities offered therein, and the offering of such securities at that time shall be deemed to be the initial <I>bona fide</I> offering thereof. </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">(3) To remove from registration by means of a post-effective amendment any of the securities being registered which remain unsold at the
termination of the offering. </P> <P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">(b) The undersigned Registrant hereby undertakes that, for purposes of determining any liability under the
Securities Act, each filing of the Registrant&#146;s annual report pursuant to Section&nbsp;13(a) or Section&nbsp;15(d) of the Exchange Act (and, where applicable, each filing of an employee benefit plan&#146;s annual report pursuant to
Section&nbsp;15(d) of the Exchange Act) that is incorporated by reference in this Registration Statement shall be deemed to be a new registration statement relating to the securities offered herein, and the offering of such securities at that time
shall be deemed to be the initial <I>bona fide</I> offering thereof. </P> <P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">(c) Insofar as indemnification for liabilities arising under the
Securities Act may be permitted to directors, officers and controlling persons of the Registrant pursuant to the foregoing provisions, or otherwise, the Registrant has been advised that in the opinion of the Commission such indemnification is
against public policy as expressed in the Act and is, therefore, unenforceable. In the event that a claim for indemnification against such liabilities (other than the payment by the Registrant of expenses incurred or paid by a director, officer or
controlling person of the Registrant in the successful defense of any action, suit or proceeding) is asserted by such director, officer or controlling person in connection with the securities being registered, the Registrant will, unless in the
opinion of its counsel the matter has been settled by controlling precedent, submit to a court of appropriate jurisdiction the question whether such indemnification by it is against public policy as expressed in the Act and will be governed by the
final adjudication of such issue. </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B><A NAME="sig"></A>SIGNATURES </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Pursuant to the requirements of the Securities Act of 1933, as amended, the Registrant certifies that it has reasonable grounds to believe
that it meets all of the requirements for filing on Form <FONT STYLE="white-space:nowrap">S-8</FONT> and has duly caused this Registration Statement to be signed on its behalf by the undersigned, thereunto duly authorized, in the City of Redwood
City, State of California, on August 13, 2025. </P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><DIV ALIGN="right">
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="40%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="12%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="87%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" COLSPAN="3">CODEXIS, INC.</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">By:</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Stephen Dilly</P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Name:</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">Stephen Dilly</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Title:</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">Chairman of the Board of Directors, President and Chief Executive Officer</TD></TR>
</TABLE></DIV> <P STYLE="margin-top:24pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>POWER OF ATTORNEY </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We, the undersigned officers and directors of Codexis, Inc., hereby severally constitute and appoint Stephen Dilly and Georgia Erbez, our true
and lawful attorneys with full power to them, and each of them singly, to sign for us and in our names in the capacities indicated below, the Registration Statement on Form <FONT STYLE="white-space:nowrap">S-8</FONT> filed herewith and any and all
subsequent amendments to said Registration Statement, and generally to do all such things in our names and on our behalf in our capacities as officers and directors to enable Codexis, Inc. to comply with the provisions of the Securities Act of 1933,
as amended, and all requirements of the Securities and Exchange Commission, hereby ratifying and confirming our signatures as they may be signed by our said attorneys, or any of them, to said Registration Statement and any and all amendments
thereto. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Pursuant to the requirements of the Securities Act of 1933, as amended, this Registration Statement has been signed by the
following persons in the capacities and on the dates indicated. </P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">

<Center><DIV STYLE="width:8.5in" align="left">

<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="33%"></TD>

<TD VALIGN="bottom"></TD>
<TD WIDTH="49%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="16%"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<TD VALIGN="bottom"><B>Signature</B></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" ALIGN="center"><B>Title</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom" ALIGN="center"><B>Date</B></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Stephen Dilly</P></TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">Chairman of the Board of Directors, President, and Chief Executive Officer <I>(Principal Executive Officer)</I></TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">August&nbsp;13, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Stephen Dilly</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Georgia Erbez</P></TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Chief Financial Officer</P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:10pt; font-family:Times New Roman"><I>(Principal Financial Officer and Principal Accounting Officer)</I></P></TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">August&nbsp;13, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Georgia Erbez</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Cynthia Collins</P></TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">Director</TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">August&nbsp;13, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Cynthia Collins</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Raymond De Vr&eacute;</P></TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">Director</TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">August&nbsp;13, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Raymond De Vr&eacute;</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Esther Martinborough</P></TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">Director</TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">August&nbsp;13, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Esther Martinborough</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ H. Stewart Parker</P></TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">Director</TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">August&nbsp;13, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">H. Stewart Parker</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Christos Richards</P></TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">Director</TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2">August&nbsp;13, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Christos Richards</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Rahul Singhvi</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Rahul Singhvi</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top">Director</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">August&nbsp;13, 2025</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ David V. Smith</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">David V. Smith</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top">Director</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">August&nbsp;13, 2025</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Dennis P. Wolf</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Dennis P. Wolf</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top">Director</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">August&nbsp;13, 2025</TD></TR>
</TABLE>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-5.1
<SEQUENCE>2
<FILENAME>d907936dex51.htm
<DESCRIPTION>EX-5.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-5.1</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE" STYLE="line-height:Normal">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 5.1 </B></P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD WIDTH="22%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="39%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="37%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P> <P STYLE="margin-top:0pt;margin-bottom:1pt">


<IMG SRC="g907936dsp10.jpg" ALT="LOGO">
</P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">SIDLEY AUSTIN LLP</P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">ONE SOUTH DEARBORN STREET</P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">CHICAGO, IL 60603</P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">+1 312 853 7000</P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">+1 312 853 7036 FAX</P> <P STYLE="font-size:6pt; margin-top:0pt; margin-bottom:0pt">&nbsp;</P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:10pt; font-family:Times New Roman">AMERICA &#149; ASIA PACIFIC &#149; EUROPE</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
</TABLE> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center">August&nbsp;13, 2025 </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Codexis, Inc. </P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">200 Penobscot Drive </P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Redwood City, California 94063 </P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="9%">&nbsp;</TD>
<TD WIDTH="4%" VALIGN="top" ALIGN="left">Re:</TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left"><U>8,000,000 shares of Common Stock, $0.0001 par value per share</U> </P></TD></TR></TABLE>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Ladies and Gentlemen: </P> <P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We refer to the
Registration Statement on Form <FONT STYLE="white-space:nowrap">S-8</FONT> (the &#147;<U>Registration Statement</U>&#148;) being filed by Codexis, Inc., a Delaware corporation (the &#147;<U>Company</U>&#148;), with the Securities and Exchange
Commission under the Securities Act of 1933, as amended (the &#147;<U>Securities Act</U>&#148;), relating to the registration of 8,000,000 shares of common stock, par value $0.0001 per share, of the Company (the &#147;<U>Common Stock</U>&#148;),
which may be issued under the Codexis, Inc. 2019 Incentive Award Plan, as amended (the &#147;<U>Plan</U>&#148;, and the aggregate number of shares of Common Stock to be registered under the Registration Statement, the &#147;<U>Registered
Shares</U>&#148;). </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">This opinion letter is being delivered in accordance with the requirements of Item 601(b)(5) of Regulation <FONT
STYLE="white-space:nowrap">S-K</FONT> under the Securities Act. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We have examined the Registration Statement, the Company&#146;s Amended
and Restated Certificate of Incorporation, the Certificate of Amendment to the Company&#146;s Amended and Restated Certificate of Incorporation, the Company&#146;s Second Amended and Restated Bylaws, the Plan, the resolutions adopted by the board of
directors of the Company relating to the Registration Statement and the Plan and the proposal relating to the Plan adopted by the Company&#146;s stockholders at the Company&#146;s 2025 Annual Meeting of Stockholders. We have also examined originals,
or copies of originals certified to our satisfaction, of such agreements, documents, certificates and statements of the Company and other corporate documents and instruments, and have examined such questions of law, as we have considered relevant
and necessary as a basis for this opinion letter. We have assumed the authenticity of all documents submitted to us as originals, the genuineness of all signatures, the legal capacity of all persons and the conformity with the original documents of
any copies thereof submitted to us for examination. As to facts relevant to the opinions expressed herein, we have relied without independent investigation or verification upon, and assumed the accuracy and completeness of, certificates, letters and
oral and written statements and representations of public officials and officers and other representatives of the Company. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Based on the
foregoing, we are of the opinion that each Registered Share that is newly issued pursuant to the Plan will be validly issued, fully paid and <FONT STYLE="white-space:nowrap">non-assessable</FONT> when: (i)&nbsp;the Registration Statement, as finally
amended, shall have become effective under the Securities Act; </P>
 <p STYLE="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&nbsp;</P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center">Sidley Austin LLP is a
limited liability partnership practicing in affiliation with other Sidley Austin partnerships. </P>

</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">

<Center><DIV STYLE="width:8.5in" align="left">

 <P STYLE="margin-top:0pt;margin-bottom:0pt">


<IMG SRC="g907936dsp10.jpg" ALT="LOGO">
 </P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Codexis, Inc. </P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">August 13, 2025
</P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Page 2 </P> <p STYLE="margin-top:0pt;margin-bottom:0pt ; font-size:8pt">&nbsp;</P>
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">(ii) such Registered Share shall have been duly issued and delivered in accordance with the Plan; and
(iii)&nbsp;a certificate representing such Registered Share shall have been duly executed, countersigned and registered and duly delivered to the person entitled thereto against payment of the agreed consideration therefor (in an amount not less
than the par value thereof) or, if any such Registered Share is to be issued in uncertificated form, the Company&#146;s books shall reflect the issuance of such Registered Share to the person entitled thereto against payment of the agreed
consideration therefor (in an amount not less than the par value thereof), all in accordance with the Plan. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">This opinion letter is
limited to the General Corporation Law of the State of Delaware. We express no opinion as to the laws, rules or regulations of any other jurisdiction, including, without limitation, the federal laws of the United States of America or any state
securities or blue sky laws. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We hereby consent to the filing of this opinion letter as an exhibit to the Registration Statement and to
all references to our Firm included in or made a part of the Registration Statement. In giving such consent, we do not thereby admit that we are in the category of persons whose consent is required under Section&nbsp;7 of the Securities Act. </P>
<P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><DIV ALIGN="right">
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="40%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="100%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Very truly yours,</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">/s/ Sidley Austin LLP</TD></TR>
</TABLE></DIV>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>d907936dex231.htm
<DESCRIPTION>EX-23.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-23.1</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE" STYLE="line-height:Normal">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 23.1 </B></P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD WIDTH="19%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="39%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="40%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">


<IMG SRC="g907936dsp12a.jpg" ALT="LOGO">
</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="font-size:24pt; margin-top:0pt; margin-bottom:0pt">&nbsp;</P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">KPMG LLP</P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Suite 1400</P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">55 Second Street</P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:10pt; font-family:Times New Roman">San Francisco, CA 94105</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
</TABLE> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Consent of Independent Registered Public Accounting Firm </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">We consent to the use of our report dated February&nbsp;27, 2025, with respect to the consolidated financial statements of Codexis, Inc. and subsidiaries,
incorporated herein by reference. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center">/s/ KPMG LLP </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">San Francisco, California </P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">August&nbsp;13, 2025 </P>
<P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD WIDTH="19%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="66%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="13%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">KPMG LLP, a Delaware limited liability partnership and a member firm of</P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">the KPMG global organization of independent member firms affiliated with</P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:10pt; font-family:Times New Roman">KPMG International Limited, a private English company limited by guarantee.</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
</TABLE>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.2
<SEQUENCE>4
<FILENAME>d907936dex232.htm
<DESCRIPTION>EX-23.2
<TEXT>
<HTML><HEAD>
<TITLE>EX-23.2</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE" STYLE="line-height:Normal">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 23.2 </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><U>Consent of Independent Registered Public Accounting Firm </U></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">We hereby consent to the incorporation by reference in the Registration Statement of our reports dated February&nbsp;28, 2024, relating to the consolidated
financial statements and the effectiveness of internal control over financial reporting, of Codexis, Inc. (the Company) appearing in the Company&#146;s Annual Report on Form <FONT STYLE="white-space:nowrap">10-K</FONT> for the year ended
December&nbsp;31, 2023. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">/s/ BDO USA, P.C. </P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">San Francisco,
California </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">August&nbsp;13, 2025 </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">BDO USA, P.C., a Virginia
professional corporation, is the U.S. member of BDO International Limited, a UK company limited by guarantee, and forms part of the international BDO network of independent member firms. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">BDO is the brand name for the BDO network and for each of the BDO Member Firms. </P>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-FILING FEES
<SEQUENCE>5
<FILENAME>d907936dexfilingfees.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/2025" xmlns:ffd="http://xbrl.sec.gov/ffd/2025">
<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">0001200375</ix:nonNumeric> <ix:nonNumeric name="dei:EntityRegistrantName" contextRef="rc" id="ixv-172">CODEXIS, 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/2025/ffd-2025.xsd" xlink:type="simple"/> </ix:references> <ix:resources> <xbrli:context id="rc"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001200375</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2025-08-11</xbrli:startDate> <xbrli:endDate>2025-08-11</xbrli:endDate> </xbrli:period> </xbrli:context> <xbrli:context id="offrl_1"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001200375</xbrli:identifier> <xbrli:segment> <xbrldi:typedMember dimension="ffd:OfferingAxis"> <dei:lineNo>1</dei:lineNo> </xbrldi:typedMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2025-08-11</xbrli:startDate> <xbrli:endDate>2025-08-11</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">CODEXIS, 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%;">
 </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, par value $0.0001 per share</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">8,000,000</ix:nonFraction> </td>
<td style="text-align: right;"> <span>$</span> <ix:nonFraction name="ffd:MaxOfferingPricPerScty" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-206">2.78</ix:nonFraction> </td>
<td style="text-align: right;"> <span>$</span> <ix:nonFraction name="ffd:MaxAggtOfferingPric" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-207">22,240,000.00</ix:nonFraction> </td>
<td style="text-align: right;"> <ix:nonFraction name="ffd:FeeRate" unitRef="pure" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-208">0.0001531</ix:nonFraction> </td>
<td style="text-align: right;"> <span>$</span> <ix:nonFraction name="ffd:FeeAmt" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="offrl_1" id="ixv-209">3,404.94</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>
 </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="INF" format="ixt:numdotdecimal" unitRef="USD" id="ixv-210">22,240,000.00</ix:nonFraction> </p> </td>
<td>
 </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="INF" format="ixt:numdotdecimal" unitRef="USD" id="ixv-211">3,404.94</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>
 </td>
<td>
 </td>
<td>
 </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="INF" 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>
 </td>
<td>
 </td>
<td>
 </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="INF" format="ixt:numdotdecimal" unitRef="USD" id="ixv-213">3,404.94</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">(1) Pursuant to Rule 416(a) under the Securities Act of 1933, as amended (the "Securities Act"), this Registration Statement shall also cover any additional shares of common stock of Codexis, Inc. (the "Company") that become issuable under the Codexis, Inc. 2019 Incentive Award Plan, as amended, by reason of any stock dividend, stock split, recapitalization or other similar transaction effected that results in an increase in the number of outstanding shares of the common stock of the Company. (2) The offering price per unit is estimated in accordance with Rules 457(c) and (h) under the Securities Act solely for the purpose of calculating the amount of the registration fee, based on the average of the high and low sale prices of the common stock reported on the NASDAQ Global Select Market on August 8, 2025.</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;">
 </th>
<th style="width: 8%; text-align: left;">
 </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> N/A </td>
<td style="text-align: left;"> N/A </td>
<td> N/A </td>
<td> N/A </td>
<td> N/A </td>
<td> N/A </td>
<td style="text-align: right;"> N/A </td>
<td style="text-align: left;"> N/A </td>
<td style="text-align: left;"> N/A </td>
<td style="text-align: right;"> N/A </td>
<td style="text-align: right;"> N/A </td>
<td style="text-align: right;"> N/A </td> </tr>
<tr style="background-color:#E7E7E2">
<td style="text-align: left;"> Fee Offset Sources </td>
<td> N/A </td>
<td style="text-align: left;"> N/A </td>
<td> N/A </td>
<td> N/A </td>
<td> N/A </td>
<td> N/A </td>
<td style="text-align: right;"> N/A </td>
<td style="text-align: left;"> N/A </td>
<td style="text-align: left;"> N/A </td>
<td style="text-align: right;"> N/A </td>
<td style="text-align: right;"> N/A </td>
<td style="text-align: right;"> N/A </td> </tr> </table> </div> </body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>6
<FILENAME>g907936dsp10.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 g907936dsp10.jpg
M_]C_X  02D9)1@ !  $ 8 !@  #__@ ?3$5!1"!496-H;F]L;V=I97,@26YC
M+B!6,2XP,0#_VP"$  (" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("
M @(" @,# @(# @(" P0# P,#! 0$ @,$! 0$! ,$! ,! @(" @(" @(" @,"
M @(# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,#
M P,# P,# __$ :(   $% 0$! 0$!           ! @,$!08'" D*"P$  P$!
M 0$! 0$! 0        $" P0%!@<("0H+$  " 0,# @0#!04$!    7T! @,
M!!$%$B$Q008346$'(G$4,H&1H0@C0K'!%5+1\"0S8G*""0H6%Q@9&B4F)R@I
M*C0U-C<X.3I#1$5&1TA)2E-455976%E:8V1E9F=H:6IS='5V=WAY>H.$A8:'
MB(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4U=;7
MV-G:X>+CY.7FY^CIZO'R\_3U]O?X^?H1  (! @0$ P0'!00$  $"=P ! @,1
M! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P%6)RT0H6)#3A)?$7&!D:)B<H
M*2HU-C<X.3I#1$5&1TA)2E-455976%E:8V1E9F=H:6IS='5V=WAY>H*#A(6&
MAXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&Q\C)RM+3U-76
MU]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_  !$( "0 B ,!$0 "$0$#$0'_V@ ,
M P$  A$#$0 _ /WIUG6=)\-Z/JGB#7M1L]'T/0].O-6U?5M1N([2PTS3-.MY
M+N^O[VYF94M[6"VAEEDD<A56,DG H _$SXJ?\%H_#5CXDN?#GP*^#VJ?$2U@
MN9+:V\4>)-7N?#\6K-"S*TNC^%=/T>]U":RE"EXI;NYL)]@'F6<9)"@&S\"?
M^"QGASQSXUT3P!\5_@WK_@K4=>U>RT"PUGP;?7OC-%UC4+J.RM+6_P#"9T6U
MU>%6NI$BQI[:M<L\JJMH>30!]0_MI?M^Z3^QQXE\$>'-1^&.H^/'\9Z'J6M1
M75EXIMO#RZ>NG7\5B;=X9]#OS<,YDWAPT>W&,'.: +7[6'[>FE?LL>#?@SXO
MOOAIJ'C./XOZ;J.HV]A:>)[;0WT%=.TKPUJ9BFGFT2]%^77Q&D898X,&T9L'
MS % /B./_@N+X5+J)?V=O$"1Y =H_B-ITCJO<K&WA",.1Z%U^M 'T]\%_P#@
MK1^R]\5-6L?#GB27Q+\(-;OY8[>VG\>6VG_\(I/=2MMC@'BK2+^YAT]<];C5
MK?2[=> 9<D"@#].#<1&U-W"Z3P&W^T121.KQS1&/S4>.1259&3!##((((XH
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
M33TC.3PLA(Y H _>:@#^=3_@M^CMX]^ 6U&;'A#QK]U2<?\ $YT3T% '[O\
MP5X^#?PE[8^&?@/VQCPMI5 'IE !0!Q?B#X;_#OQ7=I?^*? 7@OQ+?1A52]\
M0>%M#UF[14 "*EQJ-C-(H4   ,,8XH ZC3].T_2;.#3]*L;/3+"U3R[:QT^U
M@LK.W0$G9!;6R)'"F23A% YH N4 % !0 4 % !0 4 % !0 4 % !0 4 % '_
!V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>7
<FILENAME>g907936dsp12a.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 g907936dsp12a.jpg
M_]C_X  02D9)1@ !  $ 8 !@  #__@ ?3$5!1"!496-H;F]L;V=I97,@26YC
M+B!6,2XP,0#_VP"$  (" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("
M @(" @,# @(# @(" P0# P,#! 0$ @,$! 0$! ,$! ,! @(" @(" @(" @,"
M @(# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,# P,#
M P,# P,# __$ :(   $% 0$! 0$!           ! @,$!08'" D*"P$  P$!
M 0$! 0$! 0        $" P0%!@<("0H+$  " 0,# @0#!04$!    7T! @,
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
M-4F !,.G:-83ZC>R $@96VMI6Y(Z5OA</4Q>)P^$HJ];$U:=&FO[]22A%?\
M@32,ZU6&'HU:U1\M.A"4Y/M&$7)_<D?S+?LZ_%[POX)^-'C?]HSX@06]WJ>A
M67C#Q1X7\+6K(LOB/XD^-;BZL],TN!'5S9Z5;VVJZ[>SZBT;K9II\)59+F:V
MAG_I[B/)\5C<DP/#>72<*5>6'H5Z\MJ.#PRC*<VU;FJ2E3I0A333J.;NU!3E
M'\>RG'T<-F&)S;%)2G256I3IK_EYB*K:C%;VC%2G*4]>116\G%/U3X,?!;XL
M?M^?&#6OBE\2]1O+#P/!J,*>)O$=O";:V2VM55K+P#X#MI_,CBDAM&16?]\E
MG'.UY>-<7EVB7_E9UG>4>'V34,JRRG&>.<'["BW>5WI+%8J2LVG)-I>ZZC7L
MZ:A3@W3[<OR['<3X^IC<9-QPT9+VE1*RLMJ-%.Z5EUU4$^:7-*24OIC_ (*>
M^(/#GP^^&'P=_9^\%:=8Z%HS7UQXE;1-+000:;H?AFUETC1;=X\EI8[W4=9U
M.X:20O)+/H[RRNTC%G^8\+L/B<PS3.>(<=4E7K**HJI-W<ZM:2J5'?HX0IPB
MDK*,:BC%)*R]CC*K1PF"P&5X:"I4TW4Y(Z*,*:Y(*W]Z4Y.[NW*%V[GB*?L+
M?#[1OV0Q^T'XU\=^)] \63_#NX\:6&C :*/#USJ&K+/<^!M&6*:Q^V%M4@N=
M"@<K=[Q+?22* JB,>X^.\QK<8?ZNX' 4*^$CC%AIU/WGMHPIVCBJEU+D_=.-
M62]RW+%)N[N><N&L+2R'^U,1B:E&NZ#JQA[G(Y2NZ,+-<WOIP3]Z]Y-[:'%_
MLP?%CQ+\.OV6_P!KR7^T[]=#?1O!OAKPM9R33?9K/Q?\0I/$7AS4+G159PEO
M?KH8:_N&B(.W1K5GRPB63MXHRC"YCQ5P?'V4/;QJ8FM7DDKRP^#5&M"-32[@
MZO[N%^M226G,US9-CJV#R7/??DJ?)2ITU=V56O[2G)P[24/>E;^2-^E_@F;1
MM0M]%T[7Y82NEZIJ>KZ193G(\Z^T.UT6[U&,97&(X/$&F'()_P!<00,<_?QK
M4W7J89/][1A3J27:-652,'\W2G]Q\RZ<HTX5;6A*4HQ?G!0<ON4X_>?O[^W=
M^TK_ ,*?^"GA_P"&_A6_$'Q#^)OA>TM6D@D NO#O@IK)+/5]8!4EH+N_=9=,
MLWPI_P"0A/$ZRV"Y_GS@'AG^V,[Q&98JGS9=E=>4DFO=K8E2YJ=/LXTU:K46
MO_+N,DXU&?J'$N;_ %#+J6#H2Y<5C*:6F].C:TI^3EK"'_;S3O$_!FW\%Z_)
MXJT'P;+926NN^(9_"\%A93+B7_BK[?3;S06=/X3<66KZ?,%SD"X"MM8,J_OL
ML;AXX2OC(S4L/AE7<Y+;_9W.-7_P&5.<;^6EU9GYDL/5]M2P_+RU*KIJ*?\
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
M'AEY1B98JKB8UZCING&,8.*C=Q;ES.3;=H\MN563>K/T7K\W/K H * "@ H
6* "@ H * "@ H * "@ H * "@#__V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<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.25.2</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>Aug. 11, 2025</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">0001200375<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">CODEXIS, 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>
<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_OfferingTableNa', window );">Offering Table N/A</a></td>
<td class="text"> <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_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_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_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_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>10
<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.25.2</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>Aug. 11, 2025 </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, par value $0.0001 per share<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">8,000,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">2.78<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">$ 22,240,000.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.01531%<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">$ 3,404.94<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">(1) Pursuant to Rule 416(a) under the Securities Act of 1933, as amended (the "Securities Act"), this Registration Statement shall also cover any additional shares of common stock of Codexis, Inc. (the "Company") that become issuable under the Codexis, Inc. 2019 Incentive Award Plan, as amended, by reason of any stock dividend, stock split, recapitalization or other similar transaction effected that results in an increase in the number of outstanding shares of the common stock of the Company. (2) The offering price per unit is estimated in accordance with Rules 457(c) and (h) under the Securities Act solely for the purpose of calculating the amount of the registration fee, based on the average of the high and low sale prices of the common stock reported on the NASDAQ Global Select Market on August 8, 2025.<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>11
<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.25.2</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>Aug. 11, 2025 </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">$ 22,240,000.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">3,404.94<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">$ 3,404.94<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_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>12
<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>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>15
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.2</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="d907936dexfilingfees.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="d907936dexfilingfees.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="d907936dexfilingfees.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="d907936dexfilingfees.htm">d907936dexfilingfees.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="3">http://xbrl.sec.gov/dei/2025</BaseTaxonomy>
    <BaseTaxonomy items="20">http://xbrl.sec.gov/ffd/2025</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>17
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "d907936dexfilingfees.htm": {
   "dts": {
    "inline": {
     "local": [
      "d907936dexfilingfees.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/2025/dei-2025.xsd",
      "https://xbrl.sec.gov/ffd/2025/ffd-2025.xsd"
     ]
    }
   },
   "keyStandard": 21,
   "keyCustom": 0,
   "axisStandard": 1,
   "axisCustom": 0,
   "memberStandard": 1,
   "memberCustom": 0,
   "hidden": {
    "total": 8,
    "http://xbrl.sec.gov/ffd/2025": 6,
    "http://xbrl.sec.gov/dei/2025": 2
   },
   "contextCount": 2,
   "entityCount": 1,
   "segmentCount": 1,
   "elementCount": 107,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/ffd/2025": 20,
    "http://xbrl.sec.gov/dei/2025": 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": "d907936dexfilingfees.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": "d907936dexfilingfees.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": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d907936dexfilingfees.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "rc",
      "name": "ffd:TtlOfferingAmt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d907936dexfilingfees.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "ffd_AggtRedRpPricFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "localname": "CombinedProspectusTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "localname": "OfferingLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Line Items]",
        "terseLabel": "Offering:"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "localname": "OfferingTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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": "nonNegativeIntegerItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "localname": "OffsetTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "localname": "Securities424iNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "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/2025",
     "localname": "SubmissionLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Submission [Line Items]",
        "terseLabel": "Items"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_SubmissnTp": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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/2025",
     "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>18
<FILENAME>0001193125-25-179972-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001193125-25-179972-xbrl.zip
M4$L#!!0    ( .")#5M/#]F-;@H  &<P   8    9#DP-SDS-F1E>&9I;&EN
M9V9E97,N:'1M[1MK<^*V]GM_A<;MWMW, ,;DB9/0H7GT9KK+IDMV9K_=$;8
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
M$0.GH%5"HSE!KT,XJ'9F-(+D/--.2VRG\?DJ]MF,RP:YB[Q61AM:;M#DW#H
MFE21$8--C' )LJ&[+J4I;^ZTG2Y^PAG7(R/])RI\<A_0J"A>@XSF1# JS; "
M^32\0+S@T X S+-, JX:  HVX%! ^1_9A$.0&'MI(CDX-@5&\/LG68YE8#]/
M@1(UXR!R&BA)> 1TX+>'=!D^(O.03W'R!TS$J<(ODV",%C2%,%5M&:&U=D!9
MG0/R "_B/%LD^HX-+R3,Q$J"!RG(UL@0\N!Y<.+#+ZW  4]-M8=(<G1\^L$[
M  ;!\M,-KB+C@ 5SK AZ%5HMO.G3)LUO,H$%7**+>RI\$D6/&3,&!J!X0Q@;
M+5#P%CIA.?04 D_S$L1/D"# VEJH>H4(EL1"+7$-^L/K_N_DUR >@<\-60"V
M()^H^ YE&T#ZZ225BIPUB!ZNK[D,67^0.,7(G8IJ^H$<44TSQ>S9-M/Z_]%A
MC>%@[7@FG[ATW,*!&"_A>2BU&PS-G#2K@=7[U'4<U-*K.30M^O,<(7[?K,EG
M3?.=#I>L^3K*OW[LGAX=GT.6)OT$\H2'"XMSU]\R%5HU_G-CH5?->YQ:5]L\
M CK;?4O6@2X'J)A^;WD *0I'J>LWFGTX&,YV8'+"&=+Z+:=F"R G Y.:G\%^
M!TF68RMGL.,W'IYE: ?02CQ FGMF1VE61OI2QA[7N5]G^UWPG57PZ7'8:Q :
M!K]&X']^J;"\ F>WB+-FW).-2U[/-N[ KW^M[#?):67F4JT;SO*+%*OQ:;*@
M.:Q!)4X.\E17*D6O&./D4;::7XO]Z<#N;SE<*4.^]GGCU>E+F7H=Y [D7P>Z
M+_-F-?/_]OU'V'?EN&?KAOW"QO\5T/L34$L! A0#%     @ X(D-6T\/V8UN
M"@  9S   !@              ( !     &0Y,#<Y,S9D97AF:6QI;F=F965S
:+FAT;5!+!08      0 ! $8   "D"@     !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>d907936dexfilingfees_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/2025"
  xmlns:ffd="http://xbrl.sec.gov/ffd/2025"
  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/2025/ffd-2025.xsd"
      xlink:type="simple"/>
    <context id="rc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001200375</identifier>
        </entity>
        <period>
            <startDate>2025-08-11</startDate>
            <endDate>2025-08-11</endDate>
        </period>
    </context>
    <context id="offrl_1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001200375</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>1</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-08-11</startDate>
            <endDate>2025-08-11</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">0001200375</dei:EntityCentralIndexKey>
    <dei:EntityRegistrantName contextRef="rc" id="ixv-172">CODEXIS, 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">CODEXIS, INC.</dei:EntityRegistrantName>
    <ffd:OfferingSctyTp contextRef="offrl_1" id="ixv-202">Equity</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="offrl_1" id="ixv-203">Common Stock, par value $0.0001 per share</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">8000000</ffd:AmtSctiesRegd>
    <ffd:MaxOfferingPricPerScty
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-206"
      unitRef="USD">2.78</ffd:MaxOfferingPricPerScty>
    <ffd:MaxAggtOfferingPric
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-207"
      unitRef="USD">22240000.00</ffd:MaxAggtOfferingPric>
    <ffd:FeeRate
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-208"
      unitRef="pure">0.0001531</ffd:FeeRate>
    <ffd:FeeAmt
      contextRef="offrl_1"
      decimals="INF"
      id="ixv-209"
      unitRef="USD">3404.94</ffd:FeeAmt>
    <ffd:TtlOfferingAmt contextRef="rc" decimals="INF" id="ixv-210" unitRef="USD">22240000.00</ffd:TtlOfferingAmt>
    <ffd:TtlFeeAmt contextRef="rc" decimals="INF" id="ixv-211" unitRef="USD">3404.94</ffd:TtlFeeAmt>
    <ffd:TtlOffsetAmt contextRef="rc" decimals="INF" id="ixv-212" unitRef="USD">0.00</ffd:TtlOffsetAmt>
    <ffd:NetFeeAmt contextRef="rc" decimals="INF" id="ixv-213" unitRef="USD">3404.94</ffd:NetFeeAmt>
    <ffd:OfferingNote contextRef="offrl_1" id="ixv-214">(1) Pursuant to Rule 416(a) under the Securities Act of 1933, as amended (the "Securities Act"), this Registration Statement shall also cover any additional shares of common stock of Codexis, Inc. (the "Company") that become issuable under the Codexis, Inc. 2019 Incentive Award Plan, as amended, by reason of any stock dividend, stock split, recapitalization or other similar transaction effected that results in an increase in the number of outstanding shares of the common stock of the Company. (2) The offering price per unit is estimated in accordance with Rules 457(c) and (h) under the Securities Act solely for the purpose of calculating the amount of the registration fee, based on the average of the high and low sale prices of the common stock reported on the NASDAQ Global Select Market on August 8, 2025.</ffd:OfferingNote>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
