:root{--white:#f7f7f4;--black:#121416;--gray:#8d8f90;--line:#deded8;--red:#ff5b5f;--graphite:#111315;--warm:#efeee9}*{box-sizing:border-box}html{}body{margin:0;font-family:Arial,'Noto Sans SC',sans-serif;background:var(--white);color:var(--black)}a{text-decoration:none;color:inherit}.splash{position:fixed;inset:0;z-index:999;background:radial-gradient(circle at 50% 45%,#24282b 0%,#111315 58%,#090a0b 100%);display:grid;place-items:center;overflow:hidden;transition:opacity .7s ease,visibility .7s ease}.splash.hide{opacity:0;visibility:hidden}.splash-logo{font-style:italic;font-weight:900;letter-spacing:.16em;font-size:clamp(36px,7vw,88px);color:white;filter:drop-shadow(0 16px 35px rgba(0,0,0,.45))}.splash-logo span{display:inline-block;opacity:0;transform:translateY(18px) skewX(-10deg);animation:build .55s forwards}.splash-logo span:nth-child(2){animation-delay:.12s}.splash-logo span:nth-child(3){animation-delay:.24s}.splash-logo span:nth-child(4){animation-delay:.36s}.splash-logo span:nth-child(5){animation-delay:.48s}.splash-logo span:nth-child(6){animation-delay:.6s}.splash-sub{position:absolute;top:58%;color:#c8c8c2;letter-spacing:.28em;font-size:12px;opacity:0;animation:fadeUp .7s .95s forwards}.splash-scan{position:absolute;width:150%;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);top:48%;animation:scan 1.5s ease}.site-header{position:fixed;top:0;left:0;width:100%;height:76px;z-index:100;display:flex;align-items:center;padding:0 44px;gap:38px;color:white;transition:.35s}.site-header.scrolled{height:66px;background:rgba(247,247,244,.82);color:#171717;backdrop-filter:blur(16px);box-shadow:0 1px 22px rgba(0,0,0,.08)}.brand{font-size:25px;font-weight:900;font-style:italic;letter-spacing:.22em}.nav-links{margin-left:auto;display:flex;gap:38px;font-size:14px}.nav-links a{opacity:.9}.nav-links a:hover{color:#a7a7a2}.nav-cta{border:1px solid currentColor;border-radius:999px;padding:12px 22px;font-size:14px}.hero{min-height:100vh;position:relative;overflow:hidden}.video-bg,.hero-overlay{position:absolute;inset:0}.video-bg{background:linear-gradient(115deg,#202326,#535553 50%,#111315);}.video-bg:before{content:"";position:absolute;inset:0;background:url('assets/images/s63-detail.png') center/cover no-repeat;opacity:.18;filter:grayscale(1) contrast(1.1)}.video-placeholder{position:absolute;right:8%;top:20%;color:rgba(255,255,255,.12);font-size:12px;letter-spacing:.5em}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.16) 58%,rgba(0,0,0,.42))}.hero-content{position:relative;z-index:2;max-width:760px;padding:30vh 0 0 8vw;color:white}.eyebrow{font-size:12px;letter-spacing:.26em;color:var(--red);font-weight:700}.eyebrow.dark{color:#777}.hero h1,.section h2{font-size:clamp(40px,6vw,86px);line-height:1.02;margin:18px 0}.hero-copy{max-width:580px;line-height:1.9;color:#e9e9e6}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid transparent;padding:14px 22px;margin:8px 8px 0 0;cursor:pointer}.primary{background:var(--red);color:white}.ghost{border-color:rgba(255,255,255,.65);color:white}.light{border-color:#d9d9d4;background:white}.hero-philosophy{position:absolute;right:7vw;bottom:9vh;z-index:2;color:white;max-width:360px}.hero-philosophy span{display:block;color:#c9c9c4;margin-bottom:8px;font-size:17px}
.hero-philosophy strong{font-size:17px}.scroll-indicator{position:absolute;bottom:34px;left:50%;z-index:2;color:white;font-size:12px;letter-spacing:.2em}.section{padding:120px 8vw}.section-head{max-width:820px;margin-bottom:56px}.section-head h2{font-size:clamp(34px,5vw,64px)}.section-head p{color:#606260;line-height:1.9}.interactive-section{background:#eeede8}.welding-stage{display:grid;grid-template-columns:1.4fr .6fr;gap:48px;align-items:center}.machine-card{position:relative;min-height:560px;border-radius:34px;background:linear-gradient(145deg,#c8c7c2,#f4f4ef);box-shadow:0 30px 90px rgba(0,0,0,.16);overflow:hidden;perspective:900px}.machine-card img{position:absolute;width:88%;left:6%;top:7%;transition:transform .4s ease;filter:drop-shadow(0 28px 35px rgba(0,0,0,.22))}.pipe{position:absolute;top:48%;height:18px;width:31%;background:#f8f8f8;border:1px solid #c8c8c8;border-radius:20px;box-shadow:inset 0 0 7px #aaa;opacity:0}.pipe-left{left:-34%}.pipe-right{right:-34%}.heat-zone{position:absolute;left:49%;top:45%;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle,var(--red),transparent 68%);opacity:0;filter:blur(8px)}.clamp{position:absolute;top:41%;width:42px;height:110px;border:6px solid #222;border-radius:18px;opacity:.55}.clamp-left{left:39%}.clamp-right{right:39%}.machine-card.demo-1 .clamp-left{transform:translateX(-35px)}.machine-card.demo-1 .clamp-right{transform:translateX(35px)}.machine-card.demo-2 .pipe-left{animation:pipeInL .9s forwards}.machine-card.demo-2 .pipe-right{animation:pipeInR .9s forwards}.machine-card.demo-4 .heat-zone{animation:heatPulse 1s infinite}.machine-card.demo-5 .pipe-left{left:24%;opacity:1}.machine-card.demo-5 .pipe-right{right:24%;opacity:1}.demo-panel{background:white;border-radius:28px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.08)}.demo-panel h3{font-size:26px}.demo-panel ol{padding-left:20px;line-height:2.2;color:#777}.demo-panel li.active{color:var(--red);font-weight:700}.split{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center;margin-bottom:90px}.split.reverse{grid-template-columns:.88fr 1.12fr}.split.reverse .image-slot{order:2}.split h2{font-size:clamp(34px,4vw,58px)}.split p{line-height:1.9;color:#606260}.image-slot,.service-img{min-height:360px;border-radius:28px;background:linear-gradient(135deg,#d6d6d1,#f8f8f3);border:1px solid #ddd;display:grid;place-items:center;color:#898984;letter-spacing:.15em;position:relative;overflow:hidden}.image-slot:before,.service-img:before{content:"";position:absolute;inset:18px;border:1px dashed #bbb;border-radius:20px}.industries{background:#17191b;color:white}.industries .section-head p{color:#c9c9c4}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.industry-card{min-height:220px;border-radius:26px;background:linear-gradient(135deg,#3d3f41,#232527);padding:26px;font-size:24px;display:flex;flex-direction:column;justify-content:space-between;transition:.35s;overflow:hidden}.industry-card:hover{transform:translateY(-6px);background:linear-gradient(135deg,#555,#252525)}.industry-card span{font-size:13px;color:#aaa}.service-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-timeline article{background:white;border:1px solid #e4e4df;border-radius:30px;padding:22px}.service-img{min-height:230px;border-radius:22px}.about{background:#eeede8}.about-card{max-width:900px;background:white;border-radius:36px;padding:60px;box-shadow:0 22px 70px rgba(0,0,0,.08)}.about-card h2{font-size:clamp(34px,5vw,66px)}.about-card p{line-height:1.9;color:#666}.footer{padding:70px 8vw;background:#111315;color:white;display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-form{display:grid;gap:14px}.contact-form input,.contact-form textarea{border:1px solid #444;background:#1d2022;color:white;border-radius:14px;padding:16px}.contact-form textarea{min-height:110px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1!important;transform:translateY(0)!important}@keyframes build{to{opacity:1;transform:translateY(0) skewX(-10deg)}}@keyframes fadeUp{to{opacity:1;transform:translateY(-8px)}}@keyframes scan{0%{transform:translateY(-220px)}100%{transform:translateY(220px)}}@keyframes pipeInL{to{left:24%;opacity:1}}@keyframes pipeInR{to{right:24%;opacity:1}}@keyframes heatPulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:.9;transform:scale(1.2)}}@media(max-width:900px){.nav-links{display:none}.site-header{padding:0 22px}.welding-stage,.split,.split.reverse,.footer{grid-template-columns:1fr}.split.reverse .image-slot{order:0}.industry-grid,.service-timeline{grid-template-columns:1fr}.hero-content{padding:24vh 28px 0}.hero-philosophy{left:28px;right:28px}.machine-card{min-height:420px}}

/* V2 修正版：保留原红线扫描逻辑，只让红线结束后不再回到屏幕中间 */
.splash-scan{animation:scan 1.5s ease forwards}
.hero-philosophy em{display:block;margin-top:12px;font-style:normal;color:rgba(255,255,255,.62);font-size:14px;line-height:1.8;transition:opacity .4s,visibility .4s}

/* V2.31 左右淡入动画 */
.reveal-left{opacity:0;transform:translateX(-48px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
.reveal-left.visible{opacity:1!important;transform:translateX(0)!important}
.reveal-right{opacity:0;transform:translateX(48px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
.reveal-right.visible{opacity:1!important;transform:translateX(0)!important}
.hero-philosophy em.lang-hidden{opacity:0;visibility:hidden}

/* 关于 HEATIX：参考 Hajster 的克制留白结构，但保留 HEATIX 工业科技风 */
.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:start;max-width:1180px;margin:0 auto}.about-logo-block h2{font-size:clamp(56px,8vw,116px);font-style:italic;letter-spacing:.16em;margin:12px 0 28px}.name-meaning{font-size:18px;line-height:2;color:#555;max-width:520px}.about-copy-block{border-left:1px solid #d8d8d2;padding-left:64px}.about-copy-block h3{font-size:clamp(34px,5vw,70px);line-height:1.05;margin:0 0 34px}.about-copy-block p{font-size:17px;line-height:2;color:#555;max-width:680px}

/* 历史时间轴：2024-2026，鼠标悬停文字，右侧图片切换 */
.history-section{background:var(--white);padding-top:130px;padding-bottom:130px}.history-title{max-width:1180px;margin:0 auto 58px}.history-title h2{font-size:clamp(34px,5vw,68px)}.history-wrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:46px 1fr 420px;gap:58px;align-items:start}.history-arrows{display:flex;flex-direction:column;gap:26px;padding-top:22px}.history-arrows span{display:block;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid #1b1b1b;opacity:.22}.history-arrows span:nth-child(-n+3){opacity:.9}.history-list{display:grid;gap:52px}.history-item{display:grid;grid-template-columns:170px 1fr;gap:54px;cursor:pointer;opacity:.38;transition:.35s}.history-item small{grid-column:1;font-size:13px;color:#555;align-self:end}.history-item strong{grid-column:1;font-size:70px;line-height:.9;font-weight:400;letter-spacing:-.05em}.history-item p{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0;font-size:17px;line-height:1.9;color:#252525;max-width:520px}.history-item.active,.history-item:hover{opacity:1}.history-preview{position:sticky;top:120px;min-height:330px;border-radius:30px;overflow:hidden;background:#e7e7e2;box-shadow:0 20px 60px rgba(0,0,0,.12)}.history-preview img{width:100%;height:100%;min-height:330px;object-fit:cover;filter:grayscale(.08);transition:opacity .28s ease,transform .45s ease}.history-preview img.switching{opacity:.2;transform:scale(1.03)}

/* 底部联系：Hajster式留白 + HEATIX机械舱体异形外框 */
.hajster-footer{background:var(--white);color:var(--black);display:block;padding:0 8vw 54px}.footer-topline{height:1px;background:#d9d9d2;margin-bottom:54px}.footer-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.footer-logo{display:block;font-style:italic;letter-spacing:.22em;font-size:32px;margin-bottom:18px}.footer-brand-area p{max-width:310px;color:#555;line-height:1.8}.footer-links{display:flex;gap:26px;margin-top:72px;font-size:14px}.footer-links a:hover{color:var(--red)}.contact-panel{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;padding:52px 54px 58px;background:linear-gradient(135deg,#f9f9f6,#e8e7e1);border:1px solid #dadad3;border-radius:42px 42px 82px 42px;overflow:hidden}.contact-panel:before,.contact-panel:after{content:"";position:absolute;top:22px;width:64px;height:96px;border:10px solid #151719;border-bottom:0;border-radius:30px 30px 0 0;opacity:.08}.contact-panel:before{left:38px;transform:rotate(-18deg)}.contact-panel:after{right:38px;transform:rotate(18deg)}.contact-frame-mark{position:absolute;right:44px;top:26px;font-style:italic;font-weight:900;letter-spacing:.2em;color:rgba(0,0,0,.08);font-size:28px}.contact-intro h2{font-size:clamp(30px,4vw,52px);line-height:1.12;margin:16px 0}.contact-intro p{color:#555;line-height:1.9}.hajster-footer .contact-form{display:grid;gap:14px}.hajster-footer .contact-form input,.hajster-footer .contact-form textarea{background:rgba(255,255,255,.72);border:1px solid #d6d6cf;color:#222;border-radius:18px;padding:16px 18px}.hajster-footer .contact-form textarea{min-height:118px}.footer-bottom{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;margin-top:58px;font-size:13px;color:#555}

@media(max-width:900px){.about-grid,.history-wrap,.footer-grid,.contact-panel{grid-template-columns:1fr}.about-copy-block{border-left:0;padding-left:0}.history-wrap{gap:28px}.history-arrows{display:none}.history-item{grid-template-columns:1fr;gap:12px}.history-item small,.history-item strong,.history-item p{grid-column:auto;grid-row:auto}.history-preview{position:relative;top:auto}.footer-links{margin-top:36px;flex-wrap:wrap}.hajster-footer{padding-left:28px;padding-right:28px}.contact-panel{padding:40px 26px;border-radius:32px 32px 64px 32px}}
@media(max-width:560px){.history-item strong{font-size:54px}.contact-panel:before,.contact-panel:after{display:none}.hero-philosophy{bottom:52px}.footer-bottom{display:grid;gap:16px}}


/* V2.2 首屏优化：标题两行固定排版、左侧靠近屏幕约2cm、真实视频背景、右上视频控制 */
.hero-content{padding-left:76px;max-width:1180px}
.hero-content .eyebrow{font-size:14px}
.hero-title{font-size:clamp(46px,5.8vw,98px);line-height:.95;letter-spacing:-.055em;max-width:none;margin-top:18px;margin-bottom:28px}
.hero-title span{display:block;white-space:nowrap}.hero-copy{max-width:840px}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.1) contrast(1.04);transform:scale(1.01)}.video-bg:before,.video-placeholder{display:none}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.24) 54%,rgba(0,0,0,.46)),linear-gradient(0deg,rgba(0,0,0,.18),rgba(0,0,0,.06))}.hero-media-controls{position:absolute;right:44px;top:96px;z-index:5;display:flex;gap:12px}.media-btn{width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.42);background:rgba(18,20,22,.28);color:white;backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.14);display:grid;place-items:center;cursor:pointer;transition:.25s;font-size:13px;letter-spacing:.04em}.media-btn:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}.media-btn.is-off{opacity:.62}.pause-icon{font-weight:800;font-size:16px;letter-spacing:-.12em}.sound-icon{font-size:12px;font-weight:800}
@media(max-width:1100px){.hero-content{padding-left:44px;padding-right:34px}.hero-title{font-size:clamp(46px,8vw,86px)}.hero-title span{white-space:normal}.hero-media-controls{right:24px;top:86px}}
@media(max-width:620px){.hero-content{padding-left:24px;padding-right:24px}.hero-title{font-size:clamp(42px,13vw,64px);letter-spacing:-.04em}.hero-media-controls{top:82px;right:18px}.media-btn{width:42px;height:42px}.hero-copy{font-size:15px}}

/* V2.3 图片填充版：所有原文字占位区域改为可直接替换的示意图片，不改变原有布局尺寸 */
.image-slot,.service-img{background:#e7e7e2;display:block;color:inherit;letter-spacing:normal}
.image-slot:before,.service-img:before{display:none}
.image-slot img,.service-img img{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block;transition:transform .55s ease,filter .55s ease;filter:saturate(.86) contrast(1.02)}
.image-slot:hover img,.service-img:hover img{transform:scale(1.035)}
.industry-card{position:relative;background-image:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.72)),var(--bg);background-size:cover;background-position:center;isolation:isolate}
.industry-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,91,95,.18),transparent 42%);opacity:0;transition:.35s;z-index:-1}.industry-card:hover:before{opacity:1}.industry-card:hover{background-size:108%;background-position:center}
.industry-card span{color:rgba(255,255,255,.74);letter-spacing:.12em;text-transform:uppercase}

