/* 荆棠智造官网 · 全站样式（由原型内联样式抽出，改样式请改原型后重跑 build.py） */
/* ============ 设计系统 Tokens ============ */
:root{
  --blue:#217FC4; --blue-d:#1A6AA6; --blue-dd:#134F7D;
  --blue-t:#EAF3FA; --blue-t2:#D6E8F5;
  --green:#76A32D; --green-d:#5A7D22; --green-t:#F1F6E7;
  --ink:#1F2D38; --ink-2:#4C4948; --ink-3:#5F6E78; --ink-4:#8B98A1;
  --line:#E4E8EC; --line-2:#EDF0F3;
  --bg:#FFFFFF; --bg-2:#F6F8FA; --bg-3:#EFF3F6;
  --dark:#0F2233; --dark-2:#16324A;
  --r-s:8px; --r-m:12px; --r-l:16px; --r-xl:22px; --r-p:999px;
  --sh-1:0 1px 2px rgba(16,42,67,.04),0 4px 14px rgba(16,42,67,.05);
  --sh-2:0 10px 32px rgba(16,42,67,.10);
  --sh-3:0 22px 60px rgba(16,42,67,.14);
  --max:1200px;
  --f:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC","Noto Sans CJK SC",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --hd:72px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f);color:var(--ink);background:var(--bg);line-height:1.75;font-size:15px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;border:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
svg{display:block}
::selection{background:var(--blue-t2);color:var(--blue-dd)}

/* ============ 布局 ============ */
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.sec{padding:84px 0}
.sec-tight{padding:60px 0}
.sec-bg{background:var(--bg-2)}
.sec-line{border-top:1px solid var(--line-2)}
.center{text-align:center}

/* 章节标题 */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.14em;color:var(--blue-d);text-transform:uppercase;margin-bottom:14px}
.eyebrow::before{content:"";width:20px;height:2px;background:var(--blue);border-radius:2px}
.eyebrow.c::after{content:"";width:20px;height:2px;background:var(--blue);border-radius:2px}
.center .eyebrow{justify-content:center}
h1,h2,h3,h4{line-height:1.25;font-weight:700;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:46px;letter-spacing:-.02em}
h2{font-size:33px}
h3{font-size:20px;font-weight:600}
.lead{font-size:17px;color:var(--ink-3);line-height:1.8}
.sub{max-width:640px;margin-top:16px;color:var(--ink-3);font-size:15.5px}
.center .sub{margin-left:auto;margin-right:auto}
.sec-head{margin-bottom:46px}
.sec-head.center{margin-left:auto;margin-right:auto;max-width:760px}

/* ============ 按钮 ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:48px;padding:0 26px;border-radius:var(--r-p);font-size:15.5px;font-weight:600;white-space:nowrap;transition:.22s cubic-bezier(.2,.7,.3,1);cursor:pointer}
.btn svg{flex:0 0 auto}
.btn-p{background:var(--blue-d);color:#fff;box-shadow:0 4px 14px rgba(26,106,166,.28)}
.btn-p:hover{background:var(--blue);box-shadow:0 8px 22px rgba(33,127,196,.34);transform:translateY(-1px)}
.btn-p:active{transform:translateY(0)}
.btn-o{border:1.5px solid var(--line);color:var(--ink);background:#fff}
.btn-o:hover{border-color:var(--blue);color:var(--blue-d);background:var(--blue-t)}
.btn-g{background:var(--green-d);color:#fff}
.btn-g:hover{background:var(--green)}
.btn-w{background:#fff;color:var(--blue-dd)}
.btn-w:hover{background:var(--blue-t)}
.btn-sm{height:40px;padding:0 20px;font-size:14.5px}
.btn-lg{height:54px;padding:0 32px;font-size:16.5px}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid rgba(33,127,196,.5);outline-offset:3px;border-radius:var(--r-s)}
.link-arrow{display:inline-flex;align-items:center;gap:7px;color:var(--blue-d);font-weight:600;font-size:14.5px}
.link-arrow svg{transition:transform .25s}
.link-arrow:hover svg{transform:translateX(4px)}

/* ============ 卡片 ============ */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:28px;transition:.26s cubic-bezier(.2,.7,.3,1)}
.card:hover{border-color:var(--blue-t2);box-shadow:var(--sh-2);transform:translateY(-3px)}
.card-ico{width:46px;height:46px;border-radius:var(--r-m);background:var(--blue-t);display:flex;align-items:center;justify-content:center;color:var(--blue-d);margin-bottom:18px}
.card h3{margin-bottom:10px}
.card p{color:var(--ink-3);font-size:14.5px}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* 徽章 */
.tag{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:var(--r-p);font-size:12px;font-weight:600;letter-spacing:.02em}
.tag-b{background:var(--blue-t);color:var(--blue-dd)}
.tag-g{background:var(--green-t);color:var(--green-d)}
.tag-n{background:var(--bg-3);color:var(--ink-3)}
.tag-o{background:#FFF4E6;color:#9A5B00}

/* ============ 页头 ============ */
.hd{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-2)}
.hd-in{max-width:var(--max);margin:0 auto;padding:0 24px;height:var(--hd);display:flex;align-items:center}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{height:42px;width:42px;flex:0 0 auto}
.brand .bt{position:relative;margin-left:11px;padding-left:14px;line-height:1}
.brand .bt::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:36px;background:linear-gradient(180deg,rgba(26,106,166,0),rgba(26,106,166,.42) 50%,rgba(26,106,166,0))}
.brand .bt strong{display:block;font-size:19px;font-weight:800;letter-spacing:1.4px;color:var(--blue-d)}
.brand .bt .en{display:block;margin-top:5px;font-size:9px;font-weight:800;letter-spacing:1.7px;color:#7E98AB;white-space:nowrap}
.brand .bt .en i{font-style:normal;font-weight:500;color:#ABBCC9;margin-left:5px;letter-spacing:1.4px}
.menu{display:flex;gap:4px;margin-left:auto;align-items:center}
.menu a{white-space:nowrap;padding:9px 14px;border-radius:var(--r-s);font-size:15px;font-weight:500;color:var(--ink-2);transition:.18s}
.menu a:hover{color:var(--blue-d);background:var(--blue-t)}
.menu a.on{color:var(--blue-d);font-weight:700;background:var(--blue-t)}
.hd-r{display:flex;align-items:center;gap:14px;margin-left:18px;flex:0 0 auto}
.tel{display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:14.5px;font-weight:600;white-space:nowrap}
.tel svg{color:var(--blue)}
.tel .t-num{white-space:nowrap;font-variant-numeric:tabular-nums}
.hd .btn{flex:0 0 auto}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--r-s);color:var(--ink);margin-left:auto}

