/**
 * JCCNC site-wide typography — single source of truth.
 * Spec: docs/typography-spec.md
 * Loads after jccnc-redesign.css (tokens live in :root there).
 */

/* ── Base ─────────────────────────────────────────────────────── */
body.jcproto-body,
.jcproto-page--home {
	color: var(--jcproto-text-body);
	font-family: var(--jcproto-font-body);
	font-size: var(--type-body);
	line-height: 1.72;
}

.jcproto-legacy-body-wrap,
.jcproto-legacy-body-wrap .sitewidget-bd,
.jcproto-legacy-body-wrap p,
.jcproto-legacy-body-wrap li {
	font-family: var(--jcproto-font-body);
}

/* ── Display / Hero ───────────────────────────────────────────── */
.jcproto-jccnc-hero h1,
.jcproto-inner-split-banner__title {
	font-family: var(--jcproto-font-display);
	font-size: var(--type-hero);
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.3;
	text-wrap: balance;
}

.jcproto-jccnc-hero__points,
.jcproto-jccnc-hero__points li {
	font-size: var(--type-lead);
	font-weight: 400;
	line-height: 1.7;
}

/* ── Section titles (H2 / block headings) ─────────────────────── */
.sitewidget-hd > h2,
.sitewidget-hd > .graphicNewTitle,
.jcproto-section__title,
.jcproto-legacy-body-wrap h2,
.jcproto-legacy-body-wrap .sitewidget-hd > h2,
.titleBox span,
.titleBox strong,
.imgText-22224 .content_box_column1 .backstage-blocksEditor-wrap,
.imgText-22224 .content_box_column1 .backstage-blocksEditor-wrap span,
.imgText-22224 .content_box_column1 .backstage-blocksEditor-wrap strong,
#siteblocks-setting-wrap-qrKZLayWtYnj .content > .text div:first-child span,
#siteblocks-setting-wrap-qLpCMTBAzjoE .titleBox span,
#siteblocks-setting-wrap-qLpCMTBAzjoE .titleBox strong {
	color: var(--jcproto-text);
	font-family: var(--jcproto-font-display);
	font-size: var(--type-section);
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.3;
	text-wrap: balance;
}

/* In-content page title (not theme hero) */
.jcproto-legacy-body-wrap #backstage-bodyArea .sitewidget-hd > h1,
.jcproto-legacy-body-wrap #backstage-bodyArea h1:not(.jcproto-jccnc-hero h1) {
	color: var(--jcproto-text);
	font-family: var(--jcproto-font-display);
	font-size: var(--type-section);
	font-weight: 700;
	line-height: 1.3;
	text-wrap: balance;
}

/* Block strong titles (legacy CMS section headers) */
.jcproto-legacy-body-wrap .sitewidget-text strong,
.jcproto-legacy-body-wrap .sitewidget-text strong span,
.jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd strong,
.jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd strong span {
	color: var(--jcproto-text);
	font-family: var(--jcproto-font-display);
	font-size: var(--type-section);
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.3;
}

/* Panel titles (quote form, secondary H2) */
.jcproto-quote-banner__title,
.jcproto-legacy-body-wrap .sitewidget-inquire .sitewidget-hd > h2 {
	font-size: var(--type-panel);
}

/* ── Card / item titles (H3) ──────────────────────────────────── */
.jcproto-legacy-body-wrap h3,
.jcproto-legacy-body-wrap .sitewidget-hd > h3,
[class*="sitewidget-graphicNew"] .sitewidget-hd > h3,
[class*="sitewidget-graphicNew"] .graphicNewTitle,
.pageTitle,
.txt_top,
.bookmark18444 .title a,
[class*="sitewidget-pictureNew"] .picture-description strong,
[class*="sitewidget-pictureNew"] .picture-description strong span {
	color: var(--jcproto-text);
	font-family: var(--jcproto-font-display);
	font-size: var(--type-card);
	font-weight: 700;
	line-height: 1.3;
}

/* Tab / nav labels (not card titles) */
.prodTabList-prodName,
.jcproto-legacy-body-wrap .sitewidget-prodTabList .r-tabs-nav .r-tabs-anchor,
.jcproto-legacy-body-wrap .r-tabs-nav .r-tabs-anchor {
	color: var(--jcproto-text);
	font-family: var(--jcproto-font-body);
	font-size: var(--type-ui);
	font-weight: 600;
	line-height: 1.1;
}

/* Service card titles on homepage */
#outerContainer_1676600633252 .sitewidget-bd > div:first-child,
#outerContainer_1676600633252 .sitewidget-bd > div:first-child a,
#outerContainer_1676600633252 .sitewidget-bd > div:first-child span,
#outerContainer_1676600633252 .sitewidget-bd > div:first-child * {
	font-size: var(--type-card);
	font-weight: 700;
	line-height: 1.35;
}

/* ── Step titles (process / jumpNum) ─────────────────────────── */
[class*="sitewidget-jumpNum"] h3,
[class*="sitewidget-jumpNum"] .pageTitle,
[class*="jumpNum"] h3,
.steps-panel h3,
.step-card h3 {
	font-size: var(--type-step);
	font-weight: 700;
	line-height: 1.3;
}

/* ── Subheadings (H4, cert items, footer columns) ─────────────── */
.jcproto-legacy-body-wrap h4,
.jcproto-footer h3,
footer h3 {
	font-family: var(--jcproto-font-display);
	font-size: var(--type-subhead);
	font-weight: 700;
	line-height: 1.3;
}

/* ── Lead / intro copy ────────────────────────────────────────── */
.jcproto-section__lead,
.jcproto-legacy-body-wrap .outerContainer:not(.jcproto-inner-hero) > .container > .row:has([class*="sitewidget-pictureNew"], [class*="sitewidget-picture"]:not([class*="pictureNew"])) > [class*="col-"]:not(:has([class*="sitewidget-picture"])) .sitewidget-bd,
.jcproto-legacy-body-wrap .outerContainer:not(.jcproto-inner-hero) > .container > .row:has([class*="sitewidget-pictureNew"], [class*="sitewidget-picture"]:not([class*="pictureNew"])) > [class*="col-"]:not(:has([class*="sitewidget-picture"])) .sitewidget-bd span,
.jcproto-legacy-body-wrap .outerContainer:not(.jcproto-inner-hero) > .container > .row:has([class*="sitewidget-pictureNew"], [class*="sitewidget-picture"]:not([class*="pictureNew"])) > [class*="col-"]:not(:has([class*="sitewidget-picture"])) .sitewidget-bd p {
	font-size: var(--type-lead);
	font-weight: 400;
	line-height: 1.6;
}

/* Section intro — first paragraph after heading */
.jcproto-legacy-body-wrap .sitewidget-hd + .sitewidget-bd > p:first-child,
.jcproto-legacy-body-wrap .sitewidget-hd + .sitewidget-bd > div:first-child > p:first-child {
	font-size: var(--type-lead);
	line-height: 1.6;
}

/* ── Body copy ────────────────────────────────────────────────── */
.sitewidget-bd,
.jcproto-legacy-body-wrap .sitewidget-bd,
.jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd p,
.jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd,
.jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span:not(strong *),
.jcproto-legacy-body-wrap [class*="sitewidget-pictureNew"] .sitewidget-bd,
.jcproto-legacy-body-wrap [class*="sitewidget-pictureNew"] .picture-description span:not(strong *),
.jcproto-legacy-body-wrap p,
.jcproto-legacy-body-wrap li,
.cont.pageCont,
.txt_bottom,
#siteblocks-setting-wrap-qrKZLayWtYnj .content > .text,
.article-summary-para,
.entry-summary {
	color: var(--jcproto-text-body);
	font-size: var(--type-body);
	font-weight: 400;
	line-height: 1.72;
}

#outerContainer_1676600633252 .sitewidget-bd > div:nth-child(2) a,
#outerContainer_1676600633252 .sitewidget-bd > div:nth-child(2) span {
	font-size: var(--type-body);
	line-height: 1.72;
}

/* ── Small body / captions ────────────────────────────────────── */
[class*="jumpNum"] p,
[class*="jumpNum"] .cont,
.step-card p,
.jcproto-legacy-body-wrap .imgText-22224 .content_box_column5,
.jcproto-legacy-body-wrap .imgText-22224 .content_box_column5 span,
.materials-section .subhead,
.materials-section .stats-badge,
.materials-section .material-tag,
.materials-section .category-title {
	font-size: var(--type-body-sm);
	line-height: 1.6;
}

.jcproto-footer p,
.jcproto-footer li,
footer p,
footer li {
	font-size: var(--type-body-sm);
	line-height: 1.6;
}

/* Cert / fine print */
.jcproto-legacy-body-wrap .sitewidget-bd small,
.caption-text {
	font-size: var(--type-caption);
	line-height: 1.6;
}

/* ── UI: buttons, nav, links ──────────────────────────────────── */
.jcproto-btn,
.jcproto-jccnc-hero__btn,
.jcproto-header__quote,
.jcproto-quote-banner__btn,
.jcproto-legacy-body-wrap .backstage-component-btncolor,
.jcproto-legacy-body-wrap input[type="submit"],
.jcproto-legacy-body-wrap button[type="submit"],
.jcproto-nav a,
.jcproto-header a.nav-link {
	font-family: var(--jcproto-font-body);
	font-size: var(--type-ui);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.1;
}

.jcproto-header__quote {
	font-size: var(--type-ui-sm);
}

/* Card text links */
.jcproto-legacy-body-wrap a.backstage-component-btncolor.gbBgColor0,
.jcproto-legacy-body-wrap .sitewidget-button a {
	font-size: var(--type-ui);
	font-weight: 600;
}