/* V2.3 第二屏：功能演示改为 GLB 旋转模型预留区 */
.model-card{display:grid;place-items:center;min-height:600px;cursor:grab}.model-card:active{cursor:grabbing}.model-card .model-fallback{position:absolute;inset:0;display:grid;place-items:center}.model-card .model-fallback img{position:relative;width:86%;left:auto;top:auto;filter:drop-shadow(0 32px 42px rgba(0,0,0,.25));animation:modelFloat 5.5s ease-in-out infinite}.model-orbit-ring{position:absolute;width:78%;height:72%;border:1px solid rgba(255,255,255,.65);border-radius:50%;transform:rotateX(68deg);box-shadow:0 0 0 1px rgba(0,0,0,.05),inset 0 0 30px rgba(255,255,255,.24);opacity:.5;pointer-events:none}.model-panel p{color:#606260;line-height:1.9}.model-notes{margin:24px 0 0;padding-left:20px;line-height:2;color:#555}.model-notes li::marker{color:var(--red)}@keyframes modelFloat{0%,100%{transform:translateY(0) rotateZ(-.3deg)}50%{transform:translateY(-10px) rotateZ(.3deg)}}
@media(max-width:900px){.model-card{min-height:430px}.model-card .model-fallback img{width:96%}}

/* V2.4: 只优化“我们的发展”一屏：图片悬停淡入、三角进度条 */
.history-wrap{position:relative}
.history-arrows span{border-top-color:#1b1b1b;opacity:.2;transition:opacity .28s ease,filter .28s ease}
.history-arrows span:nth-child(-n+3){opacity:.2}
.history-arrows span.progress-active{opacity:1;filter:drop-shadow(0 4px 7px rgba(0,0,0,.12))}
.history-item{opacity:.34}
.history-item.active,.history-item:hover{opacity:1}
.history-preview{position:absolute;right:0;top:62px;width:420px;min-height:330px;opacity:0;visibility:hidden;transform:translateY(14px);pointer-events:none;transition:opacity .35s ease,visibility .35s ease,transform .35s ease;z-index:2}
.history-preview.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.history-preview img{display:block}
@media(max-width:900px){.history-preview{position:relative;right:auto;top:auto;width:100%;opacity:0;visibility:hidden;display:none}.history-preview.is-visible{display:block;opacity:1;visibility:visible}}

/* ===== V2.7 S63正式3D展示优化：只影响第二屏 ===== */
.s63-model-card{min-height:640px;background:radial-gradient(circle at 54% 38%,#ffffff 0%,#ecebe6 46%,#d8d7d1 100%);border:1px solid rgba(255,255,255,.9)}
.s63-viewer{position:absolute;inset:0;z-index:2;display:block;min-height:100%;border-radius:34px;overflow:hidden;cursor:grab}.s63-viewer:active{cursor:grabbing}.s63-viewer canvas{display:block;width:100%!important;height:100%!important}.model-loader{position:absolute;left:50%;bottom:28px;z-index:3;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.88);backdrop-filter:blur(14px);box-shadow:0 12px 36px rgba(0,0,0,.08);color:#262626;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:opacity .35s ease,visibility .35s ease}.model-loader span{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(255,91,95,.4);animation:modelPulse 1.4s infinite}.model-loader p{margin:0}.s63-viewer.model-ready .model-loader{opacity:0;visibility:hidden}.s63-viewer.model-error .model-loader{opacity:.72}.model-fallback{z-index:1;transition:opacity .45s ease,visibility .45s ease}.model-fallback.is-hidden{opacity:0;visibility:hidden}.s63-model-card .model-orbit-ring{z-index:0;border-color:rgba(255,255,255,.72);opacity:.52}.official-model-copy h3{font-size:clamp(28px,3vw,42px);line-height:1.16;margin:14px 0 18px}.official-model-copy p{font-size:15px}.model-feature-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:28px}.model-feature-grid span{display:flex;align-items:center;min-height:42px;padding:10px 14px;border-radius:16px;background:#f3f2ed;border:1px solid #e3e2dd;color:#292b2c;font-size:13px;letter-spacing:.04em}.model-feature-grid span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:10px;box-shadow:0 0 0 5px rgba(255,91,95,.10)}@keyframes modelPulse{70%{box-shadow:0 0 0 12px rgba(255,91,95,0)}100%{box-shadow:0 0 0 0 rgba(255,91,95,0)}}@media(max-width:900px){.s63-model-card{min-height:470px}.model-loader{bottom:18px;font-size:10px}.official-model-copy h3{font-size:28px}}

/* V2.8 第二屏：右侧只保留正式标题 + 简短介绍，删除测试功能列表后的排版 */
.official-model-copy .model-copy-cn{margin-top:20px;color:#555;line-height:1.95;font-size:16px}
.official-model-copy .model-view-hint{margin-top:30px;padding-top:18px;border-top:1px solid #e7e5df;color:#8b8b86;font-size:12px;letter-spacing:.08em}


/* ========================
   V2.10 contact footer + real form interaction
   说明：这里仅调整底部联系方式图标、二维码悬浮卡片和表单状态，不改开屏 Logo。
   ======================== */
.form-status{
  min-height:22px;
  margin:2px 4px 0;
  font-size:13px;
  color:#555;
}
.form-status.is-success{color:#178b53}
.form-status.is-error{color:#c83b3f}
.contact-form button[disabled]{
  opacity:.68;
  cursor:not-allowed;
}
.contact-footer-bottom{
  align-items:flex-end;
}
.contact-icons{
  display:flex;
  gap:16px;
  align-items:center;
  position:relative;
}
.contact-icon{
  position:relative;
  width:44px;
  height:44px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #deded8;
  color:#111315;
  box-shadow:0 18px 45px rgba(0,0,0,.08);
  transition:transform .25s ease, border-color .25s ease, color .25s ease;
}
.contact-icon:hover{
  transform:translateY(-4px);
  border-color:rgba(255,91,95,.45);
  color:var(--red);
}
.contact-icon>span{
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
}
.qr-card{
  position:absolute;
  left:50%;
  bottom:58px;
  transform:translateX(-50%) translateY(8px);
  width:154px;
  padding:12px 12px 14px;
  background:#fff;
  border:1px solid #deded8;
  border-radius:18px;
  box-shadow:0 22px 60px rgba(0,0,0,.14);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
  text-align:center;
  z-index:30;
}
.qr-card:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:14px;
  height:14px;
  background:#fff;
  border-right:1px solid #deded8;
  border-bottom:1px solid #deded8;
  transform:translateX(-50%) rotate(45deg);
}
.contact-icon:hover .qr-card{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.qr-card img{
  width:112px;
  height:112px;
  object-fit:cover;
  border-radius:10px;
  display:block;
  margin:0 auto 10px;
}
.qr-card strong{
  display:block;
  font-size:13px;
  margin-bottom:4px;
}
.qr-card small{
  display:block;
  font-size:11px;
  color:#777;
  line-height:1.45;
}
.text-card{
  width:210px;
  padding:16px 18px;
}
.footer-legal{
  text-align:right;
  color:#555;
  font-size:13px;
  line-height:1.8;
}
.footer-legal p{
  margin:0;
}

@media(max-width:900px){
  .contact-footer-bottom{
    align-items:flex-start;
  }
  .footer-legal{
    text-align:left;
  }
}
@media(max-width:560px){
  .contact-icons{
    gap:12px;
  }
  .contact-icon{
    width:40px;
    height:40px;
  }
  .qr-card{
    left:0;
    transform:translateX(0) translateY(8px);
  }
  .contact-icon:hover .qr-card{
    transform:translateX(0) translateY(0);
  }
  .qr-card:after{
    left:22px;
  }
}

/* =============================================
   V2.11 新增：① 语言切换按钮  ② 汉堡菜单  ③ 喇叭SVG图标
   ============================================= */
/* —— 喇叭 SVG 图标 —— */
.sound-svg{
  display:block;
  pointer-events:none;
}
/* 默认视频静音：显示叉形，隐藏声波 */
.sound-on { display:block; }
.sound-off{ display:none;  }
/* 当按钮有 .muted 时切换 */
#muteToggle.muted .sound-on { display:none;  }
#muteToggle.muted .sound-off{ display:block; }

/* —— 汉堡菜单（移动端） —— */
.hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  background:transparent;
  border:none;
  padding:8px;
  cursor:pointer;
  margin-left:auto;
  position:relative;
  z-index:101;
}
/* V2.63: 汉堡按钮在未滚动时强制白色，确保黑色背景上可见 */
.hamburger span{
  display:block;
  width:22px;
  height:2px;
  background:rgba(255,255,255,.92);
  border-radius:2px;
  transition:transform .28s ease, opacity .28s ease, background .3s ease;
}
.site-header.scrolled .hamburger span{
  background:#171717;
}
.hamburger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.is-open span:nth-child(2){ opacity:0; }
.hamburger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* 移动端导航下拉 */
@media(max-width:820px){
  .hamburger{ display:flex; }
  .lang-radio-group{ transform:scale(0.75); transform-origin:right center; }
  .nav-spacer{ display:none !important; height:0 !important; margin:0 !important; padding:0 !important; overflow:hidden; }
  .nav-cta{ display:none; }           /* 移动端隐藏"获取方案"按钮，导航内已有链接 */
  .nav-links{
    position:fixed;
    top:66px;
    left:0;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
    background:rgba(247,247,244,.97);
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line);
    padding:0;
    max-height:0;
    opacity:0;
    overflow:hidden;
    visibility:hidden;
    transition:max-height .4s cubic-bezier(.4,0,.2,1), padding .4s cubic-bezier(.4,0,.2,1), opacity .25s ease, visibility .25s ease;
    z-index:99;
    pointer-events:none;
  }
  .nav-links.nav-open{
    max-height:520px;
    padding:18px 0 24px;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  /* V2.79: 移动端导航下拉 — 所有按钮严格统一居中对齐 */
  .nav-links > *:not(.nav-spacer):not(.nav-solution-link){
    width:100%;
    text-align:center;
    box-sizing:border-box;
  }
  /* 把 .nav-item--mega 从 desktop flex 改为 block，与独立 a/button 保持一致 */
  .nav-item--mega{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }
  .nav-links > button#navHomeBtn,
  .nav-links > a:not(.nav-solution-link),
  .nav-item--mega > a{
    display:block !important;
    width:100%;
    padding:13px 0;
    font-size:16px;
    color:#171717;
    border-bottom:none;
    text-align:center !important;
    position:relative;
    box-sizing:border-box;
    /* 确保所有元素左右 padding 一致 */
    padding-left:0 !important;
    padding-right:0 !important;
  }
  /* 首页按钮：图标+文字整体居中 */
  .nav-links > button#navHomeBtn{
    display:flex !important;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:6px;
  }
  .nav-links > button#navHomeBtn::after,
  .nav-links > a:not(.nav-solution-link)::after,
  .nav-item--mega > a::after{
    display:none;
  }
  .nav-chevron{ display:none; }  /* 移动端隐藏三角形 */
  .nav-links a:last-child{ border-bottom:none; }
  /* header 移动端布局 */
  .site-header{
    flex-wrap:wrap;
    gap:0;
    padding:0 20px;
    justify-content:space-between;
  }
  .brand{ margin-right:auto; }
}

/* =============================================
   V2.13 新增：① Mega-Menu  ② 8行业水平滚动
   ③ 产品/服务子页面  ④ About文案 ⑤ Footer SVG图标
   ⑥ SPA路由支持  ⑦ 子页面独特设计
   ============================================= */

/* ── Mega-Menu 下拉菜单 ── */
.mega-menu{
  position:fixed;
  top:76px;
  left:0;
  width:100%;
  z-index:99;
  background:rgba(247,247,244,.96);
  backdrop-filter:blur(24px);
  border-bottom:1px solid #e0e0da;
  box-shadow:0 20px 50px rgba(0,0,0,.08);
  max-height:0;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
  transition:max-height .38s ease, opacity .28s ease, padding .38s ease;
  padding:0;
}
.mega-menu.mega-open{
  max-height:440px;
  opacity:1;
  pointer-events:auto;
  padding:32px 0 38px;
}
.mega-menu-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  padding:0 44px;
}
.mega-col{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.mega-card{
  display:flex;
  gap:14px;
  padding:14px;
  border-radius:16px;
  transition:background .25s;
  align-items:center;
  margin-bottom:4px;
}
.mega-card:hover{ background:rgba(0,0,0,.04); }
.mega-card-img{
  width:56px;
  height:56px;
  border-radius:12px;
  overflow:hidden;
  flex-shrink:0;
  background:#e7e7e2;
}
.mega-card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.mega-card-body{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.mega-item-title{
  font-size:14px;
  font-weight:700;
  color:#171717;
}
.mega-card-body small{
  font-size:12px;
  color:#888;
  line-height:1.4;
  max-width:180px;
}
.mega-sub-item{
  font-size:12px;
  color:#666;
  padding:5px 14px;
  border-radius:8px;
  transition:background .2s,color .2s;
}
.mega-sub-item:hover{
  background:rgba(0,0,0,.05);
  color:#171717;
}

/* ── 导航产品项（含下拉箭头） ── */
.nav-item--products{
  display:flex;
  align-items:center;
  gap:3px;
  cursor:pointer;
}
/* .nav-chevron 的主要样式在 V2.26 部分定义，这里仅保留结构 */
.nav-item--products:hover .nav-chevron{
  /* handled by V2.26 rules */
}

/* 导航高亮 */
.nav-links a.nav-active{
  color:#a7a7a2;
  opacity:1;
}
/* V2.27 修复：mega-trigger 悬停 + 下拉展开时统一变灰，不被 nav-active 红色覆盖 */
.nav-item--mega:hover > a.nav-active,
.nav-item--mega.is-mega-active > a.nav-active,
.nav-links a.nav-active:hover{
  color:#a7a7a2;
}

/* ── V2.28 修复：chevron 改为绝对定位，不占据 flex 布局空间
   确保导航按钮间视觉间距均匀（所有 text-to-text 间距统一 30px） ── */
.nav-chevron{
  position:absolute;
  right:0;
  top:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  opacity:0;
  visibility:hidden;
  transition:opacity .32s cubic-bezier(.4,0,.2,1),
             visibility .32s cubic-bezier(.4,0,.2,1);
  transform:translateY(-50%);
  font-size:0; /* 隐藏原始字符 */
}
/* SVG 箭头内容通过 ::before 注入 */
.nav-chevron::before{
  content:"";
  display:block;
  width:10px;
  height:6px;
  background:currentColor;
  clip-path:polygon(50% 100%, 0% 0%, 100% 0%);
  transition:transform .32s cubic-bezier(.4,0,.2,1);
}
/* 悬停时显示并翻转（指向上） */
.nav-item--mega:hover .nav-chevron,
.mega-open ~ * .nav-item--mega .nav-chevron{
  opacity:.72;
  visibility:visible;
}
.nav-item--mega:hover .nav-chevron::before{
  transform:rotate(180deg);
}
/* mega-menu 打开时也亮起并倒置 */
.nav-item--mega.is-mega-active .nav-chevron{
  opacity:.9;
  visibility:visible;
}
.nav-item--mega.is-mega-active .nav-chevron::before{
  transform:rotate(180deg);
}

/* ── V2.61 导航首页按钮（首页和子页面均显示） ── */
#navHomeBtn{
  display:inline-flex;
  order:-10;
  align-items:center;
  gap:6px;
  font-weight:600;
  font-size:14px;
  white-space:nowrap;
  cursor:pointer;
  color:inherit;
  background:none;
  border:none;
  font-family:inherit;
  padding:0;
  opacity:.9;
  transition:color .25s;
}
#navHomeBtn:hover{ color:#a7a7a2; }
/* 小房子图标 */
#navHomeBtn::before{
  content:"";
  display:inline-block;
  width:14px;
  height:13px;
  background:currentColor;
  clip-path:polygon(50% 0%, 0% 52%, 16% 52%, 16% 100%, 40% 100%, 40% 68%, 60% 68%, 60% 100%, 84% 100%, 84% 52%, 100% 52%);
  opacity:.8;
}

/* ── V2.21 大厂式产品 Mega Panel ── */
.mega-menu--v21{
  top:82px;
  background:rgba(247,247,244,.94);
  border-bottom:1px solid rgba(18,20,22,.1);
  box-shadow:0 32px 90px rgba(0,0,0,.12);
}
.site-header.scrolled~.mega-menu--v21{
  top:74px;
}
.mega-menu--v21.mega-open{
  max-height:560px;
  padding:34px 0 40px;
}
.mega-menu--v21 .mega-menu-inner{
  max-width:1280px;
  grid-template-columns:.78fr 1.22fr;
  gap:34px;
  align-items:stretch;
}
.mega-overview{
  min-height:270px;
  padding:34px;
  border-radius:8px;
  background:
    linear-gradient(135deg,rgba(255,91,95,.12),transparent 44%),
    #111315;
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.mega-overview .eyebrow{
  color:rgba(255,255,255,.46);
  margin:0 0 auto;
}
.mega-overview strong{
  display:block;
  max-width:420px;
  font-size:clamp(22px,2.2vw,34px);
  line-height:1.16;
  font-weight:760;
  letter-spacing:0;
}
.mega-overview p{
  max-width:420px;
  margin:16px 0 22px;
  color:rgba(255,255,255,.68);
  line-height:1.8;
}
.mega-overview-link{
  width:max-content;
  color:white;
  border-bottom:1px solid rgba(255,255,255,.42);
  padding-bottom:7px;
  font-weight:700;
  font-size:13px;
}
.mega-product-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.mega-product-card{
  min-height:270px;
  margin:0;
  border-radius:8px;
  overflow:hidden;
  background:white;
  border:1px solid rgba(18,20,22,.1);
  box-shadow:0 16px 42px rgba(0,0,0,.07);
  transition:transform .35s ease,box-shadow .35s ease;
}
.mega-product-card:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 62px rgba(0,0,0,.12);
}
.mega-card-main{
  display:block;
}
.mega-card-main img{
  width:100%;
  height:135px;
  object-fit:cover;
  display:block;
}
.mega-card-main .mega-item-title{
  display:block;
  padding:18px 18px 0;
  font-size:15px;
  line-height:1.35;
}
.mega-sub-links{
  display:grid;
  gap:6px;
  padding:14px 18px 18px;
}
.mega-sub-links a,
.mega-sub-links span{
  color:#626466;
  font-size:12px;
  line-height:1.35;
  padding:7px 0;
  border-top:1px solid #ededeb;
  transition:color .25s ease,transform .25s ease;
  display:block;
}

/* ── V2.21 通用子页面系统 ── */
.v21-page{
  background:#f7f7f4;
  color:#121416;
}
.v21-hero{
  position:relative;
  min-height:74vh;
  padding:132px 8vw 78px;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:60px;
  align-items:end;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,247,244,.96)),
    #f7f7f4;
}
.v21-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(18,20,22,.045) 1px,transparent 1px),
    linear-gradient(180deg,rgba(18,20,22,.035) 1px,transparent 1px);
  background-size:92px 92px;
  mask-image:linear-gradient(180deg,transparent,black 16%,black 78%,transparent);
  pointer-events:none;
}
.v21-hero-copy,
.v21-hero-visual{
  position:relative;
  z-index:1;
}
.v21-breadcrumb{
  margin-bottom:22px;
}
.v21-hero .eyebrow{
  color:#8b8d8e;
  margin:0 0 18px;
}
.v21-hero h1{
  max-width:780px;
  margin:0;
  color:#141719;
  font-size:clamp(42px,6.6vw,92px);
  line-height:1.02;
  letter-spacing:0;
}
.v21-lead{
  max-width:680px;
  margin:26px 0 0;
  color:#555b5c;
  font-size:17px;
  line-height:1.95;
}
.v21-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:34px;
}
.v21-hero-visual{
  min-height:430px;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 34px 96px rgba(0,0,0,.16);
  background:#deded8;
}
.v21-hero-visual img{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  display:block;
}
.v21-hero--overview{
  background:
    linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.18) 54%,rgba(0,0,0,.58)),
    var(--hero-img) center/cover no-repeat;
  color:white;
}
.v21-hero--overview:before{
  background:
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.035) 1px,transparent 1px);
}
.v21-hero--overview h1,
.v21-hero--overview .v21-breadcrumb .br-current{
  color:white;
}
.v21-hero--overview .v21-lead,
.v21-hero--overview .v21-breadcrumb,
.v21-hero--overview .v21-breadcrumb a{
  color:rgba(255,255,255,.72);
}
.v21-hero--overview .v21-hero-visual{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
}
.v21-content{
  max-width:1280px;
  margin:0 auto;
  padding:74px 8vw 0;
}
.v21-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-bottom:86px;
  background:#dcdcd5;
  border:1px solid #dcdcd5;
}
.v21-metric{
  min-height:128px;
  padding:28px;
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.v21-metric small{
  color:#a2a3a1;
  font-size:12px;
}
.v21-metric strong{
  color:#151719;
  font-size:20px;
  line-height:1.35;
}
.v21-section{
  margin-bottom:100px;
}
.v21-section-head{
  display:grid;
  grid-template-columns:.65fr 1fr;
  gap:44px;
  align-items:end;
  margin-bottom:28px;
}
.v21-section-head h2,
.v21-info-block h2{
  margin:0;
  font-size:clamp(30px,4.2vw,58px);
  line-height:1.08;
  letter-spacing:0;
}
.v21-section-head p{
  margin:0;
  color:#606260;
  line-height:1.9;
}
.v21-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.v21-card-grid--overview{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.v21-card-grid--compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.v21-link-card{
  min-height:360px;
  border-radius:8px;
  overflow:hidden;
  background:white;
  border:1px solid #deded8;
  display:flex;
  flex-direction:column;
  box-shadow:0 18px 52px rgba(0,0,0,.06);
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.v21-link-card:hover{
  transform:translateY(-6px);
  border-color:#c9c9c2;
  box-shadow:0 28px 76px rgba(0,0,0,.12);
}
.v21-card-media{
  height:210px;
  overflow:hidden;
  background:#ddd;
}
.v21-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .55s ease;
}
.v21-link-card:hover .v21-card-media img{
  transform:scale(1.05);
}
.v21-card-copy{
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.v21-card-copy small{
  color:#999;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.v21-card-copy strong{
  color:#151719;
  font-size:22px;
  line-height:1.22;
}
.v21-card-copy p{
  color:#606260;
  line-height:1.75;
  margin:12px 0 22px;
  font-size:14px;
}
.v21-card-copy span{
  margin-top:auto;
  width:max-content;
  color:#151719;
  font-size:13px;
  font-weight:700;
  border-bottom:1px solid rgba(18,20,22,.34);
  padding-bottom:7px;
}
.v21-info-block{
  margin-bottom:90px;
}
.v21-info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:30px;
  background:#dcdcd5;
  border:1px solid #dcdcd5;
}
.v21-info-grid article{
  min-height:210px;
  background:#fff;
  padding:30px;
}
.v21-info-grid small{
  display:block;
  color:var(--red);
  font-size:12px;
  margin-bottom:34px;
}
.v21-info-grid p{
  color:#3f4445;
  line-height:1.85;
  margin:0;
}
.v21-footer-cta{
  margin:0 calc(50% - 50vw);
}

/* ── V2.22 全局导航升级 ── */
.site-header{
  height:82px;
  padding:0 clamp(30px,4vw,58px);
  gap:24px;
}
.site-header.scrolled{
  height:74px;
}
.brand{
  font-size:31px;
  letter-spacing:.24em;
  line-height:1;
}
.nav-links{
  gap:30px;
  font-size:16px;
  align-items:center;
  flex:1;
  padding-left:28px; /* V2.61: 左侧按钮整体右移2个中文字距离，离LOGO远一点 */
}
.nav-spacer{
  margin-left:auto;
}
.nav-links a,
.nav-item--mega>a{
  font-weight:600;
  letter-spacing:0;
  white-space:nowrap;
  transition:color .25s;
}
/* V2.61: 统一间距，所有按钮都有 padding-right:20px 使文字间距一致
   （与 .nav-item--mega>a 的 padding-right:20px 对齐） */
.nav-links > a,
.nav-links > button#navHomeBtn{
  padding-right:20px;
}
.nav-solution-link{
  color:inherit;
}
.nav-cta{ display:none; }
.nav-item--mega{
  display:flex;
  align-items:center;
  gap:0;
  cursor:pointer;
  width:fit-content;
  position:relative; /* V2.28: 为绝对定位的 chevron 提供定位上下文 */
}
.nav-item--mega>a{
  padding-right:20px; /* V2.28: 为绝对定位的 chevron 保留空间，不影响 flex 布局 */
}
.nav-item--mega:hover .nav-chevron{
  /* handled by V2.26 rules above */
}

.lang-radio-group{
  --text:rgba(255,255,255,.72);
  --text-active:#fff;
  display:flex;
  position:relative;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  backdrop-filter:blur(12px);
  box-shadow:inset 1px 1px 4px rgba(255,255,255,.16),inset -1px -1px 6px rgba(0,0,0,.22);
  overflow:hidden;
  padding:3px;
  user-select:none;
  flex-shrink:0;
}

html,
body{
  overflow-x:clip;
}
.splash.hide{
  pointer-events:none;
}
.site-header.scrolled .lang-radio-group{
  --text:#747678;
  --text-active:#fff;
  background:rgba(18,20,22,.06);
  border-color:rgba(18,20,22,.12);
}
.lang-radio-group input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.lang-radio-group label{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:32px;
  padding:0 14px;
  cursor:pointer;
  font-size:13px;
  font-weight:700;
  color:var(--text);
  position:relative;
  z-index:2;
  transition:color .35s;
  white-space:nowrap;
}
.lang-radio-group input:checked+label{
  color:var(--text-active);
}
.lang-glider{
  position:absolute;
  top:3px;
  bottom:3px;
  left:3px;
  width:calc(50% - 3px);
  border-radius:999px;
  z-index:1;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:left .42s cubic-bezier(.37,1.45,.66,1),background-image .35s,box-shadow .35s;
  opacity:.55;
}
#lang-zh:checked~.lang-glider{
  left:3px;
  background-color:rgba(222,41,16,.12);
  background-image:url(data:image/webp;base64,UklGRuwBAABXRUJQVlA4IOABAACwEACdASrIAHgAPxGIvVisKaYjozZocYAiCWVu4XExBiwbzu2TN1eU/DujsLsCIxWoYVmJfC6wJAGjyug6nTwmfsmLeKpRg1IESJKmNwRGXABKLw03PNVA51FFYU6N2TG1O+b+aBmNnxYFg0KTmZzt6GptTam1RHRlwRpoGYvDrHWOsdY6x1jrHWOsdWAAAP76jd/8RaW5uyH//iHP62/7lNamCtvnA0Ue104GTLM4hFxiKAK5im8/M5cXe2Ve51YATfTc2/KFQdFLPB/8nPazljGw9YAvuDJN1X1ceJW1umzqufnCeapH4CRBbWPOVOjDrY+5/2b7Y8yACyWMqtkdf4M9Vf97Sy38maWB4K/YosyD2xtzWMSVzh4OLbZRdo3jPRaaZyINrrsRjAxcIKkPnTmDAcaq/buz/AMD44gZLAKDKPtHUvXJHQsjHSJIjsc9XsY4UzXyLLpnTZbhS18JtHrDQxkGMGGd+XzWX/4gcrICHigVMppapBMiFy/OQcItKXaVeW97gKykVITX22XTkd/QwhyTWYFvz+kNy4LeZ2v8WL/v2TbV/CIAzu1DeQ4XAMbQDG3+ycE4GQzdz2bCsYJHDsxDVVoz4Jh7mldsQZ9CrEOVfbbwCbBAAAAAAAA=);
  background-position:center 10%;
  box-shadow:0 0 14px rgba(222,41,16,.4),0 0 8px rgba(255,222,0,.2) inset;
}
#lang-en:checked~.lang-glider{
  left:50%;
  background-color:rgba(60,59,110,.08);
  background-image:url(data:image/webp;base64,UklGRpQHAABXRUJQVlA4IIgHAADwKQCdASrIAHgAPxF4slIsJyUipti+uYAiCWhu3Vz1uZ278oPIhVo8do+X8DeZ/0/sY25/mU/Y39jvewsey1WN/H4fpbvfsrAk7xE/13grvC/5ju1OpeYF7Q/aOIjSBaAHikZ3FQrpdiY30QyfOzDg05UOwjyuPHU2KxwVKQYFVodAlnOKcanFo1mUyTYOrGIwmNr/eWoZ6H44khXcQClQ5z15q/H354AGxB8SGSukdQ2cIK5C8VKKpRZvzA7SOoUCazf+V+1ldvpeHcq5v1x8vU5p9BXFRMKLYpvUznD4Bv8syB9bBFjVJLNRUIOpHWkl1pIv2nx6Qkg+AMpG1gU/fzkr4kQt92wshC+MtFAVoOALC+aACQZKw7QBcbX+6eQZZ6RuDQKXX5BW+QVuSxgwXVLrTHbs0utNLNOH/Urb5tmALja/3l/9/ybSel1Or1er1er1er0dQAD+8MV0rZDulENuao2zy9GwJcBe7N87W7AY68LIkIkGRl8fhTt4kvZ7vQJmiY1g8Fa53e+/+4LnWUmdpgGRbedrJtad6IrQVpXPyHSJeF0a8oDSqbRuDfTYb/Rgz18bTB148ozm2r/aCdP7FzXbkIm0angKRoaMHoXxlfIPi9HxqCRmgltCXPp9aFkeuaGlfZE1u2lrRiepR5xBtZv1v0FMyrJFXmYckKScI7xUo2iJ35NbZi881o9shb5HHBNSJcns2vCoFlExFKE9sziyo1g9bBKetVtRq/wHTWXKat8+fWVnYrjY3xZyGdfhoz9QVnY8/ybZ0EUM9E25my5arUbVxS4j88H0+3tO7NOpEtSha2e1yqd+0rvHKQR5vpTCl/Q2KcNDesy2ARDYZxcp2METhIi/BYccMI/lAy/h25buy0kjIeIu4CCLHg4W2E0KKD/+lavuPB1zguBfpQn/1EBSiF7fMHXmHdStrBTN7q1PYh6XUBZMz5top5OkqDhSGYjFsLgKc7PgAT8hpBHslanNbYW1f0cJ7v0PCJTJU56ynTqwI5wyFdi0fCObZfVe//c2pp+PSpuPSEhiSpmJCAqmrUPKNadRLI3G4MPKDTCvH5djQv5BW8R8oCc1X7fvVEB6NV2IU6uFc3/zpFuhbxKB+bnXQ7SmF1zy5FGxIUNxkD2/xa6oUOZNCTTdcR/5PCD/plyDChC3jXkdCEyCNdQq4cvzrJ+oiBT7KZvuXxHVH0s3WSb7JPLUp0lox4Dpv0H8dlv7pNCEWgpFVfRpmqhdtH3No4nJ2AVN/3sy7h4G5uj7C2v2MaNpdqPR8uM+F/KvdxYI5ugyJYuXDrtcc/H0M0RMKdWuLvYltLOWp/UZ34HEPOF6kbeyIddLXTyJtCzJFT4ZHynjsN8X0q0D491vTVuzNhxtdYv6F5y1ah9WkpbhBAV7d8kQ4EVwRQAAC2tyAsNBFbtHDcUOeey9cvzEWBjt6x8/LFY4/vqO5OQExbmXW/dzYpZqeZGKe3q3jNPK784r/cRcb5fwdhmw+1ZtSRTvvY39n0/Nbg1a/lP1Vi/xXeTrEqbnW3/YDxpXeNPedw3rncFIPXtvPWuFaoC6EP7f+HnvK9IhEjGMCijfcccUbKDEsVQy9o2Svdam/xgoNWPvlKGOuWyQ1oHIpkaQZJ2wjUPzqyGmCWkewxGuvW74m2r2RqKbJsW0Colzyc7/L+/YCS0PnqUn2gD7KQmcVwOmDOZ032Ly+OKAHC7YvqLSqtIVzXre++0cFhNWxCDDoqefTc9r7bGlIa14cors5txhyvZID0WM25eawZaautKHWlTnHJy4G7Xm8AuK0YgUM13dBgH8Mpa2RhLk6QrimaFm6QEGXzUUEExBvwq8oNj21cnzkoOHJgQKgbnTlSCiWgTCAYqXbWQ0D9JXN3Y+Cd8Kl9Qwp5wDD380uQMyUKNzxfp3rVOtXKwgViVMuR3+3UOfUPy7XbcenQBH6/M26tpKfNo1zK2ZNiXKlfGg1lcnd5CGZrsHG5jJyv041t6AR2xhD7XWpU+TGb2oUMk98JfRpYtY79n3pAAmIHAn52ubhH03uNFGP4SaXqGPD7/ZiA9x6YznD+4Wg6r6VmjkHRFyrj8fKuYpon4DoNmTpkSUHrbT/0gyVDWF9QBlJfL62g8O3Tq61Wcfnjm+2kfrgKFMmkDV04X+7azWrL8qeq6wucJXGZH95xpf9f16S0vV2Tcp4RS3WgJb98aCA1rZ0heltngiPAogwQ1oFIKWY8gqHVTAFZZE4gv8fu/RGtxKlAoPdWo5hmafcXcd3LO5PGm+Oqt6S4PUtPRrA3Hub+AE3qai0EGquDiHNWg78mvnlu1hSPd8gZcwLPXFokRzRHGmsg6GU//luYC3Zrl4V9Kg8gzKlkhXrDGvO9ZW2/iWQuZatoK7Q+KSTywAFFpFVlsfSVdgSPwUI5g2uOQR8AXS+hTAA7MOLdiXLUz+0qNKghfSugQKfgTf43TC0F84KnaXbskA5Ex4QO9e0kUoEQAFY0Cmzt/WO1F3eWSDkyHOeibPRqb0yItFp03pkRaLUN8bMOZqbEJSeuoQzvP3AUE/mlLlnojSly0QsVhAAA==);
  background-position:center;
  box-shadow:0 0 14px rgba(60,59,110,.4),0 0 8px rgba(255,255,255,.15) inset;
}

.nav-search{
  position:relative;
  width:180px;
  margin:0;
  flex-shrink:0;
}
.nav-search input{
  width:100%;
  height:38px;
  padding:0 42px 0 16px;
  border:1.5px solid rgba(255,255,255,.58);
  background:rgba(255,255,255,.08);
  color:currentColor;
  border-radius:999px;
  outline:none;
  font:inherit;
  font-size:14px;
  transition:border-color .25s,background .25s,box-shadow .25s;
}
.site-header.scrolled .nav-search input{
  border-color:rgba(18,20,22,.24);
  background:rgba(255,255,255,.58);
}
.nav-search label{
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  color:currentColor;
  opacity:.62;
  font-size:14px;
  pointer-events:none;
  transition:all .24s ease;
}
.nav-search:after{
  content:"";
  position:absolute;
  right:15px;
  top:50%;
  width:13px;
  height:13px;
  border:2px solid currentColor;
  border-radius:50%;
  opacity:.62;
  transform:translateY(-57%);
}
.nav-search:before{
  content:"";
  position:absolute;
  right:12px;
  top:24px;
  width:7px;
  height:2px;
  background:currentColor;
  opacity:.62;
  transform:rotate(45deg);
}
.nav-search input:focus,
.nav-search input:valid{
  border-color:var(--red);
  background:rgba(255,255,255,.84);
  color:#151719;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.nav-search input:focus~label,
.nav-search input:valid~label{
  top:0;
  transform:translateY(-48%) scale(.86);
  background:#f7f7f4;
  color:#555;
  padding:0 6px;
  opacity:1;
}

.mega-menu--solutions .mega-menu-inner,
.mega-menu--services .mega-menu-inner{
  grid-template-columns:.7fr 1.3fr;
}
.mega-mini-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.mega-mini-grid a{
  min-height:132px;
  border-radius:8px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:white;
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.74)),
    var(--bg) center/cover no-repeat;
}
.mega-mini-grid a:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,91,95,.24),transparent 48%);
  opacity:0;
  transition:opacity .3s;
}
.mega-mini-grid a:hover:before{ opacity:1; }
.mega-mini-grid strong,
.mega-mini-grid small{
  position:relative;
  z-index:1;
}
.mega-mini-grid strong{ font-size:16px; }
.mega-mini-grid small{ margin-top:6px;color:rgba(255,255,255,.85); }
.mega-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.mega-service-grid a{
  min-height:192px;
  border-radius:18px;
  border:1px solid rgba(18,20,22,.07);
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:white;
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.74)),
    var(--bg) center/cover no-repeat;
  transition:transform .35s ease,box-shadow .35s ease;
}
.mega-service-grid a:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 76px rgba(17,20,22,.14);
}
.mega-service-grid small{
  order:-1;
  font-weight:700;
  font-size:13px;
  letter-spacing:.04em;
  color:rgba(255,255,255,.70);
  margin-bottom:4px;
}
.mega-service-grid strong{
  font-size:18px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.02em;
  color:white;
}
.mega-service-grid p{
  color:rgba(255,255,255,.72);
  font-size:13px;
  margin-top:4px;
  line-height:1.5;
}