/* ============ 视图切换 ============ */
.view{display:none}
.view.on{display:block}
.page-top{padding:52px 0 40px;background:linear-gradient(180deg,var(--blue-t) 0%,rgba(234,243,250,0) 100%)}
.crumb{font-size:13px;color:var(--ink-4);margin-bottom:14px}
.crumb a:hover{color:var(--blue-d)}
.crumb i{font-style:normal;margin:0 7px;color:var(--line)}
.page-top h1{font-size:38px}

/* ============ Hero ============ */
.hero{padding:62px 0 76px;position:relative;overflow:hidden;background:linear-gradient(180deg,#F7FAFC 0%,#FFF 62%)}
.hero::before{content:"";position:absolute;top:-260px;right:-160px;width:760px;height:760px;border-radius:50%;background:radial-gradient(circle,rgba(33,127,196,.13) 0%,rgba(33,127,196,0) 68%)}
.hero::after{content:"";position:absolute;bottom:-300px;left:-200px;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(118,163,45,.11) 0%,rgba(118,163,45,0) 68%)}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:56px;align-items:center}
.hero h1{font-size:52px;line-height:1.16;letter-spacing:-.025em;margin-bottom:22px}
.hero h1 em{font-style:normal;color:var(--blue);white-space:nowrap;text-decoration-line:underline;text-decoration-color:rgba(118,163,45,.42);text-decoration-thickness:.15em;text-underline-offset:.06em;text-decoration-skip-ink:none}
.hero h1 .nw{white-space:nowrap}

.hero .lead{max-width:560px}
.hero-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero-note{display:flex;align-items:center;gap:9px;margin-top:22px;font-size:13.5px;color:var(--ink-4)}
.hero-note svg{color:var(--green-d);flex:0 0 auto}