/* Gallery tabs */
.imgText-22224 .content_box_column2 .tap_outside,
.imgText-22224 .content_box_column2 .tap_outside .backstage-blocksEditor-wrap {
	font-size: var(--type-body-sm);
	font-weight: 700;
	line-height: 1.3;
}

/* Form labels */
.jcproto-legacy-body-wrap label,
.sitewidget-inquire label,
.sitewidget-form label {
	font-size: var(--type-body);
	font-weight: 500;
	line-height: 1.4;
}

/* Topbar / breadcrumb */
.jcproto-topbar,
.jcproto-breadcrumb {
	font-size: var(--type-micro);
}

/* ── Legacy inline font-size remapping ────────────────────────── */
.jcproto-legacy-body-wrap span[style*="font-size:40px"],
.jcproto-legacy-body-wrap span[style*="font-size: 40px"],
.jcproto-legacy-body-wrap span[style*="font-size:36px"],
.jcproto-legacy-body-wrap span[style*="font-size: 36px"],
.jcproto-legacy-body-wrap span[style*="font-size:34px"],
.jcproto-legacy-body-wrap span[style*="font-size: 34px"],
.jcproto-legacy-body-wrap strong span[style*="font-size:34px"],
.jcproto-legacy-body-wrap strong span[style*="font-size: 34px"] {
	font-size: var(--type-section) !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
}

.jcproto-legacy-body-wrap span[style*="font-size:30px"],
.jcproto-legacy-body-wrap span[style*="font-size: 30px"],
.jcproto-legacy-body-wrap span[style*="font-size:26px"],
.jcproto-legacy-body-wrap span[style*="font-size: 26px"] {
	font-size: var(--type-panel) !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
}

.jcproto-legacy-body-wrap span[style*="font-size:24px"],
.jcproto-legacy-body-wrap span[style*="font-size: 24px"] {
	font-size: var(--type-card) !important;
	line-height: 1.3 !important;
}

.jcproto-legacy-body-wrap span[style*="font-size:20px"],
.jcproto-legacy-body-wrap span[style*="font-size: 20px"] {
	font-size: var(--type-step) !important;
	line-height: 1.3 !important;
}

.jcproto-legacy-body-wrap span[style*="font-size:17px"],
.jcproto-legacy-body-wrap span[style*="font-size: 17px"],
.jcproto-legacy-body-wrap span[style*="font-size:16px"],
.jcproto-legacy-body-wrap span[style*="font-size: 16px"],
.jcproto-legacy-body-wrap span[style*="font-size:15px"],
.jcproto-legacy-body-wrap span[style*="font-size: 15px"] {
	font-size: var(--type-ui) !important;
	line-height: 1.1 !important;
	font-weight: 600 !important;
}

/* Industry ol/ul list widgets — body bullets, not UI semibold chips */
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text.sitewidget-olul-liststyle:not(:has(.sitewidget-bd strong)) .sitewidget-bd,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text.sitewidget-olul-liststyle:not(:has(.sitewidget-bd strong)) .sitewidget-bd span:not([style*="font-size:34px"]):not([style*="font-size: 34px"]):not(span[style*="font-size:34px"] span):not(span[style*="font-size: 34px"] span),
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text.sitewidget-olul-liststyle:not(:has(.sitewidget-bd strong)) .sitewidget-bd div,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text.sitewidget-olul-liststyle:has(.sitewidget-bd strong) .sitewidget-bd span:not([style*="font-size:20px"]):not([style*="font-size: 20px"]):not([style*="font-size:34px"]):not([style*="font-size: 34px"]):not(span[style*="font-size:34px"] span):not(span[style*="font-size: 34px"] span),
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text.sitewidget-olul-liststyle:has(.sitewidget-bd strong) .sitewidget-bd span[style*="font-size:16px"],
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text.sitewidget-olul-liststyle:has(.sitewidget-bd strong) .sitewidget-bd span[style*="font-size: 16px"],
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text.sitewidget-olul-liststyle:has(.sitewidget-bd strong) .sitewidget-bd span[style*="font-size:18px"],
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text.sitewidget-olul-liststyle:has(.sitewidget-bd strong) .sitewidget-bd span[style*="font-size: 18px"] {
	font-size: var(--type-body) !important;
	font-weight: 400 !important;
	line-height: 1.72 !important;
}

/* Material intro split — body copy, not UI chip sizing (exclude hero-intro title block) */
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer:not(.jcproto-inner-hero):not(.jcproto-material-hero-intro) > .container > .row:has([class*="sitewidget-pictureNew"]) > [class*="col-"]:not(:has([class*="sitewidget-picture"])) span[style*="font-size:17px"],
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer:not(.jcproto-inner-hero):not(.jcproto-material-hero-intro) > .container > .row:has([class*="sitewidget-pictureNew"]) > [class*="col-"]:not(:has([class*="sitewidget-picture"])) span[style*="font-size: 17px"],
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer:not(.jcproto-inner-hero):not(.jcproto-material-hero-intro) > .container > .row:has([class*="sitewidget-pictureNew"]) > [class*="col-"]:not(:has([class*="sitewidget-picture"])) span[style*="font-size:16px"],
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer:not(.jcproto-inner-hero):not(.jcproto-material-hero-intro) > .container > .row:has([class*="sitewidget-pictureNew"]) > [class*="col-"]:not(:has([class*="sitewidget-picture"])) span[style*="font-size: 16px"],
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer:not(.jcproto-inner-hero):not(.jcproto-material-hero-intro) > .container > .row:has([class*="sitewidget-pictureNew"]) > [class*="col-"]:not(:has([class*="sitewidget-picture"])) .sitewidget-bd,
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer:not(.jcproto-inner-hero):not(.jcproto-material-hero-intro) > .container > .row:has([class*="sitewidget-pictureNew"]) > [class*="col-"]:not(:has([class*="sitewidget-picture"])) .sitewidget-bd span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer:not(.jcproto-inner-hero):not(.jcproto-material-hero-intro) > .container > .row:has([class*="sitewidget-pictureNew"]) > [class*="col-"]:not(:has([class*="sitewidget-picture"])) .sitewidget-bd div,
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer:not(.jcproto-inner-hero):not(.jcproto-material-hero-intro) > .container > .row:has([class*="sitewidget-pictureNew"]) > [class*="col-"]:not(:has([class*="sitewidget-picture"])) .sitewidget-bd p {
	font-size: var(--type-lead) !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
	font-family: var(--jcproto-font-body, "Montserrat", system-ui, sans-serif) !important;
}

/* Material hero intro — body copy in graphicNew (beat global 17px UI chip rule) */
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer.jcproto-material-hero-intro [class*="sitewidget-graphicNew"] .sitewidget-bd,
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer.jcproto-material-hero-intro [class*="sitewidget-graphicNew"] .sitewidget-bd span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer.jcproto-material-hero-intro [class*="sitewidget-graphicNew"] .sitewidget-bd div,
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer.jcproto-material-hero-intro [class*="sitewidget-graphicNew"] .sitewidget-bd p,
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer.jcproto-material-hero-intro [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:17px"],
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer.jcproto-material-hero-intro [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 17px"],
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer.jcproto-material-hero-intro [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:16px"],
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer.jcproto-material-hero-intro [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 16px"] {
	font-size: var(--type-body) !important;
	font-weight: 400 !important;
	line-height: 1.72 !important;
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
	font-family: var(--jcproto-font-body, "Montserrat", system-ui, sans-serif) !important;
}

.jcproto-legacy-body-wrap span[style*="font-size:18px"],
.jcproto-legacy-body-wrap span[style*="font-size: 18px"] {
	font-size: var(--type-lead) !important;
	line-height: 1.6 !important;
	font-weight: 400 !important;
}

/* Card labels in capability / industry grids */
body.jcproto-layout-capability .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd strong span,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .box-container[data-layout-style] .sitewidget-text strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .box-container[data-layout-style] .sitewidget-text strong span,
body.jcproto-layout-industry .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd strong,
body.jcproto-layout-industry .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd strong span,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .box-container[data-layout-style] .sitewidget-text strong,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .box-container[data-layout-style] .sitewidget-text strong span {
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--jcproto-text) !important;
}

/* ── LayerSlider / inner banner text ──────────────────────────── */
.jcproto-legacy-body-wrap .jcproto-inner-hero h1,
.jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="32"],
.jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[style*="top:21%"],
.jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[style*="top:14%"] {
	font-size: var(--type-hero) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="16"],
.jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="18"],
.jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[style*="top:33%"] {
	font-size: var(--type-body) !important;
	line-height: 1.55 !important;
}

.jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-btn > a {
	font-size: var(--type-ui-sm) !important;
}

/* ── Dark bands — keep readable sizes, color handled elsewhere ─ */
.jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-bd,
.jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-bd span {
	font-size: var(--type-body);
}

/* ── Homepage font families ───────────────────────────────────── */
.jcproto-page--home,
.jcproto-page--home .jcproto-legacy-body-wrap,
.jcproto-page--home .jcproto-legacy-body-wrap *:not(.fa):not([class*="icon"]):not(i) {
	font-family: var(--jcproto-font-body);
}

.jcproto-page--home h1,
.jcproto-page--home h2,
.jcproto-page--home h3,
.jcproto-page--home .sitewidget-hd > h1,
.jcproto-page--home .sitewidget-hd > h2,
.jcproto-page--home .sitewidget-hd > h3,
.jcproto-page--home .graphicNewTitle,
.jcproto-page--home .titleBox,
.jcproto-page--home .titleBox * {
	font-family: var(--jcproto-font-display);
}

