/* CSCS 官网 · 样式
   颜色与字体来自「公司 PPT 设计系统」，与设计画布原型保持一致。 */

:root{
  --page:#FDFBF7;
  --raised:#FFFFFF;
  --tint:#F6EFE4;
  --ink:#2E2A26;
  --muted:#6B6158;
  --accent:#A34A1C;
  --accent-hover:#8A3E17;
  --clay:#C4622D;
  --hairline:#E3D9CB;
  --border:#9C8A74;
  --soft-border:#D9C9B4;
  --error:#B3402F;
  --sans:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
  --serif:var(--sans);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
p,h1,h2,h3,ol,ul{margin:0}
[hidden]{display:none !important}

/* 文字角色 */
.serif{font-family:var(--serif)}
.t-nav{font-size:17px;line-height:24px}
.t-hero{font-size:64px;line-height:80px;font-weight:600;letter-spacing:0.02em}
.t-section{font-size:40px;line-height:56px;font-weight:600}
.t-sub{font-size:26px;line-height:36px;font-weight:600}
.t-lead{font-size:22px;line-height:34px}
.t-body{font-size:20px;line-height:32px}
.t-label{font-size:15px;line-height:22px}
.muted{color:var(--muted)}
.accent{color:var(--accent)}
.eyebrow{color:var(--accent);font-weight:500}
.keep{display:inline-block}
.brand-en{font-weight:700;letter-spacing:0.08em}

.site{overflow-x:clip}
.wrap{max-width:1312px;margin:0 auto;padding:0 64px}
@supports not (overflow:clip){.site{overflow-x:hidden}}

/* 导航 */
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px 32px;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:12px}
.nav-links{display:flex;gap:40px}

