
:root { --wrap:1280px; --radius:2px; --radius-lg:2px; --head-h:88px; --sec-y:80px; --shadow:0 8px 28px color-mix(in srgb,var(--c-dark) 7%,transparent); --f-number:"SFMono-Regular",Consolas,"Liberation Mono",monospace; }
body { font-size:16px; }
button,a,input,textarea,select { -webkit-tap-highlight-color:var(--c-primary-soft); }
.btn { white-space:normal; text-align:center; border-radius:2px; }
.btn-light { background:var(--c-bg); }
.menu .sub,.langs ul { background:var(--c-bg); }
.menu .sub a,.langs ul a { font-size:15px; }
.factory-header { background:var(--c-bg); border-bottom:1px solid var(--c-line); position:sticky; top:0; z-index:50; }
.factory-header-in { display:flex; align-items:center; justify-content:space-between; gap:26px; min-height:var(--head-h); }
.factory-header .logo { flex:none; max-width:280px; }
.logo-mark { border-radius:2px; width:auto; min-width:44px; padding:0 10px; height:44px; }
.logo-text b { font-size:21px; white-space:normal; overflow-wrap:anywhere; }
.logo-text small { font-size:12px; margin-top:5px; }
.factory-header .menu { margin-left:auto; }
.factory-header .menu>ul>li>a { padding:0 15px; }
.factory-header .menu>ul>li.on>a { color:var(--c-primary); }
.factory-header .menu>ul>li.on>a::after { content:""; position:absolute; bottom:0; left:16px; right:16px; height:3px; background:var(--c-primary); }
.factory-header-actions { display:flex; align-items:center; gap:18px; }
.header-quote { padding:13px 18px; min-height:46px; }
.factory-burger { display:none; }
.factory-hero { background:var(--c-surface); position:relative; border-bottom:1px solid var(--c-line); }
.factory-hero-grid { display:grid; grid-template-columns:1.03fr 1fr; gap:64px; align-items:center; padding-top:46px; padding-bottom:46px; }
.factory-hero-copy { min-width:0; padding:12px 0; }
.factory-eyebrow { display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; color:var(--c-primary); margin-bottom:24px; }
.factory-eyebrow>span { width:8px; height:8px; background:var(--c-primary); flex:none; }
.factory-hero h1 { font-size:clamp(34px,4.4vw,62px); line-height:1.2; letter-spacing:-.04em; max-width:10em; margin:0 0 22px; font-weight:800; }
.factory-hero-sub { max-width:32em; color:var(--c-muted); font-size:17px; line-height:1.8; margin-bottom:28px; }
.factory-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 30px; border-top:1px solid var(--c-line); padding:25px 0 30px; }
.factory-metrics li { min-width:0; display:flex; flex-direction:column; gap:8px; }
.factory-metrics b { font-family:var(--f-number); font-variant-numeric:tabular-nums; font-size:42px; line-height:1.08; letter-spacing:-.07em; display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; font-weight:600; }
.factory-metrics small { font-family:var(--f-body); font-size:12px; font-weight:500; letter-spacing:0; color:var(--c-muted); }
.factory-metrics li>span { font-size:13px; color:var(--c-muted); }
.factory-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; }
.factory-text-link { display:inline-flex; align-items:center; gap:12px; font-size:15px; font-weight:600; min-height:44px; }
.factory-hero-visual { position:relative; min-width:0; height:570px; background:var(--c-line); }
.factory-hero-visual>img { height:100%; width:100%; object-fit:cover; }
.factory-hero-cert { position:absolute; bottom:26px; left:26px; right:26px; display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.factory-hero-cert li { display:flex; gap:8px; align-items:center; background:var(--c-bg); color:var(--c-ink); padding:10px 13px; font-size:12px; font-weight:600; max-width:100%; }
.factory-hero-cert .ic { width:16px; height:16px; color:var(--c-primary); }
.factory-image-corner { position:absolute; width:40px; height:40px; top:16px; right:16px; border-top:2px solid var(--c-bg); border-right:2px solid var(--c-bg); }
.text-only { grid-template-columns:minmax(0,1fr); }
.factory-plain figure { margin:0; }
.factory-plain img { display:block; width:100%; height:auto; object-fit:contain; animation:none; }
.sec-head { margin-bottom:30px; }
.sec-title { font-size:clamp(26px,2.7vw,38px); font-weight:750; letter-spacing:-.025em; }
.kicker { font-size:12px; letter-spacing:.1em; }
.sec-text { font-size:15px; }
.factory-tab-nav { display:flex; border-bottom:1px solid var(--c-line); gap:0; width:100%; overflow-x:auto; scrollbar-width:thin; }
.factory-tab-nav>a { position:relative; display:flex; justify-content:space-between; align-items:center; gap:26px; flex:1; padding:19px 24px; border:1px solid var(--c-line); border-bottom:0; margin-right:-1px; font-size:16px; font-weight:600; background:var(--c-surface); min-height:64px; }
.factory-tab-nav>a[aria-selected=true] { color:var(--c-primary-ink); background:var(--c-primary); border-color:var(--c-primary); }
.factory-tab-nav .ic { width:16px; height:16px; }
.factory-tab-panel { padding-top:26px; min-width:0; scroll-margin-top:105px; }
.factory-tab-panel[hidden] { display:none; }
.factory-fallback-title { margin:0 0 20px; font-size:20px; }
.is-enhanced .factory-fallback-title { display:none; }
.factory-gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.factory-gallery-grid figure { min-width:0; margin:0; background:var(--c-surface); }
.factory-gallery-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.factory-gallery-grid figcaption { display:flex; gap:12px; align-items:flex-start; padding:16px; font-size:15px; }
.factory-gallery-grid figcaption>span { font-family:var(--f-number); color:var(--c-primary); font-size:12px; padding-top:3px; }
.factory-equipment { width:100%; table-layout:fixed; border-collapse:collapse; font-size:15px; border:1px solid var(--c-line); }
.factory-equipment th,.factory-equipment td { text-align:left; padding:18px 24px; border-bottom:1px solid var(--c-line); overflow-wrap:anywhere; }
.factory-equipment thead { background:var(--c-dark); color:var(--c-dark-ink); }
.factory-equipment th:first-child { width:34%; }
.factory-equipment tbody th { background:var(--c-surface); }
.factory-equipment tbody th>span { display:inline-block; color:var(--c-primary); font:12px var(--f-number); margin-right:15px; }
.factory-equipment td { color:var(--c-muted); }
.factory-quality-note { font-size:15px; color:var(--c-muted); }
.factory-quality-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--c-line); }
.factory-quality-grid li { padding:25px; border-right:1px solid var(--c-line); background:var(--c-surface); }
.factory-quality-grid li>span { display:block; font:28px var(--f-number); color:var(--c-primary); margin-bottom:25px; }
.factory-quality-grid h4 { font-size:18px; }
.factory-quality-grid p { font-size:15px; color:var(--c-muted); margin:0; }
.factory-documents { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.factory-documents li { display:flex; align-items:center; gap:16px; border:1px solid var(--c-line); padding:25px; min-width:0; }
.factory-documents .ic { width:30px; height:30px; color:var(--c-primary); }
.factory-documents small { margin-left:auto; color:var(--c-muted); font:12px var(--f-number); }
.factory-featured { background:var(--c-surface); border-top:1px solid var(--c-line); border-bottom:1px solid var(--c-line); }
.factory-parts-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pcard { box-shadow:none; border-color:var(--c-line); min-width:0; }
.pcard:hover { transform:none; border-color:var(--c-primary); box-shadow:none; }
.pcard-img { aspect-ratio:4/3; }
.pcard-img img { object-fit:contain; }
.pcard-body { padding:23px; }
.pcard-title { font-size:19px; margin-bottom:16px; }
.pcard-sum,.ncard-sum { font-size:15px; }
.factory-part-specs { display:flex; flex-direction:column; gap:10px; margin:0 0 22px; }
.factory-part-specs div { display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px; font-size:15px; line-height:1.6; }
.factory-part-specs dt { color:var(--c-muted); font-size:12px; padding-top:3px; }
.factory-part-specs dd { margin:0; overflow-wrap:anywhere; }
.pcard-act { border-top:1px solid var(--c-line); padding-top:16px; font-size:15px; flex-wrap:wrap; }
.pcard-ask { border:1px solid var(--c-line); padding:10px 12px; min-height:44px; font-size:12px; border-radius:2px; }
.factory-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.factory-timeline li { position:relative; padding-top:24px; border-top:1px solid var(--c-line); }
.factory-timeline li::before { content:""; position:absolute; top:-4px; left:0; width:7px; height:7px; background:var(--c-primary); }
.factory-step-no { display:block; color:var(--c-primary); font:42px var(--f-number); margin-bottom:24px; }
.factory-timeline h3 { font-size:19px; }
.factory-timeline p { color:var(--c-muted); font-size:15px; margin:0; }
.factory-clients { padding-top:0; }
.factory-client-wall { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-left:1px solid var(--c-line); border-top:1px solid var(--c-line); }
.factory-client-wall li { min-width:0; display:grid; place-items:center; padding:28px 20px; border-right:1px solid var(--c-line); border-bottom:1px solid var(--c-line); text-align:center; font-size:19px; font-weight:700; color:var(--c-muted); }
.factory-faq { background:var(--c-surface); border-top:1px solid var(--c-line); }
.factory-faq-grid { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:80px; }
.faq-list summary { gap:16px; padding:22px 0; }
.faq-list summary>span:nth-child(2) { flex:1; }
.factory-faq-no { font:12px var(--f-number); color:var(--c-muted); }
.faq-list p { font-size:15px; padding-left:32px; }
.factory-contact { background:var(--c-dark); color:var(--c-dark-ink); }
.factory-contact .kicker { color:var(--c-dark-ink); }
.factory-contact .lead { color:var(--c-dark-ink); margin-top:22px; }
.factory-contact .clist-tx small { color:var(--c-dark-ink); }
.factory-contact .contact-form { color:var(--c-ink); background:var(--c-bg); }
.contact-grid { gap:64px; }
.contact-form { box-shadow:none; padding:32px; border-top:3px solid var(--c-primary); }
.field { font-size:15px; min-width:0; }
.field input,.field textarea { font-size:15px; border-radius:2px; }
.field i { color:var(--c-primary); }
.iform-msg.is-ok,.iform-msg.is-err { background:var(--c-primary-soft); color:var(--c-ink); }
.iform-product b { overflow-wrap:anywhere; }
.factory-page-head { background:var(--c-surface); border-bottom:1px solid var(--c-line); padding:42px 0; position:relative; }
.factory-page-head::after { content:""; position:absolute; bottom:0; left:max(var(--gutter),calc((100% - var(--wrap))/2)); width:72px; height:4px; background:var(--c-primary); }
.page-title { font-size:clamp(30px,3.5vw,46px); }
.page-sub { font-size:16px; }
.plist { grid-template-columns:240px minmax(0,1fr); gap:32px; }
.plist .pgrid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.plist .pcard-body { padding:18px; }
.plist .pcard-title { font-size:17px; }
.plist .factory-part-specs div { grid-template-columns:1fr; gap:0; font-size:15px; }
.catnav { border:1px solid var(--c-line); }
.catnav-title { padding:15px; background:var(--c-surface); margin:0; border-bottom:1px solid var(--c-line); }
.catnav ul { padding:8px; }
.catnav li a { border-radius:2px; }
.side-contact { border-top:3px solid var(--c-primary); }
.pd-main { border:1px solid var(--c-line); border-radius:2px; }
.pd-main img { object-fit:contain; }
.pd-btns .btn { max-width:100%; overflow-wrap:anywhere; }
.pd-info,.pd-detail,.about-text,.article-body { min-width:0; }
.spec { table-layout:fixed; }
.spec td,.spec th { overflow-wrap:anywhere; }
.ncard { border-bottom:1px solid var(--c-line); padding-bottom:24px; }
.ncard-img,.article-cover { border-radius:2px; }
.article-body { overflow-wrap:anywhere; }
.foot { border-top:1px solid var(--c-muted); }
.foot h4,.foot a:hover { color:var(--c-dark-ink); }
.foot-brand p,.foot-col li a,.foot-bar { opacity:1; }
.foot .clist-ic { background:var(--c-dark); color:var(--c-dark-ink); border:1px solid var(--c-muted); }
.foot .clist-tx small { color:var(--c-dark-ink); }
.foot-grid { gap:30px; }
.logo-img { max-width:min(calc(240px * var(--logo-scale, 1)), var(--logo-bound, 99999px)); object-fit:contain; }
.drawer .logo { max-width:calc(100% - 44px); }
.drawer .logo-text small { white-space:normal; }
.drawer-mask { background:color-mix(in srgb,var(--c-dark) 55%,transparent); }
.drawer-panel { transition:transform .2s ease; }
.basket-fab { border-radius:2px; }
.basket-fab[hidden],.iform-basket[hidden] { display:none; }
.dw-preview-bar { max-width:calc(100vw - 24px); white-space:normal; text-align:center; background:var(--c-dark); color:var(--c-dark-ink); }
.factory-nojs-nav { display:flex; flex-wrap:wrap; gap:16px; padding-top:20px; padding-bottom:20px; }
@media (max-width:1180px) {
 .factory-header-in { gap:16px; } .factory-header .menu>ul>li>a { padding:0 10px; } .factory-header .logo-text small { display:none; } .factory-header .logo { max-width:200px; } .header-quote { font-size:14px; max-width:195px; }
 .factory-hero-grid { gap:36px; } .factory-hero-visual { height:540px; } .plist .pgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px) {
 :root { --head-h:68px; --sec-y:54px; --gutter:22px; }
 .factory-header .menu,.header-quote { display:none; } .factory-header .logo { flex:1; min-width:0; max-width:none; } .factory-header .logo-img { max-width:100%; } .factory-header-actions { flex:none; } .factory-header-actions { margin-left:auto; gap:6px; } .factory-header .logo-text b { font-size:18px; } .factory-header .langs summary span { display:none; } .factory-burger { display:grid; }
 .factory-hero-grid { grid-template-columns:minmax(0,1fr); gap:30px; padding-top:34px; padding-bottom:30px; } .factory-hero-copy { padding:0; } .factory-hero h1 { max-width:14em; font-size:44px; } .factory-hero-visual { height:auto; aspect-ratio:4/3; }
 .factory-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .factory-quality-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .factory-tab-nav>a { flex:none; min-width:165px; white-space:nowrap; padding:15px 20px; font-size:15px; min-height:58px; }
 .factory-faq-grid { grid-template-columns:minmax(0,1fr); gap:18px; } .factory-faq .sec-head { margin-bottom:8px; } .contact-grid { gap:28px; }
 .plist { grid-template-columns:minmax(0,1fr); gap:22px; } .catnav { border:0; } .catnav ul { margin:0; padding:0 0 5px; } .catnav li { flex:none; } .catnav li a { border-radius:2px; min-height:44px; }
 .factory-parts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .factory-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:30px; }
 .factory-mobile-bar { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:60; background:var(--c-bg); border-top:1px solid var(--c-line); padding:8px 16px calc(8px + env(safe-area-inset-bottom)); gap:12px; }
 .factory-mobile-bar>a { display:flex; align-items:center; justify-content:center; flex-direction:row; gap:8px; padding:12px; min-height:48px; font-size:15px; border-radius:2px; }
 .factory-mobile-bar>a:not(.mbar-main) { flex:0 0 95px; color:var(--c-ink); } .factory-mobile-bar .mbar-main { flex:1; background:var(--c-primary); color:var(--c-primary-ink); font-weight:600; }
 body.has-mbar { padding-bottom:80px; } .dw-preview-bar { bottom:84px; } .basket-fab { bottom:142px; right:16px; } .foot-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
 :root { --gutter:20px; }
 .factory-eyebrow { font-size:12px; margin-bottom:18px; } .factory-hero h1 { font-size:38px; line-height:1.25; max-width:9em; margin-bottom:18px; } .factory-hero-sub { font-size:15px; margin-bottom:22px; }
 .factory-metrics { gap:22px 14px; padding:22px 0 26px; } .factory-metrics b { font-size:37px; } .factory-metrics small { font-size:12px; } .factory-hero-actions { gap:18px; } .factory-hero-actions .btn { flex:1; padding:14px 15px; font-size:15px; }
 .t-factory:not(.lang-cn) .factory-hero-actions .btn { flex:1 0 100%; } .t-factory:not(.lang-cn) .factory-hero-actions .factory-text-link { width:100%; justify-content:center; }
 .factory-hero-cert { bottom:14px; left:14px; right:14px; gap:6px; } .factory-hero-cert li { font-size:12px; padding:8px 10px; }
 .factory-gallery-grid { gap:12px; } .factory-gallery-grid figcaption { padding:12px; font-size:15px; gap:8px; } .factory-gallery-grid figcaption>span { display:none; }
 .factory-quality-grid { grid-template-columns:minmax(0,1fr); } .factory-quality-grid li { padding:20px; border-right:0; border-bottom:1px solid var(--c-line); } .factory-quality-grid li>span { margin-bottom:16px; }
 .factory-documents { grid-template-columns:minmax(0,1fr); } .factory-documents li { padding:20px; }
 .factory-equipment th,.factory-equipment td { padding:14px 12px; } .factory-equipment th:first-child { width:38%; } .factory-equipment tbody th>span { display:block; margin-bottom:8px; }
 .factory-parts-grid,.plist .pgrid,.pgrid-4 { grid-template-columns:minmax(0,1fr); gap:20px; } .pcard-body,.plist .pcard-body { padding:20px; } .pcard-title { font-size:20px; } .plist .pcard-title { font-size:19px; }
 .plist .factory-part-specs div,.factory-part-specs div { grid-template-columns:66px minmax(0,1fr); gap:12px; } .pcard-act { flex-direction:row; align-items:center; } .pcard-more { display:inline-flex; } .pcard-sum { display:block; }
 .factory-timeline { grid-template-columns:minmax(0,1fr); gap:0; border-left:1px solid var(--c-line); margin-left:7px; } .factory-timeline li { border-top:0; padding:0 0 30px 28px; } .factory-timeline li::before { top:9px; left:-4px; } .factory-step-no { font-size:32px; margin-bottom:12px; } .factory-timeline li:last-child { padding-bottom:0; }
 .factory-client-wall { grid-template-columns:repeat(2,minmax(0,1fr)); } .factory-client-wall li { padding:22px 12px; font-size:16px; }
 .faq-list summary { font-size:16px; gap:10px; } .faq-list p { padding-left:0; } .contact-form { padding:22px 18px; } .contact-grid { gap:24px; }
 .factory-page-head { padding:30px 0; } .pd-btns .btn { flex:auto; width:100%; } .pd-form { padding:22px 18px; } .pd-keys { grid-template-columns:1fr 1fr; } .pd-keys div { min-width:0; padding:12px; } .pd-keys dd { overflow-wrap:anywhere; }
 .foot-grid { grid-template-columns:1fr; } .foot .logo-text small { white-space:normal; } .foot .logo { max-width:100%; } .logo-text b { font-size:19px; } .logo-img { }
 .iform-basket li { flex-wrap:wrap; } .iform-basket .bn { white-space:normal; } .iform-basket .bq { margin-left:auto; } .iform-basket-t { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
 *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
 .js [data-reveal] { opacity:1; transform:none; }
}

:root { --logo-h: 62px; --logo-h-m: 46px; }



.factory-hero.is-plain .factory-hero-cert { position: relative; inset: auto; margin-top: 16px; }.factory-hero.is-plain .factory-image-corner { display: none; }

.factory-hero.is-plain .factory-hero-visual { height: auto; aspect-ratio: auto; background: transparent; }


.factory-hero-visual { overflow: hidden; }
.factory-hero-visual picture, .factory-hero-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