/* ── CNC / capability page text color — sitewide body normalization below ─ */
body.jcproto-legacy--capabilities-cnc-machining .jcproto-legacy-body-wrap #backstage-bodyArea #outerContainer_1677494016035 [class*="sitewidget-pictureNew"] .picture-description strong span {
	display: inline-block;
	margin: 0.75rem 0 0.5rem;
}

body.jcproto-legacy--capabilities-cnc-machining .jcproto-legacy-body-wrap #outerContainer_1775700108852 [class*="sitewidget-pictureNew"] .sitewidget-bd span,
body.jcproto-legacy--capabilities-cnc-machining .jcproto-legacy-body-wrap #outerContainer_1775700108852 [class*="sitewidget-pictureNew"] .picture-description span {
	font-weight: 600;
}

/* ── Mobile adjustments ───────────────────────────────────────── */
@media (max-width: 767px) {
	.jcproto-jccnc-hero h1,
	.jcproto-inner-split-banner__title {
		line-height: 1.15;
	}
}

/* ── Final cascade — beat legacy !important in redesign / home CSS ─ */
.jcproto-jccnc-hero h1,
region[aria-label] h1,
.jcproto-legacy-body-wrap .jcproto-inner-hero h1,
.jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[data-fontSize="32"],
.jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[style*="top:21%"],
.jcproto-legacy-body-wrap .terminal-wrapper.pc.jcproto-inner-banner .ls-l.asl-txt[style*="top:14%"] {
	font-size: var(--type-hero) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: normal !important;
}

.jcproto-inner-split-banner__title {
	font-size: clamp(2.25rem, 2.25vw + 1.25rem, 3rem) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: normal !important;
}

.jcproto-jccnc-hero__points,
.jcproto-jccnc-hero__points li {
	font-size: var(--type-lead) !important;
	line-height: 1.7 !important;
}

.sitewidget-hd > h2,
.sitewidget-hd > .graphicNewTitle,
.jcproto-legacy-body-wrap h2,
.jcproto-legacy-body-wrap .sitewidget-text strong,
.jcproto-legacy-body-wrap .sitewidget-text strong span,
.jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd strong,
.jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd strong span,
.titleBox span,
.titleBox strong,
.imgText-22224 .content_box_column1 .backstage-blocksEditor-wrap,
.imgText-22224 .content_box_column1 .backstage-blocksEditor-wrap span,
.imgText-22224 .content_box_column1 .backstage-blocksEditor-wrap strong,
.steps-panel .section-title h2,
.steps-panel .section-title h2 span,
.jcproto-page--home #outerContainer_1676458523361 .sitewidget-text .sitewidget-bd > div:first-child span,
.jcproto-page--home #outerContainer_1676458523361 .sitewidget-text .sitewidget-bd > div:first-child strong,
.jcproto-page--home #siteblocks-setting-wrap-qLpCMTBAzjoE .titleBox span,
.jcproto-page--home #siteblocks-setting-wrap-qLpCMTBAzjoE .titleBox strong,
.jcproto-page--home #siteblocks-setting-wrap-qrKZLayWtYnj .content > .text div:first-child span {
	font-size: var(--type-section) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: normal !important;
}

/* Material pages — inline bold labels in running copy (not standalone section titles) */
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer:not(.jcproto-material-hero-intro) .sitewidget-text .sitewidget-bd span:not([style*="font-size:28"]):not([style*="font-size: 28"]):not([style*="font-size:32"]):not([style*="font-size: 32"]):not([style*="font-size:34"]):not([style*="font-size: 34"]):not([style*="font-size:36"]):not([style*="font-size: 36"]):not([style*="font-size:26"]):not([style*="font-size: 26"]) > strong,
body.jcproto-layout-material .jcproto-legacy-body-wrap .outerContainer:not(.jcproto-material-hero-intro) .sitewidget-text .sitewidget-bd span:not([style*="font-size:28"]):not([style*="font-size: 28"]):not([style*="font-size:32"]):not([style*="font-size: 32"]):not([style*="font-size:34"]):not([style*="font-size: 34"]):not([style*="font-size:36"]):not([style*="font-size: 36"]):not([style*="font-size:26"]):not([style*="font-size: 26"]) > strong span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd p strong,
body.jcproto-layout-material .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd p strong span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd li strong {
	font-size: inherit !important;
	font-weight: 700 !important;
	line-height: inherit !important;
	letter-spacing: normal !important;
	color: inherit !important;
	-webkit-text-fill-color: inherit !important;
	font-family: inherit !important;
}

/* Material pages — graphicNew body copy bold lead-ins (not section titles) */
body.jcproto-layout-material .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd ul li strong,
body.jcproto-layout-material .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd ul li strong span,
body.jcproto-layout-material .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:17px"] strong,
body.jcproto-layout-material .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 17px"] strong,
body.jcproto-layout-material .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd table td strong,
body.jcproto-layout-material .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd table th strong {
	font-size: inherit !important;
	font-weight: 700 !important;
	line-height: inherit !important;
	letter-spacing: normal !important;
	color: inherit !important;
	-webkit-text-fill-color: inherit !important;
	font-family: inherit !important;
}

/* Material detail subpages — smaller in-content section headings */
body.jcproto-layout-material[class*="jcproto-legacy--cnc-machining-"] .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .graphicNewTitle,
body.jcproto-layout-material[class*="jcproto-legacy--cnc-machining-"] .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-hd > h2 {
	font-size: var(--type-panel) !important;
	line-height: 1.35 !important;
}

/* Capability pages — inline strong in body copy (not standalone section titles) */
body.jcproto-layout-capability .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:17px"] strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 17px"] strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:16px"] strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 16px"] strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:18px"] strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 18px"] strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd div:not(:first-child) strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd div:not(:first-child) span strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd p strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd li strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:17px"] strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 17px"] strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:16px"] strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 16px"] strong {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: 400 !important;
	line-height: inherit !important;
	letter-spacing: normal !important;
	color: inherit !important;
	-webkit-text-fill-color: inherit !important;
}

/* Industry pages — inline bold labels in running copy (not centered section titles) */
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd div:not([style*="text-align: center"]):not([style*="text-align:center"]) strong,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd div:not([style*="text-align: center"]):not([style*="text-align:center"]) span strong,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd > span:not([style*="font-size:34"]):not([style*="font-size: 34"]):not([style*="font-size:32"]):not([style*="font-size: 32"]):not([style*="font-size:28"]):not([style*="font-size: 28"]):not([style*="font-size:36"]):not([style*="font-size: 36"]) strong,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd p strong,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd li strong {
	font-size: inherit !important;
	font-weight: 700 !important;
	font-style: normal !important;
	line-height: inherit !important;
	letter-spacing: normal !important;
	color: inherit !important;
	-webkit-text-fill-color: inherit !important;
	font-family: inherit !important;
}

/* Card-level titles (service tiles, QC items, graphicNew cards) */
.jcproto-legacy-body-wrap h3,
.jcproto-legacy-body-wrap .sitewidget-hd > h3,
[class*="sitewidget-graphicNew"] .graphicNewTitle,
[class*="sitewidget-graphicNew"] .sitewidget-hd > h2,
[class*="sitewidget-graphicNew"] .sitewidget-hd > h3,
[class*="sitewidget-pictureNew"] .picture-description strong,
[class*="sitewidget-pictureNew"] .picture-description strong span,
.pageTitle,
.txt_top,
#outerContainer_1676600633252 .sitewidget-bd > div:first-child,
#outerContainer_1676600633252 .sitewidget-bd > div:first-child *,
#outerContainer_1681282475502 .sitewidget-text strong,
#outerContainer_1681282475502 .sitewidget-text strong span {
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.steps-panel .step-card .step-title,
[class*="sitewidget-jumpNum"] h3,
[class*="jumpNum"] h3 {
	font-size: var(--type-step) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.jcproto-legacy-body-wrap .sitewidget-bd,
.jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span:not(strong *):not([style*="font-size"]),
.jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span:not(strong *):not([style*="font-size"]),
.jcproto-legacy-body-wrap p,
.jcproto-legacy-body-wrap li,
.cont.pageCont,
.txt_bottom,
#outerContainer_1676600633252 .sitewidget-bd > div:nth-child(2),
#outerContainer_1676600633252 .sitewidget-bd > div:nth-child(2) * {
	font-size: var(--type-body) !important;
	font-weight: 400 !important;
	line-height: 1.72 !important;
}

.jcproto-footer h3,
footer h3 {
	font-size: var(--type-subhead) !important;
}

.imgText-22224 .content_box_column2 .tap_outside,
.imgText-22224 .content_box_column2 .tap_outside .backstage-blocksEditor-wrap {
	font-size: var(--type-body-sm) !important;
}

.jcproto-jccnc-hero__btn,
.jcproto-page--home .backstage-component-btncolor,
.jcproto-legacy-body-wrap .backstage-component-btncolor,
.jcproto-legacy-body-wrap input[type="submit"],
.jcproto-legacy-body-wrap button[type="submit"] {
	font-size: var(--type-ui) !important;
	font-weight: 600 !important;
}

.jcproto-header__quote {
	font-size: var(--type-ui-sm) !important;
}

/* ── Sitewide text color — unify legacy grays ─────────────────── */
.jcproto-legacy-body-wrap,
.jcproto-page--home .jcproto-legacy-body-wrap {
	color: var(--jcproto-text-body);
}

