/* Type C Engineering / Commercial Conversion Page. */
.custom-manufacturing-page { overflow: clip; }
.cm-hero { position: relative; padding: calc(var(--header-height) + 48px) 0 0; color: var(--white); background: var(--navy); overflow: hidden; }
.cm-hero::before { position: absolute; inset: 0; background: radial-gradient(circle at 78% 32%,rgba(28,110,180,.2),transparent 32%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size: auto,56px 56px,56px 56px; content: ""; }
.cm-hero > * { position: relative; z-index: 1; }
.cm-hero .breadcrumbs { padding-top: 0; padding-bottom: 34px; color: #9eb0c2; }
.cm-hero .breadcrumbs a:hover { color: var(--white); }
.cm-hero-grid { display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 64px; padding-bottom: 70px; }
.cm-hero-copy .eyebrow { color: #8bc2ef; }
.cm-hero-copy h1 { max-width: 790px; margin-bottom: 25px; font-size: clamp(48px,5.2vw,73px); font-weight: 620; letter-spacing: -.055em; }
.cm-answer { max-width: 730px; margin-bottom: 30px; color: #c7d3de; font-size: 18px; line-height: 1.72; }
.cm-answer strong { color: var(--white); font-weight: 550; }
.button-cm-outline { color: var(--white); border-color: rgba(255,255,255,.38); }
.button-cm-outline:hover { color: var(--white); border-color: #8bc2ef; background: rgba(139,194,239,.09); }
.cm-inputs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.cm-inputs span { padding: 7px 10px; color: #c8d4df; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.13); border-radius: 4px; font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.cm-hero-visual { position: relative; margin: 0; }
.cm-hero-image { width: 100%; height: 440px; object-fit: cover; border: 1px solid rgba(255,255,255,.16); border-radius: 4px 36px 4px 4px; box-shadow: 0 30px 70px rgba(0,0,0,.28); }
.cm-hero-visual figcaption { padding-top: 9px; color: #9eb0c2; font-size: 11px; }
.cm-hero-note { position: absolute; right: -18px; bottom: 34px; width: min(340px,82%); padding: 23px; background: rgba(18,61,102,.97); border: 1px solid rgba(255,255,255,.16); box-shadow: 0 20px 48px rgba(0,0,0,.25); }
.cm-hero-note span { display: block; margin-bottom: 7px; color: #8bc2ef; font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.cm-hero-note strong { display: block; margin-bottom: 5px; color: var(--white); font-size: 17px; }
.cm-hero-note p { margin: 0; color: #b8c7d5; font-size: 11px; }
.cm-proof-strip { border-top: 1px solid rgba(255,255,255,.12); background: rgba(7,26,48,.56); }
.cm-proof-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.cm-proof-item { display: flex; min-height: 112px; align-items: center; gap: 16px; padding: 24px 20px; border-right: 1px solid rgba(255,255,255,.1); }
.cm-proof-item:last-child { border-right: 0; }
.cm-proof-item > span { color: #8bc2ef; font-size: 10px; font-weight: 850; }
.cm-proof-item strong,.cm-proof-item small { display: block; }
.cm-proof-item strong { color: var(--white); font-size: 13px; }
.cm-proof-item small { margin-top: 4px; color: #9eb0c2; font-size: 10px; line-height: 1.45; }

.cm-engineering { background: var(--surface); }
.cm-split { display: grid; grid-template-columns: 1.06fr .94fr; align-items: center; gap: 72px; }
.cm-feature-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.cm-feature-item { display: grid; grid-template-columns: 54px 1fr; gap: 19px; padding: 22px; background: var(--white); }
.cm-feature-item > span { color: var(--blue); font-size: 10px; font-weight: 850; }
.cm-feature-item h3 { margin-bottom: 7px; color: var(--navy); font-size: 18px; }
.cm-feature-item p { margin: 0; font-size: 13px; }
.cm-side-figure { margin: 0; }
.cm-side-image { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 4px 30px 4px 4px; box-shadow: var(--shadow-md); }
.cm-side-figure figcaption,.cm-tooling-figure figcaption,.cm-quality-figure figcaption { padding-top: 9px; color: var(--muted); font-size: 11px; }

.cm-tooling { color: var(--white); background: var(--navy); }
.cm-tooling .section-kicker { color: #8bc2ef; }
.cm-tooling .section-title { color: var(--white); }
.cm-tooling .section-intro { color: var(--muted-light); }
.cm-tooling-grid { display: grid; grid-template-columns: .94fr 1.06fr; align-items: stretch; gap: 52px; }
.cm-tooling-figure { margin: 0; }
.cm-tooling-image { width: 100%; min-height: 510px; height: 100%; object-fit: cover; border-radius: 4px 32px 4px 4px; }
.cm-tooling-figure figcaption { color: #9eb0c2; }
.cm-tooling-steps { border-top: 1px solid var(--line-dark); }
.cm-tooling-step { display: grid; grid-template-columns: 62px 1fr; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--line-dark); }
.cm-tooling-step > span { color: #8bc2ef; font-size: 10px; font-weight: 850; }
.cm-tooling-step h3 { margin-bottom: 7px; color: var(--white); font-size: 20px; }
.cm-tooling-step p { margin: 0; color: #a9b8c7; font-size: 13px; }

.cm-materials { background: var(--white); }
.cm-material-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.cm-material-card { min-height: 260px; padding: 30px; background: var(--surface); border: 1px solid transparent; border-radius: var(--radius-md); transition: transform .3s var(--ease),border-color .3s ease,box-shadow .3s ease; }
.cm-material-card:hover { border-color: var(--line); box-shadow: var(--shadow-sm); transform: translateY(-5px); }
.cm-material-card > span { display: block; margin-bottom: 48px; color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.cm-material-card h3 { margin-bottom: 12px; color: var(--navy); font-size: 21px; }
.cm-material-card p { margin: 0; font-size: 13px; }
.cm-compliance-note { margin: 24px 0 0; padding: 18px 20px; color: #536170; background: #f7f9fb; border-left: 3px solid var(--blue); font-size: 12px; }
.cm-compliance-note strong { color: var(--navy); }

.cm-validation { background: var(--surface); }
.cm-validation-track { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; }
.cm-validation-track::before { position: absolute; top: 25px; right: 6%; left: 6%; height: 1px; background: #b9c7d4; content: ""; }
.cm-validation-step { position: relative; z-index: 1; padding-right: 24px; }
.cm-validation-step > span { display: grid; width: 50px; height: 50px; margin-bottom: 24px; place-items: center; color: var(--blue); background: var(--surface); border: 1px solid #9eb2c3; border-radius: 50%; box-shadow: 0 0 0 8px var(--surface); font-size: 10px; font-weight: 850; }
.cm-validation-step h3 { margin-bottom: 9px; color: var(--navy); font-size: 18px; }
.cm-validation-step p { margin: 0; font-size: 12px; }

.cm-production { background: var(--white); }
.cm-production-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.cm-production-card { display: grid; grid-template-columns: 42% 58%; min-height: 270px; overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); transition: transform .3s var(--ease),box-shadow .3s ease; }
.cm-production-card:hover { box-shadow: var(--shadow-md); transform: translateY(-5px); }
.cm-production-card figure { margin: 0; overflow: hidden; }
.cm-production-image { width: 100%; height: 100%; min-height: 270px; object-fit: cover; transition: transform .5s var(--ease); }
.cm-production-card:hover .cm-production-image { transform: scale(1.035); }
.cm-production-card > div { padding: 27px; }
.cm-production-card span { color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.cm-production-card h3 { margin: 26px 0 10px; color: var(--navy); font-size: 21px; }
.cm-production-card p { font-size: 13px; }

.cm-quality { background: var(--surface); }
.cm-quality-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: start; gap: 64px; }
.cm-quality-figure { margin: 34px 0 0; }
.cm-quality-image { width: 100%; height: 250px; object-fit: cover; border-radius: 4px 24px 4px 4px; }
.cm-quality-panel { display: grid; grid-template-columns: 1fr 1fr; background: var(--white); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.cm-quality-stage { min-height: 205px; padding: 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cm-quality-stage > span { color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.cm-quality-stage h3 { margin: 28px 0 9px; color: var(--navy); font-size: 18px; }
.cm-quality-stage p { margin: 0; font-size: 12px; }
.cm-quality-note { grid-column: 1/-1; margin: 0; padding: 20px 24px; color: #596878; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 11px; }
.cm-quality-note strong { color: var(--navy); }
.cm-technical-review { background: var(--white); }
.cm-technical-review .technical-review { padding-top: 0; }
.custom-manufacturing-page .global-faq { background: var(--surface); }
.custom-manufacturing-page .global-rfq { background: var(--navy-2); }
.custom-manufacturing-page .related-links { background: var(--white); }

@media (max-width: 1080px) {
	.cm-hero-grid,.cm-split,.cm-tooling-grid,.cm-quality-grid { grid-template-columns: 1fr; }
	.cm-hero-visual,.cm-side-figure,.cm-tooling-figure { max-width: 760px; }
	.cm-proof-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.cm-proof-item:nth-child(2) { border-right: 0; }
	.cm-proof-item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
	.cm-validation-track { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 48px; }
	.cm-validation-track::before { display: none; }
	.cm-production-card { grid-template-columns: 1fr; }
	.cm-production-image { height: 250px; min-height: 0; }
}

@media (max-width: 780px) {
	.cm-hero { padding-top: calc(var(--header-height) + 28px); }
	.cm-hero .breadcrumbs { padding-bottom: 24px; }
	.cm-hero-grid { gap: 38px; }
	.cm-hero-copy h1 { font-size: 42px; }
	.cm-answer { font-size: 16px; }
	.cm-hero-image { height: 360px; }
	.cm-hero-note { position: static; width: 100%; margin-top: 12px; }
	.cm-material-grid,.cm-production-grid,.cm-validation-track { grid-template-columns: 1fr; }
	.cm-validation-step { display: grid; grid-template-columns: 52px 1fr; column-gap: 18px; padding-right: 0; }
	.cm-validation-step > span { grid-row: 1/span 2; margin-bottom: 0; }
	.cm-validation-step p { grid-column: 2; }
	.cm-quality-panel { grid-template-columns: 1fr; }
	.cm-quality-note { grid-column: auto; }
}

@media (max-width: 480px) {
	.cm-hero-copy h1 { font-size: 36px; }
	.cm-hero-image { height: 300px; }
	.cm-hero .hero-actions { display: grid; }
	.cm-hero .hero-actions .button { width: 100%; }
	.cm-proof-grid { grid-template-columns: 1fr; }
	.cm-proof-item { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
	.cm-proof-item:last-child { border-bottom: 0; }
	.cm-tooling-image { min-height: 330px; }
	.cm-production-card > div { padding: 23px; }
}

@media (prefers-reduced-motion: reduce) {
	.cm-material-card:hover,.cm-production-card:hover,.cm-production-card:hover .cm-production-image { transform: none; }
}
