/* Custom service: six product families, engineering decisions and project gates. */
.page-custom .cs3-main{--cs3-edge:clamp(20px,4.3vw,72px);background:var(--v2-paper);color:var(--v2-ink)}
.page-custom .cs3-wrap{width:min(1400px,calc(100% - var(--cs3-edge)*2));max-width:1400px;margin-inline:auto}
.page-custom .cs3-main [id]{scroll-margin-top:100px}
.page-custom .cs3-main figure{margin:0;overflow:hidden}
.page-custom .cs3-main img{display:block;width:100%;height:100%}
.page-custom .cs3-main h2,.page-custom .cs3-main h3,.page-custom .cs3-main h4{margin:0;text-transform:none;text-wrap:balance}
.page-custom .cs3-main p{margin:0;text-indent:2em}
.page-custom .cs3-main a:focus-visible,.page-custom .cs3-main summary:focus-visible{outline:3px solid var(--v2-signal);outline-offset:5px}

/* One continuous photographic field keeps the factory visible behind the copy. */
.page-custom .cs3-hero{position:relative;display:flex;align-items:center;isolation:isolate;min-height:590px!important;padding:0!important;overflow:hidden;background:var(--v2-carbon)!important;color:var(--v2-paper)}
.page-custom .cs3-hero::before,.page-custom .cs3-hero::after{display:none!important;content:none!important}
.page-custom .cs3-hero-media{position:absolute;inset:0;z-index:-1}
.page-custom .cs3-hero-media img{object-fit:cover;object-position:68% 48%;filter:saturate(.68) contrast(1.05)}
.page-custom .cs3-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,11,.97) 0%,rgba(8,10,11,.9) 24%,rgba(8,10,11,.64) 50%,rgba(8,10,11,.24) 82%,rgba(8,10,11,.2)),linear-gradient(0deg,rgba(8,10,11,.35),transparent 60%)}
.page-custom .cs3-hero-copy{position:relative;padding:60px 0 64px!important}
.page-custom .cs3-breadcrumb{display:flex;gap:12px;align-items:center;margin-bottom:30px;color:#c4c7c5;font-size:12px;line-height:1.4}
.page-custom .cs3-breadcrumb a{color:inherit}
.page-custom .cs3-eyebrow{display:block;color:#ff8b67;font:700 11px/1.5 var(--v2-mono);letter-spacing:.1em;text-transform:uppercase}
.page-custom .cs3-hero h1{max-width:1000px;margin:15px 0 24px;color:var(--v2-paper);font-size:clamp(43px,4.5vw,68px);line-height:1.04;letter-spacing:-.046em;text-transform:none;text-wrap:balance}
html[lang^=zh] .page-custom .cs3-hero h1{max-width:800px;line-height:1.18;letter-spacing:-.025em}
.page-custom .cs3-hero p{max-width:730px;color:#e0e2df;font-size:17px;line-height:1.75}
.page-custom .cs3-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.page-custom .cs3-actions .btn{min-height:48px;white-space:nowrap}
.page-custom .cs3-actions .btn-primary,.page-custom #cf-submit{background:var(--v2-signal-dark);border-color:var(--v2-signal-dark);color:#fff}
.page-custom .cs3-actions .btn-primary:hover,.page-custom #cf-submit:hover{background:#b42f10;border-color:#b42f10}
.page-custom .custom-inquiry #cf-submit{background:var(--v2-signal-dark)!important;border-color:var(--v2-signal-dark)!important}
.page-custom .custom-inquiry #cf-submit:hover{background:#b42f10!important;border-color:#b42f10!important}
.page-custom .cs3-actions .btn-ghost{border-color:#a6aaa8;color:#faf9f6;background:rgba(8,10,11,.25)}

.page-custom .cs3-jump{background:#dedfd9;border-bottom:1px solid var(--v2-line-light)}
.page-custom .cs3-jump .cs3-wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.page-custom .cs3-jump a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 20px;font-size:14px;font-weight:700;line-height:1.35;border-right:1px solid #bec1ba;transition:background .2s,color .2s}
.page-custom .cs3-jump a:first-child{border-left:1px solid #bec1ba}
.page-custom .cs3-jump a:hover{background:var(--v2-ink);color:var(--v2-paper)}
.page-custom .cs3-jump a>span:last-child{font-size:20px;color:#a32e0f}
.page-custom .cs3-jump a:hover>span:last-child{color:#ff8b67}

.page-custom .cs3-section{padding:clamp(54px,5.3vw,82px) 0}
.page-custom .cs3-section-head{margin-bottom:38px;max-width:950px}
.page-custom .cs3-section-head h2{max-width:25ch;font-size:clamp(34px,3.6vw,54px);line-height:1.1;letter-spacing:-.04em;font-weight:750}
html[lang^=zh] .page-custom .cs3-section-head h2{max-width:20em;letter-spacing:-.025em}
.page-custom .cs3-section-head>p{max-width:82ch;margin-top:20px;color:var(--v2-copy);font-size:16px;line-height:1.75}

/* Six true peers use wide reading columns and uncropped product stages. */
.page-custom .cs3-families{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 40px}
.page-custom .cs3-family{display:flex;flex-direction:column;min-width:0;padding-top:22px;border-top:2px solid var(--v2-ink)}
.page-custom .cs3-family h3{font-size:clamp(25px,2.3vw,33px);line-height:1.14;letter-spacing:-.03em;min-height:2.3em}
.page-custom .cs3-family-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:16px 0 22px}
.page-custom .cs3-family-media figure{aspect-ratio:1.38;background:#fff}
.page-custom .cs3-family-media img{object-fit:contain;padding:10px;transition:transform .3s var(--v2-ease)}
.page-custom .cs3-family:hover .cs3-family-media img{transform:scale(1.025)}
.page-custom .cs3-family-description{color:var(--v2-copy);font-size:15px;line-height:1.75}
.page-custom .cs3-family h4{margin:21px 0 10px;font-size:14px;line-height:1.5;font-weight:750}
.page-custom .cs3-family ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.page-custom .cs3-family li{position:relative;padding-left:14px;color:#41484a;font-size:14px;line-height:1.6}
.page-custom .cs3-family li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;background:var(--v2-signal-dark)}
.page-custom .cs3-family-review{margin-top:22px;margin-bottom:20px;padding:18px 20px;background:#e9e9e2}
.page-custom .cs3-family-review h4{margin:0 0 8px}
.page-custom .cs3-family-review p{font-size:13px;line-height:1.65;color:#424a4c;text-indent:0}
.page-custom .cs3-family-review p+p{margin-top:6px}
.page-custom .cs3-family-link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;align-self:flex-start;min-width:240px;margin-top:auto;padding:12px 16px;border:1px solid #a6aaa5;color:var(--v2-ink);font-size:13px;font-weight:750;line-height:1.4;transition:background .2s,color .2s,border-color .2s}
.page-custom .cs3-family-link:hover{background:var(--v2-ink);color:var(--v2-paper);border-color:var(--v2-ink)}
.page-custom .cs3-family-link>span:last-child{font-size:22px}

.page-custom .cs3-definition{background:#e3e5df}
.page-custom .cs3-definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px}
.page-custom .cs3-definition-item{display:grid;grid-template-columns:155px minmax(0,1fr);gap:24px;align-items:start}
.page-custom .cs3-definition-item figure{aspect-ratio:1;background:#f7f7f2}
.page-custom .cs3-definition-item img{object-fit:cover;filter:saturate(.85)}
.page-custom .cs3-definition-item h3{font-size:23px;line-height:1.2;letter-spacing:-.025em}
.page-custom .cs3-definition-item p{margin-top:11px;color:#3c4446;font-size:14px;line-height:1.7}
.page-custom .cs3-definition-item .cs3-output{margin-top:13px;color:#9a2d11;font-size:13px;font-weight:650;text-indent:0}

/* A real sequence: each step has customer inputs and a documented result. */
.page-custom .cs3-process{background:#111719;color:#f4f4ee}
.page-custom .cs3-process .cs3-section-head>p{color:#c1c9c6}
.page-custom .cs3-process-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(240px,.7fr);gap:42px}
.page-custom .cs3-process-steps{margin:0;padding:0;list-style:none}
.page-custom .cs3-step{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(220px,.78fr);gap:20px;padding:24px 0;border-top:1px solid #485052}
.page-custom .cs3-step:first-child{padding-top:18px}
.page-custom .cs3-step:last-child{padding-bottom:0}
.page-custom .cs3-step-number{color:#ff8b67;font:600 25px/1.2 var(--v2-mono)}
.page-custom .cs3-step h3{font-size:24px;line-height:1.15;letter-spacing:-.025em}
.page-custom .cs3-step p{margin-top:11px;color:#c1c9c6;font-size:14px;line-height:1.7}
.page-custom .cs3-step dl{margin:0}
.page-custom .cs3-step dt{color:#ffab8e;font-size:12px;font-weight:700;line-height:1.5}
.page-custom .cs3-step dd{margin:4px 0 13px;color:#dce1dd;font-size:13px;line-height:1.6}
.page-custom .cs3-step dd:last-child{margin-bottom:0}
.page-custom .cs3-process-media{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:12px}
.page-custom .cs3-process-media figure{min-height:190px}
.page-custom .cs3-process-media img{object-fit:cover;filter:saturate(.78) contrast(1.03);object-position:center}
.page-custom .cs3-gate{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;margin-top:38px;padding:30px 34px;background:#f07951;color:#141a1b}
.page-custom .cs3-gate h3{font-size:27px;line-height:1.15;letter-spacing:-.03em}
.page-custom .cs3-gate p{color:#252d2d;font-size:15px;line-height:1.7}

.page-custom .cs3-prepare{background:#dedfd9}
.page-custom .cs3-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px 40px}
.page-custom .cs3-checklist article{padding-left:17px;border-left:3px solid var(--v2-signal-dark)}
.page-custom .cs3-checklist h3{font-size:20px;line-height:1.25}
.page-custom .cs3-checklist p{margin-top:10px;color:#41484a;font-size:14px;line-height:1.7;text-indent:0}
.page-custom .cs3-quote-note{max-width:85ch;margin-top:30px!important;color:#4b5354;font-size:14px;line-height:1.7}
.page-custom .cs3-faq-layout{display:grid;grid-template-columns:.9fr 1.4fr;gap:75px}
.page-custom .cs3-faq .cs3-section-head{margin-bottom:0}
.page-custom .cs3-faq details{border-top:1px solid #a8aea8;padding:20px 0}
.page-custom .cs3-faq details:last-child{border-bottom:1px solid #a8aea8}
.page-custom .cs3-faq summary{display:flex;align-items:center;justify-content:space-between;gap:30px;cursor:pointer;list-style:none;font-size:18px;font-weight:700;line-height:1.45}
.page-custom .cs3-faq summary::-webkit-details-marker{display:none}
.page-custom .cs3-faq summary::after{content:"+";flex:0 0 22px;color:#a33415;font:400 25px/1 var(--v2-mono)}
.page-custom .cs3-faq details[open] summary::after{content:"-"}
.page-custom .cs3-faq details>p{margin-top:17px;color:#41494b;font-size:15px;line-height:1.75}

@media(min-width:1300px){.page-custom .cs3-family h3{min-height:0}}

@media(max-width:1100px){
  .page-custom .cs3-hero h1{font-size:52px;max-width:850px}
  .page-custom .cs3-families{column-gap:28px}
  .page-custom .cs3-definition-item{grid-template-columns:115px minmax(0,1fr);gap:19px}
  .page-custom .cs3-process-layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .page-custom .cs3-process-media{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr}
  .page-custom .cs3-process-media figure{height:220px;min-height:0}
  .page-custom .cs3-faq-layout{gap:40px}
}
@media(max-width:760px){
  .page-custom .cs3-main{--cs3-edge:20px}
  .page-custom .cs3-hero{min-height:0!important}
  .page-custom .cs3-hero-copy{padding:46px 0 42px!important}
  .page-custom .cs3-hero-media img{object-position:64% center}
  .page-custom .cs3-hero-media::after{background:linear-gradient(90deg,rgba(8,10,11,.94),rgba(8,10,11,.72)),linear-gradient(0deg,rgba(8,10,11,.65),transparent 65%)}
  .page-custom .cs3-breadcrumb{margin-bottom:27px;font-size:11px}
  .page-custom .cs3-hero h1{font-size:clamp(35px,8.8vw,48px);line-height:1.07;letter-spacing:-.035em;max-width:100%;margin:15px 0 20px}
  html[lang^=zh] .page-custom .cs3-hero h1{font-size:clamp(37px,9.7vw,50px);line-height:1.18;max-width:10em}
  .page-custom .cs3-hero p{font-size:15px;line-height:1.7}
  .page-custom .cs3-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:25px}
  .page-custom .cs3-actions .btn{width:100%;justify-content:center}
  .page-custom .cs3-jump .cs3-wrap{grid-template-columns:1fr 1fr;width:100%}
  .page-custom .cs3-jump a{padding:18px 20px;font-size:12px;gap:8px;border-bottom:1px solid #bec1ba}
  .page-custom .cs3-jump a:nth-child(odd){border-left:0}
  .page-custom .cs3-jump a:nth-child(even){border-right:0}
  .page-custom .cs3-jump a:nth-last-child(-n+2){border-bottom:0}
  .page-custom .cs3-section{padding:48px 0}
  .page-custom .cs3-section-head{margin-bottom:28px}
  .page-custom .cs3-section-head h2{font-size:34px;line-height:1.14;letter-spacing:-.035em}
  .page-custom .cs3-section-head>p{margin-top:17px;font-size:15px;line-height:1.7}
  .page-custom .cs3-families,.page-custom .cs3-definition-grid{grid-template-columns:1fr;gap:32px}
  .page-custom .cs3-family{padding-top:20px}
  .page-custom .cs3-family h3{min-height:0;font-size:27px;line-height:1.18}
  .page-custom .cs3-family-media{margin:18px -4px 19px;gap:6px}
  .page-custom .cs3-family-media figure{aspect-ratio:1.12}
  .page-custom .cs3-family-media img{padding:6px}
  .page-custom .cs3-family-description{font-size:14px;line-height:1.75}
  .page-custom .cs3-family h4{margin-top:18px}
  .page-custom .cs3-family ul{gap:9px 16px}
  .page-custom .cs3-family li{font-size:13px;line-height:1.65;padding-left:12px}
  .page-custom .cs3-family-review{padding:16px;margin-top:19px}
  .page-custom .cs3-family-review h4{margin-top:0}
  .page-custom .cs3-family-review p{font-size:12.5px;line-height:1.65}
  .page-custom .cs3-family-link{margin-top:0;width:100%;min-width:0}
  .page-custom .cs3-definition-item{grid-template-columns:96px minmax(0,1fr);gap:17px}
  .page-custom .cs3-definition-item h3{font-size:21px;line-height:1.2}
  .page-custom .cs3-definition-item p{font-size:14px;line-height:1.7}
  .page-custom .cs3-definition-item .cs3-output{grid-column:1/-1;font-size:12px}
  .page-custom .cs3-process-layout{gap:26px}
  .page-custom .cs3-step{grid-template-columns:29px minmax(0,1fr);gap:12px;padding:24px 0}
  .page-custom .cs3-step-number{font-size:21px}
  .page-custom .cs3-step h3{font-size:24px}
  .page-custom .cs3-step p{font-size:14px}
  .page-custom .cs3-step dl{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:5px 17px;margin-top:5px}
  .page-custom .cs3-step dt:first-child{grid-column:1;grid-row:1}
  .page-custom .cs3-step dd:nth-child(2){grid-column:1;grid-row:2}
  .page-custom .cs3-step dt:nth-child(3){grid-column:2;grid-row:1}
  .page-custom .cs3-step dd:nth-child(4){grid-column:2;grid-row:2}
  .page-custom .cs3-step dd{margin:0;font-size:13px;line-height:1.65}
  .page-custom .cs3-process-media{grid-template-columns:1fr 1fr;gap:8px}
  .page-custom .cs3-process-media figure{height:150px}
  .page-custom .cs3-process-media figure:first-child{grid-column:1/-1;height:200px}
  .page-custom .cs3-gate{grid-template-columns:1fr;gap:15px;margin-top:28px;padding:24px}
  .page-custom .cs3-gate h3{font-size:25px}
  .page-custom .cs3-gate p{font-size:14px}
  .page-custom .cs3-checklist{grid-template-columns:1fr 1fr;gap:26px 20px}
  .page-custom .cs3-checklist article{padding-left:12px}
  .page-custom .cs3-checklist h3{font-size:18px}
  .page-custom .cs3-checklist p{font-size:13px;line-height:1.65}
  .page-custom .cs3-quote-note{font-size:13px}
  .page-custom .cs3-faq-layout{grid-template-columns:1fr;gap:27px}
  .page-custom .cs3-faq summary{font-size:16px;gap:20px}
  .page-custom .cs3-faq details>p{font-size:14px}
}
@media(max-width:380px){
  .page-custom .cs3-main{--cs3-edge:16px}
  .page-custom .cs3-definition-item{grid-template-columns:1fr}
  .page-custom .cs3-definition-item figure{width:100%;aspect-ratio:1.8}
  .page-custom .cs3-definition-item img{object-position:center 40%}
  .page-custom .cs3-jump a{padding-inline:16px}
}
@media(prefers-reduced-motion:reduce){
  .page-custom .cs3-main *{scroll-behavior:auto!important}
  .page-custom .cs3-main img,.page-custom .cs3-main a{transition:none!important;transform:none!important}
}