.jcproto-legacy-body-wrap .sitewidget-bd,
.jcproto-legacy-body-wrap p,
.jcproto-legacy-body-wrap li,
.jcproto-legacy-body-wrap .cont.pageCont,
.jcproto-legacy-body-wrap .txt_bottom,
.jcproto-page--home .jcproto-legacy-body-wrap .sitewidget-bd,
.jcproto-page--home #siteblocks-setting-wrap-qLpCMTBAzjoE .pageWrapper:first-of-type .cont.pageCont,
.jcproto-page--home #siteblocks-setting-wrap-qLpCMTBAzjoE .pageWrapper:first-of-type .docs,
.jcproto-page--home #siteblocks-setting-wrap-qLpCMTBAzjoE .pageWrapper:first-of-type .desc {
	color: var(--jcproto-text-body) !important;
}

/* Leaf copy only — avoid inheriting fill onto tabs/buttons inside .sitewidget-bd */
.jcproto-legacy-body-wrap .sitewidget-bd > p,
.jcproto-legacy-body-wrap .sitewidget-bd > div:not(:has(a.backstage-component-btncolor)):not(:has(.r-tabs-anchor)),
.jcproto-legacy-body-wrap .sitewidget-bd > span,
.jcproto-page--home .jcproto-legacy-body-wrap .sitewidget-bd > p,
.jcproto-page--home .jcproto-legacy-body-wrap .sitewidget-bd > div:not(:has(a.backstage-component-btncolor)):not(:has(.r-tabs-anchor)),
.jcproto-page--home .jcproto-legacy-body-wrap .sitewidget-bd > span {
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
}

/* Legacy inline gray overrides */
.jcproto-legacy-body-wrap [style*="color:#777"],
.jcproto-legacy-body-wrap [style*="color: #777"],
.jcproto-legacy-body-wrap [style*="color:#777777"],
.jcproto-legacy-body-wrap [style*="color: #777777"],
.jcproto-legacy-body-wrap [style*="color:#666"],
.jcproto-legacy-body-wrap [style*="color: #666"],
.jcproto-legacy-body-wrap [style*="color:#666666"],
.jcproto-legacy-body-wrap [style*="color: #666666"],
.jcproto-legacy-body-wrap [style*="color:#4d4d49"],
.jcproto-legacy-body-wrap [style*="color: #4d4d49"],
.jcproto-legacy-body-wrap [style*="color:#4e4e49"],
.jcproto-legacy-body-wrap [style*="color: #4e4e49"],
.jcproto-legacy-body-wrap [style*="color:#5a5a55"],
.jcproto-legacy-body-wrap [style*="color: #5a5a55"],
.jcproto-legacy-body-wrap [style*="color:#444"],
.jcproto-legacy-body-wrap [style*="color: #444"],
.jcproto-legacy-body-wrap [style*="color:#444444"],
.jcproto-legacy-body-wrap [style*="color: #444444"] {
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
}

/* Homepage — section-specific fixes */
.jcproto-page--home #outerContainer_1756194596370 .sitewidget-bd div,
.jcproto-page--home #outerContainer_1756194596370 .sitewidget-bd span,
.jcproto-page--home #outerContainer_1756194596370 .sitewidget-bd b {
	font-size: var(--type-section) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: normal !important;
}

.jcproto-page--home #outerContainer_1676458523361 .sitewidget-text .sitewidget-bd > div:nth-child(2) span {
	font-size: var(--type-lead) !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	color: var(--jcproto-text-body) !important;
}

.jcproto-quote-banner__title {
	font-size: var(--type-panel) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: normal !important;
}

/* Capability / industry — service card titles */
body.jcproto-layout-capability .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .graphicNewTitle,
body.jcproto-layout-industry .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .graphicNewTitle,
body.jcproto-layout-capability .jcproto-legacy-body-wrap [class*="sitewidget-pictureNew"] .picture-description strong,
body.jcproto-layout-industry .jcproto-legacy-body-wrap [class*="sitewidget-pictureNew"] .picture-description strong {
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--jcproto-text) !important;
}

body.jcproto-layout-capability .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd strong span,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .box-container[data-layout-style] .sitewidget-text strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .box-container[data-layout-style] .sitewidget-text strong span,
body.jcproto-layout-industry .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd strong,
body.jcproto-layout-industry .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd strong span,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .box-container[data-layout-style="1"]:not(.jcproto-material-box--enhanced):has(> .container-column:nth-child(4)) > .container-column > .backstage-stwidgets-settingwrap:first-child .sitewidget-text .sitewidget-bd strong,
body.jcproto-layout-capability .jcproto-legacy-body-wrap .box-container[data-layout-style="1"]:not(.jcproto-material-box--enhanced):has(> .container-column:nth-child(4)) > .container-column > .backstage-stwidgets-settingwrap:first-child .sitewidget-text .sitewidget-bd strong span,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .box-container[data-layout-style] .sitewidget-text strong,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .box-container[data-layout-style] .sitewidget-text strong span {
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--jcproto-text) !important;
}

/* Capability intro band — overlay title (split-banner pages use panel) */
body.jcproto-has-inner-hero-band .jcproto-legacy-body-wrap #outerContainer_1776155199778 [class*="sitewidget-title"] h1 {
	font-size: var(--type-panel) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

body.jcproto-layout-capability:not(.jcproto-has-inner-hero-band) .jcproto-legacy-body-wrap #outerContainer_1776155199778 [class*="sitewidget-title"] h1 {
	font-size: var(--type-hero) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

/* Dark-band feature bullets */
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 [class*="sitewidget-graphicNew"] h2.graphicNewTitle {
	font-size: var(--type-step) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

/* Factory photos — gallery section labels */
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-text strong,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-text strong span,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd strong,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd strong span {
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

/* Tab labels — UI size, not card titles */
.prodTabList-prodName,
.jcproto-legacy-body-wrap .sitewidget-prodTabList .r-tabs-nav .r-tabs-anchor,
.jcproto-legacy-body-wrap .r-tabs-nav .r-tabs-anchor {
	font-size: var(--type-ui) !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
}

/* Factory photos gallery hover — see company-hub-polish.css */

/* ── Dark bands — restore light text after body-color normalization ─ */
.jcproto-legacy-body-wrap .jcproto-dark-band,
.jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-bd,
.jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-bd span,
.jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-bd p,
.jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-bd li,
.jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-bd div,
.jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-hd,
.jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-hd *,
.jcproto-legacy-body-wrap .jcproto-dark-band .graphicNewTitle,
.jcproto-legacy-body-wrap .jcproto-dark-band .graphicNewTitle * {
	color: rgba(255, 255, 255, 0.88) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.88) !important;
}

.jcproto-legacy-body-wrap .jcproto-dark-band .sitewidget-hd h2,
.jcproto-legacy-body-wrap .jcproto-dark-band .graphicNewTitle,
.jcproto-legacy-body-wrap .jcproto-dark-band h2,
.jcproto-legacy-body-wrap .jcproto-dark-band h3.graphicNewTitle {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Light service cards on dark bands — keep text/icons readable (fill overrides color in WebKit) */
.jcproto-legacy-body-wrap .jcproto-dark-band .service-section .service_box,
.jcproto-legacy-body-wrap .jcproto-dark-band .service-section .service_box .info_title,
.jcproto-legacy-body-wrap .jcproto-dark-band .service-section .service_box .info_msg,
.jcproto-legacy-body-wrap .jcproto-dark-band .service-section .service_box .info_title *,
.jcproto-legacy-body-wrap .jcproto-dark-band .service-section .service_box .info_msg *,
.jcproto-legacy-body-wrap .jcproto-dark-band .service-section .service_box .icon_service i,
.jcproto-legacy-body-wrap .jcproto-dark-band .service-section .service_box .icon_service i::before {
	color: #0b0b0b !important;
	-webkit-text-fill-color: #0b0b0b !important;
}

.jcproto-legacy-body-wrap .jcproto-dark-band .service-section .service_box .info_msg,
.jcproto-legacy-body-wrap .jcproto-dark-band .service-section .service_box .info_msg * {
	color: #3f3f3a !important;
	-webkit-text-fill-color: #3f3f3a !important;
}

/* Homepage jumpNum / process dark band */
.jcproto-page--home #outerContainer_1675415757527,
.jcproto-page--home #outerContainer_1675415757527 .sitewidget-bd,
.jcproto-page--home #outerContainer_1675415757527 .sitewidget-bd span,
.jcproto-page--home #outerContainer_1675415757527 .sitewidget-bd p,
.jcproto-page--home #outerContainer_1675415757527 .sitewidget-bd li,
.jcproto-page--home #outerContainer_1675415757527 .sitewidget-bd div,
.jcproto-page--home #outerContainer_1675415757527 .sitewidget-hd,
.jcproto-page--home #outerContainer_1675415757527 .sitewidget-hd *,
.jcproto-page--home #outerContainer_1675415757527 .graphicNewTitle,
.jcproto-page--home #outerContainer_1675415757527 .graphicNewTitle *,
.jcproto-page--home #outerContainer_1675415757527 [class*="jumpNum"] *,
.jcproto-page--home #outerContainer_1675415757527 .sitewidget-jumpNum * {
	color: rgba(255, 255, 255, 0.78) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.78) !important;
}

.jcproto-page--home #outerContainer_1675415757527 .sitewidget-hd h2,
.jcproto-page--home #outerContainer_1675415757527 .graphicNewTitle,
.jcproto-page--home #outerContainer_1675415757527 [class*="jumpNum"] h3,
.jcproto-page--home #outerContainer_1675415757527 .sitewidget-jumpNum .jump-num {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.jcproto-page--home #outerContainer_1675415757527 a,
.jcproto-page--home #outerContainer_1675415757527 a * {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Homepage CTA dark band — body copy white; CTA contrast fixed in final cascade below */
.jcproto-page--home #outerContainer_1688363766964,
.jcproto-page--home #outerContainer_1688363766964 .sitewidget-bd,
.jcproto-page--home #outerContainer_1688363766964 .sitewidget-bd *:not(a):not(a *),
.jcproto-page--home #outerContainer_1688363766964 .sitewidget-hd,
.jcproto-page--home #outerContainer_1688363766964 .sitewidget-hd *:not(a):not(a *),
.jcproto-page--home #outerContainer_1688363766964 .graphicNewTitle,
.jcproto-page--home #outerContainer_1688363766964 .graphicNewTitle *:not(a):not(a *) {
	color: rgba(255, 255, 255, 0.88) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.88) !important;
}

