/* Static capability and case pages. Loaded after the production home stylesheet. */
.service-page{
  --subpage-utility-height:44px;
  --subpage-main-nav-height:88px;
  --subpage-local-nav-height:54px;
  --subpage-anchor-gap:14px;
  background:#fff;
  color:#17253a;
}
.official-redesign-local .site-head-shell{overflow:visible!important}
.official-redesign-local .site-head-shell .main-header,
.official-redesign-local .site-head-shell .main-header.is-compact,
.official-redesign-local .site-head-shell.is-compact .main-header{overflow:visible!important}
.official-redesign-local.service-page .site-head-shell{
  position:sticky!important;
  z-index:1000!important;
  top:calc(-1 * var(--subpage-utility-height))!important;
  right:auto!important;
  left:auto!important;
  transform:none!important;
}
.official-redesign-local.service-page .site-head-shell.is-hidden{transform:none!important}
.official-redesign-local.service-page .site-head-shell .main-header,
.official-redesign-local.service-page .site-head-shell .main-header.is-compact,
.official-redesign-local.service-page .site-head-shell.is-compact .main-header{
  position:relative!important;
  top:auto!important;
}

/* Layered B2B navigation: compact first level, factual grouped panels, touch accordion. */
.main-header nav{gap:16px}
.main-header nav>.nav-group{position:relative;display:flex;height:100%;align-items:center}
.main-header nav>.nav-group>a{height:100%}
.nav-group-toggle{display:grid;width:20px;height:34px;margin-left:-2px;padding:0;place-items:center;border:0;background:transparent;color:#687588;font-size:12px;cursor:pointer}
.nav-submenu{--submenu-x:-50%;position:absolute;top:calc(100% - 1px);left:50%;display:grid!important;box-sizing:border-box;width:min(620px,calc(100vw - 32px));height:auto!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 16px!important;margin:0!important;padding:14px 18px 18px!important;border:1px solid #dfe5ed;border-top:2px solid #3655ba;border-radius:0 0 3px 3px;background:#fff;box-shadow:0 18px 38px rgba(8,29,62,.13);opacity:0;pointer-events:none;transform:translate(var(--submenu-x),8px);transition:opacity .18s ease,transform .18s ease}
.nav-submenu-head{display:flex;grid-column:1/-1;align-items:baseline;gap:12px;padding:2px 8px 12px;border-bottom:1px solid #e5eaf1}
.nav-submenu-head strong{color:#173253;font-size:14px;font-weight:650}
.nav-submenu-head span{color:#788598;font-size:11px}
.nav-submenu a{display:grid!important;height:auto!important;min-height:66px!important;grid-template-columns:32px minmax(0,1fr);align-content:center!important;padding:9px 12px!important;border-left:2px solid transparent;border-bottom:0!important;border-radius:0;color:#203149!important;font-size:14px!important;font-weight:600!important;line-height:1.35!important}
.nav-submenu a::after{display:none!important;content:none!important}
.nav-submenu a>small{align-self:start;padding-top:3px;color:#9aa5b4;font:700 10px/1.3 Arial,sans-serif}
.nav-submenu a>span{display:grid;min-width:0;gap:4px}
.nav-submenu a strong{font-size:14px;font-weight:650}
.nav-submenu a em{overflow:hidden;color:#7a8797;font-size:11px;font-style:normal;font-weight:400;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.nav-submenu a:hover,.nav-submenu a.current{border-left-color:#3655ba;background:#f3f6fb;color:#2948af!important}
.nav-submenu-capabilities{width:min(700px,calc(100vw - 32px))}
.nav-submenu-cases{width:min(760px,calc(100vw - 32px))}
.nav-submenu-strength{--submenu-x:0;right:0;left:auto;width:min(700px,calc(100vw - 32px))}
.nav-submenu-section{display:flex;grid-column:1/-1;align-items:center;gap:12px;margin:3px 8px 0;padding:11px 0 5px;border-top:1px solid #e5eaf1}
.nav-submenu-section strong{color:#173253;font-size:12px;font-weight:650}
.nav-submenu-section span{color:#8792a2;font-size:10px}
.nav-submenu a.is-support{min-height:58px!important;background:#f8fafd}
.nav-submenu a.is-support small{color:#3655ba}
.nav-group.submenu-open .nav-submenu{opacity:1;pointer-events:auto;transform:translate(var(--submenu-x),0)}

.section-local-nav{position:sticky;z-index:900;top:var(--subpage-main-nav-height);border-bottom:1px solid #e1e7ef;background:rgba(255,255,255,.97);box-shadow:0 7px 18px rgba(8,29,62,.055);backdrop-filter:blur(10px)}
.section-local-nav .wrap{display:flex;min-height:54px;align-items:center;gap:0;overflow-x:auto;scrollbar-width:none}
.section-local-nav .wrap::-webkit-scrollbar{display:none}
.section-local-nav span{display:flex;height:54px;align-items:center;padding-right:24px;color:#173253;font-size:13px;font-weight:700;white-space:nowrap}
.section-local-nav a{position:relative;display:flex;height:54px;align-items:center;padding:0 18px;color:#617086;font-size:13px;white-space:nowrap}
.section-local-nav a::after{position:absolute;right:18px;bottom:0;left:18px;height:2px;background:#3655ba;content:"";opacity:0}
.section-local-nav a:hover,.section-local-nav a.current{color:#2948af}
.section-local-nav a.current::after{opacity:1}
.section-local-nav .local-nav-title{margin-right:6px;padding-right:22px;border-right:1px solid #e2e7ef}
.section-local-nav .local-nav-cta{height:34px;margin-left:auto;padding:0 15px;border:1px solid #3655ba;border-radius:3px;background:#3655ba;color:#fff;font-weight:600}
.section-local-nav .local-nav-cta::after{display:none}
.section-local-nav .local-nav-cta:hover{color:#fff;background:#2948af}
.official-redesign-local.service-page [id]{scroll-margin-top:calc(var(--subpage-main-nav-height) + var(--subpage-local-nav-height) + var(--subpage-anchor-gap))}
.service-page-root{scroll-padding-top:0!important}
.service-page .contact-float{display:none!important}

/* Team cards read as professional staff profiles, not testimonials. */
.official-redesign-local .leadership-home .leader-card{display:grid;min-height:275px;grid-template-columns:88px minmax(0,1fr);align-content:center;align-items:start;justify-content:stretch;padding:34px 36px;text-align:left}
.official-redesign-local .leadership-home .leader-card::before,.official-redesign-local .leadership-home .leader-card::after{content:none!important}
.official-redesign-local .leadership-home .leader-card figure{width:78px;height:78px;margin:3px 0 0;border-radius:50%;box-shadow:0 0 0 5px rgba(255,255,255,.07)}
.official-redesign-local .leadership-home .leader-card>div{min-width:0;padding-left:5px}
.official-redesign-local .leadership-home .leader-card small{display:block;margin-bottom:7px;color:#9eb0e5;font-size:9px;letter-spacing:.12em}
.official-redesign-local .leadership-home .leader-card h3{display:flex;align-items:baseline;gap:9px;margin:0 0 13px;font-size:21px}
.official-redesign-local .leadership-home .leader-card h3 span{margin:0;padding-left:9px;border-left:1px solid rgba(255,255,255,.24);font-size:12px}
.official-redesign-local .leadership-home .leader-card p{max-width:none;color:rgba(255,255,255,.74);font-size:13px;line-height:1.85}

.service-hero{position:relative;min-height:520px;overflow:hidden;background:#0b1e42;color:#fff}
.service-hero-media{position:absolute;inset:0}
.service-hero-media picture,.service-hero-media img{display:block;width:100%;height:100%}
.service-hero-media img{max-width:none;object-fit:cover;object-position:center}
.service-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,19,48,.96) 0%,rgba(6,30,65,.82) 46%,rgba(4,23,48,.28) 100%)}
.service-hero .wrap{position:relative;z-index:2;display:flex;min-height:520px;align-items:center}
.service-hero-copy{width:min(690px,68%);padding:72px 0 68px}
.service-kicker{display:block;margin-bottom:15px;color:#9bb4ff;font:700 12px/1.4 Arial,sans-serif;letter-spacing:1.8px}
.service-hero h1{margin:0;font-size:clamp(38px,4.3vw,62px);font-weight:600;line-height:1.16;letter-spacing:-1px}
.mobile-break{display:none}
.service-hero-lead{max-width:640px;margin:23px 0 0;color:rgba(255,255,255,.82);font-size:17px;line-height:2}
.service-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.service-hero-actions a{display:inline-flex;min-width:150px;height:46px;align-items:center;justify-content:center;padding:0 22px;border:1px solid rgba(255,255,255,.62);border-radius:3px;color:#fff;font-size:14px;font-weight:600;transition:.2s}
.service-hero-actions a:first-child{border-color:#3655ba;background:#3655ba}
.service-hero-actions a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.2)}
.service-breadcrumb{position:absolute;z-index:3;right:0;bottom:0;left:0;border-top:1px solid rgba(255,255,255,.16);background:rgba(5,20,47,.54);backdrop-filter:blur(8px)}
.service-breadcrumb .wrap{display:flex;min-height:48px;align-items:center;gap:9px;color:rgba(255,255,255,.7);font-size:12px}
.service-breadcrumb a:hover{color:#fff}

.page-section{padding:82px 0}
.page-section.alt{background:#f4f7fb}
.page-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,460px);align-items:end;gap:70px;margin-bottom:38px}
.page-heading>div>span,.eyebrow-blue{display:block;color:#3655ba;font:700 11px/1.4 Arial,sans-serif;letter-spacing:1.7px}
.page-heading h2{margin:9px 0 0;color:#102a52;font-size:clamp(29px,3.1vw,42px);font-weight:600;line-height:1.32}
.page-heading>p{margin:0;color:#67758a;font-size:15px;line-height:1.95}

.truth-strip{position:relative;z-index:4;margin-top:-42px}
.truth-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid #e1e7f0;border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(11,36,75,.12)}
.truth-grid article{min-height:130px;padding:25px 25px 22px;border-right:1px solid #e8edf4}
.truth-grid article:last-child{border-right:0}
.truth-grid strong{display:block;color:#2847a9;font-size:27px;line-height:1.25}
.truth-grid span{display:block;margin-top:8px;color:#6d798b;font-size:13px}

.intro-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:70px}
.intro-visual{position:relative;margin:0;overflow:hidden;border-radius:12px;background:#e9edf3;box-shadow:0 20px 46px rgba(11,36,75,.13)}
.intro-visual picture,.intro-visual img{width:100%}
.intro-visual img{height:470px;object-fit:cover}
.intro-visual figcaption{position:absolute;right:16px;bottom:16px;left:16px;padding:13px 16px;border-radius:7px;background:rgba(6,25,58,.82);color:#fff;font-size:13px;backdrop-filter:blur(8px)}
.intro-copy-block h2{margin:10px 0 20px;color:#102a52;font-size:clamp(30px,3.4vw,46px);line-height:1.3}
.intro-copy-block>p{margin:0 0 16px;color:#5f6e82;font-size:15px;line-height:2}
.plain-checks{display:grid;gap:12px;margin:25px 0 0;padding:0;list-style:none}
.plain-checks li{position:relative;padding:14px 16px 14px 46px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#233853;font-weight:600}
.plain-checks li::before{content:"✓";position:absolute;top:13px;left:17px;display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#e9efff;color:#3655ba;font-size:12px}

.capability-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.detail-card{min-height:238px;padding:28px;border:1px solid #e0e7f0;border-radius:10px;background:#fff;transition:.22s}
.detail-card:hover{border-color:#b9c7ef;box-shadow:0 14px 32px rgba(14,43,88,.09);transform:translateY(-3px)}
.detail-card small{color:#3655ba;font:700 11px Arial;letter-spacing:1.2px}
.detail-card h3{margin:14px 0 12px;color:#102a52;font-size:21px}
.detail-card p{margin:0;color:#68768a;line-height:1.9}
.detail-card ul{margin:10px 0 0;padding-left:18px;color:#68768a;line-height:1.9}

.process-line{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;counter-reset:step}
.process-line article{position:relative;min-height:175px;padding:22px 18px;border-top:3px solid #ccd6ea;background:#fff;counter-increment:step}
.process-line article::before{content:"0" counter(step);display:block;margin-bottom:15px;color:#3655ba;font:700 12px Arial;letter-spacing:1px}
.process-line article:not(:last-child)::after{content:"→";position:absolute;top:22px;right:-6px;z-index:2;color:#9eacc0}
.process-line h3{margin:0 0 9px;color:#19304f;font-size:16px}
.process-line p{margin:0;color:#718095;font-size:13px;line-height:1.8}

.spec-table-wrap{overflow:hidden;border:1px solid #dce4ef;border-radius:10px;background:#fff}
.spec-table{width:100%;border-collapse:collapse}
.spec-table th,.spec-table td{padding:16px 20px;border-bottom:1px solid #e5eaf1;text-align:left;vertical-align:top}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0}
.spec-table th{width:28%;background:#f5f7fb;color:#183254;font-weight:600}
.spec-table td{color:#5f6f83}
.spec-note{margin:14px 0 0;color:#7a8798;font-size:12px}

.photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:200px;gap:14px}
.photo-card{position:relative;grid-column:span 4;margin:0;overflow:hidden;border:0;border-radius:9px;background:#e9edf3;cursor:zoom-in}
.photo-card.wide{grid-column:span 8}
.photo-card.tall{grid-row:span 2}
.photo-card picture,.photo-card img{width:100%;height:100%}
.photo-card img{object-fit:cover;transition:transform .4s ease}
.photo-card.product img{object-fit:contain;background:#111}
.photo-card figcaption{position:absolute;right:0;bottom:0;left:0;padding:35px 17px 14px;background:linear-gradient(transparent,rgba(5,21,48,.88));color:#fff;font-size:13px}
.photo-card:hover img{transform:scale(1.035)}

.case-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.case-category{display:grid;grid-template-columns:42% 1fr;min-height:280px;overflow:hidden;border:1px solid #dfe6ef;border-radius:7px;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s}
.case-category:hover{box-shadow:0 16px 38px rgba(12,39,81,.1);transform:translateY(-3px)}
.case-category figure{margin:0;overflow:hidden;background:#111}
.case-category picture,.case-category img{display:block;width:100%;height:100%}
.case-category img{object-fit:contain;transition:.35s}
.case-category:hover img{transform:scale(1.03)}
.case-category>div{padding:28px}
.case-category small{color:#3655ba;font:700 11px Arial;letter-spacing:1.2px}
.case-category h2,.case-category h3{margin:12px 0;color:#102a52;font-size:22px}
.case-category p{margin:0;color:#66758a;line-height:1.9}
.case-category span{display:block;margin-top:16px;color:#3655ba;font-weight:600}

.case-detail-page .case-detail-hero,.case-detail-page .case-detail-hero>.wrap{min-height:460px}
.case-fact-strip{position:relative;z-index:4;margin-top:-1px;border-bottom:1px solid #e1e7ef;background:#fff}
.case-fact-strip .wrap{display:grid;grid-template-columns:.7fr .55fr 1.75fr}
.case-fact-strip article{min-height:104px;padding:24px 28px;border-right:1px solid #e5eaf1}
.case-fact-strip article:last-child{border-right:0}
.case-fact-strip small{display:block;margin-bottom:8px;color:#7a8797;font-size:11px}
.case-fact-strip strong{display:block;color:#173253;font-size:16px;font-weight:650;line-height:1.55}
.case-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.case-library-grid figure{position:relative;height:230px;margin:0;overflow:hidden;border:1px solid #e0e6ee;border-radius:4px;background:#0a0f18;cursor:zoom-in}
.case-library-grid img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .28s ease}
.case-library-grid figure:hover img{transform:scale(1.025)}
.case-library-grid figcaption{position:absolute;right:0;bottom:0;left:0;padding:34px 12px 11px;background:linear-gradient(transparent,rgba(4,18,41,.88));color:#fff;font-size:12px;line-height:1.45}
.case-disclaimer{margin:20px 0 0;padding:14px 16px;border-left:3px solid #3655ba;background:#f4f7fb;color:#6c798a;font-size:12px;line-height:1.8}
.case-review-panel{display:flex;align-items:center;justify-content:space-between;gap:60px;padding:34px 38px;border:1px solid #dce4ed;border-radius:5px;background:#fff}
.case-review-panel>div{max-width:820px}
.case-review-panel span{color:#3655ba;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.14em}
.case-review-panel h2{margin:8px 0 10px;color:#173253;font-size:28px;font-weight:600}
.case-review-panel p{margin:0;color:#657488;line-height:1.9}
.case-review-panel>a{display:inline-flex;min-width:160px;height:44px;align-items:center;justify-content:center;padding:0 20px;border-radius:3px;background:#2948af;color:#fff;font-size:13px;font-weight:600;white-space:nowrap}

.case-photo-groups,.evidence-groups{display:grid;gap:14px}
.case-photo-group,.evidence-group{overflow:hidden;border:1px solid #dfe5ed;border-radius:5px;background:#fff}
.case-photo-group>summary,.evidence-group>summary{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;cursor:pointer;list-style:none}
.case-photo-group>summary::-webkit-details-marker,.evidence-group>summary::-webkit-details-marker{display:none}
.case-photo-group>summary span,.evidence-group>summary span{display:grid;gap:5px}
.case-photo-group>summary small,.evidence-group>summary small{color:#3655ba;font:700 10px/1.3 Arial,sans-serif;letter-spacing:.12em}
.case-photo-group>summary strong,.evidence-group>summary strong{color:#173253;font-size:18px;font-weight:600}
.case-photo-group>summary em,.evidence-group>summary em{display:flex;align-items:center;gap:10px;color:#748195;font-size:12px;font-style:normal;white-space:nowrap}
.case-photo-group>summary em::after,.evidence-group>summary em::after{width:8px;height:8px;border-right:1.5px solid #64758b;border-bottom:1.5px solid #64758b;content:"";transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
.case-photo-group[open]>summary em::after,.evidence-group[open]>summary em::after{transform:translateY(2px) rotate(225deg)}
.case-photo-group>summary .disclosure-label,.evidence-group>summary .disclosure-label{display:inline-flex!important;align-items:center;padding-left:10px;border-left:1px solid #d8dee7;color:#2948af;font-size:11px;font-style:normal;font-weight:650;line-height:1.4}
.case-photo-group[open]>summary,.evidence-group[open]>summary{border-bottom:1px solid #e6ebf2;background:#f8fafd}
.case-proof-grid,.evidence-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:1px;background:#e6ebf2}
.evidence-photo-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-proof-grid figure,.evidence-photo-grid figure{position:relative;height:210px;margin:0;overflow:hidden;background:#111;cursor:zoom-in}
.case-proof-grid img,.evidence-photo-grid img{width:100%;height:100%;object-fit:contain;background:#111;transition:transform .3s ease}
.evidence-photo-grid.factory img{object-fit:cover;background:#e8edf3}
.case-proof-grid figure:hover img,.evidence-photo-grid figure:hover img{transform:scale(1.025)}
.case-proof-grid figcaption,.evidence-photo-grid figcaption{position:absolute;right:0;bottom:0;left:0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(5,21,48,.86));color:#fff;font-size:12px}

.video-evidence{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);align-items:stretch;margin-bottom:18px;overflow:hidden;border:1px solid #dfe5ed;border-radius:5px;background:#0b214a;color:#fff}
.video-evidence-media{display:grid;min-height:460px;place-items:center;background:#07172f}
.video-evidence video{display:block;width:100%;height:460px;background:#07172f;object-fit:contain}
.video-evidence-copy{display:flex;flex-direction:column;justify-content:center;padding:48px}
.video-evidence-copy small{color:#9eb0e5;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.14em}
.video-evidence-copy h3{margin:10px 0 17px;font-size:30px;font-weight:600}
.video-evidence-copy p{margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.95}
.video-evidence-copy span{margin-top:20px;color:#b8c7ef;font-size:12px}

.quality-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.quality-flow article{padding:26px;border:1px solid #dfe6ef;border-radius:9px;background:#fff}
.quality-flow b{display:block;color:#3655ba;font-size:12px}
.quality-flow h3{margin:12px 0 10px;color:#102a52}
.quality-flow p{margin:0;color:#66758a;line-height:1.85}

.page-cta{padding:66px 0;background:#0b214a;color:#fff}
.page-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:50px}
.page-cta small{color:#9ab2ff;font:700 11px Arial;letter-spacing:1.4px}
.page-cta h2{margin:9px 0 8px;font-size:31px}
.page-cta p{margin:0;color:rgba(255,255,255,.7)}
.page-cta-actions{display:flex;flex:0 0 auto;gap:10px}
.page-cta-actions a{display:inline-flex;height:44px;align-items:center;padding:0 22px;border:1px solid rgba(255,255,255,.52);border-radius:3px;font-weight:600}
.page-cta-actions a:first-child{border-color:#3655ba;background:#3655ba}

.page-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.page-link-card{padding:23px;border:1px solid #dfe6ef;border-radius:9px;background:#fff}
.page-link-card small{color:#8390a1;font:700 10px Arial}
.page-link-card strong{display:block;margin:9px 0;color:#173253;font-size:18px}
.page-link-card span{color:#3655ba;font-weight:600}

.page-lightbox[hidden]{display:none}
.page-lightbox{position:fixed;z-index:2147483646;inset:0;display:grid;padding:24px;place-items:center;background:rgba(3,15,37,.94)}
.page-lightbox-backdrop{position:absolute;inset:0;border:0;background:transparent}
.page-lightbox figure{position:relative;z-index:2;display:grid;width:min(1120px,calc(100vw - 120px));height:min(84vh,820px);grid-template-rows:minmax(0,1fr) auto;margin:0}
.page-lightbox img{width:100%;height:100%;object-fit:contain}
.page-lightbox figcaption{padding:10px;color:#fff;text-align:center}
.page-lightbox-close{position:absolute;z-index:3;top:18px;right:20px;display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:27px}
body.modal-open{overflow:hidden}

@media(max-width:1160px){
  .main-header nav{gap:15px}
  .main-header nav a{font-size:14px}
  .main-header .header-quote{margin-left:18px}
  .page-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-line{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#dce4ef}
  .process-line article{border-top:0}
}

@media(max-width:920px){
  .main-header nav>.nav-group{display:grid;width:100%;height:auto;grid-template-columns:1fr 48px}
  .main-header nav>.nav-group>a{width:100%}
  .nav-group-toggle{display:grid;width:48px;height:50px;font-size:17px;transition:transform .2s}
  .nav-group.submenu-open .nav-group-toggle{transform:rotate(180deg)}
  .nav-submenu,.nav-submenu-strength{position:static!important;grid-column:1/-1;width:100%;max-height:0;height:auto!important;grid-template-columns:1fr;overflow:hidden;padding:0 10px!important;border:0;border-radius:0;background:#f3f6fb;box-shadow:none;opacity:1;pointer-events:none;transform:none!important;transition:max-height .24s ease,padding .24s ease}
  .nav-submenu-head{display:none}
  .nav-submenu-section{display:none}
  .nav-group.submenu-open .nav-submenu{max-height:680px;padding:7px 10px!important;pointer-events:auto}
  .nav-submenu a{height:auto!important;min-height:54px!important;padding:7px 12px!important;font-size:14px!important}
  .nav-submenu a em{display:none}
  .nav-submenu-cases{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-submenu-cases a{grid-template-columns:26px minmax(0,1fr);padding:7px 9px!important;font-size:13px!important}
  .nav-submenu-cases a strong{font-size:13px}
  .section-local-nav .wrap{width:100%;padding:0 16px}
  .section-local-nav span{padding-right:14px}
  .section-local-nav a{padding:0 14px}
  .section-local-nav a::after{right:14px;left:14px}
  .section-local-nav .local-nav-title{margin-right:0;padding-right:14px}
  .section-local-nav .local-nav-cta{display:none}
  .service-hero,.service-hero>.wrap{min-height:500px}
  .service-hero-copy{width:84%;padding-top:54px}
  .truth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .truth-grid article:nth-child(2){border-right:0}
  .truth-grid article:nth-child(-n+2){border-bottom:1px solid #e8edf4}
  .page-heading{grid-template-columns:1fr;gap:16px}
  .intro-grid{grid-template-columns:1fr;gap:36px}
  .intro-visual img{height:420px}
  .capability-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-category-grid{grid-template-columns:1fr}
  .quality-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-card{grid-column:span 6}
  .photo-card.wide{grid-column:span 12}
  .case-proof-grid,.evidence-photo-grid,.evidence-photo-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .case-fact-strip .wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
  .case-fact-strip article{padding:20px}
  .video-evidence{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}
  .video-evidence-copy{padding:32px}
  .page-cta .wrap{align-items:flex-start;flex-direction:column;gap:25px}
  .page-lightbox{padding:14px}
  .page-lightbox figure{width:calc(100vw - 28px);height:calc(100dvh - 100px)}
  .page-lightbox-close{top:10px;right:10px}
}

@media(min-width:921px) and (max-width:1100px){
  .official-redesign-local .header-quote{display:none!important}
  .official-redesign-local .main-header nav{margin-left:auto}
}

@media(max-width:860px){
  .service-page{
    --subpage-utility-height:30px;
    --subpage-main-nav-height:72px;
  }
}

@media(max-width:620px){
  .service-page{--subpage-utility-height:0px}
}

/* Mobile home capability cards use native, size-stable scrolling.
   Touch hover must never change a card's flex width while the finger is moving. */
.official-redesign-local .capability-carousel-progress{display:none}
@media (hover:none), (max-width:860px){
  .official-redesign-local .capability-core-grid{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-behavior:auto!important;
    scroll-snap-type:x mandatory!important;
    overscroll-behavior-x:contain;
    overscroll-behavior-y:auto;
    touch-action:pan-x pan-y;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .official-redesign-local .capability-core-grid::-webkit-scrollbar{display:none}
  .official-redesign-local .capability-core-grid .capability-card,
  .official-redesign-local .capability-core-grid .capability-card:hover,
  .official-redesign-local .capability-core-grid .capability-card:focus-visible{
    flex-grow:0!important;
    flex-shrink:0!important;
    transform:none!important;
    transition:none!important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    contain:layout paint;
  }
  .official-redesign-local .capability-core-grid .capability-card:hover img,
  .official-redesign-local .capability-core-grid .capability-card:focus-visible img{
    filter:saturate(.72) contrast(1.06) brightness(.92);
    transform:none!important;
  }
  .official-redesign-local .capability-carousel-progress.is-overflowing{
    display:flex;
    min-height:30px;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:8px 0 2px;
  }
  .official-redesign-local .capability-carousel-progress button{
    width:38px;
    height:4px;
    padding:0;
    border:0;
    border-radius:0;
    background:#c5cdd8;
    box-shadow:none;
    transition:background-color .2s ease;
  }
  .official-redesign-local .capability-carousel-progress button.active{background:#5579e6}
}
@media(max-width:860px){
  .official-redesign-local .capability-core-grid .capability-card,
  .official-redesign-local .capability-core-grid .capability-card:hover,
  .official-redesign-local .capability-core-grid .capability-card:focus-visible{
    min-width:82vw;
    flex-basis:82vw!important;
  }
}
@media(max-width:560px){
  .official-redesign-local .capability-core-grid .capability-card,
  .official-redesign-local .capability-core-grid .capability-card:hover,
  .official-redesign-local .capability-core-grid .capability-card:focus-visible{
    min-width:calc(100vw - 60px);
    flex-basis:calc(100vw - 60px)!important;
  }
}

@media(max-width:620px){
  .service-page .wrap{width:calc(100% - 32px)}
  .service-hero,.service-hero>.wrap{min-height:520px}
  .service-hero-media::after{background:linear-gradient(180deg,rgba(4,19,48,.63),rgba(4,19,48,.94) 68%,rgba(4,19,48,.98))}
  .service-hero-media img{object-position:center}
  .service-hero-copy{width:100%;padding:94px 0 78px}
  .service-hero h1{font-size:36px;line-height:1.2}
  .mobile-break{display:block}
  .service-breadcrumb{display:none}
  .service-hero-lead{font-size:15px;line-height:1.85}
  .service-hero-actions{display:grid;grid-template-columns:1fr 1fr}
  .service-hero-actions a{min-width:0;padding:0 12px}
  .page-section{padding:58px 0}
  .truth-strip{margin-top:-28px}
  .truth-grid article{min-height:110px;padding:20px 18px}
  .truth-grid strong{font-size:clamp(18px,5.8vw,23px);overflow-wrap:anywhere}
  .page-heading{margin-bottom:28px}
  .page-heading h2{font-size:29px}
  .intro-visual img{height:300px}
  .capability-detail-grid{grid-template-columns:1fr}
  .detail-card{min-height:0;padding:23px}
  .process-line{grid-template-columns:1fr 1fr}
  .process-line article{min-height:160px;padding:19px 16px}
  .process-line article::after{display:none}
  .spec-table th,.spec-table td{display:block;width:100%;padding:12px 15px}
  .spec-table th{border-bottom:0}
  .spec-table td{padding-top:4px}
  .photo-grid{grid-auto-rows:180px;gap:10px}
  .photo-card,.photo-card.wide{grid-column:span 12}
  .photo-card.tall{grid-row:span 1}
  .case-category{grid-template-columns:1fr;min-height:0}
  .case-category figure{height:230px}
  .case-category>div{padding:22px}
  .case-photo-group>summary,.evidence-group>summary{min-height:68px;padding:13px 15px}
  .case-photo-group>summary strong,.evidence-group>summary strong{font-size:15px}
  .case-photo-group>summary em,.evidence-group>summary em{align-items:flex-end;flex-direction:column;gap:4px;font-size:11px}
  .case-photo-group>summary .disclosure-label,.evidence-group>summary .disclosure-label{padding-top:3px;padding-left:0;border-top:1px solid #d8dee7;border-left:0;font-size:10px}
  .case-proof-grid figure,.evidence-photo-grid figure{height:142px}
  .case-detail-page .case-detail-hero,.case-detail-page .case-detail-hero>.wrap{min-height:520px}
  .case-fact-strip .wrap{width:100%;grid-template-columns:1fr 1fr}
  .case-fact-strip article{min-height:88px;padding:17px 16px}
  .case-fact-strip article:nth-child(2){border-right:0}
  .case-fact-strip article:last-child{grid-column:1/-1;border-top:1px solid #e5eaf1}
  .case-fact-strip strong{font-size:14px}
  .case-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .case-library-grid figure{height:150px}
  .case-library-grid figcaption{padding:28px 8px 8px;font-size:10px}
  .case-review-panel{align-items:flex-start;flex-direction:column;gap:24px;padding:26px 22px}
  .case-review-panel h2{font-size:24px}
  .case-review-panel>a{width:100%}
  .case-proof-grid figcaption,.evidence-photo-grid figcaption{padding:24px 9px 8px;font-size:10px}
  .video-evidence{grid-template-columns:1fr}
  .video-evidence-media{min-height:0}
  .video-evidence video{height:min(112vw,520px)}
  .video-evidence-copy{padding:27px 22px 30px}
  .video-evidence-copy h3{font-size:24px}
  .official-redesign-local .leadership-home .leader-card{min-height:320px;grid-template-columns:72px minmax(0,1fr);padding:28px 23px;text-align:left}
  .official-redesign-local .leadership-home .leader-card figure{width:64px;height:64px;margin-top:2px}
  .official-redesign-local .leadership-home .leader-card h3{display:block;font-size:19px}
  .official-redesign-local .leadership-home .leader-card h3 span{display:block;margin:5px 0 0;padding:0;border:0;font-size:11px}
  .official-redesign-local .leadership-home .leader-card p{font-size:12px;line-height:1.8}
  .quality-flow{grid-template-columns:1fr}
  .page-links{grid-template-columns:1fr}
  .page-cta{padding:48px 0}
  .page-cta h2{font-size:26px}
  .page-cta-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}
  .page-cta-actions a{justify-content:center;padding:0 10px}
}

@media(prefers-reduced-motion:reduce){
  .photo-card img,.case-category img,.detail-card,.service-hero-actions a{transition:none!important}
  .service-page{scroll-behavior:auto}
}

/* 2026-08-27 | restrained light detail pages, viewport-safe menus and unified media frames */
.nav-group-toggle{
  position:relative;
  flex:0 0 auto;
  color:#647185;
  font-size:0;
}
.nav-group-toggle::before{
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  content:"";
  transform:translateY(-2px) rotate(45deg);
  transition:transform .18s ease,color .18s ease;
}
.nav-group-toggle:focus-visible{
  outline:2px solid #9aabd3;
  outline-offset:2px;
}
.nav-group.submenu-open>.nav-group-toggle::before{
  transform:translateY(2px) rotate(225deg);
}
.nav-submenu{
  z-index:160;
  max-width:calc(100vw - 24px);
  max-height:calc(100vh - 148px);
  max-height:calc(100dvh - 148px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  border-color:#d9e0e8;
  border-top-color:#566da7;
  background:#fff;
  box-shadow:0 16px 34px rgba(15,31,53,.12);
  scrollbar-color:#c5ced9 transparent;
  scrollbar-width:thin;
}
.nav-submenu a,.nav-submenu a>span,.nav-submenu a strong,.nav-submenu a em{min-width:0}
.nav-submenu a strong,.nav-submenu a em{overflow-wrap:anywhere}
.nav-submenu a em{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
}
.nav-submenu a:hover,.nav-submenu a.current{
  border-left-color:#566da7;
  background:#f2f4f7;
  color:#213d7e!important;
}
.nav-submenu a.is-support{background:#f7f8fa}
.nav-submenu a.is-support small{color:#566da7}

@media(min-width:921px) and (max-width:1100px){
  .nav-submenu-strength{right:-64px}
}

/* The 861-920px range previously kept the desktop header and could overflow. */
@media(min-width:861px) and (max-width:920px){
  .official-redesign-local .top-contact{display:block;height:30px}
  .official-redesign-local .top-contact-inner{width:calc(100% - 28px);justify-content:center}
  .official-redesign-local .top-contact-inner>span,
  .official-redesign-local .top-contact button,
  .official-redesign-local .top-contact a[href^="mailto"]{display:none}
  .official-redesign-local .top-contact a[href^="tel"]{display:block;font-size:10px}
  .official-redesign-local .main-header,
  .official-redesign-local .main-header.is-compact,
  .official-redesign-local .site-head-shell.is-compact .main-header{height:72px}
  .official-redesign-local .header-inner{width:calc(100% - 28px)}
  .official-redesign-local .brand img,
  .official-redesign-local .site-head-shell.is-compact .brand img{width:210px;max-height:52px}
  .official-redesign-local .header-quote{display:none}
  .official-redesign-local .menu-toggle{
    position:relative;
    z-index:4;
    display:block;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:7px;
    border-radius:50%;
    background:#f2f4f7;
  }
  .official-redesign-local .menu-toggle i{width:23px;margin:5px auto;transition:transform .22s ease,opacity .18s ease}
  .official-redesign-local .menu-toggle.open i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .official-redesign-local .menu-toggle.open i:nth-child(2){opacity:0}
  .official-redesign-local .menu-toggle.open i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .official-redesign-local .main-header nav:not(.open){display:none!important}
  .official-redesign-local .main-header nav.open{
    position:fixed!important;
    z-index:3;
    top:102px!important;
    right:0;
    left:0;
    display:flex!important;
    max-height:calc(100dvh - 178px);
    overflow-y:auto;
    padding:10px 18px 18px;
    border-top:1px solid #dfe4ea;
    border-radius:0 0 6px 6px;
    background:#fff;
    box-shadow:0 14px 32px rgba(15,31,53,.14);
  }
  .official-redesign-local .main-header nav.open a{
    min-height:50px;
    height:50px;
    justify-content:flex-start;
    padding:0 10px;
    font-size:15px;
  }
  .official-redesign-local.mobile-menu-open{overflow:hidden}
}

@media(max-width:920px){
  .nav-group-toggle{transform:none!important}
  .nav-submenu,.nav-submenu-strength{
    max-width:none;
    max-height:0;
    overflow:hidden;
    border:0;
    background:#f4f6f8;
    box-shadow:none;
  }
  .nav-group.submenu-open .nav-submenu{
    max-height:1600px;
    overflow:visible;
  }
  .nav-group-toggle::before{width:8px;height:8px}
  .main-header nav>.nav-group{border-bottom:1px solid #e5e9ee}
  .main-header nav>.nav-group>a{border-bottom:0!important}
  .main-header nav>.nav-group>.nav-group-toggle{border-left:1px solid #edf0f3}
  .nav-submenu a{border-left:0!important;border-bottom:1px solid #e3e7ec!important}
  .nav-submenu a:last-child{border-bottom:0!important}
}

/* Important facts remain prominent; blue is limited to small status accents. */
.page-heading>div>span,.eyebrow-blue,
.detail-card small,.case-category small,.case-review-panel span,
.case-photo-group>summary small,.evidence-group>summary small,
.quality-flow b{color:#66758b}
.page-heading h2,.intro-copy-block h2,.detail-card h3,
.quality-flow h3,.case-review-panel h2{color:#172b46}
.truth-grid{
  border-radius:5px;
  box-shadow:0 12px 28px rgba(18,35,58,.09);
}
.truth-grid strong{color:#253f7d}
.detail-card{
  border-radius:5px;
  box-shadow:none;
  transform:none!important;
}
.detail-card:hover{border-color:#bfc8d4;box-shadow:0 8px 20px rgba(18,35,58,.06)}
.intro-visual{
  border:1px solid #dce2e9;
  border-radius:5px;
  background:#f1f3f5;
  box-shadow:0 12px 28px rgba(18,35,58,.08);
}
.plain-checks li,.quality-flow article,.page-link-card{border-radius:4px}
.plain-checks li::before{background:#eef1f5;color:#536b9f}
.spec-table-wrap{border-radius:5px}
.spec-table th{background:#f1f3f6;color:#22364f}
.case-disclaimer{border-left-color:#7d8ca4;background:#f3f5f7}

/* A single white/light-grey treatment for product photos and evidence images. */
.photo-grid{grid-auto-rows:230px}
.photo-card{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  border:1px solid #dce2e8;
  border-radius:4px;
  background:#fff;
}
.photo-card picture{min-height:0;background:#f3f5f7}
.photo-card img{background:#f3f5f7}
.photo-card.product img{padding:12px;object-fit:contain;background:#f3f5f7}
.photo-card figcaption,
.case-library-grid figcaption,
.case-proof-grid figcaption,.evidence-photo-grid figcaption{
  position:static;
  display:flex;
  min-height:44px;
  align-items:center;
  padding:9px 12px;
  border-top:1px solid #e1e6eb;
  background:#fff;
  color:#3c4b60;
  font-size:12px;
  line-height:1.45;
}
.case-category figure{background:#f3f5f7}
.case-category img{padding:10px;object-fit:contain;background:#f3f5f7}
.case-library-grid figure,
.case-proof-grid figure,.evidence-photo-grid figure{
  display:grid;
  height:260px;
  grid-template-rows:minmax(0,1fr) auto;
  border-radius:4px;
  background:#fff;
}
.case-library-grid img,
.case-proof-grid img,.evidence-photo-grid img{
  min-height:0;
  padding:10px;
  object-fit:contain;
  background:#f3f5f7;
}
.evidence-photo-grid.factory img{padding:0;object-fit:cover;background:#f3f5f7}
.case-category:hover img,.case-library-grid figure:hover img,
.case-proof-grid figure:hover img,.evidence-photo-grid figure:hover img,
.photo-card:hover img{transform:none}

.evidence-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin:34px 0 16px;
  padding-top:26px;
  border-top:1px solid #dce2e8;
}
.evidence-heading small{display:block;margin-bottom:7px;color:#3655ba;font:700 10px/1.3 Arial,sans-serif;letter-spacing:.12em}
.evidence-heading h3{margin:0;color:#172f4e;font-size:clamp(22px,2.2vw,30px);font-weight:650;line-height:1.25}
.evidence-heading p{max-width:520px;margin:0;color:#647287;font-size:14px;line-height:1.75}
.photo-grid.injection-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
.injection-proof-grid .photo-card{aspect-ratio:4/3}
.injection-proof-grid .photo-card img{padding:14px;object-fit:contain;background:#f3f5f7}
.evidence-heading-products{margin-top:42px}
@media(max-width:620px){
  .evidence-heading{display:block;margin-top:28px;padding-top:22px}
  .evidence-heading p{margin-top:9px;font-size:13px}
  .photo-grid.injection-proof-grid{grid-template-columns:1fr}
  .injection-proof-grid .photo-card{aspect-ratio:4/3}
}

/* Video is evidence, not another dark-blue promotional panel. */
.video-evidence{border-color:#dce2e8;background:#fff;color:#172b46}
.video-evidence-media,.video-evidence video{background:#e9edf1}
.video-evidence-copy{border-left:1px solid #e1e5ea;background:#fff}
.video-evidence-copy small{color:#66758b}
.video-evidence-copy p{color:#627084}
.video-evidence-copy span{color:#748195}

/* Professional staff profiles on a calm light background. */
.official-redesign-local .leadership-home{
  border-top:1px solid #e3e8ee;
  border-bottom:1px solid #e3e8ee;
  background:#f4f6f8!important;
  color:#172b46!important;
}
.official-redesign-local .leadership-home::before{display:none!important;content:none!important}
.official-redesign-local .leadership-home .section-heading h2{color:#172b46!important}
.official-redesign-local .leadership-home .section-heading p{color:#657286!important}
.official-redesign-local .leadership-home .leader-card{
  border-color:#d9e0e7!important;
  background:#fff!important;
  color:#172b46!important;
}
.official-redesign-local .leadership-home .leader-card figure{
  box-shadow:0 0 0 1px #cfd7e1,0 8px 18px rgba(18,35,58,.08)!important;
}
.official-redesign-local .leadership-home .leader-card small{color:#65769a!important}
.official-redesign-local .leadership-home .leader-card h3{color:#172b46!important}
.official-redesign-local .leadership-home .leader-card h3 span{
  border-left-color:#d8dee6!important;
  color:#6d7989!important;
}
.official-redesign-local .leadership-home .leader-card p{color:#5f6d80!important}
.official-redesign-local .leadership-home .leader-arrow{
  border-color:#cfd7e1!important;
  background:#fff!important;
  color:#263b5b!important;
}
.official-redesign-local .leadership-home .leader-dots button{background:#c3ccd8!important}
.official-redesign-local .leadership-home .leader-dots button.active{background:#536da9!important}

@media(max-width:620px){
  .official-redesign-local .main-header nav.open{border-radius:0 0 6px 6px}
  .photo-grid{grid-auto-rows:220px}
  .case-library-grid figure,
  .case-proof-grid figure,.evidence-photo-grid figure{height:190px}
  .photo-card figcaption,.case-library-grid figcaption,
  .case-proof-grid figcaption,.evidence-photo-grid figcaption{
    min-height:40px;
    padding:7px 9px;
    font-size:10px;
  }
  .video-evidence-copy{border-top:1px solid #e1e5ea;border-left:0}
}

/* Final information hierarchy: manufacturing services explain what can be made;
   equipment and workshop links prove how and where it is made. */
.official-redesign-local{
  --dongpin-surface-soft:#f4f6f8;
}
.official-redesign-local .capabilities,
.official-redesign-local .product-center,
.official-redesign-local .equipment-section,
.official-redesign-local .advantages,
.official-redesign-local .page-section.alt{
  background:var(--dongpin-surface-soft)!important;
}

/* The home page keeps four key categories in one row; the full library stays in the case center. */
.typical-case-summary{
  display:flex;
  min-height:54px;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
  padding:0 18px;
  border:1px solid #dce2e9;
  background:#fff;
  color:#687588;
  font-size:13px;
}
.typical-case-summary b{color:#243f86;font-size:15px}
.typical-case-summary a{display:inline-flex;align-items:center;color:#2948af;font-weight:650;white-space:nowrap}
.typical-case-summary a::after{width:7px;height:7px;margin-left:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;content:"";transform:rotate(45deg)}
.typical-case-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.typical-case-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #dce2e9;
  border-radius:4px;
  background:#fff;
  color:#172b46;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.typical-case-card:hover,.typical-case-card:focus-visible{border-color:#aebad0;box-shadow:0 10px 24px rgba(18,35,58,.08);transform:translateY(-2px)}
.typical-case-card:focus-visible{outline:2px solid #2948af;outline-offset:2px}
.typical-case-card figure{aspect-ratio:4/3;margin:0;overflow:hidden;border-bottom:1px solid #e0e5eb;background:var(--dongpin-surface-soft)}
.typical-case-card img{display:block;width:100%;height:100%;padding:14px;object-fit:contain;background:var(--dongpin-surface-soft);transition:transform .25s ease}
.typical-case-card:hover img{transform:scale(1.018)}
.typical-case-card>div{display:flex;min-height:220px;flex:1;flex-direction:column;padding:20px}
.typical-case-card small{color:#5d7096;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.08em}
.typical-case-card h3{margin:10px 0 12px;color:#172b46;font-size:20px;font-weight:650;line-height:1.45}
.typical-case-card p{margin:0;color:#667386;font-size:13px;line-height:1.8}
.typical-case-card p b{margin-right:7px;color:#3c4d65;font-size:12px;font-weight:650}
.typical-case-card>div>span{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:17px;border-top:1px solid #e2e6eb;color:#2948af;font-size:13px;font-weight:650}
.typical-case-card>div>span::after{width:8px;height:8px;margin-left:12px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;content:"";transform:rotate(45deg)}

/* All workshop previews use one ratio; the full image still opens in the viewer. */
.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:14px}
.photo-card,.photo-card.wide,.photo-card.tall{grid-column:auto;grid-row:auto;aspect-ratio:4/3}
.official-redesign-local #equipment .equipment-gallery .equipment-gallery-track figure,
.official-redesign-local #equipment .equipment-gallery.single .equipment-gallery-track figure,
.official-redesign-local #equipment .equipment-gallery.three .equipment-gallery-track figure,
.official-redesign-local #equipment .equipment-gallery.four .equipment-gallery-track figure{
  height:auto!important;
  aspect-ratio:4/3;
  border-radius:4px;
  background:var(--dongpin-surface-soft);
}

@media(max-width:820px){
  .typical-case-grid{
    display:flex;
    margin-right:-16px;
    margin-left:-16px;
    padding:0 16px 10px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .typical-case-card{width:82vw;min-width:280px;max-width:320px;flex:0 0 82vw;scroll-snap-align:start}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .typical-case-summary{align-items:flex-start;flex-direction:column;gap:7px;padding:13px 14px}
  .photo-grid{grid-template-columns:1fr}
  .typical-case-card>div{min-height:196px;padding:18px}
  .typical-case-card h3{font-size:18px}
}

/* 2026-08-27 | Protolabs-informed information hierarchy, kept in Dongpin's visual system. */
.nav-mega-menu{
  --mega-adjust:0px;
  left:-585px;
  display:grid!important;
  width:min(1120px,calc(100vw - 32px));
  grid-template-columns:minmax(0,1fr) 270px;
  gap:0!important;
  padding:0!important;
  overflow:hidden;
  border-top:1px solid #d9e0e8;
  transform:translate3d(var(--mega-adjust),8px,0);
}
.nav-group-cases .nav-mega-menu{left:-675px}
.nav-group.submenu-open>.nav-mega-menu{transform:translate3d(var(--mega-adjust),0,0)}
.nav-mega-columns{
  display:grid;
  min-width:0;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0 26px;
  padding:28px 30px 30px;
  background:#fff;
}
.nav-mega-case-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
.nav-mega-columns section{min-width:0}
.nav-mega-support{
  display:flex;
  grid-column:1/-1;
  align-items:center;
  gap:18px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #dde3ea;
}
.nav-mega-support strong{margin-right:4px;color:#6d7888;font-size:11px;font-weight:650;white-space:nowrap}
.nav-mega-support a{
  display:inline-flex!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#435269!important;
  font-size:12px!important;
  font-weight:550!important;
  white-space:nowrap;
}
.nav-mega-support a:hover{color:#2948af!important}
.nav-mega-menu .nav-mega-heading{
  display:block!important;
  min-height:76px!important;
  height:auto!important;
  padding:0 0 15px!important;
  border:0!important;
  border-bottom:1px solid #dde3ea!important;
  background:transparent!important;
  color:#173253!important;
  line-height:1.4!important;
}
.nav-mega-menu .nav-mega-heading strong{display:block;color:inherit;font-size:16px;font-weight:650}
.nav-mega-menu .nav-mega-heading em{display:block;margin-top:6px;color:#748195;font-size:11px;font-style:normal;font-weight:400;line-height:1.55;white-space:normal}
.nav-mega-menu .nav-mega-heading:hover,
.nav-mega-menu .nav-mega-heading.current{color:#2948af!important}
.nav-mega-menu .nav-mega-link{
  display:flex!important;
  min-height:0!important;
  height:34px!important;
  align-items:center!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#4f5d70!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.3!important;
}
.nav-mega-menu .nav-mega-link:hover,
.nav-mega-menu .nav-mega-link.current{color:#2948af!important}
.nav-mega-feature{
  display:grid!important;
  min-width:0;
  min-height:320px!important;
  height:auto!important;
  grid-template-columns:1fr!important;
  grid-template-rows:150px auto auto 1fr;
  align-content:stretch!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  padding:24px!important;
  border:0!important;
  border-left:1px solid #e0e5eb!important;
  background:#f2f4f7!important;
  color:#172b46!important;
}
.nav-mega-feature figure{aspect-ratio:4/3;margin:0 0 20px;overflow:hidden;border:1px solid #dde3e9;background:#fff}
.nav-mega-feature img{width:100%;height:100%;padding:7px;object-fit:contain;background:#fff}
.nav-mega-feature small{color:#69778b;font-size:10px;font-weight:700;letter-spacing:.12em}
.nav-mega-feature strong{margin-top:8px;color:#172b46;font-size:18px;font-weight:650;line-height:1.45}
.nav-mega-feature span{align-self:end;margin-top:18px;color:#2948af;font-size:12px;font-weight:650}

/* Detail-page hero: compact, light and immediately followed by verified facts. */
.service-page .service-hero,
.service-page .service-hero>.wrap,
.case-detail-page .case-detail-hero,
.case-detail-page .case-detail-hero>.wrap{
  min-height:400px;
}
.service-page .service-hero{
  border-bottom:1px solid #dfe5eb;
  background:#f3f5f7;
  color:#172b46;
}
.service-page .service-hero-media{
  right:0;
  left:auto;
  width:50%;
  background:#edf1f4;
}
.service-page .service-hero-media::after{
  background:linear-gradient(90deg,#f3f5f7 0%,rgba(243,245,247,.88) 11%,rgba(243,245,247,0) 47%);
}
.service-page .service-hero-copy{width:51%;padding:92px 44px 48px 0}
.service-page .service-kicker{margin-bottom:12px;color:#536b9f;font-size:10px;letter-spacing:1.5px}
.service-page .service-hero h1{color:#172b46;font-size:clamp(36px,3.7vw,50px);letter-spacing:-.6px}
.service-page .service-hero-lead{margin-top:18px;color:#5e6d80;font-size:15px;line-height:1.9}
.service-page .service-hero-actions{margin-top:24px}
.service-page .service-hero-actions a{
  min-width:142px;
  height:44px;
  border-color:#b9c3cf;
  background:#fff;
  color:#22364f;
  box-shadow:none;
  transform:none;
}
.service-page .service-hero-actions a:first-child{border-color:#3655ba;background:#3655ba;color:#fff}
.service-page .service-hero-actions a:hover{border-color:#8291a4;box-shadow:0 6px 16px rgba(18,35,58,.08);transform:none}
.service-page .service-breadcrumb{
  top:0;
  bottom:auto;
  border-top:0;
  border-bottom:1px solid #dfe5eb;
  background:rgba(255,255,255,.96);
  backdrop-filter:none;
}
.service-page .service-breadcrumb .wrap{min-height:46px;color:#718095}
.service-page .service-breadcrumb a{color:#53647a}
.service-page .service-breadcrumb a:hover{color:#2948af}
.case-detail-page .case-detail-hero .service-hero-media img,
.case-overview-page .service-hero .service-hero-media img{
  padding:34px 7%;
  object-fit:contain;
  background:#f3f5f7;
}
.service-page .truth-strip{margin-top:0;border-bottom:1px solid #e3e8ee;background:#fff}
.service-page .truth-grid{border-width:0 1px;border-radius:0;box-shadow:none}
.service-page .truth-grid article{min-height:104px;padding:20px 25px}
.service-page .truth-grid strong{font-size:24px}
.service-page .case-fact-strip{margin-top:0}

/* The technical confirmation reply is expressed as concise buyer questions. */
.faq-section{border-top:1px solid #e3e8ee;background:#fff}
.faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #dce3ea}
.faq-list details{border-right:1px solid #dce3ea;border-bottom:1px solid #dce3ea}
.faq-list details:nth-child(odd){border-left:1px solid #dce3ea}
.faq-list summary{
  position:relative;
  display:flex;
  min-height:68px;
  align-items:center;
  gap:16px;
  padding:16px 52px 16px 20px;
  color:#22364f;
  font-size:14px;
  font-weight:650;
  line-height:1.6;
  cursor:pointer;
  list-style:none;
}
.faq-list .faq-question{min-width:0}
.faq-list .faq-disclosure-label{margin-left:auto;padding-right:12px;color:#2948af;font-size:11px;font-weight:650;white-space:nowrap}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  position:absolute;
  top:50%;
  right:20px;
  width:8px;
  height:8px;
  border-right:1.5px solid #64758b;
  border-bottom:1.5px solid #64758b;
  content:"";
  transform:translateY(-65%) rotate(45deg);
  transition:transform .18s ease;
}
.faq-list details[open] summary{background:#f5f7f9;color:#2948af}
.faq-list details[open] summary::after{transform:translateY(-25%) rotate(225deg)}
.faq-list p{margin:0;padding:0 20px 20px;color:#657387;font-size:13px;line-height:1.9}

/* A dedicated facilities hub makes the user's current location unambiguous. */
.facility-zone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.facility-zone-card{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);overflow:hidden;border:1px solid #dce3ea;background:#fff}
.facility-zone-card figure{min-height:280px;margin:0;overflow:hidden;border-right:1px solid #e1e6eb;background:#f1f3f5}
.facility-zone-card img{width:100%;height:100%;object-fit:cover}
.facility-zone-card>div{display:flex;min-width:0;flex-direction:column;padding:28px}
.facility-zone-card small{color:#6a788b;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.12em}
.facility-zone-card h3{margin:10px 0 12px;color:#172b46;font-size:22px;font-weight:650}
.facility-zone-card p{margin:0;color:#657387;font-size:13px;line-height:1.85}
.facility-zone-card a{margin-top:auto;padding-top:18px;color:#2948af;font-size:13px;font-weight:650}
.services-overview-page .facility-zone-card.wide{grid-column:1/-1}
.services-overview-page .facility-zone-card figure{min-height:250px}
.services-overview-page .support-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #dce3ea;border-left:1px solid #dce3ea}
.services-overview-page .support-overview-grid a{display:block;min-height:148px;padding:26px;border-right:1px solid #dce3ea;border-bottom:1px solid #dce3ea;background:#fff}
.services-overview-page .support-overview-grid small{color:#6a788b;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.12em}
.services-overview-page .support-overview-grid h3{margin:9px 0;color:#172b46;font-size:20px}
.services-overview-page .support-overview-grid p{margin:0;color:#657387;font-size:13px;line-height:1.8}
.services-overview-page .support-overview-grid span{display:block;margin-top:14px;color:#2948af;font-size:13px;font-weight:650}
.inline-detail-link{display:inline-flex;margin-top:20px;color:#2948af;font-size:13px;font-weight:650}
.facilities-page .page-link-card span{color:#657387;font-weight:400}

/* Core manufacturing is visually primary; verified secondary services stay compact. */
.official-redesign-local .capability-core-grid{background:#163251}
.official-redesign-local .capability-core-grid .capability-card{min-width:0}
.official-redesign-local .support-capabilities{
  display:grid;
  grid-template-columns:1.15fr repeat(3,minmax(0,1fr));
  align-items:stretch;
  border:1px solid #dce3ea;
  border-top:0;
  background:#fff;
}
.official-redesign-local .support-capabilities-title,
.official-redesign-local .support-capabilities>a{
  display:flex;
  min-width:0;
  min-height:82px;
  flex-direction:column;
  justify-content:center;
  padding:17px 20px;
}
.official-redesign-local .support-capabilities-title{background:#f4f6f8}
.official-redesign-local .support-capabilities-title span{color:#6c7890;font:700 9px/1.35 Arial,sans-serif;letter-spacing:.11em}
.official-redesign-local .support-capabilities-title strong{margin-top:5px;color:#1a2e49;font-size:15px;font-weight:650}
.official-redesign-local .support-capabilities>a{position:relative;border-left:1px solid #e2e7ed;color:#1d304b}
.official-redesign-local .support-capabilities>a::after{position:absolute;right:17px;color:#7a8798;content:"→";font-size:14px}
.official-redesign-local .support-capabilities>a b{padding-right:22px;font-size:14px;font-weight:650}
.official-redesign-local .support-capabilities>a span{overflow:hidden;margin-top:6px;padding-right:22px;color:#748094;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.official-redesign-local .support-capabilities>a:hover{background:#f7f9fb;color:#2948af}
.official-redesign-local #services :is(#service-mould,#service-injection,#service-machining,#service-quality,#service-sheet-metal,#service-finishing,#service-automation){scroll-margin-top:92px}

@media(max-width:1160px) and (min-width:921px){
  .main-header nav{gap:11px}
  .main-header nav>a,.main-header nav>.nav-group>a{font-size:13px}
  .nav-mega-menu{width:min(980px,calc(100vw - 24px));grid-template-columns:minmax(0,1fr) 230px}
  .nav-group-capabilities .nav-mega-menu{left:clamp(-400px,-35vw,-300px)}
  .nav-group-cases .nav-mega-menu{left:clamp(-510px,-44vw,-390px)}
  .nav-mega-columns{gap:0 18px;padding:24px 22px 26px}
  .nav-mega-feature{padding:20px!important}
}

@media(max-width:920px){
  .nav-mega-menu,
  .nav-group-cases .nav-mega-menu{
    position:static!important;
    width:100%;
    grid-template-columns:1fr;
    transform:none!important;
  }
  .nav-mega-columns,.nav-mega-case-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:16px}
  .nav-mega-support{gap:14px;margin-top:2px;padding-top:14px}
  .nav-mega-menu .nav-mega-heading{min-height:62px!important;padding-bottom:10px!important}
  .nav-mega-menu .nav-mega-heading strong{font-size:14px}
  .nav-mega-menu .nav-mega-link{height:32px!important;border-bottom:0!important;font-size:12px!important}
  .nav-mega-feature{display:none!important}
  .nav-group.submenu-open .nav-mega-menu{max-height:1600px;overflow:visible;padding:0!important}
  .service-page .service-hero,
  .service-page .service-hero>.wrap,
  .case-detail-page .case-detail-hero,
  .case-detail-page .case-detail-hero>.wrap{min-height:370px}
  .service-page .service-hero-copy{width:56%;padding-right:28px}
  .service-page .service-hero-media{width:50%}
  .service-page .service-hero h1{font-size:38px}
  .facility-zone-grid{grid-template-columns:1fr}
  .services-overview-page .facility-zone-card.wide{grid-column:auto}
  .official-redesign-local .support-capabilities{grid-template-columns:repeat(3,minmax(0,1fr))}
  .official-redesign-local .support-capabilities-title{grid-column:1/-1;min-height:62px}
}

@media(max-width:620px){
  .services-overview-page .support-overview-grid{grid-template-columns:1fr}
  .nav-mega-columns,.nav-mega-case-columns{grid-template-columns:1fr;gap:15px;padding:14px}
  .nav-mega-support{align-items:flex-start;flex-wrap:wrap;gap:10px 18px;margin-top:0}
  .nav-mega-support strong{width:100%}
  .nav-mega-menu .nav-mega-heading{min-height:0!important;padding:0 0 9px!important}
  .nav-mega-menu .nav-mega-heading em{display:none}
  .nav-group.submenu-open .nav-mega-menu{max-height:1600px}
  .nav-group-capabilities .nav-mega-columns{padding-bottom:88px}
  .official-redesign-local.mobile-menu-open .mobile-action-bar{display:none!important}
  .official-redesign-local .main-header nav.open{
    max-height:calc(100dvh - 72px);
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
  }
  .official-redesign-local .support-capabilities{grid-template-columns:1fr}
  .official-redesign-local .support-capabilities-title{grid-column:auto;min-height:58px}
  .official-redesign-local .support-capabilities>a{min-height:68px;border-top:1px solid #e2e7ed;border-left:0}
  .service-page .service-hero{
    display:flex;
    min-height:0;
    flex-direction:column;
    padding-top:46px;
  }
  .service-page .service-hero>.wrap,
  .case-detail-page .case-detail-hero>.wrap{min-height:0}
  .service-page .service-hero-media{
    position:relative;
    order:0;
    width:100%;
    height:210px;
  }
  .service-page .service-hero-media::after{display:none}
  .service-page .service-hero-media img{object-position:center}
  .case-detail-page .case-detail-hero .service-hero-media img,
  .case-overview-page .service-hero .service-hero-media img{padding:14px 10%;object-fit:contain}
  .service-page .service-hero>.wrap{order:1}
  .service-page .service-hero-copy{width:100%;padding:28px 0 36px}
  .service-page .service-hero h1{font-size:32px}
  .service-page .service-hero-lead{font-size:14px;line-height:1.8}
  .service-page .service-breadcrumb{display:block}
  .service-page .service-breadcrumb .wrap{width:calc(100% - 28px);min-height:46px;overflow:hidden;white-space:nowrap}
  .service-page .truth-grid article{min-height:94px;padding:17px 15px}
  .faq-list{grid-template-columns:1fr}
  .faq-list details{border-left:1px solid #dce3ea}
  .faq-list summary{min-height:62px;gap:10px;padding:13px 42px 13px 16px;font-size:13px}
  .faq-list .faq-disclosure-label{padding-right:6px;font-size:10px}
  .faq-list p{padding:0 16px 18px;font-size:12px}
  .facility-zone-card{grid-template-columns:1fr}
  .facility-zone-card figure{min-height:0;aspect-ratio:4/3;border-right:0;border-bottom:1px solid #e1e6eb}
  .facility-zone-card>div{min-height:220px;padding:22px}
}


/* 2026-08-27 | five manufacturing capability columns and unified sheet-metal evidence. */
.nav-group-capabilities .nav-mega-columns{grid-template-columns:repeat(5,minmax(0,1fr));gap:0 20px}
.sheet-metal-products{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:270px}
.sheet-metal-products .photo-card{grid-column:auto}
.sheet-metal-products .photo-card img{padding:10px 8px}
@media(max-width:1160px) and (min-width:921px){.nav-group-capabilities .nav-mega-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px}}
@media(max-width:920px){.nav-group-capabilities .nav-mega-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sheet-metal-products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.nav-group-capabilities .nav-mega-columns,.sheet-metal-products{grid-template-columns:1fr}.sheet-metal-products{grid-auto-rows:240px}}
