/*
Theme Name: ProtoClone
Description: 高保真复刻 B2B 数字制造站版式的自定义主题(品牌资产为原创占位替代)
Version: 0.3.3
Author: Dev Team
Text Domain: protoclone
*/

/* ===== 字体(DM Sans 可变字重,本地部署,OFL 协议) ===== */
@font-face {
  font-family: "DM Sans";
  src: url("assets/fonts/dmsans-500.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}

@media (max-width: 700px) {
  .page-hero.robotics-hero .ph-grid { grid-template-columns: 1fr; min-height: 0; }
  .page-hero.robotics-hero .ph-grid > div:first-child { min-height: 330px; margin-left: 0; padding: 38px 24px; }
  .page-hero.robotics-hero .ph-media { min-height: 220px; }
}

/* Educators & Students */
.educators-page { color: #313740; }
.educators-breadcrumbs { padding: 16px 0; font-size: 13px; }
.educators-breadcrumbs a, .educators-page a { color: #0787bd; }
.educators-hero { background: #343a44; color: #fff; padding: 57px 0 61px; }
.educators-hero h1 { margin: 0 0 20px; color: #fff; font-size: 45px; line-height: 1.1; }
.educators-hero p { max-width: 1080px; margin: 0; color: #fff; font-size: 17px; font-weight: 600; line-height: 1.55; }
.educators-intro { padding: 79px 0 75px; }
.educators-intro-grid { display: grid; grid-template-columns: 450px 1fr; align-items: stretch; max-width: 1158px; }
.educators-intro-copy { display: flex; align-items: center; padding: 36px 40px; background: #fff; }
.educators-intro-copy p { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.68; }
.educators-intro-grid > img { display: block; width: 100%; height: 420px; object-fit: cover; }
.educators-resource-links { padding: 20px 0 73px; }
.educators-link-grid, .educators-service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 49px 130px; max-width: 1090px; margin: 0 auto; }
.educators-link, .educators-service { display: grid; grid-template-columns: 145px 1fr; gap: 28px; align-items: center; color: inherit; text-decoration: none; }
.educators-link img { width: 145px; height: 124px; object-fit: contain; }
.educators-link h2, .educators-service h2 { margin: 0 0 12px; color: #0787bd; font-size: 19px; line-height: 1.2; text-decoration: underline; }
.educators-link p, .educators-service p { margin: 0; font-size: 17px; line-height: 1.45; }
.educators-campus { padding: 17px 0 95px; }
.educators-campus-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.educators-campus article { background: #474c56; color: #fff; }
.educators-campus img { display: block; width: 100%; height: 250px; object-fit: cover; }
.educators-campus h2 { margin: 0; padding: 16px 17px 6px; color: #fff; font-size: 17px; text-align: center; }
.educators-campus p { min-height: 90px; margin: 0; padding: 0 20px 20px; font-size: 14px; line-height: 1.4; text-align: center; }
.educators-manufacturing { padding: 0 0 86px; }
.educators-manufacturing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; max-width: 1158px; }
.educators-manufacturing h2, .educators-innovation h2 { margin: 0 0 13px; font-size: 33px; line-height: 1.18; }
.educators-manufacturing p { margin: 0 0 20px; font-size: 17px; line-height: 1.48; }
.educators-manufacturing img { width: 100%; height: 430px; object-fit: contain; }
.educators-services { padding: 0 0 95px; }
.educators-service-grid { gap: 47px 120px; }
.educators-service img { width: 92px; height: 102px; object-fit: contain; }
.educators-service { grid-template-columns: 96px 1fr; gap: 24px; align-items: start; }
.educators-quote { padding: 86px 0 82px; background: #343a44; color: #fff; }
.educators-quote blockquote { max-width: 1080px; margin: 0; color: #fff; font-size: 31px; font-weight: 600; line-height: 1.35; }
.educators-quote p { max-width: 1080px; margin: 25px 0 0; font-size: 14px; font-weight: 700; text-align: right; text-transform: uppercase; }
.educators-spotlight { padding: 103px 0; }
.educators-spotlight-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; max-width: 1158px; }
.educators-spotlight img { width: 100%; height: 343px; object-fit: cover; background: #eef0ef; }
.educators-spotlight h2 { margin: 0 0 16px; font-size: 30px; line-height: 1.17; }
.educators-spotlight p { margin: 0 0 40px; font-size: 17px; line-height: 1.48; }
.educators-spotlight a { font-size: 17px; font-weight: 700; }
.educators-innovation { padding: 0 0 105px; }
.educators-innovation > .wrap > h2 { text-align: center; }
.educators-innovation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 75px; margin: 45px 65px 0; }
.educators-innovation-grid article { min-height: 170px; border-top: 1px solid #d7dce1; padding-top: 20px; }
.educators-innovation-grid h3 { margin: 0 0 15px; font-size: 19px; }
.educators-innovation-grid p { margin: 0; font-size: 17px; line-height: 1.5; }
.educators-feedback { position: fixed; z-index: 250; top: 380px; right: 0; width: 24px; height: 138px; border: 0; border-radius: 6px 0 0 6px; background: #007fae; color: #fff; font: 600 14px/1 var(--font-sans); writing-mode: vertical-rl; transform: rotate(180deg); cursor: pointer; }
@media (max-width: 720px) {
	/* Materials landing page: the original switches its selector and material matrix
	 * to dense list/table forms instead of stacking desktop image cards. */
	.materials-selector-section { padding-top: 40px; padding-bottom: 36px; }
	.materials-selector-section .section-head { margin-bottom: 20px; }
	.materials-selector-section .svc-cards { display: grid; grid-template-columns: 1fr; gap: 9px; }
	.materials-selector-section .material-selector-card { min-height: 0; border: 0; border-radius: 0; box-shadow: none; background: #f2f5f7; }
	.materials-selector-section .material-selector-media { display: none; }
	.materials-selector-section .material-selector-card .card-body { min-height: 0; padding: 15px 16px 14px; }
	.materials-selector-section .material-selector-card h3 { margin: 0; font-size: 17px; line-height: 1.24; }
	.materials-selector-section .material-selector-card .arrow-link { margin-top: 6px; font-size: 14px; }
	body:has(.materials-root-hero) #by-process { padding-top: 0; }
	body:has(.materials-root-hero) .mat-table { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 4px; }
	body:has(.materials-root-hero) .mat-table.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body:has(.materials-root-hero) .mat-table li { padding: 7px 2px; font-size: 10px; line-height: 1.25; overflow-wrap: anywhere; }
	body:has(.materials-root-hero) .mat-panel h3 { margin-top: 18px; padding-bottom: 7px; font-size: 17px; }

	.educators-breadcrumbs { display: none; }
	.educators-hero { padding: 28px 0 29px; }
	.educators-hero h1 { margin-bottom: 19px; font-size: 30px; }
	.educators-hero p { font-size: 16px; line-height: 1.48; }
	.educators-intro { padding: 77px 0 49px; }
	.educators-intro-grid { display: flex; flex-direction: column-reverse; }
	.educators-intro-grid > img { height: 242px; }
	.educators-intro-copy { padding: 23px; }
	.educators-intro-copy p { font-size: 20px; line-height: 1.64; }
	.educators-resource-links { padding: 0 0 33px; }
	.educators-link-grid, .educators-service-grid { display: block; }
	.educators-link { display: block; margin-bottom: 52px; }
	.educators-link img { display: block; width: 155px; height: 133px; margin: 0 0 23px; }
	.educators-link h2, .educators-service h2 { margin-bottom: 12px; font-size: 18px; }
	.educators-link p, .educators-service p { font-size: 16px; line-height: 1.48; }
	.educators-campus { padding: 0 0 50px; }
	.educators-campus-grid { display: block; }
	.educators-campus article { margin-bottom: 38px; }
	.educators-campus img { height: 253px; }
	.educators-campus p { min-height: 0; padding: 0 24px 20px; font-size: 15px; }
	.educators-manufacturing { padding-bottom: 42px; }
	.educators-manufacturing-grid { display: flex; flex-direction: column-reverse; gap: 21px; }
	.educators-manufacturing img { height: 250px; }
	.educators-manufacturing h2, .educators-innovation h2 { font-size: 29px; }
	.educators-manufacturing p { font-size: 16px; line-height: 1.5; }
	.educators-services { padding-bottom: 48px; }
	.educators-service { display: block; margin-bottom: 47px; }
	.educators-service img { display: block; width: 108px; height: 108px; margin: 0 0 20px; }
	.educators-quote { padding: 59px 42px; }
	.educators-quote blockquote { font-size: 20px; line-height: 1.45; }
	.educators-quote p { margin-top: 28px; font-size: 12px; line-height: 1.5; text-align: center; }
	.educators-spotlight { padding: 76px 0 69px; }
	.educators-spotlight-grid { display: block; }
	.educators-spotlight img { height: 250px; margin-bottom: 28px; }
	.educators-spotlight h2 { font-size: 25px; }
	.educators-spotlight p { margin-bottom: 22px; font-size: 16px; }
	.educators-innovation { padding-bottom: 66px; }
	.educators-innovation-grid { display: block; margin: 31px 0 0; }
	.educators-innovation-grid article { min-height: 0; margin-bottom: 31px; }
	.educators-feedback { top: 341px; width: 35px; height: 133px; }
}

/* Industries landing: the narrow reference turns the six industry links into
   full editorial cards, while the two following articles are text-first and
   the resource area shows one carousel card at a time. */
@media (max-width: 720px) {
  body:has(.ind-tiles) .ind-tiles { gap: 20px; }
  body:has(.ind-tiles) .ind-tile { display: block; border-radius: 2px; }
  body:has(.ind-tiles) .ind-tile img { display: block; width: 100%; height: 160px; }
  body:has(.ind-tiles) .ind-tile span { min-height: 94px; padding: 19px 16px; }
  body:has(.ind-tiles) .split > .wrap > img { display: none; }
  body:has(.ind-tiles) .res-grid.cols-3 > article:nth-child(n+2) { display: none; }
}

/* Guides and Trend Reports */
.guides-page { background: #fff; color: #292b2f; }
.guides-page .wrap { max-width: 1185px; padding-left: 30px; padding-right: 30px; }
.guides-breadcrumbs { border: 0; padding-top: 15px; padding-bottom: 0; background: #fff; }
.guides-hero { margin-top: 13px; padding: 48px 0 52px; background: #f1f2f3; }
.guides-hero h1 { max-width: 850px; margin: 0; font-size: 43px; line-height: 1.12; letter-spacing: -.65px; }
.guides-hero p { max-width: 780px; margin: 23px 0 0; font-size: 17px; line-height: 1.55; }
.guides-library { padding: 48px 0 80px; }
.guides-section + .guides-section { margin-top: 58px; }
.guides-section h2 { margin: 0; font-size: 29px; font-weight: 500; line-height: 1.2; }
.guides-rule { height: 1px; margin: 18px 0 24px; background: #d0d3d4; }
.guides-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; row-gap: 48px; align-items: start; }
.guide-card__media { display: block; height: 180px; overflow: hidden; background: #e9ecef; }
.guide-card__media img { display: none; }
.guide-card { min-height: 385px; }
.guide-card__media img { width: 100%; height: 180px; object-fit: cover; transition: transform .2s ease; }
.guide-card__media:hover img,
.guide-card__media:focus-visible img { transform: scale(1.025); }
.guide-card h3 { margin: 18px 0 9px; font-size: 17px; font-weight: 650; line-height: 1.3; }
.guide-card h3 a { color: #087a9c; text-decoration: none; }
.guide-card h3 a:hover,
.guide-card h3 a:focus-visible { text-decoration: underline; }
.guide-card p { margin: 0; font-size: 14px; line-height: 1.62; color: #33383d; }
.guides-feedback { position: fixed; z-index: 250; top: 380px; right: 0; width: 24px; height: 138px; border: 0; border-radius: 6px 0 0 6px; background: #007fae; color: #fff; font: 600 14px/1 var(--font-sans); writing-mode: vertical-rl; transform: rotate(180deg); cursor: pointer; }
body:has(.guides-page) .connect .wrap { max-width: 1185px; grid-template-columns: 340px 1fr; gap: 50px; padding: 11px 30px; }
body:has(.guides-page) .connect-form h3,
body:has(.guides-page) .connect-form p { display: none; }
body:has(.guides-page) .social-icons a { background: #fff; border-color: transparent; }
body:has(.guides-page) .social-icons svg { fill: #303640; }
body:has(.guides-page) .site-footer { font-size: 13px; }
body:has(.guides-page) .site-footer > .wrap { max-width: 1185px; padding-left: 30px; padding-right: 30px; }
body:has(.guides-page) .footer-grid a { padding-top: 2px; padding-bottom: 2px; }

@media (max-width: 720px) {
	.guides-breadcrumbs { display: none; }
	.guides-hero { margin-top: 0; padding: 22px 0 28px; background: #fff; }
	.guides-hero .wrap,
	.guides-library .wrap { padding-left: 7px; padding-right: 7px; }
	.guides-hero h1 { max-width: 355px; font-size: 29px; line-height: 1.16; letter-spacing: -.25px; }
	.guides-hero p { margin-top: 18px; font-size: 14px; line-height: 1.55; }
	.guides-library { padding: 14px 0 58px; }
	.guides-section + .guides-section { margin-top: 48px; }
	.guides-section h2 { font-size: 25px; }
	.guides-rule { margin: 15px 0 20px; }
	.guides-grid { grid-template-columns: 1fr; row-gap: 30px; }
	.guide-card { min-height: 350px; }
	.guide-card__media { height: 174px; }
	.guide-card h3 { margin-top: 13px; font-size: 16px; }
	.guide-card p { min-height: 0; font-size: 13.5px; line-height: 1.58; }
	.guides-feedback { top: 355px; }
	body:has(.guides-page) .connect .wrap { grid-template-columns: 1fr; gap: 26px; padding-top: 30px; padding-bottom: 30px; }
	body:has(.guides-page) .footer-grid { row-gap: 85px; padding-top: 60px; padding-bottom: 86px; }
	body:has(.guides-page) .footer-grid h4 { color: #fff; font-size: 18px; }
	body:has(.guides-page) .footer-grid > div:first-child h4 { font-size: 28px; font-weight: 600; }
	body:has(.guides-page) .footer-grid a,
	body:has(.guides-page) .site-footer { color: #fff; }
	body:has(.guides-page) .footer-grid a { padding-top: 0; padding-bottom: 0; }
	body:has(.guides-page) .footer-address { margin-top: 85px; }
}

@font-face {
  font-family: "DM Sans";
  src: url("assets/fonts/dmsans-400.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-024F, U+1E00-1EFF;
}

:root {
  --c-primary: #0078d2;
  --c-primary-dark: #005ca3;
  --c-accent: #2949e5;
  --c-ink: #343741;
  --c-ink-strong: #212121;
  --c-body: #4a5160;
  --c-muted: #687082;
  --c-bg-soft: #f5f7fa;
  --c-btn-tint: #d9edfb;
  --c-line: #e5e8ee;
  --font-sans: "DM Sans", "Segoe UI", "PingFang SC", "Microsoft YaHei", Helvetica, Arial, sans-serif;
  --w-max: 1320px;
  --header-h: 96px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-sans); color: var(--c-body); font-size: 16px; line-height: 1.65; background: #fff; -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; display: block; }
a { color: var(--c-primary); text-decoration: none; }
ul { list-style: none; }
button { font-family: inherit; }

.wrap { max-width: var(--w-max); margin: 0 auto; padding: 0 40px; }
.section { padding: 88px 0; }
.section--soft { background: var(--c-bg-soft); }
.section-head { max-width: 780px; margin: 0 auto 56px; text-align: center; }
.section-head h2 { font-size: 40px; font-weight: 500; color: var(--c-ink); line-height: 1.2; letter-spacing: -0.5px; }
.section-head p { margin-top: 14px; color: var(--c-muted); font-size: 17px; }

.btn { display: inline-block; padding: 15px 30px; border-radius: 6px; font-weight: 500; font-size: 16px; cursor: pointer; border: 0; transition: background .18s, color .18s, box-shadow .18s; text-align: center; }
.btn--primary { background: var(--c-primary); color: #fff; }
.btn--primary:hover { background: var(--c-primary-dark); }
.btn--tint { background: var(--c-btn-tint); color: var(--c-primary-dark); }
.btn--tint:hover { background: #c3e2f8; }
.btn--light { background: #fff; color: var(--c-ink); }
.btn--light:hover { background: var(--c-btn-tint); color: var(--c-primary-dark); }
.arrow-link { font-weight: 500; display: inline-flex; align-items: center; gap: 8px; font-size: 16px; }
.arrow-link::after { content: "→"; transition: transform .18s; }
.arrow-link:hover::after { transform: translateX(4px); }

/* ===================== 公告条 ===================== */
.announce { background: #14171e; color: #b9bfca; font-size: 13.5px; }
.announce .wrap { padding-top: 9px; padding-bottom: 9px; text-align: center; }
.announce a { color: #7cc4f8; }
.announce a:hover { text-decoration: underline; }

/* ===================== Header ===================== */
.site-header { background: #fff; position: sticky; top: 0; z-index: 300; box-shadow: 0 1px 0 rgba(0,0,0,.06); }
.site-header > .wrap { display: flex; align-items: stretch; height: var(--header-h); gap: 8px; }

.logo { display: flex; align-items: center; gap: 12px; margin-right: 40px; }
.logo-mark { width: 46px; height: 46px; flex: none; }
.logo-text { line-height: 1.1; }
.logo-text b { display: block; font-size: 24px; font-weight: 700; color: var(--c-primary); letter-spacing: 1.5px; }
.logo-text span { font-size: 12.5px; color: var(--c-muted); letter-spacing: .2px; }

.main-nav { display: flex; flex: 1; }
.main-nav > li { display: flex; }
.main-nav > li > a { display: flex; align-items: center; padding: 0 22px; color: var(--c-ink); font-size: 16.5px; font-weight: 500; position: relative; }
.main-nav > li:hover > a, .main-nav > li.is-open > a { background: var(--c-bg-soft); }

.header-tools { display: flex; align-items: center; gap: 22px; }
.icon-btn { background: none; border: 0; cursor: pointer; color: var(--c-ink); display: flex; align-items: center; gap: 6px; font-size: 15px; }
.account-btn { display: none; }
.icon-btn svg { width: 21px; height: 21px; }
.signin { color: var(--c-primary); font-size: 16.5px; font-weight: 500; margin: 0 6px; }
.signin:hover { text-decoration: underline; }
.nav-toggle { display: none; background: none; border: 0; font-size: 28px; cursor: pointer; color: var(--c-ink); }

/* ---- Mega menu ---- */
.mega { position: absolute; left: 0; right: 0; top: var(--header-h); background: #fff; border-top: 1px solid var(--c-line); box-shadow: 0 30px 50px -20px rgba(15,30,60,.25); display: none; }
.main-nav > li:hover .mega, .main-nav > li.is-open .mega { display: block; }
.mega-inner { max-width: var(--w-max); margin: 0 auto; display: grid; grid-template-columns: 1fr 380px; min-height: 420px; }
.mega-cols { display: flex; gap: 56px; padding: 52px 40px 60px; }
.mega-col { min-width: 180px; }
.mega-col + .mega-col { }
.mega-col h4 { font-size: 20px; font-weight: 500; color: var(--c-primary); padding-bottom: 14px; border-bottom: 1px solid var(--c-line); margin-bottom: 18px; white-space: nowrap; }
.mega-col h4.plain { color: var(--c-ink); }
.mega-col h4 a { color: inherit; }
.mega-col h4 a:hover { text-decoration: underline; }
.mega-col ul li a { display: block; padding: 8px 0; color: var(--c-ink); font-size: 16px; }
.mega-col ul li a:hover { color: var(--c-primary); }
.mega-col .rich a { display: block; padding: 12px 0; }
.mega-col .rich a b { display: block; color: var(--c-ink); font-size: 16.5px; font-weight: 700; }
.mega-col .rich a span { display: block; color: var(--c-muted); font-size: 14.5px; line-height: 1.5; margin-top: 3px; max-width: 300px; }
.mega-col .rich a:hover b { color: var(--c-primary); }
.mega-col address { font-style: normal; color: var(--c-body); font-size: 15.5px; line-height: 1.8; }

.mega-promo { background: var(--c-bg-soft); padding: 52px 44px; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.mega-promo .promo-img { width: 100%; border-radius: 4px; }
.mega-promo h3 { font-size: 24px; font-weight: 500; color: var(--c-ink); line-height: 1.3; }
.mega-promo p { color: var(--c-body); font-size: 15.5px; }
.mega-promo .btn { padding: 13px 26px; font-size: 15px; }

/* ===================== Hero ===================== */
.hero { background: var(--c-bg-soft); }
.hero .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding-top: 96px; padding-bottom: 96px; }
.hero h1 { font-size: 58px; line-height: 1.14; font-weight: 500; color: var(--c-ink); letter-spacing: -1px; }
.hero .lede { margin: 28px 0 36px; color: var(--c-body); font-size: 19px; max-width: 560px; }
.hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.hero-cert { margin-top: 72px; }
.hero-cert a { text-decoration: underline; font-weight: 500; font-size: 17px; }
.hero-cert p { color: var(--c-body); margin-top: 8px; font-size: 16.5px; }
.hero-media img, .hero-media svg { width: 100%; height: auto; }
.hero-media-blank { min-height: 270px; border-radius: 8px; background: #e3e8ec; }
.dark-review { padding: 54px 0 48px; background: #343b46; color: #fff; text-align: center; }
.dark-review h2 { margin: 0 0 15px; color: #fff; font-size: 30px; font-weight: 500; }
.dark-review p { max-width: 780px; margin: 0 auto 28px; color: #d9e0e7; }
.dark-review ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; max-width: 930px; margin: 0 auto 28px; padding: 0; list-style: none; }
.dark-review li::before { content: '●'; margin-right: 8px; color: #a8b400; font-size: 11px; }
@media (max-width: 700px) { .dark-review { padding: 40px 0; text-align: left; } .dark-review h2 { font-size: 25px; } .dark-review ul { grid-template-columns: 1fr; gap: 10px; } }

/* ===================== Cert bar ===================== */
.certbar { background: #fff; border-bottom: 1px solid var(--c-line); }
.certbar .wrap { display: flex; align-items: center; gap: 28px; padding-top: 20px; padding-bottom: 20px; flex-wrap: wrap; }
.certbar strong { color: var(--c-primary); font-size: 16px; font-weight: 500; text-decoration: underline; }
.certbar span { color: var(--c-body); font-size: 15.5px; }
.certbar span + span::before { content: "|"; margin-right: 28px; color: var(--c-line); }

/* ===================== Logo wall ===================== */
.logowall { padding: 40px 0; background: var(--c-bg-soft); border-bottom: 1px solid var(--c-line); }
.logowall .wrap { display: flex; align-items: center; gap: 48px; }
.logowall .label { color: var(--c-muted); font-size: 16px; width: 170px; flex: none; line-height: 1.4; }
.logowall-grid { display: flex; flex: 1; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.wordmark { color: #1f2430; opacity: .85; white-space: nowrap; }
.wordmark:hover { opacity: 1; }
.wm-1 { font-size: 22px; font-weight: 800; letter-spacing: 3px; }
.wm-2 { font-size: 26px; font-weight: 500; font-style: italic; font-family: Georgia, serif; }
.wm-3 { font-size: 18px; font-weight: 700; letter-spacing: 1px; }
.wm-4 { font-size: 26px; font-weight: 400; letter-spacing: -1px; }
.wm-5 { font-size: 20px; font-weight: 700; letter-spacing: 5px; }
.wm-6 { font-size: 23px; font-weight: 800; letter-spacing: 6px; }

/* ===================== Services accordion ===================== */
.svc-list { max-width: 980px; margin: 0 auto; border-top: 1px solid var(--c-line); }
.svc-item { border-bottom: 1px solid var(--c-line); }
.svc-item summary { display: flex; justify-content: space-between; align-items: center; padding: 28px 8px; font-size: 26px; font-weight: 500; color: var(--c-ink); cursor: pointer; list-style: none; }
.svc-item summary::-webkit-details-marker { display: none; }
.svc-item summary::after { content: "⌄"; font-size: 24px; color: var(--c-ink); transition: transform .2s; line-height: 1; }
.svc-item[open] summary::after { transform: rotate(180deg); }
.svc-body { display: grid; grid-template-columns: 1fr 340px; gap: 40px; padding: 0 8px 32px; color: var(--c-body); font-size: 16.5px; }
.svc-body img { border-radius: 6px; }

/* ===================== Services tabs(首页) ===================== */
.tabs-underline { display: flex; justify-content: center; gap: 8px; border-bottom: 1px solid var(--c-line); margin-bottom: 8px; flex-wrap: wrap; }
.tabs-underline button { background: none; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px; padding: 14px 26px; font-size: 17px; font-weight: 500; color: var(--c-ink); cursor: pointer; }
.tabs-underline button:hover { color: var(--c-primary); }
.tabs-underline button.is-active { color: var(--c-ink); border-bottom-color: var(--c-primary); }
.tab-panel.svc-panel { max-width: none; text-align: left; margin: 0; }
.svc-panel-grid { display: grid; grid-template-columns: 1fr 1fr 1.1fr; gap: 56px; align-items: center; padding-top: 48px; }
.svc-panel-grid h3 { font-size: 30px; font-weight: 500; color: var(--c-ink); margin-bottom: 14px; }
.svc-panel-grid p { color: var(--c-body); font-size: 16.5px; }
.svc-panel-grid img { border-radius: 8px; justify-self: end; }
.svc-checks li { position: relative; padding: 10px 0 10px 34px; color: var(--c-body); font-size: 16px; }
.svc-checks li::before { content: "✓"; position: absolute; left: 0; top: 10px; width: 22px; height: 22px; border-radius: 50%; background: var(--c-btn-tint); color: var(--c-primary-dark); font-size: 13px; display: flex; align-items: center; justify-content: center; font-weight: 700; }

/* 移动端服务手风琴(桌面隐藏) */
.svc-accordion { display: none; border-top: 1px solid var(--c-line); }
.svc-accordion details { border-bottom: 1px solid var(--c-line); }
.svc-accordion summary { display: flex; align-items: center; gap: 18px; padding: 14px 4px; cursor: pointer; list-style: none; }
.svc-accordion summary::-webkit-details-marker { display: none; }
.svc-accordion summary img { width: 90px; height: 60px; border-radius: 4px; flex: none; }
.svc-accordion summary span { flex: 1; font-size: 17px; font-weight: 700; color: var(--c-ink); }
.svc-accordion summary::after { content: "⌄"; color: var(--c-primary); font-size: 22px; line-height: 1; transition: transform .2s; }
.svc-accordion details[open] summary::after { transform: rotate(180deg); }
.svc-accordion .acc-body { padding: 4px 4px 22px; color: var(--c-body); }
.svc-accordion .acc-body .btn { margin-top: 14px; }

/* ===================== Dark banner ===================== */
.banner-dark { background: linear-gradient(95deg, #0d2036, #16375d); color: #fff; }
.banner-dark .wrap { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-top: 72px; padding-bottom: 72px; flex-wrap: wrap; }
.banner-dark h2 { font-size: 34px; font-weight: 500; }
.banner-dark p { color: #c3d2e6; max-width: 620px; margin-top: 12px; font-size: 17px; }

/* ===================== 视频占位 ===================== */
.video-ph { position: relative; aspect-ratio: 16/9; border-radius: 8px; background: linear-gradient(120deg, #101b2c, #1d3350 60%, #12233b); display: flex; align-items: center; justify-content: center; box-shadow: 0 16px 40px rgba(10,25,50,.25); }
.video-ph .play { width: 72px; height: 72px; border-radius: 50%; background: rgba(255,255,255,.92); position: relative; }
.video-ph .play::after { content: ""; position: absolute; left: 55%; top: 50%; transform: translate(-50%,-50%); border-style: solid; border-width: 13px 0 13px 22px; border-color: transparent transparent transparent var(--c-primary); }
.video-ph .vp-label { position: absolute; bottom: 14px; right: 18px; color: rgba(255,255,255,.55); font-size: 13px; }
.video-ph:hover .play { background: #fff; }

/* 品牌口号分栏变体 */
.brandband2 h2 { text-transform: uppercase; letter-spacing: 1px; }
.brandband2 h2 span { color: #17b26a; }

/* 生命周期/行业 文字卡 */
.lc-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.lc-card { background: var(--c-bg-soft); border-radius: 8px; padding: 30px 26px; }
.section--soft .lc-card, .section--soft .industries .lc-card { background: #fff; }
.lc-card h3 { font-size: 20px; font-weight: 700; color: var(--c-ink); margin-bottom: 10px; }
.lc-card p { color: var(--c-body); font-size: 15px; }
.lc-card .arrow-link { margin-top: 14px; font-size: 15px; }

/* ===================== Card carousel ===================== */
.carousel { position: relative; }
.carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 56px) / 3); gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px; }
.carousel-track::-webkit-scrollbar { display: none; }
.card { background: #fff; border-radius: 8px; overflow: hidden; scroll-snap-align: start; display: flex; flex-direction: column; box-shadow: 0 2px 10px rgba(20,35,60,.08); }
.card-media { aspect-ratio: 1.45; width: 100%; object-fit: cover; }
.card-body { padding: 26px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.card h3 { font-size: 21px; font-weight: 500; color: var(--c-ink); line-height: 1.35; }
.card p { color: var(--c-body); font-size: 15.5px; flex: 1; }
.carousel-nav { display: flex; gap: 12px; justify-content: center; margin-top: 26px; }
.carousel-nav button { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--c-line); background: #fff; font-size: 19px; cursor: pointer; color: var(--c-ink); }
.carousel-nav button:hover { background: var(--c-btn-tint); }

/* ===================== Brand band ===================== */
.brandband { background: var(--c-accent); color: #fff; text-align: center; }
.brandband .wrap { padding-top: 84px; padding-bottom: 84px; max-width: 900px; }
.brandband h2 { font-size: 40px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.brandband p { margin: 22px 0 32px; color: #dfe4ff; font-size: 17px; }

/* ===================== Steps ===================== */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.step { text-align: center; }
.step .step-media { border-radius: 8px; margin-bottom: 20px; }
.step h3 { font-size: 20px; font-weight: 500; color: var(--c-ink); margin-bottom: 8px; }
.step p { color: var(--c-body); font-size: 15.5px; }
.steps-cta { text-align: center; margin-top: 52px; }

/* ===================== Support ===================== */
.support .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.support h2 { font-size: 34px; font-weight: 500; color: var(--c-ink); margin-bottom: 16px; }
.support p { color: var(--c-body); margin-bottom: 28px; font-size: 16.5px; }
.support img { border-radius: 8px; }

/* ===================== Lifecycle tabs ===================== */
.tabs-nav { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.tabs-nav button { padding: 12px 26px; border-radius: 999px; border: 1px solid var(--c-line); background: #fff; font-weight: 500; font-size: 16px; cursor: pointer; color: var(--c-ink); }
.tabs-nav button.is-active { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.tab-panel { display: none; max-width: 800px; margin: 0 auto; text-align: center; color: var(--c-body); font-size: 17px; }
.tab-panel.is-active { display: block; }
.tab-panel h3 { color: var(--c-ink); font-size: 24px; font-weight: 500; margin-bottom: 12px; }

/* ===================== Industries ===================== */
.industries { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.ind-card { position: relative; border-radius: 8px; overflow: hidden; }
.ind-card > img, .ind-card > svg { width: 100%; }
.ind-card .ind-info { position: absolute; inset: auto 0 0 0; padding: 22px; background: linear-gradient(transparent, rgba(8,18,36,.9)); color: #fff; }
.ind-card h3 { font-size: 21px; font-weight: 500; }
.ind-card p { font-size: 14px; color: #d5deeb; margin: 6px 0 12px; }
.ind-card .arrow-link { color: #fff; font-size: 14.5px; }

/* ===================== Footer ===================== */
.site-footer { background: #14171e; color: #a7adba; font-size: 15px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 48px; padding: 72px 0 56px; }
.footer-grid h4 { color: #fff; font-size: 16px; font-weight: 500; margin-bottom: 18px; }
.footer-grid a { color: #a7adba; display: block; padding: 5px 0; }
.footer-grid a:hover { color: #fff; }
.footer-address { margin-top: 22px; }
.footer-bottom { border-top: 1px solid #2c313c; padding: 24px 0; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

/* ===================== 内页组件 ===================== */
.breadcrumbs { background: #eceff3; font-size: 13.5px; color: var(--c-muted); }
.breadcrumbs .wrap { padding-top: 10px; padding-bottom: 10px; }

.section-head.rule h2::after { content: ""; display: block; width: 54px; height: 3px; background: #a8b400; margin: 16px auto 0; }

.page-hero--media { padding: 56px 0 48px; }
.ph-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.ph-grid .hero-cert { margin-top: 44px; }

/* Plastic injection molding reference hero. */
.page-hero.plastic-injection-hero { min-height: 520px; padding: 67px 0 51px; }
.plastic-injection-hero .wrap { max-width: 1280px; }
.plastic-injection-hero h1 { max-width: 580px; font-size: 48px; line-height: 1.15; }
.plastic-injection-hero .lede { margin: 20px 0 19px; max-width: 520px; font-size: 16px; }
.plastic-injection-hero .hero-actions { gap: 16px; }
.plastic-injection-hero .hero-actions .btn + .btn { padding: 0; background: transparent; color: var(--c-primary); }
.plastic-injection-hero .hero-actions .btn + .btn::after { content: ' →'; margin-left: 4px; }
.plastic-injection-hero .hero-cert { margin-top: 124px; }
.plastic-injection-hero .ph-grid > img { background: var(--c-bg-soft); }
.plastic-injection-intro { padding: 54px 0 48px; background: #fff; }
.plastic-injection-intro .wrap { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 72px; max-width: 1185px; }
.plastic-injection-intro__nav { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; padding-top: 5px; font-size: 14px; }
.plastic-injection-intro__nav strong { margin-bottom: 7px; color: var(--c-ink); }
.plastic-injection-intro__nav a { color: var(--c-primary); text-decoration: underline; }
.plastic-injection-intro__nav a::before { content: '→ '; }
.plastic-injection-intro__copy { max-width: 710px; }
.plastic-injection-intro__copy h2 { margin: 0 0 18px; font-size: 30px; line-height: 1.15; }
.plastic-injection-intro__copy h3 { margin: 23px 0 11px; font-size: 17px; }
.plastic-injection-intro__copy p { margin: 0 0 14px; font-size: 15.5px; line-height: 1.52; }
.plastic-injection-intro__copy ul { margin: 0; padding-left: 20px; font-size: 15px; line-height: 1.7; }
.plastic-injection-quote { padding: 70px 0 64px; background: #171b22; color: #fff; text-align: center; }
.plastic-injection-quote .wrap { max-width: 930px; }
.plastic-injection-quote blockquote { margin: 0; font-size: 24px; font-weight: 600; line-height: 1.42; }
.plastic-injection-quote cite { display: block; margin-top: 18px; color: #d4d8dd; font-size: 14px; font-style: normal; }

/* CNC child pages share the compact, light two-column hero used by the source. */
.page-hero.cnc-service-hero { min-height: 500px; padding: 67px 0 51px; }
.cnc-service-hero .wrap { max-width: 1280px; }
.cnc-service-hero h1 { max-width: 580px; font-size: 48px; line-height: 1.15; }
.cnc-service-hero .lede { margin: 20px 0 19px; max-width: 520px; font-size: 16px; }
.cnc-service-hero .hero-cert { margin-top: 124px; }
.cnc-service-hero .ph-grid > img { background: var(--c-bg-soft); }

/* CNC production uses a compact photographic hero; the approved blank-media version keeps its neutral gray field. */
/* The production-CNC source keeps the breadcrumb above its full-width neutral media hero. */
body:has(.cnc-production-hero) .breadcrumbs { display: block; }
.page-hero.cnc-production-hero { min-height: 356px; padding: 45px 0 35px; background: #d1d0d1; }
.cnc-production-hero .wrap { max-width: 1220px; }
.cnc-production-hero h1 { max-width: 700px; font-size: 46px; line-height: 1.12; }
.cnc-production-hero .lede { margin: 14px 0 0; max-width: 560px; font-size: 16px; }
.cnc-production-hero .hero-actions { margin-top: 20px; }
.cnc-production-hero .hero-cert--plain { margin-top: 32px; }
.page-hero.cnc-production-hero + .logowall { background: #fff; }
.copy-block .wrap { max-width: 820px; }
.copy-block__intro { max-width: 760px; margin: 0 0 24px; font-size: 18px; line-height: 1.55; }
.copy-block h2 { margin: 26px 0 12px; font-size: 29px; line-height: 1.2; }
.copy-block h2 + p { max-width: 770px; margin: 0; font-size: 17px; line-height: 1.55; }

/* Threaded-holes guide: article column plus a titled guidance panel. */
body:has(.threaded-guidelines) .breadcrumbs { background: #fff; }
.article-aside { padding: 78px 0 82px; background: #fff; }
.article-aside .wrap { max-width: 1160px; }
.article-aside h1 { margin: 0 0 34px; font-size: 48px; line-height: 1.12; }
.article-aside__grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(310px, .82fr); gap: 66px; align-items: start; }
.article-aside article p { margin: 0 0 22px; font-size: 17px; line-height: 1.48; }
.article-aside article h2 { margin: 26px 0 17px; font-size: 29px; line-height: 1.2; }
.article-aside aside { border: 1px solid #e3e7eb; background: #f5f6f7; }
.article-aside aside h2 { margin: 0; padding: 14px 20px; background: #159ac8; color: #fff; font-size: 17px; line-height: 1.25; text-align: center; text-transform: uppercase; }
.article-aside aside ul { margin: 0; padding: 25px 28px 27px 52px; }
.article-aside aside li { margin: 0 0 17px; font-size: 16px; line-height: 1.5; }
.article-aside__mobile-aside { display: none; }

.page-hero.family-injection-hero { min-height: 432px; padding: 67px 0 52px; }
.family-injection-hero .wrap { max-width: 1280px; }
.page-hero.family-injection-hero h1 { max-width: 610px; font-size: 48px; line-height: 1.15; }
.page-hero.family-injection-hero .lede { margin: 20px 0 0; max-width: 900px; font-size: 16px; }
.page-hero.family-injection-hero .hero-actions { margin-top: 20px; }
.page-hero.family-injection-hero .hero-cert { margin-top: 47px; }
.page-hero.family-injection-hero + .logowall,
.page-hero.plastic-injection-hero + .logowall { background: #fff; }

.page-hero.prototype-injection-hero { min-height: 365px; padding: 60px 0 45px; }
.prototype-injection-hero .wrap { max-width: 1156px; }
.page-hero.prototype-injection-hero h1 { max-width: 900px; font-size: 45px; line-height: 1.15; }
.page-hero.prototype-injection-hero .lede { margin: 17px 0 0; max-width: 760px; font-size: 17px; }
.page-hero.prototype-injection-hero .hero-cert--plain { margin-top: 66px; }
.hero-cert--plain p + p { margin-top: 18px; }
.page-hero.prototype-injection-hero + .logowall { background: #fff; }

.page-hero.production-injection-hero { min-height: 520px; padding: 37px 0 51px; }
.production-injection-hero .wrap { max-width: 1280px; }
.page-hero.production-injection-hero h1 { max-width: 580px; font-size: 48px; line-height: 1.15; }
.page-hero.production-injection-hero .lede { margin: 20px 0 19px; max-width: 360px; font-size: 16px; }
.production-injection-hero .hero-actions { gap: 12px; }
.production-injection-hero .hero-actions .btn + .btn { padding: 15px 20px; background: #d7edf9; color: var(--c-primary); }
.production-injection-hero .hero-actions .btn + .btn::after { content: none; }
.production-injection-hero .hero-cert--plain { margin-top: 104px; }
.production-injection-hero .ph-grid > img { background: var(--c-bg-soft); }

.page-hero.quality-injection-hero { min-height: 520px; padding: 67px 0 51px; }
.quality-injection-hero .wrap { max-width: 1280px; }
.page-hero.quality-injection-hero h1 { max-width: 580px; font-size: 48px; line-height: 1.15; }
.page-hero.quality-injection-hero .lede { margin: 20px 0 19px; max-width: 600px; font-size: 16px; }
.quality-injection-hero .hero-actions { gap: 16px; }
.quality-injection-hero .hero-actions .btn + .btn { padding: 0; background: transparent; color: var(--c-primary); }
.quality-injection-hero .hero-actions .btn + .btn::after { content: ' →'; margin-left: 4px; }
.quality-injection-hero .hero-cert { margin-top: 93px; }
.quality-injection-hero .ph-grid > img { background: var(--c-bg-soft); }

/* CNC quality mirrors the light, two-action inspection hero. */
.page-hero.cnc-quality-hero { min-height: 520px; padding: 67px 0 51px; }
.cnc-quality-hero .wrap { max-width: 1280px; }
.cnc-quality-hero h1 { max-width: 580px; font-size: 48px; line-height: 1.15; }
.cnc-quality-hero .lede { margin: 20px 0 19px; max-width: 600px; font-size: 16px; }
.cnc-quality-hero .hero-actions { gap: 16px; }
.cnc-quality-hero .hero-actions .btn + .btn { padding: 0; background: transparent; color: var(--c-primary); }
.cnc-quality-hero .hero-actions .btn + .btn::after { content: ' →'; margin-left: 4px; }
.cnc-quality-hero .hero-cert--plain { margin-top: 62px; }
.cnc-quality-hero .hero-cert--plain p + p { margin-top: 18px; }
.cnc-quality-hero .ph-grid > img { background: var(--c-bg-soft); }

/* CNC finishing page uses a text-only light hero before the card library. */
body:has(.cnc-post-processing-hero) .breadcrumbs { background: #fff; }
.page-hero.cnc-post-processing-hero { min-height: 347px; padding: 61px 0 40px; }
.cnc-post-processing-hero .wrap { max-width: 1220px; }
.cnc-post-processing-hero h1 { max-width: none; font-size: 46px; line-height: 1.12; white-space: nowrap; }
.cnc-post-processing-hero .lede { max-width: 1120px; margin: 22px 0 0; font-size: 18px; line-height: 1.5; }
.cnc-post-processing-hero .hero-cert--plain { margin-top: 70px; }
.page-hero.cnc-post-processing-hero + .section { background: #fff; }
@media (min-width: 721px) {
  .page-hero.cnc-post-processing-hero { padding-top: 78px; }
}

/* Aerospace keeps the compact media hero and reverses the following image/copy pair. */
.page-hero.cnc-aerospace-hero { min-height: 0; padding: 34px 0 37px; }
.cnc-aerospace-hero .wrap { max-width: 1280px; }
.cnc-aerospace-hero h1 { max-width: 580px; font-size: 46px; line-height: 1.15; }
.cnc-aerospace-hero .lede { margin: 20px 0 19px; max-width: 600px; font-size: 16px; }
.cnc-aerospace-hero .hero-cert { margin-top: 44px; }
.cnc-aerospace-hero .ph-grid > img { background: var(--c-bg-soft); }
.cnc-aerospace-hero .ph-grid > img { display: block; width: 100%; min-height: 330px; aspect-ratio: 1.6; background: #e1e6ed; }

.page-hero.secondary-operations-hero { min-height: 520px; padding: 67px 0 45px; }
.secondary-operations-hero .wrap { max-width: 1280px; }
.page-hero.secondary-operations-hero h1 { max-width: 420px; font-size: 46px; line-height: 1.18; }
.page-hero.secondary-operations-hero .lede { margin: 22px 0 0; max-width: 415px; font-size: 18px; line-height: 1.55; }
.secondary-operations-hero .hero-actions { margin-top: 22px; }
.secondary-operations-hero .ph-grid { grid-template-columns: .85fr 1.15fr; gap: 62px; }
.secondary-operations-hero .ph-grid > img { width: 100%; height: auto; background: var(--c-bg-soft); }

.page-hero.medical-injection-hero { min-height: 402px; padding: 67px 0 36px; }
.medical-injection-hero .wrap { max-width: 1280px; }
.page-hero.medical-injection-hero h1 { max-width: none; font-size: 48px; line-height: 1.15; white-space: nowrap; }
.page-hero.medical-injection-hero .lede { margin: 13px 0 0; max-width: 610px; font-size: 16px; }
.medical-injection-hero .hero-actions { margin-top: 16px; }
.medical-injection-hero .hero-cert { margin-top: 44px; }
.medical-injection-hero .ph-grid { grid-template-columns: .9fr 1.1fr; gap: 68px; }
.hero-media-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 58px 62px; align-items: center; }
.hero-media-grid img { display: block; width: 100%; height: auto; background: var(--c-bg-soft); }
.medical-injection-hero .hero-media-grid img { min-height: 100px; aspect-ratio: 1; background: #e1e6ed; }

.svc-cards--titled .tcard, .quote-cards .tcard { align-items: center; text-align: center; padding: 26px 22px; gap: 18px; }
.quote-cards .quote-card-media { width: 100%; height: auto; }
.services-mobile-break { display: none; }
.tcard h3 { font-size: 20px; font-weight: 700; color: var(--c-ink); }
.tcard p { color: var(--c-body); font-size: 15px; flex: 1; }
.tcard .btn { width: 80%; padding: 12px 18px; font-size: 15px; }
.quote-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; max-width: 1100px; margin: 0 auto; }

.bullet-links { list-style: disc; padding-left: 22px; }
.bullet-links li { padding: 4px 0; }
.bullet-links a { font-weight: 500; text-decoration: underline; }
.bullet-plain { list-style: disc; padding-left: 22px; margin-top: 14px; }
.bullet-plain li { padding: 4px 0; color: var(--c-body); }

/* 服务详情:品牌色 hero */
.page-hero.page-hero--brand { background: linear-gradient(100deg, var(--c-primary-dark), var(--c-primary)); color: #fff; padding: 56px 0; }
.page-hero.page-hero--brand h1 { color: #fff; }
.page-hero.page-hero--brand .lede { color: #dcecfa; }
.btn--ghost-light { border: 2px solid rgba(255,255,255,.75); color: #fff; background: transparent; }
.btn--ghost-light:hover { background: rgba(255,255,255,.12); }

/* 深色 Hero */
.page-hero.page-hero--dark { background: linear-gradient(100deg, #0a0e14, #1a2330 70%, #10161f); color: #fff; padding: 64px 0; }
.page-hero.page-hero--dark h1 { color: #fff; }
.page-hero.page-hero--dark .lede { color: #c3cbd8; max-width: 560px; }
.page-hero.page-hero--dark .hero-cert a { color: #7cc4f8; }
.page-hero.page-hero--dark .hero-cert p { color: #aeb6c4; }
body:has(.ind-tiles) .page-hero.page-hero--dark { min-height: 430px; padding: 45px 0 0; }
body:has(.ind-tiles) .page-hero.page-hero--dark + .logowall { padding: 30px 0; background: #fff; }
/* Automotive uses the same broad, pale hero rhythm as its source page; imagery stays intentionally blank. */
.page-hero.automotive-hero { min-height: 307px; padding: 46px 0 34px; background: #e4f4fb; }
.page-hero.automotive-hero .wrap { max-width: 1174px; padding-right: 0; padding-left: 0; }
.page-hero.automotive-hero h1 { max-width: 630px; color: #30343a; }
.page-hero.automotive-hero .lede { max-width: 680px; }
/* Robotics keeps the source composition: copy on a muted left field and an intentionally blank media field on the right. */
.page-hero.robotics-hero { padding: 0; background: #eef1f2; }
.page-hero.robotics-hero .wrap { max-width: none; padding: 0; }
.page-hero.robotics-hero .ph-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 462px; }
.page-hero.robotics-hero .ph-grid > div:first-child { display: flex; flex-direction: column; justify-content: center; max-width: 610px; margin-left: max(24px, calc((100vw - 1174px) / 2)); }
.page-hero.robotics-hero .ph-media { min-height: 462px; background: #dce1e1; }
.page-hero.robotics-hero h1 { max-width: 570px; color: #30343a; }
/* Consumer electronics follows the source's full-width dark photographic hero with a deliberately blank tonal field. */
.page-hero.page-hero--dark.consumer-electronics-hero { min-height: 462px; padding: 0; background: #413a34; }
.page-hero.consumer-electronics-hero .wrap { max-width: 1174px; padding-right: 0; padding-left: 0; }
.page-hero.consumer-electronics-hero .wrap > div { min-height: 462px; display: flex; flex-direction: column; justify-content: center; max-width: 640px; }
.page-hero.consumer-electronics-hero h1 { max-width: 600px; }
/* Industrial equipment uses the source's broad agricultural-green hero, without copying its photograph. */
.page-hero.page-hero--dark.industrial-equipment-hero { min-height: 517px; padding: 0; background: #1e3613; }
.page-hero.industrial-equipment-hero .wrap { max-width: 1174px; padding-right: 0; padding-left: 0; }
.page-hero.industrial-equipment-hero .wrap > div { min-height: 517px; display: flex; flex-direction: column; justify-content: center; max-width: 650px; }
.page-hero.industrial-equipment-hero h1 { max-width: 640px; }
/* ISO certification overview: source's high-contrast split hero with blank media. */
.iso-breadcrumbs { border-bottom:1px solid #ececec; background:#fff; }
.iso-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }
.iso-hero { display:grid; grid-template-columns:1.23fr .77fr; min-height:422px; background:#000; color:#fff; }
.iso-hero-copy { display:flex; align-items:center; justify-content:flex-end; padding:58px 78px 58px 30px; }
.iso-hero-copy>div { width:min(100%,610px); }
.iso-hero h1 { margin:0 0 22px; font-size:46px; line-height:1.18; max-width:520px; }
.iso-hero p { margin:0; max-width:620px; font-size:17px; line-height:1.52; }
.iso-hero-media { background:#1a2029; }
.iso-region { padding:58px 0 68px; text-align:center; }
.iso-region:nth-of-type(even) { background:#f7f8fa; }
.iso-region h2,.iso-cta h2 { margin:0 0 12px; font-size:33px; }
.iso-region>.wrap>p { margin:0 auto 38px; max-width:910px; font-size:17px; }
.iso-region-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; text-align:left; }
.iso-region-grid article { background:#fff; }
.iso-card-media { height:190px; background:#e3e7ec; }
.iso-region-grid h3 { margin:20px 22px 8px; font-size:22px; }
.iso-region-grid p { margin:0 22px 18px; min-height:48px; line-height:1.5; }
.iso-region-grid a { display:inline-block; margin:0 22px 24px; color:#007fae; font-weight:700; }
.iso-cta { padding:65px 0; background:#15364a; color:#fff; text-align:center; }
.iso-cta p { margin:0 0 25px; }
.itar-breadcrumbs { border-bottom:1px solid #ececec; background:#fff; }
.itar-breadcrumbs .wrap { max-width:1158px; padding-top:11px; padding-bottom:11px; font-size:13px; }
.itar-content { min-height:411px; padding:73px 0 18px; background:#fff; }
.itar-content .wrap { max-width:1158px; padding-right:8px; padding-left:8px; }
.itar-content h1 { margin:0 0 32px; font-size:46px; line-height:1.15; }
.itar-content p { max-width:720px; margin:0 0 71px; font-size:17px; line-height:1.55; }
.itar-document { display:flex; width:88px; min-height:106px; flex-direction:column; align-items:center; justify-content:center; border:1px solid #bdc5cc; border-radius:2px; background:#f7f7f7; color:#972a2a; text-decoration:none; }
.itar-document span { padding:4px 9px; background:#a72b2b; color:#fff; font-weight:800; letter-spacing:.5px; }
.itar-document b { margin-top:10px; color:#4a535d; font-size:10px; text-align:center; }
body:has(.itar-page) .connect .wrap { max-width:1185px; grid-template-columns:340px 1fr; gap:50px; padding:11px 30px; }
body:has(.itar-page) .connect-form h3, body:has(.itar-page) .connect-form p { display:none; }
body:has(.itar-page) .social-icons a { border-color:transparent; background:#fff; }
body:has(.itar-page) .social-icons svg { fill:#303640; }
body:has(.itar-page) .site-footer { font-size:13px; }
body:has(.itar-page) .site-footer > .wrap { max-width:1185px; padding-right:30px; padding-left:30px; }
body:has(.itar-page) .footer-grid a { padding-top:2px; padding-bottom:2px; }
/* Digital factories page: source's dark map hero, rendered as a blank tonal field. */
.df-breadcrumbs { background:#fff; border-bottom:1px solid #eceff2; }
.df-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }
.df-breadcrumbs a,.df-cert a { color:#0787bd; }
.df-hero { min-height:512px; color:#fff; background:radial-gradient(circle at 78% 40%,rgba(52,61,71,.52),transparent 35%),#292e34; }
.df-hero .wrap { display:flex; align-items:center; min-height:512px; }
.df-hero-copy { max-width:670px; }
.df-hero h1 { max-width:630px; margin:0 0 20px; font-size:46px; line-height:1.18; }
.df-hero p { max-width:630px; margin:0 0 24px; font-size:17px; line-height:1.5; }
.df-cert { margin-top:52px; }.df-cert p { margin:8px 0 0; font-size:14px; }
@media (min-width: 861px) {
  .df-breadcrumbs .wrap { max-width:1175px; padding:12px 0; }
  .df-hero .wrap { max-width:1175px; min-height:512px; padding:62px 0 0; box-sizing:border-box; align-items:flex-start; }
  .df-hero h1 { max-width:570px; }
}
.df-split { padding:90px 0; background:#f1f5f8; }.df-split .wrap { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.df-media,.df-card-media { background:#dfe5e9; }.df-media { min-height:330px; }.df-split h2,.df-pillars h2,.df-cta h2 { margin:0 0 18px; font-size:35px; line-height:1.2; }.df-split p { font-size:17px; line-height:1.55; }
.df-pillars { padding:88px 0; text-align:center; }.df-pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:40px; text-align:left; }.df-pillar-grid article { background:#f5f7f8; }.df-card-media { height:170px; }.df-pillar-grid h3 { margin:22px 22px 10px; font-size:22px; }.df-pillar-grid p { margin:0 22px 26px; line-height:1.52; }
.df-split--reverse { background:#fff; }.df-split--reverse .wrap>div:first-child { order:2; }.df-cta { padding:74px 0; background:#0b657e; color:#fff; text-align:center; }
.df-explainer { padding:78px 0; text-align:center; }.df-explainer h2,.df-video h2,.df-services h2,.df-insights h2 { margin:0 0 16px; font-size:35px; line-height:1.2; }.df-explainer>.wrap>p { max-width:690px; margin:0 auto 42px; font-size:17px; line-height:1.55; }.df-explainer-grid,.df-service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; text-align:left; }.df-explainer-grid article,.df-service-grid article,.df-links article { background:#f2f5f7; padding:28px; }.df-orbit { width:124px; height:124px; margin:0 auto 20px; border:7px solid #91b23c; border-radius:50%; }.df-orbit--network { border-color:#1688bd; }.df-explainer-grid h3,.df-service-grid h3 { margin:0 0 12px; font-size:24px; }.df-explainer-grid p,.df-service-grid p,.df-explainer-grid li,.df-service-grid li { font-size:16px; line-height:1.52; }.df-explainer-grid ul,.df-service-grid ul { margin:18px 0 0; padding-left:20px; }.df-video { padding:82px 0; background:#08778d; color:#fff; }.df-video .wrap,.df-insights .wrap { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }.df-video-media { min-height:280px; background:#17222a; }.df-video p { margin:0 0 24px; font-size:17px; line-height:1.55; }.df-services { padding:82px 0; }.df-services .section-head { max-width:840px; margin:0 0 40px; }.df-service-grid article { min-height:360px; }.df-insights { padding:82px 0; background:#f2f5f7; }.df-insight-media { min-height:250px; background:#e1e6e9; }.df-insights p { margin:0 0 24px; font-size:17px; line-height:1.55; }.df-links { padding:70px 0; }.df-links .wrap { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.df-links h3 { margin:0 0 12px; font-size:22px; }.df-links p { min-height:78px; font-size:16px; line-height:1.5; }
@media (max-width:720px) { .df-explainer,.df-services,.df-insights,.df-links { padding:52px 24px; }.df-explainer h2,.df-video h2,.df-services h2,.df-insights h2 { font-size:29px; }.df-explainer-grid,.df-service-grid,.df-links .wrap,.df-video .wrap,.df-insights .wrap { grid-template-columns:1fr; gap:22px; }.df-explainer-grid article,.df-service-grid article,.df-links article { padding:22px; }.df-orbit { width:104px; height:104px; }.df-video { padding:54px 24px; }.df-video-media,.df-insight-media { min-height:220px; }.df-service-grid article { min-height:0; }.df-links p { min-height:0; } }
/* Manufacturing network page mirrors the source's dark map hero with an asset-free tone field. */
.network-breadcrumbs { border-bottom:1px solid #eceff2; background:#fff; }.network-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }.network-breadcrumbs a,.network-cert a { color:#0787bd; }
.network-hero { min-height:338px; padding:70px 0; color:#fff; background:radial-gradient(circle at 78% 48%,rgba(47,55,64,.62),transparent 36%),#292e34; }.network-hero h1 { margin:0 0 18px; font-size:46px; line-height:1.15; }.network-hero p { max-width:670px; margin:0; font-size:17px; line-height:1.5; }.network-cert { display:flex; flex-direction:column; gap:8px; margin-top:57px; font-size:14px; }
@media (min-width: 861px) {
  .network-breadcrumbs .wrap { max-width:1175px; padding:12px 0; }
  .network-hero { min-height:0; height:327px; padding:0; }
  .network-hero .wrap { display:flex; flex-direction:column; justify-content:center; max-width:1175px; min-height:327px; padding:12px 0 0; box-sizing:border-box; }
  .network-hero h1 { max-width:650px; }
}
.network-intro { padding:70px 0 85px; text-align:center; }.network-intro h2,.network-steps h2,.network-split h2 { margin:0 0 25px; font-size:35px; line-height:1.2; }.network-intro> .wrap>p { max-width:860px; margin:0 auto 58px; font-size:17px; line-height:1.55; }.network-map { min-height:280px; background:#343b45; }
.network-steps { padding:82px 0; background:#f4f6f8; text-align:center; }.network-steps .wrap>div { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:40px; text-align:left; }.network-steps article { padding:30px; background:#fff; }.network-steps article span { display:block; width:38px; height:38px; margin-bottom:20px; background:#dbe8ed; border-radius:50%; }.network-steps h3 { margin:0 0 10px; font-size:22px; }.network-steps p { margin:0; line-height:1.52; }
.network-split { padding:88px 0; }.network-split .wrap { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }.network-media { min-height:320px; background:#e0e5e9; }.network-split p { font-size:17px; line-height:1.55; }
.quality-network-intro { background:#fff; }.quality-network-intro p { max-width:500px; }.quality-network-page .network-hero { min-height:395px; }.quality-network-page .network-hero .wrap { display:flex; min-height:395px; flex-direction:column; align-items:flex-start; justify-content:center; }
@media (min-width: 861px) {
  .quality-network-intro { padding-top:61px; padding-bottom:88px; }
  .quality-network-intro .network-media { min-height:298px; }
}
/* Community impact page follows the source's editorial white canvas and split video section. */
.community-breadcrumbs { border-bottom:1px solid #eceff2; background:#fff; }.community-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }.community-breadcrumbs a { color:#0787bd; }
.community-intro { padding:78px 0 62px; }.community-intro h1 { max-width:1100px; margin:0 0 28px; font-size:46px; line-height:1.16; }.community-intro p { max-width:1140px; margin:0; font-size:18px; line-height:1.55; }
.community-split { padding:10px 0 85px; }.community-split .wrap { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }.community-split h2,.community-themes h2,.community-cta h2 { margin:0 0 18px; font-size:35px; line-height:1.2; }.community-split p { font-size:17px; line-height:1.55; }.community-video { display:grid; min-height:307px; place-items:center; background:#e0e5e9; }.community-video span { width:76px; height:76px; background:#0787bd; clip-path:polygon(31% 20%,31% 80%,78% 50%); }
@media (min-width: 861px) {
  .community-intro { padding-top:58px; padding-bottom:96px; }
  .community-intro .wrap { max-width:1144px; padding-right:0; padding-left:0; }
  .community-intro h1 { max-width:none; margin-bottom:36px; }
  .community-intro p { max-width:1144px; }
  .community-split .wrap { max-width:1144px; grid-template-columns:508px 550px; gap:72px; align-items:start; padding-right:0; padding-left:0; }
  .community-split .wrap > div:first-child { padding-top:0; }
}
.community-themes { padding:82px 0; background:#f4f6f8; text-align:center; }.community-themes .wrap>div { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:42px; text-align:left; }.community-themes article { background:#fff; }.community-themes article>div { height:170px; background:#e0e5e9; }.community-themes h3 { margin:22px 22px 10px; font-size:22px; }.community-themes p { margin:0 22px 26px; line-height:1.52; }.community-cta { padding:72px 0; text-align:center; }

.careers-breadcrumbs { border-bottom:1px solid #eceff2; background:#fff; }.careers-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }.careers-breadcrumbs a { color:#0787bd; }
.careers-hero { color:#fff; background:linear-gradient(106deg,#087fa6 0%,#126c8c 53%,#25546a 100%); }.careers-hero .wrap { display:grid; grid-template-columns:1.02fr .98fr; min-height:360px; padding-top:0; padding-bottom:0; }.careers-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:62px 0; }.careers-hero h1 { margin:0 0 20px; font-size:46px; line-height:1.14; }.careers-hero p { max-width:600px; margin:0 0 25px; font-size:17px; line-height:1.52; }.careers-hero .btn { align-self:flex-start; background:#08638e; border-color:#08638e; }.careers-hero-media { min-height:360px; background:linear-gradient(140deg,rgba(236,241,244,.2),rgba(26,45,56,.4)); }
@media (min-width: 861px) {
  .careers-breadcrumbs .wrap { max-width:1175px; padding:12px 0; }
  .careers-hero .wrap { max-width:1175px; padding-right:0; padding-left:0; }
}
.careers-culture { padding:78px 0 88px; text-align:center; }.careers-culture> .wrap>h2,.careers-opportunities h2 { margin:0 0 15px; font-size:35px; line-height:1.2; }.careers-culture> .wrap>p { max-width:850px; margin:0 auto; font-size:17px; line-height:1.52; }.careers-values { display:grid; grid-template-columns:repeat(6,1fr); gap:28px; margin-top:40px; text-align:left; }.careers-values article { padding:20px; background:#f3f6f8; }.careers-values span { display:block; width:31px; height:31px; margin-bottom:18px; border:2px solid #242b31; border-radius:50%; }.careers-values h3 { margin:0 0 12px; font-size:18px; line-height:1.2; }.careers-values p { margin:0; font-size:15px; line-height:1.48; }.careers-opportunities { padding:68px 0; background:#f3f6f8; }.careers-opportunities .wrap { display:flex; align-items:center; justify-content:space-between; gap:30px; }.careers-opportunities h2 { margin-bottom:10px; }.careers-opportunities p { margin:0; font-size:17px; }

.locations-breadcrumbs { border-bottom:1px solid #eceff2; background:#fff; }.locations-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }.locations-breadcrumbs a,.locations-details a,.locations-regions a { color:#0787bd; }
.locations-hero { background:#f3f5fa; }.locations-hero .wrap { display:grid; grid-template-columns:1fr 1fr; min-height:320px; align-items:center; }.locations-hero h1 { margin:0 0 20px; font-size:46px; }.locations-hero p { max-width:550px; margin:0; font-size:17px; line-height:1.52; }.locations-map { position:relative; min-height:320px; overflow:hidden; background:linear-gradient(145deg,#e1e6ef,#cbd3df); opacity:.9; }.locations-map::before { position:absolute; inset:20% 5% 17% 8%; content:""; background:rgba(255,255,255,.28); border-radius:48% 54% 44% 58%; }.locations-map i { position:absolute; z-index:1; width:16px; height:16px; background:#0787bd; border:4px solid #fff; border-radius:50%; }.locations-map i:nth-child(1){top:33%;left:34%}.locations-map i:nth-child(2){top:46%;left:39%}.locations-map i:nth-child(3){top:37%;left:49%}.locations-map i:nth-child(4){top:29%;left:64%}.locations-map i:nth-child(5){top:48%;left:71%}
@media (min-width: 861px) {
  .locations-breadcrumbs .wrap { max-width:1175px; padding:12px 0; }
  .locations-hero .wrap { max-width:1175px; padding-right:0; padding-left:0; }
}
.locations-headquarters { padding:70px 0 90px; }.locations-headquarters .wrap { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }.locations-facility { min-height:310px; background:#dfe5e9; }.locations-headquarters h2,.locations-regions h2 { margin:0 0 44px; font-size:35px; line-height:1.2; }.locations-details { display:grid; grid-template-columns:1fr 1fr; gap:40px; }.locations-details h3 { margin:0 0 18px; font-size:20px; }.locations-details p { margin:0; font-size:17px; line-height:1.55; }.locations-regions { padding:80px 0; background:#f3f6f8; text-align:center; }.locations-regions .wrap>div { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; text-align:left; }.locations-regions article { padding:0 24px 30px; background:#fff; }.locations-regions article>div { height:155px; margin:0 -24px 24px; background:#e0e5e9; }.locations-regions h3 { margin:0 0 10px; font-size:22px; }.locations-regions strong { display:block; margin-bottom:12px; }.locations-regions p { line-height:1.5; }

.press-breadcrumbs { border-bottom:1px solid #eceff2; background:#fff; }.press-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }.press-breadcrumbs a,.press-resources a { color:#0787bd; }
.press-hero { background:#f3f5fa; }.press-hero .wrap { display:grid; grid-template-columns:1fr 1fr; min-height:270px; align-items:center; }.press-hero h1 { margin:0 0 20px; font-size:46px; }.press-hero p { max-width:525px; margin:0; font-size:17px; line-height:1.52; }.press-hero-media { align-self:stretch; min-height:270px; background:linear-gradient(135deg,#eef1f4,#cfd6de); }
@media (min-width: 861px) {
  .press-breadcrumbs .wrap { max-width:1175px; padding:12px 0; }
  .press-hero .wrap { max-width:1175px; padding-right:0; padding-left:0; }
}
.press-support { padding:33px 0; }.press-support .wrap { display:flex; align-items:center; justify-content:space-between; gap:28px; }.press-support span { max-width:115px; color:#78818b; font-size:14px; }.press-support b { color:#30343a; font-size:22px; letter-spacing:-1px; }
.press-about { padding:70px 0 86px; }.press-about .wrap { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }.press-video { display:grid; min-height:310px; place-items:center; background:#dfe5e9; }.press-video span { width:82px; height:82px; background:#087fcb; clip-path:polygon(28% 19%,28% 81%,78% 50%); }.press-about h2,.press-resources h2,.press-contact h2 { margin:0 0 18px; font-size:35px; line-height:1.2; }.press-about p { max-width:550px; margin:0 0 26px; font-size:17px; line-height:1.52; }
.press-resources { padding:80px 0; background:#f3f6f8; text-align:center; }.press-resources .wrap>div { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:42px; text-align:left; }.press-resources article { padding:0 24px 30px; background:#fff; }.press-resources article>div { height:158px; margin:0 -24px 24px; background:#e0e5e9; }.press-resources h3 { margin:0 0 10px; font-size:22px; }.press-resources p { min-height:48px; line-height:1.5; }.press-contact { padding:67px 0; background:#0b657e; color:#fff; }.press-contact .wrap { display:flex; align-items:center; justify-content:space-between; gap:30px; }.press-contact h2 { margin-bottom:10px; }.press-contact p { max-width:660px; margin:0; font-size:17px; line-height:1.5; }

.procurement-breadcrumbs { border-bottom:1px solid #eceff2; background:#fff; }.procurement-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }.procurement-breadcrumbs a { color:#0787bd; }
.procurement-hero { padding:68px 0; background:#f0f4f8; }.procurement-hero h1 { max-width:1030px; margin:0 0 24px; font-size:46px; line-height:1.18; }.procurement-hero p { max-width:1060px; margin:0; font-size:19px; line-height:1.52; font-weight:600; }.procurement-media { padding:78px 0 38px; }.procurement-media .wrap { display:grid; grid-template-columns:1fr 1fr; gap:28px; }.procurement-media .wrap>div { min-height:330px; background:#dfe5e9; }.procurement-intro { padding:50px 0 68px; text-align:center; }.procurement-intro h2,.procurement-cta h2 { margin:0 0 18px; font-size:35px; line-height:1.2; }.procurement-intro p { max-width:840px; margin:0 auto; font-size:17px; line-height:1.55; }.procurement-benefits { padding:70px 0; background:#f3f6f8; }.procurement-benefits .wrap { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }.procurement-benefits article { padding:30px; background:#fff; }.procurement-benefits span { display:block; width:37px; height:37px; margin-bottom:20px; border-radius:50%; background:#d5e6ed; }.procurement-benefits h3 { margin:0 0 12px; font-size:22px; }.procurement-benefits p { margin:0; line-height:1.52; }.procurement-cta { padding:67px 0; background:#0b657e; color:#fff; }.procurement-cta .wrap { display:flex; align-items:center; justify-content:space-between; gap:30px; }.procurement-cta h2 { margin-bottom:10px; }.procurement-cta p { margin:0; font-size:17px; }
@media (min-width: 861px) {
  .procurement-breadcrumbs .wrap, .procurement-hero .wrap, .procurement-media .wrap { max-width:1175px; padding-right:0; padding-left:0; }
  .procurement-breadcrumbs .wrap { padding-top:12px; padding-bottom:12px; }
}

.prodesk-breadcrumbs { border-bottom:1px solid #eceff2; background:#fff; }.prodesk-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }.prodesk-hero { background:#f3f5fa; overflow:hidden; }.prodesk-hero .wrap { display:grid; grid-template-columns:1.12fr .88fr; min-height:445px; align-items:center; }.prodesk-hero h1 { max-width:670px; margin:0 0 24px; font-size:46px; line-height:1.18; }.prodesk-hero p { max-width:630px; margin:0 0 26px; font-size:17px; line-height:1.52; }.prodesk-app { position:relative; min-height:362px; margin-right:-210px; background:#dce2e8; border-top:22px solid #252b31; box-shadow:0 9px 24px rgba(0,0,0,.2); }.prodesk-app span { position:absolute; top:0; bottom:0; width:34%; background:#35424e; }.prodesk-app i { position:absolute; left:43%; right:11%; height:36px; background:#f6f8f9; }.prodesk-app i:nth-of-type(1){top:72px}.prodesk-app i:nth-of-type(2){top:132px}.prodesk-app i:nth-of-type(3){top:192px}
@media (min-width: 861px) {
  .prodesk-breadcrumbs .wrap, .prodesk-hero .wrap { max-width:1175px; padding-right:0; padding-left:0; }
  .prodesk-breadcrumbs .wrap { padding-top:12px; padding-bottom:12px; }
}
.prodesk-intro { padding:70px 0 85px; }.prodesk-intro .wrap { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }.prodesk-video { display:grid; min-height:310px; place-items:center; background:#1d252b; }.prodesk-video span { width:82px; height:82px; background:#087fcb; clip-path:polygon(28% 19%,28% 81%,78% 50%); }.prodesk-intro h2,.prodesk-tools h2,.prodesk-cta h2 { margin:0 0 18px; font-size:35px; line-height:1.2; }.prodesk-intro p { max-width:540px; margin:0; font-size:17px; line-height:1.55; }.prodesk-tools { padding:80px 0; background:#f3f6f8; text-align:center; }.prodesk-tools .wrap>div { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:42px; text-align:left; }.prodesk-tools article { padding:30px; background:#fff; }.prodesk-tools span { display:block; width:38px; height:38px; margin-bottom:20px; border-radius:50%; background:#d6e8ef; }.prodesk-tools h3 { margin:0 0 12px; font-size:22px; }.prodesk-tools p { margin:0; line-height:1.52; }.prodesk-cta { padding:70px 0; background:#0b657e; color:#fff; text-align:center; }

.ptp-breadcrumbs { border-bottom:1px solid #eceff2; background:#fff; }.ptp-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }.ptp-breadcrumbs a { color:#0787bd; }.ptp-hero { background:#e8e9eb; }.ptp-hero .wrap { display:grid; grid-template-columns:1.12fr .88fr; min-height:434px; align-items:center; }.ptp-hero h1 { max-width:680px; margin:0 0 20px; font-size:46px; line-height:1.18; }.ptp-hero p { max-width:640px; margin:0 0 24px; font-size:19px; line-height:1.42; }.ptp-hero .btn { margin-right:8px; }.ptp-hero small { display:block; margin-top:58px; color:#65707a; }.ptp-hero-media { align-self:stretch; min-height:434px; background:linear-gradient(140deg,#d8dde1,#f1f2f3); }.ptp-intro { padding:78px 0; }.ptp-intro .wrap { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }.ptp-video { display:grid; min-height:310px; place-items:center; background:#dfe5e9; }.ptp-video span { width:82px; height:82px; background:#087fcb; clip-path:polygon(28% 19%,28% 81%,78% 50%); }.ptp-intro h2,.ptp-stages h2,.ptp-cta h2 { margin:0 0 18px; font-size:35px; line-height:1.2; }.ptp-intro p { max-width:540px; margin:0; font-size:17px; line-height:1.55; }.ptp-stages { padding:78px 0; background:#f3f6f8; text-align:center; }.ptp-stages .wrap>div { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:42px; text-align:left; }.ptp-stages article { padding:30px; background:#fff; }.ptp-stages span { display:block; width:38px; height:38px; margin-bottom:20px; border-radius:50%; background:#d6e8ef; }.ptp-stages h3 { margin:0 0 12px; font-size:22px; }.ptp-stages p { margin:0; line-height:1.52; }.ptp-cta { padding:70px 0; background:#0b657e; color:#fff; text-align:center; }

.legal-breadcrumbs { background:#fff; }.legal-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }.legal-content { padding:72px 0 96px; }.legal-content h1 { margin:0 0 52px; font-size:46px; }.legal-tabs { display:flex; border-bottom:1px solid #dfe4e8; }.legal-tabs a { position:relative; padding:0 18px 18px; color:#252b31; font-size:16px; text-decoration:none; white-space:nowrap; }.legal-tabs a:first-child { padding-left:15px; }.legal-tabs a.is-active { color:#252b31; font-weight:600; }.legal-tabs a.is-active::after { position:absolute; right:0; bottom:-1px; left:0; height:5px; content:""; background:#0787bd; }.legal-copy { max-width:1115px; padding:18px 15px 0; }.legal-copy .legal-date { margin:0 0 26px; font-size:17px; }.legal-copy h2 { margin:0 0 22px; font-size:26px; }.legal-copy .legal-document-title { margin:0 0 24px; color:#303940; font-size:19px; font-weight:700; text-align:center; text-transform:uppercase; }.legal-copy h3 { margin:38px 0 16px; font-size:21px; }.legal-copy p { margin:0 0 20px; font-size:17px; line-height:1.55; }.legal-copy .legal-list { margin:0 0 20px 22px; padding-left:18px; }.legal-copy .legal-list li { margin:0 0 8px; font-size:17px; line-height:1.55; }.legal-copy .legal-mobile-detail { display:none; }
.legal-breadcrumbs .wrap,.legal-content>.wrap { max-width:1220px; }.legal-content { padding-top:52px; }.legal-content h1 { margin-bottom:38px; }
body:has(.legal-page) .legal-content { padding-bottom:63px; }
body:has(.legal-page--purchase-order) .legal-date { display:none; }
body:has(.legal-page--purchase-order) .legal-copy .legal-lead ~ .legal-lead { display:none; }
body:has(.legal-page--purchase-order) .legal-copy p { line-height:1.45; }
body:has(.legal-page--purchase-order) .legal-copy { padding-top:14px; }
body:has(.legal-page--purchase-order) .legal-copy .legal-purchase-section { margin-bottom:23px; }
@media (min-width:721px) {
  body:has(.legal-page--purchase-order) .legal-purchase-mobile-continuation { display:none; }
  body:has(.legal-page--privacy-policy) .legal-copy { padding-top:9px; }
  body:has(.legal-page--privacy-policy) .legal-copy .legal-date { margin-bottom:15px; }
  body:has(.legal-page--privacy-policy) .legal-copy h3:first-of-type { margin-top:14px; }
  body:has(.legal-page--conditions-of-use) .legal-copy { padding-top:9px; }
  body:has(.legal-page--conditions-of-use) .legal-copy .legal-document-title { margin-bottom:16px; }
  body:has(.legal-page--conditions-of-use) .legal-copy .legal-lead { margin-bottom:39px; }
  body:has(.legal-page--conditions-of-use) .legal-copy .legal-document-title + .legal-lead { margin-bottom:17px; }
  body:has(.legal-page--conditions-of-use) .legal-copy .legal-document-title + .legal-lead + .legal-lead { margin-bottom:6px; }
  body:has(.legal-page--conditions-of-use) .legal-copy h3:first-of-type { margin-top:-26px; }
}
body:has(.legal-page) .connect .wrap { max-width:1185px; grid-template-columns:340px 1fr; gap:50px; padding:11px 30px; }
body:has(.legal-page) .connect-form h3,body:has(.legal-page) .connect-form p { display:none; }
body:has(.legal-page) .site-footer { font-size:13px; }
body:has(.legal-page) .site-footer>.wrap { max-width:1185px; padding-right:30px; padding-left:30px; }
body:has(.legal-page) .footer-grid { gap:40px; padding:48px 0 36px; }

.help-breadcrumbs { border-bottom:1px solid #eceff2; background:#fff; }.help-breadcrumbs .wrap { max-width:1170px; padding:11px 0; font-size:13px; }.help-intro { padding:44px 0 33px; }.help-intro .wrap { max-width:1170px; padding-right:15px; padding-left:15px; }.help-intro h1 { margin:0 0 22px; font-size:46px; line-height:1.4; }.help-intro p { max-width:1110px; margin:0; font-size:19px; line-height:1.48; font-weight:600; }.help-topics { padding:38px 0 98px; }.help-topics .wrap { max-width:1170px; border-top:1px solid #dfe4e8; padding:38px 0 0; }.help-topic-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }.help-topic-row article { margin:0 15px; }.help-topic-row + .help-topic-row { margin-top:108px; }.help-topic-row:nth-child(4) { margin-top:128px; }.help-topic-row:nth-child(1) article { min-height:274px; }.help-topic-row:nth-child(2) article { min-height:212px; }.help-topic-row:nth-child(3) article { min-height:226px; }.help-topic-row:nth-child(4) article { min-height:178px; }.help-topics h2 { margin:0 0 10px; font-size:27px; line-height:1.4; }.help-topics p { margin:0 0 16px; font-size:16px; line-height:1.5; }.help-topics .btn { display:inline-flex; align-items:center; justify-content:center; height:26px; padding:0 15px; border-color:#d7effd; background:#d7effd; color:#0c6b98; font-size:12px; line-height:1; }

.aero-toolkit-breadcrumbs { border-bottom:1px solid #eceff2; background:#fff; }.aero-toolkit-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }.aero-toolkit-breadcrumbs a { color:#0787bd; }.aero-toolkit-hero { padding:34px 0; background:#343a43; color:#fff; }.aero-toolkit-hero .wrap { max-width:1170px; }.aero-toolkit-hero h1 { max-width:1070px; margin:0 0 22px; font-size:46px; line-height:1.18; }.aero-toolkit-hero p { max-width:1140px; margin:0; font-size:19px; line-height:1.55; font-weight:600; }.aero-toolkit-body { padding:92px 0 110px; }.aero-toolkit-body .wrap { max-width:1170px; }.aero-toolkit-body p,.aero-toolkit-body li { font-size:17px; line-height:1.56; }.aero-toolkit-lead { margin:0 0 20px; }.aero-toolkit-summary { margin:0 0 24px; }.aero-toolkit-summary li,.aero-toolkit-body section li { margin:9px 0; }.aero-toolkit-body section { margin:32px 0 42px; }.aero-toolkit-body h2 { margin:0 0 14px; font-size:27px; line-height:1.25; }.aero-toolkit-body section p { margin:0 0 15px; }

.ev-breadcrumbs { border-bottom:1px solid #eceff2; background:#fff; }.ev-breadcrumbs .wrap { padding-top:16px; padding-bottom:16px; font-size:14px; }.ev-breadcrumbs a { color:#0787bd; }.ev-hero { padding:60px 0; background:#f3f5fa; }.ev-hero .wrap { max-width:1215px; }.ev-hero h1 { margin:0 0 22px; font-size:46px; line-height:1.18; }.ev-hero p { max-width:1120px; margin:0; font-size:19px; line-height:1.5; font-weight:600; }.ev-article { padding:79px 0 110px; }.ev-article .wrap { display:grid; max-width:1215px; grid-template-columns:220px minmax(0,1fr); gap:70px; }.ev-article aside strong { display:block; margin-bottom:26px; font-size:17px; }.ev-article aside nav { display:flex; flex-direction:column; gap:24px; border-left:2px solid #e2e7ec; padding-left:25px; }.ev-article aside a { color:#98a1ab; font-size:16px; line-height:1.42; text-decoration:none; }.ev-copy { max-width:850px; }.ev-copy section { margin:0 0 50px; }.ev-copy h2 { margin:0 0 15px; font-size:28px; line-height:1.25; }.ev-copy p { margin:0 0 17px; font-size:17px; line-height:1.56; }.ev-copy .ev-lead { margin-bottom:26px; font-size:18px; }.ev-media { min-height:260px; margin-top:28px; background:#e0e5e9; }
@media (max-width:720px) {
	.iso-breadcrumbs { display:none; }
	.iso-hero { grid-template-columns:1fr; min-height:0; }
	.iso-hero-copy { min-height:340px; padding:52px 24px; justify-content:flex-start; }
	.iso-hero h1 { font-size:34px; }
	.iso-hero-media { min-height:220px; }
	.iso-region { padding:50px 0; }
	.iso-region .wrap { padding-right:24px; padding-left:24px; }
	.iso-region h2,.iso-cta h2 { font-size:28px; }
	.iso-region-grid { grid-template-columns:1fr; gap:24px; }
	.iso-card-media { height:190px; }
	.itar-breadcrumbs { display:none; }
	.itar-content { min-height:355px; padding:55px 24px 42px; }
	.itar-content h1 { font-size:34px; }
	.itar-content p { margin-bottom:43px; font-size:16px; }
	body:has(.itar-page) .connect .wrap { grid-template-columns:1fr; gap:26px; padding:30px 24px; }
	.df-breadcrumbs { display:none; }.df-hero,.df-hero .wrap { min-height:390px; }.df-hero .wrap { padding:44px 24px; }.df-hero h1 { font-size:34px; }.df-split { padding:54px 0; }.df-split .wrap { grid-template-columns:1fr; gap:28px; padding-right:24px; padding-left:24px; }.df-split--reverse .wrap>div:first-child { order:0; }.df-media { min-height:220px; }.df-pillars { padding:55px 24px; }.df-pillars h2,.df-cta h2,.df-split h2 { font-size:29px; }.df-pillar-grid { grid-template-columns:1fr; }.df-cta { padding:55px 24px; }
	.network-breadcrumbs { display:none; }.network-hero { min-height:360px; padding:54px 24px; }.network-hero h1 { font-size:34px; }.network-intro { padding:54px 24px; }.network-intro h2,.network-steps h2,.network-split h2 { font-size:29px; }.network-steps { padding:55px 24px; }.network-steps .wrap>div { grid-template-columns:1fr; }.network-split { padding:54px 0; }.network-split .wrap { grid-template-columns:1fr; gap:28px; padding-right:24px; padding-left:24px; }.network-media { min-height:220px; }
	.community-breadcrumbs { display:none; }.community-intro { padding:54px 24px 36px; }.community-intro h1 { font-size:34px; }.community-intro p { font-size:17px; }.community-split { padding:20px 0 55px; }.community-split .wrap { grid-template-columns:1fr; gap:28px; padding-right:24px; padding-left:24px; }.community-split h2,.community-themes h2,.community-cta h2 { font-size:29px; }.community-video { min-height:220px; }.community-themes { padding:55px 24px; }.community-themes .wrap>div { grid-template-columns:1fr; }.community-cta { padding:55px 24px; }
	.careers-breadcrumbs { display:none; }.careers-hero .wrap { grid-template-columns:1fr; min-height:0; padding:0; }.careers-hero-copy { padding:52px 24px 42px; }.careers-hero h1 { font-size:34px; }.careers-hero p { font-size:16px; }.careers-hero-media { min-height:210px; }.careers-culture { padding:55px 24px; }.careers-culture> .wrap>h2,.careers-opportunities h2 { font-size:29px; }.careers-values { grid-template-columns:1fr; gap:15px; }.careers-values article { padding:20px; }.careers-opportunities { padding:54px 24px; }.careers-opportunities .wrap { display:block; }.careers-opportunities .btn { display:inline-block; margin-top:25px; }
	.locations-breadcrumbs { display:none; }.locations-hero .wrap { grid-template-columns:1fr; padding:0; }.locations-hero .wrap>div:first-child { padding:54px 24px 38px; }.locations-hero h1 { font-size:34px; }.locations-hero p { font-size:16px; }.locations-map { min-height:205px; }.locations-headquarters { padding:55px 0; }.locations-headquarters .wrap { grid-template-columns:1fr; gap:32px; padding-left:24px; padding-right:24px; }.locations-facility { min-height:220px; }.locations-headquarters h2,.locations-regions h2 { margin-bottom:28px; font-size:29px; }.locations-details { grid-template-columns:1fr; gap:25px; }.locations-regions { padding:55px 24px; }.locations-regions .wrap>div { grid-template-columns:1fr; }.locations-regions article>div { height:140px; }
	.press-breadcrumbs { display:none; }.press-hero .wrap { grid-template-columns:1fr; padding:0; }.press-hero .wrap>div:first-child { padding:54px 24px 37px; }.press-hero h1 { font-size:34px; }.press-hero p { font-size:16px; }.press-hero-media { min-height:205px; }.press-support { padding:28px 24px; }.press-support .wrap { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.press-support span { grid-column:1/-1; max-width:none; }.press-support b { font-size:19px; }.press-about { padding:55px 0; }.press-about .wrap { grid-template-columns:1fr; gap:30px; padding-left:24px; padding-right:24px; }.press-video { min-height:220px; }.press-about h2,.press-resources h2,.press-contact h2 { font-size:29px; }.press-resources { padding:55px 24px; }.press-resources .wrap>div { grid-template-columns:1fr; }.press-contact { padding:54px 24px; }.press-contact .wrap { display:block; }.press-contact .btn { display:inline-block; margin-top:25px; }
	.procurement-breadcrumbs { display:none; }.procurement-hero { padding:54px 24px; }.procurement-hero h1 { font-size:34px; }.procurement-hero p { font-size:16px; }.procurement-media { padding:48px 24px 25px; }.procurement-media .wrap { grid-template-columns:1fr; }.procurement-media .wrap>div { min-height:210px; }.procurement-intro { padding:45px 24px 55px; }.procurement-intro h2,.procurement-cta h2 { font-size:29px; }.procurement-benefits { padding:55px 24px; }.procurement-benefits .wrap { grid-template-columns:1fr; }.procurement-cta { padding:54px 24px; }.procurement-cta .wrap { display:block; }.procurement-cta .btn { display:inline-block; margin-top:25px; }
	.prodesk-breadcrumbs { display:none; }.prodesk-hero .wrap { grid-template-columns:1fr; min-height:0; padding:54px 24px 0; }.prodesk-hero h1 { font-size:34px; }.prodesk-hero p { font-size:16px; }.prodesk-app { min-height:215px; margin:35px -24px 0; border-top-width:14px; }.prodesk-intro { padding:55px 0; }.prodesk-intro .wrap { grid-template-columns:1fr; gap:30px; padding-left:24px; padding-right:24px; }.prodesk-video { min-height:220px; }.prodesk-intro h2,.prodesk-tools h2,.prodesk-cta h2 { font-size:29px; }.prodesk-tools { padding:55px 24px; }.prodesk-tools .wrap>div { grid-template-columns:1fr; }.prodesk-cta { padding:54px 24px; }
	.ptp-breadcrumbs { display:none; }.ptp-hero .wrap { grid-template-columns:1fr; min-height:0; padding:54px 24px 0; }.ptp-hero h1 { font-size:34px; }.ptp-hero p { font-size:16px; }.ptp-hero small { margin-top:36px; font-size:13px; }.ptp-hero-media { min-height:205px; margin:30px -24px 0; }.ptp-intro { padding:55px 0; }.ptp-intro .wrap { grid-template-columns:1fr; gap:30px; padding-left:24px; padding-right:24px; }.ptp-video { min-height:220px; }.ptp-intro h2,.ptp-stages h2,.ptp-cta h2 { font-size:29px; }.ptp-stages { padding:55px 24px; }.ptp-stages .wrap>div { grid-template-columns:1fr; }.ptp-cta { padding:54px 24px; }
	body:has(.legal-page) .site-header { position:static; }.legal-breadcrumbs { display:none; }.legal-content { padding:34px 0 65px; }.legal-content>.wrap { padding-right:15px; padding-left:15px; }.legal-content h1 { margin-bottom:32px; font-size:34px; }.legal-tabs { display:flex; overflow-x:auto; margin:0 -15px; padding:0 15px; border-bottom:1px solid #dfe4e8; scrollbar-width:none; }.legal-tabs::-webkit-scrollbar { display:none; }.legal-tabs::before { display:block; flex:0 0 20px; padding-bottom:13px; content:'‹'; color:#77818a; font-size:28px; line-height:1; }.legal-tabs a { display:block; flex:0 0 auto; order:2; padding:0 18px 18px; font-size:16px; white-space:nowrap; }.legal-tabs a:first-child { padding-left:10px; }.legal-tabs a.is-active { order:0; padding-left:10px; }.legal-tabs a.is-active+a { order:1; }.legal-tabs a.is-active::after { right:0; top:auto; bottom:-1px; left:0; width:auto; height:5px; }.legal-copy { padding:18px 14px 0; }.legal-copy .legal-date { font-size:16px; }.legal-copy .legal-document-title { margin:0 0 24px; font-size:18px; text-align:center; }.legal-copy h2 { font-size:25px; }.legal-copy p { font-size:16px; }.legal-copy .legal-mobile-detail { display:block; margin-bottom:30px; }.legal-page--conditions-of-use .legal-tabs a { order:2; }.legal-page--conditions-of-use .legal-tabs a:first-child { order:0; }.legal-page--conditions-of-use .legal-tabs a.is-active { order:1; }
	.help-breadcrumbs { display:none; }.help-intro { padding:54px 24px 28px; }.help-intro h1 { font-size:34px; line-height:1.4; }.help-intro p { font-size:16px; }.help-topics { padding:28px 24px 62px; }.help-topics .wrap { padding-top:40px; }.help-topic-row { grid-template-columns:1fr; gap:42px; }.help-topic-row + .help-topic-row,.help-topic-row:nth-child(4) { margin-top:42px; }.help-topic-row article,.help-topic-row:nth-child(n) article { min-height:0; margin:0; }.help-topics h2 { margin-bottom:14px; font-size:29px; }.help-topics p { margin-bottom:20px; font-size:16px; }.help-topic-row .btn { display:flex; width:100%; }
	.aero-toolkit-breadcrumbs { display:none; }.aero-toolkit-hero { padding:54px 24px; }.aero-toolkit-hero h1 { font-size:34px; }.aero-toolkit-hero p { font-size:16px; }.aero-toolkit-body { padding:55px 24px 70px; }.aero-toolkit-body p,.aero-toolkit-body li { font-size:16px; }.aero-toolkit-body h2 { font-size:25px; }
	.ev-breadcrumbs { display:none; }.ev-hero { padding:54px 24px; }.ev-hero h1 { font-size:34px; }.ev-hero p { font-size:16px; }.ev-article { padding:55px 24px 70px; }.ev-article .wrap { grid-template-columns:1fr; gap:38px; }.ev-article aside nav { gap:14px; padding-left:18px; }.ev-copy h2 { font-size:25px; }.ev-copy p { font-size:16px; }.ev-copy .ev-lead { font-size:17px; }.ev-media { min-height:190px; }
}

/* Automotive uses the same editorial rhythm as the source, but has a four-up
   services and materials deck rather than the aerospace tabs. */
.auto-reference-page .aero-ref-hero { background:#e6f5fc; color:#303943; }
.auto-reference-page .aero-ref-hero h1 { color:#303943; }
.auto-reference-page .aero-ref-hero__media { background:#dfeaf0; }
.consumer-reference-page .aero-ref-hero { background:#3d342e; color:#fff; }
.consumer-reference-page .aero-ref-hero h1 { color:#fff; }
.consumer-reference-page .aero-ref-hero__media { background:#4a403a; }
.consumer-reference-page .aero-ref-hero small,.consumer-reference-page .aero-ref-hero small a { color:#d9eef8; }
.industrial-reference-page .aero-ref-hero { background:#24431e; color:#fff; }
.industrial-reference-page .aero-ref-hero h1 { color:#fff; }
.industrial-reference-page .aero-ref-hero__media { background:#1b3319; }
.industrial-reference-page .aero-ref-hero small,.industrial-reference-page .aero-ref-hero small a { color:#d9eef8; }

.iso-matrix,.iso-split,.iso-contact,.iso-quality,.iso-resources { padding:70px 0; }
.iso-matrix h2,.iso-resources h2 { margin:0 0 34px; text-align:center; font-size:32px; }
.iso-matrix table { width:100%; border-collapse:collapse; font-size:13px; }
.iso-matrix th,.iso-matrix td { padding:13px 12px; border-bottom:1px solid #dfe5e8; text-align:left; }
.iso-matrix th { background:#f0f4f6; }
.iso-split { min-height:310px; background:#fff; }
.iso-split article { width:44%; margin-left:auto; }
.iso-split h2,.iso-contact h2,.iso-quality h2 { margin:0 0 16px; font-size:30px; }
.iso-split p,.iso-contact p,.iso-quality p { max-width:500px; line-height:1.55; }
.iso-split a { color:#0785be; font-weight:700; text-decoration:none; }
.iso-contact { min-height:285px; }
.iso-quality { background:#f4f7f8; }
.iso-quality .wrap { width:min(100%,760px); }
.iso-quality ul { columns:2; padding-left:18px; line-height:1.75; }
.iso-resources { background:#fff; text-align:center; }
.iso-resources > .wrap > div { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; text-align:left; }
.iso-resources article { min-height:330px; border:1px solid #e0e6e9; }
.iso-resources h3,.iso-resources p,.iso-resources a { display:block; margin-right:18px; margin-left:18px; }
.iso-resources h3 { margin-top:18px; font-size:18px; }
.iso-resources p { font-size:13px; line-height:1.5; }
.iso-resources a { margin-top:18px; color:#0785be; font-weight:700; text-decoration:none; }
@media (max-width:720px) {
  .iso-matrix,.iso-split,.iso-contact,.iso-quality,.iso-resources { padding:48px 24px; }
  .iso-matrix { overflow-x:auto; }
  .iso-matrix table { min-width:670px; }
  .iso-split article { width:100%; }
  .iso-quality ul { columns:1; }
  .iso-resources > .wrap > div { grid-template-columns:1fr; }
}
.auto-ref-uses > .wrap > div { grid-template-columns:repeat(3,1fr); }
.auto-ref-team { background:#f4f6f7; }
.auto-ref-team > .wrap > div { grid-template-columns:repeat(4,1fr); }
.auto-ref-team article { background:#fff; box-shadow:0 2px 7px rgba(26,46,57,.08); }
.auto-ref-team article a,.auto-ref-services a,.auto-ref-materials a { display:inline-block; margin-top:14px; font-size:13px; font-weight:700; text-decoration:none; }
.auto-ref-services,.auto-ref-materials { padding:75px 0; text-align:center; }
.auto-ref-services h2,.auto-ref-materials h2,.auto-ref-quality h2 { margin:0 0 36px; font-size:31px; }
.auto-ref-services > .wrap > div,.auto-ref-materials > .wrap > div { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; text-align:left; }
.auto-ref-services article,.auto-ref-materials article { min-height:350px; padding-bottom:22px; border:1px solid #e5eaed; background:#fff; }
.auto-ref-media { display:block; width:100%; height:150px; background:#e6ecef; object-fit:cover; }
.auto-ref-services h3,.auto-ref-services p,.auto-ref-services a,.auto-ref-materials h3,.auto-ref-materials p,.auto-ref-materials a { margin-right:18px; margin-left:18px; }
.auto-ref-services h3,.auto-ref-materials h3 { margin-top:20px; margin-bottom:11px; font-size:18px; }
.auto-ref-services p,.auto-ref-materials p { font-size:13px; line-height:1.5; }
.auto-ref-quality { background:#fff; }
.auto-ref-apps li::before { content:'✓'; margin-right:10px; color:#69b9dd; }
.auto-ref-apps { background:#fff; }
.auto-ref-story { padding:78px 0; background:#f5f8f9; }
.auto-ref-story .wrap { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.auto-ref-story .aero-ref-media { min-height:270px; }
.auto-ref-story h2 { margin:0 0 16px; font-size:29px; }
.auto-ref-story p { font-size:14px; line-height:1.55; }
.auto-ref-resources { background:#fff; }
@media (max-width:720px) {
  .auto-reference-page .aero-ref-hero { padding-bottom:35px; }
  .auto-reference-page .aero-ref-hero__media { display:none; }
  .auto-reference-page .auto-ref-uses article { min-height:210px; }
  .auto-reference-page .auto-ref-team article { min-height:190px; padding:28px 0; background:transparent; box-shadow:none; }
  .auto-reference-page .auto-ref-services > .wrap > div,.auto-reference-page .auto-ref-materials > .wrap > div { grid-template-columns:1fr; gap:18px; }
  .auto-reference-page .auto-ref-services article,.auto-reference-page .auto-ref-materials article { min-height:0; }
  .auto-reference-page .auto-ref-services article { position:relative; padding:0 22px; border-width:0 0 1px; }
  .auto-reference-page .auto-ref-services article .auto-ref-media,.auto-reference-page .auto-ref-services article p,.auto-reference-page .auto-ref-services article a { display:none; }
  .auto-reference-page .auto-ref-services article h3 { margin:0; padding:18px 0; font-size:16px; }
  .auto-reference-page .auto-ref-services article::after { content:'+'; position:absolute; top:13px; right:22px; color:#0785be; font-size:20px; }
  .auto-reference-page .auto-ref-materials article { padding:24px 22px; }
  .auto-reference-page .auto-ref-story .wrap { grid-template-columns:1fr; gap:28px; }
  .auto-reference-page .auto-ref-story .aero-ref-media { min-height:220px; }
  .robotics-reference-page .aero-ref-uses { padding-top:68px; padding-bottom:68px; }
  .robotics-reference-page .auto-ref-uses article { min-height:330px; padding-top:42px; padding-bottom:42px; }
  .robotics-reference-page .aero-ref-stats { padding-top:62px; padding-bottom:62px; }
  .robotics-reference-page .aero-ref-support { padding-top:72px; padding-bottom:72px; }
  .robotics-reference-page .auto-ref-team article { min-height:270px; padding-top:42px; padding-bottom:42px; }
  .robotics-reference-page .aero-ref-services { padding-top:70px; padding-bottom:70px; }
  .robotics-reference-page .aero-ref-quality { padding-top:70px; padding-bottom:70px; }
  .robotics-reference-page .auto-ref-materials { padding-top:72px; padding-bottom:72px; }
  .robotics-reference-page .auto-ref-materials article { min-height:230px; }
  .robotics-reference-page .aero-ref-applications { padding-top:70px; padding-bottom:70px; }
  .robotics-reference-page .auto-ref-story { padding-top:88px; padding-bottom:88px; }
  .robotics-reference-page .aero-ref-resources { padding-top:80px; padding-bottom:80px; }
}
body:has(.ind-tiles) .breadcrumbs .wrap,
body:has(.ind-tiles) .page-hero .wrap,
body:has(.ind-tiles) .logowall .wrap,
body:has(.ind-tiles) .section .wrap,
body:has(.ind-tiles) .cta-center .wrap { max-width: 1174px; padding-right: 0; padding-left: 0; }
.medical-industry-page .wrap { max-width: 1158px; padding-left: 0; padding-right: 0; }
.medical-industry-hero { background:#f8fbfc; }
.medical-industry-hero .wrap { display:grid; grid-template-columns:1fr 1fr; min-height:460px; }
.medical-industry-hero .wrap>div:first-child { padding:68px 35px 56px 0; }
.medical-industry-hero h1 { margin:0; font-size:45px; line-height:1.16; color:#30343a; }
.medical-industry-hero p { margin:22px 0; font-size:17px; line-height:1.5; }
.medical-industry-hero small { display:block; margin-top:8px; font-size:14px; }
.medical-industry-media,.medical-card-media,.medical-split-media { background:#eef2f4; }
.medical-industry-media { min-height:460px; }
.medical-industry-hero a:not(.btn) { text-decoration:underline; font-weight:600; }
.medical-industry-page .logowall { background:#fff; padding:30px 0; }
.medical-industry-cards .card { background:#f5f7f8; }
.medical-card-media { height:185px; }
.medical-split-media { min-height:330px; }
.medical-industry-panel { padding:90px 0; background:#fff; }
.medical-industry-panel:nth-of-type(even) { background:#f5f7f8; }
.medical-industry-panel .wrap { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.medical-panel-copy h2 { margin:0 0 18px; font-size:35px; line-height:1.2; }
.medical-panel-copy p { margin:0 0 25px; font-size:17px; line-height:1.55; }
.medical-panel-media { min-height:350px; background:#eef2f4; }
.medical-industry-panel--flip .medical-panel-copy { order:2; }
.page-hero.page-hero--dark.about-hero {
  min-height: 452px;
  padding: 104px 0;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 76% 28%, rgba(0, 104, 127, .52), transparent 34%),
    linear-gradient(90deg, #11141a 0%, #101419 47%, #0b2731 100%);
}
.about-hero .wrap { width: 100%; }
.about-hero h1 { max-width: 390px; }
.video-ph.about-story-media {
  background: #e4e8ec;
}
.video-ph.about-story-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(5, 18, 32, .08);
  border-radius: inherit;
}
.video-ph.about-story-media .play { z-index: 1; }
@media (min-width: 861px) {
  .about-story { padding-top: 96px; padding-bottom: 96px; }
  .about-stats { padding-top: 44px !important; padding-bottom: 84px !important; }
  .about-work { padding-top: 110px; padding-bottom: 110px; }
  .about-community { padding-top: 120px; padding-bottom: 120px; }
  .about-leadership { padding-top: 24px !important; padding-bottom: 120px; }
}

/* 行业横向瓷砖 */
.ind-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ind-tile { display: flex; background: var(--c-bg-soft); border-radius: 6px; overflow: hidden; align-items: stretch; }
.ind-tile img { width: 150px; height: 130px; object-fit: cover; flex: none; }
.ind-tile span { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 16px 20px; color: var(--c-ink); font-weight: 700; font-size: 17px; }
.ind-tile em { font-style: normal; color: var(--c-primary); transition: transform .18s; }
.ind-tile:hover em { transform: translateX(4px); }

/* 图标+标题+正文 六栏 */
.use-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 56px; max-width: 1100px; margin: 0 auto; }
.use-item svg { width: 34px; height: 34px; color: var(--c-primary); margin-bottom: 14px; }
.use-item h3 { font-size: 20px; font-weight: 700; color: var(--c-ink); margin-bottom: 8px; }
.use-item p { color: var(--c-body); font-size: 15px; }

/* 子页附加组件 */
.anchors-band { border-bottom: 1px solid var(--c-line); }
.anchors-band .wrap { display: flex; gap: 32px; padding: 16px 40px; flex-wrap: wrap; }
.filter-bar { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; padding: 18px 20px; background: var(--c-bg-soft); border-radius: 6px; margin-bottom: 8px; }
.filter-bar select { padding: 10px 14px; border: 1px solid var(--c-line); border-radius: 6px; font-family: inherit; font-size: 14px; background: #fff; }
.mat-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mat-card { display: flex; gap: 16px; border: 1px solid var(--c-line); border-radius: 6px; padding: 16px; }
.mat-card img { border-radius: 4px; flex: none; }
.mat-card b { color: var(--c-ink); font-size: 16.5px; }
.mat-card p { color: var(--c-body); font-size: 14px; margin: 4px 0 8px; }
.mat-card .tags { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.mat-card .tags i { font-style: normal; background: var(--c-bg-soft); border-radius: 999px; padding: 2px 10px; font-size: 12.5px; color: var(--c-muted); }
.mat-card .tags a { font-size: 13.5px; font-weight: 500; }
.color-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.color-chip i { display: block; aspect-ratio: 1.6; border-radius: 6px; border: 1px solid var(--c-line); }
.color-chip i:not([style]) { background: #e8edf1; }
.color-chip span { display: block; font-size: 13px; color: var(--c-body); margin-top: 6px; }
.lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lead-form label span { display: block; font-size: 14px; color: var(--c-ink); font-weight: 500; margin-bottom: 6px; }
.lead-form input { width: 100%; padding: 12px 14px; border: 1px solid var(--c-line); border-radius: 6px; font-family: inherit; font-size: 15px; background: #fff; }
.lead-form button { grid-column: 1 / -1; justify-self: start; }

/* About 页组件 */
.eyebrow { text-align: center; color: var(--c-primary); font-size: 14px; font-weight: 500; letter-spacing: .5px; margin-bottom: 14px; }
.eyebrow--light { text-align: left; color: #9fb8d4; margin-bottom: 10px; }
.statement { text-align: center; font-size: 30px; font-weight: 500; color: var(--c-ink); line-height: 1.4; max-width: 760px; margin: 0 auto; letter-spacing: -.3px; }
.stats-green { display: flex; justify-content: space-between; gap: 32px; max-width: 1000px; margin: 0 auto; flex-wrap: wrap; }
.stats-green span { display: block; color: var(--c-muted); font-size: 15px; margin-bottom: 6px; }
.stats-green b { font-size: 40px; font-weight: 700; color: #4caf50; letter-spacing: -.5px; }
.work-grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 32px; align-items: start; }
.panel-tint { background: #e8f2fb; border-radius: 6px; padding: 30px 28px; }
.panel-tint h3 { font-size: 20px; font-weight: 700; color: var(--c-ink); margin-bottom: 10px; }
.panel-tint p { color: var(--c-body); font-size: 15px; }
.cc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.cc-card { background: var(--c-bg-soft); border-radius: 6px; padding: 34px 32px; }
.cc-card h3 { font-size: 21px; font-weight: 700; color: var(--c-ink); margin-bottom: 12px; }
.cc-card p { color: var(--c-body); font-size: 15.5px; margin-bottom: 22px; }
.team-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 56px; max-width: 1000px; margin: 0 auto; }
.team-item b { display: block; font-size: 18px; color: var(--c-ink); font-weight: 700; }
.team-item span { color: var(--c-muted); font-size: 15px; }
.dark-cta { background: #14171e; text-align: center; }
.dark-cta .wrap { padding: 44px 0; }

/* 资源分类瓷砖 */
.res-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.res-tile { background: #e7eaef; border-radius: 6px; padding: 26px 24px 22px; display: flex; flex-direction: column; gap: 26px; }
.res-tile h3 { font-size: 19px; font-weight: 700; color: var(--c-ink); min-height: 52px; }
.res-tile:hover { background: #dde3ea; }

/* 合作案例大图分栏 */
.feature-split { display: grid; grid-template-columns: 1.2fr 1fr; background: var(--c-bg-soft); border-radius: 6px; overflow: hidden; }
.feature-split > img { width: 100%; height: 100%; object-fit: cover; }
.fs-panel { padding: 44px 40px; display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.fs-panel h3 { font-size: 26px; font-weight: 500; color: var(--c-ink); }
.fs-panel p { color: var(--c-body); flex: 1; }
.fs-dots { display: flex; gap: 10px; }
.fs-dots i { width: 10px; height: 10px; border-radius: 50%; background: #c4ccd8; }
.fs-dots i.is-on { background: var(--c-primary); }

/* Resources overview */
.resources-page .breadcrumbs { background: #f0f2f5; }
.page-hero.page-hero--dark.resources-hero {
  min-height: 300px;
  padding: 66px 0 58px;
  background: linear-gradient(90deg, rgba(12,16,23,.88) 0%, rgba(12,16,23,.78) 46%, rgba(12,16,23,.66) 100%);
}
.resources-hero h1 { font-size: 46px; max-width: 720px; }
.resources-hero .lede { max-width: 680px; margin-top: 16px; color: #e0e4e9; }
.resources-page .resource-categories { padding: 54px 0 60px; background: #fff; }
.resources-page .res-tiles { gap: 24px 30px; }
.resources-page .res-tile { min-height: 140px; padding: 26px 26px 20px; border-radius: 4px; background: #e4e7eb; }
.resources-page .res-tile h3 { font-size: 20px; line-height: 1.25; }
.resources-page .resources-partnerships { padding: 40px 0 30px; }
.resources-page .section-head { margin-bottom: 32px; }
.resources-page .section-head h2 { font-size: 34px; }
.resources-page .feature-split { grid-template-columns: 1.45fr 1fr; border-radius: 0; height: 360px; min-height: 0; }
.resources-page .feature-split > img { background:#e7ebf0; }
.resources-page .fs-panel { padding: 48px 44px 30px; }
.resources-page .fs-panel h3 { font-size: 28px; }
.resources-page .fs-panel p { font-size: 17px; line-height: 1.55; }
.resources-page .steps-cta { margin-top: 30px; }
.resources-page .resources-featured { padding: 30px 0 38px; }
.resources-page .resources-featured .card { border-radius: 0; background: #f2f4f7; box-shadow: none; }
.resources-page .resources-featured .card-media { height: 230px; aspect-ratio: auto; object-fit: cover; background: #e7ebf0; }
.resources-page .resources-featured .card-body { min-height: 210px; padding: 22px 26px 20px; }
.resources-page .resources-featured .card h3 { font-size: 21px; font-weight: 600; }
.resources-page .resources-featured .carousel-nav { margin-top: 14px; }
body:has(.resources-page) .site-header { position: relative; }
body:has(.resources-page) .connect .wrap { padding-top: 24px; padding-bottom: 24px; }

/* Design Tips: slug-specific visual reconstruction. */
body:has(.design-tips-page) .site-header { position: relative; }
.design-tips-page { overflow: hidden; background: #fff; }
.design-tips-page .wrap { max-width: 1220px; }
.dt-intro { padding: 46px 0 40px; }
.dt-intro h1 { color: var(--c-ink-strong); font-size: 44px; font-weight: 500; line-height: 1.15; }
.dt-intro p { max-width: 860px; margin-top: 16px; color: var(--c-body); font-size: 17px; line-height: 1.6; }
.dt-service-section { padding: 0 0 72px; }
.dt-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 30px; }
.dt-service-card { display: block; min-width: 0; color: var(--c-ink); background: #edf0f3; }
.dt-service-card img { display: none; }
.dt-service-card::before { content: ""; display: block; height: 260px; background: #e3e8ec; }
.dt-service-card span { display: block; padding: 16px 20px 17px; color: var(--c-ink); font-size: 18px; font-weight: 500; }
.dt-service-card:hover span { color: var(--c-primary-dark); }
.dt-center { margin-top: 34px; text-align: center; }
.dt-section-heading { margin-bottom: 34px; text-align: center; }
.dt-section-heading h2 { color: var(--c-ink-strong); font-size: 34px; font-weight: 500; line-height: 1.2; }
.dt-section-heading p { max-width: 720px; margin: 11px auto 0; color: var(--c-muted); font-size: 16px; }
.dt-topics { padding: 64px 0 72px; background: #f1f3f5; }
.dt-topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px 56px; }
.dt-topic-card { min-width: 0; padding: 22px 0 25px; border-top: 1px solid #d7dce2; }
.dt-topic-card h3 { color: var(--c-ink-strong); font-size: 22px; font-weight: 500; line-height: 1.3; }
.dt-topic-card p { margin: 7px 0 11px; color: var(--c-body); font-size: 15px; line-height: 1.55; }
.dt-link { display: inline-block; color: var(--c-primary-dark); font-size: 15px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.dt-link:hover { color: var(--c-primary); }
.dt-featured { padding: 70px 0 66px; }
.dt-carousel .carousel-track { padding: 0; }
.dt-feature-card { border-radius: 0; background: #f1f3f5; box-shadow: none; }
.dt-feature-card .card-media { display: none; }
.dt-feature-card::before { content: ""; display: block; height: 250px; background: #e3e8ec; }
.dt-feature-card .card-body { min-height: 248px; padding: 22px 23px 24px; }
.dt-feature-card .card-body h3 { font-size: 19px; font-weight: 500; }
.dt-feature-card .card-body p { font-size: 14.5px; line-height: 1.55; }
.dt-carousel-nav button { width: auto; height: auto; min-width: 88px; padding: 9px 17px; border-radius: 999px; font-size: 14px; }
.dt-videos { padding: 66px 0 76px; background: #f1f3f5; }
.dt-video-feature { display: grid; grid-template-columns: 1.5fr 1fr; min-height: 360px; background: #fff; }
.dt-media-action { position: relative; min-width: 0; overflow: hidden; background: #e3e8ec; }
.dt-media-action img { display: none; }
.dt-media-action::before { content: ""; display: block; width: 100%; height: 100%; min-height: inherit; background: #e3e8ec; }
.dt-media-action > a { position: absolute; left: 22px; bottom: 20px; padding: 10px 16px; color: #fff; background: #006bb8; font-size: 14px; font-weight: 500; }
.dt-media-action > a:hover { background: var(--c-primary-dark); }
.dt-video-copy { display: flex; flex-direction: column; justify-content: center; padding: 42px 38px; }
.dt-video-copy h3, .dt-video-card h3 { color: var(--c-ink-strong); font-size: 23px; font-weight: 500; line-height: 1.3; }
.dt-video-copy p, .dt-video-card p { margin: 12px 0 18px; color: var(--c-body); font-size: 15px; line-height: 1.55; }
.dt-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin-top: 30px; }
.dt-video-card { display: grid; grid-template-columns: 48% 1fr; min-width: 0; min-height: 245px; background: #fff; }
.dt-video-card > div:last-child { padding: 28px 26px; }
.dt-video-card h3 { font-size: 19px; }
.dt-video-card p { margin-bottom: 0; font-size: 14.5px; }
.dt-essentials { padding: 72px 0 80px; }
.dt-essentials-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.dt-essential-card { display: block; min-width: 0; color: var(--c-ink); }
.dt-essential-card img { display: none; }
.dt-essential-card::before { content: ""; display: block; height: 250px; background: #e3e8ec; border: 1px solid #edf0f3; }
.dt-essential-card > span { display: block; padding: 16px 2px 0; }
.dt-essential-card strong { display: block; color: var(--c-primary-dark); font-size: 18px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.dt-essential-card small { display: block; margin-top: 7px; color: var(--c-body); font-size: 14.5px; line-height: 1.5; }
.dt-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body:has(.design-tips-page) .connect .wrap { padding-top: 34px; padding-bottom: 34px; }

/* 认证+统计合并条 */
.cert-stats { border-bottom: 1px solid var(--c-line); }
.cert-stats .wrap { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-top: 22px; padding-bottom: 22px; flex-wrap: wrap; }
.cs-cert a { text-decoration: underline; font-weight: 500; }
.cs-cert p { color: var(--c-body); font-size: 14.5px; margin-top: 4px; }
.cs-stats { display: flex; gap: 56px; }
.cs-stats .stat b { font-size: 30px; }

/* 一级服务页 Hero */
.page-hero.page-hero--service { background: var(--c-bg-soft); padding: 54px 0 49px; }
.service-detail-page > .breadcrumbs .wrap,
.service-detail-page > .page-hero--service .wrap,
.service-detail-page > .logo-wall .wrap { max-width: 1248px; }
.service-hero-grid { display: grid; grid-template-columns: 1.15fr 1fr; grid-template-areas: "copy media" "cert stats"; gap: 38px 64px; align-items: start; }
.service-hero-copy { grid-area: copy; padding-top: 6px; }
.service-hero-copy h1 { font-size: 44px; line-height: 1.1; }
.service-hero-copy .lede { font-size: 16px; line-height: 1.45; }
.service-hero-media { grid-area: media; }
.service-hero-media img { width: 100%; }
.service-hero-cert { grid-area: cert; align-self: start; }
.service-hero-cert a { text-decoration: underline; font-weight: 500; }
.service-hero-cert strong { color: var(--c-ink); font-weight: 600; }
.service-hero-cert p { margin-top: 4px; color: var(--c-body); font-size: 14.5px; }
.service-hero-cert--inline { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px; }
.service-hero-cert--inline p { margin-top: 0; }
.service-hero-stats { grid-area: stats; display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; align-self: end; }
.service-hero-stats .stat { text-align: left; }
.service-hero-stats .stat b { color: var(--c-ink); font-size: 27px; }
.service-hero-stats .stat span { display: block; color: var(--c-body); font-size: 14px; line-height: 1.35; margin-top: 5px; }
.page-hero.page-hero--service .hero-actions { display: flex; align-items: center; gap: 20px; margin-top: 24px; }

/* Injection-molding root: source moves directly from the statistics row into the logo wall. */
body:has(.service-detail-page--injection-molding) .page-hero.page-hero--service { padding-bottom:25px; }

/* 3D printing source uses the compact header with no campaign strip. */
body:has(.service-detail-page--3d-printing) .service-promo { display: none; }
body:has(.service-detail-page--3d-printing) .breadcrumbs { background: #fff; }

/* DMLS shares the light metal-printing hero with a low certification block. */
body:has(.dmls-hero) .breadcrumbs { background: #fff; }
.page-hero.dmls-hero { min-height: 488px; padding: 64px 0 22px; }
.dmls-hero .wrap { max-width: 1280px; }
.dmls-hero h1 { max-width: 580px; font-size: 46px; line-height: 1.15; }
.dmls-hero .lede { margin: 20px 0 19px; max-width: 520px; font-size: 16px; }
.dmls-hero .hero-cert { margin-top: 126px; }
.dmls-hero .ph-grid > img { background: var(--c-bg-soft); }

/* SLA uses the same pale canvas but its longer heading carries the CTA lower. */
body:has(.sla-hero) .breadcrumbs { background: #fff; }
.page-hero.sla-hero { min-height: 520px; padding: 40px 0 30px; }
.sla-hero .wrap { max-width: 1280px; }
.page-hero.sla-hero h1 { max-width: 570px; font-size: 46px; line-height: 1.15; }
.page-hero.sla-hero .lede { margin: 28px 0 0; max-width: 680px; font-size: 18px; line-height: 2.05; white-space: pre-line; }
.sla-hero .hero-actions { margin-top: 12px; }
.sla-hero .hero-cert { margin-top: 13px; }
.sla-hero .ph-grid > img { background: var(--c-bg-soft); }

/* MJF has the taller, vertically centred additive-manufacturing hero. */
body:has(.mjf-hero) .breadcrumbs { background: #fff; }
.page-hero.mjf-hero { min-height: 512px; padding: 64px 0 0; }
.mjf-hero .wrap { max-width: 1280px; }
.page-hero.mjf-hero h1 { max-width: 580px; font-size: 46px; line-height: 1.15; }
.page-hero.mjf-hero .lede { margin: 22px 0 0; max-width: 600px; font-size: 18px; line-height: 2.05; }
.page-hero.mjf-hero .hero-actions { margin-top: 14px; }
.page-hero.mjf-hero .hero-cert { margin-top: 83px; }
.mjf-hero .ph-grid > img { background: var(--c-bg-soft); }

/* SLS keeps the single-line heading but shares the tall pale product canvas. */
body:has(.sls-hero) .breadcrumbs { background: #fff; }
.page-hero.sls-hero { min-height: 512px; padding: 64px 0 0; }
.sls-hero .wrap { max-width: 1280px; }
.page-hero.sls-hero h1 { max-width: 580px; font-size: 46px; line-height: 1.15; }
.page-hero.sls-hero .lede { margin: 22px 0 0; max-width: 600px; font-size: 18px; line-height: 2.05; }
.page-hero.sls-hero .hero-actions { margin-top: 14px; }
.page-hero.sls-hero .hero-cert { margin-top: 136px; }
.sls-hero .ph-grid > img { background: var(--c-bg-soft); }

/* PolyJet uses a shorter pale hero and a single plain certification line. */
body:has(.polyjet-hero) .breadcrumbs { background: #fff; }
.page-hero.polyjet-hero { min-height: 490px; padding: 64px 0 0; }
.polyjet-hero .wrap { max-width: 1280px; }
.page-hero.polyjet-hero h1 { max-width: 580px; font-size: 46px; line-height: 1.15; }
.page-hero.polyjet-hero .lede { margin: 22px 0 0; max-width: 600px; font-size: 18px; line-height: 2.05; }
.page-hero.polyjet-hero .hero-actions { margin-top: 14px; }
.page-hero.polyjet-hero .hero-cert { margin-top: 135px; }
.polyjet-hero .ph-grid > img { background: var(--c-bg-soft); }

/* Advanced photopolymers follows the short pale process hero with a two-line title. */
body:has(.advanced-photo-hero) .breadcrumbs { background: #fff; }
.page-hero.advanced-photo-hero { min-height: 490px; padding: 64px 0 0; }
.advanced-photo-hero .wrap { max-width: 1280px; }
.page-hero.advanced-photo-hero h1 { max-width: 640px; font-size: 46px; line-height: 1.15; }
.page-hero.advanced-photo-hero .lede { margin: 22px 0 0; max-width: 600px; font-size: 18px; line-height: 2.05; }
.page-hero.advanced-photo-hero .hero-actions { margin-top: 7px; }
.page-hero.advanced-photo-hero .hero-cert { margin-top: 128px; }
.advanced-photo-hero .ph-grid > img { background: var(--c-bg-soft); }

@media (min-width: 721px) {
  body:has(.advanced-photo-hero) .advanced-photo-intro .wrap { align-items: start; }
}

/* FDM's reference uses a photographic backdrop; the approved blank-material substitute keeps its short neutral canvas. */
body:has(.fdm-photo-hero) .breadcrumbs { background: #fff; }
.page-hero.fdm-photo-hero { min-height: 336px; padding: 68px 0 0; background: #e7e8ea; }
.page-hero.fdm-photo-hero h1 { max-width: 620px; font-size: 46px; line-height: 1.15; }
.page-hero.fdm-photo-hero .lede { margin: 20px 0 0; max-width: 620px; font-size: 17px; line-height: 1.55; }
.page-hero.fdm-photo-hero .hero-actions { margin-top: 18px; }

/* Large-format printing retains the tall pale product hero and two-line certification block. */
body:has(.large-format-hero) .breadcrumbs { background: #fff; }
.page-hero.large-format-hero { min-height: 531px; padding: 64px 0 0; }
.large-format-hero .wrap { max-width: 1280px; }
.page-hero.large-format-hero h1 { max-width: 620px; font-size: 46px; line-height: 1.15; }
.page-hero.large-format-hero .lede { margin: 22px 0 0; max-width: 600px; font-size: 18px; line-height: 2.05; }
.page-hero.large-format-hero .hero-actions { margin-top: 14px; }
.page-hero.large-format-hero .hero-cert { margin-top: 136px; }
.large-format-hero .ph-grid > img { background: var(--c-bg-soft); }

/* Quality has a compact pale hero with a three-line editorial heading and two CTAs. */
body:has(.print-quality-hero) .breadcrumbs { background: #fff; }
.page-hero.print-quality-hero { min-height: 490px; padding: 64px 0 0; }
.print-quality-hero .wrap { max-width: 1280px; }
.page-hero.print-quality-hero h1 { max-width: 600px; font-size: 46px; line-height: 1.15; }
.page-hero.print-quality-hero .lede { margin: 20px 0 0; max-width: 620px; font-size: 18px; line-height: 1.5; }
.page-hero.print-quality-hero .hero-actions { margin-top: 14px; }
.page-hero.print-quality-hero .hero-cert { margin-top: 52px; }
.print-quality-hero .ph-grid > img { background: var(--c-bg-soft); }

/* Finishing uses a text-only pale hero and immediately introduces its reference content. */
body:has(.finishing-hero) .breadcrumbs { background: #fff; }
.page-hero.finishing-hero { min-height: 348px; padding: 64px 0 0; }
.page-hero.finishing-hero h1 { max-width: 900px; font-size: 46px; line-height: 1.15; }
.page-hero.finishing-hero .lede { margin: 20px 0 0; max-width: 1120px; font-size: 18px; line-height: 1.5; }
.finishing-hero .hero-actions { display: none; }
.page-hero.finishing-hero .hero-cert { margin-top: 24px; }

/* Production reference uses a short photographic strip; blank-assets mode preserves its neutral canvas and dimensions. */
body:has(.production-print-hero) .breadcrumbs { background: #fff; }
.page-hero.production-print-hero { min-height: 311px; padding: 64px 0 0; background: #e7e8ea; }
.page-hero.production-print-hero h1 { max-width: 620px; font-size: 46px; line-height: 1.15; }
.page-hero.production-print-hero .lede { margin: 20px 0 0; max-width: 620px; font-size: 17px; line-height: 1.55; }
.page-hero.production-print-hero .hero-actions { margin-top: 12px; }

/* Sheet-metal root uses the service-detail hero grid with blank media in place of the reference part photo. */
body:has(.sheet-metal-root-hero) .service-promo { display: none; }
body:has(.sheet-metal-root-hero) .breadcrumbs { background: #fff; }
.sheet-metal-root-hero { min-height: 528px; padding: 64px 0 0; background: var(--c-bg-soft); }
.sheet-metal-root-grid { display: grid; grid-template-columns: 1fr 560px; grid-template-rows: auto auto; column-gap: 70px; }
.sheet-metal-root-copy h1 { max-width: 600px; font-size: 46px; line-height: 1.15; }
.sheet-metal-root-copy .lede { margin: 22px 0 0; max-width: 620px; font-size: 17px; line-height: 1.55; }
.sheet-metal-root-copy .hero-actions { margin-top: 18px; }
.sheet-metal-root-grid > img { grid-column: 2; grid-row: 1 / span 2; align-self: start; background: var(--c-bg-soft); }
.sheet-metal-root-cert { margin-top: 106px; color: var(--c-body); font-size: 16px; }
.sheet-metal-root-stats { grid-column: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 32px; }
.sheet-metal-root-stats b { display: block; font-size: 18px; color: var(--c-ink); }
.sheet-metal-root-stats span { display: block; margin-top: 7px; font-size: 13px; line-height: 1.35; color: var(--c-body); }

body:has(.service-detail-page--sheet-metal) .service-promo { display: none; }
body:has(.service-detail-page--sheet-metal) .breadcrumbs { background: #fff; }
.service-detail-page--sheet-metal .service-hero-cert--inline p { display: none; }
.service-detail-page--sheet-metal .service-hero-cert--inline strong { font-weight: 400; color: var(--c-body); }

/* Laser cutting is a short, text-only pale hero with a single compliance line. */
body:has(.laser-cutting-hero) .breadcrumbs { background: #fff; }
.page-hero.laser-cutting-hero { min-height: 374px; padding: 64px 0 0; }
.page-hero.laser-cutting-hero h1 { max-width: 760px; font-size: 46px; line-height: 1.15; }
.page-hero.laser-cutting-hero .lede { margin: 20px 0 0; max-width: 650px; font-size: 18px; line-height: 1.5; }
.page-hero.laser-cutting-hero .hero-actions { margin-top: 14px; }
.page-hero.laser-cutting-hero .hero-cert { margin-top: 42px; }

/* Punching keeps the tall, pale two-column service hero; the source product image is intentionally a blank media slot. */
body:has(.punching-hero) .service-promo { display: none; }
body:has(.punching-hero) .breadcrumbs { background: #fff; }
.page-hero.punching-hero { min-height: 540px; padding: 64px 0 0; }
.punching-hero .wrap { max-width: 1280px; }
.page-hero.punching-hero h1 { max-width: 580px; font-size: 46px; line-height: 1.15; }
.page-hero.punching-hero .lede { margin: 20px 0 0; max-width: 590px; font-size: 17px; line-height: 1.5; }
.page-hero.punching-hero .hero-actions { margin-top: 18px; }
.page-hero.punching-hero .hero-cert--plain { margin-top: 126px; }
.punching-hero .ph-grid > img { background: var(--c-bg-soft); }
body:has(.punching-hero) .anchors-band { background: #3b424c; border: 0; }
body:has(.punching-hero) .anchors-band .arrow-link { color: #fff; }

/* Forming follows the compact pale service composition, with a blank slot where the source part image appears. */
body:has(.forming-hero) .service-promo { display: none; }
body:has(.forming-hero) .breadcrumbs { background: #fff; }
.page-hero.forming-hero { min-height: 496px; padding: 64px 0 0; }
.forming-hero .wrap { max-width: 1280px; }
.page-hero.forming-hero h1 { max-width: 580px; font-size: 46px; line-height: 1.15; }
.page-hero.forming-hero .lede { margin: 20px 0 0; max-width: 590px; font-size: 17px; line-height: 1.5; }
.page-hero.forming-hero .hero-actions { margin-top: 18px; }
.page-hero.forming-hero .hero-cert--plain { margin-top: 104px; }
.forming-hero .ph-grid > img { background: var(--c-bg-soft); }

/* Fabricated assemblies uses the tall pale assembly hero, with a blank media slot for the source exploded-view part image. */
body:has(.assemblies-hero) .service-promo { display: none; }
body:has(.assemblies-hero) .breadcrumbs { background: #fff; }
.page-hero.assemblies-hero { min-height: 540px; padding: 64px 0 0; }
.assemblies-hero .wrap { max-width: 1280px; }
.page-hero.assemblies-hero h1 { max-width: 620px; font-size: 46px; line-height: 1.15; }
.page-hero.assemblies-hero .lede { margin: 20px 0 0; max-width: 590px; font-size: 17px; line-height: 1.5; }
.page-hero.assemblies-hero .hero-actions { margin-top: 18px; }
.page-hero.assemblies-hero .hero-cert--plain { margin-top: 202px; }
.assemblies-hero .hero-actions .btn { padding: 15px 20px; }
.assemblies-hero .ph-grid > img { background: var(--c-bg-soft); }
body:has(.assemblies-hero) .anchors-band { background: #3b424c; border: 0; }
body:has(.assemblies-hero) .anchors-band .arrow-link { color: #fff; }

/* Prototyping is a tall pale component-and-assembly hero, with the source part image replaced by a blank media slot. */
body:has(.sheet-prototype-hero) .service-promo { display: none; }
body:has(.sheet-prototype-hero) .breadcrumbs { background: #fff; }
.page-hero.sheet-prototype-hero { min-height: 535px; padding: 64px 0 0; }
.sheet-prototype-hero .wrap { max-width: 1280px; }
.page-hero.sheet-prototype-hero h1 { max-width: 530px; font-size: 46px; line-height: 1.18; }
.page-hero.sheet-prototype-hero .lede { margin: 20px 0 0; max-width: 610px; font-size: 17px; line-height: 1.55; }
.page-hero.sheet-prototype-hero .hero-actions { margin-top: 14px; }
.page-hero.sheet-prototype-hero .hero-cert--plain { margin-top: 35px; }
.sheet-prototype-hero .ph-grid > img { background: var(--c-bg-soft); }
.sheet-prototype-hero .hero-media-blank { min-height: 315px; background: #e3e8ec; }
.sheet-metal-root .breadcrumbs { background: #fff; }
.sheet-metal-root .stats { max-width: 1180px; margin: -62px auto 0; position: relative; z-index: 1; }
.sheet-metal-root .stats .stat { background: transparent; }
.sheet-metal-root .stats b { font-size: 25px; }
.page-hero.sheet-root-hero { min-height: 435px; padding: 62px 0 52px; }
.sheet-root-hero .wrap { max-width: 1240px; }
.sheet-root-hero h1 { max-width: 590px; font-size: 46px; line-height: 1.15; }
.sheet-root-hero .lede { max-width: 560px; margin-top: 19px; font-size: 17px; }
.sheet-root-hero .hero-cert--plain { margin-top: 49px; }
.sheet-root-hero .hero-media-blank { min-height: 270px; background: #e3e8ec; }
.sheet-root-capabilities { padding-top: 58px; }
.sheet-root-capabilities .res-grid { max-width: 900px; margin: 0 auto; gap: 14px; }
.sheet-root-capabilities .card { display: grid; grid-template-columns: 145px 1fr; min-height: 172px; border-radius: 0; box-shadow: 0 2px 8px rgb(18 35 50 / 12%); }
.sheet-root-capabilities .card-media { width: 145px; height: 172px; object-fit: cover; background: #e3e8ec; }
.sheet-root-capabilities .card-body { padding: 20px; }
.sheet-root-capabilities .card-body h3 { font-size: 19px; }
.sheet-root-quote { padding-top: 24px; padding-bottom: 24px; }
.sheet-root-quote .wrap { max-width: 900px; padding: 30px 38px; background: #e6f3fb; }
.sheet-root-quote img { min-height: 170px; object-fit: contain; background: #e3e8ec; }
.sheet-root-lead .wrap { max-width: 980px; }
.sheet-root-how img, .sheet-root-applications img, .sheet-root-finishing img { min-height: 290px; object-fit: cover; background: #e3e8ec; }
.sheet-root-advantages .wrap, .sheet-root-why .wrap { max-width: 1080px; }
.sheet-root-advantages h2, .sheet-root-why h2 { margin-top: 22px; font-size: 18px; }
.sheet-root-advantages h2:first-of-type, .sheet-root-why h2:first-of-type { font-size: 29px; }
.sheet-root-dfm { background: #171b22; }
.sheet-metal-root .sheet-root-dfm h2, .sheet-metal-root .sheet-root-dfm p, .sheet-metal-root .sheet-root-dfm li { color: #fff; }
.sheet-root-dfm img { min-height: 300px; object-fit: contain; background: #27313b; }
.sheet-root-network { padding-top: 0; padding-bottom: 0; background: #171b22; }
.sheet-root-network .wrap { min-height: 245px; align-items: stretch; }
.sheet-root-network .wrap > div:first-child { padding: 46px 36px; }
.sheet-metal-root .sheet-root-network h2, .sheet-metal-root .sheet-root-network p { color: #fff; }
.sheet-root-network img { min-height: 245px; border-radius: 0; object-fit: cover; background: #27313b; }
.sheet-root-materials .res-grid { grid-template-columns: repeat(3, 1fr); }
.sheet-root-materials .card { border-radius: 0; box-shadow: none; }
.sheet-root-materials .card-media { height: 126px; object-fit: cover; background: #e3e8ec; }
.sheet-root-guide .wrap { grid-template-columns: 180px 1fr 1.1fr; gap: 28px; }
.sheet-root-guide .guide-band__media { min-height: 135px; object-fit: contain; background: #e3e8ec; }

/* 3D printing root: match the source's editorial sequence, three-up process tiles, dense comparison blocks, and late dark finishing/quote bands. */
body:has(.printing-root) .service-promo { display: none; }
body:has(.printing-root) .breadcrumbs { background: #fff; }
.printing-root .stats { max-width: 1180px; margin: -61px auto 0; position: relative; z-index: 1; }
.printing-root .stats .stat { background: transparent; }
.printing-root .stats b { font-size: 25px; }
.page-hero.printing-root-hero { min-height: 442px; padding: 62px 0 48px; }
.printing-root-hero .wrap { max-width: 1240px; }
.printing-root-hero h1 { max-width: 580px; font-size: 46px; line-height: 1.14; }
.printing-root-hero .lede { max-width: 555px; margin-top: 18px; font-size: 17px; line-height: 1.52; }
.printing-root-hero .hero-actions { margin-top: 18px; }
.printing-root-hero .hero-cert--plain { margin-top: 45px; }
.printing-root-hero .hero-media-blank { min-height: 282px; border-radius: 0; background: #e3e8ec; }
.printing-root .logowall { padding: 28px 0 22px; }
.printing-root-technologies { padding-top: 62px; }
.printing-root-technologies .section-head { max-width: 950px; margin-bottom: 28px; }
.printing-root-technologies .section-head h2 { font-size: 32px; }
.printing-root-technologies .res-grid { max-width: 970px; margin: 0 auto; gap: 22px; }
.printing-root-technologies .card { min-height: 385px; border-radius: 0; box-shadow: 0 2px 10px rgb(18 35 50 / 13%); }
.printing-root-technologies .card-media { height: 190px; object-fit: contain; background: #e3e8ec; }
.printing-root-technologies .card-body { padding: 19px 20px; }
.printing-root-technologies .card-body h3 { min-height: 24px; margin-bottom: 14px; font-size: 17px; }
.printing-root-technologies .card-body p { min-height: 57px; font-size: 14px; line-height: 1.42; }
.printing-root-technologies .arrow-link { display: block; margin-top: 20px; padding: 12px 16px; background: #d9eef9; color: #087aaf; text-align: center; }
.printing-root-network { padding-top: 74px; padding-bottom: 30px; }
.printing-root-network .wrap, .printing-root-better .wrap { max-width: 970px; gap: 42px; }
.printing-root-network img { min-height: 245px; object-fit: contain; background: #e3e8ec; }
.printing-root-better { padding-top: 30px; padding-bottom: 72px; }
.printing-root-better .wrap { min-height: 155px; padding: 28px 34px; background: #e7f4fa; }
.printing-root-better h2 { font-size: 27px; }
.printing-root-better img { min-height: 125px; object-fit: contain; background: #e3e8ec; }
.printing-root-comparison { padding-top: 65px; padding-bottom: 54px; }
.printing-root-comparison .wrap { max-width: 970px; }
.printing-root-comparison .section-head { max-width: 900px; margin: 0 0 26px; text-align: left; }
.printing-root-comparison .section-head h2 { font-size: 31px; }
.printing-root-comparison .compare-table tbody tr { height: 86px; }
.printing-root-materials { padding-top: 70px; padding-bottom: 54px; background: #f3f5f8; }
.printing-root-materials .wrap { max-width: 970px; }
.printing-root-materials .copy-block__intro { margin: 0 0 36px; text-align: center; font-size: 28px; font-weight: 500; color: var(--c-ink); }
.printing-root-materials h2 { margin-top: 44px; font-size: 25px; }
.printing-root-materials h2 + p { max-width: 690px; }
.printing-root-guide .wrap { max-width: 970px; grid-template-columns: 180px 1fr 1.15fr; }
.printing-root-guide .guide-band__media { min-height: 140px; object-fit: contain; background: #e3e8ec; }
.printing-root-sample { padding-top: 68px; padding-bottom: 68px; }
.printing-root-sample .wrap { max-width: 970px; }
.printing-root-sample img { min-height: 210px; object-fit: contain; background: #e3e8ec; }
.printing-root-review { padding-top: 64px; padding-bottom: 64px; background: #11151b; }
.printing-root-review .btn { background: #d9eef9; color: #087aaf; }
.printing-root .video-band { padding: 66px 0; background: #f3f5f8; }
.printing-root .video-band .wrap { max-width: 970px; }
.printing-root .video-ph { min-height: 220px; background: #e3e8ec; }
.printing-root-finishing-copy { padding-top: 66px; padding-bottom: 42px; background: #171b22; }
.printing-root-finishing-copy .wrap { max-width: 970px; }
.printing-root-finishing-copy .copy-block__intro, .printing-root-finishing-copy h2, .printing-root-finishing-copy h2 + p { color: #fff; }
.printing-root-finishing-copy .copy-block__intro { max-width: 760px; margin-bottom: 34px; font-size: 28px; }
.printing-root-finishing-copy h2 { margin-top: 30px; font-size: 26px; }
.printing-root-finishing { padding-top: 22px; padding-bottom: 22px; background: #171b22; }
.printing-root-finishing .wrap { max-width: 970px; }
.printing-root-finishing h2, .printing-root-finishing p, .printing-root-finishing li { color: #fff; }
.printing-root-finishing img { min-height: 242px; object-fit: cover; background: #27313b; }
.printing-root-finish-table { padding-top: 40px; padding-bottom: 74px; background: #171b22; }
.printing-root-finish-table .wrap { max-width: 970px; }
.printing-root-finish-table .section-head { margin-bottom: 28px; }
.printing-root-finish-table .section-head h2 { color: #fff; }
.printing-root-finish-table .compare-table { color: #fff; }
.printing-root-finish-table .compare-table thead { background: #242a33; }
.printing-root-finish-table .compare-table tbody tr { height: 72px; }
.printing-root-finish-table .compare-table th, .printing-root-finish-table .compare-table td { border-color: #404750; }
.printing-root-production { padding-top: 75px; padding-bottom: 55px; }
.printing-root-production .wrap { max-width: 970px; }
.printing-root-production .copy-block__intro { max-width: 700px; }
.printing-root-production h2 { margin-top: 40px; }
.printing-root-dark { padding-top: 62px; padding-bottom: 62px; background: #11151b; }
.printing-root-dark .wrap { max-width: 970px; }
.printing-root-dark h2, .printing-root-dark p { color: #fff; }
.printing-root-dark img { min-height: 250px; object-fit: contain; background: #27313b; }
.printing-root-resources { padding-top: 68px; }
.printing-root-resources .res-grid { max-width: 970px; margin: 0 auto; }
.printing-root-resources .card { min-height: 286px; border: 0; border-radius: 0; background: #f1f3f5; box-shadow: none; }
.printing-root-resources .card-media { height: 138px; object-fit: contain; background: #e3e8ec; }
.printing-root-resources .card-body { padding: 16px; }
.printing-root-resources .card-body h3 { font-size: 17px; }
.printing-root-resources .card-body p { min-height: 40px; font-size: 13px; }

@media (max-width: 700px) {
	body:has(.printing-root) .breadcrumbs { display: none; }
	.page-hero.printing-root-hero { min-height: 0; padding: 0 0 32px; }
	.printing-root-hero .ph-grid { display: flex; flex-direction: column; gap: 0; }
	.printing-root-hero .ph-grid > .hero-media-blank { display: block; order: -1; width: 100%; height: 210px; min-height: 210px; margin: 0 0 22px; }
	.printing-root-hero h1 { font-size: 32px; }
	.printing-root-hero .lede { margin-top: 10px; font-size: 17px; }
	.printing-root-hero .hero-actions .btn { width: 100%; }
	.printing-root .stats { margin: 0; }
	.printing-root .logowall { padding: 24px 0; }
	.printing-root-technologies { padding-top: 44px; }
	.printing-root-technologies .section-head { text-align: left; }
	.printing-root-technologies .section-head h2 { font-size: 28px; }
	.printing-root-technologies .res-grid { gap: 18px; }
	.printing-root-technologies .card { min-height: 0; }
	.printing-root-technologies .card-media { height: 180px; }
	.printing-root-network, .printing-root-better { padding-top: 42px; padding-bottom: 42px; }
	.printing-root-network .wrap, .printing-root-better .wrap { gap: 24px; }
	.printing-root-network img { min-height: 190px; }
	.printing-root-better .wrap { padding: 24px; }
	.printing-root-better img { min-height: 160px; }
	.printing-root-comparison, .printing-root-materials, .printing-root-sample, .printing-root-production, .printing-root-resources { padding-top: 46px; padding-bottom: 46px; }
	.printing-root-comparison .section-head { text-align: left; }
	.printing-root-comparison .section-head h2 { font-size: 27px; }
	.printing-root-comparison .compare-table { min-width: 680px; }
	.printing-root-materials .copy-block__intro { font-size: 26px; text-align: left; }
	.printing-root-materials h2 { font-size: 24px; }
	.printing-root-guide .wrap { grid-template-columns: 1fr; }
	.printing-root-guide .guide-band__media { min-height: 170px; }
	.printing-root-sample img, .printing-root-dark img, .printing-root-finishing img { min-height: 190px; }
	.printing-root .video-band { padding: 44px 0; }
	.printing-root .video-ph { min-height: 190px; }
	.printing-root-finishing-copy, .printing-root-finish-table { padding-top: 46px; padding-bottom: 46px; }
	.printing-root-finishing-copy .copy-block__intro { font-size: 26px; }
	.printing-root-finish-table .compare-table { min-width: 620px; }
	.printing-root-dark { padding-top: 48px; padding-bottom: 48px; }
	.printing-root-resources .card { min-height: 0; }
}
@media (max-width: 700px) {
	.sheet-metal-root .breadcrumbs { display: none; }
	.page-hero.sheet-root-hero { min-height: 0; padding: 0 0 32px; }
	.sheet-root-hero .ph-grid { display: flex; flex-direction: column; gap: 0; }
	.sheet-root-hero .ph-grid > .hero-media-blank { display: block; order: -1; width: 100%; height: 210px; min-height: 210px; margin: 0 0 22px; }
	.sheet-root-hero h1 { font-size: 32px; }
	.sheet-root-hero .lede { margin-top: 10px; font-size: 17px; line-height: 1.55; }
	.sheet-root-hero .hero-actions .btn { width: 100%; }
	.sheet-metal-root .stats { margin: 0; }
	.sheet-root-capabilities .res-grid, .sheet-root-materials .res-grid { grid-template-columns: 1fr; }
	.sheet-root-capabilities .card { grid-template-columns: 120px 1fr; min-height: 148px; }
	.sheet-root-capabilities .card-media { width: 120px; height: 148px; }
	.sheet-root-quote .wrap { padding: 28px 24px; }
	.sheet-root-guide .wrap { grid-template-columns: 1fr; }
}
.sheet-prototype-intro .wrap { max-width: 1160px; grid-template-columns: 220px minmax(0, 1fr); gap: 70px; }
.sheet-prototype-intro h2 { margin: 0 0 18px; font-size: 30px; line-height: 1.2; }
.sheet-prototype-intro p { max-width: 790px; font-size: 16px; line-height: 1.5; }
.sheet-prototype-intro .bullet-plain { columns: 1; max-width: 790px; }
.sheet-prototype-capabilities { padding-top: 0; padding-bottom: 0; background: #353b46; }
.sheet-prototype-capabilities .wrap { min-height: 360px; align-items: stretch; }
.sheet-prototype-capabilities .wrap > div:first-child { padding: 48px 34px; }
.sheet-prototype-capabilities h2, .sheet-prototype-capabilities p, .sheet-prototype-capabilities li { color: #fff; }
.sheet-prototype-capabilities h2 { font-size: 28px; }
.sheet-prototype-capabilities img { width: 100%; min-height: 360px; border-radius: 0; object-fit: cover; background: #e3e8ec; }
.sheet-prototype-lead .wrap, .sheet-prototype-copy .wrap { max-width: 1160px; }
.sheet-prototype-lead { padding-bottom: 24px; }
.sheet-prototype-lead .copy-block__intro { max-width: 900px; }
.sheet-prototype-lead h2 { margin-top: 14px; font-size: 27px; }
.sheet-prototype-lead-table { padding-top: 24px; }
.sheet-prototype-lead-table .wrap, .sheet-prototype-applications .wrap { max-width: 1160px; }
.sheet-prototype-copy { padding-top: 42px; padding-bottom: 22px; }
.sheet-prototype-copy h2 { margin: 25px 0 7px; font-size: 17px; font-weight: 700; }
.sheet-prototype-copy h2:first-of-type { margin-top: 28px; font-size: 28px; line-height: 1.2; }
.sheet-prototype-copy h2 + p { max-width: 1040px; font-size: 15px; }

/* Sheet-metal production uses a pale two-column program hero with paired quote actions. */
body:has(.sheet-production-hero) .service-promo { display: none; }
body:has(.sheet-production-hero) .breadcrumbs { background: #fff; }
.page-hero.sheet-production-hero { min-height: 508px; padding: 64px 0 0; }
.sheet-production-hero .wrap { max-width: 1280px; }
.page-hero.sheet-production-hero h1 { max-width: 600px; font-size: 46px; line-height: 1.15; }
.page-hero.sheet-production-hero .lede { margin: 20px 0 0; max-width: 610px; font-size: 17px; line-height: 1.5; }
.page-hero.sheet-production-hero .hero-actions { margin-top: 44px; gap: 12px; }
.sheet-production-hero .hero-actions .btn { padding: 15px 20px; }
.page-hero.sheet-production-hero .hero-cert--plain { margin-top: 36px; }
.sheet-production-hero .ph-grid > img { background: var(--c-bg-soft); }
.sheet-production-hero .hero-media-blank { min-height: 300px; background: #e3e8ec; }
.sheet-production-capabilities img, .sheet-production-support img, .sheet-production-delivery img, .sheet-production-materials img, .sheet-production-finishes img, .sheet-production-batch img { min-height: 280px; object-fit: cover; background: #e3e8ec; }
.sheet-production-capabilities { padding-top: 56px; padding-bottom: 38px; }
.sheet-production-capabilities h2 { font-size: 30px; }
.sheet-production-journey { padding-top: 34px; padding-bottom: 30px; }
.sheet-production-journey img { min-height: 140px; object-fit: contain; background: #fff; }
.sheet-production-support { padding-top: 56px; padding-bottom: 56px; }
.sheet-production-quality { background: #171b22; }
.sheet-production-quality h2, .sheet-production-quality p, .sheet-production-quality li { color: #fff; }
.sheet-production-quality img { min-height: 300px; object-fit: contain; background: #27313b; }

/* Quality control uses the compact pale service composition with blank media in place of the source product image. */
body:has(.sheet-quality-hero) .service-promo { display: none; }
body:has(.sheet-quality-hero) .breadcrumbs { background: #fff; }
.page-hero.sheet-quality-hero { min-height: 496px; padding: 64px 0 0; }
.sheet-quality-hero .wrap { max-width: 1280px; }
.page-hero.sheet-quality-hero h1 { max-width: 600px; font-size: 46px; line-height: 1.15; }
.page-hero.sheet-quality-hero .lede { margin: 20px 0 0; max-width: 590px; font-size: 17px; line-height: 1.5; }
.page-hero.sheet-quality-hero .hero-actions { margin-top: 18px; }
.page-hero.sheet-quality-hero .hero-cert--plain { margin-top: 104px; }
.sheet-quality-hero .ph-grid > img { background: var(--c-bg-soft); }

/* Finishing uses the compact pale service composition, with source media represented by a blank slot. */
body:has(.sheet-finishing-hero) .service-promo { display: none; }
body:has(.sheet-finishing-hero) .breadcrumbs { background: #fff; }
.page-hero.sheet-finishing-hero { min-height: 496px; padding: 64px 0 0; }
.sheet-finishing-hero .wrap { max-width: 1280px; }
.page-hero.sheet-finishing-hero h1 { max-width: 610px; font-size: 46px; line-height: 1.15; }
.page-hero.sheet-finishing-hero .lede { margin: 20px 0 0; max-width: 590px; font-size: 17px; line-height: 1.5; }
.page-hero.sheet-finishing-hero .hero-actions { margin-top: 18px; }
.page-hero.sheet-finishing-hero .hero-cert--plain { margin-top: 104px; }
.sheet-finishing-hero .ph-grid > img { background: var(--c-bg-soft); }
.sheet-finishing-hero .hero-media-blank { min-height: 280px; background: #e3e8ec; }
.sheet-finishing-grain .res-grid { max-width: 840px; margin: 0 auto; }
.sheet-finishing-review { padding-top: 0; padding-bottom: 0; background: #171b22; }
.sheet-finishing-review .wrap { min-height: 330px; align-items: stretch; }
.sheet-finishing-review .wrap > div:first-child { padding: 46px 36px; }
.sheet-finishing-review h2, .sheet-finishing-review p, .sheet-finishing-review li { color: #fff; }
.sheet-finishing-review img { min-height: 330px; border-radius: 0; object-fit: cover; background: #e3e8ec; }
.sheet-finishing-standard .wrap, .sheet-finishing-wet .wrap, .sheet-finishing-masking .wrap { max-width: 1100px; }
.sheet-finishing-standard { padding-bottom: 22px; }
.sheet-finishing-standard h2, .sheet-finishing-wet h2, .sheet-finishing-masking h2 { margin-top: 14px; font-size: 29px; }
.sheet-finishing-powder, .sheet-finishing-guide, .sheet-finishing-silk { padding-top: 52px; padding-bottom: 52px; }
.sheet-finishing-powder img, .sheet-finishing-guide img, .sheet-finishing-silk img { min-height: 280px; object-fit: cover; background: #e3e8ec; }
.sheet-finishing-wet { background: #f1f5f7; }
.sheet-finishing-laser .wrap { max-width: 1100px; }
.sheet-finishing-pad { padding-top: 42px; padding-bottom: 42px; background: #f1f5f7; }
.sheet-finishing-pad .card { min-height: 190px; border-radius: 0; box-shadow: none; }
@media (min-width: 701px) {
	.sheet-finishing-plating .compare-table tbody tr { height: 210px; }
	.sheet-finishing-laser .compare-table tbody tr { height: 185px; }
	.sheet-finishing-cosmetic .compare-table tbody tr { height: 180px; }
}

/* The Services production landing page has its own short, half-and-half production hero. */
body:has(.independent-production-hero) .service-promo { display: none; }
body:has(.independent-production-hero) .breadcrumbs { background: #fff; }
.page-hero.independent-production-hero { min-height: 407px; padding: 64px 0 0; }
.independent-production-hero .wrap { max-width: 1280px; }
.independent-production-hero .ph-grid { grid-template-columns: 1fr 1fr; gap: 0; }
.page-hero.independent-production-hero h1 { max-width: 620px; font-size: 46px; line-height: 1.15; }
.page-hero.independent-production-hero .lede { margin: 20px 0 0; max-width: 600px; font-size: 17px; line-height: 1.5; }
.page-hero.independent-production-hero .hero-actions { margin-top: 18px; gap: 12px; }
.independent-production-hero .hero-actions .btn { padding: 15px 20px; }
.page-hero.independent-production-hero .hero-cert--plain { margin-top: 48px; }
.independent-production-hero .hero-cert--plain p + p { margin-top: 16px; }
.independent-production-hero .ph-grid > img { height: 407px; margin-top: -64px; object-fit: cover; background: var(--c-bg-soft); }
.independent-production-intro { padding: 66px 0 58px; background: #fff; text-align: center; }
.independent-production-intro h2 { max-width: 900px; margin: 0 auto; font-size: 34px; line-height: 1.22; }

/* Materials has the compact, half-media hero used throughout the material reference area. */
.page-hero.materials-root-hero { min-height: 365px; padding: 64px 0 0; }
.materials-root-hero .wrap { max-width: 1280px; }
.materials-root-hero .ph-grid { grid-template-columns: 1fr 1fr; gap: 0; }
.materials-root-hero h1 { max-width: 580px; font-size: 46px; line-height: 1.15; }
.materials-root-hero .lede { margin: 20px 0 0; max-width: 570px; font-size: 17px; line-height: 1.5; }
.materials-root-hero .hero-cert { margin-top: 48px; }
.materials-root-hero .ph-grid > img { height: 365px; margin-top: -64px; object-fit: cover; background: var(--c-bg-soft); }

/* Materials comparison pages use a document-like introduction and a fixed filtering rail. */
.materials-compare-page { padding: 45px 0 94px; background: #fff; }
.materials-compare-page .wrap { max-width: none; padding-right: 62px; padding-left: 62px; }
.materials-compare-intro h1 { margin: 0; font-size: 46px; line-height: 1.14; letter-spacing: -.6px; }
.materials-compare-note { max-width: 1120px; margin: 33px 0 0; font-size: 17px; font-weight: 600; line-height: 1.48; }
.materials-network-note { margin: 23px 0 0; font-size: 17px; font-weight: 600; }
.materials-network-note a { color: var(--c-primary); text-decoration: underline; }
.materials-compare-links { display: grid; gap: 15px; width: 270px; margin-top: 56px; font-size: 16px; }
.materials-compare-links a { position: relative; padding-left: 24px; color: var(--c-primary); text-decoration: underline; }
.materials-compare-links a::before { position: absolute; left: 4px; content: '•'; color: var(--c-ink); }
.materials-compare-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 30px; margin-top: 38px; }
.materials-filter { align-self: start; padding: 20px 22px; border: 1px solid #e1e5e8; border-radius: 5px; background: #fff; }
.materials-filter > label { display: block; position: relative; }
.materials-filter > label span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.materials-filter input[type="search"] { width: 100%; height: 41px; padding: 0 13px 0 36px; border: 1px solid #cfd5d9; border-radius: 4px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath d='m21 21-4.35-4.35m2.35-5.65a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z' fill='none' stroke='%23838a91' stroke-width='2'/%3E%3C/svg%3E") 12px center/17px no-repeat; font: 15px/1 var(--font-sans); }
.materials-filter details { padding: 21px 0 14px; border-bottom: 1px solid #e4e7e9; }
.materials-filter summary { display: flex; align-items: center; justify-content: space-between; list-style: none; color: #30343a; font-size: 17px; font-weight: 700; cursor: pointer; }
.materials-filter summary::after { content: '⌄'; color: var(--c-primary); font-size: 27px; font-weight: 400; line-height: .6; }
.materials-filter details > label { display: block; margin-top: 12px; color: #687079; font-size: 14px; }
.materials-filter input[type="checkbox"] { accent-color: var(--c-primary); }
.materials-results { border: 1px solid #e1e5e8; border-radius: 5px; overflow: hidden; background: #fff; }
.materials-results__head { display: flex; align-items: center; justify-content: space-between; min-height: 77px; padding: 0 28px; border-bottom: 1px solid #e1e5e8; color: #525a62; font-size: 14px; }
.materials-results__head button { border: 0; background: transparent; color: #525a62; font: 15px/1 var(--font-sans); cursor: pointer; }
.materials-results__head [data-expand-materials]::after { margin-left: 10px; color: #5a7c90; content: '⌃'; font-size: 22px; vertical-align: -2px; }
.material-result { border-bottom: 1px solid #e5e8ea; }
.material-result:last-child { border-bottom: 0; }
.material-result summary { display: grid; grid-template-columns: minmax(230px, 1.2fr) repeat(2, minmax(110px, .65fr)) 112px; gap: 16px; align-items: center; min-height: 78px; padding: 0 28px; list-style: none; color: #4e565e; font-size: 16px; cursor: pointer; }
.material-result summary::-webkit-details-marker { display: none; }
.material-result__name { color: #30343a; font-size: 21px; font-weight: 600; }
.material-result__more { color: var(--c-primary); text-align: right; font-size: 14px; }
.material-result > div { padding: 0 28px 23px; color: #606870; }
.material-result > div p { margin: 0 0 12px; line-height: 1.5; }
.material-result > div a { color: var(--c-primary); text-decoration: underline; }
.materials-cnc-compare .materials-compare-layout { margin-top: 42px; }
.materials-cnc-compare .materials-filter { padding-bottom: 19px; }
.materials-reset { width: 100%; height: 47px; margin-top: 17px; border: 0; border-radius: 4px; background: #d7edf9; color: #177eaf; font: 700 15px/1 var(--font-sans); cursor: pointer; }
.materials-cnc-results .materials-results__head > div { display: flex; align-items: center; gap: 0; }
.unit-label { margin-right: 10px; color: #5e6670; font-size: 14px; }
.unit-toggle { min-width: 49px; height: 37px; border: 1px solid #e0e4e7; background: #fff; color: #555e67; font: 15px/1 var(--font-sans); cursor: pointer; }
.unit-toggle.is-active { border-color: #78869d; background: #6e7b91; color: #fff; }
.materials-cnc-results .materials-results__head [data-expand-materials] { margin-left: 21px; }
.material-result--media summary { grid-template-columns: 118px minmax(220px, 1fr) 150px; min-height: 145px; }
.material-result--media .material-result-media { display: block; width: 118px; height: 99px; object-fit: cover; background: #edf0f3; }
.material-result--media summary > span:nth-of-type(1) { display: grid; gap: 19px; }
.material-result--media small { color: #68717a; font-size: 14px; line-height: 1.55; }
.material-result--media small b { color: #30343a; font-size: 16px; }
.material-result--media .material-result__more { line-height: 2.1; }
.materials-print-compare { padding-top: 47px; }
.materials-print-compare .materials-compare-layout { margin-top: 56px; }
.materials-print-compare .materials-compare-intro h1 { font-size: 46px; }
.material-type-set { display: grid; gap: 14px; padding: 34px 0 25px; border-bottom: 1px solid #e4e7e9; }
.material-type-set strong { margin-bottom: 7px; color: #30343a; font-size: 17px; }
.material-type-set label { color: #687079; font-size: 14px; }
.materials-print-compare .materials-filter details { padding-top: 20px; }
.materials-print-results .materials-results__head > div { display: flex; align-items: center; gap: 0; }
.materials-print-results .materials-results__head [data-expand-materials] { margin-left: 21px; }
.materials-print-results .material-result--media summary { grid-template-columns: 118px minmax(440px, 1fr) 150px; }
.materials-print-results .print-material-copy { display: grid; gap: 20px; }
.materials-print-results .print-material-facts { display: grid; grid-template-columns: repeat(4, minmax(68px, 1fr)); gap: 18px; }
.materials-print-results .print-material-facts small { display: grid; gap: 5px; color: #69717a; font-size: 14px; line-height: 1.1; }
.materials-print-results .print-material-facts b { color: #30343a; font-size: 16px; }
.materials-sheet-compare .materials-compare-layout { margin-top: 62px; }
.materials-sheet-results .materials-results__head > div { display: flex; align-items: center; gap: 0; }
.materials-sheet-results .materials-results__head [data-expand-materials] { margin-left: 21px; }
.materials-sheet-results .material-result--media summary { grid-template-columns: 118px minmax(360px, 1fr) 140px; min-height: 138px; }
.materials-sheet-results .sheet-material-copy { display: grid; gap: 18px; }
.sheet-material-chips { display: flex; flex-wrap: wrap; gap: 10px 13px; }
.sheet-material-chips i { padding: 6px 14px; border-radius: 16px; background: #f5f5f7; color: #59616a; font: 15px/1 var(--font-sans); font-style: normal; }

/* The comparison guide is a dense reference table rather than a card catalogue. */
.materials-guide-page { padding-top: 76px; }
.materials-guide-page .wrap { max-width: 1158px; padding-right: 0; padding-left: 0; }
.materials-guide-page .materials-compare-intro { max-width: 1190px; }
.materials-guide-page .materials-compare-intro > p:not(.materials-compare-note):not(.materials-network-note) { max-width: 1065px; margin: 17px 0 0; font-size: 16px; line-height: 1.48; }
.materials-guide-page .materials-network-note { margin-top: 21px; }
.materials-guide-links { display: grid; gap: 13px; width: 280px; margin-top: 57px; }
.materials-guide-links strong { font-size: 16px; }
.materials-guide-links a { position: relative; padding-left: 24px; color: var(--c-primary); text-decoration: underline; }
.materials-guide-links a::before { position: absolute; left: 4px; content: '•'; color: var(--c-ink); }
.materials-guide-finder { margin-top: 40px; }
.materials-guide-finder h2, .materials-guide-filter h2 { margin: 0; font-size: 20px; }
.materials-guide-categories { display: grid; grid-template-columns: repeat(3, minmax(170px, 1fr)); gap: 34px; margin-top: 22px; }
.materials-guide-categories label { display: flex; align-items: center; gap: 13px; min-height: 36px; font-size: 16px; font-weight: 600; cursor: pointer; }
.materials-guide-categories input { appearance: none; width: 30px; height: 30px; margin: 0; border: 1px solid #b7bdc3; background: #fff; }
.materials-guide-categories input:checked { border-color: #65717c; background: #65717c; box-shadow: inset 0 0 0 7px #65717c; }
.materials-guide-categories input:checked::after { display: block; width: 12px; height: 7px; margin: 7px 0 0 6px; border-bottom: 2px solid #fff; border-left: 2px solid #fff; content: ''; transform: rotate(-45deg); }
.materials-guide-content { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 30px; margin-top: 33px; }
.materials-guide-filter { padding-top: 0; border: 0; border-radius: 0; }
.materials-guide-filter h2 { margin-bottom: 24px; }
.materials-guide-filter details { padding: 18px 0; }
.materials-guide-filter summary { font-size: 16px; }
.materials-guide-filter label { font-size: 14px; }
.materials-guide-results { min-width: 0; }
.materials-guide-results__head { display: flex; align-items: center; justify-content: space-between; min-height: 61px; }
.materials-guide-results__head h2 { margin: 0; font-size: 22px; }
.materials-guide-results__head h2 span { font-size: 15px; font-weight: 400; }
.materials-guide-results__head label { position: relative; }
.materials-guide-results__head label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.materials-guide-results__head input { width: 222px; height: 42px; padding: 0 14px; border: 1px solid #d3d9de; border-radius: 3px; font: 15px/1 var(--font-sans); }
.materials-guide-table { border-top: 1px solid #cfd5d9; }
.materials-guide-row { display: grid; grid-template-columns: 1fr 2.25fr 1.35fr 1.55fr .85fr; gap: 16px; align-items: center; min-height: 32px; padding: 12px 16px; border-bottom: 1px solid #dfe3e6; color: #40464c; font-size: 14px; line-height: 1.3; }
.materials-guide-row[hidden] { display: none; }
.materials-guide-row strong { color: #272d32; font-weight: 600; }
.materials-guide-row a { color: var(--c-primary); text-decoration: underline; white-space: nowrap; }
.materials-guide-row--head { min-height: 49px; background: #f5f6f7; color: #555e66; font-size: 13px; font-weight: 700; }

/* Materials colors: dense service selector followed by five-column color swatches. */
.materials-colors-page { padding: 72px 0 94px; background: #fff; }
.materials-colors-page .wrap { max-width: 1158px; padding-right: 0; padding-left: 0; }
.materials-colors-intro h1 { margin: 0; color: #30343a; font-size: 46px; line-height: 1.14; letter-spacing: -.6px; text-align: left; }
.materials-colors-intro p { max-width: 1110px; margin: 30px 0 0; font-size: 16px; line-height: 1.52; }
.materials-colors-intro .materials-colors-disclaimer { margin-top: 20px; font-style: italic; }
.materials-color-filter { margin-top: 34px; }
.materials-color-filter h2 { margin: 0 0 17px; color: #30343a; font-size: 19px; line-height: 1.3; }
.materials-color-filter > div { display: grid; grid-template-columns: 1fr 1fr; width: 700px; gap: 10px 150px; }
.materials-color-filter label { display: flex; align-items: center; gap: 18px; color: #363c42; font-size: 16px; font-weight: 600; cursor: pointer; }
.materials-color-filter input { appearance: none; width: 30px; height: 30px; margin: 0; border: 1px solid #b8bdc2; background: #fff; }
.materials-color-filter input:checked { border-color: #68737d; background: #68737d; }
.materials-color-filter input:checked::after { display: block; width: 12px; height: 7px; margin: 7px 0 0 6px; border-bottom: 2px solid #fff; border-left: 2px solid #fff; content: ''; transform: rotate(-45deg); }
.materials-color-group { margin-top: 54px; }
.materials-color-group[hidden] { display: none; }
.materials-color-group h2 { margin: 0 0 12px; color: #30343a; font-size: 21px; line-height: 1.3; }
.materials-color-group h3 { margin: 0 0 17px; color: #42484e; font-size: 16px; line-height: 1.3; }
.materials-color-swatches { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.materials-color-swatches button { height: 100px; border: 1px solid #cbd0d4; background: var(--swatch); cursor: pointer; }
.materials-color-swatches button:focus-visible { outline: 3px solid var(--c-primary); outline-offset: 2px; }

/* Customer-supplied resin: a concise, non-submitting intake reference. */
.materials-resin-page { padding: 71px 0 86px; background: #fff; }
.materials-resin-page .wrap { max-width: 1158px; padding-right: 0; padding-left: 0; }
.materials-resin-intro h1 { margin: 0; color: #30343a; font-size: 46px; line-height: 1.14; letter-spacing: -.6px; }
.materials-resin-intro p { max-width: 1135px; margin: 31px 0 0; font-size: 16px; font-weight: 600; line-height: 1.52; }
.materials-resin-progress { position: relative; height: 40px; margin-top: 51px; overflow: hidden; border: 2px solid #078ac4; background: #fff; clip-path: polygon(0 0, calc(100% - 17px) 0, 100% 50%, calc(100% - 17px) 100%, 0 100%, 19px 50%); }
.materials-resin-progress i { display: block; width: 19px; height: 36px; background: #078ac4; clip-path: polygon(0 0, 100% 0, 100% 50%, 0 100%, 9px 50%); }
.materials-resin-form { margin-top: 29px; }
.materials-resin-form__lede { max-width: 1120px; margin: 0; font-size: 16px; font-weight: 600; line-height: 1.5; }
.materials-resin-form h2 { margin: 19px 0 13px; color: #30343a; font-size: 25px; line-height: 1.3; }
.materials-resin-fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 16px; }
.materials-resin-fields > label { display: grid; gap: 6px; color: #3e454c; font-size: 16px; font-weight: 600; }
.materials-resin-fields input[type="text"], .materials-resin-fields input[type="email"], .materials-resin-fields input[type="tel"] { width: 100%; height: 56px; padding: 0 16px; border: 1px solid #ccd2d6; border-radius: 4px; color: #30343a; font: 16px/1 var(--font-sans); }
.materials-resin-fields fieldset { min-width: 0; border: 0; color: #3e454c; font-size: 16px; font-weight: 600; }
.materials-resin-fields legend { margin-bottom: 12px; }
.materials-resin-fields fieldset label { display: inline-flex; align-items: center; gap: 7px; margin-right: 20px; font-weight: 500; }
.materials-resin-required { margin: 25px 0 20px; font-size: 15px; font-style: italic; font-weight: 700; }
.materials-resin-next { width: 129px; height: 48px; border: 0; border-radius: 4px; background: #c7e4f5; color: #fff; font: 700 16px/1 var(--font-sans); }
.materials-resin-next:not(:disabled) { background: var(--c-primary); cursor: pointer; }
.materials-resin-lsr { margin-top: 83px; padding-top: 1px; }
.materials-resin-lsr h2 { margin: 0; color: #30343a; font-size: 40px; line-height: 1.18; }
.materials-resin-lsr p { max-width: 1060px; margin: 22px 0 0; font-size: 16px; line-height: 1.52; }
.materials-resin-lsr ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 38px; margin: 28px 0 0; }
.materials-resin-lsr li { position: relative; padding-left: 34px; font-size: 16px; font-weight: 600; line-height: 1.45; }
.materials-resin-lsr li::before { position: absolute; top: -2px; left: 0; color: #323940; content: '✓'; font-size: 25px; font-weight: 700; }
.materials-resin-lsr--continued { margin-top: 18px; }
.materials-resin-lsr--continued ul { margin-top: 0; }
.materials-resin-storage { margin-top: 55px; padding-top: 32px; border-top: 1px solid #e4e8eb; }
.materials-resin-storage h2 { margin: 0; color: #30343a; font-size: 28px; line-height: 1.25; }
.materials-resin-storage p { max-width: 1040px; margin: 14px 0 0; font-size: 16px; line-height: 1.55; }

/* Sheet-metal design guidance is an editorial page with a persistent contents rail and paired reference tables. */
body:has(.sheet-guide) .service-promo { display: none; }
body:has(.sheet-guide) .breadcrumbs { background: #fff; }
.sheet-guide { padding: 54px 0 66px; background: #fff; }
.sheet-guide .wrap { max-width: 1158px; padding-right: 8px; padding-left: 8px; }
.sheet-guide__grid { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 59px; align-items: start; }
.sheet-guide__contents h2 { margin: 12px 0 23px; font-size: 16px; font-weight: 600; }
.sheet-guide__contents nav { border-left: 1px solid #e4e7eb; }
.sheet-guide__contents a { display: block; padding: 14px 24px; color: #9098a1; font-size: 16px; line-height: 1.45; }
.sheet-guide__contents a.is-active { margin-left: -1px; border-left: 3px solid #a6b94c; background: #f5f6f9; color: #34373c; }
.sheet-guide__article h1 { max-width: 700px; margin: 0; font-size: 46px; line-height: 1.15; letter-spacing: -.5px; }
.sheet-guide__lede { max-width: 820px; margin: 31px 0 0; font-size: 17px; line-height: 1.48; }
.sheet-guide__rule { height: 3px; margin: 40px 0 27px; background: #0b9ed1; }
.sheet-guide__article > h2 { margin: 0 0 12px; font-size: 34px; line-height: 1.2; }
.sheet-guide__tables { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.sheet-guide__tables h3 { margin: 0 0 20px; font-size: 16px; font-weight: 500; }
.sheet-guide__tables table { width: 100%; border-collapse: collapse; font-size: 16px; }
.sheet-guide__tables th, .sheet-guide__tables td { height: 111px; padding: 18px 16px; border: 1px solid #eceef1; vertical-align: middle; }
.sheet-guide__tables th { width: 36%; background: #353b46; color: #fff; font-weight: 600; text-align: left; }
.sheet-guide__tables td { white-space: pre-line; background: #f5f6f9; color: #50555d; text-align: center; font-weight: 500; line-height: 1.9; }
/* The remaining guide sections share the editorial reading rail instead of falling back to the service-page grid. */
body:has(.sheet-guide) .sheet-guide-followup { padding-top: 38px; padding-bottom: 38px; background: #fff; }
body:has(.sheet-guide) .sheet-guide-followup .wrap,
body:has(.sheet-guide) .sheet-guide-feature-cards .wrap { width: min(820px, calc(100% - 48px)); max-width: 820px; margin-right: 0; margin-left: max(24px, calc((100vw - 1158px) / 2 + 289px)); padding-right: 0; padding-left: 0; }
body:has(.sheet-guide) .sheet-guide-followup .section-head { margin-bottom: 24px; }
body:has(.sheet-guide) .sheet-guide-followup .section-head h2,
body:has(.sheet-guide) .sheet-guide-feature-cards h2 { font-size: 30px; line-height: 1.18; text-align: left; }
body:has(.sheet-guide) .sheet-guide-followup .section-head p { max-width: 760px; text-align: left; }
body:has(.sheet-guide) .sheet-guide-followup .compare-table { font-size: 14px; }
body:has(.sheet-guide) .sheet-guide-followup .compare-table th,
body:has(.sheet-guide) .sheet-guide-followup .compare-table td { padding: 12px 13px; }
body:has(.sheet-guide) .sheet-guide-thickness .compare-table th,
body:has(.sheet-guide) .sheet-guide-thickness .compare-table td { padding-top: 14px; padding-bottom: 14px; }
body:has(.sheet-guide) .sheet-guide-thickness .compare-table { font-size: 12px; }
body:has(.sheet-guide) .sheet-guide-thickness .compare-table th,
body:has(.sheet-guide) .sheet-guide-thickness .compare-table td { min-width: 76px; padding: 13px 8px; text-align: center; }
body:has(.sheet-guide) .sheet-guide-thickness .compare-table tbody tr { height: 51px; }
body:has(.sheet-guide) .sheet-guide-download { margin-top: 22px; background: #f1f4f6; }
body:has(.sheet-guide) .sheet-guide-download .wrap { display: grid; grid-template-columns: .88fr 1.12fr; gap: 42px; align-items: center; }
body:has(.sheet-guide) .sheet-guide-download .wrap > div:first-child { order: 2; }
body:has(.sheet-guide) .sheet-guide-download img { width: 100%; min-height: 225px; object-fit: contain; background: #e4eaee; }
body:has(.sheet-guide) .sheet-guide-intro { padding-top: 58px; padding-bottom: 22px; }
body:has(.sheet-guide) .sheet-guide-intro .wrap { display: block; }
body:has(.sheet-guide) .sheet-guide-intro p { max-width: 760px; }
body:has(.sheet-guide) .sheet-guide-feature .wrap { grid-template-columns: minmax(0, 1.2fr) minmax(230px, .8fr); gap: 42px; align-items: center; }
body:has(.sheet-guide) .sheet-guide-feature .wrap > div:first-child { order: initial; }
body:has(.sheet-guide) .sheet-guide-feature.split--flip .wrap > div:first-child { order: 2; }
body:has(.sheet-guide) .sheet-guide-feature h2 { margin-bottom: 14px; font-size: 25px; line-height: 1.22; }
body:has(.sheet-guide) .sheet-guide-feature p { font-size: 15px; line-height: 1.55; }
body:has(.sheet-guide) .sheet-guide-feature img { width: 100%; min-height: 205px; object-fit: contain; background: #e6ebef; }
body:has(.sheet-guide) .sheet-guide-feature-cards { padding-top: 52px; padding-bottom: 70px; background: #fff; }
body:has(.sheet-guide) .sheet-guide-feature-cards .section-head { margin-bottom: 28px; }
body:has(.sheet-guide) .sheet-guide-feature-cards .res-grid { gap: 18px; }
body:has(.sheet-guide) .sheet-guide-feature-cards .card { border: 1px solid #e3e7ea; border-radius: 0; box-shadow: none; }
body:has(.sheet-guide) .sheet-guide-feature-cards .card-media { height: 185px; background: #e6ebef; object-fit: contain; }
body:has(.sheet-guide) .sheet-guide-feature-cards .card-body { padding: 16px; }
body:has(.sheet-guide) .sheet-guide-feature-cards .card-body h3 { font-size: 17px; }
body:has(.sheet-guide) .sheet-guide-feature-cards .card-body p { min-height: 42px; font-size: 13px; }
body:has(.sheet-guide) .sheet-guide-article .wrap,
body:has(.sheet-guide) .sheet-guide-diagram-pair .wrap,
body:has(.sheet-guide) .sheet-guide-diagram-grid .wrap { width: min(820px, calc(100% - 48px)); max-width: 820px; margin-right: 0; margin-left: max(24px, calc((100vw - 1158px) / 2 + 289px)); padding-right: 0; padding-left: 0; }
body:has(.sheet-guide) .sheet-guide-article { padding-top: 64px; padding-bottom: 44px; background: #fff; }
body:has(.sheet-guide) .sheet-guide-article .copy-block__intro { max-width: 790px; margin-bottom: 28px; font-size: 17px; line-height: 1.58; }
body:has(.sheet-guide) .sheet-guide-article h2 { margin-top: 35px; font-size: 28px; }
body:has(.sheet-guide) .sheet-guide-article h2 + p { max-width: 780px; font-size: 16px; line-height: 1.62; }
body:has(.sheet-guide) .sheet-guide-diagram-pair { padding-top: 36px; padding-bottom: 52px; background: #fff; }
body:has(.sheet-guide) .sheet-guide-diagram-pair .section-head { margin-bottom: 26px; text-align: left; }
body:has(.sheet-guide) .sheet-guide-diagram-pair .section-head h2 { font-size: 27px; }
body:has(.sheet-guide) .sheet-guide-diagram-pair .res-grid { gap: 22px; }
body:has(.sheet-guide) .sheet-guide-diagram-pair .card { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body:has(.sheet-guide) .sheet-guide-diagram-pair .card-media { height: 235px; object-fit: contain; background: #e6ebef; }
body:has(.sheet-guide) .sheet-guide-diagram-pair .card-body { padding: 13px 0 0; }
body:has(.sheet-guide) .sheet-guide-diagram-pair .card-body h3 { font-size: 17px; }
body:has(.sheet-guide) .sheet-guide-diagram-pair .card-body p { font-size: 14px; line-height: 1.5; }
body:has(.sheet-guide) .sheet-guide-feature-table { padding-top: 64px; padding-bottom: 54px; }
body:has(.sheet-guide) .sheet-guide-feature-table .wrap { width: min(820px, calc(100% - 48px)); max-width: 820px; margin-right: 0; margin-left: max(24px, calc((100vw - 1158px) / 2 + 289px)); padding-right: 0; padding-left: 0; }
body:has(.sheet-guide) .sheet-guide-feature-table .section-head { max-width: 800px; margin-left: 0; text-align: left; }
body:has(.sheet-guide) .sheet-guide-feature-table .section-head h2 { font-size: 28px; }
body:has(.sheet-guide) .sheet-guide-feature-table .compare-table tbody tr { height: 88px; }
body:has(.sheet-guide) .sheet-guide-diagram-grid { padding-top: 54px; padding-bottom: 56px; background: #f4f6f8; }
body:has(.sheet-guide) .sheet-guide-diagram-grid .section-head { margin-bottom: 28px; text-align: left; }
body:has(.sheet-guide) .sheet-guide-diagram-grid .section-head h2 { font-size: 28px; }
body:has(.sheet-guide) .sheet-guide-diagram-grid .section-head p { max-width: 760px; text-align: left; }
body:has(.sheet-guide) .sheet-guide-diagram-grid .res-grid { gap: 22px; }
body:has(.sheet-guide) .sheet-guide-diagram-grid .card { border: 0; border-radius: 0; box-shadow: none; }
body:has(.sheet-guide) .sheet-guide-diagram-grid .card-media { height: 245px; object-fit: contain; background: #e3e8ec; }
body:has(.sheet-guide) .sheet-guide-diagram-grid .card-body { padding: 16px; }
body:has(.sheet-guide) .sheet-guide-long-copy { padding-top: 65px; }
@media (min-width: 701px) {
	body:has(.sheet-guide) .sheet-guide-feature { padding-top: 55px; padding-bottom: 55px; }
	body:has(.sheet-guide) .sheet-guide-feature img { min-height: 280px; }
}
@media (max-width: 700px) {
	body:has(.sheet-guide) .sheet-guide-article .wrap,
	body:has(.sheet-guide) .sheet-guide-diagram-pair .wrap,
	body:has(.sheet-guide) .sheet-guide-diagram-grid .wrap,
	body:has(.sheet-guide) .sheet-guide-feature-table .wrap { width: auto; max-width: none; margin: 0; padding-right: 24px; padding-left: 24px; }
	body:has(.sheet-guide) .sheet-guide-article,
	body:has(.sheet-guide) .sheet-guide-feature-table,
	body:has(.sheet-guide) .sheet-guide-diagram-grid { padding-top: 48px; padding-bottom: 44px; }
	body:has(.sheet-guide) .sheet-guide-article h2 { font-size: 25px; }
	body:has(.sheet-guide) .sheet-guide-diagram-pair { padding-top: 36px; padding-bottom: 42px; }
	body:has(.sheet-guide) .sheet-guide-diagram-pair .res-grid,
	body:has(.sheet-guide) .sheet-guide-diagram-grid .res-grid { grid-template-columns: 1fr; }
	body:has(.sheet-guide) .sheet-guide-diagram-pair .card-media,
	body:has(.sheet-guide) .sheet-guide-diagram-grid .card-media { height: 205px; }
	body:has(.sheet-guide) .sheet-guide-feature-table .compare-table { min-width: 620px; }
}

/* 深色标题条 */
.title-band { background: #14171e; }
.title-band h2 { color: #fff; font-size: 28px; font-weight: 500; padding: 22px 0; }
.service-detail-page--injection-molding .title-band--plain { background: #fff; }
.service-detail-page--injection-molding .title-band--plain h2 { color: var(--c-ink); }
/* CNC root reference uses a white capability heading band, followed by three process cards. */
.service-detail-page--cnc-machining .title-band { background: #fff; }
.service-detail-page--cnc-machining .title-band h2 { color: var(--c-ink); }

/* 附加能力图块 */
.cap-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.cap-tile { display: block; }
.cap-tile img { border-radius: 8px; width: 100%; }
.cap-tile span { display: flex; justify-content: space-between; align-items: center; padding: 14px 4px; color: var(--c-ink); font-weight: 700; font-size: 17px; }
.cap-tile em { font-style: normal; color: var(--c-primary); transition: transform .18s; }
.cap-tile:hover em { transform: translateX(4px); }

.testimonial--left { text-align: left; max-width: 980px; }
.testimonial--left blockquote { font-size: 26px; }

/* 材料多列列表 */
.mat-group { max-width: 1000px; margin: 0 auto 36px; }
.mat-group h3 { font-size: 21px; font-weight: 500; color: var(--c-ink); margin-bottom: 16px; }
.mat-multi { columns: 4; gap: 32px; }
.mat-multi li { padding: 5px 0 5px 16px; position: relative; color: var(--c-body); font-size: 15px; break-inside: avoid; }
.mat-multi li::before { content: "•"; position: absolute; left: 0; color: var(--c-primary); }

/* 指南下载表单条 */
.guide-band { background: var(--c-bg-soft); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.guide-band .wrap { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: center; padding-top: 44px; padding-bottom: 44px; }
.guide-band h3 { font-size: 22px; font-weight: 500; color: var(--c-ink); margin-bottom: 6px; }
.guide-band p { color: var(--c-body); font-size: 15px; }
.guide-band form { display: flex; gap: 12px; }
.guide-band input, .guide-band select { padding: 13px 16px; border: 1px solid var(--c-line); border-radius: 6px; font-family: inherit; font-size: 15px; background: #fff; }
.guide-band input { flex: 1.4; }
.guide-band select { flex: 1; color: var(--c-body); }
.laser-guide .wrap { grid-template-columns: 180px 1fr 1.1fr; gap: 28px; }
.laser-guide .guide-band__media { width: 100%; min-height: 138px; object-fit: contain; background: #eef2f5; }
.laser-guide .wrap { min-height: 170px; }
.laser-process { background: #f1f5f7; }
.laser-process .wrap { min-height: 360px; }
.laser-process .bullet-plain li { padding: 8px 0; border-bottom: 1px solid #cfe2ea; }
.laser-process img, .laser-applications img { min-height: 300px; object-fit: cover; background: #e8edf1; }
.laser-design-guidelines .wrap, .laser-materials .wrap { max-width: 1120px; }
body:has(.laser-cutting-hero) .cta-center { min-height: 166px; background: #171a21; border: 0; color: #fff; }
body:has(.laser-cutting-hero) .cta-center .wrap { padding-top: 48px; padding-bottom: 48px; }
body:has(.laser-cutting-hero) .cta-center h2 { color: #fff; }
body:has(.laser-cutting-hero) .cta-center .btn { background: var(--c-primary); color: #fff; }
.forming-hero img, .forming-process img, .forming-applications img { min-height: 270px; object-fit: cover; background: #e8edf1; }
.assemblies-hero .hero-media-blank, .assembly-materials img, .assembly-hardware img, .assembly-welding img, .assembly-finishing img { min-height: 300px; object-fit: cover; background: #e3e8ec; }
.punching-hero .hero-media-blank, .punching-overview img, .punching-finishing img { min-height: 300px; object-fit: cover; background: #e3e8ec; }
.punching-materials { background: #fff; }
.punching-materials img { min-height: 285px; object-fit: cover; background: #e3e8ec; }
.punching-advantages .wrap, .punching-design .wrap, .punching-tooling .wrap { max-width: 1120px; }
.punching-advantages h2, .punching-design h2, .punching-tooling h2 { margin: 23px 0 8px; font-size: 18px; }
.punching-advantages h2:first-of-type, .punching-design h2:first-of-type, .punching-tooling h2:first-of-type { font-size: 29px; line-height: 1.2; }
.punching-tool-details { padding-top: 66px; padding-bottom: 52px; background: #f7f8fa; }
.punching-tool-details .section-head { max-width: 900px; margin-bottom: 38px; }
.punching-tool-details .res-grid { max-width: 920px; margin: 0 auto; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px 42px; }
.punching-tool-details .card { min-height: 286px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.punching-tool-details .card-body { padding: 0; }
.punching-tool-details .card-body h3 { margin-bottom: 14px; font-size: 20px; }
.punching-tool-details .card-body p { font-size: 15px; line-height: 1.55; }
.punching-tool-notes { padding-top: 62px; padding-bottom: 62px; }
.punching-tool-notes .wrap { max-width: 1120px; }
.punching-tool-notes .copy-block__intro { max-width: 860px; }
.punching-tool-notes h2 { margin-top: 38px; font-size: 24px; }
.punching-forming-types { padding-top: 58px; padding-bottom: 60px; }
.punching-forming-types .res-grid { max-width: 1100px; margin: 0 auto; gap: 22px; }
.punching-forming-types .card { min-height: 230px; border: 1px solid #e2e7eb; border-radius: 0; box-shadow: none; }
.punching-forming-types .card-body { padding: 24px 20px; }
.punching-forming-types .card-body h3 { margin-bottom: 16px; font-size: 19px; }
.punching-forming-types .card-body p { font-size: 15px; line-height: 1.55; }
.punching-tool-articles { padding-top: 68px; padding-bottom: 62px; background: #f6f8fa; }
.punching-tool-articles .wrap { max-width: 1120px; }
.punching-tool-articles .copy-block__intro { max-width: 890px; }
.punching-tool-articles h2 { margin-top: 40px; font-size: 26px; }
.punching-tool-reference { padding-top: 66px; padding-bottom: 66px; }
.punching-tool-reference .section-head { max-width: 890px; }
.punching-tool-reference .res-grid { max-width: 1050px; margin: 0 auto; gap: 28px; }
.punching-tool-reference .card { min-height: 330px; border-radius: 0; box-shadow: none; background: #f3f5f7; }
.punching-tool-reference .card-media { height: 205px; object-fit: contain; background: #e3e8ec; }
.punching-tool-reference .card-body { padding: 18px; }
.punching-tool-reference .card-body h3 { font-size: 20px; }
@media (max-width: 700px) {
	.laser-process .wrap > div:first-child { order: 0; }
	.laser-process img { min-height: 560px; }
	.punching-tool-details .card { min-height: 420px; }
	.punching-tool-details .card-body h3 { font-size: 22px; }
	.punching-forming-types .card { min-height: 340px; }
	.punching-forming-types .card-body { padding: 30px 24px; }
	.punching-tool-articles, .punching-tool-reference { padding-top: 48px; padding-bottom: 48px; }
	.punching-tool-reference .card { min-height: 0; }
	.punching-tool-reference .card-media { height: 220px; }
}
.punching-assembly img { min-height: 275px; object-fit: cover; background: #e3e8ec; }
.punching-finishing { background: #f1f5f7; }
.print-quality-hero .hero-media-blank, .quality-promo img, .quality-report-explainer img { min-height: 280px; object-fit: cover; background: #e3e8ec; }
.quality-analysis .wrap { display: block; max-width: 840px; }
.quality-analysis h2 { font-size: 30px; }
.quality-support-cards { padding-top: 0; }
.quality-support-cards .section-head { display: none; }
.quality-support-cards .card { min-height: 220px; border-radius: 0; background: #f4f6f8; box-shadow: none; }
.quality-promo { background: #e9f6fd; }
.quality-report-table { padding-top: 48px; }
.sheet-quality-hero .hero-media-blank { min-height: 250px; background: #e3e8ec; }
.sheet-quality-methodology img, .sheet-quality-documentation img, .sheet-quality-dfm img { min-height: 285px; object-fit: cover; background: #e3e8ec; }
.sheet-quality-documentation { padding-bottom: 42px; }
.sheet-quality-dfm { background: #eef3f7; }
.sheet-quality-support .wrap { display: block; max-width: 960px; }
.sheet-quality-support .wrap > div:first-child { max-width: 760px; }
.assembly-construction img { min-height: 300px; object-fit: cover; background: #e3e8ec; }
.assembly-file-format { padding-top: 45px; padding-bottom: 36px; }
.assembly-file-format .wrap { display: block; max-width: 1040px; }
.assembly-file-format h2 { font-size: 28px; }
.assembly-hardware, .assembly-welding, .assembly-finishing { padding-top: 54px; padding-bottom: 54px; }
@media (max-width: 700px) { .forming-hero .hero-media-blank { order: -1; min-height: 218px; } }
@media (max-width: 700px) { .forming-hero .ph-grid > .hero-media-blank { display: block; order: -1; width: 100%; height: 218px; min-height: 218px; margin: 0 auto 22px; background: #e3e8ec; } }
@media (max-width: 700px) { .assemblies-hero .ph-grid { display: flex; flex-direction: column; gap: 0; } .assemblies-hero .ph-grid > .hero-media-blank { display: block; order: -1; width: 100%; height: 210px; min-height: 210px; margin: 0 auto 22px; background: #e3e8ec; } .page-hero.assemblies-hero { min-height: 0; padding: 0 0 32px; } .assemblies-hero h1 { font-size: 32px; } .assemblies-hero .lede { margin-top: 10px; font-size: 17px; line-height: 1.55; } .assemblies-hero .hero-actions .btn { width: 100%; } .assemblies-hero .hero-cert--plain { margin-top: 42px; } }
@media (max-width: 700px) { .punching-hero .ph-grid { display: flex; flex-direction: column; gap: 0; } .punching-hero .ph-grid > .hero-media-blank { display: block; order: -1; width: 100%; height: 210px; min-height: 210px; margin: 0 auto 22px; background: #e3e8ec; } .page-hero.punching-hero { min-height: 0; padding: 0 0 32px; } .punching-hero h1 { font-size: 32px; } .punching-hero .lede { margin-top: 10px; font-size: 17px; line-height: 1.55; } .punching-hero .hero-actions .btn { width: 100%; } .punching-hero .hero-cert--plain { margin-top: 42px; } }
@media (max-width: 700px) { .print-quality-hero .ph-grid { display: flex; flex-direction: column; gap: 0; } .print-quality-hero .ph-grid > .hero-media-blank { display: block; order: -1; width: 100%; height: 210px; min-height: 210px; margin: 0 auto 22px; background: #e3e8ec; } .page-hero.print-quality-hero { min-height: 0; padding: 0 0 32px; } .print-quality-hero h1 { font-size: 32px; } .print-quality-hero .lede { margin-top: 10px; font-size: 17px; line-height: 1.55; } .print-quality-hero .hero-actions .btn { width: 100%; } .print-quality-hero .hero-cert--plain { margin-top: 42px; } }

/* Why choose us 深色段落组 */
.why-dark { background: #14171e; color: #c7cdd8; }
.why-dark h2 { color: #fff; font-size: 32px; font-weight: 500; margin-bottom: 36px; max-width: 560px; }
.why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 72px; margin-bottom: 40px; }
.why-grid h3 { color: #fff; font-size: 19px; font-weight: 700; margin-bottom: 6px; }
.why-grid p { font-size: 15px; margin-bottom: 22px; }
.why-dark--media .wrap { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 58px; align-items: center; }
.why-dark--media .why-dark-media { width: 100%; min-height: 300px; object-fit: cover; background: #273440; }

/* 全宽视频带 */
.video-band { background: #0c1420; padding: 0; }
.video-band .wrap { padding: 0; max-width: none; }
.video-band .video-ph { border-radius: 0; aspect-ratio: 21/8; box-shadow: none; }

/* 材料表格网格 */
.tab-panel.mat-panel { max-width: 900px; margin: 0 auto; text-align: left; }
.mat-panel h3 { font-size: 19px; font-weight: 700; color: var(--c-ink); margin: 28px 0 6px; padding-bottom: 10px; border-bottom: 2px solid var(--c-ink); }
.mat-table { display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 32px; }
.mat-table.cols-2 { grid-template-columns: repeat(2, 1fr); }
.mat-table li { padding: 11px 4px; border-bottom: 1px solid var(--c-line); color: var(--c-body); font-size: 15px; }

/* 下载横带 */
.dl-band { background: var(--c-bg-soft); }
.dl-band .wrap { max-width: 900px; padding-top: 56px; padding-bottom: 56px; }
.dl-band h2 { font-size: 26px; font-weight: 500; color: var(--c-ink); margin-bottom: 12px; }
.dl-band p { color: var(--c-body); margin-bottom: 22px; }

/* 浅色居中 CTA */
.cta-center { background: var(--c-bg-soft); border-top: 1px solid var(--c-line); text-align: center; }
.cta-center .wrap { padding-top: 48px; padding-bottom: 48px; }
.cta-center h2 { font-size: 26px; font-weight: 500; color: var(--c-ink); margin-bottom: 20px; }

/* 浅色 CTA 条 */
.cta-light { background: var(--c-bg-soft); border-top: 1px solid var(--c-line); }
.cta-light .wrap { display: flex; align-items: center; justify-content: center; gap: 32px; padding-top: 36px; padding-bottom: 36px; flex-wrap: wrap; }
.cta-light p { font-size: 19px; font-weight: 500; color: var(--c-ink); }

.page-hero { padding: 80px 0 72px; }
.page-hero h1 { font-size: 50px; font-weight: 500; color: var(--c-ink); letter-spacing: -1px; line-height: 1.15; max-width: 820px; }
.page-hero .lede { margin: 22px 0 0; font-size: 18.5px; color: var(--c-body); max-width: 680px; }
.page-hero .hero-actions { margin-top: 32px; }

/* About Us source uses a narrower editorial column than the global page shell. */
@media (min-width: 861px) {
  .about-hero .wrap { max-width: 1175px; padding-right: 0; padding-left: 0; }
  .about-hero h1 { max-width: 600px; }
  .about-story .wrap { max-width: 1144px; padding-right: 0; padding-left: 0; }
}

.stats-bar { border-bottom: 1px solid var(--c-line); }
.stats-bar .wrap { display: flex; justify-content: center; gap: 96px; padding: 44px 40px; flex-wrap: wrap; }
.stat { text-align: center; }
.stat b { display: block; font-size: 40px; font-weight: 700; color: var(--c-primary); line-height: 1.1; }
.stat span { color: var(--c-muted); font-size: 15.5px; }

.svc-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.res-grid { display: grid; gap: 28px; }
.res-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.res-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.res-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }

.cta-banner { background: linear-gradient(95deg, #0d2036, #16375d); color: #fff; }
.cta-banner .wrap { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 56px 40px; flex-wrap: wrap; }
.cta-banner h2 { font-size: 32px; font-weight: 500; }

.connect { background: #343a44; }
.connect .wrap { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; padding-top: 48px; padding-bottom: 48px; align-items: center; }
.connect h2 { font-size: 28px; font-weight: 500; color: #fff; margin-bottom: 18px; }
.social-icons { display: flex; gap: 14px; }
.social-icons a { width: 44px; height: 44px; border-radius: 50%; background: transparent; border: 1px solid #3c4761; display: flex; align-items: center; justify-content: center; }
.social-icons svg { width: 21px; height: 21px; fill: #c6cddc; }
.social-icons a:hover { background: rgba(255,255,255,.08); }
.connect-form h3 { font-size: 19px; font-weight: 500; color: #fff; margin-bottom: 6px; }
.connect-form p { font-size: 14.5px; color: #9aa5bb; margin-bottom: 16px; }
.connect-form form { display: flex; gap: 12px; }
.connect-form input, .connect-form select { flex: 1; min-width: 0; padding: 14px 18px; border: 1px solid #3c4761; border-radius: 6px; font-family: inherit; font-size: 15.5px; background: #fff; }
.connect-form input:focus, .connect-form select:focus { outline: 2px solid var(--c-primary); border-color: transparent; }

.split .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.split h2 { font-size: 32px; font-weight: 500; color: var(--c-ink); margin-bottom: 14px; }
.split p { color: var(--c-body); font-size: 16.5px; }
.split img { border-radius: 8px; }
.split--flip .wrap > div:first-child { order: 2; }
.split-side-links { align-self: center; }
.split-side-links h3 { margin: 0 0 10px; color: var(--c-primary); font-size: 17px; }
.split-side-links ul { list-style: none; margin: 0 0 20px; padding: 0; }
.split-side-links li { margin: 7px 0; }
.split-side-links a { color: var(--c-primary); text-decoration: underline; }
.plastic-dark-process { background: #171b25; }
.plastic-dark-process h2, .plastic-dark-process p { color: #fff; }
.plastic-dark-process .btn { background: #fff; color: var(--c-primary); }
.plastic-dark-process .video-ph { min-height: 264px; background: #eef2f6; }
.plastic-toolkit { background: #f4f7fa; }
.plastic-toolkit img { background: #e9eef3; }
.dmls-dark-why { background: #171b25; }
.dmls-dark-why h2, .dmls-dark-why p, .dmls-dark-why li { color: #fff; }
.dmls-dark-why .video-ph { min-height: 300px; background: #eef2f6; }
.sla-dark-guide { background: #171b25; }
.sla-dark-guide h2, .sla-dark-guide p { color: #fff; }
.sla-dark-guide .video-ph { min-height: 300px; background: #eef2f6; }
.mjf-dark-guide { background: #171b25; }
.mjf-dark-guide h2, .mjf-dark-guide p { color: #fff; }
.mjf-dark-guide .video-ph { min-height: 280px; background: #eef2f6; }
.sls-dark-guide { background: #171b25; }
.sls-dark-guide h2, .sls-dark-guide p { color: #fff; }
.sls-dark-guide .video-ph { min-height: 280px; background: #eef2f6; }
.production-dark-delivery { background: #171b25; }
.production-dark-delivery h2, .production-dark-delivery p { color: #fff; }
.production-dark-delivery .video-ph { min-height: 280px; background: #eef2f6; }
.side-menu-split .wrap { display: grid; grid-template-columns: .32fr 1fr; gap: 70px; }
.side-menu-split h3 { margin: 0 0 20px; font-size: 16px; }
.side-menu-split ul { margin: 0; padding: 0; list-style: none; }
.side-menu-split li { margin: 8px 0; }
.side-menu-split a { color: var(--c-primary); text-decoration: underline; }
.side-menu-split p { color: var(--c-body); font-size: 16.5px; }
.services-page .services-split-media { width: 100%; min-height: 300px; object-fit: cover; background: #e7edf2; }

/* Services landing page: the source has an editorial text rail here, not three generic image splits. */
.services-page .video-ph { overflow: hidden; padding: 0; border: 0; cursor: pointer; }
.services-page .video-ph .video-ph-media { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.services-page .video-ph .play, .services-page .video-ph .vp-label { z-index: 1; }
.services-page .services-table-note { margin-top: 14px; color: var(--c-muted); font-size: 14px; text-align: center; }
.services-page .services-copy-rail { padding-top: 48px; padding-bottom: 60px; }
.services-page .services-copy-rail .wrap { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 680px 450px; column-gap: 170px; }
.services-page .services-copy-rail article { max-width: 430px; }
.services-page .services-copy-rail h2 { margin: 0 0 15px; font-size: 25px; line-height: 1.2; }
.services-page .services-copy-rail p { margin: 0; font-size: 15px; line-height: 1.55; }
.services-page .services-links-title { margin-top: 18px !important; color: var(--c-ink); font-weight: 500; }
.services-page .services-copy-rail .bullet-links { margin-top: 5px; }
.services-page .services-online { grid-column: 2; grid-row: 1; align-self: end; }
.services-page .services-materials { grid-column: 1; grid-row: 2; }
.services-page .services-materials-media { display: none; }
.services-page .services-action { margin-top: 24px !important; }
.services-page .services-facility { padding-top: 0; padding-bottom: 0; }
.services-page .services-facility .wrap { min-height: 300px; align-items: center; }
.services-page .services-facility .video-ph { min-height: 300px; }
@media (max-width: 720px) {
 .services-page .services-copy-rail { padding: 38px 0 42px; }
 .services-page .services-copy-rail .wrap { display: flex; flex-direction: column; gap: 45px; }
 .services-page .services-copy-rail h2 { font-size: 22px; }
 .services-page .services-copy-rail article { max-width: none; }
 .services-page .services-materials-media { display: block; width: 100%; height: 190px; margin: 0 0 28px; object-fit: cover; }
 .services-page .services-copy-rail p { font-size: 15px; }
 .services-page .services-facility .wrap { min-height: 0; }
 .services-page .services-facility .video-ph { min-height: 205px; }
}

/* CNC production capabilities: source-shaped long-form service page. */
.cnc-prod-page { color:#30343a; background:#fff; }
.cnc-prod-page .wrap { max-width:1180px; padding-left:30px; padding-right:30px; }
.cnc-prod-crumb { padding-top:13px; padding-bottom:13px; color:#5d6670; font-size:12px; }
.cnc-prod-hero { background:#e3e3e4; }
.cnc-prod-hero .wrap { display:grid; grid-template-columns:1fr 1fr; min-height:352px; padding-right:0; align-items:center; }
.cnc-prod-hero-copy { padding-right:50px; }
.cnc-prod-hero h1 { margin:0 0 14px; font-size:43px; line-height:1.13; }
.cnc-prod-hero p { margin:0 0 22px; font-size:17px; }
.cnc-prod-hero .btn { min-height:42px; padding:11px 21px; }
.cnc-prod-hero small { display:block; margin-top:36px; font-size:12px; }
.cnc-prod-hero-media { display:block; width:100%; height:352px; object-fit:cover; }
.cnc-prod-logo-row { border-bottom:1px solid #e8ebed; background:#fff; }
.cnc-prod-logo-row .wrap { display:flex; min-height:89px; align-items:center; justify-content:space-between; gap:22px; color:#686e75; }
.cnc-prod-logo-row span { max-width:100px; font-size:12px; line-height:1.2; }.cnc-prod-logo-row b { font-size:16px; letter-spacing:1.1px; }
.cnc-prod-intro { padding:69px 0 39px; }.cnc-prod-intro .wrap,.cnc-prod-journey .wrap,.cnc-prod-works .wrap { display:grid; grid-template-columns:1fr 1fr; gap:88px; align-items:center; }
.cnc-prod-intro h2,.cnc-prod-journey h2,.cnc-prod-works h2 { margin:22px 0 9px; font-size:24px; line-height:1.18; }.cnc-prod-intro p,.cnc-prod-journey p,.cnc-prod-works p { margin:0; font-size:15px; line-height:1.55; }.cnc-prod-kicker { font-weight:600; }
.cnc-prod-intro-media,.cnc-prod-journey-media,.cnc-prod-works-media { display:block; width:100%; height:310px; object-fit:cover; }
.cnc-prod-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; padding-top:20px; padding-bottom:49px; text-align:center; }.cnc-prod-stats article { display:flex; min-width:0; flex-direction:column; gap:10px; }.cnc-prod-stats b { font-size:16px; }.cnc-prod-stats span { font-size:13px; line-height:1.4; }
.cnc-prod-callout { padding:28px 0; background:#e2f3fc; text-align:center; }.cnc-prod-callout h2 { margin:0 0 8px; font-size:24px; }.cnc-prod-callout p { margin:0 0 18px; font-size:14px; }.cnc-prod-callout .btn,.cnc-prod-final .btn { min-height:40px; padding:10px 20px; }
.cnc-prod-network { padding:71px 0 62px; background:#f2f5f8; }.cnc-prod-network h2 { max-width:680px; margin:0 auto 48px; font-size:28px; line-height:1.22; text-align:center; }.cnc-prod-network .wrap>div { display:grid; grid-template-columns:repeat(2,1fr); gap:44px 76px; }.cnc-prod-network small { color:#68717a; }.cnc-prod-network h3 { margin:11px 0 9px; font-size:20px; line-height:1.2; }.cnc-prod-network p { margin:0; font-size:14px; line-height:1.52; }
.cnc-prod-capabilities { padding:66px 0 45px; }.cnc-prod-capabilities .wrap { display:grid; grid-template-columns:1fr 1fr; gap:80px; }.cnc-prod-capabilities h2 { margin:0 0 17px; font-size:27px; line-height:1.18; }.cnc-prod-capabilities p,.cnc-prod-capabilities li { font-size:15px; line-height:1.52; }.cnc-prod-capabilities ul { margin:20px 0; padding-left:21px; columns:2; }.cnc-prod-capabilities li { margin-bottom:7px; }.cnc-prod-capabilities a { color:#007fae; font-weight:700; }
.cnc-prod-tip { padding:0 0 50px; }.cnc-prod-tip .wrap { display:flex; gap:17px; padding-top:17px; padding-bottom:17px; background:#e2f3fc; font-size:14px; }.cnc-prod-tip b { color:#007fae; white-space:nowrap; }
.cnc-prod-journey { padding:28px 0 45px; }.cnc-prod-works { padding:34px 0 65px; }.cnc-prod-works .wrap { grid-template-columns:1fr 1fr; }.cnc-prod-works-media { order:-1; }
.cnc-prod-faq { padding:15px 0 62px; }.cnc-prod-faq .wrap { max-width:800px; }.cnc-prod-faq h2 { margin:0 0 22px; text-align:center; font-size:27px; }.cnc-prod-faq details { border-bottom:1px solid #dbe0e4; }.cnc-prod-faq summary { padding:18px 5px; cursor:pointer; font-weight:600; }.cnc-prod-faq p { margin:0; padding:0 5px 18px; color:#59616a; font-size:14px; line-height:1.5; }
.cnc-prod-final { padding:57px 0 63px; background:#f1f4f8; text-align:center; }.cnc-prod-final h2 { margin:0 0 13px; font-size:29px; }.cnc-prod-final p { max-width:720px; margin:0 auto 25px; font-size:15px; }
@media (max-width:720px) { .cnc-prod-page .wrap { padding-left:15px; padding-right:15px; }.cnc-prod-crumb { display:none; }.cnc-prod-hero .wrap { display:flex; min-height:0; flex-direction:column-reverse; padding:0; }.cnc-prod-hero-copy { width:100%; padding:28px 15px 33px; box-sizing:border-box; }.cnc-prod-hero h1 { font-size:30px; }.cnc-prod-hero p { font-size:16px; }.cnc-prod-hero small { margin-top:25px; }.cnc-prod-hero-media { width:100%; height:210px; }.cnc-prod-logo-row .wrap { min-height:158px; flex-wrap:wrap; justify-content:flex-start; gap:16px 23px; }.cnc-prod-logo-row span { width:100%; max-width:none; }.cnc-prod-logo-row b { font-size:13px; }.cnc-prod-intro { padding:42px 0 31px; }.cnc-prod-intro .wrap,.cnc-prod-journey .wrap,.cnc-prod-works .wrap { grid-template-columns:1fr; gap:24px; }.cnc-prod-intro-media { order:-1; height:215px; }.cnc-prod-intro h2,.cnc-prod-journey h2,.cnc-prod-works h2 { font-size:23px; }.cnc-prod-intro p,.cnc-prod-journey p,.cnc-prod-works p { font-size:15px; }.cnc-prod-stats { grid-template-columns:repeat(2,1fr); gap:28px 18px; padding-bottom:42px; }.cnc-prod-stats b { font-size:15px; }.cnc-prod-callout { padding:31px 0; }.cnc-prod-callout h2 { font-size:22px; }.cnc-prod-network { padding:48px 0; }.cnc-prod-network h2 { margin-bottom:36px; font-size:25px; }.cnc-prod-network .wrap>div { grid-template-columns:1fr; gap:31px; }.cnc-prod-network h3 { font-size:19px; }.cnc-prod-capabilities { padding:47px 0 36px; }.cnc-prod-capabilities .wrap { display:block; }.cnc-prod-capabilities h2 { font-size:24px; }.cnc-prod-capabilities ul { columns:1; }.cnc-prod-tip { padding-bottom:38px; }.cnc-prod-tip .wrap { display:block; font-size:13px; }.cnc-prod-tip b { display:block; margin-bottom:7px; }.cnc-prod-journey { padding-top:18px; }.cnc-prod-journey-media { height:215px; }.cnc-prod-works { padding-bottom:48px; }.cnc-prod-works-media { height:215px; }.cnc-prod-faq { padding-bottom:48px; }.cnc-prod-faq h2 { font-size:25px; }.cnc-prod-final { padding:46px 0; }.cnc-prod-final h2 { font-size:26px; } }

/* Production manufacturing reference page. */
.production-reference-page { background:#fff; color:#30343a; }.production-reference-page .wrap { max-width:1158px; padding-right:20px; padding-left:20px; }.production-breadcrumbs { padding-top:15px; padding-bottom:15px; font-size:13px; }.production-breadcrumbs a,.production-quality a,.production-resources a { color:#007fae; }.production-reference-hero { background:#f1f4fa; }.production-reference-hero .wrap { display:grid; grid-template-columns:1fr 1fr; min-height:340px; padding-right:0; align-items:center; }.production-reference-hero h1 { margin:0 0 13px; font-size:40px; line-height:1.12; }.production-referen[Truncated]

/* ProteForm homepage and brand overrides */
.pf-logo { width: 238px; min-width: 190px; }
.pf-logo img { display: block; width: 100%; height: auto; }
.pf-home { overflow: hidden; }
.pf-eyebrow { margin: 0 0 14px; color: #087ed7; font-size: 13px; font-weight: 800; letter-spacing: .14em; }
.pf-hero { background: linear-gradient(135deg,#f7faff 0%,#edf4fb 100%); }
.pf-hero .wrap { min-height: 650px; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); gap: 36px; align-items: center; }
.pf-hero h1 { max-width: 760px; font-size: clamp(44px,5.1vw,72px); line-height: 1.03; letter-spacing: -.04em; }
.pf-hero .lede { max-width: 720px; font-size: 19px; line-height: 1.65; }
.pf-hero .hero-media img { width: 100%; height: auto; border-radius: 18px; box-shadow: 0 28px 60px rgba(17,48,78,.16); }
.pf-hero-note { max-width: 700px; margin-top: 26px; color: #536171; font-size: 14px; line-height: 1.6; }
.pf-proof { border-top: 1px solid #dfe8f1; border-bottom: 1px solid #dfe8f1; background: #fff; }
.pf-proof-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.pf-proof-grid span { padding: 24px 18px; border-right: 1px solid #e4ebf2; color: #173754; font-weight: 750; text-align: center; }
.pf-proof-grid span:last-child { border-right: 0; }
.pf-section-intro { display: block; max-width: 820px; margin-bottom: 42px; }
.pf-section-intro p:last-child { max-width: 760px; font-size: 18px; line-height: 1.65; }
.pf-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.pf-service-card { position: relative; padding: 34px; border: 1px solid #dfe7ef; border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(22,52,81,.06); }
.pf-service-card h3 { margin: 8px 0 12px; font-size: 29px; }
.pf-service-card p { color: #4f5f6f; line-height: 1.65; }
.pf-service-card ul { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 24px 0; padding: 0; list-style: none; }
.pf-service-card li { padding: 10px 12px; border-radius: 8px; background: #edf5fc; color: #173754; font-size: 13px; font-weight: 700; }
.pf-card-num { color: #0b86dc; font-size: 13px; font-weight: 800; letter-spacing: .12em; }
.pf-two-col { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 70px; align-items: start; }
.pf-detail-list { display: grid; gap: 14px; }
.pf-detail-list div { display: grid; grid-template-columns: 165px 1fr; gap: 22px; padding: 22px 24px; border: 1px solid #dbe5ee; border-radius: 12px; background: #fff; }
.pf-detail-list b { color: #173754; }
.pf-detail-list span { color: #536171; line-height: 1.55; }
.pf-process .steps { grid-template-columns: repeat(4,1fr); }
.pf-inputs .pf-two-col { align-items: center; }
.pf-check-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin: 0; padding: 0; list-style: none; }
.pf-check-grid li { position: relative; padding: 16px 16px 16px 44px; border: 1px solid #dbe5ee; border-radius: 10px; background: #fff; color: #30465a; }
.pf-check-grid li:before { content: '✓'; position: absolute; left: 17px; color: #087ed7; font-weight: 900; }
.pf-industry-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.pf-industry-grid a { display: flex; min-height: 180px; flex-direction: column; justify-content: flex-end; padding: 28px; border-radius: 14px; background: #173754; color: #fff; text-decoration: none; }
.pf-industry-grid b { margin-bottom: 10px; font-size: 23px; }
.pf-industry-grid span { color: #d9e7f3; line-height: 1.55; }
.pf-cta { padding: 78px 0; background: #102f4b; color: #fff; }
.pf-cta h2,.pf-cta p { color: #fff; }
.pf-cta .pf-eyebrow { color: #62b6f2; }
.pf-cta-action { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.pf-cta-action span { max-width: 520px; color: #d9e7f3; line-height: 1.6; }
.pf-footer-grid { display: grid; grid-template-columns: 1.35fr repeat(3,1fr); gap: 46px; }
.pf-footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; }
.pf-footer-grid a { margin-bottom: 10px; }
.pf-footer-brand img { width: 220px; height: auto; margin-bottom: 18px; filter: brightness(0) invert(1); }
.pf-footer-brand p { max-width: 320px; }
@media (max-width: 900px) {
	.pf-hero .wrap,.pf-two-col { grid-template-columns: 1fr; }
	.pf-hero .wrap { min-height: 0; padding-top: 68px; padding-bottom: 68px; }
	.pf-proof-grid,.pf-process .steps { grid-template-columns: repeat(2,1fr); }
	.pf-service-card ul { grid-template-columns: 1fr; }
	.pf-industry-grid,.pf-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	.pf-logo { width: 184px; min-width: 0; }
	.pf-hero h1 { font-size: 41px; }
	.pf-proof-grid,.pf-service-grid,.pf-check-grid,.pf-industry-grid,.pf-footer-grid { grid-template-columns: 1fr; }
	.pf-proof-grid span { border-right: 0; border-bottom: 1px solid #e4ebf2; }
	.pf-detail-list div { grid-template-columns: 1fr; gap: 7px; }
}