/* Industry intro — LayerSlider fallback on light hero band */
body.jcproto-layout-industry .jcproto-legacy-body-wrap #outerContainer_1683530882336 .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt,
body.jcproto-layout-industry .jcproto-legacy-body-wrap #outerContainer_1683530882336 .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt span,
body.jcproto-layout-industry .jcproto-legacy-body-wrap #outerContainer_1683530882336 .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt div {
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
}

/* Rapid tooling — normalize legacy #666 body copy (siteblocks cards) */
body.jcproto-legacy--capabilities-rapid-tooling .jcproto-legacy-body-wrap .txt_bottom,
body.jcproto-legacy--capabilities-rapid-tooling .jcproto-legacy-body-wrap .txt_bottom span,
body.jcproto-legacy--capabilities-rapid-tooling .jcproto-legacy-body-wrap .main_text,
body.jcproto-legacy--capabilities-rapid-tooling .jcproto-legacy-body-wrap .main_text span,
body.jcproto-legacy--capabilities-rapid-tooling .jcproto-legacy-body-wrap #outerContainer_1745378374955 [class*="sitewidget-graphic"] .sitewidget-bd,
body.jcproto-legacy--capabilities-rapid-tooling .jcproto-legacy-body-wrap #outerContainer_1745378374955 [class*="sitewidget-graphic"] .sitewidget-bd span,
body.jcproto-legacy--capabilities-rapid-tooling .jcproto-legacy-body-wrap #outerContainer_1745378374955 [class*="sitewidget-graphic"] .sitewidget-bd div,
body.jcproto-legacy--capabilities-rapid-tooling .jcproto-legacy-body-wrap #outerContainer_1746772040340 [class*="sitewidget-graphic"] .sitewidget-bd,
body.jcproto-legacy--capabilities-rapid-tooling .jcproto-legacy-body-wrap #outerContainer_1746772040340 [class*="sitewidget-graphic"] .sitewidget-bd span,
body.jcproto-legacy--capabilities-rapid-tooling .jcproto-legacy-body-wrap #outerContainer_1746772040340 [class*="sitewidget-graphic"] .sitewidget-bd div {
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
	font-size: var(--type-body) !important;
}

/* Homepage process-flow — restore white text on dark band */
.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1684920715865 .jcproto-process-flow,
.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1684920715865 .jcproto-process-flow *,
.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1684920715865 .sitewidget-pictureNew:has(.jcproto-process-flow) .sitewidget-bd,
.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1684920715865 .sitewidget-pictureNew:has(.jcproto-process-flow) .sitewidget-bd * {
	color: rgba(255, 255, 255, 0.88) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.88) !important;
}

.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1684920715865 .jcproto-process-flow__title,
.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1684920715865 .jcproto-process-flow__title *,
.jcproto-page--home .jcproto-legacy-body-wrap #outerContainer_1684920715865 .jcproto-process-flow__number {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Sheet metal — service card titles */
body.jcproto-legacy--capabilities-sheet-metal-fabrication-service .jcproto-legacy-body-wrap #outerContainer_1684738853429 .sitewidget-bd strong,
body.jcproto-legacy--capabilities-sheet-metal-fabrication-service .jcproto-legacy-body-wrap #outerContainer_1684738853429 .sitewidget-bd strong span,
body.jcproto-legacy--capabilities-sheet-metal-fabrication-service .jcproto-legacy-body-wrap #outerContainer_1684738853429 .sitewidget-bd span strong {
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--jcproto-text) !important;
}

/* Capability “Why Choose Us” dark band (#outerContainer_1677488311974) */
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 {
	background-color: #1a1a1a !important;
}

body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .sitewidget-bd,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .sitewidget-bd span,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .sitewidget-bd p,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .sitewidget-bd div,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .sitewidget-hd,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .sitewidget-hd *,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .graphicNewTitle,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .graphicNewTitle *,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 [class*="sitewidget-graphicNew"] .sitewidget-bd,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 [class*="sitewidget-graphicNew"] .sitewidget-bd span,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .jcproto-smf-why-grid__title,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .jcproto-smf-why-grid__desc {
	color: rgba(255, 255, 255, 0.9) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.9) !important;
}

body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .graphicNewTitle,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 .sitewidget-hd h2,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677488311974 h2.graphicNewTitle {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Shared capability hero — LayerSlider fallback on light band */
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677466809581 .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677466809581 .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt span,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1677466809581 .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt div {
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
}

/* Industry / material — light widget heroes */
body.jcproto-layout-industry .jcproto-legacy-body-wrap #outerContainer_1683442844564 .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt,
body.jcproto-layout-industry .jcproto-legacy-body-wrap #outerContainer_1683442844564 .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt span,
body.jcproto-layout-industry .jcproto-legacy-body-wrap #outerContainer_1683442844564 .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt div,
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt,
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt span,
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero .terminal-wrapper.pc.jcproto-ls-fallback .ls-l.asl-txt div {
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
}

/* Industry pages — normalize slate-muted body copy */
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span,
body.jcproto-layout-industry .jcproto-legacy-body-wrap [class*="sitewidget-touchgraphicslider"] .sitewidget-bd,
body.jcproto-layout-industry .jcproto-legacy-body-wrap [class*="sitewidget-touchgraphicslider"] .sitewidget-bd span {
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
}

/* Legacy slate inline overrides */
.jcproto-legacy-body-wrap [style*="color:#64748b"],
.jcproto-legacy-body-wrap [style*="color: #64748b"],
.jcproto-legacy-body-wrap [style*="color:#475569"],
.jcproto-legacy-body-wrap [style*="color: #475569"] {
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
}

/* Injection molding — QC dark band */
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1772871101412 {
	background-color: #1a1a1a !important;
}

body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1772871101412,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1772871101412 .sitewidget-bd,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1772871101412 .sitewidget-bd span,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1772871101412 .sitewidget-bd p,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1772871101412 .sitewidget-bd div,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1772871101412 .sitewidget-hd,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1772871101412 .sitewidget-hd *,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1772871101412 .graphicNewTitle,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1772871101412 .graphicNewTitle * {
	color: rgba(255, 255, 255, 0.9) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.9) !important;
}

/* Vacuum casting — light hero CTA band */
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1678093093993,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1678093093993 .sitewidget-bd,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1678093093993 .sitewidget-bd span,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1678093093993 .sitewidget-bd p,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1678093093993 .sitewidget-bd div,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1678093093993 .sitewidget-hd,
body.jcproto-layout-capability .jcproto-legacy-body-wrap #outerContainer_1678093093993 .sitewidget-hd * {
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
}

/* Material hub — light widget hero copy */
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero,
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero .sitewidget-bd,
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero .sitewidget-bd span,
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero .sitewidget-bd div,
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero .sitewidget-hd,
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero .sitewidget-hd *,
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero .ls-l.asl-txt,
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero .ls-l.asl-txt span,
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029.jcproto-widget-hero .ls-l.asl-txt div {
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
}

/* Material enhanced light cards — body copy only (not title rows / CTA chips) */
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > .backstage-stwidgets-settingwrap:not(:has([style*="color:#ffffff"])):not(:has([style*="color: #ffffff"])):not(:has(strong)):not(:has(h3)):not(:has(b)) .sitewidget-bd,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > .backstage-stwidgets-settingwrap:not(:has([style*="color:#ffffff"])):not(:has([style*="color: #ffffff"])):not(:has(strong)):not(:has(h3)):not(:has(b)) .sitewidget-bd span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > .backstage-stwidgets-settingwrap:not(:has([style*="color:#ffffff"])):not(:has([style*="color: #ffffff"])):not(:has(strong)):not(:has(h3)):not(:has(b)) .sitewidget-text .sitewidget-bd,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > .backstage-stwidgets-settingwrap:not(:has([style*="color:#ffffff"])):not(:has([style*="color: #ffffff"])):not(:has(strong)):not(:has(h3)):not(:has(b)) .sitewidget-text .sitewidget-bd span {
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
	font-size: var(--type-body-sm) !important;
	line-height: 1.6 !important;
}

/* Material card titles — legacy <strong><span>…</span></strong> (text lives in span) */
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-card .sitewidget-text:has(strong):not(:has(a[href*="/instant-quote"])) strong span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-card .sitewidget-text:has(h3):not(:has(a[href*="/instant-quote"])) h3 span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-card .sitewidget-text:has(b):not(:has(a[href*="/instant-quote"])) b span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card .sitewidget-text:has(strong):not(:has(a[href*="/instant-quote"])) strong span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card .sitewidget-text:has(h3):not(:has(a[href*="/instant-quote"])) h3 span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card .sitewidget-text:has(b):not(:has(a[href*="/instant-quote"])) b span {
	color: var(--jcproto-text) !important;
	-webkit-text-fill-color: var(--jcproto-text) !important;
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	font-family: var(--jcproto-font-body, "Montserrat", system-ui, sans-serif) !important;
}