/* Hero 视觉：控制面板示意 */
.hero-vis{position:relative;padding-bottom:78px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-3);padding:22px;position:relative;z-index:2}
.panel-hd{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line-2);margin-bottom:18px}
.panel-hd .t{font-size:14.5px;font-weight:700}
.panel-hd .s{font-size:11.5px;color:var(--ink-4);margin-top:3px;letter-spacing:.03em}
.live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--green-d);background:var(--green-t);padding:5px 11px;border-radius:var(--r-p);height:26px}
.dot{width:6px;height:6px;border-radius:50%;background:var(--green);position:relative}
.dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--green);opacity:.45;animation:ping 1.9s ease-out infinite}
@keyframes ping{0%{transform:scale(.6);opacity:.6}100%{transform:scale(1.35);opacity:0}}
.chart{position:relative;height:150px;margin-bottom:6px}
.chart svg{width:100%;height:100%;overflow:visible}
.chart-x{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-4);padding:0 2px;letter-spacing:.04em}
.chart-lg{position:absolute;top:-2px;left:0;display:flex;gap:16px;font-size:11px;color:var(--ink-3);letter-spacing:.02em;z-index:1}
.chart-lg span{display:inline-flex;align-items:center;gap:6px}
.chart-lg i{width:17px;height:2.4px;border-radius:2px;flex:0 0 auto}
.chart-lg .lg-b{background:var(--blue)}
.chart-lg .lg-g{background:repeating-linear-gradient(90deg,var(--green) 0 6px,transparent 6px 11px)}
.chart-note{font-size:10.5px;color:var(--ink-4);opacity:.78;margin-top:5px;text-align:right;letter-spacing:.02em}
.panel-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.metric{background:var(--bg-2);border-radius:var(--r-m);padding:13px 12px;text-align:center}
.metric .k{font-size:11.5px;color:var(--ink-4);margin-bottom:5px;white-space:nowrap}
.metric .v{font-size:17px;font-weight:700;color:var(--blue-dd);display:flex;align-items:center;justify-content:center;gap:3px}
.metric .v.up{color:var(--green-d)}
.panel-float{position:absolute;left:8px;bottom:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-2);padding:15px 17px;z-index:3;display:flex;align-items:center;gap:13px;min-width:210px}
.panel-float .ring{flex:0 0 auto}
.panel-float .ft-t{font-size:11.5px;color:var(--ink-4);margin-bottom:2px}
.panel-float .ft-v{font-size:15px;font-weight:700;color:var(--ink)}
.panel-float .ft-v small{font-size:11.5px;font-weight:500;color:var(--green-d);margin-left:4px}