/* ── V2.22 搜索 / 服务网络 / 关于 ── */
.v22-search-page-form{
  display:flex;
  max-width:660px;
  margin-top:34px;
  background:white;
  border:1px solid rgba(18,20,22,.12);
  box-shadow:0 24px 70px rgba(0,0,0,.14);
}
.v22-search-page-form input{
  flex:1;
  border:0;
  padding:19px 22px;
  font:inherit;
  outline:0;
}
.v22-search-page-form button{
  border:0;
  background:var(--red);
  color:white;
  padding:0 30px;
  font-weight:800;
  cursor:pointer;
}
.v22-search-summary{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin-bottom:54px;
}
.v22-search-summary strong{
  font-size:56px;
  color:#151719;
}
.v22-search-summary span,
.v22-search-summary em{
  color:#666;
}
.v22-empty-search{
  padding:70px;
  background:white;
  border:1px solid #deded8;
}
.v22-service-hero{
  grid-template-columns:minmax(0,1fr) minmax(340px,.68fr);
}
.v22-service-headline{
  margin-top:34px;
}
.v22-service-headline strong{
  display:block;
  color:var(--red);
  font-size:28px;
  margin-bottom:8px;
}
.v22-service-headline span{
  color:#555;
  font-weight:800;
  letter-spacing:.08em;
}
.v22-service-card{
  position:relative;
  z-index:1;
  background:white;
  border:1px solid #deded8;
  border-radius:8px;
  padding:34px;
  box-shadow:0 28px 86px rgba(0,0,0,.12);
}
.v22-service-card img{
  width:132px;
  height:132px;
  margin-bottom:22px;
}
.v22-service-card a{
  display:block;
  color:#0072bc;
  font-weight:800;
  text-decoration:underline;
  margin-bottom:24px;
}
.v22-service-card p{
  color:#56595a;
  line-height:1.8;
}
.v22-map-section{
  margin-bottom:100px;
}
.v22-map-stage{
  background:#151719;
  border-radius:8px;
  padding:44px;
  overflow:hidden;
}
.v22-abstract-map{
  position:relative;
  min-height:520px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 50% 52%,rgba(255,91,95,.16),transparent 34%),
    linear-gradient(135deg,#202427,#111315);
}
.v22-abstract-map i{
  position:absolute;
  left:calc(8% + (var(--i) % 12) * 7.1%);
  top:calc(14% + (var(--i) / 12) * 7.2%);
  width:7px;
  height:7px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
}
.v22-map-pin{
  position:absolute;
  transform:translate(-50%,-50%);
  border:0;
  background:transparent;
  color:white;
  cursor:pointer;
  font:inherit;
  z-index:3;
}
.v22-map-pin>span{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,91,95,.95);
  color:white;
  font-size:12px;
  font-weight:800;
  box-shadow:0 0 0 8px rgba(255,91,95,.12);
}
.v22-pin-card{
  position:absolute;
  left:50%;
  bottom:36px;
  width:250px;
  transform:translateX(-50%) translateY(10px);
  background:white;
  color:#151719;
  padding:12px;
  border-radius:8px;
  box-shadow:0 24px 70px rgba(0,0,0,.25);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.25s;
  text-align:left;
}
.v22-map-pin:hover .v22-pin-card,
.v22-map-pin:focus .v22-pin-card{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.v22-pin-card img{
  width:100%;
  height:96px;
  object-fit:cover;
  border-radius:6px;
}
.v22-pin-card small{
  display:block;
  color:var(--red);
  margin:10px 0 6px;
  font-weight:800;
}
.v22-pin-card strong{
  display:block;
  margin-bottom:6px;
}
.v22-pin-card p{
  margin:4px 0;
  color:#555;
  font-size:12px;
}
.v22-contact-grid,
.v22-team-grid,
.v22-timeline{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.v22-contact-grid article,
.v22-team-grid article,
.v22-timeline article{
  background:white;
  border:1px solid #deded8;
  border-radius:8px;
  padding:28px;
}
.v22-contact-grid small,
.v22-team-grid small,
.v22-timeline small{
  color:var(--red);
  font-weight:800;
  font-size:12px;
}
.v22-contact-grid strong,
.v22-team-grid strong,
.v22-timeline strong{
  display:block;
  margin:14px 0 12px;
  font-size:22px;
}
.v22-contact-grid p,
.v22-team-grid p,
.v22-timeline p{
  color:#606260;
  line-height:1.8;
}
.v22-contact-grid a{
  color:#151719;
  border-bottom:1px solid rgba(18,20,22,.35);
}
.v22-avatar{
  width:72px;
  height:72px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  background:linear-gradient(135deg,#151719,#3a3d40);
  color:white;
  font-weight:900;
}

/* ── V2.22 页脚联系图标升级 ── */
.contact-icon{
  background:#fff;
  border:1px solid rgba(18,20,22,.1);
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}
.contact-icon.wechat-icon:hover{
  background:#07c160;
  border-color:#07c160;
}
.contact-icon.qq-icon:hover{
  background:#12b7f5;
  border-color:#12b7f5;
}
.contact-icon:hover .contact-svg{
  color:white;
  stroke:white;
}

/* ── 解决方案行业矩阵 ── */
.industries{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 34%),
    radial-gradient(circle at 12% 12%,rgba(255,91,95,.16),transparent 30%),
    #141719;
  /* 整屏提升为 GPU 合成层 */
  transform:translateZ(0);
}
.industries:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(180deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:96px 96px;
  /* 去掉 mask-image：首次 paint 创建 GPU 遮罩层导致 ~70fps 掉帧 */
}
/* 用 ::after 背景色渐变覆盖模拟边缘淡出，替代 mask-image */
.industries:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:linear-gradient(180deg,#141719 0%,transparent 18%,transparent 76%,#141719 100%);
}
.solutions-intro{
  position:relative;
  z-index:1;
  max-width:960px;
  margin-bottom:44px;
}
.solutions-intro .eyebrow.dark{ color:rgba(255,255,255,.58); }
.solutions-intro h2{ color:#fff; }
.solutions-intro p:not(.eyebrow){
  max-width:760px;
  color:rgba(255,255,255,.68);
}
.solutions-showcase{
  position:relative;
  z-index:1;
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
}
.solution-card{
  grid-column:span 2;
  min-height:260px;
  border-radius:8px;
  background-image:
    /* 合并两个渐变：左下深右上浅，减少 33% 合成层 */
    linear-gradient(135deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.76) 40%,rgba(0,0,0,.06) 100%),
    var(--bg);
  background-size:100%,cover;
  background-position:center;
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:26px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border:none;  /* V2.65: 去掉白边，所有设备一致 */
  box-shadow:0 24px 70px rgba(0,0,0,.22);
  /* GPU 合成层：首次 paint 时缓存渐变 + 背景图的纹理，
     避免首次进入视口时逐帧创建导致掉帧 */
  transform:translateZ(0);
  transition:transform .42s ease,box-shadow .42s ease,border-color .42s ease,background-size .7s ease;
}
.solution-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(135deg,rgba(255,91,95,.24),transparent 42%);
  opacity:0;
  transition:opacity .42s ease;
}
.solution-card--featured{
  grid-column:span 3;
  min-height:360px;
  padding:34px;
}
.solution-card:hover{
  transform:translateY(-6px) translateZ(0);
  border-color:rgba(255,255,255,.28);
  box-shadow:0 34px 86px rgba(0,0,0,.34);
  background-size:100%,106%;
}
.solution-card:hover:before{ opacity:1; }
.solution-card small{
  order:-1;
  width:max-content;
  max-width:100%;
  margin-bottom:14px;
  color:rgba(255,255,255,.68);
  font-size:11px;
  line-height:1.4;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.solution-card span{
  display:block;
  color:#fff;
  font-size:clamp(22px,2.2vw,34px);
  line-height:1.1;
  font-weight:760;
  letter-spacing:0;
}
.solution-card p{
  max-width:430px;
  margin:14px 0 0;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.75;
}
.solution-card b{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:22px;
  color:#fff;
  font-size:13px;
  line-height:1;
  letter-spacing:0;
  font-weight:700;
  border-bottom:1px solid rgba(255,255,255,.42);
  padding-bottom:7px;
  transition:color .3s ease,border-color .3s ease,transform .3s ease;
}
.solution-card:hover b{
  color:#ff7a7d;
  border-color:#ff7a7d;
  transform:translateX(4px);
}

/* ── "了解更多" 圆形展开按钮（深色系）── */
.learn-more-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  border:0;
  vertical-align:middle;
  text-decoration:none;
  background:transparent;
  padding:0;
  font-size:14px;
  font-family:inherit;
  width:12rem;
  height:auto;
  margin-top:12px;
}
.learn-more-btn .lm-circle{
  transition:all .45s cubic-bezier(.65,0,.076,1);
  position:relative;
  display:block;
  margin:0;
  width:3rem;
  height:3rem;
  background:var(--black);
  border-radius:1.625rem;
  flex-shrink:0;
}
.learn-more-btn .lm-icon{
  transition:all .45s cubic-bezier(.65,0,.076,1);
  position:absolute;
  top:0;
  bottom:0;
  margin:auto;
}
.learn-more-btn .lm-icon.lm-arrow{
  left:.625rem;
  width:1.125rem;
  height:.125rem;
  background:none;
}
.learn-more-btn .lm-icon.lm-arrow::before{
  position:absolute;
  content:"";
  top:-.29rem;
  right:.0625rem;
  width:.625rem;
  height:.625rem;
  border-top:.125rem solid #fff;
  border-right:.125rem solid #fff;
  transform:rotate(45deg);
}
.learn-more-btn .lm-text{
  transition:all .45s cubic-bezier(.65,0,.076,1);
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  padding:.75rem 0;
  margin:0 0 0 1.85rem;
  color:var(--black);
  font-weight:700;
  line-height:1.6;
  text-align:center;
}
.learn-more-btn:hover .lm-circle{ width:100%; }
.learn-more-btn:hover .lm-icon.lm-arrow{ transform:translate(1rem,0); }
.learn-more-btn:hover .lm-text{ color:#fff; }

/* ── 服务卡片可点击 ── */
.service-card-link{
  cursor:pointer;
  transition:transform .3s,box-shadow .3s;
  border-radius:16px;
  padding:8px;
}
.service-card-link:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}
.service-card-link .learn-more-btn{
  margin-top:8px;
}

/* ── Footer 联系方式 SVG 图标 ── */
.contact-svg{
  display:block;
  transition:transform .25s,opacity .25s;
}
.contact-icon:hover .contact-svg{
  transform:scale(1.15);
}
.wechat-svg,.qq-svg,.mail-svg{
  opacity:.82;
}
.contact-icon:hover .wechat-svg{ opacity:1; }
.contact-icon:hover .qq-svg{ opacity:1; }
.contact-icon:hover .mail-svg{ opacity:1; }

/* ═══════════════════════════════════════
   子页面 — 通用布局
   ═══════════════════════════════════════ */
.sub-page{
  min-height:100vh;
  background:var(--white);
}

/* —— 子页面面包屑导航 —— */
.sub-breadcrumb{
  font-size:13px;
  color:rgba(0,0,0,.42);
  margin-bottom:18px;
  letter-spacing:.04em;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
}
.sub-breadcrumb a{
  color:inherit;
  transition:color .25s;
}
.sub-breadcrumb a:hover{
  color:var(--black);
}
.sub-breadcrumb .br-sep{
  margin:0 6px;
  opacity:.42;
  font-size:11px;
}
.sub-breadcrumb .br-current{
  color:var(--black);
  font-weight:600;
}
/* 暗色 Hero 面包屑适配 */
.sub-hero--custom .sub-breadcrumb{ color:rgba(255,255,255,.42); }
.sub-hero--custom .sub-breadcrumb a:hover{ color:rgba(255,255,255,.82); }
.sub-hero--custom .sub-breadcrumb .br-current{ color:white; }
.sub-page-enter{
  animation:subFadeIn .45s ease forwards;
}
@keyframes subFadeIn{
  from{ opacity:0; transform:translateY(16px); }
  to{ opacity:1; transform:translateY(0); }
}

/* ═══════════════════════════════════════════════
   V2.52 — Brain.space 风格子页面排版
   纯文字 · 左右分列 · 大字小字对比 · 加粗强调
   无图片 · 无图标 · 编号 + 横线装饰
   ═══════════════════════════════════════════════ */

/* ── 子页面 Hero 通用 ── */
.sub-hero{
  padding:clamp(120px,16vh,180px) clamp(24px,8vw,128px) clamp(56px,8vh,96px);
  min-height:60vh;
  display:flex;
  align-items:center;
}
.sub-hero-content{
  max-width:840px;
}
.sub-hero-content .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:14px;
  font-size:12px;
  font-weight:850;
  letter-spacing:.24em;
  color:var(--red);
  margin-bottom:24px;
  text-transform:uppercase;
}
.sub-hero-content .eyebrow::before{
  content:"";
  display:inline-block;
  width:42px;
  height:1px;
  background:var(--red);
  opacity:.56;
}
.sub-hero-content h1{
  font-size:clamp(48px,6.4vw,104px);
  line-height:.92;
  letter-spacing:-.06em;
  margin:0 0 clamp(24px,3vh,34px);
  font-weight:900;
  color:#101316;
}
.sub-hero-content p{
  font-size:clamp(17px,1.35vw,22px);
  line-height:1.8;
  color:#3c4044;
  max-width:720px;
}