/* Material enhanced — text-only white chips (no <a>); leave instant-quote links alone */
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > .backstage-stwidgets-settingwrap:has([style*="color:#ffffff"]):not(:has(a)),
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > .backstage-stwidgets-settingwrap:has([style*="color: #ffffff"]):not(:has(a)),
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > [id^="component_"]:has([style*="color:#ffffff"]):not(:has(a)),
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > [id^="component_"]:has([style*="color: #ffffff"]):not(:has(a)) {
	background: var(--jcproto-primary, #0a0a0a) !important;
	background-color: var(--jcproto-primary, #0a0a0a) !important;
	border-color: var(--jcproto-primary, #0a0a0a) !important;
}

body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > .backstage-stwidgets-settingwrap:has([style*="color:#ffffff"]):not(:has(a)) .sitewidget-bd,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > .backstage-stwidgets-settingwrap:has([style*="color:#ffffff"]):not(:has(a)) .sitewidget-bd *,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > .backstage-stwidgets-settingwrap:has([style*="color: #ffffff"]):not(:has(a)) .sitewidget-bd,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > .backstage-stwidgets-settingwrap:has([style*="color: #ffffff"]):not(:has(a)) .sitewidget-bd *,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > [id^="component_"]:has([style*="color:#ffffff"]):not(:has(a)) .sitewidget-bd,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > [id^="component_"]:has([style*="color:#ffffff"]):not(:has(a)) .sitewidget-bd *,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > [id^="component_"]:has([style*="color: #ffffff"]):not(:has(a)) .sitewidget-bd,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-box--enhanced .jcproto-material-card > [id^="component_"]:has([style*="color: #ffffff"]):not(:has(a)) .sitewidget-bd * {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Homepage process CTA dark band — white text, exclude CTAs (white button needs dark label) */
.jcproto-page--home #outerContainer_1676011612636,
.jcproto-page--home #outerContainer_1676011612636 .sitewidget-bd,
.jcproto-page--home #outerContainer_1676011612636 .sitewidget-bd *:not(a):not(a *),
.jcproto-page--home #outerContainer_1676011612636 .sitewidget-hd,
.jcproto-page--home #outerContainer_1676011612636 .sitewidget-hd *:not(a):not(a *),
.jcproto-page--home #outerContainer_1676011612636 .graphicNewTitle,
.jcproto-page--home #outerContainer_1676011612636 .graphicNewTitle *:not(a):not(a *) {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Prototypes capability — shared dark materials band */
body.jcproto-legacy--capabilities-prototypes .jcproto-legacy-body-wrap #outerContainer_1677478315951,
body.jcproto-legacy--capabilities-prototypes .jcproto-legacy-body-wrap #outerContainer_1677478315951 .sitewidget-bd,
body.jcproto-legacy--capabilities-prototypes .jcproto-legacy-body-wrap #outerContainer_1677478315951 .sitewidget-bd *,
body.jcproto-legacy--capabilities-prototypes .jcproto-legacy-body-wrap #outerContainer_1677478315951 .sitewidget-hd,
body.jcproto-legacy--capabilities-prototypes .jcproto-legacy-body-wrap #outerContainer_1677478315951 .sitewidget-hd *,
body.jcproto-legacy--capabilities-prototypes .jcproto-legacy-body-wrap #outerContainer_1677478315951 .graphicNewTitle,
body.jcproto-legacy--capabilities-prototypes .jcproto-legacy-body-wrap #outerContainer_1677478315951 .graphicNewTitle * {
	color: rgba(255, 255, 255, 0.9) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.9) !important;
}

/* Surface finishing — dark table header cells */
body.jcproto-legacy--surface-finishing-services .jcproto-legacy-body-wrap #component_zyfuEkHaLBFn table tr:first-child td,
body.jcproto-legacy--surface-finishing-services .jcproto-legacy-body-wrap #component_zyfuEkHaLBFn table tr:first-child td span,
body.jcproto-legacy--surface-finishing-services .jcproto-legacy-body-wrap #component_zyfuEkHaLBFn table tr:first-child td * {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Plastic material quote chips — wrappers inherit body fill; force white on black */
body.jcproto-legacy--cnc-machining-plastic-material .jcproto-legacy-body-wrap .jcproto-material-card > [id^="component_"]:has(a[href*="/instant-quote"]),
body.jcproto-legacy--cnc-machining-plastic-material .jcproto-legacy-body-wrap .jcproto-material-card > [id^="component_"]:has(a[href*="/instant-quote"]) .sitewidget-bd,
body.jcproto-legacy--cnc-machining-plastic-material .jcproto-legacy-body-wrap .jcproto-material-card > [id^="component_"]:has(a[href*="/instant-quote"]) .sitewidget-bd *,
body.jcproto-legacy--cnc-machining-plastic-material .jcproto-legacy-body-wrap .jcproto-material-card > [id^="component_"]:has(a[href*="/instant-quote"]) a,
body.jcproto-legacy--cnc-machining-plastic-material .jcproto-legacy-body-wrap .jcproto-material-card > [id^="component_"]:has(a[href*="/instant-quote"]) a * {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Material card quote buttons — UI size (not card-title strong) */
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-card .sitewidget-text a[href*="/instant-quote"],
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-card .sitewidget-text a[href*="/instant-quote"] span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .jcproto-material-card .sitewidget-text a[href*="/instant-quote"] strong,
body.jcproto-layout-material .jcproto-legacy-body-wrap .box-container:not(.jcproto-material-box--enhanced) .sitewidget-text a[href*="/instant-quote"],
body.jcproto-layout-material .jcproto-legacy-body-wrap .box-container:not(.jcproto-material-box--enhanced) .sitewidget-text a[href*="/instant-quote"] span,
body.jcproto-layout-material .jcproto-legacy-body-wrap .box-container:not(.jcproto-material-box--enhanced) .sitewidget-text a[href*="/instant-quote"] strong {
	font-size: var(--type-ui-sm) !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
}

body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029 [style*="color:#ffffff"],
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029 [style*="color: #ffffff"],
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029 [style*="color:#fff"],
body.jcproto-layout-material .jcproto-legacy-body-wrap #outerContainer_1675493904029 [style*="color: #fff"],
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap #outerContainer_1675493904029 [class*="sitewidget-text"] .sitewidget-bd,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap #outerContainer_1675493904029 [class*="sitewidget-text"] .sitewidget-bd *,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap #outerContainer_1675493904029 [class*="sitewidget-text"] span[style*="color"] {
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
}

html body.jcproto-knowledge-article.jcproto-has-legacy-body .jcproto-article__content .sitewidget-text .sitewidget-bd strong,
html body.jcproto-knowledge-article.jcproto-has-legacy-body .jcproto-article__content .sitewidget-text .sitewidget-bd strong span,
html body.jcproto-knowledge-article.jcproto-has-legacy-body .jcproto-article__content .sitewidget-text .sitewidget-bd strong span span {
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--jcproto-text) !important;
}

/* Automotive — materials list labels (shared band ID across industry pages) */
body.jcproto-layout-industry .jcproto-legacy-body-wrap #outerContainer_1683453879892 .sitewidget-text .sitewidget-bd strong,
body.jcproto-layout-industry .jcproto-legacy-body-wrap #outerContainer_1683453879892 .sitewidget-text .sitewidget-bd strong span {
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--jcproto-text) !important;
}

/* Knowledge articles — beat legacy 18px inline subheads */
body.jcproto-knowledge-article .sitewidget-text .sitewidget-bd strong,
body.jcproto-knowledge-article .sitewidget-text .sitewidget-bd strong span,
body.jcproto-knowledge-article .sitewidget-text .sitewidget-bd strong span span,
body.jcproto-knowledge-article .jcproto-article__content .sitewidget-text .sitewidget-bd strong,
body.jcproto-knowledge-article .jcproto-article__content .sitewidget-text .sitewidget-bd strong span {
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--jcproto-text) !important;
}

/* Our Team — gallery tab labels on dark tiles */
body.jcproto-legacy--our-team .jcproto-legacy-body-wrap #siteblocks-setting-wrap-EVADQzvHIeqt .block11094 .textWra2 > li.textTile {
	color: rgba(255, 255, 255, 0.88) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.88) !important;
}

/* ── Homepage — section titles + contrast (final cascade) ───────
 * NOTE: .jcproto-page--home lives on an inner div, NOT on <body>.
 * Always use `html body .jcproto-page--home` (descendant), never `html body.jcproto-page--home`.
 */

/* Fig 1: Manufacturing Services title only (component_tsKrCIRfHyNt) — not the ISO body widget */
html body .jcproto-page--home #outerContainer_1675307738116 #component_tsKrCIRfHyNt .sitewidget-bd > div:first-child,
html body .jcproto-page--home #outerContainer_1675307738116 #component_tsKrCIRfHyNt .sitewidget-bd > div:first-child *,
html body .jcproto-page--home #outerContainer_1675307738116 .sitewidget-hd h2,
html body .jcproto-page--home #outerContainer_1675307738116 .graphicNewTitle,
html body .jcproto-page--home #outerContainer_1675307738116 .graphicNewTitle * {
	font-size: var(--type-section) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--jcproto-text) !important;
	-webkit-text-fill-color: var(--jcproto-text) !important;
}

/* ISO / lead paragraph under Fig 1 — regular body weight + size (separate .sitewidget-text widget) */
html body .jcproto-page--home #outerContainer_1675307738116 #component_nbphWIRKUwCt .sitewidget-bd,
html body .jcproto-page--home #outerContainer_1675307738116 #component_nbphWIRKUwCt .sitewidget-bd *,
html body .jcproto-page--home #outerContainer_1675307738116 .sitewidget-text .sitewidget-bd,
html body .jcproto-page--home #outerContainer_1675307738116 .sitewidget-text .sitewidget-bd * {
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1.72 !important;
	color: var(--jcproto-text-body) !important;
	-webkit-text-fill-color: var(--jcproto-text-body) !important;
}