/* 首屏 */
.hero{padding-top:72px;padding-bottom:48px}
.hero-sub{margin-top:20px}
.flows{margin-top:56px;border-top:1px solid var(--ink);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:0 64px;align-items:stretch}
.flow-nav{display:flex;flex-direction:column}
.flow-nav .fnav{flex:1 1 auto}
.fnav{position:relative;display:block;width:100%;padding:24px 0 26px;border:0;border-bottom:1px solid var(--hairline);background:transparent;text-align:left;font:inherit;color:var(--border);cursor:pointer}
.fnav:hover{color:var(--muted)}
.fnav.on{color:var(--ink)}
.fnav-no{display:block;font-size:13px;line-height:18px;font-weight:600;letter-spacing:0.08em}
.fnav-t{display:block;margin-top:8px;font-size:24px;line-height:32px;font-weight:600}
.fnav-d{display:block;margin-top:8px;font-size:15px;line-height:22px;color:var(--muted)}
.fnav.on .fnav-no{color:var(--accent)}
.fbar{display:none;position:absolute;left:0;top:-1px;width:100%;height:2px;background:var(--accent);transform-origin:left center}
.fnav.on .fbar{display:block;animation:fbarFill 7s linear forwards}
@keyframes fbarFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.flows.paused .fbar{animation-play-state:paused}
.flow-stage{padding:24px 0 0;display:flex;flex-direction:column}
.flow{flex:1 1 auto;display:flex;flex-direction:column;animation:flowIn 0.45s ease}
@keyframes flowIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  .flow{animation:none}
  .fnav.on .fbar{animation:none;transform:none}
}
.steps{flex:1 1 auto;grid-auto-rows:1fr;list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
.step{position:relative;min-height:184px;background:var(--page);border:1px solid var(--hairline);border-radius:12px;padding:22px 18px 24px;display:flex;flex-direction:column;gap:8px}
.step-no{display:block;font-size:13px;line-height:18px;font-weight:600;letter-spacing:0.04em;color:var(--accent)}
.step-t{display:block;font-size:20px;line-height:28px;font-weight:600;color:var(--ink)}
.step-d{display:block;font-size:15px;line-height:22px;color:var(--muted)}
.step:not(:last-child)::after{content:"";position:absolute;top:50%;right:-21px;width:8px;height:8px;border-top:2px solid var(--border);border-right:2px solid var(--border);transform:translateY(-50%) rotate(45deg)}
.step:nth-child(3n)::after{display:none}
.step.key{border:2px solid var(--accent);background:var(--raised)}
.subflow{margin-top:24px;flex:1 1 auto;display:flex;flex-direction:column}
.subflow:first-child{margin-top:0}
.subflow-t{font-size:15px;line-height:22px;font-weight:600;color:var(--ink)}
.steps.mini{margin-top:12px;gap:16px 32px}
.steps.mini .step{min-height:0;padding:16px 18px 18px;gap:4px}
.steps.mini .step-t{font-size:18px;line-height:26px}

/* 分区通用 */
.sec{border-top:1px solid var(--hairline);padding-top:24px;padding-bottom:80px}
.sec-head{margin-top:72px;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:24px 64px;align-items:center}

/* 产品全景 */
.stats{margin-top:20px;display:flex;gap:8px 14px;flex-wrap:wrap}
.stats p{white-space:nowrap}
.stats .t-sub{margin-right:4px}
.modules{margin-top:40px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:12px;overflow:hidden}
.module{background:var(--page);padding:28px 24px 32px;display:flex;flex-direction:column}
.module h3{margin-top:4px}
.module .desc{margin-top:12px;min-height:66px}
.code{font-weight:600;letter-spacing:0.06em;color:var(--accent)}
.tags{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tags li{width:100%;min-width:0;height:32px;padding:0 6px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;border-radius:999px;background:var(--tint);color:var(--ink)}
.tags li.mob{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1px #D9B9A3}

/* 协同理念 */
.tint{background:var(--tint)}
.tint-inner{padding-top:24px;padding-bottom:120px}
.principles{margin-top:72px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.principle{border-top:1px solid var(--border);padding-top:24px}
.principle h3{margin-top:8px}
.principle .t-body{margin-top:12px}

/* 预约演示 */
.demo{padding-top:24px;padding-bottom:48px}
.book{margin-top:72px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px 96px;align-items:start}
.book-lead{margin-top:20px}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.field label{display:block;margin-bottom:8px;font-weight:500}
.field[data-field="warehouses"]{grid-column:1 / -1}
.req{color:var(--error);margin-right:4px;font-weight:600}
.field input,.field select{width:100%;height:52px;border:1px solid var(--border);border-radius:12px;background:var(--raised);font:inherit;font-size:17px;color:var(--ink)}
.field input{padding:0 16px}
.field input::placeholder{color:var(--muted)}
.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px}
.sel{position:relative;display:block}
.sel::after{content:"";position:absolute;right:20px;top:50%;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.field select{padding:0 48px 0 16px;appearance:none;-webkit-appearance:none;cursor:pointer}
.field select:invalid{color:var(--muted)}
.field select option{color:var(--ink)}
.field.err input,.field.err select{border-color:var(--error)}
.ferr{margin-top:6px;font-size:13px;line-height:18px;color:var(--error)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.submit-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:16px 24px;flex-wrap:wrap;margin-top:8px}
.btn{height:56px;padding:0 36px;border:0;border-radius:12px;background:var(--accent);color:#FFFFFF;font:inherit;font-size:17px;font-weight:600;cursor:pointer}
.btn:hover{background:var(--accent-hover)}
.btn[disabled]{opacity:0.6;cursor:progress}
.form-msg{grid-column:1 / -1;text-align:right;color:var(--muted)}
.form-msg.ok{color:#4F7A63}
.form-msg.bad{color:var(--error)}
.foot{margin-top:80px;border-top:1px solid var(--hairline);padding-top:24px;display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}

/* 校验弹窗 */
.dlg{width:400px;max-width:calc(100% - 48px);padding:28px 28px 24px;border:0;border-radius:12px;background:var(--raised);color:var(--ink);box-shadow:0 16px 48px rgba(46,42,38,0.2)}
.dlg::backdrop{background:rgba(46,42,38,0.32)}
.dlg-t{font-size:20px;line-height:28px;font-weight:600}
.dlg-list{margin-top:16px;padding-left:20px;color:var(--error);display:flex;flex-direction:column;gap:6px}
.dlg-act{margin-top:24px;display:flex;justify-content:flex-end}
.btn.dlg-btn{height:44px;padding:0 24px;font-size:16px}

/* 断点 */
@media (max-width: 1320px){
  .modules{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 1100px){
  .flows{grid-template-columns:minmax(0,1fr)}
  .flow-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
  .fnav-t{font-size:20px;line-height:28px}
  .book{grid-template-columns:minmax(0,1fr);gap:40px}
}
@media (max-width: 760px){
  .wrap{padding:0 24px}
  .t-nav{font-size:15px;line-height:22px}
  .t-hero{font-size:36px;line-height:50px;letter-spacing:0.01em}
  .t-section{font-size:28px;line-height:40px}
  .t-sub{font-size:21px;line-height:30px}
  .t-lead{font-size:18px;line-height:30px}
  .t-body{font-size:17px;line-height:28px}
  .nav{padding-top:16px;padding-bottom:12px;min-height:0}
  .nav-links{gap:20px}
  .hero{padding-top:32px;padding-bottom:32px}
  .flows{margin-top:32px}
  .flow-nav{grid-template-columns:minmax(0,1fr)}
  .fnav{padding:16px 0 18px}
  .fnav-t{font-size:18px;line-height:26px;margin-top:4px}
  .fnav-d{display:none}
  .fnav.on .fnav-d{display:block}
  .steps{margin-top:24px;grid-template-columns:minmax(0,1fr);gap:28px}
  .steps.mini{gap:28px}
  .step{min-height:0;padding:20px 18px}
  .step:not(:last-child)::after,.step:nth-child(3n):not(:last-child)::after{display:block;top:auto;bottom:-19px;right:auto;left:50%;transform:translateX(-50%) rotate(135deg)}
  .sec{padding-bottom:48px}
  .sec-head{margin-top:40px;grid-template-columns:minmax(0,1fr);gap:16px}
  .stats{margin-top:20px;gap:8px 16px}
  .modules{margin-top:40px;grid-template-columns:minmax(0,1fr)}
  .module{padding:24px 20px 28px}
  .module .desc{min-height:0}
  .tint-inner{padding-bottom:72px}
  .principles{margin-top:40px;grid-template-columns:minmax(0,1fr);gap:32px}
  .book{margin-top:40px;grid-template-columns:minmax(0,1fr);gap:32px}
  .form{grid-template-columns:minmax(0,1fr);gap:20px}
  .btn{width:100%}
  .form-msg{text-align:left}
  .foot{margin-top:72px}
}
