/* Approved type scale, 2026-10-31. Sizes only: no font-family or font shorthand.
   Scope: page content; official header/footer, all H1, legacy H4, chart/SVG labels,
   statistical numerals and the embedded calculator's own UI retain their styles. */
:root{
 --ce-type-h2:46px;--ce-type-h3:28px;--ce-type-body:20px;--ce-type-leading:30px;
 --ce-type-caption:16px;--ce-type-control:17px;--ce-type-eyebrow:14px;
}
#main h2:not(:where(.ce-calculator-host *)){font-size:var(--ce-type-h2);line-height:1.08;font-weight:500}
#main h3:not(:where(.ce-calculator-host *)),
#main .technical-note>strong,#main .co-experience>strong{font-size:var(--ce-type-h3);line-height:1.08;font-weight:500}
#main p:not(:where(nav *, .ce-calculator-host *)),#main li:not(:where(nav *, .ce-calculator-host *)),
#main .technical-note,#main .circuit-note,#main .manufacturing-note,
#main .project .requirements small{font-size:var(--ce-type-body);line-height:var(--ce-type-leading);font-weight:400}
/* H2 elements used as nested card/aside titles keep that semantic size. */
#main .ce-cr-rfq-aside h2,#main .ce-cr .ce-grid>.ce-cr-block>h2{font-size:var(--ce-type-h3);line-height:1.08}
/* Actual captions, secondary UI feedback and scroll guidance. */
#main figcaption:not(:where(.ce-calculator-host *)),#main figcaption p:not(:where(.ce-calculator-host *)),#main .ce-caption,
#main .sample-note,#main .illustration-note,#main .gd-scroll-hint,
#main .mat-table-hint,#main .supply-scroll-help,#main .cr20-scroll-hint,
#main .as-diagram-hint,#main [data-resource-status],#main #rfqFileStatus,
#main #rfqQuantityHelp,#main #rfqSubmit+p,#main .ce-type-aux{font-size:var(--ce-type-caption);line-height:1.45;font-weight:400}
/* These caption-like paragraphs contain substantive design or supply conditions. */
#main .ce-type-body{font-size:var(--ce-type-body);line-height:var(--ce-type-leading);font-weight:400}
#main .ce-service-figure figcaption{font-size:var(--ce-type-caption)!important;line-height:1.45}
#main .project-note{font-size:var(--ce-type-body)!important;line-height:var(--ce-type-leading)}
/* Preserve existing weights on table headers, emphasis, units and symbols. */
#main :is(table,th,td):not(:where(.ce-calculator-host *)),
#main table :is(p,li):not(:where(.ce-calculator-host *)){font-size:var(--ce-type-control);line-height:1.45}
#main table.co-facts{font-size:var(--ce-type-control)!important}
#main table :is(p,li):not(:where(.ce-calculator-host *)){font-weight:400}
#main table .ce-cr-links{font-size:var(--ce-type-control);line-height:1.45}
#main .ce-type-table-scroll{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}
/* Existing tables retain their original minimum widths. Only the newly
   wrapped four-column overview needs a minimum for local horizontal scroll. */
#main .ce-type-table-scroll>.ce-type-wide-table{min-width:620px}
/* Actions and disclosures; no selectors reach the official navigation. */
#main .ce-button,#main .button,#main .ne-button,#main .btn,
#main button:not(:where(.ce-calculator-host *)){font-size:var(--ce-type-control);line-height:1.25}
#main summary:not(:where(.ce-calculator-host *)){font-size:var(--ce-type-control);line-height:1.4;font-weight:600}
#main summary>span:not(:where(.ce-calculator-host *)){font-size:inherit;line-height:inherit;white-space:normal}
#main.ce-approved-ndfeb .technical-libraries>details>summary{font-size:var(--ce-type-control)!important;line-height:1.4}
#main .ce-kicker,#main .eyebrow{font-size:var(--ce-type-eyebrow);line-height:1.3;font-weight:600}
/* Input/select/textarea typography remains inherited from the existing UI. */
/* Fixed composite illustrations and corresponding label rows must scroll together. */
#main .ce-type-visual-scroll{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}
#main .ce-type-visual-track{min-width:0}
/* Necessary separation validated in the approved SmCo sample. */
#main #overview-section-13 .ce-split+.ce-grid{margin-top:24px}
#main #overview-section-13 .ce-split h3+p{margin-top:12px}
@media(max-width:700px){
 :root{--ce-type-h2:34px;--ce-type-h3:26px;--ce-type-body:18px;--ce-type-leading:27px}
 #main .ce-type-visual-track[data-columns="5"]{min-width:950px}
 #main .ce-type-visual-track[data-columns="4"]{min-width:800px}
 #main .ce-type-visual-track .family-labels,#main .ce-type-visual-track .five.labels{grid-template-columns:repeat(5,minmax(0,1fr))}
 #main .ce-type-visual-track .product-labels{grid-template-columns:repeat(4,minmax(0,1fr))}
 #main .ce-type-visual-track :is(.hero-art,.magnetization-art,.product-art){width:100%;max-width:100%;height:auto;min-height:0}
 #main .ce-type-visual-track :is(h3,p){overflow-wrap:normal}
 #main.ce-approved-ndfeb :is(.application-cases,.process-cards,.inspection .two){grid-template-columns:1fr}
 #main.ce-approved-category .four{grid-template-columns:1fr}
 #main .ce-cr-downloads .rr-document-card{grid-template-columns:minmax(0,1fr)}
 #main .ce-cr-downloads .rr-document-card>:not(.rr-document-preview){grid-column:1}
 #main .ce-cr-downloads .rr-document-preview{grid-column:1;grid-row:auto;max-width:180px}
}

/* Browser QA r4: these applications details must not impose a grid min-content width. */
@media(max-width:700px){#main:has(#pg-cnc-machining) #overview-section-9 .ce-split > *,#main:has(#pg-investment-casting) #p3-section-06 .ce-split > *,#main:has(#pg-industrial-forging) #p3-section-06 .ce-split > *,#main:has(#pg-aluminum-extrusions) #p3-section-06 .ce-split > *{min-width:0}}
/* Browser QA r4: keep NdFeB three-part illustrations aligned with readable labels. */
@media(max-width:700px){#main.ce-approved-ndfeb .ce-type-visual-track[data-columns="3"]{min-width:600px}#main.ce-approved-ndfeb #coatings .coating-grid>div{min-width:0}}