/* Fig 4: Global cooperation map title → section title scale */
html body .jcproto-page--home #outerContainer_1676458163477 .sitewidget-bd > div:first-child,
html body .jcproto-page--home #outerContainer_1676458163477 .sitewidget-bd > div:first-child *,
html body .jcproto-page--home #outerContainer_1676458163477 .sitewidget-hd h2,
html body .jcproto-page--home #outerContainer_1676458163477 .graphicNewTitle,
html body .jcproto-page--home #outerContainer_1676458163477 .graphicNewTitle *,
html body .jcproto-page--home .jcproto-customers .jcproto-section__title,
html body .jcproto-page--home .jcproto-customers .jcproto-section__title * {
	font-size: var(--type-section) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--jcproto-text) !important;
	-webkit-text-fill-color: var(--jcproto-text) !important;
}

/* Fig 3: Process band title → section title + white on black */
html body .jcproto-page--home #outerContainer_1676011612636 .sitewidget-text .sitewidget-bd > div:first-child,
html body .jcproto-page--home #outerContainer_1676011612636 .sitewidget-text .sitewidget-bd > div:first-child *:not(a):not(a *),
html body .jcproto-page--home #outerContainer_1676011612636 .sitewidget-hd h2,
html body .jcproto-page--home #outerContainer_1676011612636 .jcproto-section__title,
html body .jcproto-page--home #outerContainer_1676011612636 .graphicNewTitle,
html body .jcproto-page--home #outerContainer_1676011612636 .graphicNewTitle * {
	font-size: var(--type-section) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Dark-band white fill — do NOT paint buttons/links (would clash with white CTA bg) */
html body .jcproto-page--home #outerContainer_1676011612636 .sitewidget-bd *:not(a):not(a *),
html body .jcproto-page--home #outerContainer_1688363766964 .sitewidget-bd *:not(a):not(a *),
html body .jcproto-page--home #outerContainer_1684920715865 .sitewidget-bd *:not(a):not(a *) {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Fig 2: Active product tab + READ MORE — white text on black fill */
html body .jcproto-page--home #outerContainer_1676458523361 .sitewidget-prodTabList .r-tabs-nav .r-tabs-state-active .r-tabs-anchor,
html body .jcproto-page--home #outerContainer_1676458523361 .sitewidget-prodTabList .r-tabs-nav .r-tabs-tab.r-tabs-state-active .r-tabs-anchor,
html body .jcproto-page--home #outerContainer_1676458523361 .sitewidget-prodTabList .r-tabs-nav .r-tabs-tab:first-child .r-tabs-anchor,
html body .jcproto-page--home #outerContainer_1676458523361 .sitewidget-prodTabList .r-tabs-nav .r-tabs-state-active .r-tabs-anchor *,
html body .jcproto-page--home #outerContainer_1676458523361 .sitewidget-prodTabList .r-tabs-nav .r-tabs-tab.r-tabs-state-active .r-tabs-anchor * {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

html body .jcproto-page--home #outerContainer_1676458523361 a.backstage-component-btncolor:not(.gbBgColor0),
html body .jcproto-page--home #outerContainer_1676458523361 a.backstage-component-btncolor:not(.gbBgColor0) *,
html body .jcproto-page--home #outerContainer_1676458495284 a.backstage-component-btncolor:not(.gbBgColor0),
html body .jcproto-page--home #outerContainer_1676458495284 a.backstage-component-btncolor:not(.gbBgColor0) * {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

/* Fig 3: Dark-band CTA — white button, dark label (must beat band white-fill) */
html body .jcproto-page--home #outerContainer_1676011612636 a.backstage-component-btncolor:not(.gbBgColor0),
html body .jcproto-page--home #outerContainer_1688363766964 a.backstage-component-btncolor:not(.gbBgColor0),
html body .jcproto-page--home #outerContainer_1684920715865 a.backstage-component-btncolor:not(.gbBgColor0),
html body .jcproto-page--home #outerContainer_1676011612636 a.backstage-component-btncolor:not(.gbBgColor0) *,
html body .jcproto-page--home #outerContainer_1688363766964 a.backstage-component-btncolor:not(.gbBgColor0) *,
html body .jcproto-page--home #outerContainer_1684920715865 a.backstage-component-btncolor:not(.gbBgColor0) * {
	color: var(--jcproto-primary, #0b0b0b) !important;
	-webkit-text-fill-color: var(--jcproto-primary, #0b0b0b) !important;
}

/* ── Company + KB pages — inline legacy sizes → site tokens ─── */
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:34px"],
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 34px"],
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:36px"],
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 36px"],
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:34px"] strong,
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 34px"] strong,
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:36px"] strong,
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 36px"] strong,
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:34px"] strong span,
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 34px"] strong span,
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:36px"] strong span,
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 36px"] strong span,
body.jcproto-legacy--our-team .jcproto-legacy-body-wrap #outerContainer_1685603472375 .sitewidget-text .sitewidget-bd span[style*="font-size:36px"],
body.jcproto-legacy--our-team .jcproto-legacy-body-wrap #outerContainer_1685603472375 .sitewidget-text .sitewidget-bd span[style*="font-size: 36px"] {
	font-size: var(--type-section) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--jcproto-text, #0a0a0a) !important;
	-webkit-text-fill-color: currentColor !important;
	font-family: var(--jcproto-font-display, inherit) !important;
}

body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:26px"],
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 26px"] {
	font-size: var(--type-panel) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--jcproto-text, #0a0a0a) !important;
	-webkit-text-fill-color: currentColor !important;
}

body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:17px"],
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 17px"],
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:18px"],
body.jcproto-layout-company .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 18px"] {
	font-size: var(--type-lead) !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	color: var(--jcproto-text-body, #475569) !important;
	-webkit-text-fill-color: currentColor !important;
}

body.jcproto-legacy--our-team .jcproto-legacy-body-wrap #siteblocks-setting-wrap-EVADQzvHIeqt .textTile,
body.jcproto-legacy--our-team .jcproto-legacy-body-wrap #siteblocks-setting-wrap-FmACjMlRTSGt .textTile {
	font-size: var(--type-ui) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}

body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap [class*="sitewidget-pictureNew"] .picture-description,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap [class*="sitewidget-pictureNew"] .picture-description span,
body.jcproto-legacy--factory-photos .jcproto-legacy-body-wrap [class*="sitewidget-pictureNew"] .picture-description strong {
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.75 !important;
}

body.jcproto-legacy--video .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videoBox .videoInfo,
body.jcproto-legacy--video .jcproto-legacy-body-wrap [class*="sitewidget-video"] .videoBox .videoInfo * {
	font-size: var(--type-subhead) !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

body.jcproto-legacy--aboutus .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .graphicNewTitle,
body.jcproto-legacy--aboutus .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-hd > h2,
body.jcproto-legacy--aboutus .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-hd > h3 {
	font-size: var(--type-card) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

/* Industry delivery band — 1380px shell (final cascade; beats 1180px legacy cap) */
body.jcproto-layout-industry.jcproto-has-legacy-body:not(.home) .jcproto-legacy-body-wrap #backstage-bodyArea > #outerContainer_1683443616379.outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer):not(#outerContainer_1774317314878):not(:has(.qin18464)) > .container,
body.jcproto-layout-industry.jcproto-has-legacy-body:not(.home) .jcproto-legacy-body-wrap #backstage-bodyArea > #outerContainer_1683443616379.outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer):not(#outerContainer_1774317314878):not(:has(.qin18464)) > .container-opened,
body.jcproto-layout-industry.jcproto-has-legacy-body:not(.home) .jcproto-legacy-body-wrap #backstage-bodyArea > #outerContainer_1700474736225.outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer):not(#outerContainer_1774317314878):not(:has(.qin18464)) > .container,
body.jcproto-layout-industry.jcproto-has-legacy-body:not(.home) .jcproto-legacy-body-wrap #backstage-bodyArea > #outerContainer_1700474736225.outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer):not(#outerContainer_1774317314878):not(:has(.qin18464)) > .container-opened,
body.jcproto-layout-industry.jcproto-has-legacy-body:not(.home) .jcproto-legacy-body-wrap #backstage-bodyArea > #outerContainer_1685602521346.outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer):not(#outerContainer_1774317314878):not(:has(.qin18464)) > .container,
body.jcproto-layout-industry.jcproto-has-legacy-body:not(.home) .jcproto-legacy-body-wrap #backstage-bodyArea > #outerContainer_1685602521346.outerContainer:not(.jcproto-inner-hero):not(.jcproto-empty-spacer):not(#outerContainer_1774317314878):not(:has(.qin18464)) > .container-opened {
	max-width: var(--jcproto-container, 1380px) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(1rem, 2vw, 2.5rem) !important;
	padding-right: clamp(1rem, 2vw, 2.5rem) !important;
	box-sizing: border-box !important;
}

/* Material pages — section column titles (nested legacy markup; beat body-copy inherit) */
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:34px"],
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 34px"],
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:34px"] span,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 34px"] span,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:34px"] strong,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 34px"] strong,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:34px"] strong span,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 34px"] strong span,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap #outerContainer_1701765448638 .sitewidget-text .sitewidget-bd strong,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap #outerContainer_1701765448638 .sitewidget-text .sitewidget-bd strong span {
	font-family: var(--jcproto-font-display, "Montserrat", system-ui, sans-serif) !important;
	font-size: var(--type-section) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.02em !important;
	color: var(--jcproto-text, #0a0a0a) !important;
	-webkit-text-fill-color: currentColor !important;
}