/* ============ 数据条 ============ */
.stats{background:var(--dark);color:#fff;padding:52px 0}
.stats-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;text-align:center}
.stat .v{font-size:44px;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums}
.stat .v span{font-size:24px;font-weight:700;margin-left:2px;color:#7FC0E8}
.stat .k{font-size:15px;color:#B9CBD9;margin-top:9px}
.stat .src{font-size:12px;color:#7C93A6;margin-top:6px;letter-spacing:.02em}
.stats-note{text-align:center;margin-top:34px;font-size:12.5px;color:#7C93A6;padding-top:26px;border-top:1px solid rgba(255,255,255,.10)}

/* ============ 痛点 ============ */
.pain{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pain-item{display:flex;gap:15px;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:22px}
.pain-item .n{flex:0 0 auto;width:34px;height:34px;border-radius:var(--r-s);background:#FDF1F0;color:#B4463E;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14.5px}
.pain-item h3{font-size:16.5px;margin-bottom:6px}
.pain-item p{font-size:14px;color:var(--ink-3)}
.arrow-mid{display:flex;align-items:center;justify-content:center;gap:14px;margin:38px 0 30px;color:var(--ink-4);font-size:14px}
.arrow-mid .ln{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}

/* ============ 能力 ============ */
.cap{position:relative;display:flex;flex-direction:column}
.cap>p{margin-bottom:9px}
.cap-top{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.cap-no{font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.12em}
.cap-state{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:var(--r-p)}
.cap-state.ok{background:var(--green-t);color:var(--green-d)}
.cap-state.dev{background:var(--blue-t);color:var(--blue-dd)}
.cap h3{font-size:18.5px}
.cap .prob{font-size:13.5px;color:var(--ink-4);margin-top:auto;padding-top:9px;border-top:1px dashed var(--line)}
.cap .prob b{color:var(--ink-3);font-weight:600}

/* ============ 场景 ============ */
.scene-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.scene-tab{height:42px;padding:0 20px;border-radius:var(--r-p);border:1.5px solid var(--line);font-size:14.5px;font-weight:600;color:var(--ink-3);background:#fff;transition:.2s;display:inline-flex;align-items:center;gap:8px}
.scene-tab:hover{border-color:var(--blue-t2);color:var(--blue-d)}
.scene-tab.on{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.scene-tab .st{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}
.scene-pane{display:none}
.scene-pane.on{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.scene-pane h3{font-size:25px;margin-bottom:14px}
.scene-pane .desc{color:var(--ink-3);margin-bottom:22px}
.spec{display:grid;gap:13px}
.spec-row{display:flex;gap:14px;padding:15px 17px;background:var(--bg-2);border-radius:var(--r-m)}
.spec-row .lb{flex:0 0 92px;font-size:13.5px;color:var(--ink-4)}
.spec-row .vl{font-size:14.5px;font-weight:600;color:var(--ink)}
.scene-vis{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);background:linear-gradient(150deg,var(--blue-t) 0%,#fff 55%,var(--green-t) 100%);padding:34px;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}
.scene-vis svg{width:228px;max-width:100%;height:auto;aspect-ratio:1;flex:0 0 auto}
.vis-cap{font-size:12.5px;color:var(--ink-4);letter-spacing:.04em;text-align:center;line-height:1.6}
.vis-cap b{color:var(--ink-3);font-weight:600}

/* ============ 流程 ============ */
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;position:relative}
.flow-i{position:relative;padding:0 14px;text-align:center}
.flow-i::after{content:"";position:absolute;top:23px;left:calc(50% + 27px);right:calc(-50% + 27px);height:2px;background:var(--line);z-index:0}
.flow-i:last-child::after{display:none}
.flow-d{width:46px;height:46px;border-radius:50%;background:#fff;border:2px solid var(--blue-t2);color:var(--blue-d);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;margin:0 auto 16px;position:relative;z-index:1}
.flow-i:hover .flow-d{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.flow-i h3{font-size:15.5px;margin-bottom:7px}
.flow-i p{font-size:13px;color:var(--ink-4);line-height:1.65}

/* ============ 案例 ============ */
.case{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden}
.case-hd{background:linear-gradient(120deg,var(--dark) 0%,var(--dark-2) 100%);color:#fff;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.case-hd .t{font-size:19px;font-weight:700}
.case-hd .s{font-size:13px;color:#B9CBD9;margin-top:5px}
.case-bd{padding:30px}
.case-bd .quote{font-size:16px;line-height:1.85;color:var(--ink-2);position:relative;padding-left:22px;border-left:3px solid var(--blue-t2);margin-bottom:26px}
.case-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.case-num{background:var(--bg-2);border-radius:var(--r-m);padding:18px;text-align:center}
.case-num .v{font-size:28px;font-weight:800;color:var(--blue-dd);letter-spacing:-.01em}
.case-num .k{font-size:13px;color:var(--ink-4);margin-top:6px}
.case-note{font-size:12px;color:var(--ink-4);line-height:1.72;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}

/* ============ 关于 / 团队 ============ */
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.member{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:26px;text-align:center}
.member .av{width:88px;height:88px;border-radius:50%;margin:0 auto 18px;background:linear-gradient(140deg,var(--blue-t) 0%,var(--green-t) 100%);display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:700;letter-spacing:.04em;color:var(--blue-dd);border:3px solid #fff;box-shadow:var(--sh-1)}
.member h3{font-size:18px;margin-bottom:4px}
.member .role{font-size:13px;color:var(--blue-d);font-weight:600;margin-bottom:14px}
.member p{font-size:13.5px;color:var(--ink-3);text-align:left}
.member .hl{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:16px}

/* 资质 */
.certs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cert{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:22px 18px;text-align:center}
.cert svg{margin:0 auto 12px;color:var(--blue)}
.cert .t{font-size:14px;font-weight:600;line-height:1.5}
.cert .s{font-size:12px;color:var(--ink-4);margin-top:5px}

/* 发展历程 */
.timeline{position:relative;padding-left:30px}
.timeline::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tl-i{position:relative;padding-bottom:30px}
.tl-i:last-child{padding-bottom:0}
.tl-i::before{content:"";position:absolute;left:-30px;top:6px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--blue);box-shadow:0 0 0 4px #fff}
.tl-i .yr{font-size:13px;font-weight:700;color:var(--blue-d);letter-spacing:.06em}
.tl-i h3{font-size:16.5px;margin:6px 0 7px}
.tl-i p{font-size:14px;color:var(--ink-3)}

/* ============ 联系 ============ */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.ct-list{display:grid;gap:18px}
.ct-i{display:flex;gap:16px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-l)}
.ct-i .ico{flex:0 0 auto;width:42px;height:42px;border-radius:var(--r-m);background:var(--blue-t);display:flex;align-items:center;justify-content:center;color:var(--blue-d)}
.ct-i .lb{font-size:12.5px;color:var(--ink-4);margin-bottom:4px}
.ct-i .vl{font-size:15.5px;font-weight:600;word-break:break-all}
.ct-i .vl a:hover{color:var(--blue-d)}
.ct-i .hint{font-size:12.5px;color:var(--ink-4);margin-top:5px}
.qr{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:20px;display:flex;gap:18px;align-items:center}
.ct-help{margin-top:18px;padding:24px 26px;border-radius:var(--r-l);background:linear-gradient(135deg,var(--blue-t) 0%,var(--green-t) 100%);border:1px solid var(--line-2)}
.ct-help .ch-t{font-size:15.5px;font-weight:700;color:var(--ink);margin-bottom:8px}
.ct-help .ch-s{font-size:13px;color:var(--ink-3);line-height:1.78;margin-bottom:15px}
.ct-help .ch-a{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--blue-d);transition:.18s}
.ct-help .ch-a:hover{color:var(--blue-dd);gap:10px}
.qr img{width:104px;height:104px;border-radius:var(--r-s);flex:0 0 auto;border:1px solid var(--line-2)}
.qr .t{font-size:15px;font-weight:600;margin-bottom:6px}
.qr .s{font-size:13px;color:var(--ink-3);line-height:1.7}

/* 表单 */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:32px;box-shadow:var(--sh-1)}
.form h3{font-size:21px;margin-bottom:6px}
.form .fs{font-size:13.5px;color:var(--ink-4);margin-bottom:24px}
.fld{margin-bottom:17px}
.fld label{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px;color:var(--ink-2)}
.fld label i{font-style:normal;color:#C0392B;margin-left:3px}
.fld input,.fld select,.fld textarea{width:100%;height:46px;padding:0 14px;border:1.5px solid var(--line);border-radius:var(--r-s);font:inherit;font-size:14.5px;color:var(--ink);background:#fff;transition:.18s}
.fld textarea{height:96px;padding:12px 14px;resize:vertical;line-height:1.7}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(33,127,196,.13)}
.fld input::placeholder,.fld textarea::placeholder{color:#B4C0C9}
.fld-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-note{font-size:12.5px;color:var(--ink-4);margin-top:14px;line-height:1.7}
.form .btn{width:100%}

/* ============ CTA 区 ============ */
.cta{background:linear-gradient(120deg,var(--dark) 0%,var(--dark-2) 62%,#1B4266 100%);color:#fff;padding:74px 0;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(33,127,196,.22) 0%,rgba(33,127,196,0) 70%)}
.cta-in{position:relative;z-index:1;text-align:center;max-width:680px;margin:0 auto}
.cta h2{font-size:34px;margin-bottom:16px}
.cta p{color:#B9CBD9;font-size:16px;margin-bottom:32px}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-tel{display:inline-flex;align-items:center;gap:9px;margin-top:22px;font-size:14.5px;color:#B9CBD9}
.cta-tel b{color:#fff;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}

/* ============ 页脚 ============ */
.ft{background:var(--dark);color:#93A8B8;padding:58px 0 0;font-size:14px}
.ft-in{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,.86fr) minmax(0,.9fr) minmax(0,.86fr) minmax(0,1.16fr);gap:34px;padding-bottom:44px}
.ft .brand .bt::before{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.34) 50%,rgba(255,255,255,0))}
.ft .brand .bt strong{color:#fff}
.ft .brand .bt .en{color:#7C93A6}
.ft .brand .bt .en i{color:#5C7385}
.ft-about{margin-top:20px;font-size:13.5px;line-height:1.85;color:#7C93A6;max-width:330px}
.ft h4{color:#fff;font-size:14.5px;font-weight:700;margin-bottom:18px;letter-spacing:.02em}
.ft-links{display:grid;gap:11px}
.ft-links a{font-size:13.5px;color:#93A8B8;transition:.18s;display:inline-block}
.ft-links a:hover{color:#fff;transform:translateX(3px)}
.ft-ct{display:grid;gap:13px;font-size:13.5px;line-height:1.7}
.ft-ct .r{display:flex;gap:9px}
.ft-ct .r svg{flex:0 0 auto;margin-top:4px;color:var(--blue)}
.ft-ct a:hover{color:#fff}
.ft-bot{border-top:1px solid rgba(255,255,255,.09);padding:22px 0 26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:#6B8296}
.ft-bot a:hover{color:#fff}
.ft-bot .lnks{display:flex;gap:18px;flex-wrap:wrap}

/* ============ 移动端吸底 ============ */
.dock{display:none;position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px}
.dock .btn{flex:1}
.dock .btn-o{flex:0 0 auto;padding:0 18px}

/* ============ 弹窗 ============ */
.mask{position:fixed;inset:0;background:rgba(15,34,51,.52);backdrop-filter:blur(3px);z-index:80;display:none;align-items:center;justify-content:center;padding:22px;overflow-y:auto}
.mask.on{display:flex}
.modal{background:#fff;border-radius:var(--r-xl);width:100%;max-width:520px;box-shadow:var(--sh-3);position:relative;animation:pop .26s cubic-bezier(.2,.8,.3,1);margin:auto}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.modal-hd{padding:28px 30px 0;position:relative}
.modal-hd h3{font-size:22px;margin-bottom:7px}
.modal-hd p{font-size:13.5px;color:var(--ink-4)}
.modal-x{position:absolute;top:20px;right:20px;width:38px;height:38px;border-radius:var(--r-s);display:flex;align-items:center;justify-content:center;color:var(--ink-4);transition:.18s}
.modal-x:hover{background:var(--bg-3);color:var(--ink)}
.modal-bd{padding:24px 30px 30px}

/* ============ 抽屉 ============ */
.drawer{position:fixed;inset:0;z-index:90;display:none}
.drawer.on{display:block}
.drawer-mask{position:absolute;inset:0;background:rgba(15,34,51,.5)}
.drawer-p{position:absolute;top:0;right:0;bottom:0;width:290px;max-width:84vw;background:#fff;box-shadow:var(--sh-3);padding:22px;overflow-y:auto;animation:slide .26s cubic-bezier(.2,.8,.3,1)}
@keyframes slide{from{transform:translateX(100%)}to{transform:none}}
.drawer-hd{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line-2);margin-bottom:14px}
.drawer-p nav{display:grid;gap:2px}
.drawer-p nav a{padding:14px 12px;border-radius:var(--r-s);font-size:16px;font-weight:500;color:var(--ink-2)}
.drawer-p nav a.on{background:var(--blue-t);color:var(--blue-d);font-weight:700}
.drawer-p .btn{width:100%;margin-top:20px}

/* ============ Toast ============ */
.toast{position:fixed;left:50%;bottom:34px;transform:translate(-50%,90px);background:#12293D;color:#fff;padding:13px 22px;border-radius:var(--r-p);font-size:14px;font-weight:500;z-index:120;opacity:0;transition:.32s cubic-bezier(.2,.8,.3,1);box-shadow:var(--sh-3);display:flex;align-items:center;gap:9px;max-width:88vw}
.toast.on{transform:translate(-50%,0);opacity:1}
.toast svg{flex:0 0 auto}

/* ============ 响应式 ============ */
@media (max-width:1200px){
  .hd-in,.wrap{padding:0 20px}
  .menu{gap:0}
  .menu a{padding:9px 11px;font-size:14.5px}
  .tel .t-lbl{display:none}
  .hero h1{font-size:44px}
  .flow-i{padding:0 8px}
}
@media (max-width:1080px){
  .menu{display:none}
  .burger{display:flex}
  .hd-r{margin-left:auto}
  h1{font-size:38px}
  .hero-in{grid-template-columns:1fr;gap:44px}
  .hero h1{font-size:40px}
  .hero-vis{max-width:560px}
  .panel-float{left:auto;right:-14px}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 0}
  .flow-i::after{display:none}
  .certs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
  .scene-pane.on{grid-template-columns:1fr;gap:30px}
  .contact{grid-template-columns:1fr;gap:34px}
}
@media (max-width:900px){
  .stats-in{grid-template-columns:1fr;gap:32px}
  .stat .v{font-size:38px}
  .team{grid-template-columns:1fr}
  .g3{grid-template-columns:1fr}
  .g2{grid-template-columns:1fr}
  .pain{grid-template-columns:1fr}
  .case-nums{grid-template-columns:1fr;gap:12px}
  .hd .btn{display:none}
  .sec{padding:60px 0}
  h2{font-size:27px}
  .page-top h1{font-size:29px}
  .cta h2{font-size:26px}
}
@media (max-width:640px){
  .hd{--hd:60px}
  .brand img{height:36px;width:36px}
  .brand .bt strong{font-size:16.5px;letter-spacing:1px}
  .brand .bt .en{display:none}
  .hd-r{display:none}
  .burger{margin-left:auto}
  body{font-size:14.5px}
  .hero{padding:40px 0 56px}
  .hero h1{font-size:31px;line-height:1.22}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%}
  .panel{padding:17px}
  .panel-float{left:0;right:auto;bottom:0;padding:12px 14px;min-width:auto}
  .panel-metrics{grid-template-columns:1fr;gap:8px}
  .metric{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:10px 13px}
  .metric .k{margin:0}
  .fld-2{grid-template-columns:1fr}
  .form{padding:22px}
  .flow{grid-template-columns:1fr;gap:26px}
  .flow-i{text-align:left;display:flex;gap:15px;padding:0}
  .flow-d{margin:0;flex:0 0 auto}
  .certs{grid-template-columns:1fr}
  .ft-in{grid-template-columns:1fr;gap:30px}
  .ft-bot{flex-direction:column;gap:10px}
  .dock{display:flex}
  body{padding-bottom:74px}
  .sec{padding:48px 0}
  h1{font-size:29px}
  h2{font-size:24px}
  .sec-head{margin-bottom:32px}
  .qr{flex-direction:column;text-align:center;align-items:flex-start}
  .cta{padding:54px 0}
  .stats{padding:40px 0}
  .tl-i::before{left:-30px}
}

/* ============ 服务通道 ============ */
.svc-ch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.svc-a{display:flex;gap:14px;align-items:center;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:18px 20px;transition:.24s cubic-bezier(.2,.7,.3,1)}
.svc-a:hover{border-color:var(--blue-t2);box-shadow:var(--sh-1);transform:translateY(-2px)}
.svc-a .ico{flex:0 0 auto;width:40px;height:40px;border-radius:var(--r-m);background:var(--blue-t);display:flex;align-items:center;justify-content:center;color:var(--blue-d)}
.svc-a>span:last-child{min-width:0;flex:1 1 auto}
.svc-a .t{display:block;font-size:15px;font-weight:700;margin-bottom:3px}
.svc-a .s{display:block;font-size:12.5px;color:var(--ink-4);line-height:1.55}

/* ============ 三档服务 ============ */
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.tier{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:34px 28px 28px;transition:.26s cubic-bezier(.2,.7,.3,1)}
.tier:hover{box-shadow:var(--sh-2);transform:translateY(-3px)}
.tier.hot{border-color:var(--blue);box-shadow:0 14px 40px rgba(33,127,196,.14)}
.tier-badge{position:absolute;top:-12px;left:26px;height:24px;padding:0 13px;border-radius:var(--r-p);background:var(--blue-d);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.05em;display:inline-flex;align-items:center}
.tier .tno{font-size:11.5px;font-weight:700;color:var(--blue);letter-spacing:.14em}
.tier h3{font-size:21px;margin:9px 0 10px}
.tier .tpos{display:inline-block;font-size:13px;font-weight:600;color:var(--green-d);background:var(--green-t);padding:4px 11px;border-radius:var(--r-p);margin-bottom:16px}
.tier .tdesc{font-size:14px;color:var(--ink-3);line-height:1.8;padding-bottom:18px;border-bottom:1px dashed var(--line);margin-bottom:18px;min-height:76px}
.tier ul{display:grid;gap:12px}
.tier ul li{display:flex;gap:10px;font-size:14px;color:var(--ink-2);line-height:1.68}
.tier ul li svg{flex:0 0 auto;margin-top:4px;color:var(--green-d)}
.tier .tfoot{margin-top:auto;padding-top:18px;border-top:1px solid var(--line-2);font-size:12.5px;color:var(--ink-4);line-height:1.72}
.tier .tfoot b{color:var(--blue-dd);font-weight:700}
.tiers-note{text-align:center;margin-top:28px;font-size:13px;color:var(--ink-4);line-height:1.8}

/* ============ 承诺块 ============ */
.pledge{margin-top:26px;background:linear-gradient(120deg,var(--dark) 0%,var(--dark-2) 100%);color:#fff;border-radius:var(--r-xl);padding:34px 36px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:start;position:relative;overflow:hidden}
.pledge::after{content:"";position:absolute;right:-90px;top:-90px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(33,127,196,.22) 0%,rgba(33,127,196,0) 70%)}
.pledge .ico{width:56px;height:56px;border-radius:var(--r-l);background:rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#7FC0E8;position:relative;z-index:1}
.pledge .pbd{position:relative;z-index:1}
.pledge h3{font-size:20px;color:#fff;margin-bottom:11px}
.pledge p{font-size:14.5px;color:#B9CBD9;line-height:1.9}
.pledge p b{color:#fff;font-weight:700}
.pledge p+p{margin-top:10px}
.pledge .pl-list{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 15px;padding:0;list-style:none}
.pledge .pl-list li{font-size:13.5px;line-height:1.5;padding:6px 14px;border-radius:var(--r-p);background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);color:#DCE8F1}

/* ============ FAQ ============ */
.faq{border-top:1px solid var(--line)}
.faq-i{border-bottom:1px solid var(--line)}
.faq-q{position:relative;width:100%;text-align:left;padding:22px 56px 22px 0;font-size:16px;font-weight:600;color:var(--ink);line-height:1.62;transition:color .2s}
.faq-q:hover{color:var(--blue-d)}
.faq-q .ii{position:absolute;right:12px;top:50%;width:14px;height:14px;transform:translateY(-50%)}
.faq-q .ii::before,.faq-q .ii::after{content:"";position:absolute;background:var(--blue-d);border-radius:2px;transition:.28s cubic-bezier(.2,.8,.3,1)}
.faq-q .ii::before{left:0;top:6px;width:14px;height:2px}
.faq-q .ii::after{left:6px;top:0;width:2px;height:14px}
.faq-i.on .faq-q{color:var(--blue-d)}
.faq-i.on .faq-q .ii::after{transform:scaleY(0);opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .34s cubic-bezier(.2,.8,.3,1)}
.faq-a .in{padding:0 56px 24px 0;font-size:14.5px;color:var(--ink-3);line-height:1.92}
.faq-a .in b{color:var(--ink);font-weight:600}
.faq-a .in+.in{margin-top:0}

/* ============ 投资者关系 ============ */
.inv-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.inv-strip .card{padding:24px}
.inv-strip .card h3{font-size:17px}
.inv-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;position:relative}
.inv-flow .fl-i{position:relative;padding:0 12px;text-align:center}
.inv-flow .fl-i::after{content:"";position:absolute;top:21px;left:calc(50% + 25px);right:calc(-50% + 25px);height:2px;background:var(--line)}
.inv-flow .fl-i:last-child::after{display:none}
.inv-flow .fl-d{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--blue-t2);color:var(--blue-d);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14.5px;margin:0 auto 15px;position:relative;z-index:1}
.inv-flow h3{font-size:15px;margin-bottom:7px}
.inv-flow p{font-size:13px;color:var(--ink-4);line-height:1.68}
.inv-note{font-size:12.5px;color:var(--ink-4);line-height:1.8;margin-top:18px;padding:14px 18px;background:var(--bg-2);border-radius:var(--r-m);border-left:3px solid var(--line)}

/* ============ 悬浮客服 ============ */
.fab{position:fixed;right:26px;bottom:26px;z-index:57;transition:opacity .3s cubic-bezier(.2,.7,.3,1),transform .3s cubic-bezier(.2,.7,.3,1),visibility .3s}
.fab.ft-out{opacity:0;visibility:hidden;transform:translateY(18px);pointer-events:none}
.fab-b{display:inline-flex;align-items:center;gap:9px;height:50px;padding:0 20px;border-radius:var(--r-p);background:var(--blue-d);color:#fff;font-size:15px;font-weight:600;box-shadow:0 10px 26px rgba(26,106,166,.34);transition:.24s cubic-bezier(.2,.7,.3,1)}
.fab-b:hover{background:var(--blue);transform:translateY(-2px);box-shadow:0 14px 32px rgba(33,127,196,.4)}
.fab.on .fab-b{background:var(--blue)}
.fab-p{position:absolute;right:0;bottom:calc(100% + 14px);width:276px;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-3);padding:18px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.26s cubic-bezier(.2,.8,.3,1)}
.fab.on .fab-p{opacity:1;visibility:visible;transform:none}
.fab-p .fh{font-size:15px;font-weight:700;margin-bottom:4px}
.fab-p .fs{font-size:12.5px;color:var(--ink-4);line-height:1.6;margin-bottom:14px}
.fab-l{display:grid;gap:9px}
.fab-i{display:flex;align-items:center;gap:11px;width:100%;padding:12px 13px;border-radius:var(--r-s);background:var(--bg-2);font-size:14px;font-weight:600;color:var(--ink-2);text-align:left;transition:.18s}
.fab-i:hover{background:var(--blue-t);color:var(--blue-dd)}
.fab-i svg{flex:0 0 auto;color:var(--blue-d)}
.fab-qr{margin-top:14px;padding-top:14px;border-top:1px solid var(--line-2);display:flex;gap:13px;align-items:center}
.fab-qr img{width:78px;height:78px;border-radius:var(--r-s);border:1px solid var(--line-2);flex:0 0 auto}
.fab-qr .t{font-size:13px;font-weight:700}
.fab-qr .s{font-size:11.5px;color:var(--ink-4);line-height:1.55;margin-top:3px}

/* ============ 新增组件响应式 ============ */
@media (max-width:1080px){
  .svc-ch{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tiers{grid-template-columns:1fr;gap:26px}
  .tier .tdesc{min-height:0}
  .pledge{grid-template-columns:1fr;gap:18px;padding:28px}
  .inv-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 0}
  .inv-flow .fl-i::after{display:none}
  .inv-strip{grid-template-columns:1fr}
  .ft-in{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .tiers{grid-template-columns:1fr}
  .inv-flow{grid-template-columns:1fr;gap:24px}
  .inv-flow .fl-i{text-align:left;display:flex;gap:15px;padding:0}
  .inv-flow .fl-d{margin:0;flex:0 0 auto}
}
@media (max-width:640px){
  .svc-ch{grid-template-columns:1fr}
  .faq-q{font-size:15px;padding:19px 46px 19px 0}
  .faq-a .in{padding:0 20px 20px 0}
  .fab{display:none}
  .tier{padding:28px 22px 24px}
  .tier .tdesc{font-size:13.5px}
  .pledge{padding:24px 22px}
  .pledge h3{font-size:18px}
  .tiers-note{font-size:12.5px}
}