/* ── 产品 Hero 各色变体 ── */
.sub-hero--infrared{background:linear-gradient(180deg,#f5f7fa 0%,#eaf0f6 100%);}
.sub-hero--infrared h1,.sub-hero--infrared p{color:#121416;}
.sub-hero--seamless{
  background:linear-gradient(180deg,#fafaf8 0%,#f4f3ef 100%);
  flex-direction:column;
  align-items:flex-start;
  gap:0;
}
.sub-hero--seamless .sub-hero-content{max-width:960px;}
.sub-hero--seamless h1{color:#101316;}
.sub-hero--seamless p{color:#3c4044;max-width:720px;}
.sub-hero--manifold{
  background:linear-gradient(180deg,#fafaf7,#f2f1ec);
}
.sub-hero-grid{
  max-width:1180px;
  margin:0 auto;
  width:100%;
}
.sub-hero-grid .sub-hero-left{max-width:840px;}
.sub-hero--manifold h1{color:#101316;}
.sub-hero--manifold p{color:#3c4044;}
.sub-hero--custom{
  background:linear-gradient(180deg,#15181b 0%,#1e2226 60%,#171a1d 100%);
}
.sub-hero--custom .eyebrow{color:rgba(255,255,255,.5);}
.sub-hero--custom h1{color:#fff;}
.sub-hero--custom p{color:rgba(255,255,255,.7);}
.sub-hero--custom .sub-breadcrumb{color:rgba(255,255,255,.42);}
.sub-hero--custom .sub-breadcrumb a:hover{color:rgba(255,255,255,.82);}
.sub-hero--default{
  background:linear-gradient(180deg,#fafaf7,#f0efe9);
}
.sub-hero--default h1{color:#101316;}
.sub-hero--default p{color:#3c4044;}

/* ── Breadcrumb ── */
.sub-breadcrumb{
  margin-bottom:clamp(20px,3vh,28px);
  font-size:13px;
  color:#8d8f90;
}
.sub-breadcrumb a{color:#6c7072;transition:color .25s;}
.sub-breadcrumb a:hover{color:var(--red);}
.br-sep{margin:0 8px;color:#c8c8c0;}
.br-current{color:#3c4044;font-weight:700;}

/* ── 子页面 Body 容器 ── */
.sub-body{
  padding:0 clamp(24px,8vw,128px) clamp(80px,12vh,128px);
  max-width:1180px;
  margin:0 auto;
}

/* ── Body 中隐藏旧图标元素 ── */
.sub-body .sub-spec-icon,
.sub-body .sub-module-icon,
.sub-body .sub-support-icon{display:none;}

/* ── CTA ── */
.sub-cta{
  text-align:left;
  padding:clamp(48px,7vh,72px) 0 0;
}
.sub-cta .btn{padding:16px 42px;font-size:16px;}

/* ═══════════════════════════════════════════════
   产品页 1：红外焊接 — Spec 规格条
   ═══════════════════════════════════════════════ */
.sub-spec-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid rgba(18,20,22,.1);
  border-bottom:1px solid rgba(18,20,22,.1);
  margin-bottom:clamp(60px,9vh,100px);
}
.sub-spec-card{
  padding:clamp(28px,4vh,42px) clamp(20px,3vw,36px);
  border-right:1px solid rgba(18,20,22,.08);
  transition:background .3s ease;
}
.sub-spec-card:last-child{border-right:0;}
.sub-spec-card:hover{background:rgba(18,20,22,.02);}
.sub-spec-card strong{
  display:block;
  font-size:13px;
  font-weight:850;
  color:var(--red);
  letter-spacing:.14em;
  margin-bottom:clamp(10px,2vh,16px);
}
.sub-spec-card span{
  display:block;
  font-size:clamp(22px,2.8vw,42px);
  font-weight:900;
  color:#101316;
  letter-spacing:-.04em;
  line-height:1;
}

/* ═══════════════════════════════════════════════
   产品页：Feature 左右分列文本块
   ═══════════════════════════════════════════════ */
.sub-feature-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);
  gap:clamp(40px,6vw,88px);
  align-items:start;
  padding:clamp(48px,7vh,80px) 0;
  border-top:1px solid rgba(18,20,22,.1);
}
.sub-feature-text{max-width:720px;}
.sub-feature-text h3{
  font-size:clamp(32px,4.8vw,64px);
  line-height:.96;
  letter-spacing:-.055em;
  margin:0 0 clamp(16px,2vh,22px);
  color:#101316;
  font-weight:900;
}
.sub-feature-text p{
  font-size:clamp(15px,1.05vw,18px);
  line-height:1.85;
  color:#45494c;
  margin-bottom:clamp(24px,3vh,36px);
}

/* ── Feature 大段落地块（无配图，全宽） ── */
.sub-feature-text-full{
  padding:clamp(48px,7vh,80px) 0;
  border-top:1px solid rgba(18,20,22,.1);
}
.sub-feature-text-full h3{
  font-size:clamp(28px,3.6vw,52px);
  line-height:1.02;
  letter-spacing:-.05em;
  margin:0 0 clamp(16px,2vh,22px);
  color:#101316;
  font-weight:900;
}
.sub-feature-text-full p{
  font-size:clamp(16px,1.1vw,19px);
  line-height:1.85;
  color:#45494c;
}

/* ═══════════════════════════════════════════════
   产品页 2：无缝焊接 — 工艺流程 + 对比
   ═══════════════════════════════════════════════ */
.sub-process-flow{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(16px,2vw,28px);
  padding:clamp(48px,7vh,72px) 0;
  flex-wrap:wrap;
}
.sub-process-step{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.sub-process-step span{
  width:56px;
  height:56px;
  border-radius:50%;
  background:#101316;
  color:#fff;
  font-weight:900;
  font-size:18px;
  display:grid;
  place-items:center;
}
.sub-process-step strong{
  font-size:14px;
  font-weight:850;
  color:#3c4044;
  letter-spacing:.04em;
}
.sub-process-connector{
  color:#c8c8c2;
  font-size:22px;
  font-weight:300;
  margin-top:-18px;
}

.sub-compare{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:clamp(16px,2vw,28px);
  align-items:start;
  max-width:900px;
  padding:0 0 clamp(48px,7vh,72px);
}
.sub-compare-card{
  padding:clamp(28px,4vw,42px);
  border-radius:16px;
}
.sub-compare--old{
  background:#f5f5f2;
  border:1px solid #e0e0d8;
}
.sub-compare--new{
  background:#f2f8f2;
  border:1px solid #8fbc8f;
}
.sub-compare-card h4{
  font-size:clamp(16px,1.2vw,19px);
  font-weight:900;
  margin:0 0 18px;
  color:#101316;
  letter-spacing:-.03em;
}
.sub-compare-card ul{
  list-style:none;
  padding:0;
  margin:0;
  font-size:14px;
  color:#55595b;
  line-height:2.1;
}
.sub-compare-vs{
  font-size:20px;
  font-weight:900;
  color:#c8c8c2;
  align-self:center;
}

/* ═══════════════════════════════════════════════
   产品页 3：分水器 — 能力指标
   ═══════════════════════════════════════════════ */
.sub-capability-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-bottom:clamp(60px,9vh,100px);
  border-top:1px solid rgba(18,20,22,.1);
  border-bottom:1px solid rgba(18,20,22,.1);
}
.sub-cap-card{
  padding:clamp(28px,4vh,44px) clamp(20px,3vw,36px);
  border-right:1px solid rgba(18,20,22,.08);
  transition:background .3s ease;
}
.sub-cap-card:last-child{border-right:0;}
.sub-cap-card:hover{background:rgba(18,20,22,.02);}
.sub-cap-num{
  font-size:clamp(32px,4.8vw,64px);
  font-weight:900;
  letter-spacing:-.05em;
  line-height:1;
  color:#101316;
  margin-bottom:10px;
}
.sub-cap-card small{
  display:block;
  font-size:13px;
  font-weight:850;
  color:var(--red);
  letter-spacing:.14em;
}

/* ═══════════════════════════════════════════════
   产品页 4 + 解决方案页：Module 编辑式条目
   ═══════════════════════════════════════════════ */
.sub-module-grid{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-bottom:0;
  border-top:1px solid rgba(18,20,22,.1);
  counter-reset:module-counter;
}
.sub-module-card{
  display:block;
  padding:clamp(36px,5vh,56px) 0;
  border-bottom:1px solid rgba(18,20,22,.07);
  transition:padding .3s ease,background .3s ease;
}
.sub-module-card:hover{
  padding-left:24px;
  padding-right:24px;
  margin:0 -24px;
  background:rgba(18,20,22,.012);
  border-radius:6px;
}
.sub-module-card .sub-module-icon{
  display:none;
}
/* ── 编号：独立一行在上方 ── */
.sub-module-card::before{
  display:block;
  content:counter(module-counter,decimal-leading-zero);
  counter-increment:module-counter;
  font-size:13px;
  font-weight:900;
  color:var(--red);
  letter-spacing:.14em;
  margin-bottom:clamp(14px,2vh,22px);
  font-variant-numeric:tabular-nums;
}
.sub-module-card h4{
  font-size:clamp(24px,2.8vw,42px);
  font-weight:900;
  margin:0 0 clamp(12px,2vh,18px);
  color:#101316;
  letter-spacing:-.05em;
  line-height:1.06;
}
.sub-module-card p{
  font-size:clamp(15px,.95vw,17px);
  color:#55595b;
  line-height:1.85;
  margin:0;
}

/* ═══════════════════════════════════════════════
   服务页 1：售前 — 时间线增强
   ═══════════════════════════════════════════════ */
.sub-hero--presale{
  background:linear-gradient(180deg,#f5f7fa,#eaf0f6);
}
.sub-hero--presale h1{color:#101316;}
.sub-hero--presale p{color:#3c4044;}

.sub-timeline{
  max-width:800px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:0;
  position:relative;
  padding-left:56px;
}
.sub-timeline:before{
  content:"";
  position:absolute;
  left:26px;
  top:8px;
  bottom:8px;
  width:2px;
  background:linear-gradient(180deg,rgba(18,20,22,.12),rgba(18,20,22,.04));
}
.sub-tl-item{
  display:flex;
  gap:clamp(22px,4vw,36px);
  padding:clamp(24px,4vh,36px) 0;
  position:relative;
  align-items:start;
}
.sub-tl-dot{
  width:52px;
  height:52px;
  border-radius:50%;
  background:#101316;
  color:#fff;
  font-size:18px;
  font-weight:900;
  display:grid;
  place-items:center;
  flex-shrink:0;
  z-index:1;
}
.sub-tl-content{max-width:600px;}
.sub-tl-content h4{
  margin:0 0 8px;
  font-size:clamp(18px,1.6vw,24px);
  font-weight:900;
  color:#101316;
  letter-spacing:-.03em;
}
.sub-tl-content p{
  margin:0;
  font-size:15px;
  color:#55595b;
  line-height:1.85;
}

/* ═══════════════════════════════════════════════
   服务页 2：售中 — 清单增强
   ═══════════════════════════════════════════════ */
.sub-hero--insale{
  background:linear-gradient(180deg,#f8f7f4,#f0efe8);
}
.sub-hero--insale h1{color:#101316;}
.sub-hero--insale p{color:#3c4044;}

.sub-checklist{
  max-width:800px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:0;
  border-top:1px solid rgba(18,20,22,.1);
}
.sub-check-item{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:clamp(18px,2vw,28px);
  align-items:start;
  padding:clamp(24px,3vh,32px) 0;
  border-bottom:1px solid rgba(18,20,22,.07);
}
.sub-check-mark{
  width:40px;
  height:40px;
  border-radius:50%;
  background:#101316;
  color:#fff;
  font-size:14px;
  font-weight:900;
  display:grid;
  place-items:center;
  flex-shrink:0;
}
.sub-check-item h4{
  margin:0 0 6px;
  font-size:clamp(16px,1.4vw,20px);
  font-weight:900;
  color:#101316;
}
.sub-check-item p{
  margin:0;
  font-size:14px;
  color:#55595b;
  line-height:1.75;
}

/* ═══════════════════════════════════════════════
   服务页 3：售后 — 支持卡片增强
   ═══════════════════════════════════════════════ */
.sub-hero--aftersale{
  background:linear-gradient(180deg,#f9f8f4,#f2efe6);
}
.sub-hero--aftersale h1{color:#101316;}
.sub-hero--aftersale p{color:#3c4044;}

.sub-support-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
  border-top:1px solid rgba(18,20,22,.1);
}
.sub-support-card{
  padding:clamp(28px,4vh,42px) clamp(24px,3vw,40px);
  border-right:1px solid rgba(18,20,22,.07);
  border-bottom:1px solid rgba(18,20,22,.07);
  transition:background .3s ease;
}
.sub-support-card:nth-child(even){border-right:0;}
.sub-support-card:hover{background:rgba(18,20,22,.015);}
.sub-support-card h4{
  font-size:clamp(18px,1.6vw,24px);
  font-weight:900;
  margin:0 0 10px;
  color:#101316;
  letter-spacing:-.03em;
}
.sub-support-card p{
  font-size:14px;
  color:#55595b;
  line-height:1.75;
  margin:0;
}

/* ═══════════════════════════════════════════════
   子页面 Footer CTA
   ═══════════════════════════════════════════════ */
.sub-page-footer{
  margin:0 clamp(24px,8vw,128px) clamp(60px,8vh,100px);
  border-radius:16px;
  background:#101316;
  color:#fff;
  overflow:hidden;
  position:relative;
}
.sub-page-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 82% 18%,rgba(255,91,95,.18),transparent 38%);
  pointer-events:none;
}
.sub-page-footer-inner{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(28px,4vw,56px);
  padding:clamp(42px,6vw,64px);
  flex-wrap:wrap;
}
.sub-footer-text strong{
  display:block;
  font-size:clamp(24px,2.8vw,38px);
  font-weight:900;
  letter-spacing:-.04em;
  margin-bottom:12px;
}
.sub-footer-text p{
  font-size:15px;
  color:rgba(255,255,255,.62);
  line-height:1.7;
  max-width:540px;
  margin:0;
}
.sub-footer-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  flex-shrink:0;
}

/* ═══════════════════════════════════════
   V2.13 移动端 / 响应式
   ═══════════════════════════════════════ */
@media(max-width:820px){
  /* Mega-menu 移动端 */
  .mega-menu-inner{
    grid-template-columns:1fr;
    gap:16px;
    padding:0 20px;
  }
  .mega-menu.mega-open{ padding:24px 0 28px; }
  .mega-card{ padding:10px; }
  .mega-card-img{ width:44px; height:44px; }
  .mega-menu--v21 .mega-menu-inner{
    grid-template-columns:1fr;
  }
  .mega-overview{
    min-height:auto;
    padding:26px;
  }
  .mega-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mega-mini-grid,
  .mega-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .nav-search{
    display:none;
  }
  .lang-radio-group{
    transform:scale(0.75);
    transform-origin:right center;
  }
  .nav-solution-link{
    display:none;
  }
  .mega-product-card{
    min-height:230px;
  }

  .v21-hero{
    min-height:auto;
    grid-template-columns:1fr;
    gap:34px;
    padding:118px 28px 56px;
  }
  .v21-hero-visual,
  .v21-hero-visual img{
    min-height:300px;
  }
  .v21-content{
    padding:54px 28px 0;
  }
  .v21-metrics,
  .v21-info-grid,
  .v21-card-grid,
  .v21-card-grid--overview,
  .v21-card-grid--compact,
  .v21-section-head{
    grid-template-columns:1fr;
  }
  .v21-metrics,
  .v21-section,
  .v21-info-block{
    margin-bottom:64px;
  }

  /* 解决方案行业矩阵 */
  .solutions-showcase{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
  .solution-card--featured{ grid-column:span 1; }
  .solution-card{
    grid-column:span 1;
    min-height:260px;
    padding:24px;
  }

  /* 子页面 Hero */
  .sub-hero{ padding:120px 24px 60px; min-height:auto; }
  .sub-hero-content h1{ font-size:clamp(34px,9vw,56px); }
  .sub-hero-grid{ grid-template-columns:1fr; gap:30px; }

  /* 子页面 Body */
  .sub-body{ padding:0 24px 60px; }

  /* 网格降级为 2 列 */
  .sub-spec-grid,
  .sub-capability-grid,
  .sub-support-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .sub-feature-split{ grid-template-columns:1fr; gap:30px; }
  .sub-process-flow{ flex-direction:column; gap:8px; }
  .sub-process-connector{ transform:rotate(90deg); }
  .sub-compare{ grid-template-columns:1fr; }
  .sub-timeline{ padding-left:0; }
  .sub-timeline:before{ display:none; }
}

@media(max-width:560px){
  .sub-spec-grid,
  .sub-capability-grid,
  .sub-support-grid{
    grid-template-columns:1fr;
  }
  .sub-hero-content h1{ font-size:clamp(30px,11vw,48px); }
  .solutions-intro{ margin-bottom:30px; }
  .solutions-showcase{ grid-template-columns:1fr; }
  .solution-card{
    min-height:250px;
    padding:22px;
  }
  .solution-card--featured{ min-height:320px; }
  .mega-product-grid{
    grid-template-columns:1fr;
  }
  .mega-product-card{
    min-height:0;
  }
  .mega-card-main img{
    height:120px;
  }
  .v21-hero{
    padding:106px 22px 46px;
  }
  .v21-hero h1{
    font-size:clamp(34px,11vw,54px);
  }
  .v21-lead{
    font-size:15px;
  }
  .v21-hero-actions{
    display:grid;
  }
  .v21-hero-actions .btn{
    width:100%;
    margin-right:0;
  }
  .v21-content{
    padding-left:22px;
    padding-right:22px;
  }
  .v21-metric,
  .v21-info-grid article,
  .v21-card-copy{
    padding:22px;
  }
  .v21-card-media{
    height:180px;
  }
  .mega-mini-grid,
  .mega-service-grid{
    grid-template-columns:1fr;
  }
  .v22-search-page-form{
    display:grid;
  }
  .v22-search-page-form button{
    min-height:52px;
  }
  .v22-map-stage{
    padding:18px;
  }
  .v22-abstract-map{
    min-height:430px;
  }
  .v22-pin-card{
    width:220px;
  }
  .v22-contact-grid,
  .v22-team-grid,
  .v22-timeline{
    grid-template-columns:1fr;
  }
  .v22-service-card{
    padding:24px;
  }
}


/* ═══════════════════════════════════════
   V2.17 新增：子页面底部 CTA + 行业子页详细样式
   ═══════════════════════════════════════ */

/* ── Ghost Dark 按钮样式 ── */
.btn.ghost-dark{
  border:1px solid rgba(255,255,255,.35);
  color:rgba(255,255,255,.82);
  background:transparent;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  padding:14px 30px;
  font-size:15px;
  border-radius:999px;
  cursor:pointer;
  transition:background .25s,border-color .25s;
  font-family:inherit;
}
.btn.ghost-dark:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.6);
}

/* ── 行业子页 Hero 左对齐 ── */
.sub-hero--default .sub-hero-content{
  max-width:860px;
}
.sub-hero--default p{
  color:#3c4044;
}

/* ── 行业子页响应式 ── */
@media(max-width:820px){
  .sub-page-footer-inner{
    flex-direction:column;
    align-items:flex-start;
    padding:42px 32px;
  }
  .sub-footer-actions{
    width:100%;
  }
  .sub-footer-actions .btn{
    flex:1;
    text-align:center;
  }
}
@media(max-width:560px){
  .sub-page-footer-inner{
    padding:36px 24px;
  }
  .sub-footer-text strong{
    font-size:22px;
  }
  .sub-footer-actions{
    flex-direction:column;
  }
}

.mega-service-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.contact-icon{
  width:42px;
  height:42px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(18,20,22,.1);
  box-shadow:0 12px 26px rgba(0,0,0,.09);
}
.contact-icon:hover,
.contact-icon.wechat-icon:hover,
.contact-icon.qq-icon:hover,
.contact-icon.mail-icon:hover{
  background:#fff;
  border-color:rgba(18,20,22,.18);
  transform:translateY(-3px);
}
.contact-img,
.contact-svg{
  width:24px;
  height:24px;
  display:block;
  object-fit:contain;
  opacity:.9;
  transition:opacity .25s,transform .25s;
}
.contact-icon:hover .contact-img,
.contact-icon:hover .contact-svg,
.contact-icon:hover .wechat-svg,
.contact-icon:hover .qq-svg,
.contact-icon:hover .mail-svg{
  opacity:1;
  transform:scale(1.04);
}

.v23-editorial-block{
  max-width:1180px;
  margin:0 auto 112px;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(300px,.86fr);
  grid-template-areas:
    "copy visual"
    "notes visual";
  gap:34px clamp(44px,6vw,86px);
  align-items:start;
}
.v23-editorial-block--reverse{
  grid-template-columns:minmax(300px,.86fr) minmax(0,1.04fr);
  grid-template-areas:
    "visual copy"
    "visual notes";
}
.v23-editorial-copy{
  grid-area:copy;
  padding-top:18px;
}
.v23-editorial-copy>small{
  display:block;
  color:var(--red);
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:22px;
}
.v23-editorial-copy h2{
  margin:0 0 24px;
  color:#121416;
  font-size:clamp(42px,5.6vw,76px);
  line-height:.98;
  letter-spacing:0;
}
.v23-editorial-lead{
  max-width:620px;
  color:#25282a;
  font-size:clamp(22px,2.4vw,34px);
  line-height:1.42;
  margin:0;
}
.v23-editorial-visual{
  grid-area:visual;
  margin:0;
  border-radius:8px;
  overflow:hidden;
  min-height:520px;
  background:#e6e6df;
}
.v23-editorial-visual img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  display:block;
}
.v23-editorial-notes{
  grid-area:notes;
  display:grid;
  gap:26px;
  max-width:720px;
  padding-top:8px;
}
.v23-editorial-notes article{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:22px;
  border-top:1px solid rgba(18,20,22,.14);
  padding-top:24px;
}
.v23-editorial-notes small{
  color:var(--red);
  font-size:12px;
  font-weight:800;
}
.v23-editorial-notes p{
  margin:0;
  color:#53575a;
  font-size:16px;
  line-height:1.9;
}

.v23-contact-hero{
  min-height:78vh;
}
.v22-map-stage{
  padding:28px;
  background:#f4f4ef;
  border:1px solid rgba(18,20,22,.08);
  border-radius:8px;
  overflow:visible;
}
.v22-abstract-map{
  min-height:650px;
  border-radius:8px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.88),rgba(236,237,231,.72)),
    radial-gradient(circle at 68% 48%,rgba(220,44,38,.08),transparent 34%);
  box-shadow:inset 0 0 0 1px rgba(18,20,22,.05);
  overflow:visible;
}
.v22-map-title{
  position:absolute;
  left:32px;
  top:28px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.v22-map-title span{
  color:#777b7c;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.v22-map-title strong{
  color:#151719;
  font-size:34px;
  letter-spacing:.22em;
}
.v22-abstract-map i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(151,154,158,.44);
  box-shadow:0 0 0 1px rgba(255,255,255,.35);
}
.v22-map-lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:2;
}
.v22-map-lines line{
  stroke:rgba(220,44,38,.28);
  stroke-width:.18;
  stroke-dasharray:1.2 1.2;
}
.v22-pin-dot{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:14px;
  height:14px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#dc2c26;
  box-shadow:0 0 0 7px rgba(220,44,38,.12),0 12px 22px rgba(220,44,38,.25);
  pointer-events:auto;
  z-index:4;
}
.v22-map-callout{
  position:absolute;
  left:var(--lx);
  top:var(--ly);
  min-width:132px;
  margin:0;
  padding:10px 12px;
  border-radius:8px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(18,20,22,.1);
  box-shadow:0 18px 42px rgba(0,0,0,.12);
  pointer-events:auto;
  cursor:default;
  z-index:10;
}
.v22-map-callout:hover,
.v22-map-callout:focus,
.v22-map-callout:focus-within,
.v22-map-callout.is-open {
  z-index:20;
}
.v22-map-callout small{
  display:block;
  color:#8a8d8e;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.v22-map-callout strong{
  display:block;
  color:#151719;
  font-size:16px;
}
.v22-pin-card{
  position:absolute;
  left:50%;
  top:calc(100% + 12px);
  bottom:auto;
  width:270px;
  transform:translate(-50%,10px);
  border-radius:8px;
  border:1px solid rgba(18,20,22,.1);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.25s ease, transform .25s ease, opacity .25s ease;
  z-index:7;
}
.v22-map-callout.popover-up .v22-pin-card{
  top:auto;
  bottom:calc(100% + 12px);
  transform:translate(-50%,-10px);
}
.v22-map-callout:hover .v22-pin-card,
.v22-map-callout:focus .v22-pin-card,
.v22-map-callout:focus-within .v22-pin-card,
.v22-map-callout.is-open .v22-pin-card{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.v22-map-callout.popover-up:hover .v22-pin-card,
.v22-map-callout.popover-up:focus .v22-pin-card,
.v22-map-callout.popover-up:focus-within .v22-pin-card,
.v22-map-callout.popover-up.is-open .v22-pin-card{
  transform:translate(-50%,0);
}
.v22-pin-card p{
  margin-top:7px;
}
.v23-contact-footer{
  margin-top:78px;
}

.v23-about-hero{
  min-height:88vh;
  padding:132px clamp(28px,7vw,108px) 74px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);
  gap:clamp(34px,6vw,86px);
  align-items:start;
  background:
    linear-gradient(90deg,rgba(250,250,247,.96),rgba(250,250,247,.86) 45%,rgba(250,250,247,.62)),
    var(--hero-img) center/cover;
}
.v23-about-hero-copy{
  max-width:760px;
}
.v23-about-hero-copy .sub-breadcrumb{
  margin-bottom:26px;
}
.v23-about-hero-copy .eyebrow{
  color:var(--red);
  font-size:12px;
  letter-spacing:.18em;
  font-weight:800;
  margin:0 0 22px;
}
.v23-about-hero-copy h1{
  color:#111416;
  font-size:clamp(52px,7.2vw,108px);
  line-height:.96;
  letter-spacing:0;
  margin:0 0 28px;
}
.v23-about-hero-copy .v21-lead{
  color:#34383a;
  font-size:clamp(18px,1.8vw,25px);
  line-height:1.72;
  max-width:680px;
}
.v23-about-hero-visual{
  margin:0;
  border-radius:8px;
  overflow:hidden;
  background:#e8e8e0;
  box-shadow:0 34px 80px rgba(0,0,0,.14);
}
.v23-about-hero-visual img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
}
.v23-about-hero-visual figcaption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  background:#151719;
  color:white;
}
.v23-about-hero-visual figcaption span{
  color:rgba(255,255,255,.58);
  font-size:12px;
}
.v23-about-hero-visual figcaption strong{
  letter-spacing:.2em;
}
.v22-team-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.v22-team-grid article{
  display:grid;
  grid-template-columns:156px minmax(0,1fr);
  gap:22px;
  align-items:stretch;
  padding:0;
  overflow:hidden;
}
.v23-team-photo{
  margin:0;
  min-height:210px;
  background:#e8e8e1;
}
.v23-team-photo img{
  width:100%;
  height:100%;
  min-height:210px;
  display:block;
  object-fit:cover;
  filter:saturate(.78);
}
.v23-team-copy{
  padding:26px 26px 26px 0;
}

@media(max-width:1020px){
  .v23-editorial-block,
  .v23-editorial-block--reverse,
  .v23-about-hero{
    grid-template-columns:1fr;
    grid-template-areas:"copy" "visual" "notes";
  }
  .v23-editorial-visual,
  .v23-editorial-visual img{
    min-height:380px;
  }
  .v22-abstract-map{
    min-height:720px;
  }
  .v22-team-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:1180px){
  .site-header{
    padding:0 30px;
    gap:18px;
  }
  .brand{
    font-size:28px;
    letter-spacing:.2em;
  }
  .nav-links{
    gap:20px;
    font-size:15px;
  }
  .nav-search{
    width:150px;
  }
  .lang-radio-group{
    min-width:142px;
  }
}

@media(max-width:720px){
  .lang-radio-group{
    min-width:124px;
  }
  .lang-radio-group label{
    min-width:58px;
    height:30px;
    padding:0 10px;
    font-size:12px;
  }
  .mega-service-grid{
    grid-template-columns:1fr;
  }
  .v23-editorial-block,
  .v23-editorial-block--reverse{
    margin-bottom:76px;
    gap:28px;
  }
  .v23-editorial-copy h2{
    font-size:40px;
  }
  .v23-editorial-lead{
    font-size:21px;
  }
  .v23-editorial-notes article{
    grid-template-columns:1fr;
    gap:10px;
  }
  .v22-map-stage{
    padding:12px;
    margin-left:calc(50% - 50vw + 12px);
    margin-right:calc(50% - 50vw + 12px);
  }
  .v22-abstract-map{
    min-height:760px;
  }
  .v22-map-callout{
    min-width:116px;
    padding:8px 9px;
  }
  .v22-map-callout strong{
    font-size:14px;
  }
  .v22-pin-card{
    width:230px;
  }
  .v22-contact-grid{
    grid-template-columns:1fr;
  }
  .v23-about-hero{
    min-height:auto;
    padding:118px 22px 56px;
  }
  .v23-about-hero-copy h1{
    font-size:48px;
  }
  .v22-team-grid article{
    grid-template-columns:1fr;
  }
  .v23-team-copy{
    padding:0 24px 26px;
  }
}

/* ── 解决方案轮播容器 ── */
.solutions-showcase{
  position:relative;
  z-index:1;
  max-width:1280px;
  margin:0 auto;
  /* 覆盖原来的 grid 布局 */
  display:block !important;
  /* 为左右箭头留出空间 */
  padding:0 36px;
}

.sol-carousel-viewport{
  overflow:hidden;
  border-radius:12px;
  position:relative;
}

.sol-carousel-track{
  display:flex;
  gap:18px;
  /* 每次展示3张，每张1/3宽度（含gap） */
  transition:transform .6s cubic-bezier(.16,1,.3,1);
  will-change:transform;
}

/* 轮播中的卡片统一为1/3宽 */
.sol-carousel-track .solution-card{
  /* 覆盖原有的 grid-column: span 3 */
  grid-column:unset !important;
  /* 每张卡片占1/3视口 - gap */
  flex:0 0 calc(33.333% - 12px);
  min-height:380px;
  /* 所有卡片统一使用 featured 的 padding */
  padding:34px;
}

/* 左右箭头按钮 */
.sol-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:52px;
  height:52px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.6);
  color:#141719;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10;
  box-shadow:0 8px 32px rgba(0,0,0,.22),0 2px 8px rgba(0,0,0,.14);
  transition:background .25s,box-shadow .25s,transform .25s;
  backdrop-filter:blur(10px);
}
.sol-arrow:hover{
  background:#fff;
  box-shadow:0 14px 42px rgba(0,0,0,.3);
  transform:translateY(-50%) scale(1.08);
}
.sol-arrow:active{
  transform:translateY(-50%) scale(.96);
}
.sol-arrow--prev{
  left:0;
}
.sol-arrow--next{
  right:0;
}
/* 禁用状态 */
.sol-arrow.is-disabled{
  opacity:.32;
  pointer-events:none;
}

/* 分页指示器圆点 */
.sol-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:26px;
}
.sol-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(255,255,255,.32);
  cursor:pointer;
  transition:background .3s, transform .3s, width .3s;
  border:none;
  padding:0;
}
.sol-dot.is-active{
  background:rgba(255,255,255,.9);
  width:24px;
  border-radius:4px;
}
.sol-dot:hover{
  background:rgba(255,255,255,.6);
}

/* 响应式：平板展示2张，手机展示1张 */
@media(max-width:900px){
  .sol-carousel-track .solution-card{
    flex:0 0 calc(50% - 9px);
    min-height:320px;
  }
  .sol-arrow--prev{ left:-18px; }
  .sol-arrow--next{ right:-18px; }
}
@media(max-width:600px){
  .sol-carousel-track .solution-card{
    flex:0 0 calc(100% - 0px);
    min-height:320px;
    padding:28px;
    border:none;  /* 去掉白边 */
    border-radius:12px;
  }
  .sol-arrow{ display:none; }
  .solutions-showcase{ padding:0 4px; }  /* 减小两侧留白，让卡片更宽 */
  .sol-dot.is-active{
    width:28px;
  }
}

/* ── 首屏到第二屏平滑跳转提示箭头 ── */
.hero-scroll-hint{
  position:absolute;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  z-index:5;
  display:flex;
  flex-direction:column;
  align-items:center;
  opacity:0;
  animation:hintFadeIn 1s 3s forwards;
  pointer-events:auto;
  cursor:pointer;
}
.hero-scroll-hint-arrow{
  width:30px;
  height:30px;
  border-right:2px solid rgba(255,255,255,.5);
  border-bottom:2px solid rgba(255,255,255,.5);
  transform:rotate(45deg);
  animation:scrollBounce 1.6s ease-in-out infinite;
}
@keyframes hintFadeIn{
  to{ opacity:1; }
}
@keyframes scrollBounce{
  0%,100%{ transform:rotate(45deg) translateY(0); }
  50%{ transform:rotate(45deg) translateY(5px); }
}

/* ── V2.26 About page: Apple / Tesla inspired editorial layout ── */
.about-v26-hero{min-height:100vh;padding:132px clamp(24px,7vw,112px) 72px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(38px,6vw,88px);align-items:center;background:radial-gradient(circle at 78% 22%,rgba(255,91,95,.14),transparent 26%),linear-gradient(180deg,#fbfbf8 0%,#f1f0eb 100%);overflow:hidden}.about-v26-hero__copy{max-width:820px}.about-v26-kicker{margin:0 0 18px;color:var(--red);font-size:12px;font-weight:850;letter-spacing:.24em}.about-v26-hero h1{margin:0;color:#111416;font-size:clamp(50px,7vw,112px);line-height:.94;letter-spacing:-.065em}.about-v26-lead{max-width:710px;margin:30px 0 0;color:#34383a;font-size:clamp(18px,1.55vw,24px);line-height:1.78}.about-v26-hero__actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:10px}.about-v26-hero__visual{position:relative;min-height:640px;border-radius:10px;overflow:hidden;background:#151719;box-shadow:0 42px 110px rgba(17,20,22,.2)}.about-v26-hero__visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.52));z-index:1}.about-v26-hero__visual img{width:100%;height:100%;min-height:640px;object-fit:cover;filter:saturate(.72) contrast(1.05)}.about-v26-glass-card{position:absolute;left:28px;right:28px;bottom:28px;z-index:2;padding:22px 24px;border:1px solid rgba(255,255,255,.22);background:rgba(18,20,22,.48);backdrop-filter:blur(18px);color:#fff}.about-v26-glass-card span{display:block;margin-bottom:8px;color:rgba(255,255,255,.58);font-size:11px;letter-spacing:.22em}.about-v26-glass-card strong{font-size:clamp(20px,2vw,32px);letter-spacing:-.02em}.about-v26-main{background:#fbfbf8}.about-v26-manifest{padding:110px clamp(24px,8vw,128px);display:grid;grid-template-columns:.82fr 1fr;gap:clamp(34px,7vw,110px);align-items:end;border-bottom:1px solid rgba(18,20,22,.08)}.about-v26-manifest h2,.about-v26-section-head h2,.about-v26-story h2,.about-v26-cta h2{margin:0;color:#111416;font-size:clamp(42px,5.7vw,88px);line-height:.98;letter-spacing:-.055em}.about-v26-manifest>p{margin:0;color:#383b3d;font-size:clamp(22px,2.2vw,34px);line-height:1.45;letter-spacing:-.03em}.about-v26-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(18,20,22,.08)}.about-v26-metrics article{padding:42px clamp(24px,5vw,80px);border-right:1px solid rgba(18,20,22,.08)}.about-v26-metrics article:last-child{border-right:0}.about-v26-metrics strong{display:block;color:#111416;font-size:clamp(44px,6vw,86px);line-height:.9;letter-spacing:-.06em}.about-v26-metrics span{display:block;margin-top:16px;color:#676b6d;font-size:15px}.about-v26-story{padding:128px clamp(24px,8vw,128px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:clamp(42px,7vw,112px);align-items:center}.about-v26-story figure{margin:0;border-radius:10px;overflow:hidden;background:#e8e7e0;box-shadow:0 28px 78px rgba(0,0,0,.12)}.about-v26-story img{width:100%;aspect-ratio:5/6;display:block;object-fit:cover;filter:saturate(.75)}.about-v26-story__copy p:not(.about-v26-kicker),.about-v26-section-head p,.about-v26-cta p{color:#55595b;font-size:17px;line-height:1.9;max-width:680px}.about-v26-principles,.about-v26-team{padding:0 clamp(24px,8vw,128px) 128px}.about-v26-section-head{max-width:880px;margin-bottom:54px}.about-v26-pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(18,20,22,.14);border-left:1px solid rgba(18,20,22,.08)}.about-v26-pillar-grid article{min-height:300px;padding:30px 26px;display:flex;flex-direction:column;border-right:1px solid rgba(18,20,22,.08);border-bottom:1px solid rgba(18,20,22,.08);transition:background .28s ease,transform .28s ease}.about-v26-pillar-grid article:hover{background:#fff;transform:translateY(-6px)}.about-v26-pillar-grid small{color:var(--red);font-weight:800}.about-v26-pillar-grid h3,.about-v26-role-grid h3{margin:auto 0 14px;color:#111416;font-size:24px;letter-spacing:-.03em}.about-v26-pillar-grid p,.about-v26-role-grid p{margin:0;color:#5d6264;line-height:1.82}.about-v26-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.about-v26-role-grid article{background:#fff;border:1px solid rgba(18,20,22,.08);border-radius:10px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.05)}.about-v26-role-photo{height:260px;overflow:hidden;background:#ecebe5}.about-v26-role-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.about-v26-role-grid article>div:last-child{padding:26px 26px 30px}.about-v26-cta{margin:0 clamp(24px,8vw,128px) 118px;padding:58px clamp(28px,5vw,70px);display:flex;align-items:end;justify-content:space-between;gap:28px;background:#111416;color:#fff;border-radius:10px;overflow:hidden;position:relative}.about-v26-cta:before{content:"";position:absolute;right:-8%;top:-80%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,91,95,.34),transparent 62%)}.about-v26-cta>div,.about-v26-cta>a{position:relative;z-index:1}.about-v26-cta h2{color:#fff;max-width:820px}.about-v26-cta p{color:rgba(255,255,255,.68)}@media(max-width:1020px){.about-v26-hero,.about-v26-manifest,.about-v26-story{grid-template-columns:1fr}.about-v26-hero__visual,.about-v26-hero__visual img{min-height:520px}.about-v26-pillar-grid{grid-template-columns:repeat(2,1fr)}.about-v26-role-grid{grid-template-columns:1fr}.about-v26-cta{align-items:flex-start;flex-direction:column}}@media(max-width:680px){.about-v26-hero{padding:112px 22px 56px}.about-v26-hero h1{font-size:48px}.about-v26-hero__visual,.about-v26-hero__visual img{min-height:420px}.about-v26-manifest,.about-v26-story{padding:82px 22px}.about-v26-metrics{grid-template-columns:1fr}.about-v26-metrics article{border-right:0;border-bottom:1px solid rgba(18,20,22,.08)}.about-v26-pillar-grid{grid-template-columns:1fr}.about-v26-principles,.about-v26-team{padding:0 22px 88px}.about-v26-cta{margin:0 22px 88px;padding:38px 26px}.about-v26-manifest h2,.about-v26-section-head h2,.about-v26-story h2,.about-v26-cta h2{font-size:40px}}

/* ── V2.27 subpage system: premium editorial layouts, fewer connected cells ── */
.v21-content{max-width:none;padding:0;background:#fbfbf8;}
.v21-hero{min-height:86vh;padding:132px clamp(24px,7vw,112px) 76px;grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);gap:clamp(36px,6vw,88px);background:radial-gradient(circle at 74% 18%,rgba(255,91,95,.13),transparent 28%),linear-gradient(180deg,#fbfbf8 0%,#f1f0eb 100%);}
.v21-hero:before{display:none;}
.v21-hero-copy{max-width:830px;}
.v21-breadcrumb{margin-bottom:28px;color:#6c7072;}
.v21-breadcrumb a{color:#44484a;}
.v21-hero .eyebrow{color:var(--red);letter-spacing:.24em;font-size:12px;font-weight:850;margin-bottom:22px;}
.v21-hero h1{color:#111416;font-size:clamp(50px,7vw,112px);line-height:.94;letter-spacing:-.065em;}
.v21-lead{max-width:720px;color:#34383a;font-size:clamp(18px,1.55vw,24px);line-height:1.78;}
.v21-hero-visual{border-radius:10px;box-shadow:0 42px 110px rgba(17,20,22,.2);background:#151719;align-self:stretch;min-height:560px;}
.v21-hero-visual img{height:100%;min-height:560px;filter:saturate(.76) contrast(1.04);}
.v21-hero--overview{background:linear-gradient(90deg,rgba(12,14,16,.82),rgba(12,14,16,.32)),var(--hero-img) center/cover;}
.v21-hero--overview:before{display:block;background:radial-gradient(circle at 78% 12%,rgba(255,91,95,.24),transparent 34%);}
.v21-hero--overview .v21-hero-copy{position:relative;z-index:2;}
.v27-proof-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(18,20,22,.08);border-bottom:1px solid rgba(18,20,22,.08);background:#fff;}
.v27-proof-strip article{padding:42px clamp(24px,5vw,80px);border-right:1px solid rgba(18,20,22,.08);}
.v27-proof-strip article:last-child{border-right:0;}
.v27-proof-strip small{display:block;margin-bottom:20px;color:var(--red);font-size:12px;font-weight:850;letter-spacing:.18em;}
.v27-proof-strip strong{display:block;color:#111416;font-size:clamp(28px,3.2vw,54px);line-height:1;letter-spacing:-.045em;}
.v27-journey,.v27-final-products,.v27-related{padding:116px clamp(24px,8vw,128px);}
.v27-section-head{max-width:900px;margin-bottom:56px;}
.v27-section-head.compact{margin-bottom:28px;}
.v27-section-head small{display:block;margin-bottom:16px;color:var(--red);font-size:12px;font-weight:850;letter-spacing:.22em;}
.v27-section-head h2{margin:0;color:#111416;font-size:clamp(42px,5.7vw,88px);line-height:.98;letter-spacing:-.055em;}
.v27-section-head p{max-width:720px;margin:22px 0 0;color:#55595b;font-size:17px;line-height:1.85;}
.v27-card-river{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:stretch;}
.v27-editorial-card{position:relative;display:grid;grid-template-rows:minmax(280px,1fr) auto;min-height:520px;overflow:hidden;border-radius:12px;background:#111416;color:#fff;text-decoration:none;box-shadow:0 24px 70px rgba(0,0,0,.1);transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s ease;}
.v27-card-river .v27-editorial-card{grid-column:span 6;}
.v27-card-river.is-overview .v27-editorial-card.is-featured{grid-column:span 7;min-height:640px;}
.v27-card-river.is-overview .v27-editorial-card:not(.is-featured){grid-column:span 5;}
.v27-editorial-card:hover{transform:translateY(-8px);box-shadow:0 34px 90px rgba(0,0,0,.16);}
.v27-editorial-card figure{position:absolute;inset:0;margin:0;}
.v27-editorial-card figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.76));}
.v27-editorial-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.74);transition:transform .7s cubic-bezier(.16,1,.3,1),filter .4s ease;}
.v27-editorial-card:hover img{transform:scale(1.045);filter:saturate(.9);}
.v27-card-copy{position:relative;z-index:2;align-self:end;padding:clamp(28px,4vw,54px);}
.v27-card-copy small{display:block;margin-bottom:14px;color:rgba(255,255,255,.6);font-size:11px;font-weight:850;letter-spacing:.2em;}
.v27-card-copy strong{display:block;color:#fff;font-size:clamp(26px,3vw,48px);line-height:1.02;letter-spacing:-.045em;}
.v27-card-copy p{max-width:620px;margin:18px 0 0;color:rgba(255,255,255,.72);line-height:1.75;}
.v27-card-copy span{display:inline-flex;margin-top:24px;color:#fff;font-weight:800;}
.v27-final-products{padding-top:40px;background:#f5f4ef;}
.v27-product-list{border-top:1px solid rgba(18,20,22,.12);}
.v27-product-list a,.v27-product-list .v27-product-link{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid rgba(18,20,22,.1);text-decoration:none;color:#111416;transition:padding .25s ease,color .25s ease;cursor:default}
.v27-product-list a:hover,.v27-product-list .v27-product-link:hover{padding-left:18px;color:var(--red);}
.v27-product-list span{color:#999;font-size:13px;font-weight:800;letter-spacing:.18em;}
.v27-product-list strong{font-size:clamp(22px,2.7vw,42px);line-height:1.08;letter-spacing:-.04em;}
.v27-product-list em{font-style:normal;color:#777;font-size:12px;font-weight:800;letter-spacing:.14em;}
.v27-narrative{padding:128px clamp(24px,8vw,128px);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:clamp(42px,7vw,112px);align-items:center;background:#fbfbf8;}
.v27-narrative.is-reverse{grid-template-columns:minmax(360px,.82fr) minmax(0,1fr);}
.v27-narrative.is-reverse .v27-narrative-copy{order:2;}
.v27-narrative.is-reverse .v27-narrative-visual{order:1;}
.v27-narrative-copy small{display:block;margin-bottom:18px;color:var(--red);font-size:12px;font-weight:850;letter-spacing:.22em;}
.v27-narrative-copy h2{margin:0;color:#111416;font-size:clamp(42px,5.2vw,84px);line-height:1;letter-spacing:-.055em;}
.v27-narrative-lead{margin:28px 0 0;color:#3c4042;font-size:clamp(22px,2.2vw,34px);line-height:1.45;letter-spacing:-.03em;}
.v27-narrative-lines{margin-top:42px;border-top:1px solid rgba(18,20,22,.12);}
.v27-narrative-lines p{display:grid;grid-template-columns:64px 1fr;gap:20px;margin:0;padding:22px 0;border-bottom:1px solid rgba(18,20,22,.08);color:#5a5e60;line-height:1.75;}
.v27-narrative-lines b{color:var(--red);font-size:12px;letter-spacing:.16em;}
.v27-narrative-visual{margin:0;border-radius:12px;overflow:hidden;box-shadow:0 30px 88px rgba(0,0,0,.13);background:#e8e7df;}
.v27-narrative-visual img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.75);}
.v27-related{padding-top:30px;background:#fbfbf8;}
.v27-related-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.v27-related-row .v27-editorial-card{min-height:420px;}
.sub-page-footer.v21-footer-cta{margin:0 clamp(24px,8vw,128px) clamp(60px,8vh,100px);border-radius:16px;background:#101316;color:#fff;}

/* ── V2.27 contact page: refined geographic map with accurate relative city positions ── */
.v23-contact-hero{background:radial-gradient(circle at 80% 18%,rgba(255,91,95,.18),transparent 28%),linear-gradient(180deg,#fbfbf8 0%,#f1f0eb 100%)!important;}
.v22-service-card{border-radius:14px;box-shadow:0 36px 100px rgba(17,20,22,.16);}
.v22-map-section{padding:118px clamp(24px,8vw,128px);background:#fbfbf8;}
.v27-map-stage{padding:20px;border-radius:24px;background:linear-gradient(180deg,#ffffff,#f1f0eb);box-shadow:inset 0 0 0 1px rgba(18,20,22,.06),0 30px 90px rgba(0,0,0,.08);}
.v27-china-map{min-height:760px;border-radius:18px;background:
  radial-gradient(circle at 76% 62%,rgba(255,91,95,.18),transparent 19%),
  radial-gradient(circle at 68% 83%,rgba(255,91,95,.13),transparent 16%),
  linear-gradient(135deg,#f8f7f2,#ebe9e1);overflow:hidden;}
.v27-china-map:before{content:"";position:absolute;inset:42px;border-radius:18px;background-image:linear-gradient(rgba(18,20,22,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,20,22,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at 62% 55%,#000 40%,transparent 76%);}
.v27-china-map:after{content:"YANGTZE RIVER DELTA";position:absolute;right:42px;bottom:36px;color:rgba(18,20,22,.18);font-size:12px;font-weight:900;letter-spacing:.28em;}
.v27-china-map .v22-map-title{left:34px;top:30px;z-index:4;}
.v27-china-map i{width:7px;height:7px;background:rgba(18,20,22,.18);box-shadow:none;}
.v27-map-lines{z-index:3;}
.v27-map-lines line{stroke:rgba(201,35,38,.48);stroke-width:.22;stroke-dasharray:1.3 1.1;}
.v27-china-outline{fill:rgba(255,255,255,.28);stroke:rgba(18,20,22,.12);stroke-width:.5;vector-effect:non-scaling-stroke;}
.v22-pin-dot{z-index:6;width:14px;height:14px;background:var(--red);box-shadow:0 0 0 8px rgba(201,35,38,.12),0 12px 28px rgba(201,35,38,.35);}
.v22-pin-dot:after{content:"";position:absolute;inset:-12px;border:1px solid rgba(201,35,38,.24);border-radius:50%;animation:pinPulse 2.4s ease-out infinite;}
@keyframes pinPulse{0%{transform:scale(.55);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.v22-map-callout{z-index:8;border-radius:999px;padding:10px 16px;background:rgba(255,255,255,.84);backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(0,0,0,.09);border:1px solid rgba(255,255,255,.86);}
.v22-map-callout strong{font-size:15px;}
.v22-map-callout small{font-size:9px;color:var(--red);font-weight:850;}
.v22-pin-card{border-radius:14px;background:#fff;border:1px solid rgba(18,20,22,.08);box-shadow:0 26px 80px rgba(0,0,0,.18);padding:14px;}
.v22-pin-card img{border-radius:10px;}
.v22-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:38px;}
.v22-contact-grid article{border-radius:16px;background:#fff;border:1px solid rgba(18,20,22,.08);box-shadow:0 18px 50px rgba(0,0,0,.04);padding:30px;}
.v22-contact-grid article small{color:var(--red);font-weight:850;letter-spacing:.14em;}
.v22-contact-grid article strong{display:block;margin-top:12px;font-size:26px;color:#111416;letter-spacing:-.035em;}
.v22-contact-grid article p{color:#5c6163;line-height:1.7;}
.v22-contact-grid article a{color:#111416;font-weight:800;}

@media(max-width:1080px){
  .v21-hero,.v27-narrative,.v27-narrative.is-reverse{grid-template-columns:1fr;}
  .v27-narrative.is-reverse .v27-narrative-copy,.v27-narrative.is-reverse .v27-narrative-visual{order:initial;}
  .v21-hero-visual,.v21-hero-visual img{min-height:440px;}
  .v27-card-river .v27-editorial-card,.v27-card-river.is-overview .v27-editorial-card.is-featured,.v27-card-river.is-overview .v27-editorial-card:not(.is-featured){grid-column:span 12;}
  .v27-related-row{grid-template-columns:1fr;}
  .v27-china-map{min-height:820px;}
}
@media(max-width:720px){
  .v21-hero{padding:112px 22px 56px;}
  .v21-hero h1{font-size:48px;}
  .v27-proof-strip{grid-template-columns:1fr;}
  .v27-proof-strip article{border-right:0;border-bottom:1px solid rgba(18,20,22,.08);}
  .v27-journey,.v27-final-products,.v27-related,.v27-narrative,.v22-map-section{padding:82px 22px;}
  .v27-section-head h2,.v27-narrative-copy h2{font-size:40px;}
  .v27-product-list a,.v27-product-list .v27-product-link{grid-template-columns:46px 1fr;}
  .v27-product-list em{grid-column:2;}
  .v27-china-map{min-height:780px;}
  .v22-contact-grid{grid-template-columns:1fr;}
  .v22-map-callout{transform:scale(.92);transform-origin:left top;}

  /* ── 移动端产品卡片：全部统一，不区分 featured ── */
  .v27-journey .v27-editorial-card{grid-column:span 12 !important;min-height:auto !important;display:block !important;position:relative;background:#f0f0ee !important;}
  .v27-journey .v27-editorial-card figure{position:relative !important;margin:0 !important;border-radius:12px;overflow:hidden;}
  .v27-journey .v27-editorial-card figure img{width:100% !important;height:auto !important;display:block !important;filter:saturate(.74) !important;}
  .v27-journey .v27-editorial-card figure::after{content:"" !important;position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.76)) !important;pointer-events:none;}
  .v27-journey .v27-editorial-card .v27-card-copy{position:absolute !important;bottom:0 !important;left:0 !important;right:0 !important;z-index:2 !important;padding:20px 16px 24px !important;box-sizing:border-box !important;color:#fff !important;}
  .v27-journey .v27-editorial-card .v27-card-copy small{display:block !important;margin-bottom:8px !important;font-size:10px !important;color:rgba(255,255,255,.6) !important;white-space:normal !important;overflow:visible !important;text-overflow:clip !important;line-height:1.4 !important;}
  .v27-journey .v27-editorial-card .v27-card-copy strong{display:block !important;color:#fff !important;font-size:22px !important;line-height:1.1 !important;margin-bottom:8px !important;}
  .v27-journey .v27-editorial-card .v27-card-copy p{color:rgba(255,255,255,.8) !important;font-size:14px !important;line-height:1.6 !important;margin:0 !important;}
  .v27-journey .v27-editorial-card .v27-card-copy span{margin-top:12px !important;}
}

/* ── V2.28 homepage product overview: calmer image scale and more refined editorial rhythm ── */
#products.feature-list{
  padding-top:104px;
  padding-bottom:96px;
  background:linear-gradient(180deg,#f7f7f4 0%,#f1f0eb 100%);
}
#products.feature-list .split{
  max-width:1240px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:78px;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.08fr);
  gap:clamp(38px,6vw,88px);
  align-items:center;
}
#products.feature-list .split.reverse{
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.78fr);
}
#products.feature-list .split:last-child{
  margin-bottom:0;
}
#products.feature-list .image-slot{
  min-height:clamp(260px,29vw,380px);
  aspect-ratio:1.18/1;
  border-radius:24px;
  box-shadow:0 28px 78px rgba(18,20,22,.11);
  border-color:rgba(18,20,22,.08);
}
#products.feature-list .image-slot img{
  min-height:0;
  object-fit:cover;
  filter:saturate(.82) contrast(1.03);
}
#products.feature-list .split:not(.reverse) .image-slot{
  justify-self:end;
  width:min(100%,500px);
}
#products.feature-list .split.reverse .image-slot{
  justify-self:start;
  width:min(100%,500px);
}
#products.feature-list .split>div:not(.image-slot){
  max-width:620px;
}
#products.feature-list .split h2{
  margin-top:16px;
  margin-bottom:18px;
  font-size:clamp(34px,3.8vw,56px);
  letter-spacing:-.045em;
}
#products.feature-list .split p:not(.eyebrow){
  max-width:560px;
  color:#55595b;
  font-size:clamp(16px,1.08vw,18px);
}
@media(max-width:900px){
  #products.feature-list{padding:84px 22px;}
  #products.feature-list .split,
  #products.feature-list .split.reverse{
    grid-template-columns:1fr;
    gap:28px;
    margin-bottom:68px;
  }
  #products.feature-list .split.reverse .image-slot{order:0;}
  #products.feature-list .split:not(.reverse) .image-slot,
  #products.feature-list .split.reverse .image-slot{
    justify-self:stretch;
    width:100%;
    min-height:260px;
  }
}

/* ═══════════════════════════════════════════════
   V2.29 — Eco-scroll: pinned hijack + whole-layout slide + progress bar
   ═══════════════════════════════════════════════ */

/* ── Section：锁定一屏高度 ── */
.eco-products{
  position:relative;
  height:auto;
  min-height:calc(100vh + 380px);
  background:linear-gradient(180deg,#f7f7f4 0%,#f1f0eb 100%);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(64px,7vh,88px) 0 clamp(20px,3vh,36px);
}

/* ── 背景图片 + 白色柔光层 ── */
.eco-bg-photo{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url('assets/images/bg-eco-divine.jpg') center/cover no-repeat;
}
.eco-bg-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(247,247,244,.72);
  backdrop-filter:blur(3px);
}

/* ── 流体极光背景 ── */
.eco-fluid-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.18;
}
.eco-fluid-bg::before,
.eco-fluid-bg::after{
  content:"";
  position:absolute;
  border-radius:50%;
  filter:blur(130px);
  will-change:transform;
}
.eco-fluid-bg::before{
  width:55vw;
  height:55vw;
  background:radial-gradient(circle, rgba(255,91,95,.10) 0%, rgba(255,91,95,0) 70%);
  top:-18%;
  right:-22%;
  animation:ecoFluidA 20s ease-in-out infinite;
}
.eco-fluid-bg::after{
  width:42vw;
  height:42vw;
  background:radial-gradient(circle, rgba(90,110,170,.07) 0%, rgba(90,110,170,0) 70%);
  bottom:-12%;
  left:-18%;
  animation:ecoFluidB 24s ease-in-out infinite;
}
@keyframes ecoFluidA{
  0%,100%{ transform:translate(0,0) scale(1); }
  25%{ transform:translate(-6%,5%) scale(1.14); }
  50%{ transform:translate(-3%,-3%) scale(.92); }
  75%{ transform:translate(5%,2%) scale(1.1); }
}
@keyframes ecoFluidB{
  0%,100%{ transform:translate(0,0) scale(1.06); }
  33%{ transform:translate(5%,-4%) scale(.9); }
  66%{ transform:translate(-5%,3%) scale(1.12); }
}

/* ── 顶部小标题 ── */
.eco-top-eyebrow{
  position:relative;
  z-index:2;
  text-align:center;
  font-size:12px;
  font-weight:600;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:clamp(32px,4vh,56px);
  flex-shrink:0;
}

/* ── 横向滑移布局（flex row，会整体 translateX）── */
.eco-layout{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  padding-left:clamp(100px,40vw,520px);
  padding-right:clamp(28px,5vw,72px);
  will-change:transform;
  flex-shrink:0;
}

/* ── 左栏：文字区 ── */
.eco-left{
  flex-shrink:0;
  width:clamp(340px,34vw,480px);
  margin-right:clamp(64px,18vw,260px);
}
.section .eco-heading{
  font-size:clamp(36px,3.8vw,60px);
  font-weight:900;
  font-style:italic;
  line-height:1.04;
  letter-spacing:-.05em;
  margin:0 0 clamp(18px,2.5vh,30px);
  color:var(--black);
}
.eco-desc{
  font-size:clamp(14px,.95vw,16px);
  line-height:1.85;
  color:#5a5d5f;
  max-width:420px;
  margin:0 0 clamp(24px,3vh,40px);
}
.eco-left .learn-more-btn{ margin-top:0; }
/* ── 产品卡片（毛玻璃效果）── */
.eco-card{
  flex-shrink:0;
  width:clamp(380px,30vw,480px);
  margin-right:16px;
  position:relative;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(32px) saturate(1.3);
  -webkit-backdrop-filter:blur(32px) saturate(1.3);
  border:1px solid rgba(255,255,255,.22);
  border-radius:22px;
  box-shadow:
    0 8px 32px rgba(18,20,22,.06),
    0 0 0 1px rgba(255,255,255,.08) inset;
  transition:box-shadow .45s ease,transform .45s ease,border-color .45s ease,background .45s ease;
  cursor:pointer;
  overflow:hidden;
}
/* 玻璃表层光泽（更柔和的顶部光照） */
.eco-card::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:40%;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 100%);
  pointer-events:none;
  z-index:2;
  border-radius:22px 22px 0 0;
}
.eco-card:last-child{ margin-right:0; }
.eco-card:hover{
  box-shadow:0 20px 48px rgba(18,20,22,.14), 0 0 0 1px rgba(255,255,255,.18) inset;
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.24);
}

/* ── 卡片图片（内嵌圆角，不撑满卡片）── */
.eco-card-img{
  position:relative;
  padding:clamp(12px,1.5vw,20px) clamp(12px,1.5vw,20px) 0;
}
.eco-card-img img{
  width:100%;
  aspect-ratio:1.35/1;
  object-fit:cover;
  border-radius:14px;
  transition:transform .65s cubic-bezier(.25,.1,.25,1);
  filter:saturate(.84) contrast(1.02);
}
.eco-card:hover .eco-card-img img{
  transform:scale(1.03);
}

/* ── 卡片内容 ── */
.eco-card-body{
  position:relative;
  padding:clamp(16px,2vw,24px) clamp(18px,2.2vw,26px) clamp(18px,2.4vw,28px);
}
.eco-card-num{
  position:absolute;
  top:clamp(8px,1.4vw,16px);
  right:clamp(16px,2.2vw,24px);
  font-size:clamp(48px,4.5vw,64px);
  font-weight:900;
  font-style:italic;
  letter-spacing:-.04em;
  color:rgba(18,20,22,.055);
  line-height:1;
  pointer-events:none;
}
.eco-card-body .eyebrow{
  margin-bottom:6px;
  font-size:11px;
  letter-spacing:.22em;
}
.eco-card-body h3{
  font-size:clamp(22px,1.7vw,28px);
  font-weight:900;
  font-style:italic;
  line-height:1.16;
  letter-spacing:-.04em;
  margin:0 0 10px;
  color:var(--black);
}
.eco-card-desc{
  font-size:clamp(13px,.88vw,15px);
  line-height:1.7;
  color:#6b6e70;
  margin:0 0 clamp(12px,1.8vh,20px);
  max-width:380px;
}

/* ── 卡片内复用全站 learn-more-btn ── */
.eco-card-body .learn-more-btn{
  margin-top:0;
}

/* ── 底部进度条 ── */
.eco-progress{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:3px;
  background:rgba(18,20,22,.06);
  z-index:3;
  flex-shrink:0;
}
.eco-progress-fill{
  height:100%;
  width:0%;
  background:var(--red);
  transition:width .1s linear;
}

/* ──────────────── 响应式：移动端垂直堆叠 ──────────────── */
@media(max-width:1024px){
  .eco-products{
    height:auto;
    min-height:auto;
    display:block;
    padding:clamp(56px,8vh,80px) clamp(20px,4vw,36px) clamp(48px,6vh,72px);
  }
  .eco-layout{
    display:grid;
    grid-template-columns:1fr;
    gap:32px;
    padding-left:0;
    padding-right:0;
    transform:none !important;
  }
  .eco-left{
    width:100%;
    max-width:540px;
    margin-right:0;
  }
  .section .eco-heading{ max-width:100%; }
  .eco-card{
    width:100%;
    max-width:420px;
    margin-right:0;
  }
  .eco-card:hover{ transform:none; }
  .eco-progress{ display:none; }
}

@media(max-width:620px){
  .eco-products{ padding:30px 18px 36px; }
  .industries{ padding:30px 18px 36px; }
  .services-v31{ padding:30px 18px 36px; }
  .section .eco-heading{ font-size:clamp(30px,7vw,38px); }
  .eco-card{ border-radius:18px; }
  .eco-card-num{ font-size:clamp(40px,9vw,52px); }
}



/* ═══════════════════════════════════════
   V2.31 — 全流程服务屏重构
   左右分区，滚动逐段淡入
   ═══════════════════════════════════════ */
.services-v31{
  padding-top:clamp(64px,9vh,108px);
  padding-bottom:clamp(64px,9vh,108px);
}
.services-v31-head{
  max-width:min(1180px,calc(100% - 96px));
  margin:0 auto clamp(48px,7vh,80px);
  text-align:left;
}
.services-v31-head h2{
  margin:8px 0 0;
  font-size:clamp(40px,4.8vw,76px);
  font-weight:900;
  letter-spacing:-.055em;
  color:#101315;
  line-height:.96;
}
.services-v31-head .eyebrow{
  margin-bottom:0;
}
.services-v31-lead{
  max-width:680px;
  margin:18px 0 0;
  font-size:clamp(15px,1.1vw,18px);
  color:#5a6063;
  line-height:1.78;
}
.services-v31-row{
  max-width:min(1180px,calc(100% - 96px));
  margin:0 auto clamp(32px,4.8vh,64px);
  display:grid;
  grid-template-columns:200px 1fr;
  gap:clamp(28px,4vw,56px);
  align-items:center;
}
/* 阶段标签：左侧大字竖向展示 */
.services-v31-stage{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.services-v31-stage-num{
  font-size:13px;
  font-weight:900;
  color:#ff5b5f;
  letter-spacing:.12em;
}
.services-v31-stage-title{
  margin:0;
  font-size:clamp(38px,3.6vw,60px);
  font-weight:900;
  letter-spacing:-.05em;
  color:#101315;
  line-height:.92;
}
.services-v31-stage-sub{
  font-size:11px;
  font-weight:700;
  letter-spacing:.26em;
  color:#a3a8aa;
  text-transform:uppercase;
}
/* 右侧卡片 */
.services-v31-card{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  background:#fff;
  border:1px solid rgba(18,20,22,.07);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 52px rgba(17,20,22,.06);
  transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s ease;
  cursor:pointer;
  text-decoration:none;
  color:inherit;
}
.services-v31-card:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 76px rgba(17,20,22,.12);
}
.services-v31-card-img{
  min-height:220px;
  overflow:hidden;
}
.services-v31-card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .55s ease,filter .55s ease;
  filter:saturate(.86) contrast(1.02);
}
.services-v31-card:hover .services-v31-card-img img{
  transform:scale(1.045);
}
.services-v31-card-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(28px,4vw,42px);
}
.services-v31-card-title{
  margin:0 0 14px;
  font-size:clamp(20px,1.4vw,24px);
  font-weight:900;
  letter-spacing:-.03em;
  color:#111416;
  line-height:1.25;
}
.services-v31-card-body p{
  margin:0 0 22px;
  font-size:15px;
  line-height:1.72;
  color:#5a6063;
  max-width:400px;
}
.services-v31-card .learn-more-btn{
  align-self:flex-start;
}

/* ── 响应式：全流程服务 ── */
@media(max-width:960px){
  .services-v31-row{
    grid-template-columns:1fr;
    gap:20px;
    max-width:min(640px,calc(100% - 64px));
  }
  .services-v31-stage{
    flex-direction:row;
    align-items:baseline;
    gap:12px;
  }
  .services-v31-stage-title{font-size:32px;}
  .services-v31-card{
    grid-template-columns:1fr;
  }
  .services-v31-card-img{min-height:180px;}
}
@media(max-width:620px){
  .services-v31-head h2{font-size:36px;}
  .services-v31-lead{font-size:15px;}
  .services-v31-stage-title{font-size:28px;}
  .services-v31-card-img{min-height:150px;}
  .services-v31-card-body{padding:24px;}
}
/* V2.64: 移动端全流程服务卡片放大 */
@media(max-width:600px){
  .services-v31-card{
    border-radius:18px;
  }
  .services-v31-card-img{
    min-height:220px;
  }
  .services-v31-card-body{
    padding:28px;
  }
  .services-v31-card-title{
    font-size:20px;
  }
  .services-v31-card-body p{
    font-size:15px;
    line-height:1.72;
  }
}

/* ── V2.30 targeted refinements ── */
/* Homepage second-screen title: keep product card/image scale unchanged, improve section hierarchy */
.eco-products{
  justify-content:flex-start;
  padding-top:clamp(82px,10vh,118px);
}
.eco-section-head{
  visibility:hidden;
  position:relative;
  z-index:3;
  width:min(1180px,calc(100% - 96px));
  margin:0 auto clamp(34px,5.2vh,64px);
  text-align:left;
  flex-shrink:0;
}
.eco-section-kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
  color:var(--red);
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.eco-section-kicker:before{
  content:"";
  display:inline-block;
  width:34px;
  height:1px;
  background:currentColor;
  opacity:.72;
}
.eco-section-head h2{
  margin:0;
  color:#101315;
  font-size:clamp(44px,5.2vw,86px);
  line-height:.94;
  font-weight:900;
  letter-spacing:-.065em;
}
.eco-section-head p{
  max-width:760px;
  margin:22px 0 0;
  color:#4f5456;
  font-size:clamp(16px,1.16vw,19px);
  line-height:1.82;
}
.eco-layout{
  margin-top:0;
}

/* Premium mega menu: calmer Apple-like panel */
.mega-menu--v21{
  background:rgba(251,251,248,.82);
  backdrop-filter:blur(24px) saturate(1.2);
  -webkit-backdrop-filter:blur(24px) saturate(1.2);
  border-bottom:1px solid rgba(18,20,22,.075);
  box-shadow:0 36px 110px rgba(17,20,22,.14);
}
.mega-menu--v21.mega-open{padding:26px 0 34px;max-height:620px;}
.mega-menu--v21 .mega-menu-inner{
  max-width:1320px;
  border-radius:22px;
  padding:18px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:inset 0 0 0 1px rgba(18,20,22,.035);
}
.mega-overview{
  border-radius:18px;
  background:
    radial-gradient(circle at 18% 0%,rgba(255,91,95,.28),transparent 38%),
    linear-gradient(145deg,#171a1d,#0b0c0e 72%);
  box-shadow:0 28px 70px rgba(17,20,22,.18);
}
.mega-product-card{
  border-radius:18px!important;
  border:1px solid rgba(18,20,22,.07)!important;
  box-shadow:0 18px 52px rgba(17,20,22,.07)!important;
  background:rgba(255,255,255,.84)!important;
}
/* 解决方案：保留图片背景，仅优化边框与阴影 */
.mega-mini-grid a{
  border-radius:18px!important;
  border:1px solid rgba(18,20,22,.07)!important;
  box-shadow:0 18px 52px rgba(17,20,22,.07)!important;
}
/* 服务卡片：改为图片背景（类似解决方案） */
.mega-service-grid a{
  min-height:192px;
  border-radius:18px!important;
  border:1px solid rgba(18,20,22,.07)!important;
  box-shadow:0 18px 52px rgba(17,20,22,.07)!important;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:white;
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.74)),
    var(--bg) center/cover no-repeat;
  transition:transform .35s ease,box-shadow .35s ease;
}
.mega-service-grid a:hover{
  transform:translateY(-6px)!important;
  box-shadow:0 30px 76px rgba(17,20,22,.14)!important;
}
.mega-service-grid small{
  order:-1;
  font-weight:700;
  font-size:13px;
  letter-spacing:.04em;
  color:rgba(255,255,255,.70);
  margin-bottom:4px;
}
.mega-service-grid strong{
  font-size:18px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.02em;
  color:white;
}
.mega-service-grid p{
  color:rgba(255,255,255,.72);
  font-size:13px;
  margin-top:4px;
  line-height:1.5;
}
.mega-card-main img{height:124px;filter:saturate(.86) contrast(1.02);}
.mega-item-title{color:#111416;font-weight:900;letter-spacing:-.03em;}
.mega-mini-grid strong{color:white;font-weight:900;letter-spacing:-.03em;}
.mega-service-grid strong{color:white;font-weight:700;letter-spacing:-.02em;}
.mega-sub-links a,
.mega-sub-links span{border-top:1px solid rgba(18,20,22,.07);color:#686d70;}

/* Subpage dark hero text readability fix */
.v21-hero--overview .v21-hero-copy,
.v21-hero--overview .v21-hero-copy *{text-shadow:0 10px 34px rgba(0,0,0,.26);}
.v21-hero--overview h1,
.v21-hero--overview .eyebrow,
.v21-hero--overview .v21-breadcrumb .br-current{color:#fff!important;}
.v21-hero--overview .v21-lead,
.v21-hero--overview .v21-breadcrumb,
.v21-hero--overview .v21-breadcrumb a{color:rgba(255,255,255,.78)!important;}

/* Contact map: dotted real-map feeling with safe popovers */
.v27-map-stage{
  padding:22px;
  border-radius:28px;
  background:linear-gradient(180deg,#fff,#f5f3ee);
  overflow:visible;
}
.v27-china-map{
  min-height:720px;
  border-radius:22px;
  overflow:visible!important;
  background:
    radial-gradient(circle at 77% 58%,rgba(201,35,38,.12),transparent 20%),
    radial-gradient(circle at 61% 80%,rgba(201,35,38,.08),transparent 18%),
    linear-gradient(180deg,#fbfbf8 0%,#eeece5 100%);
}
.v27-china-map:before{
  inset:28px;
  background-image:
    linear-gradient(rgba(18,20,22,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(18,20,22,.028) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(ellipse at 56% 54%,#000 42%,transparent 76%);
}
.v27-china-map:after{content:"CHINA SERVICE NETWORK";right:38px;bottom:30px;}
.v27-china-map i{
  width:12px!important;
  height:12px!important;
  background:rgba(174,177,178,.46)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 1px 4px rgba(17,20,22,.05)!important;
}
.v27-china-outline{display:none;}
.v27-map-lines line{stroke:rgba(201,35,38,.36);stroke-width:.18;stroke-dasharray:1.4 1.25;}
.v22-pin-dot{width:13px;height:13px;background:#c92326;box-shadow:0 0 0 8px rgba(201,35,38,.11),0 14px 32px rgba(201,35,38,.32);}
.v22-map-callout{
  border-radius:999px;
  padding:11px 17px;
  min-width:128px;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.v22-pin-card{width:292px;border-radius:18px;padding:14px;}
.v22-map-callout.edge-right .v22-pin-card{left:auto;right:0;transform:translate(0,10px);}
.v22-map-callout.edge-right:hover .v22-pin-card,
.v22-map-callout.edge-right:focus .v22-pin-card,
.v22-map-callout.edge-right:focus-within .v22-pin-card,
.v22-map-callout.edge-right.is-open .v22-pin-card{transform:translate(0,0);}
.v22-map-callout.edge-right.popover-up .v22-pin-card{left:auto;right:0;transform:translate(0,-10px);}
.v22-map-callout.edge-right.popover-up:hover .v22-pin-card,
.v22-map-callout.edge-right.popover-up:focus .v22-pin-card,
.v22-map-callout.edge-right.popover-up:focus-within .v22-pin-card,
.v22-map-callout.edge-right.popover-up.is-open .v22-pin-card{transform:translate(0,0);}
.v22-map-callout.edge-left .v22-pin-card{left:0;right:auto;transform:translate(0,10px);}
.v22-map-callout.edge-left:hover .v22-pin-card,
.v22-map-callout.edge-left:focus .v22-pin-card,
.v22-map-callout.edge-left:focus-within .v22-pin-card,
.v22-map-callout.edge-left.is-open .v22-pin-card{transform:translate(0,0);}

@media(max-width:1024px){
  .eco-section-head{width:100%;margin-bottom:32px;}
  .eco-products{padding-top:72px;}
  .mega-menu--v21 .mega-menu-inner{border-radius:0;background:transparent;border:0;padding:0;}
}
@media(max-width:620px){
  .eco-section-head h2{font-size:42px;}
  .eco-section-head p{font-size:15px;}
  .v27-china-map{min-height:760px;}
  .v22-pin-card{width:252px;}
}

/* ═══════════════════════════════════════════════════ */
/*  V2.55 FloatingLines Hero: WebGL 浮动光线替代视频  */
/* ═══════════════════════════════════════════════════ */

/* FloatingLines 容器 — 覆盖整个 hero */
.floating-lines-container{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  z-index:0;
  /* 深色底色：着色器在黑底上绘制光线 */
  background:#0a0b0c;
  mix-blend-mode:normal;
}

/* 浮动光线 hero 的 overlay：左侧深暗保证文字可读 */
.floating-hero .hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(6,7,8,.72) 0%,rgba(6,7,8,.32) 46%,rgba(6,7,8,.52) 100%),
    linear-gradient(0deg,rgba(6,7,8,.22) 0%,rgba(6,7,8,.04) 60%);
}

/* hero 内容层级高于 overlay
   .hero-philosophy 保留原有 position:absolute 定位（右下角）
   .hero-scroll-hint 保留原有 position:absolute 定位（底部居中） */
.floating-hero .hero-content{
  position:relative;
  z-index:2;
}
.floating-hero .hero-philosophy,
.floating-hero .hero-scroll-hint{
  z-index:2;
}

/* 隐藏不再需要的视频控制按钮和 video-bg */
.floating-hero .video-bg,
.floating-hero .hero-media-controls{
  display:none;
}

/* 移动端适配 */
@media(max-width:620px){
  .floating-hero .hero-overlay{
    background:
      linear-gradient(180deg,rgba(6,7,8,.56) 0%,rgba(6,7,8,.28) 60%),
      linear-gradient(0deg,rgba(6,7,8,.48) 0%,transparent 40%);
  }
}

/* ── V2.62 补充：按钮基础样式 + 红色字体统一优化 + 数字样式优化 ── */

/* 1. 按钮基础样式（弥补之前缺失） */
.btn.primary{
  background:var(--red);
  color:#fff;
  border-color:var(--red);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  padding:14px 30px;
  font-size:15px;
  border-radius:999px;
  cursor:pointer;
  transition:background .25s,border-color .25s,transform .25s;
  font-family:inherit;
}
.btn.primary:hover{
  background:#e84d51;
  border-color:#e84d51;
  transform:translateY(-2px);
}

/* 2. 关于页面浅色背景下的按钮适配 */
.about-v26-hero--text-only .btn.ghost-dark{
  border:1px solid rgba(18,20,22,.35);
  color:rgba(18,20,22,.82);
}
.about-v26-hero--text-only .btn.ghost-dark:hover{
  background:rgba(18,20,22,.08);
  border-color:rgba(18,20,22,.55);
}

/* 3. 所有子页面红色小字改为高级灰色（类似首页 eyebrow 克制感） */
.about-v26-kicker,
.v27-proof-strip small,
.v27-section-head small,
.v27-narrative-copy small,
.v27-narrative-lines b,
.v22-map-callout small,
.v22-contact-grid article small,
.v27-card-copy small{
  color:#8b8d8e !important;
}

/* 4. 红色数字 01/02/03 改为斜体并放大字号 */
.v27-proof-strip small{
  font-size:16px;
  font-style:italic;
  font-weight:700;
  letter-spacing:.06em;
  font-family:Georgia, 'Times New Roman', serif;
}

/* 联系页面红色字体也改为灰色 */
.v22-contact-grid article small,
.v22-map-callout small{
  color:#8b8d8e !important;
}

/* 移动端适配 */
@media(max-width:680px){
  .v27-proof-strip small{
    font-size:14px;
  }
}
.about-v26-hero--text-only{
  grid-template-columns:1fr;
  min-height:auto;
  padding:132px clamp(24px,7vw,112px) 96px;
}
.about-v26-hero--text-only .about-v26-hero__copy{
  max-width:960px;
}
.about-v26-hero h1{
  font-size:clamp(36px,4.5vw,64px);
  line-height:1.05;
  letter-spacing:-.045em;
}
.about-v26-manifest h2,
.about-v26-section-head h2,
.about-v26-story h2,
.about-v26-cta h2{
  font-size:clamp(28px,3.2vw,48px);
  line-height:1.1;
  letter-spacing:-.04em;
}
.about-v26-metrics strong{
  font-size:clamp(30px,3.5vw,56px);
  line-height:1;
  letter-spacing:-.045em;
}
.about-v26-story--text-only{
  grid-template-columns:1fr;
  padding:96px clamp(24px,8vw,128px);
}
.about-v26-story--text-only .about-v26-story__copy{
  max-width:860px;
}
.about-v26-hero__copy .about-v26-lead{
  max-width:780px;
}
@media(max-width:1020px){
  .about-v26-hero--text-only{padding:112px 28px 72px;}
  .about-v26-story--text-only{padding:72px 28px;}
}
@media(max-width:680px){
  .about-v26-hero h1{font-size:36px;}
  .about-v26-manifest h2,
  .about-v26-section-head h2,
  .about-v26-story h2,
  .about-v26-cta h2{font-size:28px;}
}

/* ═══════════════════════════════════════
   V2.67 移动端修复：覆盖全局padding、修复hero重叠、修复导航栏拥挤
   ═══════════════════════════════════════ */
@media(max-width:620px){
  /* 覆盖 .eco-products 和 .services-v31 的全局 padding-top */
  section.eco-products{ padding-top: 24px; padding-bottom: 30px; }
  section.services-v31{ padding-top: 24px; padding-bottom: 30px; }
  section.industries{ padding: 24px 18px 30px; }
  section.about{ padding: 24px 18px 30px; }
  /* V2.75：hero-philosophy 定位已在 768px 断句中统一用百分比处理，此处仅保留字体大小 */
  .hero-philosophy span{ font-size: 14px; margin-bottom: 4px; }
  .hero-philosophy strong{ font-size: 14px; }
  /* V2.70 移动端地图背景点精简：隔行取样 + 缩小 */
  .v27-china-map i{
    width: 4px !important;
    height: 4px !important;
  }
  .v27-china-map i:nth-of-type(odd){
    display: none;
  }
}

/* 更窄设备：进一步缩小导航栏元素 */
@media(max-width:375px){
  .brand{ font-size: 20px; letter-spacing: 0.12em; }
  .lang-radio-group{ transform: scale(0.65); transform-origin: right center; }
}

/* ═══════════════════════════════════════
   V2.75 移动端 Hero 布局修复（跨浏览器等比例）
   
   核心方案：百分比绝对定位
   - hero 高度用 100dvh（动态视口高度，随工具栏收起/展开实时变化）
   - hero-content 和 hero-philosophy 用百分比定位
   - 无论视口高度多少，两块文字的相对位置比例始终一致
   ═══════════════════════════════════════ */
@media(max-width:768px){
  /* ── 导航栏 ── */
  .site-header a, .nav-links a, .nav-links button, .site-header button, header a, .brand{
    font-size: 14px !important;
  }
  .site-header, header{
    transform: translateY(-4px) !important;
    height: 64px !important;
  }
  /* ── Hero：固定高度 + 相对定位 ── */
  .hero{
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    display: block;
    position: relative;
    overflow: hidden;
  }
  /* ── 上部文字块：百分比定位，距顶部比例固定 ── */
  .hero-content{
    position: absolute;
    top: 20%;
    left: 16px;
    right: 16px;
    z-index: 2;
    padding: 0 !important;
    max-width: calc(100% - 32px);
    overflow-x: hidden;
    box-sizing: border-box;
  }
  /* ── 标题：缩小字号 + 允许换行 + 去掉负字距防溢出 ── */
  .hero-title{
    font-size: clamp(30px, 9.5vw, 48px) !important;
    letter-spacing: -0.01em !important;
    line-height: 1.12 !important;
    max-width: 100% !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .hero-title span{
    white-space: normal !important;
    display: block !important;
  }
  .hero-copy{
    font-size: 14px !important;
    line-height: 1.7 !important;
    max-width: 100% !important;
  }
  /* ── 下部文字块：百分比定位，距底部比例固定 ── */
  .hero-philosophy{
    position: absolute;
    bottom: 11%;
    left: 10px;
    right: 10px;
    top: auto;
    max-width: none;
    z-index: 2;
    text-align: center;
    padding: 0 !important;
    margin: 0;
  }
  .hero-philosophy span,
  .hero-philosophy strong,
  .hero-philosophy em{
    font-size: 13px !important;
    white-space: nowrap;
    word-break: normal;
  }
  .hero-philosophy em{
    white-space: normal !important;
  }
  .hero-overlay,
  .floating-lines-container{
    position: absolute;
    inset: 0;
  }
  /* ── 滚动提示：固定在最底部 ── */
  .hero-scroll-hint{
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
  }
  /* ── 第二屏间距 ── */
  .eco-products{
    padding-top: 85px !important;
  }
  .eco-section-head{
    display: none !important;
  }
}