/* Material category nav band — section title large; pill links below stay ui size */
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap #outerContainer_1685181396802 .sitewidget-text .sitewidget-bd span[style*="font-size:26px"],
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap #outerContainer_1685181396802 .sitewidget-text .sitewidget-bd span[style*="font-size: 26px"],
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap #outerContainer_1685181396802 .sitewidget-text .sitewidget-bd span[style*="font-size:26px"] strong,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap #outerContainer_1685181396802 .sitewidget-text .sitewidget-bd span[style*="font-size: 26px"] strong,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap #outerContainer_1685181396802 .sitewidget-text .sitewidget-bd span[style*="font-size:26px"] strong span,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap #outerContainer_1685181396802 .sitewidget-text .sitewidget-bd span[style*="font-size: 26px"] strong span,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .outerContainer:has(.sitewidget-buttonGroup) > .container .sitewidget-text:first-of-type .sitewidget-bd span[style*="font-size:26px"],
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .outerContainer:has(.sitewidget-buttonGroup) > .container .sitewidget-text:first-of-type .sitewidget-bd span[style*="font-size: 26px"],
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .outerContainer:has(.sitewidget-buttonGroup) > .container .sitewidget-text:first-of-type .sitewidget-bd span[style*="font-size:26px"] strong,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .outerContainer:has(.sitewidget-buttonGroup) > .container .sitewidget-text:first-of-type .sitewidget-bd span[style*="font-size: 26px"] strong,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .outerContainer:has(.sitewidget-buttonGroup) > .container .sitewidget-text:first-of-type .sitewidget-bd span[style*="font-size:26px"] strong span,
html body.jcproto-layout-material.jcproto-has-legacy-body .jcproto-legacy-body-wrap .outerContainer:has(.sitewidget-buttonGroup) > .container .sitewidget-text:first-of-type .sitewidget-bd span[style*="font-size: 26px"] strong span {
	font-family: var(--jcproto-font-display, "Montserrat", system-ui, sans-serif) !important;
	font-size: var(--type-section) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.02em !important;
	color: var(--jcproto-text, #0a0a0a) !important;
	-webkit-text-fill-color: currentColor !important;
	text-align: center !important;
}

/* Resource pages — body copy under section headings (beat global 17px semibold UI rule) */
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:17px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 17px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:16px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 16px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:18px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 18px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:17px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 17px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:16px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 16px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd ul li span {
	font-size: var(--type-lead, 1rem) !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
	color: var(--jcproto-text-body, #475569) !important;
	-webkit-text-fill-color: currentColor !important;
}

/* Resource — inline list labels stay bold; body strong in copy inherits normal weight */
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd ul li strong {
	font-weight: 700 !important;
	color: var(--jcproto-text, #0a0a0a) !important;
}

body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:17px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 17px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:16px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 16px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:17px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 17px"] strong {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: 700 !important;
	line-height: inherit !important;
	letter-spacing: normal !important;
	color: var(--jcproto-text, #0a0a0a) !important;
}

/* Resource — section titles only (not paragraph strong) */
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd > span[style*="font-size:34px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd > span[style*="font-size: 34px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd > span[style*="font-size:36px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd > span[style*="font-size: 36px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .col-md-12 > [id^="location_"] > .backstage-stwidgets-settingwrap:first-child .sitewidget-text .sitewidget-bd strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-title"] .sitewidget-hd > h1,
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-title"] .sitewidget-hd > h2,
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .graphicNewTitle {
	font-family: var(--jcproto-font-display, "Montserrat", system-ui, sans-serif) !important;
	font-weight: 700 !important;
}

/* Resource pages — body copy under section headings (beat global 17px semibold UI rule) */
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:17px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 17px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:16px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 16px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:18px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 18px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:17px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 17px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:16px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 16px"],
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd ul li span {
	font-size: var(--type-lead, 1rem) !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
	color: var(--jcproto-text-body, #475569) !important;
	-webkit-text-fill-color: currentColor !important;
}

/* Resource — inline list labels stay bold; body strong in copy inherits normal weight */
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd ul li strong {
	font-weight: 700 !important;
	color: var(--jcproto-text, #0a0a0a) !important;
}

body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:17px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 17px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size:16px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd span[style*="font-size: 16px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size:17px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .sitewidget-bd span[style*="font-size: 17px"] strong {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: 700 !important;
	line-height: inherit !important;
	letter-spacing: normal !important;
	color: var(--jcproto-text, #0a0a0a) !important;
}

/* Resource — section titles only (not paragraph strong) */
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd > span[style*="font-size:34px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd > span[style*="font-size: 34px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd > span[style*="font-size:36px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .sitewidget-text .sitewidget-bd > span[style*="font-size: 36px"] strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap .col-md-12 > [id^="location_"] > .backstage-stwidgets-settingwrap:first-child .sitewidget-text .sitewidget-bd strong,
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-title"] .sitewidget-hd > h1,
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-title"] .sitewidget-hd > h2,
body.jcproto-layout-resource .jcproto-legacy-body-wrap [class*="sitewidget-graphicNew"] .graphicNewTitle {
	font-family: var(--jcproto-font-display, "Montserrat", system-ui, sans-serif) !important;
	font-weight: 700 !important;
}

/* Industry application grid (3× col-md-4) — lock to body copy 17px after --type-body / 18px remap rules */
body.jcproto-layout-industry .jcproto-legacy-body-wrap .outerContainer:has(> .container > .row > .col-md-4:first-child):has(> .container > .row > .col-md-4:nth-child(2)):has(> .container > .row > .col-md-4:nth-child(3):last-child) .sitewidget-text.sitewidget-olul-liststyle,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .outerContainer:has(> .container > .row > .col-md-4:first-child):has(> .container > .row > .col-md-4:nth-child(2)):has(> .container > .row > .col-md-4:nth-child(3):last-child) .sitewidget-text.sitewidget-olul-liststyle .sitewidget-bd,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .outerContainer:has(> .container > .row > .col-md-4:first-child):has(> .container > .row > .col-md-4:nth-child(2)):has(> .container > .row > .col-md-4:nth-child(3):last-child) .sitewidget-text.sitewidget-olul-liststyle .sitewidget-bd > span,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .outerContainer:has(> .container > .row > .col-md-4:first-child):has(> .container > .row > .col-md-4:nth-child(2)):has(> .container > .row > .col-md-4:nth-child(3):last-child) .sitewidget-text.sitewidget-olul-liststyle .sitewidget-bd span,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .outerContainer:has(> .container > .row > .col-md-4:first-child):has(> .container > .row > .col-md-4:nth-child(2)):has(> .container > .row > .col-md-4:nth-child(3):last-child) .sitewidget-text.sitewidget-olul-liststyle .sitewidget-bd span[style*="font-size:18px"],
body.jcproto-layout-industry .jcproto-legacy-body-wrap .outerContainer:has(> .container > .row > .col-md-4:first-child):has(> .container > .row > .col-md-4:nth-child(2)):has(> .container > .row > .col-md-4:nth-child(3):last-child) .sitewidget-text.sitewidget-olul-liststyle .sitewidget-bd span[style*="font-size: 18px"],
body.jcproto-layout-industry .jcproto-legacy-body-wrap .outerContainer:has(> .container > .row > .col-md-4:first-child):has(> .container > .row > .col-md-4:nth-child(2)):has(> .container > .row > .col-md-4:nth-child(3):last-child) [class*="sitewidget-text"] .sitewidget-bd,
body.jcproto-layout-industry .jcproto-legacy-body-wrap .outerContainer:has(> .container > .row > .col-md-4:first-child):has(> .container > .row > .col-md-4:nth-child(2)):has(> .container > .row > .col-md-4:nth-child(3):last-child) [class*="sitewidget-text"] .sitewidget-bd span {
	font-family: var(--jcproto-font-body, "Montserrat", system-ui, sans-serif) !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	color: var(--jcproto-text-body, #475569) !important;
	-webkit-text-fill-color: var(--jcproto-text-body, #475569) !important;
}

/* Homepage video band — body copy (legacy inline 20px must not use --type-step) */
html body .jcproto-page--home #outerContainer_1675415757527 .sitewidget-bd span[style*="font-size:20px"],
html body .jcproto-page--home #outerContainer_1675415757527 .sitewidget-bd span[style*="font-size: 20px"],
html body .jcproto-page--home #outerContainer_1675415757527 .sitewidget-bd span[style*="font-size:20px"] span,
html body .jcproto-page--home #outerContainer_1675415757527 .sitewidget-bd span[style*="font-size: 20px"] span,
html body .jcproto-page--home .jcproto-video-block .jcproto-video-block__desc {
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1.72 !important;
}

/* Homepage video band — READ MORE CTA */
html body .jcproto-page--home #outerContainer_1675415757527 .sitewidget-buttonGroup .btnGroup-link,
html body .jcproto-page--home .jcproto-video-block .jcproto-btn--video-cta {
	display: inline-block !important;
	padding: 10px 24px !important;
	font-family: var(--jcproto-font-body, inherit);
	font-size: var(--type-ui) !important;
	font-weight: 600 !important;
	line-height: 1.25;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	background: #c62828 !important;
	background-color: #c62828 !important;
	border: none !important;
	border-radius: 4px;
	text-decoration: none !important;
}

html body .jcproto-page--home #outerContainer_1675415757527 .sitewidget-buttonGroup .btnGroup-link:hover,
html body .jcproto-page--home .jcproto-video-block .jcproto-btn--video-cta:hover {
	background: #b71c1c !important;
	background-color: #b71c1c !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	text-decoration: none !important;
}
