
/* ============ 基调：Anthropic 骨架 × 瑞华紫 ============ */
:root{
  /* 官网色彩 token v1 —— 全部取自品牌色阶（详见色彩规范页） */
  --cream:#fafafb; --cream-2:#f4f3f5; --card:#ffffff;          /* N50 / N100 / N0 */
  --ink:#211e28; --ink-2:#4a4359; --ink-3:#7a6f92;             /* N950 / N800 / N600 */
  --line:#eae9ed; --hair:#d8d6dd;                              /* N200 / N300 */
  --dark:#211e28; --dark-2:#332e3d; --d-line:#4a4359;          /* N950 / N900 / N800 */
  --d-text:#fafafb; --d-sub:#d8d6dd; --d-weak:#9c95ac;         /* N50 / N300 / N500 */
  /* 品牌主色锚点 P500=#7c4dff；P600/P700 为主按钮 hover / 按下态 */
  --purple:#7c4dff; --purple-hi:#7c4dff; --p-600:#693de3; --p-700:#5e35b1;
  --p-300:#bda5ff; --p-50:#f6f3ff; --p-200:#dbcdff;
  --sage:#d6e893; --sage-ink:#50630c; --data-ink:#677d16;      /* S200 / S700 / S600 */
  /* 按 UI 规范统一为黑体：--serif 保留为别名，指向同一黑体字栈（原 Noto Serif SC / Songti SC 已弃用） */
  --serif:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
  --sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
  --mono:"JetBrains Mono",Consolas,monospace;
  --ease:cubic-bezier(.2,0,0,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);
  font-size:14px;line-height:1.8;-webkit-font-smoothing:antialiased}

/* ============ 顶部导航（Anthropic 式，占位链接） ============ */
.nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;
  justify-content:space-between;padding:0 34px;height:64px;background:var(--cream);
  border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.nav.scrolled{border-bottom-color:var(--line);box-shadow:0 4px 18px rgba(33,30,40,.06)}
.logo{font-family:var(--serif);font-weight:900;font-size:20px;letter-spacing:.06em;
  display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.logo .bar{width:2.5px;height:22px;background:var(--purple-hi);border-radius:2px}
.logo .en{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.18em;
  color:var(--purple);white-space:nowrap}
.nav-links{display:flex;gap:8px;align-items:center}
.nav-links a{font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none;
  padding:7px 12px;border-radius:9px;border-bottom:2px solid transparent;
  transition:all .16s var(--ease)}
.nav-links a:hover{color:var(--ink);background:var(--p-50)}
.nav-links a.act{color:var(--purple);border-bottom-color:var(--purple)}
.nav-links .nq .hot{font-family:var(--mono);font-size:9.5px;font-weight:700;color:#fff;
  background:linear-gradient(90deg,#7c4dff,#aa00ff);border-radius:6px;padding:1px 6px;
  vertical-align:2px;margin-left:2px}
.nav-dd{position:relative}
.nav-dd .caret{font-size:10px;color:var(--ink-3)}
.dd-panel{position:absolute;top:calc(100% + 14px);left:-18px;min-width:250px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 20px 50px rgba(33,30,40,.16);padding:10px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:all .18s var(--ease)}
.nav-dd:hover .dd-panel,.nav-dd:focus-within .dd-panel{opacity:1;visibility:visible;transform:none}
.dd-panel a{display:block;padding:10px 14px;border-radius:10px;border-bottom:0 !important}
.dd-panel a:hover{background:var(--p-50)}
.dd-panel b{display:block;font-size:14px;color:var(--ink)}
.dd-panel span{display:block;font-size:11.5px;color:var(--ink-3);font-weight:600}
/* ============================================
   FAQ Component
   FAQ 问答组件，支持展开/收起交互
   使用 <details> 元素实现原生可访问性
   ============================================ */

/* Base Styles */
.faq-item {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 0 20px;
  margin-bottom: 10px;
  transition: transform .22s var(--ease),
              box-shadow .22s var(--ease),
              border-color .22s var(--ease),
              background .22s var(--ease);
}

.faq-item:first-child {
  margin-top: 0;
}

/* Summary - 问题标题 */
.faq-item summary {
  list-style: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
  padding: 16px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

/* Icon - 展开/收起图标 */
.faq-item summary .ic {
  color: var(--purple);
  font-family: var(--mono);
  font-style: normal;
  transition: transform .2s var(--ease);
}

.faq-item[open] summary .ic {
  transform: rotate(45deg);
}

/* Answer - 答案内容 */
.faq-item .a {
  font-size: 13px;
  color: var(--ink-2);
  line-height: 1.7;
  padding: 0 20px 16px 0;
  text-align: justify;
}

/* 案例详情浮层 */
.case-card{cursor:pointer}
.cmodal{position:fixed;inset:0;z-index:80;display:none}
.cmodal.on{display:block}
.cmodal .mask{position:absolute;inset:0;background:rgba(33,30,40,.5);backdrop-filter:blur(3px)}
.cmodal .panel{position:absolute;top:5vh;left:50%;transform:translateX(-50%);
  width:min(760px,94vw);max-height:90vh;overflow-y:auto;background:var(--card);
  border-radius:18px;box-shadow:0 40px 90px rgba(33,30,40,.4);padding:0}
.cm-head{position:sticky;top:0;z-index:6;background:var(--card);
  padding:26px 72px 14px 36px;border-bottom:1px solid var(--line)}
.cm-head h3{margin-bottom:2px !important}
.cm-body{padding:18px 36px 30px}
.cmodal .close{position:absolute;top:22px;right:22px;background:var(--cream);border:1px solid var(--line);
  border-radius:999px;width:34px;height:34px;font-size:15px;color:var(--ink-2);cursor:pointer}
.cmodal .close:hover{border-color:var(--purple);color:var(--purple)}
.cm-cta{margin-top:26px;background:var(--p-50);border:1px solid var(--p-200);border-radius:14px;
  padding:18px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cm-cta .t{font-size:14px;font-weight:800;color:var(--ink);flex:1;min-width:220px}
.cm-cta .t span{display:block;font-size:12px;font-weight:600;color:var(--ink-3);margin-top:2px}
.cmodal .ind{display:inline-block;font-size:11px;font-weight:800;color:var(--purple);
  background:var(--p-50);border:1px solid var(--p-200);border-radius:999px;padding:2px 12px;margin-bottom:10px}
.cmodal .tags{font-size:12px;color:var(--ink-3);font-weight:600;margin-left:8px}
.cmodal h3{font-family:var(--serif);font-size:22px;font-weight:900;color:var(--ink);
  line-height:1.4;margin-bottom:18px}
.cmodal h5{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.14em;
  color:var(--purple);margin:20px 0 8px}
.cmodal p,.cmodal li{font-size:14px;color:var(--ink-2);line-height:1.8}
.cmodal ul{list-style:none}
.cmodal .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.cmodal .stat{background:var(--cream);border:1px solid var(--line);border-radius:10px;
  padding:12px;text-align:center}
.cmodal .stat b{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--data-ink);display:block}
.cmodal .stat i{font-style:normal;font-size:11px;color:var(--ink-3);font-weight:600}
@media (max-width:760px){.cmodal .stat-grid{grid-template-columns:1fr 1fr}}
/* 讲师 */
/* 课程路径 */
.track{margin-bottom:28px}
.track-head{background:var(--p-50);border:1px solid var(--p-200);border-radius:14px;padding:16px 22px;margin-bottom:12px}
.track-head .tname{font-family:var(--serif);font-size:17px;font-weight:900;color:var(--ink)}
.track-head .taud{font-family:var(--mono);font-size:11px;font-weight:700;color:#fff;
  background:var(--purple-hi);border:1px solid var(--purple-hi);border-radius:999px;padding:3px 13px;margin-left:10px}
.track-head p{font-size:12.5px;color:var(--ink-2);margin-top:4px}
/* 课程卡：整卡可点，指示器居右 */
.course{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;
  box-shadow:0 1px 3px rgba(33,30,40,.05);transition:box-shadow .22s var(--ease),border-color .22s var(--ease)}
.course:hover{box-shadow:0 18px 40px rgba(94,53,177,.13);border-color:var(--p-200)}
.course[open]{border-color:var(--p-200);box-shadow:0 14px 36px rgba(33,30,40,.12)}
.c-sum{list-style:none;cursor:pointer;display:block;position:relative;padding:18px 130px 16px 22px}
.c-sum::-webkit-details-marker{display:none}
.c-toggle{position:absolute;right:22px;top:19px;display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:800;color:var(--purple);background:var(--p-50);
  border:1px solid var(--p-200);border-radius:999px;padding:5px 13px;
  transition:all .2s var(--ease)}
.c-sum:hover .c-toggle{background:var(--purple-hi);color:#fff;border-color:var(--purple-hi)}
.c-toggle .chev{font-size:10px;transition:transform .25s var(--ease)}
.course[open] .c-toggle .chev{transform:rotate(180deg)}
.c-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.c-top .cno{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--purple);
  background:var(--p-50);border-radius:6px;padding:2px 8px}
.c-top b{font-size:15px;color:var(--ink)}
.c-top .chip{font-size:11px;font-weight:700;color:var(--ink-3);background:var(--cream-2);
  border-radius:999px;padding:2px 10px}
.c-desc{font-size:12.5px;color:var(--ink-2);margin:6px 0 3px}
.c-del{font-size:12px;font-weight:700;color:var(--purple)}
/* 模块子卡：双列 + 层次 */
.mods{display:grid;grid-template-columns:1fr 1fr;gap:12px;
  margin:0 22px 20px;padding-top:16px;border-top:1px dashed var(--hair)}
.mod{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:15px 17px;
  transition:all .2s var(--ease)}
.mod:hover{transform:translateY(-2px);background:var(--card);box-shadow:0 8px 20px rgba(33,30,40,.08)}
.mod .mno{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:700;
  letter-spacing:.08em;color:var(--purple);background:var(--p-50);border:1px solid var(--p-200);
  border-radius:999px;padding:2px 10px;margin-bottom:8px}
.mod b{display:block;font-size:14px;color:var(--ink);line-height:1.8;margin-bottom:3px}
.mod span{display:block;font-size:12px;color:var(--ink-3);line-height:1.7}
.mod em{font-style:normal;display:block;margin-top:10px;padding-top:9px;
  border-top:1px solid var(--line);color:var(--sage-ink);font-weight:700;font-size:11.5px}
.mod em::before{content:"✓ ";font-weight:800}
@media (max-width:760px){.mods{grid-template-columns:1fr}.c-sum{padding-right:22px}
  .c-toggle{position:static;margin-top:10px}
  .svc-block{margin-top:28px;padding:30px 20px}
  .svc-block.panel,.svc-block:nth-of-type(even){padding-left:20px;padding-right:20px}
  .svc-block h3{font-size:24px}}
/* 咨询阶段 */
.stage{border:1px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:10px;padding:0 18px}
.stage summary{list-style:none;cursor:pointer;padding:14px 0;display:flex;align-items:center;gap:12px}
.stage summary::-webkit-details-marker{display:none}
.stage .sname{font-size:14px;font-weight:800;color:var(--ink)}
.stage .stag{font-size:12px;color:var(--ink-3);font-weight:600;flex:1}
.stage .ic{color:var(--purple);font-family:var(--mono);transition:transform .2s}
.stage[open] .ic{transform:rotate(45deg)}
.stage .sbody{padding:0 0 16px}
.stage h6{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--purple);margin:8px 0 4px}
.stage p,.stage li{font-size:12.5px;color:var(--ink-2);line-height:1.75}
.stage ul{list-style:none}
.stage li::before{content:"· ";color:var(--purple);font-weight:800}
/* 七步 */
/* 对比 */
.vs .bad b{color:var(--ink-2)}.vs .good b{color:var(--purple)}
/* 专家 */
.experts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.expert{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 22px;text-align:center;
  transition:all .24s var(--ease)}
.expert:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.16);border-color:var(--p-200)}
.expert .ph{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:top;
  border:2px solid var(--p-200);margin:0 auto 12px;display:block;background:var(--p-50)}
.expert .ava{width:96px;height:96px;border-radius:50%;background:var(--p-50);border:2px solid var(--p-200);
  color:var(--purple);font-family:var(--serif);font-weight:900;font-size:32px;
  display:none;align-items:center;justify-content:center;margin:0 auto 12px}
.expert .nm{font-size:16.5px;font-weight:800;color:var(--ink)}
.expert .r1{font-size:12.5px;color:var(--ink-3);font-weight:600;margin-top:2px}
.expert .r2{font-size:12.5px;color:var(--purple);font-weight:800;margin:2px 0 10px}
.expert p{font-size:12px;color:var(--ink-2);line-height:1.8;text-align:left}
@media (max-width:960px){.experts{grid-template-columns:1fr}}
.f-qr{width:84px;height:84px;border-radius:10px;border:1px solid var(--line);margin-top:8px}

/* ============ 子页通用 ============ */
.page{display:none}
.page.on{display:block}
/* 子页入场：面板逐块浮起 */
.page.on .sub-hero{animation:rise2 .45s var(--ease) both}
.page.on .svc-block{animation:rise2 .55s var(--ease) both}
.page.on .svc-block:nth-of-type(2){animation-delay:.08s}
.page.on .svc-block:nth-of-type(3){animation-delay:.16s}
.page.on .svc-block:nth-of-type(4){animation-delay:.24s}
.page.on .case-grid .case-card:nth-child(-n+9){animation:rise2 .45s var(--ease) both}
.page.on .case-grid .case-card:nth-child(2){animation-delay:.05s}
.page.on .case-grid .case-card:nth-child(3){animation-delay:.1s}
.page.on .case-grid .case-card:nth-child(4){animation-delay:.15s}
.page.on .case-grid .case-card:nth-child(5){animation-delay:.2s}
.page.on .case-grid .case-card:nth-child(6){animation-delay:.25s}
@keyframes rise2{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
/* 展开动效：详情内容滑入 */
.course[open] .mods{animation:fadeDown .32s var(--ease)}
.stage[open] .sbody{animation:fadeDown .3s var(--ease)}
.faq-item[open] .a{animation:fadeDown .3s var(--ease)}
@keyframes fadeDown{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.sub-hero{background:linear-gradient(180deg,var(--p-50),var(--cream) 80%);
  padding:74px 0 54px;border-bottom:1px solid var(--line)}
.sub-hero .wrap,.section .wrap{max-width:1320px;margin:0 auto;padding:0 34px}
.sub-hero .eyeb{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.18em;
  color:var(--purple);text-transform:uppercase;margin-bottom:12px}
.sub-hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(32px,3.6vw,46px);
  line-height:1.25;color:var(--ink);text-wrap:balance;margin-bottom:12px}
.sub-hero h1 em{font-style:normal;color:var(--purple)}
.sub-hero p{color:var(--ink-2);font-size:15px}
.svc{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:8px}
/* 表面阶梯：板块交替浮起（L0 页面底 / L1 白面板 / L2 面板内浅灰卡） */
.svc-block{margin-top:44px;padding:52px 54px;border-radius:24px}
.svc-block:nth-of-type(odd){padding-left:0;padding-right:0}
.svc-block:nth-of-type(even),.svc-block.panel{background:var(--card);border:1px solid var(--line);
  box-shadow:0 12px 44px rgba(33,30,40,.09);padding-left:54px;padding-right:54px}
.svc-block:nth-of-type(even) .mini,.svc-block.panel .mini{background:var(--cream)}
.svc-block:nth-of-type(even) .stage,.svc-block:nth-of-type(even) .art,.svc-block.panel .stage{background:var(--cream)}
.svc-block:nth-of-type(even) .course,.svc-block.panel .course{background:var(--cream)}
.svc-block:nth-of-type(even) .mod,.svc-block.panel .mod{background:var(--card)}
.svc-block:first-of-type{margin-top:0}
.svc-block .kk{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);
  font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--purple);
  background:var(--p-50);border:1px solid var(--p-200);border-radius:999px;padding:5px 16px}
.svc-block h3{font-family:var(--serif);font-weight:900;font-size:31px;color:var(--ink);
  margin:14px 0 10px;line-height:1.35;letter-spacing:.01em}
.svc-block .ld{color:var(--ink-2);margin-bottom:22px}
.svc-block .ld.links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.svc-block .ld.links a{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink-2);text-decoration:none;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:999px;padding:10px 18px;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),background .18s var(--ease)}
.svc-block .ld.links a::after{content:"→";font-family:var(--mono);font-size:13px;opacity:0;transform:translateX(-6px);transition:opacity .18s var(--ease),transform .18s var(--ease)}
.svc-block .ld.links a:hover{color:var(--purple);border-color:var(--p-200);background:var(--p-50);transform:translateY(-2px);box-shadow:0 10px 24px rgba(94,53,177,.14)}
.svc-block .ld.links a:hover::after{opacity:1;transform:translateX(0)}
.mini3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mini4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mini{background:var(--card);border:1px solid #e3e1e9;border-radius:14px;padding:19px 21px;
  box-shadow:0 1px 3px rgba(33,30,40,.04);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.mini:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.16);border-color:var(--p-200);background:var(--card)}
.mini .t{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:6px;line-height:1.9}
.mini p{font-size:13px;color:var(--ink-2);line-height:1.7}
.mini .step{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--purple)}
/* 案例 */
.ind-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 28px}
.ind-tabs button{font-family:var(--sans);font-size:12.5px;font-weight:700;color:var(--ink-2);
  background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 18px;
  cursor:pointer;transition:all .16s var(--ease)}
.ind-tabs button:hover{background:var(--cream);border-color:var(--p-200)}
.ind-tabs button.act{background:var(--purple-hi);border-color:var(--purple-hi);color:#fff}
.ind-tabs button.act:hover{background:var(--purple);border-color:var(--purple)}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case-card{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:20px 20px 16px;transition:all .24s var(--ease)}
.case-card:hover{transform:translateY(-6px);border-color:var(--p-200);
  box-shadow:0 22px 46px rgba(94,53,177,.16)}
.case-card .chead{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ctags{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}
.ctags span{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--ink-3);
  background:var(--cream-2);border:1px solid var(--line);border-radius:999px;padding:2px 9px}
.case-card .cthumb{width:44px;height:44px;border-radius:10px;overflow:hidden;flex-shrink:0;
  box-shadow:0 2px 6px rgba(33,30,40,.12)}
.case-card .cthumb svg{display:block}
.case-card .ind{display:inline-block;font-size:10.5px;font-weight:800;color:var(--purple);
  background:var(--p-50);border:1px solid var(--p-200);border-radius:999px;padding:2px 10px}
.case-card h4{font-family:var(--serif);font-size:16.5px;font-weight:700;color:var(--ink);
  line-height:1.45;margin-bottom:6px}
.case-card p{font-size:12.5px;color:var(--ink-3);line-height:1.65;margin-bottom:12px}
.case-card .nums{display:flex;gap:14px}
.case-card .nums b{font-family:var(--mono);font-weight:700;font-size:15px;color:var(--data-ink);display:block;line-height:1.2}
.case-card .nums i{font-style:normal;font-size:10.5px;color:var(--ink-3);font-weight:600}
/* 研究中心 */
.art{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:18px 22px;margin-bottom:12px;text-decoration:none;
  transition:all .2s var(--ease)}
a.art:hover{border-color:var(--p-200);transform:translateY(-5px);box-shadow:0 20px 42px rgba(94,53,177,.15)}
.art .tk{display:inline-block;font-size:10.5px;font-weight:800;border-radius:999px;
  padding:2px 11px;margin-bottom:8px;color:var(--purple);background:var(--p-50);border:1px solid var(--p-200)}
.art .tk.soon{color:#8d6300;background:#fff7e5;border-color:#ffd87e}
.art .t{font-size:15px;font-weight:800;color:var(--ink);display:block}
.art .d{font-size:12.5px;color:var(--ink-2);line-height:1.75;margin:5px 0 8px;display:block}
.art .m{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink-3)}
.art .go2{font-size:12px;font-weight:800;color:var(--purple);float:right}
.ins-more{display:flex;justify-content:center;margin:26px 0 6px}
.ins-more button{font:700 13px var(--sans);color:var(--purple);background:var(--card);
  border:1px solid var(--p-200);border-radius:999px;padding:10px 26px;cursor:pointer;
  transition:all .2s var(--ease)}
.ins-more button:hover{background:var(--p-50);border-color:var(--purple);transform:translateY(-2px)}

/* ---- 研究中心 v2：文章库状态标 / 分类筛选 / 订阅卡 ---- */
.art-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.art-head .go2{float:none;margin-left:auto}
.st-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;
  font-weight:700;letter-spacing:.06em;border-radius:999px;padding:2px 10px;white-space:nowrap}
.st-tag::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.st-full{color:var(--data-ink);background:#f6fae7;border:1px solid var(--sage)}
.st-guide{color:#8d6300;background:#fff7e5;border:1px solid #ffd87e}
.st-soon{color:var(--ink-3);background:var(--cream-2);border:1px solid var(--hair)}
.mig-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:600;
  color:var(--ink-3);background:var(--cream-2);border:1px dashed var(--hair);border-radius:10px;
  padding:9px 14px;margin:0 0 18px}
.mig-bar b{color:var(--ink-2);font-weight:800}
.mig-bar .dot{width:6px;height:6px;border-radius:50%;background:var(--purple-hi);flex-shrink:0}
.sub-card{background:var(--dark);border-radius:16px;padding:22px 24px;margin-top:14px;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.sub-card .l{flex:1;min-width:240px}
.sub-card .t{font-family:var(--serif);font-size:18px;font-weight:900;color:var(--d-text);margin-bottom:4px}
.sub-card p{font-size:12.5px;color:var(--d-weak);line-height:1.7}
.sub-card .f{display:flex;gap:8px;flex-wrap:wrap}
.sub-card input{font-family:var(--sans);font-size:13px;padding:10px 14px;width:200px;
  border:1px solid var(--d-line);border-radius:10px;background:var(--dark-2);color:var(--d-text)}
.sub-card input::placeholder{color:var(--d-weak)}
.sub-card input:focus{outline:none;border-color:var(--p-300);box-shadow:0 0 0 3px rgba(124,77,255,.22)}
.sub-card button{font-family:var(--sans);font-size:14px;font-weight:800;border:none;cursor:pointer;
  background:var(--cream);color:var(--ink);border-radius:10px;padding:10px 20px;
  transition:all .18s var(--ease)}
.sub-card button:hover{background:var(--p-300)}
.sub-card .ok{font-size:14px;font-weight:800;color:var(--sage)}
@media (max-width:760px){.sub-card input{width:100%}.sub-card .f{width:100%}}

/* 关于 */
.proof4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
.logo-wall{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.logo-wall span{font-size:13px;font-weight:800;color:var(--ink-2);background:var(--card);
  border:1px solid var(--line);border-radius:10px;padding:9px 18px}
/* 表单 */
.form{max-width:640px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px}
.form label{display:block;font-size:12.5px;font-weight:800;color:var(--ink);margin:14px 0 6px}
.form label .req{color:#c34704}
.form input[type=text],.form input[type=tel],.form input[type=email],.form textarea{
  width:100%;font-family:var(--sans);font-size:14px;padding:11px 14px;
  border:1px solid var(--hair);border-radius:10px;background:var(--card);color:var(--ink)}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--purple-hi);
  box-shadow:0 0 0 3px rgba(124,77,255,.16)}
.form .cbs{display:flex;gap:8px;flex-wrap:wrap}
.form .cbs label{display:inline-flex;align-items:center;gap:6px;font-weight:700;
  color:var(--ink-2);background:var(--cream);border:1px solid var(--line);border-radius:999px;
  padding:7px 14px;margin:0;cursor:pointer;font-size:12.5px}
.form .ok-msg{font-size:14px;font-weight:800;color:var(--sage-ink);text-align:center;padding:20px 0}
.contact-side{font-size:14px;color:var(--ink-2);line-height:1.8;margin-top:26px}
.contact-side b{color:var(--ink)}
@media (max-width:960px){.svc,.mini3,.case-grid{grid-template-columns:1fr}
  .mini4,.proof4{grid-template-columns:1fr 1fr}}
.btn{font-family:var(--sans);font-size:14px;font-weight:700;border-radius:999px;
  padding:10px 22px;cursor:pointer;text-decoration:none;border:1px solid transparent;
  transition:all .16s var(--ease);display:inline-flex;align-items:center;gap:7px}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(124,77,255,.3)}
.btn-ink{background:var(--ink);color:var(--cream)}
.btn-ink:hover{background:var(--p-600)}
.btn-ink:active{background:var(--p-700)}
.btn .arr{font-family:var(--mono);transition:transform .16s var(--ease)}
.btn:hover .arr{transform:translateX(3px)}

/* ============ TwelveLabs 式首页体系 ============ */
:root{--tl-bg:#17151d;--tl-card:#211e28;--tl-line:#3a3444;
  --grad:linear-gradient(92deg,#7c4dff,#c957ff)}
.btn-cream{background:var(--cream);color:var(--ink)}
.btn-cream:hover{background:#fff;box-shadow:0 14px 34px rgba(250,250,251,.3),0 0 0 6px rgba(250,250,251,.09)}
.btn-oline{background:transparent;color:var(--d-text);border-color:var(--d-weak)}
.btn-oline:hover{border-color:var(--p-300);color:#fff;background:rgba(124,77,255,.18);
  box-shadow:0 14px 34px rgba(124,77,255,.3),0 0 0 6px rgba(124,77,255,.1)}
.tl-hero .btn::after,.p-hero .btn::after{content:"";position:absolute;top:0;left:-140%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);pointer-events:none}
.tl-hero .btn:hover::after,.p-hero .btn:hover::after{animation:sheen .75s var(--ease)}
@keyframes sheen{to{left:150%}}
.btn-oline::after{background:linear-gradient(100deg,transparent,rgba(189,165,255,.35),transparent) !important}
.tl-hero{position:relative;background:var(--tl-bg);min-height:88vh;
  display:flex;align-items:center;overflow:hidden}
/* —— 透视缩略图流（Canvas 逐帧渲染） —— */
.stream{position:absolute;inset:0;width:100%;height:100%;display:block;
  pointer-events:none;opacity:0;transition:opacity 2s var(--ease)}
.stream.ready{opacity:1}
.stream-scrim{position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(94deg,var(--tl-bg) 24%,rgba(23,21,29,.92) 38%,rgba(23,21,29,.5) 55%,rgba(23,21,29,.2) 74%,rgba(23,21,29,.52) 100%),
             linear-gradient(0deg,var(--tl-bg) 0%,transparent 20%),
             linear-gradient(180deg,var(--tl-bg) 0%,transparent 16%)}
/* —— 左排版 —— */
.tl-wrap{position:relative;z-index:2;width:100%;max-width:1320px;margin:0 auto;
  padding:120px 34px 110px}

.tl-inner{position:relative;max-width:640px;text-align:left}
.tl-eyebrow{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.22em;
  color:#fff;margin-bottom:26px}
.tl-hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(38px,4.6vw,64px);line-height:1.22;
  color:var(--d-text);text-wrap:balance;margin-bottom:22px}
.tl-hero h1 em{font-style:normal;color:#fff}
.tl-hero .sub{font-size:clamp(15px,1.3vw,17px);color:var(--d-sub);line-height:1.9;
  max-width:34em;margin:0 0 34px}
.tl-hero .ctas{display:flex;gap:14px;justify-content:flex-start;flex-wrap:wrap}
.tl-hero .btn{font-size:15px;padding:14px 32px;position:relative;overflow:hidden;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s var(--ease),background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.tl-hero .btn:hover{transform:translateY(-3px) scale(1.03)}
.tl-hero .btn .arr{transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
.tl-hero .btn:hover .arr{transform:translateX(5px)}
/* 五个问题 chips */
.tl-chips{display:flex;gap:10px;justify-content:flex-start;flex-wrap:wrap;margin:32px 0 0;max-width:640px}
.tl-chips button{font-family:var(--sans);font-size:13px;font-weight:700;color:#fff;
  background:rgba(51,46,61,.55);border:1px solid var(--tl-line);border-radius:999px;
  padding:9px 18px;cursor:pointer;transition:all .2s var(--ease)}
.tl-chips button:hover{color:#fff;border-color:var(--p-300);background:rgba(124,77,255,.16);
  transform:translateY(-2px)}
.tl-chips button b{font-family:var(--mono);font-size:10px;font-weight:700;color:rgba(255,255,255,.62);
  margin-right:7px;letter-spacing:.06em}
/* AI 顾问演示窗 */
.demo-win.demo-mini{position:absolute;right:44px;bottom:44px;z-index:3;width:390px;max-width:none;margin:0;
  animation:tlIn 1.3s cubic-bezier(.22,1,.36,1) 1.1s both}
.demo-mini .dw-body2{padding:16px 18px 14px;min-height:0}
.demo-mini .dm.me span{font-size:12.5px;padding:8px 13px}
.demo-mini .dm.ai span{font-size:12px;line-height:1.75;padding:10px 13px}
.demo-mini .dm{margin-bottom:10px}
.demo-mini .dw-bar{padding:10px 14px}
.demo-win{max-width:760px;margin:0 auto;background:var(--tl-card);border:1px solid var(--tl-line);
  border-radius:16px;overflow:hidden;cursor:pointer;text-align:left;
  box-shadow:0 40px 90px rgba(0,0,0,.5);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.demo-win:hover{transform:translateY(-4px);border-color:#4d4460;box-shadow:0 50px 110px rgba(124,77,255,.22)}
.dw-bar{display:flex;align-items:center;gap:7px;padding:13px 18px;border-bottom:1px solid var(--tl-line);
  background:rgba(23,21,29,.6)}
.dw-bar .d1,.dw-bar .d2,.dw-bar .d3{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.dw-bar .d1{background:#5a5266}.dw-bar .d2{background:#4a4359}.dw-bar .d3{background:#3a3444}
.dw-bar .dw-t{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--d-weak);margin-left:8px;
  letter-spacing:.04em}
.dw-body2{padding:22px 24px 20px;min-height:150px}
.dm{display:flex;margin-bottom:14px}
.dm.me{justify-content:flex-end}
.dm.me span{background:var(--purple-hi);color:#fff;font-size:14px;font-weight:600;
  border-radius:12px 12px 4px 12px;padding:10px 16px}
.dm.ai{justify-content:flex-start}
.dm.ai span{background:rgba(51,46,61,.6);border:1px solid var(--tl-line);color:var(--d-sub);
  font-size:14px;line-height:1.8;border-radius:12px 12px 12px 4px;padding:12px 16px;max-width:44em}
.dm.ai b{color:var(--d-text)}
.caret2{display:inline-block;width:2px;height:15px;background:var(--p-300);margin-left:2px;
  vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.dm-srcs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;transition:opacity .6s var(--ease)}
.dm-srcs span{font-family:var(--mono);font-size:10.5px;font-weight:700;color:#b6cf68;
  background:rgba(129,155,36,.12);border:1px solid rgba(129,155,36,.4);border-radius:999px;padding:2px 10px}
.dm-srcs em{font-style:normal;font-size:11.5px;font-weight:700;color:var(--p-300);margin-left:auto}
/* hero 入场：整体沉稳淡入 */
.tl-inner>*{opacity:0;animation:tlIn 1.1s cubic-bezier(.22,1,.36,1) forwards}
.tl-inner>.tl-eyebrow{animation-delay:.1s}
.tl-inner>h1{animation-delay:.22s}
.tl-inner>.sub{animation-delay:.4s}
.tl-inner>.ctas{animation-delay:.58s}
.tl-inner>.tl-chips{animation-delay:.74s}
@keyframes tlIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
/* 首页深色板块 */
.tl-main{background:var(--tl-bg)}
.tl-sec{max-width:1320px;margin:0 auto;padding:104px 34px 0}
.tl-sec .eyeb{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.18em;
  color:var(--p-300);text-transform:uppercase;margin-bottom:14px}
.tl-sec h2{font-family:var(--serif);font-weight:900;font-size:clamp(28px,3.2vw,44px);line-height:1.3;
  color:var(--d-text);margin-bottom:10px;max-width:none}
.tl-sec h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tl-sec .ld2{font-size:14px;color:var(--d-weak);max-width:none;line-height:1.8;margin-bottom:34px}
.tl-hr{height:1px;max-width:1320px;margin:104px auto 0;
  background:linear-gradient(90deg,transparent,rgba(124,77,255,.5),rgba(201,87,255,.5),transparent)}
/* 深色数字带 */
.tl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.tl-stat{border-top:1px solid var(--tl-line);padding-top:18px}
.tl-stat b{display:block;font-family:var(--mono);font-weight:700;font-size:clamp(34px,3.8vw,54px);
  line-height:1.1;letter-spacing:-.02em;background:var(--grad);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.tl-stat .l{display:block;font-size:14px;font-weight:800;color:var(--d-text);margin-top:8px}
.tl-stat .s{display:block;font-size:11.5px;font-weight:600;color:var(--d-weak);margin-top:2px}
/* 深色行业/研究卡 */
.tl-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tl-card{background:var(--tl-card);border:1px solid var(--tl-line);border-radius:16px;
  padding:26px 26px 22px;cursor:pointer;transition:all .25s var(--ease)}
.tl-card:hover{transform:translateY(-6px);border-color:rgba(124,77,255,.75);
  box-shadow:0 0 0 1.5px rgba(124,77,255,.45),0 0 28px rgba(124,77,255,.35),
             0 26px 56px rgba(0,0,0,.5)}
.tl-card:active{transform:translateY(-3px) scale(.995);
  box-shadow:0 0 0 2px rgba(189,165,255,.7),0 0 40px rgba(124,77,255,.55),
             0 18px 40px rgba(0,0,0,.5)}
.tl-card .k{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--p-300)}
.tl-card h3{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--d-text);margin:8px 0 6px}
.tl-card p{font-size:13px;color:var(--d-weak);line-height:1.7}
.tl-card .go{display:inline-block;margin-top:14px;font-size:12.5px;font-weight:800;color:var(--p-300)}
.tl-card:hover .go{color:#fff}
/* 深色 FAQ */
.tl-faq .faq-item{background:var(--tl-card);border-color:var(--tl-line)}
.tl-faq .faq-item summary{color:var(--d-text)}
.tl-faq .faq-item .a{color:var(--d-sub)}
.tl-faq .faq-item summary .ic{color:var(--p-300)}
/* 首页深色跑马灯 chips */
.tl-lw .lw-chip{background:var(--tl-card);border-color:var(--tl-line);color:var(--d-sub)}
.tl-lw .lw-chip:hover{color:#fff;border-color:var(--p-300)}
.tl-lw .lw-cap{color:var(--d-weak)}
/* 收尾 CTA */
.tl-cta{max-width:1320px;margin:104px auto 0;padding:0 34px 110px}
.tl-cta .in{position:relative;border-radius:26px;padding:74px 46px;text-align:center;overflow:hidden;
  background:var(--tl-card);border:1px solid var(--tl-line)}
.tl-cta .in::before{content:"";position:absolute;left:50%;top:-160px;width:900px;height:420px;
  transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(124,77,255,.25),transparent 70%)}
.tl-cta h2{position:relative;font-family:var(--serif);font-weight:900;font-size:clamp(28px,3.4vw,46px);
  color:var(--d-text);line-height:1.35;margin-bottom:12px}
.tl-cta p{position:relative;font-size:14px;color:var(--d-weak);max-width:36em;margin:0 auto 28px}
.tl-cta .btn{position:relative}
/* 首页态导航反色 */
body.home-on .nav{background:var(--tl-bg);border-bottom-color:transparent}
body.home-on .nav.scrolled{border-bottom-color:var(--tl-line);box-shadow:0 4px 18px rgba(0,0,0,.4)}
body.home-on .nav-links a,body.home-on .nav-mt{color:var(--d-sub)}
body.home-on .nav-links a:hover{color:#fff;background:rgba(124,77,255,.16)}
body.home-on .nav-links a.act,body.home-on .nav-mt.act{color:var(--p-300);border-bottom-color:var(--p-300)}
body.home-on .logo img{filter:brightness(0) invert(1)}
body.home-on .nav .btn{border-color:var(--tl-line) !important;color:var(--d-text) !important}
body.home-on .nav .btn-ink{background:var(--cream) !important;color:var(--ink) !important;border-color:transparent !important}
body.home-on .nav .btn-ink:hover{background:var(--p-300)}
@media (max-width:960px){.tl-cards3{grid-template-columns:1fr}.tl-stats{grid-template-columns:1fr 1fr}}
@media (max-width:1180px){.demo-win.demo-mini{display:none}}
@media (max-width:760px){
  .tl-hero{min-height:0}
  .tl-wrap{padding:96px 22px 76px}
  .stream{opacity:.5 !important}}
@media (prefers-reduced-motion:reduce){
  .tl-inner>*{animation:none;opacity:1}
  .stream{animation:none;opacity:1}
  .st-track{animation:none}
  .demo-win.demo-mini{animation:none}
  .caret2{animation:none}}

/* ============ 内容区（占位，Anthropic 卡片流） ============ */
.section{max-width:1320px;margin:0 auto;padding:88px 34px 0;scroll-margin-top:70px}
.svc-block{scroll-margin-top:76px}
.sec-eyebrow{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.18em;
  color:var(--purple);text-transform:uppercase;margin-bottom:12px}
.section h2{font-family:var(--serif);font-weight:900;font-size:36px;line-height:1.3;
  text-wrap:balance;margin-bottom:8px}
.section .lead{color:var(--ink-2);margin-bottom:38px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 26px 24px;
  display:flex;flex-direction:column;gap:10px;transition:all .24s var(--ease);cursor:pointer}
.pcard:hover{transform:translateY(-7px);border-color:var(--p-200);box-shadow:0 26px 54px rgba(94,53,177,.18)}
.pcard .k{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--ink-3)}
.pcard h3{font-family:var(--serif);font-weight:700;font-size:21px}
.pcard p{font-size:13px;color:var(--ink-2);flex:1}
.pcard .go{font-size:12.5px;font-weight:800;color:var(--purple)}
.tiles-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ctile{border-radius:14px;padding:22px 20px;min-height:150px;display:flex;flex-direction:column;
  justify-content:space-between;cursor:pointer;border:1px solid var(--line);
  transition:all .24s var(--ease)}
.ctile:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.18)}
.ctile .t{font-family:var(--serif);font-weight:700;font-size:17px;line-height:1.4}
.ctile .n{font-family:var(--mono);font-size:11.5px;font-weight:700;opacity:.75}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:none}
.placeholder-note{font-size:11.5px;color:var(--ink-3);font-weight:600;margin-top:14px}

/* ============ 页脚（结构化占位） ============ */
.footer{background:var(--cream-2);border-top:1px solid var(--line)}
.f-inner{max-width:1320px;margin:0 auto;padding:64px 34px 30px}
/* 页脚标语：全端强制单行（字号随视口缩放，8.4vw 保证 320px 起仍不折行） */
.f-word{font-family:var(--serif);font-weight:900;font-size:clamp(24px,8.4vw,84px);
  line-height:1.1;color:var(--ink);margin-bottom:48px;letter-spacing:.02em;white-space:nowrap}
.f-word em{font-style:normal;color:var(--purple)}
.f-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding-bottom:44px;
  border-bottom:1px solid var(--line)}
.f-col .h{font-size:12.5px;font-weight:800;color:var(--ink);margin-bottom:12px;
  letter-spacing:.04em}
.f-col a{display:block;font-size:12.5px;font-weight:600;color:var(--ink-3);
  text-decoration:none;padding:4px 0;transition:color .16s}
.f-col a:hover{color:var(--purple)}
.f-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding-top:22px;font-size:11.5px;font-weight:600;color:var(--ink-3)}
.f-base a{color:inherit;text-decoration:none;transition:color .16s}
.f-base a:hover{color:var(--purple)}

/* ============ AI 顾问（与前版一致） ============ */
.fab{position:fixed;right:26px;bottom:64px;z-index:56;display:inline-flex;align-items:center;
  gap:9px;background:var(--ink);color:var(--cream);border:none;border-radius:999px;
  padding:13px 22px;font-family:var(--sans);font-size:14px;font-weight:700;cursor:pointer;
  box-shadow:0 10px 28px rgba(33,30,40,.3);transition:all .2s var(--ease)}
.fab:hover{transform:translateY(-2px);background:var(--p-600)}
.fab:active{background:var(--p-700)}
.fab .dot{width:8px;height:8px;border-radius:50%;background:var(--sage);
  box-shadow:0 0 0 3px rgba(214,232,147,.3)}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);z-index:70;
  background:var(--card);border-left:1px solid var(--line);
  box-shadow:-24px 0 60px rgba(33,30,40,.18);display:flex;flex-direction:column;
  transform:translateX(105%);transition:transform .32s var(--ease)}
.drawer.open{transform:translateX(0)}
.dw-resize{position:absolute;left:0;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:5}
.dw-resize::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:transparent;transition:background .16s var(--ease)}
.dw-resize:hover::after,.dw-resize.active::after{background:var(--purple-hi)}
.drawer.resizing{transition:none}
.dw-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;
  border-bottom:1px solid var(--line);background:var(--cream)}
.dw-ava{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--purple-hi),#aa00ff);
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;
  font-family:var(--serif);font-size:16px;flex-shrink:0}
.dw-ava.dw-ava-v{overflow:hidden;border-radius:50%;background:#ece6ff;box-shadow:0 0 0 2px var(--p-200)}
.dw-video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06)}
.dw-title{font-size:15px;font-weight:800;display:flex;align-items:center;gap:7px}
.dw-title .st{width:7px;height:7px;border-radius:50%;background:#819b24}
.dw-sub{font-size:11.5px;color:var(--ink-3);line-height:1.5}
.dw-close{margin-left:auto;background:none;border:none;font-size:20px;color:var(--ink-3);
  cursor:pointer;padding:4px 8px;border-radius:6px}
.dw-close:hover{background:var(--cream-2);color:var(--ink)}
.dw-body{flex:1;overflow-y:auto;padding:18px 18px 6px;display:flex;flex-direction:column;gap:14px}
.msg{display:flex;gap:10px}
.msg .who{width:26px;height:26px;border-radius:8px;flex-shrink:0;display:flex;
  align-items:center;justify-content:center;font-size:11px;font-weight:800}
.msg.ai .who{background:var(--p-50);color:var(--purple);border:1px solid var(--p-200)}
.msg.me{flex-direction:row-reverse}
.msg.me .who{background:var(--cream-2);color:var(--ink-2)}
.bubble{border-radius:12px;padding:12px 15px;font-size:14px;line-height:1.8;color:var(--ink-2)}
.msg.ai .bubble{background:var(--cream);border:1px solid var(--line);border-top-left-radius:4px}
.msg.me .bubble{background:var(--purple-hi);color:#fff;border-top-right-radius:4px;font-weight:600}
.bubble strong{color:var(--ink);font-weight:800}
/* 回答里提到的「预约 AI 场景诊断」自动挂链：与站内链接风格一致 */
.bubble a.ai-book{color:var(--purple);font-weight:800;text-decoration:none;border-bottom:1px solid var(--p-200);transition:border-color .16s var(--ease)}
.bubble a.ai-book:hover{border-bottom-color:var(--purple)}
.demo-tag{display:inline-block;margin-top:9px;font-size:10.5px;font-weight:700;color:var(--ink-3);
  background:var(--cream-2);border-radius:6px;padding:3px 9px}
.rag{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.rag span{font-family:var(--mono);font-size:10.5px;font-weight:700;color:var(--sage-ink);
  background:#f6fae7;border:1px solid var(--sage);border-radius:999px;padding:2px 10px}
.srcs{display:flex;flex-direction:column;gap:6px;margin-top:9px}
.src{display:flex;justify-content:space-between;gap:10px;font-size:11.5px;font-weight:700;
  color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:8px;
  padding:7px 11px;cursor:pointer;transition:border-color .16s var(--ease)}
.src:hover{border-color:var(--purple)}
.src em{font-style:normal;color:var(--ink-3);font-weight:600;white-space:nowrap}
.lead-card{background:var(--p-50);border:1px solid var(--p-200);border-radius:12px;padding:14px 15px}
.lead-card .t{font-size:14px;font-weight:800;margin-bottom:4px}
.lead-card .s{font-size:12px;color:var(--ink-2);margin-bottom:10px}
.lead-card input{width:100%;font-family:var(--sans);font-size:13px;padding:9px 12px;margin-bottom:8px;
  border:1px solid var(--p-200);border-radius:8px;background:var(--card);color:var(--ink)}
.lead-card input:focus{outline:none;border-color:var(--purple-hi);box-shadow:0 0 0 3px rgba(124,77,255,.18)}
.lead-card button{width:100%;border:none;background:var(--purple-hi);color:#fff;font-weight:800;
  font-size:14px;padding:10px;border-radius:8px;cursor:pointer;font-family:var(--sans)}
.lead-card button:hover{background:var(--p-600)}
.lead-card button:active{background:var(--p-700)}
.lead-card .ok{font-size:13px;font-weight:800;color:var(--sage-ink);text-align:center;padding:6px 0}
.lead-card .pp{font-size:10.5px;color:var(--ink-3);margin-top:7px;text-align:center}
.chips{display:flex;gap:8px;flex-wrap:wrap;padding:10px 18px 4px}
.chips button{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--ink-2);
  background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:7px 14px;
  cursor:pointer;transition:all .16s var(--ease)}
.chips button:hover{border-color:var(--purple);color:var(--purple)}
.dw-input{display:flex;gap:9px;padding:12px 18px 16px}
.dw-input input{flex:1;font-family:var(--sans);font-size:14px;padding:12px 16px;
  border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}
.dw-input input:focus{outline:none;border-color:var(--purple-hi);box-shadow:0 0 0 3px rgba(124,77,255,.16)}
/* 占位提示词比正文小两档：chips 12px、placeholder 10.5px，避免视觉上压过输入后的正文（14px常规） */
.dw-input input::placeholder,
.dw-input input::-webkit-input-placeholder{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.01em;color:var(--ink-3)}
.dw-input button{border:none;background:var(--purple-hi);color:#fff;border-radius:12px;
  width:46px;font-size:16px;cursor:pointer}
.dw-input button:hover{background:var(--p-600)}
.dw-input button:active{background:var(--p-700)}
/* 模糊放在伪元素上（叶子节点），避免 backdrop-filter 作为祖先层把 .dw-video 等子元素一起卷进离屏合成
   （同 1759 行 .nav 的处理）；移动端整屏合成该层时会丢帧闪屏，见下面 ≤760 的降级 */
.drawer{background:rgba(250,249,253,.84);border-left:1px solid rgba(124,77,255,.14)}
.drawer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  -webkit-backdrop-filter:blur(22px) saturate(1.25);backdrop-filter:blur(22px) saturate(1.25)}
/* ≤760 抽屉满宽（width:min(460px,100vw)），背后内容完全被遮住，模糊零收益；
   而这个铺满全屏的 backdrop-filter 层在移动端要逐帧重算/重建，是点小瑞时闪屏的主因 → 直接去掉并改不透明底 */
@media (max-width:760px){
  .drawer::before{display:none}
  /* 键盘实占高度（--dw-kb 由 rh2026.js 按 visualViewport 实时写入）：把抽屉底边抬到键盘之上，
     输入框始终在可视区内，浏览器就不必自己滚动 / 平移页面去「救」它 */
  .drawer{background:var(--card);bottom:var(--dw-kb,0px)}
}
.dw-head{background:rgba(246,243,255,.55);border-bottom-color:rgba(124,77,255,.12)}
.msg.ai .bubble{background:rgba(255,255,255,.62);border-color:rgba(124,77,255,.12)}
.dw-input{background:rgba(255,255,255,.35)}
.typing{display:inline-flex;gap:4px;padding:4px 2px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:tp 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* ============ HCVM 页面专用 ============ */
/* 动态 logo 墙：双行反向跑马灯，hover 暂停 */
.lw{position:relative;overflow:hidden;padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.lw+.lw{margin-top:12px}
.lw-track{display:flex;gap:12px;width:max-content;animation:lwL 46s linear infinite}
.lw.rev .lw-track{animation:lwR 52s linear infinite}
.lw:hover .lw-track{animation-play-state:paused}
@keyframes lwL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes lwR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.lw-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;
  font-size:14px;font-weight:800;color:var(--ink-2);background:var(--card);
  border:1px solid var(--line);border-radius:12px;padding:12px 22px;white-space:nowrap;
  transition:all .2s var(--ease)}
.lw-chip:hover{color:var(--purple);border-color:var(--p-200);transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(33,30,40,.1)}
.lw-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--p-200);flex-shrink:0}
.lw-chip:hover .dot{background:var(--purple-hi)}
@media (prefers-reduced-motion:reduce){
  .lw{-webkit-mask-image:none;mask-image:none}
  .lw-track{animation:none !important;width:auto;flex-wrap:wrap}
  .lw-track .lw-dup{display:none}}
/* RACE 瑞思模型 */
.race{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}
.race .rc{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:20px 18px;transition:all .22s var(--ease)}
.race .rc:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(33,30,40,.1);border-color:var(--p-200)}
.race .rl{font-family:var(--mono);font-weight:700;font-size:30px;color:var(--purple);line-height:1}
.race .rn{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--ink-3);margin:2px 0 6px}
.race .rt{font-size:15px;font-weight:800;color:var(--ink)}
.race .rk{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:700;color:var(--data-ink);
  background:#f6fae7;border:1px solid var(--sage);border-radius:999px;padding:1px 9px;margin:4px 0 8px}
.race .rd{font-size:12.5px;color:var(--ink-2);line-height:1.75}
.race .rc.hero-r{background:var(--p-50);border-color:var(--p-200)}
@media (max-width:960px){.race{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.race{grid-template-columns:1fr}}
/* 资源投入比例条 */
.rbar{display:flex;height:38px;border-radius:10px;overflow:hidden;margin:14px 0 8px;
  border:1px solid var(--line)}
.rbar span{display:flex;align-items:center;justify-content:center;font-family:var(--mono);
  font-size:11.5px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden}
.rleg{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;font-weight:700;color:var(--ink-2)}
.rleg i{font-style:normal;display:inline-flex;align-items:center;gap:6px}
.rleg .sw{width:10px;height:10px;border-radius:3px;display:inline-block}
/* 五步方法论 */
.raaid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px}
.raaid .st{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 14px;
  transition:all .2s var(--ease)}
.raaid .st:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(33,30,40,.09);border-color:var(--p-200)}
.raaid .no{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--purple)}
.raaid .en{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--ink-3);display:block}
.raaid b{display:block;font-size:14px;color:var(--ink);margin:2px 0 8px}
.raaid li{font-size:11.5px;color:var(--ink-3);line-height:1.7}
.raaid ul{list-style:none}
.raaid li::before{content:"· ";color:var(--purple);font-weight:800}
@media (max-width:960px){.raaid{grid-template-columns:1fr 1fr}}
/* 语义色卡：卡点=杏色警示层（品牌 A 色阶） */
.mini.tint-a,.svc-block.panel .mini.tint-a,.svc-block:nth-of-type(even) .mini.tint-a{background:#fdf2ea;border-color:#f3d5bf}
.mini.tint-a .step{color:#9c3904}
.mini.tint-a:hover{box-shadow:0 22px 46px rgba(156,57,4,.15);border-color:#e8b894;background:#fdf2ea}
/* ============ 产品分页视角（Scale 式） ============ */
.p-hero{position:relative;background:var(--dark);min-height:62vh;display:flex;align-items:flex-end;
  overflow:hidden}
.p-hero .art{position:absolute;inset:0;pointer-events:none}
.p-hero .art svg{width:100%;height:100%;display:block}
.p-hero .scrim{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(33,30,40,.92) 0%,rgba(33,30,40,.55) 46%,rgba(33,30,40,.15) 100%),
             linear-gradient(0deg,rgba(33,30,40,.85) 0%,transparent 45%)}
.p-hero .inner{position:relative;z-index:2;max-width:1320px;width:100%;margin:0 auto;
  padding:120px 34px 54px}
.p-hero .pk{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.2em;
  color:var(--p-300);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.p-hero .pk::before{content:"";width:26px;height:2px;background:var(--purple-hi);border-radius:2px}
.p-hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(36px,4.4vw,58px);line-height:1.24;
  color:var(--d-text);text-wrap:balance;margin-bottom:18px;max-width:16em;letter-spacing:.01em}
.p-hero .pd{font-size:15px;color:var(--d-sub);line-height:1.9;max-width:56em;
  margin-bottom:32px}
.p-hero .pcta{display:flex;gap:12px;flex-wrap:wrap}
.p-hero .btn-cream{font-size:14px;padding:12px 26px}
.p-hero .btn-oline{font-size:14px;padding:12px 26px}
/* 产品间切换 tabs */
.p-tabs{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:64px;z-index:40}
.p-tabs .in{max-width:1320px;margin:0 auto;padding:0 34px;display:flex;gap:26px;overflow-x:auto}
.p-tabs a{font-size:13px;font-weight:700;color:var(--ink-3);text-decoration:none;
  padding:14px 0 12px;border-bottom:2px solid transparent;white-space:nowrap;transition:all .16s var(--ease)}
.p-tabs a:hover{color:var(--ink)}
.p-tabs a.on{color:var(--purple);border-bottom-color:var(--purple-hi)}
/* 产品与服务概览卡 */
.pv-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pv-card{position:relative;border-radius:18px;overflow:hidden;background:var(--dark);cursor:pointer;
  min-height:320px;display:flex;align-items:flex-end;box-shadow:0 2px 14px rgba(33,30,40,.08);
  /* 3D 倾斜由 --prx/--pry 驱动，上浮量走 --plift，三者合成一个 transform */
  transform:perspective(1000px) rotateX(var(--prx,0deg)) rotateY(var(--pry,0deg)) translateY(var(--plift,0px));
  will-change:transform;
  transition:transform .24s var(--ease),box-shadow .24s var(--ease)}
.pv-card:hover{--plift:-6px;
  box-shadow:0 0 0 1.5px rgba(124,77,255,.45),0 0 28px rgba(124,77,255,.3),
             0 24px 54px rgba(0,0,0,.45)}
.pv-card:active{--plift:-2px;
  box-shadow:0 0 0 2px rgba(189,165,255,.7),0 0 40px rgba(124,77,255,.5)}
/* 鼠标跟随光斑：hover 亮起、随 --mx/--my 移动 */
.pv-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;
  background:radial-gradient(430px circle at var(--mx,50%) var(--my,42%),rgba(124,77,255,.24),transparent 64%);
  transition:opacity .35s var(--ease)}
.pv-card:hover::after{opacity:1}
.pv-card .art{position:absolute;inset:0}
.pv-card .art svg{width:100%;height:100%;display:block}
.pv-card .scrim{position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(33,30,40,.9) 0%,rgba(33,30,40,.25) 55%,rgba(33,30,40,.05) 100%)}
.pv-card .txt{position:relative;z-index:3;padding:26px 28px}
.pv-card .pk{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--p-300)}
.pv-card h3{font-family:var(--serif);font-weight:900;font-size:24px;color:var(--d-text);margin:6px 0 6px}
.pv-card p{font-size:13px;color:var(--d-sub);line-height:1.7;max-width:34em}
.pv-card .go3{display:inline-block;margin-top:12px;font-size:13px;font-weight:800;color:var(--p-300)}
.pv-card:hover .go3{color:#fff}
@media (max-width:960px){.pv-grid{grid-template-columns:1fr}}
@media (max-width:760px){.p-hero .pd br{display:none}}
/* ============ Mega 导航：共享幕布（Scale physical-ai 式） ============ */
.nav-mt{position:relative}
.mega-sheet{position:absolute;left:0;right:0;top:100%;background:var(--card);
  overflow:hidden;height:0;z-index:59;visibility:hidden;
  transition:height .68s cubic-bezier(.22,1,.36,1),visibility 0s .68s;
  box-shadow:none;border-bottom:0}
.mega-sheet.open{visibility:visible;box-shadow:0 44px 90px rgba(33,30,40,.18);
  border-bottom:1px solid var(--line);
  transition:height .68s cubic-bezier(.22,1,.36,1)}
.mega-sheet .mega-pane{position:absolute;top:0;left:0;right:0;
  opacity:0;pointer-events:none;transition:opacity .28s var(--ease)}
.mega-sheet .mega-pane.on{opacity:1;pointer-events:auto;
  transition:opacity .4s var(--ease) .12s}
.mega-pane .m-in{max-width:1320px;margin:0 auto;padding:44px 44px 48px;
  display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:56px;align-items:start}
.mega-pane.on .m-in{animation:mIn .55s cubic-bezier(.22,1,.36,1) .1s both}
@keyframes mIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.m-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px 48px}
.m-group{font-size:12px;font-weight:700;color:var(--ink-3);letter-spacing:.06em;
  margin:0 0 6px;grid-column:1/-1}
a.m-item{display:block;padding:10px 12px;margin-left:-12px;border-radius:10px;
  text-decoration:none;border-bottom:0 !important;transition:background .14s var(--ease)}
a.m-item:hover{background:var(--p-50)}
a.m-item b{display:block;font-size:16.5px;font-weight:700;color:var(--ink);letter-spacing:.01em}
a.m-item:hover b{color:var(--purple)}
a.m-item span{display:block;font-size:12px;color:var(--ink-3);font-weight:600;margin-top:1px}
.m-prev{border-radius:14px;overflow:hidden;background:var(--dark);aspect-ratio:16/9.5;position:relative}
.m-swap{position:absolute;inset:0;animation:mSwap .5s var(--ease)}
.m-swap svg{width:100%;height:100%;display:block}
@keyframes mSwap{from{opacity:0;transform:scale(1.05)}to{opacity:1;transform:none}}
.m-prev svg{width:100%;height:100%;display:block}
.m-prev .cap{position:absolute;left:16px;bottom:12px;font-family:var(--mono);font-size:11px;
  font-weight:700;letter-spacing:.12em;color:var(--p-300);z-index:2;
  text-shadow:0 1px 8px rgba(33,30,40,.8)}
/* 幕布下方页面轻微压暗 */
.mega-dim{position:fixed;left:0;right:0;top:64px;bottom:0;background:rgba(33,30,40,.26);
  opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.22,1,.36,1);z-index:55}
.mega-dim.on{opacity:1}
@media (max-width:1080px){.mega-pane .m-in{grid-template-columns:1fr}.m-prev{display:none}}
@media (prefers-reduced-motion:reduce){
  .mega-sheet{transition:none}
  .mega-sheet .mega-pane,.mega-sheet .mega-pane.on{transition:none}
  .mega-pane.on .m-in{animation:none}
  .mega-dim{transition:none}}
/* 产品 hero 入场：文案阶梯淡入上浮，大图淡入 + 极慢漂移 */
.page.on .p-hero .pk{animation:pRise .9s var(--ease) .1s both}
.page.on .p-hero h1{animation:pRise 1s var(--ease) .28s both}
.page.on .p-hero .pd{animation:pRise 1s var(--ease) .5s both}
.page.on .p-hero .pcta{animation:pRise 1s var(--ease) .72s both}
.page.on .p-hero .art{animation:artIn 2s var(--ease) both}
@keyframes pRise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes artIn{from{opacity:0}to{opacity:1}}
.p-hero .art svg{animation:artDrift 26s ease-in-out infinite alternate}
@keyframes artDrift{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.08) translate(-18px,-8px)}}
.page.on .p-tabs{animation:pRise .8s var(--ease) .85s both}
@media (prefers-reduced-motion:reduce){
  .page.on .p-hero .pk,.page.on .p-hero h1,.page.on .p-hero .pd,.page.on .p-hero .pcta,
  .page.on .p-hero .art,.page.on .p-tabs{animation:none}
  .p-hero .art svg{animation:none}
}

/* 修正类名冲突：data-art 图容器不得继承文章卡（.art）的白底与内边距 */
div[data-art]{background:transparent !important;padding:0 !important;margin:0 !important;
  border:0 !important;box-shadow:none !important;border-radius:0 !important}
/* ============ 文章详情 ============ */
.a-prog{position:fixed;top:64px;left:0;height:3px;width:0;z-index:59;
  background:linear-gradient(90deg,var(--purple),var(--purple-hi),#aa00ff);
  transition:width .08s linear;border-radius:0 3px 3px 0}
.a-hero{background:linear-gradient(180deg,var(--p-50),var(--cream) 85%);border-bottom:1px solid var(--line);padding:40px 0 34px}
.a-hero .wrap,.a-main{max-width:1320px;margin:0 auto;padding:0 34px}
.a-bc{font-size:12.5px;color:var(--ink-3);font-weight:600;margin-bottom:16px}
.a-bc a{color:var(--ink-3);text-decoration:none}
.a-bc a:hover{color:var(--purple)}
.a-hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(26px,3vw,38px);line-height:1.35;color:var(--ink);max-width:none;text-wrap:pretty;margin-bottom:14px}
.a-meta{font-size:12.5px;color:var(--ink-3);font-weight:600;display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.a-meta b{color:var(--ink-2)}
.a-main{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;padding-top:44px;padding-bottom:80px;align-items:start}
.a-abs{background:var(--p-50);border:1px solid var(--p-200);border-radius:14px;padding:20px 24px;margin-bottom:30px}
.a-abs .h{font-size:13px;font-weight:800;color:var(--purple);margin-bottom:6px}
.a-abs p{font-size:14px;color:var(--ink-2);line-height:1.8}
.a-body{counter-reset:sec}
.a-body p{font-size:15px;color:var(--ink-2);line-height:1.9;margin-bottom:20px;max-width:65em}
.a-body strong{color:var(--ink);font-weight:700}
.a-body h3{counter-increment:sec;position:relative;font-family:var(--sans);font-weight:800;font-size:24px;line-height:1.4;color:var(--ink);margin:64px 0 22px;padding-left:16px;border-left:4px solid var(--purple);scroll-margin-top:130px}
.a-body h3::before{content:counter(sec,decimal-leading-zero);position:absolute;left:-4px;top:-38px;font-family:var(--mono);font-size:14px;font-weight:700;color:var(--ink-3);letter-spacing:.06em}
.a-body h3:first-child{margin-top:8px}
.a-body h4{font-size:16px;font-weight:800;color:var(--purple);margin:30px 0 14px;line-height:1.6}
.a-body ul{margin:0 0 16px 0;list-style:none}
.a-body li{font-size:15px;color:var(--ink-2);line-height:1.9;margin-bottom:8px}
.a-body li::before{content:"· ";color:var(--purple);font-weight:800}
.a-note{background:#fff7e5;border:1px solid #ffd87e;border-radius:12px;padding:14px 18px;
  font-size:13px;color:#8d6300;font-weight:600}
.a-note a{color:var(--purple);font-weight:800}
/* 章节导读卡（全文迁移前的过渡形态） */
.a-outline{display:grid;gap:12px;margin:6px 0 24px}
.ol-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 22px;
  position:relative;overflow:hidden;transition:all .22s var(--ease)}
.ol-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--p-200)}
.ol-card:hover{border-color:var(--p-200);transform:translateY(-2px);box-shadow:0 12px 28px rgba(33,30,40,.08)}
.ol-card:hover::before{background:var(--purple-hi)}
.ol-card .no{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--purple)}
.ol-card .t{font-family:var(--serif);font-size:17px;font-weight:900;color:var(--ink);margin:4px 0 8px;line-height:1.45}
.ol-card li{font-size:13px;color:var(--ink-2);line-height:1.7;margin-bottom:2px}
.ol-card ul{list-style:none}
.ol-card li::before{content:"· ";color:var(--purple);font-weight:800}
/* 侧栏目录 */
.a-toc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.a-toc .h{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;
  color:var(--purple);margin-bottom:10px}
.a-toc a{display:block;font-size:12.5px;font-weight:600;color:var(--ink-3);text-decoration:none;
  line-height:1.6;padding:6px 0 6px 12px;border-left:2px solid var(--line);
  transition:all .18s var(--ease)}
.a-toc a:hover{color:var(--purple);border-left-color:var(--p-200)}
.a-toc a.on{color:var(--ink);font-weight:800;border-left-color:var(--purple-hi);background:var(--p-50)}
.a-author{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.a-author .h{font-size:12px;font-weight:700;color:var(--ink-3);margin-bottom:12px}
.a-author .row{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.a-author img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:top;background:var(--p-50);border:1.5px solid var(--p-200)}
.a-author .fb{width:52px;height:52px;border-radius:50%;background:var(--p-50);border:1.5px solid var(--p-200);
  color:var(--purple);font-family:var(--serif);font-weight:900;font-size:20px;
  display:none;align-items:center;justify-content:center;flex-shrink:0}
.a-author .nm{font-size:15px;font-weight:800;color:var(--ink)}
.a-author .ti{font-size:12px;color:var(--ink-3);font-weight:600}
.a-author p{font-size:12.5px;color:var(--ink-2);line-height:1.75}
.a-promo{background:var(--purple-hi);border-radius:16px;padding:24px 22px;color:#fff}
.a-promo .chip{display:inline-block;font-size:11px;font-weight:800;background:rgba(255,255,255,.18);
  border-radius:999px;padding:3px 12px;margin-bottom:12px}
.a-promo .t{font-family:var(--serif);font-size:19px;font-weight:900;margin-bottom:8px}
.a-promo p{font-size:12.5px;line-height:1.8;opacity:.92;margin-bottom:16px}
.a-promo a{display:block;text-align:center;background:#fff;color:var(--purple);font-weight:800;
  font-size:14px;border-radius:10px;padding:12px;text-decoration:none}
.a-rel{border-top:1px solid var(--line);margin-top:40px;padding-top:26px}
.a-rel .h{font-family:var(--serif);font-size:19px;font-weight:900;color:var(--ink);margin-bottom:14px}
.a-rel .r{display:block;font-size:14px;font-weight:700;color:var(--ink-2);padding:10px 0;
  border-bottom:1px solid var(--line);text-decoration:none}
.a-rel .r:hover{color:var(--purple)}
.a-rel .r em{font-style:normal;font-size:11px;color:var(--ink-3);font-weight:600;margin-left:8px}
.a-rel .r.off{color:var(--ink-3);cursor:default}
.a-rel .r.off:hover{color:var(--ink-3)}
@media (max-width:960px){.a-main{grid-template-columns:1fr}.a-side{position:static}.a-toc{display:none}}
.a-side{position:sticky;top:84px;display:flex;flex-direction:column;gap:16px}
/* ============ 移动端 ============ */
@media (max-width:960px){
  .nav-links{display:none}
  .cards3{grid-template-columns:1fr}
  .tiles-row{grid-template-columns:1fr 1fr}
  .f-cols{grid-template-columns:1fr 1fr}
  /* 页脚折叠成两列后，「联系」列仅半栏宽，城市串（如「北京 · 上海 · 广州 · 深圳 · 成都」）
     会在空格处折行并以「·」起头（错行），这里让它独占整行 */
  .f-col:last-child{grid-column:1/-1}
  .contact-grid{grid-template-columns:1fr !important}
}
/* 手机端：「联系」列改为两栏，公众号文字+二维码移到右侧；
   城市串仍横跨整行（半栏宽装不下会折行） */
@media (max-width:560px){
  .f-col:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:start}
  .f-col:last-child>.h{grid-column:1;grid-row:1}
  .f-col:last-child>a:nth-of-type(1){grid-column:1;grid-row:2}
  .f-col:last-child>a:nth-of-type(2){grid-column:1;grid-row:3}
  .f-col:last-child>a:nth-of-type(3){grid-column:1/-1;grid-row:4}
  /* 公众号 + 二维码整块在右栏垂直居中（与左侧联系方式高度对齐） */
  .f-col:last-child>.f-qr-box{grid-column:2;grid-row:1/span 4;align-self:center;justify-self:end;
    display:flex;flex-direction:column;align-items:center;gap:6px}
  .f-col:last-child>.f-qr-box>*{margin-top:0}
  /* 页脚底栏（版权 + 备案号）在窄屏折行后居中 */
  .f-base{justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .typing i{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ============ 标签体系：状态/阶段四色 chip ============ */
.mini .step{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:700;
  letter-spacing:.05em;color:var(--purple);background:var(--p-50);border:1px solid var(--p-200);
  border-radius:999px;padding:3px 12px;margin-bottom:9px}
.step.st-a{color:#9c3904;background:#fdf2ea;border-color:#f3d5bf}
.step.st-w{color:#8d6300;background:#fff7e5;border-color:#ffd87e}
.step.st-s{color:var(--sage-ink);background:#f6fae7;border-color:var(--sage)}
.mini.tint-a .step{background:#fff}
/* 课程标签高亮：天数=紫 / 人群=青 */
.c-top .chip{font-weight:800}
.c-top .chip-d{color:var(--purple);background:var(--p-50);border:1px solid var(--p-200)}
.c-top .chip-a{color:var(--sage-ink);background:#f6fae7;border:1px solid var(--sage)}
/* 课程简介收进折叠 */
.c-intro{margin:0 22px;padding:14px 0 2px;border-top:1px dashed var(--hair)}
.c-intro .c-desc{font-size:13px;color:var(--ink-2);margin:0 0 4px}
.c-intro + .mods{border-top:0;padding-top:8px}
.course[open] .c-intro{animation:fadeDown .3s var(--ease)}
/* 部署双卡分色 */
.svc-block.panel .mini.dep-saas,.mini.dep-saas{background:var(--p-50);border-color:var(--p-200)}
.dep-saas .t{color:var(--purple)}
.svc-block.panel .mini.dep-pri,.mini.dep-pri{background:#f6fae7;border-color:var(--sage)}
.dep-pri .t{color:var(--sage-ink)}
/* ============ B/O 错落布局 ============ */
.zig{display:flex;flex-direction:column;gap:16px}
.zrow{display:grid;grid-template-columns:290px minmax(0,1fr);gap:16px;width:94%}
.zrow.rev{grid-template-columns:minmax(0,1fr) 290px;margin-left:6%}
.zrow.rev .zlab{order:2}
.zrow.rev .ztxt{order:1}
.zlab{background:var(--p-50);border:1px solid var(--p-200);border-radius:16px;padding:24px;
  display:flex;flex-direction:column;justify-content:center}
.zk{font-family:var(--mono);font-weight:700;font-size:42px;color:var(--purple-hi);line-height:1}
.zlab b{font-family:var(--serif);font-size:19px;font-weight:900;color:var(--ink);margin-top:10px}
.zs{font-size:12px;color:var(--ink-3);font-weight:600;margin-top:3px}
.zrow.rev .zlab{background:#f6fae7;border-color:var(--sage)}
.zrow.rev .zk{color:var(--data-ink)}
.ztxt{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 26px;
  font-size:13px;color:var(--ink-2);line-height:1.7}
.zcore{background:var(--p-50);border:1px solid var(--p-200);border-radius:16px;padding:20px 26px}
.zlab,.ztxt,.zcore{transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.zrow:hover .zlab{transform:translateY(-4px);box-shadow:0 18px 40px rgba(94,53,177,.16)}
.zrow:hover .ztxt{transform:translateY(-4px);box-shadow:0 18px 40px rgba(94,53,177,.12);border-color:var(--p-200)}
.zcore:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(94,53,177,.15)}
.zcore b{display:block;font-size:14px;color:var(--purple);margin-bottom:4px}
.zcore p{font-size:14px;color:var(--ink-2);line-height:1.8}
@media (max-width:900px){.zrow,.zrow.rev{grid-template-columns:1fr;width:100%;margin-left:0}
  .zrow.rev .zlab{order:1}.zrow.rev .ztxt{order:2}}
/* ============ 关于页卡片补层次 ============ */
.proof4{gap:18px}
.proof4 .mini.pf{padding:26px 26px 22px;box-shadow:0 6px 24px rgba(33,30,40,.07)}
.proof4 .mini.pf .t{font-size:16.5px;margin-bottom:6px}
.proof4 .mini.pf p{font-size:13px;line-height:1.7}
/* ============ 全站滚动进场 v2：逐卡观察，切页重放 ============ */
.aitem{opacity:0;transform:translateY(26px);
  transition:opacity .6s var(--ease),transform .6s var(--ease)}
.aitem.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .aitem,.aitem.in{opacity:1;transform:none;transition:none}}

/* ============ 3D 隧道 HERO（滚轮推进） ============ */
.j3d-scroll{position:relative;height:var(--j3d-scroll-len,230vh)}
.j3d-scroll > .j3d{position:sticky;top:0;height:100vh;border-radius:0;border-left:0;border-right:0}
.j3d{
  --j3d-w:2100px; --j3d-h:1280px; --j3d-persp:1000px;
  --j3d-far:-2100px; --j3d-near:300px; --j3d-dur:26s;
  --j3d-cell:200px; --j3d-ds:2; --j3d-grid-dur:2.1667s;
  --j3d-line:rgba(219,205,255,.09);
  --j3d-accent:#7c4dff;
  position:relative;height:clamp(360px,62vh,640px);
  overflow:hidden;background:var(--tl-bg);isolation:isolate;
}
/* 缩放层：滚动时整个 3D 画面缩成居中的圆角方框；文字与演示窗在层外不跟缩 */
.j3d-view{position:absolute;inset:0;overflow:hidden;
  transform-origin:50% 50%;
  transform:scale(var(--j3d-shrink,1));
  border-radius:calc(var(--j3d-radius,0px) / var(--j3d-shrink,1));
  box-shadow:0 0 0 calc(1px / var(--j3d-shrink,1)) rgba(219,205,255,var(--j3d-frame,0))}
/* 文案与演示窗的整体淡出层（滚动收缩时先退场） */
.j3d-ui{position:absolute;inset:0;z-index:3;pointer-events:none;
  opacity:var(--j3d-ui-o,1)}
.j3d-ui .j3d-txt,.j3d-ui .demo-win{pointer-events:auto}
.j3d-stage{position:absolute;left:50%;top:50%;
  width:var(--j3d-w);height:var(--j3d-h);
  margin-left:calc(var(--j3d-w) / -2);margin-top:calc(var(--j3d-h) / -2);
  transform-origin:50% 50%;
  transform:scale(calc(var(--j3d-scale,1) * var(--j3d-zoom,1)));
  will-change:transform;
  perspective:var(--j3d-persp);perspective-origin:50% 50%}
.j3d-room{position:absolute;left:50%;top:50%;width:0;height:0;
  transform-style:preserve-3d;
  transform:translate3d(var(--j3d-px,0px),var(--j3d-py,0px),var(--j3d-cam,0px))
            rotateX(var(--j3d-rx,0deg)) rotateY(var(--j3d-ry,0deg));
  will-change:transform}
.j3d-wall{position:absolute;left:50%;top:50%}
.j3d-grid{position:absolute;inset:0;
  -webkit-mask-image:var(--mask);mask-image:var(--mask);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  background-image:
    repeating-linear-gradient(to right, var(--j3d-line) 0 1px,transparent 1px calc(var(--j3d-cell) / var(--j3d-ds))),
    repeating-linear-gradient(to bottom,var(--j3d-line) 0 1px,transparent 1px calc(var(--j3d-cell) / var(--j3d-ds)));
  opacity:var(--j3d-grid-o,1);
  animation:var(--gridkf) var(--j3d-grid-dur) linear infinite;will-change:transform}
@keyframes j3d-gx-neg{to{transform:translate3d(calc(var(--j3d-cell) / var(--j3d-ds) * -1),0,0)}}
@keyframes j3d-gx-pos{to{transform:translate3d(calc(var(--j3d-cell) / var(--j3d-ds)),0,0)}}
@keyframes j3d-gy-neg{to{transform:translate3d(0,calc(var(--j3d-cell) / var(--j3d-ds) * -1),0)}}
@keyframes j3d-gy-pos{to{transform:translate3d(0,calc(var(--j3d-cell) / var(--j3d-ds)),0)}}
.j3d-fly{position:absolute;left:0;top:0;width:0;height:0;
  transform-style:preserve-3d;animation:j3d-z var(--j3d-dur) linear infinite}
@keyframes j3d-z{from{transform:translate3d(0,0,var(--j3d-far))}to{transform:translate3d(0,0,var(--j3d-near))}}
.j3d-slot{position:absolute;left:0;top:0;transform-origin:50% 50%;
  animation:j3d-fade var(--j3d-dur) linear infinite;opacity:0}
.j3d-slot img{width:100%;height:100%;display:block;object-fit:cover;border-radius:9px;
  background:linear-gradient(135deg,#241f2e,#17151d);
  opacity:var(--j3d-tile-o,1);
  /* 色调/明度扰动：静态 filter 只光栅一次，之后纯合成，不参与逐帧重算 */
  filter:hue-rotate(var(--th,0deg)) saturate(var(--ts,1)) brightness(var(--tb,1));
  /* 发光描边 + 轻投影：漂浮感 */
  box-shadow:0 0 0 1px rgba(219,205,255,.16),
    0 0 18px rgba(124,77,255,.16),
    0 10px 24px rgba(0,0,0,.55)}
/* 真实景深（合成器版）：模糊+压暗的位图由离屏 canvas 预渲染一次，
   叠在锐利图上方，随 z 推进只动 opacity（纯合成、零重光栅）——
   远：模糊层不透明 → 中：半透 → 近：完全透明露出锐利层 */
.j3d-slot .dofb{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;border-radius:9px;opacity:0;pointer-events:none;
  filter:hue-rotate(var(--th,0deg)) saturate(var(--ts,1)) brightness(var(--tb,1))}
.j3d-slot.dof .dofb{animation:j3d-dofo var(--j3d-dur) linear infinite}
@keyframes j3d-dofo{0%{opacity:.92}42%{opacity:.46}70%{opacity:0}100%{opacity:0}}
/* 背景星点粒子层（Canvas，最底层） */
.j3d-stars{position:absolute;inset:0;pointer-events:none}
@media (max-width:760px){
  /* 移动端降级：关景深层与投影，保留描边 */
  .j3d-slot .dofb{display:none}
  .j3d-slot img{box-shadow:0 0 0 1px rgba(219,205,255,.14)}}

/* ============ 产品页：tab 与正文的间距统一 ============ */
/* 五个页面（总览 + 四产品）都以 56px 起始；hcvm 无 inline 值也走这条 */
.p-tabs + .section{padding-top:56px}
/* 首块若是无底色的 svc-block（如 HCVM 双引擎），去掉它自身的顶内边距，
   让「tab → 第一处可见内容」的空白与白卡页面一致，而不是 56+52 */
.p-tabs + .section .svc-block:first-of-type:not(.panel){padding-top:0}

/* ============ 表单校验（手机号等） ============ */
.fld-err{border-color:#d64545 !important;background:#fff6f6 !important}
.fld-err:focus{box-shadow:0 0 0 3px rgba(214,69,69,.16) !important}
.err-tip{display:block;font-size:12px;font-weight:700;color:#c23434;margin:6px 0 2px;
  animation:errIn .22s var(--ease)}
@keyframes errIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.lead-card .err-tip{font-size:11.5px;color:#d05a5a;margin:2px 0 6px}
.lead-card input.fld-err{border-color:#d05a5a !important;background:#fff8f8 !important}

/* ============ Hero 元素下沉：四卡 / Mega / 产品 hero 装饰 ============ */
/* 漂移壳（span 管 26s 慢漂移）与图（img 管 hover 放大发光）分层，动画互不覆盖 */
.pv-deco,.ph-deco{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.pv-deco{z-index:2}
.ph-deco{z-index:1}
.pv-deco .pd,.ph-deco .pd{position:absolute;display:block;
  animation:pvDrift 26s ease-in-out infinite alternate}
.pv-deco .pd img,.ph-deco .pd img,.mp-deco{display:block;width:100%;border-radius:10px;
  box-shadow:0 0 0 1px rgba(219,205,255,.15),0 12px 28px rgba(0,0,0,.45);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.pv-deco .pd1{width:132px;right:8%;top:13%}
.pv-deco .pd2{width:62px;right:27%;top:48%;animation-delay:-9s;opacity:.85}
.ph-deco .pd1{width:168px;right:9%;top:17%}
.ph-deco .pd2{width:86px;right:24%;bottom:17%;animation-delay:-11s;opacity:.85}
.ph-deco .pd img{box-shadow:0 0 0 1px rgba(219,205,255,.24),0 20px 44px rgba(0,0,0,.6)}
@keyframes pvDrift{
  from{transform:translate3d(0,0,0) rotate(-1.2deg)}
  to  {transform:translate3d(-10px,14px,0) rotate(1.6deg)}}
.pv-card:hover .pd1 img{transform:scale(1.07);
  box-shadow:0 0 0 1.5px rgba(189,165,255,.8),0 0 26px rgba(124,77,255,.5),0 16px 34px rgba(0,0,0,.5)}
.pv-card:hover .pd2 img{transform:scale(1.05);
  box-shadow:0 0 0 1px rgba(189,165,255,.5),0 0 18px rgba(124,77,255,.35)}
/* Mega 预览角标：随画卷一起换场 */
.m-prev .mp-deco{position:absolute;right:8%;top:11%;width:118px;
  animation:pvDrift 26s ease-in-out infinite alternate}
@media (max-width:960px){.ph-deco{display:none}}
@media (max-width:760px){.pv-deco .pd2{display:none}.pv-deco .pd1{width:104px}}
@media (prefers-reduced-motion:reduce){
  .pv-deco .pd,.ph-deco .pd,.m-prev .mp-deco{animation:none}}
.j3d-slot img.is-blank{filter:none!important;opacity:.5}
@keyframes j3d-fade{0%{opacity:0}12%{opacity:1}74%{opacity:1}94%{opacity:0}100%{opacity:0}}
.j3d-slot.is-vol{animation-name:j3d-fade-vol}
@keyframes j3d-fade-vol{0%{opacity:0}12%{opacity:1}28%{opacity:.85}42%{opacity:0}100%{opacity:0}}
.j3d-fog{position:absolute;inset:0;pointer-events:none;z-index:2;transition:opacity .2s linear}
.j3d-fog.f1{background:radial-gradient(44% 70% at 50% 50%,
  rgba(0,0,0,.9) 0%,rgba(0,0,0,.66) 30%,rgba(0,0,0,.3) 54%,transparent 76%);
  opacity:var(--j3d-fog1,1)}
.j3d-fog.f2{background:radial-gradient(115% 125% at 50% 50%,
  transparent 42%,rgba(0,0,0,.5) 80%,rgba(0,0,0,.88) 100%);
  opacity:var(--j3d-fog2,1)}
/* 左侧压暗纱：保证文字在飞行图块之上可读 */
.j3d-scrim{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(92deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.55) 32%,rgba(0,0,0,.15) 56%,transparent 70%)}
/* 文案叠加层（复用 tl-inner 的入场阶梯） */
.j3d-txt{position:absolute;inset:0;display:flex;align-items:flex-end;
  pointer-events:none}
.j3d-txt .tl-inner{pointer-events:auto;max-width:1320px;width:100%;margin:0 auto;
  padding:96px 34px 11vh}
.j3d-txt .tl-inner>*{max-width:640px}
.j3d-txt .tl-eyebrow{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.22em;
  color:#fff;margin-bottom:24px}
.j3d-txt h1{font-family:var(--serif);font-weight:900;font-size:clamp(38px,4.6vw,64px);line-height:1.22;
  color:#fff;text-wrap:balance;margin-bottom:22px}
.j3d-txt h1 em{font-style:normal;color:#fff}
.j3d-txt .sub{font-size:clamp(15px,1.3vw,17px);color:var(--d-sub);line-height:1.9;
  max-width:34em;margin:0 0 32px}
.j3d-txt .ctas{display:flex;gap:14px;flex-wrap:wrap}
.j3d-txt .btn{font-size:15px;padding:14px 32px;position:relative;overflow:hidden}
.j3d-txt .tl-chips{margin:30px 0 0}
/* 演示窗在隧道内右下 */
.j3d .demo-win.demo-mini{position:absolute;right:3%;bottom:6%;z-index:3;
  box-shadow:0 0 0 1px rgba(124,77,255,.25),0 0 90px rgba(124,77,255,.2),0 40px 90px rgba(0,0,0,.5)}
/* 0911 移动端 hero：A 文字块整体上移（底留白 9vh→13vh；隧道是 sticky 钉住的，不能真压 hero 高度）
   + B 五个问题 chips 以单行横向滑动条回归，放在两枚胶囊下方 */
@media (max-width:760px){
  .j3d{--j3d-persp:760px}
  .j3d-txt .tl-inner{padding:88px 18px 13vh}
  /* 小屏保证 hero 标题默认两行：≤760 时 4.6vw 恒小于 38px（最小值恒定 38px），
     窄屏则装不下第二段「始于几个具体的问题。」→ 折成三行；这里改用 min() 让字号随视口同步收窄 */
  .j3d-txt h1{font-size:min(38px,8.5vw);margin-bottom:22px}
  .j3d-txt .tl-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:18px 0 0;padding:2px 0 8px;max-width:none;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
    -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .j3d-txt .tl-chips::-webkit-scrollbar{display:none}
  .j3d-txt .tl-chips button{flex:0 0 auto;font-size:12px;padding:8px 14px;white-space:nowrap;scroll-snap-align:start;min-height:36px}
  .j3d-txt .tl-chips button b{font-size:11px !important}  /* 与 ㊷ 字号下限 11px 保持一致 */
}
/* 52 横屏手机（高 ≤500px：844×390 / 932×430 / 667×375 一类）：同样上移 + chips 单行横滑；
   首屏时 hero 从导航下方 y=64 起算，底留白须 ≥64 才能整块进首屏，这里调 80px */
@media (max-height:500px){
  .j3d-txt .tl-inner{padding-top:64px;padding-bottom:80px}
  .j3d-txt h1{margin-bottom:16px}
  .j3d-txt .tl-chips button b{font-size:11px !important}
  .j3d-txt .tl-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:14px 0 0;padding:2px 0 8px;max-width:none;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;
    -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .j3d-txt .tl-chips::-webkit-scrollbar{display:none}
  .j3d-txt .tl-chips button{flex:0 0 auto;font-size:12px;padding:8px 14px;white-space:nowrap;scroll-snap-align:start;min-height:36px}
}
@media (prefers-reduced-motion:reduce){
  .j3d-fly,.j3d-slot,.j3d-grid,.j3d-slot img{animation-play-state:paused!important}
  .j3d-room{transform:none!important}}
.j3d.is-paused .j3d-fly,
.j3d.is-paused .j3d-slot,
.j3d.is-paused .j3d-slot img,
.j3d.is-paused .j3d-grid{animation-play-state:paused}

/* ============ 按图调整（2026-08-26） ============ */
/* ① 首页隧道演示窗在屏时收起 AI 顾问悬浮按钮（同为对话入口，避免右下角重合） */
body.dw-vis .fab{opacity:0;visibility:hidden;transform:translateY(16px);pointer-events:none}
/* ② FDE hero 标题整行不折行（窄屏恢复自然换行防溢出）
   产品页 hero：手机端副标题比主标题低一档（.62em），拉开行距，压低对比 */
.p-hero h1 .nw{white-space:nowrap}
@media (max-width:760px){
  .p-hero h1 .nw{
    display:block;margin-top:10px;white-space:normal;
    font-size:.62em;line-height:1.45;font-weight:800;
    color:rgba(255,255,255,.86);
  }
}
/* ③ 特色四 · 四种培训形式卡片色彩区分（沿用四色语义体系） */
.mini.mc{border-top:3px solid transparent}
.mini.mc-p{border-top-color:var(--purple-hi)}.mini.mc-p .t{color:var(--purple)}
.mini.mc-a{border-top-color:#f3d5bf}.mini.mc-a .t{color:#9c3904}
.mini.mc-w{border-top-color:#ffd87e}.mini.mc-w .t{color:#8d6300}
.mini.mc-s{border-top-color:var(--sage)}.mini.mc-s .t{color:#677d16}
/* ④ 全部产品子页卡片 hover 动效统一到「AI 落地陪跑」标准：上浮 6px + 紫影 + 描边高亮
   （transition 用 :not(.aitem) 保护，避免覆盖入场动画的过渡） */
.course:not(.aitem){transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.course:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.16)}
.track-head:not(.aitem){transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.track-head:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.16)}
.stage:not(.aitem){transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.stage:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.16);border-color:var(--p-200)}
.stage[open]:hover{transform:none;box-shadow:0 12px 30px rgba(94,53,177,.1)}
.race .rc:hover,.raaid .st:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.16)}
.zrow:hover .zlab,.zrow:hover .ztxt{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.14)}
.zcore:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.15)}
.mod:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(94,53,177,.12);border-color:var(--p-200)}
/* ⑤ FAQ 卡片 hover 动效（浅色页上浮紫影，首页暗色用发光语言） */
.faq-item:not(.aitem){transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease)}
.faq-item:hover{transform:translateY(-3px);border-color:var(--p-200);box-shadow:0 14px 32px rgba(94,53,177,.13)}
.faq-item[open]:hover{transform:none}
.tl-faq .faq-item:hover{border-color:transparent;
  box-shadow:0 0 0 1.5px rgba(124,77,255,.45),0 0 28px rgba(124,77,255,.25)}
.tl-faq .faq-item:hover summary{color:#fff}

/* ⑦ 0907 按图调整：FDE 首块 / 选育用优 / 收尾 ABC */
.ed-fdedef{margin:40px 0 28px}
.ed-oneline{margin:12px 0 0;font-size:14px;color:var(--ink-2);line-height:1.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-oneline i{font-style:normal;color:var(--p-300);margin:0 10px;font-weight:800}
@media (max-width:900px){.ed-oneline{white-space:normal}}
.cyc{border-top:1px solid var(--hair);margin-top:22px}
.cyc-h,.cyc-r{display:grid;grid-template-columns:240px 1fr 260px;gap:24px}
.cyc-h{padding:12px 0;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--ink-3);border-bottom:1px solid var(--line)}
.cyc-r{padding:20px 0;border-bottom:1px solid var(--line);transition:background .2s var(--ease)}
.cyc-r:hover{background:rgba(124,77,255,.04)}
.cyc-r dt{margin:0;font-weight:800;font-size:16px;color:var(--ink);line-height:1.5;display:flex;align-items:center;gap:12px}
.cyc-r dt em{font-style:normal;font-family:var(--serif);font-weight:900;font-size:26px;color:var(--purple);width:40px;height:40px;border-radius:12px;background:var(--p-50);border:1px solid var(--p-200);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.cyc-r dd{margin:0;font-size:14px;color:var(--ink-2);line-height:1.8;align-self:center}
.cyc-r dd.get{font-weight:700;color:var(--ink)}
.cyc-r dd.get::before{content:"→ ";color:var(--purple);font-weight:800}
.cyc-close{margin:30px 0 0 52px;max-width:none;font-size:13px;color:var(--ink-3)}
@media (max-width:900px){.cyc-close{margin-left:0}}
@media (max-width:900px){.cyc-h{display:none}.cyc-r{grid-template-columns:1fr;gap:8px}}
.ed-opt .fit{margin-top:10px}.ed-opt .fit b{color:var(--ink)}
.ed-opt .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ed-opt .chips span{font-size:12px;font-weight:700;color:var(--purple);background:var(--p-50);border:1px solid var(--p-200);border-radius:999px;padding:4px 11px;line-height:1.5}
.ed-opt.pri .chips span{color:var(--sage-ink);background:rgba(214,232,147,.25);border-color:var(--sage)}
.ab-close .ab-next{margin-top:0;border-top:0;border-bottom:0}
.ab-close .ab-next a:first-child{padding-left:0}

/* ⑧ 0907 AI+HR 管理咨询：生态用工 / 出海 板块组件 */
.cs-kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--purple);margin-bottom:18px}
.cs-kicker .n{font-family:var(--serif);font-weight:900;font-size:30px;letter-spacing:0;color:var(--p-300);line-height:1}
.cs-close{margin:26px 0 0;font-size:16px;font-weight:800;color:var(--ink);text-align:center;letter-spacing:.01em}
.ed-h3.tight{margin-top:36px}
.ed-link{color:var(--purple);font-weight:800;text-decoration:none;font-size:14px;white-space:nowrap;margin-left:6px}
.ed-link:hover{text-decoration:underline}
/* 横幅 */
.band{margin-top:22px;border-radius:14px;padding:16px 26px;text-align:center;font-size:15px;font-weight:800;line-height:1.9;color:#fff;background:linear-gradient(90deg,var(--p-700),var(--purple))}
.band i{font-style:normal;margin:0 10px;opacity:.75}
.band em{font-style:normal;margin:0 8px;opacity:.6}
.band.lt{background:var(--p-50);color:var(--purple);border:1px solid var(--p-200)}
.band.lt em{opacity:.5}
.band.flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 14px;padding:18px 26px}
.band.flow .tag{border:1.5px solid rgba(255,255,255,.7);border-radius:10px;padding:4px 16px;font-family:var(--serif);font-size:17px;margin-right:18px}
.band.flow .f{font-size:15px}
.band.flow small{flex-basis:100%;font-size:13px;font-weight:600;opacity:.85;margin-top:2px}
/* 问题卡 */
.pcards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}
.pcards>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 20px 18px;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.pcards>div:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(94,53,177,.12);border-color:var(--p-200)}
.pcards .no{font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--purple)}
.pcards b{display:block;font-size:15px;color:var(--ink);margin:6px 0 8px}
.pcards p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.8}
/* 治理价值 */
.vals{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}
.vals>div{padding:18px 16px;text-align:center;border-left:1px solid var(--line);transition:background .2s var(--ease)}
.vals>div:first-child{border-left:0}
.vals>div:hover{background:rgba(124,77,255,.05)}
.vals b{display:block;font-size:15px;color:var(--purple);margin-bottom:6px}
.vals p{margin:0;font-size:13px;color:var(--ink-2);line-height:1.7}
.vals>div.hi{background:var(--p-50)}
.vals>div.hi b{color:var(--p-700)}
/* 治理五卡 */
.raaid.gov5{margin-top:14px}
.raaid.gov5 .st{border-top:3px solid var(--purple);text-align:center;padding:18px 14px}
.raaid.gov5 b{font-size:15px;color:var(--purple);margin:4px 0 10px}
.raaid.gov5 p{margin:0;font-size:13px;color:var(--ink-2);line-height:1.7}
.raaid.gov5 .st.amber{border-top-color:#f0a020}
.raaid.gov5 .st.amber b{color:#b36b00}
/* 路径四步 */
.path4{display:flex;align-items:stretch;gap:10px;margin-top:22px;flex-wrap:wrap}
.path4 .lab{align-self:center;font-size:14px;font-weight:800;color:var(--ink);margin-right:6px;white-space:nowrap}
.path4>div{flex:1 1 0;min-width:150px;background:linear-gradient(90deg,var(--p-700),var(--purple));color:#fff;border-radius:12px;padding:14px 16px;font-size:14px;font-weight:800;line-height:1.8;text-align:center;box-shadow:0 8px 20px rgba(94,53,177,.14)}
.path4>div i{font-style:normal;font-family:var(--mono);font-size:12px;opacity:.75;margin-right:8px}
.path4>div small{display:block;font-size:12.5px;font-weight:500;opacity:.85;margin-top:4px}
.path4>div.hi{background:var(--card);color:var(--purple);border:1.5px solid var(--sage);box-shadow:none}
.path4>div.hi i,.path4>div.hi small{color:var(--ink-2);opacity:1}
.path4>em{align-self:center;font-style:normal;color:var(--p-300);font-weight:800;font-size:18px}
.path4.impl>div{text-align:left}
/* 三门户 */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.trio>div{background:var(--p-50);border:1px solid var(--p-200);border-radius:14px;padding:18px 20px;text-align:center}
.trio b{display:block;font-size:15px;color:var(--purple);margin-bottom:4px}
.trio p{margin:0;font-size:14px;color:var(--ink-2)}
.trio>div.warm{background:#fff7e6;border-color:#f3d5bf}
.trio>div.warm b{color:#9c3904}
/* 八步生命周期 */
.life8{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(8,1fr);gap:6px;position:relative}
.life8::before{content:"";position:absolute;left:6%;right:6%;top:18px;height:1px;background:var(--p-200)}
.life8 li{position:relative;text-align:center;font-size:14px;font-weight:700;color:var(--ink);padding-top:48px}
.life8 li i{position:absolute;left:50%;top:0;transform:translateX(-50%);width:36px;height:36px;border-radius:50%;background:var(--purple);color:#fff;font-style:normal;font-family:var(--mono);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 5px var(--cream)}
.svc-block.panel .life8 li i{box-shadow:0 0 0 5px var(--card)}
.ed-ledger.caps{margin-top:30px}
.ed-ledger.caps dt{font-size:18px}
/* 出海 */
.osea-pg{margin-top:26px}
.osea-pg .ed-opt ol{margin-top:6px}
.osea-pg .ed-opt ol li{font-size:14px;line-height:1.8;padding:6px 0;border-bottom:1px dashed var(--line)}
.osea-pg .ed-opt ol li:last-child{border-bottom:0}
.osea-pg .ed-opt ol li i{min-width:26px;color:var(--purple)}
.osea-pg .ed-opt.pri ol li{color:var(--ink);font-weight:600}
.feat6{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.feat6>div{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:20px 22px;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.feat6>div:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(94,53,177,.12);border-color:var(--p-200)}
.feat6 b{display:block;font-size:16px;color:var(--ink);margin-bottom:6px;padding-left:12px;border-left:3px solid var(--purple);line-height:1.3}
.feat6 p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.8}
.ed-ledger.mods7 .row{grid-template-columns:300px 1fr;padding:15px 0}
.ed-ledger.mods7 dt{font-family:var(--sans);font-size:16px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:12px}
.ed-ledger.mods7 dt i{font-style:normal;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--purple);background:var(--p-50);border:1px solid var(--p-200);border-radius:8px;padding:2px 8px}
.osea-glb{margin-top:34px}
.chips.big span{font-size:14px;padding:7px 16px}
.geo{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:6px}
.geo b{display:block;font-size:13px;color:var(--purple);margin-bottom:4px}
.geo p{margin:0;font-size:14px;color:var(--ink);line-height:1.8}
@media (max-width:960px){
  .pcards,.feat6{grid-template-columns:1fr 1fr}
  .vals{grid-template-columns:1fr 1fr 1fr}
  .life8{grid-template-columns:repeat(4,1fr);row-gap:22px}
  .life8::before{display:none}
  .ed-ledger.mods7 .row{grid-template-columns:1fr;gap:6px}
}
@media (max-width:640px){
  .pcards,.feat6,.vals,.trio,.geo{grid-template-columns:1fr}
  .band.flow{gap:4px 8px;padding:16px 14px}
  .band.flow .tag{flex-basis:100%;border:0;border-radius:0;padding:0;margin:0 0 8px;font-size:16px}
  .band.flow .f{font-size:13px}
  .band.flow i{margin:0 1px}
  /* 端到端生命周期：窄屏改竖向时间轴（圆点在左 + 贯穿竖线 + 单列） */
  .life8{grid-template-columns:1fr !important;row-gap:26px !important;padding-left:56px;position:relative}
  .life8::before{
    display:block !important;
    left:17px;right:auto !important;
    top:18px;bottom:18px;height:auto !important;
    width:1px !important;
    background:var(--p-200) !important;
  }
  .life8 li{text-align:left !important;padding-top:0 !important;min-height:48px;position:relative}
  .life8 li i{
    position:absolute;left:-56px;top:50%;
    transform:translateY(-50%) !important;
    margin:0 !important;
  }
  /* 进度条：原横条（JS 改 width）旋转 90° → 变成从上往下走的竖条 */
  .life8 .life8-prog{
    left:17px !important;top:18px !important;
    transform-origin:0 0 !important;
    transform:rotate(90deg) !important;
    background:linear-gradient(180deg,var(--purple),var(--p-300)) !important;
    box-shadow:0 0 10px rgba(124,77,255,.55) !important;
  }
  /* 生态用工 两处解决方案路径：竖排后箭头居中，不靠左侧 */
  .path4{flex-direction:column;gap:6px}
  .path4>em{transform:rotate(90deg);align-self:center !important;margin:0 auto !important;text-align:center}
  /* 手机竖排解决方案路径：箭头点亮动画（只闪光、不位移），避免原 keyframes 的 translateX 覆盖竖排 rotate(90deg) 导致箭头临时横过来 */
  .path4>em.seq-arrow.lit{animation-name:arrowFlashV}
  .band.flow .tag{margin-right:0}
}
@media (max-width:360px){
  .band.flow{gap:4px 4px;padding:16px 8px}
  .band.flow .f{font-size:11.5px}
  .band.flow i{margin:0;font-size:12px}
}

/* ⑨ 0907 产品拆分：5 张产品卡网格 + 隐藏的 HCVM 入口 */
.pv-grid.g5{grid-template-columns:1fr 1fr;grid-auto-rows:160px;gap:20px}
.pv-grid.g5>.pv-card{grid-row:span 2;min-height:0;height:100%}
.pv-grid.g5>.pv-card:nth-child(1){grid-column:1;grid-row:1/span 2}
.pv-grid.g5>.pv-card:nth-child(2){grid-column:2;grid-row:2/span 2}
.pv-grid.g5>.pv-card:nth-child(3){grid-column:1;grid-row:3/span 2}
.pv-grid.g5>.pv-card:nth-child(4){grid-column:2;grid-row:4/span 2}
.pv-grid.g5>.pv-card:nth-child(5){grid-column:1;grid-row:5/span 2}
@media (max-width:960px){.pv-grid.g5{grid-template-columns:1fr;grid-auto-rows:auto}.pv-grid.g5>.pv-card{grid-column:auto !important;grid-row:auto !important;min-height:320px}}
.p-tabs a[hidden],.m-item[hidden],.mnav a[hidden],label[hidden]{display:none !important}

.ed-ledger.cs-mix .row{grid-template-columns:270px 1fr}
@media (max-width:900px){.ed-ledger.cs-mix .row{grid-template-columns:1fr;gap:6px}}

/* ============ 移动端适配（手机浏览器 / 微信·钉钉·飞书内置浏览器） ============ */
/* 汉堡按钮 */
.burger{display:none;width:42px;height:42px;border:1px solid var(--hair);border-radius:10px;
  background:transparent;cursor:pointer;position:relative;flex-shrink:0;padding:0}
.burger i{position:absolute;left:11px;right:11px;height:2px;background:var(--ink);
  border-radius:2px;transition:all .25s var(--ease)}
.burger i:nth-child(1){top:14px}.burger i:nth-child(2){top:20px}.burger i:nth-child(3){top:26px}
body.mnav-on .burger i:nth-child(1){top:20px;transform:rotate(45deg)}
body.mnav-on .burger i:nth-child(2){opacity:0}
body.mnav-on .burger i:nth-child(3){top:20px;transform:rotate(-45deg)}
body.home-on .burger{border-color:var(--tl-line)}
body.home-on .burger i{background:var(--d-text)}
@media (max-width:960px){.burger{display:block}}
@media (max-width:760px){.nav-right .btn-ink{display:none}}
@media (max-width:560px){.nav-right .btn:not(.btn-ink){display:none}
  .nav{padding:0 18px}.logo img{height:44px !important}}
/* 全屏移动菜单 */
.mnav{position:fixed;top:64px;left:0;right:0;bottom:0;z-index:58;background:var(--cream);
  padding:6px 22px 46px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:none}
body.mnav-on .mnav{display:block;animation:mnavIn .28s var(--ease)}
@keyframes mnavIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
body.mnav-on{overflow:hidden}
.mnav .mg{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;
  color:var(--ink-3);margin:24px 0 4px}
.mnav a{display:flex;justify-content:space-between;align-items:center;padding:14px 2px;
  font-size:15px;font-weight:700;color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--line)}
.mnav a em{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.mnav .mn-cta{margin-top:28px;display:flex;gap:10px}
.mnav .mn-cta .btn{flex:1;justify-content:center;font-size:15px;padding:13px 10px}
.mnav .mn-cta .mn-ai{border-color:var(--hair);color:var(--ink)}
body.home-on .mnav{background:var(--tl-bg)}
body.home-on .mnav a{color:var(--d-text);border-bottom-color:var(--tl-line)}
body.home-on .mnav .mg,body.home-on .mnav a em{color:var(--d-sub)}
body.home-on .mnav .mn-cta .btn-ink{background:var(--cream);color:var(--ink)}
body.home-on .mnav .mn-cta .mn-ai{border-color:var(--tl-line);color:var(--d-text)}
/* 七步条 / 输入框 / 视口高度 */
@media (max-width:760px){
  input,textarea,select{font-size:16px !important}   /* iOS/微信 WebView 聚焦不再自动放大页面 */
}
@supports (height:100svh){
  .j3d-scroll > .j3d{height:100svh}                  /* 内置浏览器工具栏收展不跳动 */
  .mnav{height:calc(100svh - 64px);bottom:auto}
}

/* ===== 页面局部样式（自页内合并） ===== */
/* ---- 产品与服务 · 三阶服务局部样式（沿用官网 token 与 hover 规范：上浮 6px + 紫影 + 描边高亮） ---- */
.ps-tabs a{white-space:nowrap}
.svc-block.plain,.svc-block.plain:nth-of-type(even){background:transparent;border:0;box-shadow:none;padding-left:0;padding-right:0}
.svc-block.plain:nth-of-type(even) .mini{background:var(--card)}
.svc-block.plain .ps-quote,.svc-block.plain .ps-stat,.svc-block.plain .ps-course,.svc-block.plain .ps-cs,.svc-block.plain .ps-next a,.svc-block.plain .ps-ws .w,.svc-block.plain .ps-qa .q,.svc-block.plain .ps-logos span{background:var(--card)}
.ps-lead{font-size:15px;color:var(--ink-2);line-height:1.9;margin:0 0 18px}
.ps-lead b{color:var(--ink)}
.ps-quote{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 22px;font-size:15px;color:var(--ink-2);line-height:1.9;margin-bottom:18px}
.svc-block.panel .ps-quote{background:var(--cream)}
.ps-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ps-stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.svc-block.panel .ps-stat{background:var(--cream)}
.ps-stat:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.16);border-color:var(--p-200)}
.ps-stat .k{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--purple)}
.ps-stat .n{font-family:var(--sans);font-weight:800;font-size:22px;color:var(--purple);line-height:1.3;margin:8px 0 4px}
.ps-stat p{font-size:13px;color:var(--ink-2);line-height:1.7;margin:0}
.ps-view{display:flex;gap:14px;align-items:flex-start;background:var(--p-50);border:1px solid var(--p-200);border-left:5px solid var(--purple);border-radius:14px;padding:16px 22px;margin-top:18px}
.ps-view b{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--purple);white-space:nowrap;padding-top:3px}
.ps-view p{margin:0;font-size:15px;font-weight:700;color:var(--ink);line-height:1.9}
.ps-callout{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--purple);border-radius:12px;padding:12px 16px;font-size:14px;color:var(--purple);font-weight:700;line-height:1.8;margin-top:12px}
.ps-band{background:linear-gradient(135deg,var(--purple),var(--p-600));color:#fff;border-radius:14px;padding:18px 24px;font-size:14px;line-height:1.8;margin-top:18px;box-shadow:0 12px 30px rgba(94,53,177,.2)}
.ps-band b{color:#fff}
.ps-ws{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ps-ws .w{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--purple);border-radius:14px;padding:22px 24px;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.svc-block.panel .ps-ws .w{background:var(--cream)}
.ps-ws .w.t2{border-top-color:#26c7db}
.ps-ws .w:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.16);border-color:var(--p-200)}
.ps-ws .w .h{font-size:14px;font-weight:800;color:var(--purple);margin-bottom:6px}
.ps-ws .w.t2 .h{color:#0e8a99}
.ps-ws .w .s{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:8px}
.ps-ws .w p{font-size:14px;color:var(--ink-2);line-height:1.8;margin:0}
.ps-common{background:var(--p-50);border:1px solid var(--p-200);border-radius:12px;padding:12px 18px;font-size:14px;color:var(--ink-2);margin-top:14px;line-height:1.8}
.ps-common b{color:var(--purple)}
.ps-matrix{display:grid;grid-template-columns:150px repeat(3,1fr);gap:12px}
.ps-lv{background:var(--p-50);border:1px solid var(--p-200);border-left:4px solid var(--purple);border-radius:12px;padding:14px 16px}
.ps-lv b{display:block;font-size:14px;font-weight:800;color:var(--purple)}
.ps-lv span{display:block;font-size:12px;color:var(--ink-3);margin-top:3px}
.ps-cs{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.svc-block.panel .ps-cs{background:var(--cream)}
.ps-cs:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.16);border-color:var(--p-200)}
.ps-cs .no{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--purple);color:#fff;font-family:var(--mono);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.ps-cs b{display:block;font-size:14px;font-weight:400;color:var(--ink);line-height:1.8}
.ps-cs small{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}
.ps-note{font-size:12.5px;color:var(--ink-3);text-align:center;margin-top:14px}
.svc-block.panel .ps-course{background:var(--cream)}
.ps-next{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.ps-next a{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.svc-block.panel .ps-next a{background:var(--cream)}
.ps-next a:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.16);border-color:var(--p-200)}
.ps-next a b{display:block;font-size:16px;font-weight:800;color:var(--purple);border-left:4px solid var(--purple);padding-left:10px;margin-bottom:8px}
.ps-next a p{font-size:14px;color:var(--ink-2);line-height:1.8;margin:0}
.ps-next a .go{display:block;margin-top:10px;font-size:12.5px;font-weight:800;color:var(--purple)}
.ps-gates{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.ps-modules{display:grid;gap:14px}
.ps-modules .mini{display:grid;grid-template-columns:300px 1fr;gap:10px 28px;align-items:start;padding:22px 26px}
.ps-modules .mini .step{grid-column:1;align-self:start;justify-self:start;background:none;border:0;padding:0;font-family:var(--sans);font-size:19px;font-weight:800;color:var(--ink);letter-spacing:0;line-height:1.4}
.ps-modules .mini .t{grid-column:1;margin:0;font-size:14px;font-weight:700;color:var(--purple)}
.ps-modules .mini p{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0;font-size:14px;line-height:1.8}
.ps-modules .mini .t{margin-top:4px}
@media (max-width:960px){.ps-modules .mini{grid-template-columns:1fr}.ps-modules .mini p{grid-column:1;grid-row:auto}}
.ps-gate{background:var(--p-50);border:1px solid var(--p-200);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:10px;transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.ps-gate .gh{display:flex;align-items:baseline;gap:12px}
.ps-gate .gs{font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap}
.ps-gate p{margin:0;font-size:13px;line-height:1.7;color:var(--ink-2)}
.ps-gate:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(94,53,177,.14)}
.ps-gate .g{font-family:var(--serif);font-weight:900;font-size:22px;color:var(--purple);white-space:nowrap;flex-shrink:0;letter-spacing:.04em}

.ps-gate span{font-size:13px;color:var(--ink-2);font-weight:600}
.ps-qa{display:grid;gap:10px;margin-top:12px}
.ps-qa .q{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;display:grid;grid-template-columns:2fr 3fr;gap:14px;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.svc-block.panel .ps-qa .q{background:var(--cream)}
.ps-qa .q:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(94,53,177,.14);border-color:var(--p-200)}
.ps-qa .q div{font-size:14px;line-height:1.8;color:var(--ink-2)}
.ps-qa .q div b{display:table;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;margin-bottom:8px;padding:3px 10px;border-radius:999px;color:#9c3904;background:#fdf2ea;border:1px solid #f3d5bf}
.ps-qa .q div.a{color:var(--ink)}
.ps-qa .q div.a b{color:var(--purple);background:var(--p-50);border-color:var(--p-200)}
/* hover 上浮卡片：补齐位移空隙，避免鼠标在底边缘时反复触发闪烁 */
.mini,.course,.stage,.track-head,.ps-stat,.ps-cs,.ps-next a,.ps-ws .w,.ps-qa .q,.ps-gate,
.ab-chip,.ab-layer,.ab-side,.ab-grad,.ab-person,.race .rc,.raaid .st,.zcore,.pv-card,.case-card{position:relative}
.mini::after,.course::after,.stage::after,.track-head::after,.ps-stat::after,.ps-cs::after,.ps-next a::after,
.ps-ws .w::after,.ps-qa .q::after,.ps-gate::after,.ab-chip::after,.ab-layer::after,.ab-side::after,
.ab-grad::after,.ab-person::after,.race .rc::after,.raaid .st::after,.zcore::after,.pv-card::after,.case-card::after{
  content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;pointer-events:none}
.mini:hover::after,.course:hover::after,.stage:hover::after,.track-head:hover::after,.ps-stat:hover::after,
.ps-cs:hover::after,.ps-next a:hover::after,.ps-ws .w:hover::after,.ps-qa .q:hover::after,.ps-gate:hover::after,
.ab-chip:hover::after,.ab-layer:hover::after,.ab-side:hover::after,.ab-grad:hover::after,.ab-person:hover::after,
.race .rc:hover::after,.raaid .st:hover::after,.zcore:hover::after,.pv-card:hover::after,.case-card:hover::after{pointer-events:auto}
.h-sub{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink-3);margin-left:12px;letter-spacing:.02em}
.ps-tag{display:inline-block;font-family:var(--sans);font-size:11px;font-weight:700;color:var(--purple);background:var(--card);border:1px solid var(--p-200);border-radius:6px;padding:2px 8px;margin-left:6px;vertical-align:middle;line-height:1.5}
.ps-star{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:700;color:#8d6300;background:#fff7e5;border:1px solid #ffd87e;border-radius:999px;padding:2px 9px;margin-left:8px;vertical-align:middle;letter-spacing:.06em}
.ps-logos{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ps-logos span{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 18px;transition:all .2s var(--ease)}
.svc-block.panel .ps-logos span{background:var(--cream)}
.ps-logos span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--p-200)}
.ps-logos span:hover{color:var(--purple);border-color:var(--p-200);transform:translateY(-2px);box-shadow:0 10px 24px rgba(33,30,40,.1)}
.ps-scene .lw-track{gap:14px;animation-duration:70s}
.ps-scene a.lw-chip{text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--purple),var(--p-600));border-color:transparent;font-size:15px;padding:14px 26px;box-shadow:0 10px 26px rgba(124,77,255,.28)}
.ps-scene a.lw-chip .dot{background:var(--sage)}
.ps-scene a.lw-chip:hover{color:#fff;transform:translateY(-4px);box-shadow:0 18px 40px rgba(124,77,255,.4);background:linear-gradient(135deg,#8f68ff,var(--purple))}
.ps-scene a.lw-chip:hover .dot{background:#fff}
.ps-scene a.lw-chip em{font-style:normal;font-size:15px;opacity:.55;font-weight:700;margin-left:2px;transition:transform .25s var(--ease),opacity .25s var(--ease)}
.ps-scene a.lw-chip:hover em{opacity:1;transform:translateX(4px)}
.ps-eco .lw-track{animation-duration:60s}
.ps-life .mini{display:flex;flex-direction:column}
.ps-life .mini .step{align-self:flex-start}
.ps-life .mini p{flex:1;display:flex;flex-direction:column}
.ps-life .mini p em{margin-top:auto !important;padding-top:10px}
.ps-cycle{display:flex;align-items:center;gap:10px;justify-content:center;flex-wrap:wrap;margin:16px 0 6px;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.14em;color:var(--purple)}
.ps-cycle i{font-style:normal;color:var(--ink-3)}
@media (max-width:960px){
  .ps-stats,.ps-ws,.ps-next,.ps-gates{grid-template-columns:1fr 1fr}
  .ps-matrix{grid-template-columns:1fr}
  .ps-qa .q{grid-template-columns:1fr}
}
@media (max-width:640px){.ps-stats,.ps-ws,.ps-next,.ps-gates{grid-template-columns:1fr}}

/* ---- 关于我们 · 页面局部样式（全部取自官网 token） ---- */
.ab-hero{background:linear-gradient(180deg,var(--p-50),var(--cream) 80%);border-bottom:1px solid var(--line);padding:84px 0 60px;position:relative;overflow:hidden}
.ab-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.45;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse at 20% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse at 20% 40%,#000 30%,transparent 80%)}
.ab-hero .wrap{position:relative;max-width:1320px;margin:0 auto;padding:0 34px}
.ab-hero .eyeb{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.2em;color:var(--purple);margin-bottom:18px}
.ab-hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(44px,5.4vw,72px);line-height:1.15;color:var(--ink);margin-bottom:18px}
.ab-hero .sub{font-size:clamp(17px,1.6vw,22px);color:var(--ink-2);letter-spacing:.02em}
.ab-hero hr{border:0;border-top:1px solid var(--hair);max-width:720px;margin:40px 0 22px}
.ab-hero .meta{font-size:14px;color:var(--ink-2);letter-spacing:.04em;margin-bottom:16px}
.ab-hero .pills{display:flex;flex-wrap:wrap;gap:12px}
.ab-hero .pills a{display:inline-block;text-decoration:none;background:var(--purple);color:#fff;font-weight:800;font-size:14px;padding:10px 24px;border-radius:999px;box-shadow:0 10px 24px rgba(124,77,255,.28);transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease)}
.ab-hero .pills a:hover{transform:translateY(-3px);background:var(--p-600);box-shadow:0 16px 34px rgba(124,77,255,.4)}

.ab-sec{max-width:1320px;margin:0 auto;padding:72px 34px 0;scroll-margin-top:80px}
.ab-sec:last-of-type{padding-bottom:0}
.ab-head{display:flex;align-items:baseline;gap:18px;margin-bottom:26px}
.ab-head .part{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--purple);white-space:nowrap}
.ab-head h2{font-family:var(--serif);font-weight:900;font-size:clamp(24px,2.5vw,32px);line-height:1.3;color:var(--ink);margin:0}
.ab-lead{font-size:15px;color:var(--ink-2);line-height:1.9;margin-bottom:22px}
.ab-lead b{color:var(--ink)}
.ab-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.ab-tags span{background:var(--p-50);border:1px solid var(--p-200);color:var(--purple);font-weight:700;font-size:13px;padding:6px 14px;border-radius:8px}
.ab-box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 26px;box-shadow:0 6px 24px rgba(33,30,40,.05)}
.ab-box p{font-size:15px;color:var(--ink-2);line-height:1.9;margin:0}
.ab-box p+p{margin-top:10px}
.ab-box em{font-style:normal;color:var(--purple);font-weight:700}
.ab-mission{display:flex;align-items:center;gap:18px;background:var(--p-50);border:1px solid var(--p-200);border-radius:14px;padding:16px 22px;margin:16px 0;font-size:17px;color:var(--ink);font-weight:600}
.ab-mission b{font-family:var(--mono);color:var(--purple);font-size:16px;letter-spacing:.08em;white-space:nowrap}
.ab-grad3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ab-grad{position:relative;background:linear-gradient(135deg,var(--purple),var(--p-600));border-radius:14px;padding:22px 24px;color:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(94,53,177,.22);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.ab-grad:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--sage)}
.ab-grad:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(94,53,177,.3)}
.ab-grad{display:block;text-decoration:none}
.ab-grad .go{display:block;margin-top:10px;font-size:12.5px;font-weight:800;color:#fff;opacity:.85}
.ab-grad:hover .go{opacity:1}
.ab-grad .t{font-size:16.5px;font-weight:800;margin-bottom:6px}
.ab-grad p{font-size:14px;opacity:.92;line-height:1.8;margin:0}
.ab-note{border-top:1px dashed var(--hair);margin-top:18px;padding-top:12px;font-size:12.5px;color:var(--ink-3)}

.ab-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.ab-side{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--purple);border-radius:14px;padding:22px 24px;box-shadow:0 6px 24px rgba(33,30,40,.05);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.ab-side:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(0,0,0,.18);border-color:var(--p-200);border-left-color:var(--purple)}
.ab-side .tag{display:inline-block;background:var(--p-50);color:var(--purple);font-weight:700;font-size:12.5px;padding:4px 12px;border-radius:6px;margin-bottom:10px}
.ab-side p{font-size:14px;color:var(--ink-2);line-height:1.8;margin:0}
.ab-side p b{color:var(--ink)}
.ab-side.alt{border-left-color:var(--p-300)}

.ab-layers{display:grid;gap:12px}
.ab-layer{display:grid;grid-template-columns:300px 1fr;gap:20px;border-radius:18px;padding:22px 28px;color:#fff;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.ab-layer:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(94,53,177,.28)}
.ab-layer.l5{background:var(--purple)}
.ab-layer.l4{background:#8f68ff}
.ab-layer.l3{background:#a789ff}
.ab-layer.l2{background:var(--p-300)}
.ab-layer.l1{background:var(--p-200)}
.ab-layer .ln{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;opacity:.85;margin-bottom:6px}
.ab-layer .lt{font-size:19px;font-weight:800}
.ab-layer.l2 .ln,.ab-layer.l2 .lt,.ab-layer.l1 .ln,.ab-layer.l1 .lt,.ab-layer.l2 .lc,.ab-layer.l1 .lc{color:var(--ink)}
.ab-layer.l2 .ln,.ab-layer.l1 .ln{opacity:.7}
.ab-layer .lc{font-size:13px;font-weight:700;opacity:.9;margin-bottom:10px}
.ab-layer .chips{display:grid;gap:12px}
.ab-layer .chips.c4{grid-template-columns:repeat(4,1fr)}
.ab-layer .chips.c5{grid-template-columns:repeat(5,1fr)}
.ab-layer .chips.c2{grid-template-columns:repeat(2,1fr)}
.ab-chip{background:var(--card);border-radius:10px;padding:12px 14px;min-width:0;overflow:hidden;color:var(--ink);border:1px solid transparent;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.ab-chip:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(33,30,40,.22);border-color:var(--p-200)}
.ab-chip b{display:block;color:var(--purple);font-size:12.5px;font-weight:700;line-height:1.5;word-break:break-word}
.ab-chip span{display:block;font-size:11.5px;color:var(--ink-2);margin-top:3px;line-height:1.6}
.ab-foot{border-top:1px dashed var(--hair);margin-top:18px;padding-top:12px;font-size:13px;color:var(--ink-3)}

.ab-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.ab-team{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ab-person{background:linear-gradient(135deg,#800bf5,var(--purple));border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:22px 24px;color:#fff;box-shadow:0 12px 30px rgba(94,53,177,.22);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.ab-person:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(94,53,177,.32)}
.ab-person .ava{width:48px;height:48px;border-radius:50%;background:#800bf5;border:2px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;margin-bottom:14px;overflow:hidden}
.ab-person .ava img{width:100%;height:100%;object-fit:cover;object-position:top}
.ab-person .nm{font-size:16.5px;font-weight:700;margin-bottom:8px}
.ab-person .nm small{font-size:13px;font-weight:400;color:#26c7db;margin-left:8px;letter-spacing:.5px}
.ab-person p{font-size:14px;line-height:1.8;margin:0;color:rgba(255,255,255,.88)}

.ab-close{position:relative;background:linear-gradient(180deg,var(--cream),var(--p-50));border-top:1px solid var(--line);margin-top:72px;padding:84px 0 72px;overflow:hidden}
.ab-close:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.45;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse at 80% 50%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 80% 50%,#000 20%,transparent 75%)}
.ab-close .wrap{position:relative;max-width:1320px;margin:0 auto;padding:0 34px}
.ab-close .eyeb{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.2em;color:var(--purple);margin-bottom:18px}
.ab-close h2{font-family:var(--serif);font-weight:900;font-size:clamp(30px,3.6vw,46px);line-height:1.25;color:var(--ink);margin:0 0 40px}
.ab-close hr{border:0;border-top:1px solid var(--hair);margin:0 0 30px}
.ab-close .two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}
.ab-close .vc{background:var(--p-50);border:1px solid var(--p-200);border-left:5px solid var(--purple);border-radius:14px;padding:24px 28px;position:relative;transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.ab-close .vc::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;pointer-events:none}
.ab-close .vc:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(0,0,0,.18)}
.ab-close .vc:hover::after{pointer-events:auto}
.ab-close .vc.act{border-left-color:var(--sage)}
.ab-close .vc b{display:block;color:var(--purple);font-size:14px;margin-bottom:8px}
.ab-close .vc p{font-size:15px;color:var(--ink);line-height:1.9;margin:0}
.ab-close .mail{display:flex;align-items:center;gap:22px;flex-wrap:wrap;font-size:15px;color:var(--ink-2);letter-spacing:.02em}

@media (max-width:960px){
  .ab-hero{padding:56px 0 40px}.ab-hero .wrap,.ab-sec,.ab-close .wrap{padding-left:20px;padding-right:20px}
  .ab-sec{padding-top:52px}.ab-head{flex-direction:column;gap:6px}
  .ab-grad3,.ab-two,.ab-grid2,.ab-team,.ab-close .two{grid-template-columns:1fr}
  .ab-layer{grid-template-columns:1fr;gap:12px;padding:18px 20px}
  .ab-layer .chips.c4,.ab-layer .chips.c5,.ab-layer .chips.c2{grid-template-columns:1fr 1fr}
  .ab-mission{flex-direction:column;align-items:flex-start;gap:6px;font-size:15px}
}


/* =====================================================================
   方案二 · 内页壳层（首页不动）：黑底 + 固定光晕 + 实色内容板 + 关键位玻璃
   ===================================================================== */
:root{
  --bg-page:#211e28;
  --sheet:rgba(250,250,251,.94);
  --sheet-line:rgba(255,255,255,.45);
  --sheet-shadow:0 28px 70px rgba(0,0,0,.45);
  --nav-glass:rgba(33,30,40,.55);
  --nav-glass-hi:rgba(33,30,40,.78);
  --cta-grad:linear-gradient(135deg,#7c4dff,#693de3);
  --sec-gap:64px;
}
body:not(.home-on){background:var(--bg-page)}
/* 页面底：两处固定光晕 + 顶部渐隐网格（body 直接子级，不受 .page 动画影响） */
.bg-fx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.bg-fx::before{content:"";position:absolute;inset:0;
  background:
    radial-gradient(760px 520px at 18% -6%,rgba(124,77,255,.22),transparent 70%),
    radial-gradient(640px 460px at 88% 104%,rgba(124,77,255,.11),transparent 70%);
  animation:glowDrift 20s ease-in-out infinite alternate}
@keyframes glowDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-2.5%,1.5%,0)}}
body.home-on .bg-fx{display:none}
.page,.footer{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.bg-fx::before{animation:none}}

/* 导航：深色玻璃（与首页深色导航同一套文字规则） */
body:not(.home-on) .nav{background:var(--nav-glass);border-bottom:1px solid rgba(255,255,255,.08)}
/* 模糊放在伪元素上（叶子节点），避免 backdrop-filter 影响下拉大菜单等子元素的渲染 */
body:not(.home-on) .nav::before{content:"";position:absolute;inset:0;z-index:-1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:none}
body:not(.home-on) .nav.scrolled{background:var(--nav-glass-hi);border-bottom-color:rgba(255,255,255,.1);box-shadow:0 4px 18px rgba(0,0,0,.4)}
body:not(.home-on) .nav-links a,body:not(.home-on) .nav-mt{color:var(--d-sub)}
body:not(.home-on) .nav-links a:hover{color:#fff;background:rgba(124,77,255,.16)}
body:not(.home-on) .nav-links a.act,body:not(.home-on) .nav-mt.act{color:var(--p-300);border-bottom-color:var(--p-300)}
body:not(.home-on) .logo img{filter:brightness(0) invert(1)}
body:not(.home-on) .nav .btn{border-color:var(--tl-line) !important;color:var(--d-text) !important}
body:not(.home-on) .nav .btn-ink{background:var(--cream) !important;color:var(--ink) !important;border-color:transparent !important}
body:not(.home-on) .nav .btn-ink:hover{background:var(--p-300)}
body:not(.home-on) .burger{border-color:var(--tl-line)}
body:not(.home-on) .burger i{background:var(--d-text)}
/* 下拉大菜单 / 移动端菜单：深色玻璃 */
body .mega-sheet{background:rgba(33,30,40,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.08)}
body .mega-sheet.open{box-shadow:0 44px 90px rgba(0,0,0,.5);border-bottom-color:rgba(255,255,255,.1)}
body .m-group{color:var(--d-weak)}
body a.m-item b{color:var(--d-text)}
body a.m-item span{color:var(--d-weak)}
body a.m-item:hover{background:rgba(124,77,255,.16)}
body a.m-item:hover b{color:var(--p-300)}
body .mnav{background:rgba(33,30,40,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
body .mnav a{color:var(--d-text);border-bottom-color:var(--tl-line)}
body .mnav .mg,body:not(.home-on) .mnav a em{color:var(--d-sub)}
body .mnav .mn-cta .btn-ink{background:var(--cream);color:var(--ink)}
body .mnav .mn-cta .mn-ai{border-color:var(--tl-line);color:var(--d-text)}
/* 产品页吸顶页签：并入导航同一块玻璃 */
body:not(.home-on) .p-tabs{background:var(--nav-glass-hi);border-bottom:1px solid rgba(255,255,255,.08)}
body:not(.home-on) .p-tabs::before{content:"";position:absolute;inset:0;z-index:-1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:none}
body:not(.home-on) .p-tabs a{color:var(--d-weak)}
body:not(.home-on) .p-tabs a:hover{color:var(--d-text)}
body:not(.home-on) .p-tabs a.on{color:var(--p-300);border-bottom-color:var(--p-300)}

/* 标题区：直接落在黑底上 */
.sub-hero,.a-hero,.ab-hero{background:transparent;border-bottom:0}
.sub-hero h1,.a-hero h1,.ab-hero h1{color:var(--d-text)}
.sub-hero h1 em{color:var(--p-300)}
.sub-hero p,.ab-hero .sub,.ab-hero .meta,.a-hero .a-meta,.a-hero .a-bc{color:var(--d-sub)}
.a-hero .a-meta b,.a-hero .a-bc a{color:var(--d-text)}
.ab-hero::before,.ab-close::before{display:none}
.ab-hero hr{border-top-color:rgba(255,255,255,.14)}
.sub-hero{padding:74px 0 40px}
/* 产品页大图头图：底缘融进黑底 */
.p-hero{border-bottom:0}
.p-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent,var(--bg-page))}

/* 内容板（一章一块，板内不套面板） */
.sheet,
.page .svc-block:not(.cta-grad),
.ab-sec,.ab-close{
  background:var(--sheet) !important;border:1px solid var(--sheet-line) !important;border-radius:24px;
  box-shadow:var(--sheet-shadow) !important;padding:52px 54px !important;margin-top:var(--sec-gap)}
.page .svc-block:first-of-type,.sheet.first{margin-top:0}
.section{padding-top:40px;padding-bottom:var(--sec-gap)}
.p-tabs + .section{padding-top:40px}
.p-tabs + .section .svc-block:first-of-type:not(.panel){padding-top:52px}
/* 第一块内容板：顶部 120px 过渡带（60% → 94%），玻璃只在这一段 */
.sub-hero + .section .svc-block:first-of-type,.p-tabs + .section .svc-block:first-of-type,
.sub-hero + .section > .sheet,.ab-hero + .ab-sec,.a-main{
  background:linear-gradient(180deg,rgba(250,250,251,.6),rgba(250,250,251,.94) 120px) !important;
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .sub-hero + .section .svc-block:first-of-type,.p-tabs + .section .svc-block:first-of-type,
  .sub-hero + .section > .sheet,.ab-hero + .ab-sec,.a-main{background:var(--sheet) !important}}
/* 关于页容器与 .section 对齐 */
.ab-sec,.ab-close{width:calc(100% - 68px);max-width:1252px;margin-left:auto;margin-right:auto;position:relative}
.ab-hero + .ab-sec{margin-top:0}
.ab-close{margin-top:var(--sec-gap);margin-bottom:var(--sec-gap)}
.ab-close .wrap{padding:0}
.ab-sec:last-of-type{padding-bottom:52px}
/* 文章页 */
.a-main{max-width:1252px;margin:0 auto var(--sec-gap);padding:44px 40px;border:1px solid var(--sheet-line);border-radius:24px;box-shadow:var(--sheet-shadow)}
/* 板内阅读单元统一白卡 */
.page .svc-block .mini:not(.tint-a):not(.dep-saas):not(.dep-pri),.page .svc-block .course,.page .svc-block .stage,
.page .svc-block .ps-stat,.page .svc-block .ps-quote,.page .svc-block .ps-cs,.page .svc-block .ps-next a,
.page .svc-block .ps-ws .w,.page .svc-block .ps-qa .q,.page .svc-block .ps-logos span{background:var(--card)}
.page .svc-block .mod{background:var(--cream)}
/* 悬停投影改中性 */
.mini:hover,.course:hover,.stage:hover,.track-head:hover,.ps-stat:hover,.ps-cs:hover,.ps-next a:hover,.ps-ws .w:hover,.ps-qa .q:hover,.ab-chip:hover,.ab-layer:hover,.race .rc:hover,.raaid .st:hover,.zcore:hover{box-shadow:0 22px 46px rgba(0,0,0,.18)}
/* 紫色渐变 CTA（每页唯一） */
.svc-block.cta-grad{background:var(--cta-grad) !important;border:0 !important;border-radius:24px;box-shadow:0 24px 60px rgba(124,77,255,.35) !important;margin-top:var(--sec-gap)}
.svc-block.cta-grad h3{color:#fff !important}
.svc-block.cta-grad .ld{color:rgba(255,255,255,.85) !important}
/* 页脚并入黑底 */
body:not(.home-on) .footer{background:var(--bg-page);border-top:1px solid rgba(255,255,255,.08)}
body:not(.home-on) .f-word{color:var(--d-text)}
body:not(.home-on) .f-word em{color:var(--p-300)}
body:not(.home-on) .f-col .h{color:var(--d-text)}
body:not(.home-on) .f-col a{color:var(--d-weak)}
body:not(.home-on) .f-col a:hover{color:var(--p-300)}
body:not(.home-on) .f-base,body:not(.home-on) .f-base a{color:var(--d-weak)}
body:not(.home-on) .f-base a:hover{color:var(--p-300)}
body:not(.home-on) .f-cols{border-color:rgba(255,255,255,.1)}
body:not(.home-on) .f-qr{border-color:rgba(255,255,255,.15)}
/* 关于页局部：去掉 PART 编号后的标题行 */
.ab-head .part{color:var(--p-300)}
@media (max-width:960px){
  .sheet,.page .svc-block:not(.cta-grad),.ab-sec,.ab-close{padding:30px 20px !important;border-radius:18px}
  .ab-sec,.ab-close{width:calc(100% - 32px)}
  :root{--sec-gap:40px}
  .section{padding-left:16px;padding-right:16px}
  .a-main{padding:24px 18px}
}


/* ===== 编辑式版式（Editorial）· 去标签、分轻重 ===== */
.ed-h1{font-family:var(--serif);font-weight:900;font-size:clamp(30px,3.2vw,40px);line-height:1.25;color:var(--ink);margin:0 0 28px;letter-spacing:.01em}
.ed-h2{font-family:var(--serif);font-weight:900;font-size:clamp(24px,2.4vw,30px);line-height:1.3;color:var(--ink);margin:0 0 16px}
.ed-h3{font-family:var(--serif);font-weight:900;font-size:20px;line-height:1.4;color:var(--ink);margin:56px 0 18px}
.ed-body{font-size:15px;color:var(--ink-2);line-height:1.9;margin:0}
.ed-body b{color:var(--ink)}
.ed-wide{max-width:60em;margin-bottom:26px}
.ed-link{color:var(--purple);font-weight:800;font-size:13px;text-decoration:none}
/* 首块：定义句放大 + 双栏 */
.ed-lead{padding-top:64px !important}
.ed-cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:start;margin-bottom:40px}
.ed-def{font-size:19px;line-height:1.7;color:var(--ink);margin:0}
.ed-def b{color:var(--purple)}
/* 四关：账本式行 */
.ed-ledger{margin:0;border-top:1px solid var(--hair)}
.ed-ledger .row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);transition:background .2s var(--ease)}
.ed-ledger .row:hover{background:rgba(124,77,255,.04)}
.ed-ledger dt{font-family:var(--serif);font-weight:900;font-size:24px;color:var(--purple);line-height:1.3;margin:0}
.ed-ledger dd{margin:0;font-size:14px;color:var(--ink-2);line-height:1.8;align-self:center}
/* 三问：编号列表 */
.ed-qa{list-style:none;margin:0;padding:0;counter-reset:qa}
.ed-qa li{counter-increment:qa;display:grid;grid-template-columns:44px 1fr;gap:0 16px;padding:18px 0;border-bottom:1px solid var(--line)}
.ed-qa li::before{content:counter(qa,decimal-leading-zero);font-family:var(--mono);font-size:13px;font-weight:700;color:var(--ink-3);padding-top:4px}
.ed-qa .q{grid-column:2;margin:0 0 6px;font-size:15px;font-weight:700;color:var(--ink);line-height:1.9}
.ed-qa .a{grid-column:2;margin:0;font-size:14px;color:var(--ink-2);line-height:1.8}
.ed-qa .a::before{content:"→ ";color:var(--purple);font-weight:800}
/* 六大模块：大编号 + 通栏行（页面视觉锚点） */
.ed-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.ed-steps li{display:grid;grid-template-columns:120px 1fr;gap:28px;padding:32px 0;border-bottom:1px solid var(--line);position:relative;transition:background .2s var(--ease)}
.ed-steps li:hover{background:rgba(124,77,255,.04)}
.ed-steps .n{font-family:var(--serif);font-weight:900;font-size:56px;line-height:1;color:var(--p-300);letter-spacing:-.02em;padding-top:2px}
.ed-steps h4{margin:0 0 10px;font-size:22px;font-weight:800;color:var(--ink);line-height:1.35;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.ed-steps h4 small{font-size:14px;font-weight:700;color:var(--purple)}
.ed-steps h4 .ps-star{margin-left:0;vertical-align:baseline;font-style:normal}
.ed-steps p{margin:0;font-size:15px;color:var(--ink-2);line-height:1.9;max-width:62em}
.ed-steps p b{color:var(--ink)}
.ed-steps li.hi{background:linear-gradient(90deg,rgba(124,77,255,.06),transparent 60%);border-radius:14px;padding-left:20px;margin-left:-20px;padding-right:20px;margin-right:-20px}
.ed-steps li.hi .n{color:var(--purple)}
/* 产品形态：两栏对照 */
.ed-two{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card)}
.ed-opt{padding:26px 28px}
.ed-opt+.ed-opt{border-left:1px solid var(--line)}
.ed-opt .k{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.1em;color:var(--purple);margin-bottom:10px}
.ed-opt.pri .k{color:var(--sage-ink)}
.ed-opt h4{margin:0 0 8px;font-size:17px;font-weight:800;color:var(--ink);line-height:1.45}
.ed-opt p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.8}
.ed .ps-scene,.ed .ps-eco{margin-top:14px}
@media (max-width:960px){
  .ed-cols{grid-template-columns:1fr;gap:16px}
  .ed-ledger .row{grid-template-columns:1fr;gap:8px}
  .ed-steps li{grid-template-columns:64px 1fr;gap:16px;padding:24px 0}
  .ed-steps .n{font-size:36px}
  .ed-steps li.hi{margin:0;padding-left:12px;padding-right:12px}
  .ed-two{grid-template-columns:1fr}
  .ed-opt+.ed-opt{border-left:0;border-top:1px solid var(--line)}
}


/* ===== 编辑式版式 · 扩展组件 ===== */
.ed-note{font-size:13px;color:var(--ink-3);margin:0 0 22px;line-height:1.7}
.ed-p{font-size:15px;color:var(--ink-2);line-height:1.9;margin:0 0 16px;max-width:62em}
.ed-p b{color:var(--ink)}
/* 数据条：四列无框 */
.ed-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--line);margin:8px 0 34px}
.ed-stats .s{padding:24px 22px 22px;border-left:1px solid var(--line)}
.ed-stats .s:first-child{border-left:0;padding-left:0}
.ed-stats .k{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--ink-3);margin-bottom:10px}
.ed-stats .n{font-family:var(--sans);font-weight:800;font-size:24px;line-height:1.2;color:var(--purple);margin-bottom:8px;letter-spacing:0;font-variant-numeric:tabular-nums}
.ed-stats p{margin:0;font-size:13px;color:var(--ink-2);line-height:1.7}
/* 引述：左侧紫条 */
.ed-quote{border-left:4px solid var(--purple);padding:6px 0 6px 22px;margin:0;font-size:18px;line-height:1.7;color:var(--ink);font-weight:600;max-width:52em}
.ed-quote small{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--purple);font-weight:700;margin-bottom:8px}
/* 账本行 · 带标题与结论 */
.ed-ledger dd .c{display:block;margin-top:10px;font-weight:700;color:var(--ink)}
.ed-ledger dt small{display:block;font-family:var(--sans);font-size:14px;font-weight:700;color:var(--ink);margin-top:6px;line-height:1.8}
.ed-ledger.tight .row{padding:18px 0}
.ed-ledger.tight dt{font-size:20px}
.ed-ledger dd ol{margin:0;padding:0;list-style:none}
.ed-ledger dd ol li{display:flex;gap:12px;align-items:baseline;padding:4px 0}
.ed-ledger dd ol li i{font-style:normal;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--purple);min-width:22px}
/* 四列无框 */
.ed-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--line)}
.ed-grid4>div{padding:24px 22px;border-left:1px solid var(--line)}
.ed-grid4>div:first-child{border-left:0;padding-left:0}
.ed-grid4 h4{margin:0 0 8px;font-size:16px;font-weight:800;color:var(--ink)}
.ed-grid4 p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.8}
/* 三列可点击（下一步行动） */
.ed-next{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--line)}
.ed-next a{display:block;text-decoration:none;padding:26px 24px 24px;border-left:1px solid var(--line);transition:background .2s var(--ease)}
.ed-next a:first-child{border-left:0;padding-left:0}
.ed-next a:hover{background:rgba(124,77,255,.04)}
.ed-next .l{font-family:var(--serif);font-weight:900;font-size:40px;line-height:1;color:var(--p-300);margin-bottom:12px}
.ed-next a:hover .l{color:var(--purple)}
.ed-next b{display:block;font-size:16.5px;font-weight:800;color:var(--ink);margin-bottom:6px}
.ed-next p{margin:0 0 12px;font-size:14px;color:var(--ink-2);line-height:1.8}
.ed-next .go{font-size:12.5px;font-weight:800;color:var(--purple)}
/* 对照面板内的列表 */
.ed-opt ol{margin:12px 0 0;padding:0;list-style:none}
.ed-opt ol li{display:flex;gap:10px;align-items:baseline;font-size:14px;color:var(--ink-2);line-height:1.8}
.ed-opt ol li i{font-style:normal;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--purple);min-width:16px}
.ed-opt .s2{font-size:14px;color:var(--ink-3);margin:0 0 6px}
/* 课程轨道头：去底色 */
.ed .track-head{background:transparent;border:0;border-bottom:1px solid var(--hair);border-radius:0;padding:10px 0 14px;margin:36px 0 12px;box-shadow:none !important;transform:none !important}
.ed .track-head .tname{font-size:20px}
.ed .track:first-of-type .track-head{margin-top:8px}
/* 页面锚点带（每页一个） */
.ed .ps-band{margin-top:36px}
@media (max-width:960px){
  .ed-stats,.ed-grid4,.ed-next{grid-template-columns:1fr}
  .ed-stats .s,.ed-next a{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .ed-stats .s:first-child,.ed-next a:first-child{border-top:0}
  /* ed-grid4 四卡（赋能形式 / 价值层等）：单列堆叠后独立圆角卡片 + 统一左右 padding，与上方标题视觉对齐 */
  .ed-grid4{gap:10px;border-top:0;border-bottom:0}
  .ed-grid4>div{padding:22px 22px;border-left:0;border-top:0;border-radius:14px}
  .ed-grid4>div:first-child{padding-left:22px;border-top:0}
}

/* 账本高亮行 */
.ed-ledger .row.hi{background:linear-gradient(90deg,rgba(124,77,255,.06),transparent 60%);border-radius:14px;padding-left:20px;margin-left:-20px;padding-right:20px;margin-right:-20px}
.ed .raaid,.ed .race{margin-top:14px}
.ed .stage{margin-top:26px !important}

/* ===== 编辑式版式 · 首页 / 关于 / 案例 / 研究中心 ===== */
.tl-rows{border-top:1px solid var(--tl-line)}
.tl-row{display:grid;grid-template-columns:200px 1fr auto;gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid var(--tl-line);text-decoration:none;transition:background .2s var(--ease)}
.tl-row:hover{background:rgba(124,77,255,.08)}
.tl-row h3{font-family:var(--serif);font-weight:700;font-size:24px;color:var(--d-text);margin:0}
.tl-row p{font-size:14px;color:var(--d-weak);line-height:1.8;margin:0;max-width:56em}
.tl-row .go{font-size:12.5px;font-weight:800;color:var(--p-300);white-space:nowrap}
.tl-row:hover .go{color:#fff}
.tl-cols{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--tl-line);border-bottom:1px solid var(--tl-line)}
.tl-col{display:block;padding:28px 26px 26px;border-left:1px solid var(--tl-line);text-decoration:none;transition:background .2s var(--ease)}
.tl-col:first-child{border-left:0;padding-left:0}
.tl-col:hover{background:rgba(124,77,255,.08)}
.tl-col h3{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--d-text);margin:0 0 8px}
.tl-col p{font-size:14px;color:var(--d-weak);line-height:1.8;margin:0 0 14px}
.tl-col .go{font-size:12.5px;font-weight:800;color:var(--p-300)}
.tl-col:hover .go{color:#fff}
/* 关于页：编号通栏内的星标 */
.ab-sec .ed-steps{margin-top:8px}
.ab-sec .ed-ledger .row{grid-template-columns:320px 1fr}.ab-sec .ed-ledger dt{font-size:20px}
/* 研究中心：文章列表去卡片 */
.ed .art{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:22px 0;margin:0}
.ed .art:first-child{border-top:1px solid var(--hair)}
.ed a.art:hover{transform:none;box-shadow:none;background:rgba(124,77,255,.04);border-color:var(--line)}
.ed .art .tk{background:transparent;border:0;padding:0;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;margin:0}
.ed .art .art-head{margin-bottom:10px;gap:12px}
.ed .art .t{font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.45}
.ed .art .d{font-size:14px;margin:8px 0 10px;max-width:60em}
.ed-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px;padding:22px 26px;border-radius:16px;background:linear-gradient(90deg,rgba(124,77,255,.08),rgba(124,77,255,.02))}
.ed-cta b{display:block;font-size:17px;font-weight:800;color:var(--ink);margin-bottom:4px}
.ed-cta p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.8}
.ed-cta .btn{background:var(--cta-grad);color:#fff;border:0}
/* 客户案例：卡片改行（09-09样式：一行一个案例） */
.case-grid{display:flex;flex-direction:column;gap:12px}
.case-card{display:grid;grid-template-columns:54px 1fr auto 28px;gap:20px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 24px;color:inherit;text-decoration:none;transition:all .2s var(--ease);box-shadow:0 1px 3px rgba(33,30,40,.04)}
.case-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(124,77,255,.12);border-color:var(--p-200)}
.case-card::after{display:none}
.case-card .cthumb{width:54px;height:54px;border-radius:12px;overflow:hidden;flex-shrink:0;box-shadow:0 2px 8px rgba(124,77,255,.15)}
.case-card .cthumb svg,.case-card .cthumb img{display:block}
.case-card .cthumb img{width:100%;height:100%;object-fit:cover}
.case-card .cbody{display:flex;flex-direction:column;gap:8px}
.case-card .cmeta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-family:var(--mono);font-size:11px;font-weight:700}
.case-card .cmeta .ind{font-size:11px;font-weight:800;color:#fff;background:var(--purple);border-radius:6px;padding:3px 10px;letter-spacing:.04em}
.case-card .cmeta span{color:var(--ink-3);font-size:11.5px}
.case-card .cmeta span+span::before{content:"·";margin:0 6px;color:var(--hair)}
.case-card .cmeta .ind+span::before{content:"";margin:0}
.case-card h4{font-family:var(--serif);font-size:17.5px;font-weight:800;color:var(--ink);line-height:1.45;margin:0;letter-spacing:0}
.case-card p{font-size:13.5px;color:var(--ink-3);line-height:1.7;margin:0}
.case-card .nums{display:flex;gap:26px;justify-content:flex-end;align-items:center;padding-right:6px}
.case-card .nums span{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.case-card .nums b{font-family:var(--mono);font-weight:700;font-size:20px;color:var(--data-ink);display:block;line-height:1.1}
.case-card .nums i{font-style:normal;font-size:11px;color:var(--ink-3);font-weight:600;white-space:nowrap}
.case-card .cgo{font-size:18px;font-weight:800;color:var(--p-300);transition:color .2s var(--ease),transform .2s var(--ease);line-height:1}
.case-card:hover .cgo{color:var(--purple);transform:translateX(4px)}
@media (max-width:960px){
  .tl-row{grid-template-columns:1fr;gap:8px}
  .tl-cols{grid-template-columns:1fr}.tl-col{border-left:0;border-top:1px solid var(--tl-line);padding-left:0}.tl-col:first-child{border-top:0}
  .case-card{grid-template-columns:54px 1fr;gap:14px;padding:18px 20px}
  .case-card .nums{grid-column:2;justify-content:flex-start;gap:18px;padding-right:0;margin-top:8px}
  .case-card .cgo{display:none}
}

.cs-hero{padding-top:40px}
.cs-hero .a-bc{margin-bottom:14px;font-family:var(--mono);font-size:11.5px;color:var(--d-sub)}
.cs-hero .a-bc a{color:var(--d-text);text-decoration:none}
.cs-hero .a-bc a:hover{color:var(--purple)}
.cs-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.cs-tags .ind{display:inline-block;font-size:11px;font-weight:800;color:#fff;background:var(--purple);border-radius:999px;padding:3px 10px;letter-spacing:.04em}
.cs-tags span:not(.ind){font-family:var(--mono);font-size:12px;font-weight:600;color:var(--d-sub)}
.cs-kpis{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.cs-kpis .s{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px 16px;min-width:150px}
.cs-kpis .s b{display:block;font-family:var(--mono);font-size:20px;font-weight:700;color:#ffd87e;line-height:1.2}
.cs-kpis .s i{font-style:normal;font-size:11.5px;font-weight:600;color:var(--d-sub)}
.cs-main{padding-top:40px;display:grid;grid-template-columns:1fr 300px;gap:24px;width:calc(100% - 68px);max-width:1252px;margin:0 auto}
.cs-body{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 36px 34px;box-shadow:0 12px 32px rgba(94,53,177,.08)}
.csd-sec{padding:22px 0;border-bottom:1px solid var(--line)}
.csd-sec:last-of-type{border-bottom:0}
.csd-sec h5{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.14em;color:var(--purple);margin:0 0 10px}
.csd-sec p,.csd-sec li{font-size:15px;color:var(--ink-2);line-height:1.9;margin:0}
.csd-sec ul{list-style:none;margin:0;padding:0}
.csd-sec li{padding:3px 0}
.csd-sec li::before{content:"•";color:var(--purple);margin-right:8px;font-weight:bold}
.cs-body .cm-cta{margin-top:28px;background:var(--p-50);border:1px solid var(--p-200);border-radius:14px;padding:18px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cs-body .cm-cta .t{font-size:14px;font-weight:800;color:var(--ink);flex:1;min-width:220px}
.cs-body .cm-cta .t span{display:block;font-size:12px;font-weight:600;color:var(--ink-3);margin-top:2px}
.cs-side{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:18px}
.cs-side .h{font-size:13px;font-weight:800;color:var(--ink);margin-bottom:8px}
.cs-side .r{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:13px;font-weight:700;color:var(--ink-2);padding:10px 0;border-top:1px solid var(--line);line-height:1.7}
.cs-side .r:hover{color:var(--purple)}
.cs-side .r .cthumb{flex:0 0 32px;width:32px;height:32px;display:inline-flex;border-radius:8px;overflow:hidden}
.cs-side .r .cthumb svg,.cs-side .r .cthumb img{display:block;width:100%;height:100%}
.cs-side .r .cthumb img{object-fit:cover}
.cs-side .none{font-size:13px;color:var(--ink-3);padding:8px 0}
.cs-side .all{display:block;margin-top:10px;font-size:13px;font-weight:800;color:var(--purple);text-decoration:none}
@media (max-width:960px){
  .cs-main{grid-template-columns:1fr}
  .cs-body{padding:8px 20px 26px}
}
/* 对照面板：颜色层次 + 悬停 */
.ed-lines{line-height:2}
.ed-opt{position:relative;transition:background .25s var(--ease)}
.ed-opt::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--purple);opacity:0;transition:opacity .25s var(--ease)}
.ed-opt:hover{background:rgba(124,77,255,.05)}
.ed-opt:hover::before{opacity:1}
.ed-opt.pri{background:linear-gradient(180deg,rgba(124,77,255,.07),rgba(124,77,255,.02))}
.ed-opt.pri h4{color:var(--purple)}
.ed-opt.pri::before{background:var(--purple)}
.ed-opt.pri:hover{background:rgba(124,77,255,.1)}

/* 段落通栏：右侧满行再换行 */
.ed-wide,.ed-p,.ed-steps p,.ed-quote,.ed-def,.ed-body{max-width:none}
/* 四列无框：悬停动效 */
.ed-grid4>div{position:relative;transition:background .25s var(--ease),transform .25s var(--ease)}
.ed-grid4>div::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--purple);opacity:0;transform:scaleX(.3);transform-origin:left;transition:opacity .25s var(--ease),transform .35s var(--ease)}
.ed-grid4>div:hover{background:rgba(124,77,255,.05);transform:translateY(-3px)}
.ed-grid4>div:hover::before{opacity:1;transform:scaleX(1)}
.ed-grid4>div:hover h4{color:var(--purple)}
.ed-grid4>div:first-child:hover{padding-left:22px;margin-left:-22px;width:calc(100% + 22px)}
/* ⑥ 特色四 · 四种培训形式默认即有色彩区分（不依赖 hover；沿用四色语义体系） */
.ed-grid4>div{border-top:3px solid transparent;border-radius:0 0 12px 12px}
.ed-grid4>div:nth-child(1){border-top-color:var(--purple-hi);background:rgba(124,77,255,.05)}
.ed-grid4>div:nth-child(2){border-top-color:#f3d5bf;background:rgba(243,213,191,.22)}
.ed-grid4>div:nth-child(3){border-top-color:#ffd87e;background:rgba(255,216,126,.18)}
.ed-grid4>div:nth-child(4){border-top-color:var(--sage);background:rgba(160,180,90,.12)}
.ed-grid4>div:nth-child(1) h4{color:var(--purple)}
.ed-grid4>div:nth-child(2) h4{color:#9c3904}
.ed-grid4>div:nth-child(3) h4{color:#8d6300}
.ed-grid4>div:nth-child(4) h4{color:#677d16}
.ed-grid4>div:first-child{padding-left:22px}
.ed-grid4>div:first-child:hover{margin-left:0;width:auto}
.ed-grid4>div::before{display:none}

/* ===== 09-07 移动端逐页验收修补 ===== */
@media (max-width:960px){
  .ab-sec .ed-ledger .row{grid-template-columns:1fr;gap:8px}           /* 关于页账本：桌面 320px 列在手机上把 dd 挤成 1 字宽 */
  .track-head .tname{display:block}
  .track-head .taud{display:inline-block;margin:8px 0 0;white-space:normal;line-height:1.6} /* 课程矩阵受众标签换行 */
  .p-tabs .in{padding:0 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .p-tabs .in::-webkit-scrollbar{display:none}
  .p-tabs{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)} /* 右缘渐隐提示可横滑 */
}
@media (max-width:600px){
  .raaid{grid-template-columns:1fr}
  #cForm p .btn+span{display:block;margin:10px 0 0}
}
/* ⑩ 内页对比度柔化（定稿为第一档配色）：页底 #272233、内容板 #f3f1f7 系 */
:root{
  --bg-page:#272233;
  --sheet:rgba(243,241,247,.96);
  --sheet-line:rgba(255,255,255,.32);
  --sheet-shadow:0 22px 60px rgba(14,10,24,.32),0 0 0 1px rgba(124,77,255,.06);
  --card:#fbfaff;
  --nav-glass:rgba(39,34,51,.55);
  --nav-glass-hi:rgba(39,34,51,.78);
}
body:not(.home-on){background:linear-gradient(180deg,#2c2739 0,#272233 420px,#221e2c 100%) fixed}
.bg-fx::before{
  background:
    radial-gradient(900px 620px at 16% -8%,rgba(124,77,255,.26),transparent 70%),
    radial-gradient(700px 520px at 90% 30%,rgba(124,77,255,.10),transparent 70%),
    radial-gradient(760px 540px at 70% 108%,rgba(124,77,255,.14),transparent 70%)}
.p-hero::after{background:linear-gradient(180deg,transparent,#2c2739)}
.svc-block:nth-of-type(even),.svc-block.panel{border-color:rgba(124,77,255,.10) !important}
.page .svc-block:not(.cta-grad)::after,.ab-sec::after,.ab-close::after{
  content:"";position:absolute;inset:-18px;border-radius:32px;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 40% at 50% 0%,rgba(124,77,255,.10),transparent 70%)}
.page .svc-block:not(.cta-grad),.ab-sec,.ab-close{position:relative}
/* Tab 条：半透明玻璃，跟随页底色 */
body:not(.home-on) .p-tabs{background:rgba(44,39,57,.45);border-bottom:1px solid rgba(255,255,255,.09);box-shadow:0 8px 24px rgba(10,6,20,.12)}
body:not(.home-on) .p-tabs a{color:rgba(216,214,221,.72)}
body:not(.home-on) .p-tabs a:hover{color:#fff}
body:not(.home-on) .p-tabs a.on{color:#fff;border-bottom-color:var(--p-300)}

/* ⑪ 内页氛围层：页底星光 canvas + 内容板内不规则渐变蒙版与隐约星点 */
.bg-fx canvas{position:absolute;inset:0;width:100%;height:100%}
.sheet,.page .svc-block:not(.cta-grad),.ab-sec,.ab-close{
  background:
    url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22640%22 height=%22640%22%3E%3Ccircle cx=%22290%22 cy=%22358%22 r=%221.4%22 fill=%22#a789ff%22 opacity=%220.48%22/%3E%3Ccircle cx=%22376%22 cy=%22118%22 r=%221.8%22 fill=%22#a789ff%22 opacity=%220.53%22/%3E%3Ccircle cx=%22508%22 cy=%2260%22 r=%221.1%22 fill=%22#7c4dff%22 opacity=%220.29%22/%3E%3Ccircle cx=%22518%22 cy=%22444%22 r=%220.7%22 fill=%22#a789ff%22 opacity=%220.68%22/%3E%3Ccircle cx=%22419%22 cy=%22394%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.62%22/%3E%3Ccircle cx=%2240%22 cy=%2223%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.60%22/%3E%3Ccircle cx=%22209%22 cy=%22378%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.54%22/%3E%3Ccircle cx=%22320%22 cy=%22424%22 r=%221.4%22 fill=%22#5e35b1%22 opacity=%220.43%22/%3E%3Ccircle cx=%22353%22 cy=%22596%22 r=%220.7%22 fill=%22#5e35b1%22 opacity=%220.39%22/%3E%3Ccircle cx=%22147%22 cy=%22185%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.43%22/%3E%3Ccircle cx=%22542%22 cy=%22247%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.35%22/%3E%3Ccircle cx=%22593%22 cy=%2233%22 r=%221.4%22 fill=%22#a789ff%22 opacity=%220.44%22/%3E%3Ccircle cx=%22362%22 cy=%22127%22 r=%221.1%22 fill=%22#5e35b1%22 opacity=%220.29%22/%3E%3Ccircle cx=%22213%22 cy=%22617%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.36%22/%3E%3Ccircle cx=%2265%22 cy=%2238%22 r=%221.4%22 fill=%22#7c4dff%22 opacity=%220.56%22/%3E%3Ccircle cx=%22121%22 cy=%22326%22 r=%220.9%22 fill=%22#a789ff%22 opacity=%220.54%22/%3E%3Ccircle cx=%2275%22 cy=%22269%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.37%22/%3E%3Ccircle cx=%22621%22 cy=%22514%22 r=%221.1%22 fill=%22#7c4dff%22 opacity=%220.34%22/%3E%3Ccircle cx=%22252%22 cy=%22547%22 r=%221.8%22 fill=%22#7c4dff%22 opacity=%220.27%22/%3E%3Ccircle cx=%2294%22 cy=%22283%22 r=%220.7%22 fill=%22#5e35b1%22 opacity=%220.62%22/%3E%3Ccircle cx=%22247%22 cy=%2248%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.26%22/%3E%3Ccircle cx=%22236%22 cy=%22398%22 r=%220.9%22 fill=%22#a789ff%22 opacity=%220.62%22/%3E%3Ccircle cx=%2287%22 cy=%22247%22 r=%220.9%22 fill=%22#5e35b1%22 opacity=%220.66%22/%3E%3Ccircle cx=%22523%22 cy=%22160%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.58%22/%3E%3Ccircle cx=%22602%22 cy=%22126%22 r=%221.4%22 fill=%22#a789ff%22 opacity=%220.52%22/%3E%3Ccircle cx=%22270%22 cy=%2266%22 r=%220.7%22 fill=%22#5e35b1%22 opacity=%220.36%22/%3E%3Ccircle cx=%22451%22 cy=%22164%22 r=%221.8%22 fill=%22#a789ff%22 opacity=%220.38%22/%3E%3Ccircle cx=%22112%22 cy=%22461%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.35%22/%3E%3Ccircle cx=%22358%22 cy=%22546%22 r=%221.8%22 fill=%22#7c4dff%22 opacity=%220.38%22/%3E%3Ccircle cx=%22587%22 cy=%22131%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.37%22/%3E%3Ccircle cx=%22285%22 cy=%2239%22 r=%220.9%22 fill=%22#5e35b1%22 opacity=%220.42%22/%3E%3Ccircle cx=%22366%22 cy=%2284%22 r=%221.1%22 fill=%22#7c4dff%22 opacity=%220.65%22/%3E%3Ccircle cx=%22628%22 cy=%22420%22 r=%221.8%22 fill=%22#7c4dff%22 opacity=%220.52%22/%3E%3Ccircle cx=%22591%22 cy=%22304%22 r=%221.1%22 fill=%22#5e35b1%22 opacity=%220.68%22/%3E%3C/svg%3E") 0 0/640px 640px repeat,
    radial-gradient(640px 360px at 88% -4%,rgba(124,77,255,.13),transparent 70%),
    radial-gradient(520px 320px at 6% 104%,rgba(214,232,147,.14),transparent 70%),
    radial-gradient(420px 260px at 55% 60%,rgba(255,255,255,.35),transparent 70%),
    linear-gradient(180deg,#f6f4fa,#eeecf4) !important}
.page .svc-block:nth-of-type(even):not(.cta-grad),.ab-sec:nth-of-type(even){
  background:
    url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22640%22 height=%22640%22%3E%3Ccircle cx=%22290%22 cy=%22358%22 r=%221.4%22 fill=%22#a789ff%22 opacity=%220.48%22/%3E%3Ccircle cx=%22376%22 cy=%22118%22 r=%221.8%22 fill=%22#a789ff%22 opacity=%220.53%22/%3E%3Ccircle cx=%22508%22 cy=%2260%22 r=%221.1%22 fill=%22#7c4dff%22 opacity=%220.29%22/%3E%3Ccircle cx=%22518%22 cy=%22444%22 r=%220.7%22 fill=%22#a789ff%22 opacity=%220.68%22/%3E%3Ccircle cx=%22419%22 cy=%22394%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.62%22/%3E%3Ccircle cx=%2240%22 cy=%2223%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.60%22/%3E%3Ccircle cx=%22209%22 cy=%22378%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.54%22/%3E%3Ccircle cx=%22320%22 cy=%22424%22 r=%221.4%22 fill=%22#5e35b1%22 opacity=%220.43%22/%3E%3Ccircle cx=%22353%22 cy=%22596%22 r=%220.7%22 fill=%22#5e35b1%22 opacity=%220.39%22/%3E%3Ccircle cx=%22147%22 cy=%22185%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.43%22/%3E%3Ccircle cx=%22542%22 cy=%22247%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.35%22/%3E%3Ccircle cx=%22593%22 cy=%2233%22 r=%221.4%22 fill=%22#a789ff%22 opacity=%220.44%22/%3E%3Ccircle cx=%22362%22 cy=%22127%22 r=%221.1%22 fill=%22#5e35b1%22 opacity=%220.29%22/%3E%3Ccircle cx=%22213%22 cy=%22617%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.36%22/%3E%3Ccircle cx=%2265%22 cy=%2238%22 r=%221.4%22 fill=%22#7c4dff%22 opacity=%220.56%22/%3E%3Ccircle cx=%22121%22 cy=%22326%22 r=%220.9%22 fill=%22#a789ff%22 opacity=%220.54%22/%3E%3Ccircle cx=%2275%22 cy=%22269%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.37%22/%3E%3Ccircle cx=%22621%22 cy=%22514%22 r=%221.1%22 fill=%22#7c4dff%22 opacity=%220.34%22/%3E%3Ccircle cx=%22252%22 cy=%22547%22 r=%221.8%22 fill=%22#7c4dff%22 opacity=%220.27%22/%3E%3Ccircle cx=%2294%22 cy=%22283%22 r=%220.7%22 fill=%22#5e35b1%22 opacity=%220.62%22/%3E%3Ccircle cx=%22247%22 cy=%2248%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.26%22/%3E%3Ccircle cx=%22236%22 cy=%22398%22 r=%220.9%22 fill=%22#a789ff%22 opacity=%220.62%22/%3E%3Ccircle cx=%2287%22 cy=%22247%22 r=%220.9%22 fill=%22#5e35b1%22 opacity=%220.66%22/%3E%3Ccircle cx=%22523%22 cy=%22160%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.58%22/%3E%3Ccircle cx=%22602%22 cy=%22126%22 r=%221.4%22 fill=%22#a789ff%22 opacity=%220.52%22/%3E%3Ccircle cx=%22270%22 cy=%2266%22 r=%220.7%22 fill=%22#5e35b1%22 opacity=%220.36%22/%3E%3Ccircle cx=%22451%22 cy=%22164%22 r=%221.8%22 fill=%22#a789ff%22 opacity=%220.38%22/%3E%3Ccircle cx=%22112%22 cy=%22461%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.35%22/%3E%3Ccircle cx=%22358%22 cy=%22546%22 r=%221.8%22 fill=%22#7c4dff%22 opacity=%220.38%22/%3E%3Ccircle cx=%22587%22 cy=%22131%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.37%22/%3E%3Ccircle cx=%22285%22 cy=%2239%22 r=%220.9%22 fill=%22#5e35b1%22 opacity=%220.42%22/%3E%3Ccircle cx=%22366%22 cy=%2284%22 r=%221.1%22 fill=%22#7c4dff%22 opacity=%220.65%22/%3E%3Ccircle cx=%22628%22 cy=%22420%22 r=%221.8%22 fill=%22#7c4dff%22 opacity=%220.52%22/%3E%3Ccircle cx=%22591%22 cy=%22304%22 r=%221.1%22 fill=%22#5e35b1%22 opacity=%220.68%22/%3E%3C/svg%3E") 320px 200px/640px 640px repeat,
    radial-gradient(600px 340px at 8% -6%,rgba(124,77,255,.12),transparent 70%),
    radial-gradient(560px 320px at 96% 100%,rgba(253,202,174,.14),transparent 70%),
    radial-gradient(420px 260px at 45% 40%,rgba(255,255,255,.3),transparent 70%),
    linear-gradient(180deg,#f6f4fa,#eeecf4) !important}
.sub-hero + .section .svc-block:first-of-type,.p-tabs + .section .svc-block:first-of-type,
.sub-hero + .section > .sheet,.ab-hero + .ab-sec,.a-main{
  background:
    url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22640%22 height=%22640%22%3E%3Ccircle cx=%22290%22 cy=%22358%22 r=%221.4%22 fill=%22#a789ff%22 opacity=%220.48%22/%3E%3Ccircle cx=%22376%22 cy=%22118%22 r=%221.8%22 fill=%22#a789ff%22 opacity=%220.53%22/%3E%3Ccircle cx=%22508%22 cy=%2260%22 r=%221.1%22 fill=%22#7c4dff%22 opacity=%220.29%22/%3E%3Ccircle cx=%22518%22 cy=%22444%22 r=%220.7%22 fill=%22#a789ff%22 opacity=%220.68%22/%3E%3Ccircle cx=%22419%22 cy=%22394%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.62%22/%3E%3Ccircle cx=%2240%22 cy=%2223%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.60%22/%3E%3Ccircle cx=%22209%22 cy=%22378%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.54%22/%3E%3Ccircle cx=%22320%22 cy=%22424%22 r=%221.4%22 fill=%22#5e35b1%22 opacity=%220.43%22/%3E%3Ccircle cx=%22353%22 cy=%22596%22 r=%220.7%22 fill=%22#5e35b1%22 opacity=%220.39%22/%3E%3Ccircle cx=%22147%22 cy=%22185%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.43%22/%3E%3Ccircle cx=%22542%22 cy=%22247%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.35%22/%3E%3Ccircle cx=%22593%22 cy=%2233%22 r=%221.4%22 fill=%22#a789ff%22 opacity=%220.44%22/%3E%3Ccircle cx=%22362%22 cy=%22127%22 r=%221.1%22 fill=%22#5e35b1%22 opacity=%220.29%22/%3E%3Ccircle cx=%22213%22 cy=%22617%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.36%22/%3E%3Ccircle cx=%2265%22 cy=%2238%22 r=%221.4%22 fill=%22#7c4dff%22 opacity=%220.56%22/%3E%3Ccircle cx=%22121%22 cy=%22326%22 r=%220.9%22 fill=%22#a789ff%22 opacity=%220.54%22/%3E%3Ccircle cx=%2275%22 cy=%22269%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.37%22/%3E%3Ccircle cx=%22621%22 cy=%22514%22 r=%221.1%22 fill=%22#7c4dff%22 opacity=%220.34%22/%3E%3Ccircle cx=%22252%22 cy=%22547%22 r=%221.8%22 fill=%22#7c4dff%22 opacity=%220.27%22/%3E%3Ccircle cx=%2294%22 cy=%22283%22 r=%220.7%22 fill=%22#5e35b1%22 opacity=%220.62%22/%3E%3Ccircle cx=%22247%22 cy=%2248%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.26%22/%3E%3Ccircle cx=%22236%22 cy=%22398%22 r=%220.9%22 fill=%22#a789ff%22 opacity=%220.62%22/%3E%3Ccircle cx=%2287%22 cy=%22247%22 r=%220.9%22 fill=%22#5e35b1%22 opacity=%220.66%22/%3E%3Ccircle cx=%22523%22 cy=%22160%22 r=%220.9%22 fill=%22#7c4dff%22 opacity=%220.58%22/%3E%3Ccircle cx=%22602%22 cy=%22126%22 r=%221.4%22 fill=%22#a789ff%22 opacity=%220.52%22/%3E%3Ccircle cx=%22270%22 cy=%2266%22 r=%220.7%22 fill=%22#5e35b1%22 opacity=%220.36%22/%3E%3Ccircle cx=%22451%22 cy=%22164%22 r=%221.8%22 fill=%22#a789ff%22 opacity=%220.38%22/%3E%3Ccircle cx=%22112%22 cy=%22461%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.35%22/%3E%3Ccircle cx=%22358%22 cy=%22546%22 r=%221.8%22 fill=%22#7c4dff%22 opacity=%220.38%22/%3E%3Ccircle cx=%22587%22 cy=%22131%22 r=%220.7%22 fill=%22#7c4dff%22 opacity=%220.37%22/%3E%3Ccircle cx=%22285%22 cy=%2239%22 r=%220.9%22 fill=%22#5e35b1%22 opacity=%220.42%22/%3E%3Ccircle cx=%22366%22 cy=%2284%22 r=%221.1%22 fill=%22#7c4dff%22 opacity=%220.65%22/%3E%3Ccircle cx=%22628%22 cy=%22420%22 r=%221.8%22 fill=%22#7c4dff%22 opacity=%220.52%22/%3E%3Ccircle cx=%22591%22 cy=%22304%22 r=%221.1%22 fill=%22#5e35b1%22 opacity=%220.68%22/%3E%3C/svg%3E") 0 0/640px 640px repeat,
    radial-gradient(640px 360px at 88% 0%,rgba(124,77,255,.14),transparent 70%),
    radial-gradient(520px 320px at 6% 104%,rgba(214,232,147,.14),transparent 70%),
    linear-gradient(180deg,rgba(246,244,250,.66),#f3f1f7 120px,#eeecf4) !important}
/* ⑫ Logo tagline */
.logo{position:relative;display:inline-flex;align-items:flex-end;gap:10px}
.logo .tagline{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--ink-3);white-space:nowrap;line-height:1;padding-bottom:9px;border-left:1px solid var(--hair);padding-left:10px;margin-bottom:0}
body.home-on .logo .tagline,body:not(.home-on) .logo .tagline{color:rgba(216,214,221,.72);border-left-color:rgba(255,255,255,.18)}
@media (max-width:1180px){.logo .tagline{display:none}}
/* ⑬ 首页产品卡：横向单排、自动慢速滚动（hover 暂停），卡片尺寸 640×340 */
.pv-rail{overflow:hidden;margin:0 calc(50% - 50vw);padding:10px 0 18px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.pv-track.pv-grid{--cw:640px;--gap:20px;display:flex;gap:var(--gap);width:max-content;padding-left:calc(50vw - 660px);
  will-change:transform}
.pv-track .pv-card{width:var(--cw);flex:0 0 var(--cw);height:340px;min-height:0}
@media (max-width:1320px){.pv-track.pv-grid{padding-left:34px}}
@media (max-width:760px){.pv-track.pv-grid{--cw:84vw;--gap:14px;padding-left:16px}.pv-track .pv-card{height:300px}}
.pv-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:6px}
.pv-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(219,205,255,.28);background:rgba(124,77,255,.10);color:var(--d-text);font-size:16px;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}
.pv-btn:hover{background:var(--purple);border-color:var(--purple);transform:translateY(-2px)}
.pv-dots{display:flex;gap:8px}
.pv-dots button{width:8px;height:8px;border-radius:999px;border:0;background:rgba(219,205,255,.28);cursor:pointer;padding:0;transition:width .3s var(--ease),background .3s var(--ease)}
.pv-dots button.on{width:26px;background:var(--p-300)}
/* ⑭ 字体统一（方案 A）：标题改黑体后字距略收、字重按规范 800/900 */
.j3d-txt h1,.p-hero h1,.sub-hero h1,.ab-hero h1,.a-hero h1,.tl-hero h1{letter-spacing:-.015em;font-weight:900}
.tl-sec h2,.section h2,.ed-h1,.ab-head h2,.ab-close h2,.tl-cta h2{letter-spacing:-.01em;font-weight:800}
.ed-h2,.ed-h3,.svc-block h3,.pv-card h3,.tl-card h3,.tl-col h3,.tl-row h3,.pcard h3,.case-card h4,.cmodal h3{font-weight:800;letter-spacing:0}
.ed-ledger dt,.zlab b,.track-head .tname{font-weight:800}
.ed-steps .n,.ed-stats .n,.ed-next .l,.cs-kicker .n,.cyc-r dt em,.band.flow .tag{font-weight:900;letter-spacing:-.02em}
/* ⑮ 碳硅混合生产力管理咨询页（0908 文案稿） */
.p-hero .ph-tag{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--p-300);background:rgba(124,77,255,.16);border:1px solid rgba(189,165,255,.35);border-radius:999px;padding:5px 14px;margin:14px 0 18px}
.page.on .p-hero .ph-tag{animation:pRise .9s var(--ease) .2s both}
.band b{font-weight:900;color:#fff}
.cs-close .sub{display:block;margin-top:6px;font-size:14px;font-weight:600;color:var(--purple)}
.svc4{margin-top:34px;border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden;position:relative;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.svc4:hover{transform:translateY(-6px);border-color:var(--p-200);box-shadow:0 22px 46px rgba(94,53,177,.16)}
.svc4::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--purple),var(--p-300));opacity:0;transition:opacity .28s var(--ease)}
.svc4:hover::before{opacity:1}
.svc4 header{display:flex;align-items:flex-start;gap:22px;padding:26px 30px 22px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(124,77,255,.09),rgba(124,77,255,.02) 60%)}
.svc4 header .no{font-family:var(--serif);font-weight:900;font-size:44px;line-height:1;color:var(--p-300);letter-spacing:-.02em;padding-top:2px;transition:color .28s var(--ease),transform .28s var(--ease)}
.svc4:hover header .no{color:var(--purple);transform:translateX(4px)}
.svc4 header h3{margin:0 0 6px;font-size:22px;font-weight:800;color:var(--ink);line-height:1.3}
.svc4 header .one{margin:0;font-size:15px;color:var(--ink-2);line-height:1.9}
.svc4 header .one b{color:var(--purple)}
.svc4-grid{display:grid;grid-template-columns:1fr 1fr}
.svc4 .cell{padding:22px 30px 24px;border-top:1px solid var(--line);position:relative;transition:background .25s var(--ease)}
.svc4 .cell:nth-child(-n+2){border-top:0}
.svc4 .cell:nth-child(even){border-left:1px solid var(--line)}
.svc4 .cell>b{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.1em;margin-bottom:12px}
.svc4 .cell>b::before{content:"";width:8px;height:8px;border-radius:2px;flex:0 0 auto}
/* ① 企业真实问题：暖灰底、琥珀标 —— 现状 / 痛点 */
.svc4 .cell:nth-child(1){background:linear-gradient(180deg,#fbf9f6,#f6f3ee)}
.svc4 .cell:nth-child(1)>b{color:#9c3904}.svc4 .cell:nth-child(1)>b::before{background:#f0a020}
.svc4 .cell:nth-child(1) p{color:var(--ink-2)}
/* ② 我们怎么做：白底、紫标 —— 主体内容，视觉最重 */
.svc4 .cell:nth-child(2){background:var(--card)}
.svc4 .cell:nth-child(2)>b{color:var(--purple)}.svc4 .cell:nth-child(2)>b::before{background:var(--purple)}
.svc4 .cell:nth-child(2) p,.svc4 .cell:nth-child(2) li{color:var(--ink)}
/* ③ 预期交付物：浅紫底、胶囊 —— 清单 */
.svc4 .cell:nth-child(3){background:var(--p-50)}
.svc4 .cell:nth-child(3)>b{color:var(--p-700)}.svc4 .cell:nth-child(3)>b::before{background:var(--p-300)}
/* ④ 可感知的价值：紫渐变深底、白字 —— 结果 */
.svc4 .cell.val{background:linear-gradient(135deg,var(--p-700),var(--purple));border-color:transparent}
.svc4 .cell.val>b{color:rgba(255,255,255,.75)}.svc4 .cell.val>b::before{background:var(--sage)}
.svc4 .cell.val p{color:#fff;font-weight:600}
.svc4 .cell.val p b{color:var(--sage)}
.svc4 .cell p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.8}
.svc4 .cell p+p{margin-top:8px}
.svc4 .cell p b{color:var(--ink)}
.svc4 .cell ul{margin:8px 0;padding:0;list-style:none}
.svc4 .cell li{font-size:14px;color:var(--ink-2);line-height:1.8;padding-left:16px;position:relative}
.svc4 .cell li::before{content:"";position:absolute;left:0;top:.75em;width:6px;height:6px;border-radius:50%;background:var(--purple)}
.svc4 .cell li b{color:var(--ink)}
.svc4 .cell .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.svc4 .cell .chips span{font-size:12.5px;font-weight:700;color:var(--purple);background:var(--card);border:1px solid var(--p-200);border-radius:999px;padding:5px 12px;line-height:1.5;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.svc4 .cell .chips span:hover{background:var(--purple);color:#fff;transform:translateY(-2px)}
.feat6.why3{grid-template-columns:repeat(3,1fr);margin-top:22px}
.feat6.why3 p strong{color:var(--purple);font-weight:800}
.cta-sub{margin:18px 0 0;font-size:14px;color:var(--d-sub)}
.cta-sub a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.cta-sub a:hover{border-bottom-color:#fff}
.cta-sub i{font-style:normal;margin:0 10px;opacity:.6}
@media (max-width:900px){.svc4-grid{grid-template-columns:1fr}.svc4 .cell:nth-child(even){border-left:0}.svc4 .cell:nth-child(2){border-top:1px solid var(--line)}.svc4 header{padding:22px 20px}.svc4 .cell{padding:18px 20px}.feat6.why3{grid-template-columns:1fr}}
/* 产品下拉：按列排（左：培训 → Agent 落地 → HR 管理咨询；右：生态用工 → 出海 HR） */
/* ⑯ 动效三件：流程顺序点亮 / hero 扫描 / 顾问流式与打字 */
.seq .seq-step{opacity:.34;filter:saturate(.35);transform:translateY(5px);transition:opacity .38s var(--ease),filter .38s var(--ease),transform .38s var(--ease)}
.seq .seq-step.lit{opacity:1;filter:none;transform:none}
.seq.seq-done .seq-step{transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease),background .25s var(--ease),opacity .2s}
.seq .seq-arrow{opacity:.2;transition:opacity .3s var(--ease)}
.seq .seq-arrow.lit{opacity:1;animation:arrowFlash .55s var(--ease)}
@keyframes arrowFlash{0%{color:#fff;text-shadow:0 0 12px rgba(255,255,255,.9);transform:translateX(-4px)}100%{transform:none}}
.path4>em.seq-arrow.lit{animation-name:arrowFlashP}
@keyframes arrowFlashP{0%{color:var(--purple);text-shadow:0 0 14px rgba(124,77,255,.9);transform:translateX(-4px)}100%{transform:none}}
/* 手机竖排路径（生态用工 path4 解决方案/端到端实施）的箭头点亮：只做发光、不做位移，避免覆盖 rotate(90deg) 把竖箭头临时打回横向 */
@keyframes arrowFlashV{0%{color:var(--purple);text-shadow:0 0 14px rgba(124,77,255,.9)}100%{text-shadow:none}}
.seq .seq-step.lit.hi,.path4>div.lit{animation:stepPop .45s var(--ease)}
@keyframes stepPop{0%{transform:translateY(5px) scale(.98)}60%{transform:translateY(-2px) scale(1.01)}100%{transform:none}}
.life8{position:relative}
.life8 li{z-index:1}
.life8 .life8-prog{position:absolute;z-index:0;left:6%;top:17px;height:3px;width:0;border-radius:2px;background:linear-gradient(90deg,var(--purple),var(--p-300));box-shadow:0 0 10px rgba(124,77,255,.6);transition:width .34s var(--ease);pointer-events:none}
.life8 li.lit i{animation:dotPop .45s var(--ease)}
@keyframes dotPop{0%{transform:translateX(-50%) scale(.7);box-shadow:0 0 0 5px var(--cream),0 0 0 0 rgba(124,77,255,.5)}60%{transform:translateX(-50%) scale(1.15)}100%{transform:translateX(-50%) scale(1);box-shadow:0 0 0 5px var(--cream),0 0 0 14px rgba(124,77,255,0)}}
/* hero 扫描框 */
.p-hero .art svg rect.scan{fill:none;stroke:#fff;stroke-width:2.5;stroke-dasharray:22 78;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(255,255,255,.9));animation:scanRun 1.3s cubic-bezier(.4,0,.2,1) forwards}
@keyframes scanRun{0%{stroke-dashoffset:0;opacity:0}12%{opacity:1}85%{opacity:1}100%{stroke-dashoffset:-100;opacity:0}}
/* 字牌下的呼吸线 */
.ph-deco .pd1{position:absolute}
.ph-deco .pd1::after{content:"";position:absolute;left:22%;right:22%;bottom:-12px;height:2px;border-radius:2px;background:var(--p-300);opacity:.55;transform-origin:left;animation:lineBreathe 4.2s ease-in-out infinite}
@keyframes lineBreathe{0%,100%{transform:scaleX(.35);opacity:.35}50%{transform:scaleX(1);opacity:.85}}
/* 顾问：流式光标 + CTA 提问 */
.caret3{display:inline-block;width:2px;height:1em;background:currentColor;margin-left:2px;vertical-align:-2px;animation:caretBlink 1s steps(2) infinite}
@keyframes caretBlink{50%{opacity:0}}
.cta-ask{margin:22px auto 0;max-width:40em;font-size:14px;color:var(--d-sub);display:flex;align-items:center;justify-content:center;gap:10px;min-height:22px}
.cta-ask .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.6);white-space:nowrap}
.cta-ask .q{color:#fff;font-weight:600}
.cta-ask .caret3{color:var(--sage)}
@media (prefers-reduced-motion:reduce){.ph-deco .pd1::after,.caret3{animation:none}.seq .seq-step{opacity:1;filter:none;transform:none}}
/* ⑰ 双向进出场 / 真人叙事卡 / 分区 ledger / 数字计数 / 为什么是瑞华智策 */
.rv2{opacity:0;transform:translateY(34px) scale(.985);transition:opacity .6s var(--ease) var(--rvd,0ms),transform .7s var(--ease) var(--rvd,0ms)}
.rv2.on{opacity:1;transform:none}
.svc4.rv2{transition:opacity .6s var(--ease),transform .7s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.svc4.rv2.on:hover{transform:translateY(-6px)}
/* 四分区在卡片入场后依次亮起 */
.svc4 .cell{opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease),transform .45s var(--ease),background .25s var(--ease)}
.svc4.on .cell{opacity:1;transform:none}
.svc4.on .cell:nth-child(1){transition-delay:.25s}.svc4.on .cell:nth-child(2){transition-delay:.38s}.svc4.on .cell:nth-child(3){transition-delay:.51s}.svc4.on .cell:nth-child(4){transition-delay:.64s}
.svc4 header{transition:opacity .4s var(--ease) .1s}
/* 真人叙事卡 */
.pcards.voice>div{padding:18px 20px 20px;background:var(--card);display:flex;flex-direction:column;gap:6px}
.pcards.voice .who{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-2);margin-bottom:4px}
.pcards.voice .who em{font-style:normal;color:var(--ink-3);font-weight:600;letter-spacing:.04em}
.pcards.voice .av{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:12px;font-weight:800;color:#fff;flex:0 0 auto;box-shadow:0 0 0 3px var(--card),0 0 0 4px var(--p-200)}
.pcards.voice .a1{background:linear-gradient(135deg,#7c4dff,#5e35b1)}
.pcards.voice .a2{background:linear-gradient(135deg,#9c3904,#f0a020)}
.pcards.voice .a3{background:linear-gradient(135deg,#50630c,#a4bf3a)}
.pcards.voice .a4{background:linear-gradient(135deg,#4a4359,#7a6f92)}
.pcards.voice b{font-size:15px;margin:0}
.pcards.voice .say{margin:2px 0 0;font-size:14px;line-height:1.8;color:var(--ink-2);min-height:3.7em;position:relative;padding-left:12px;border-left:2px solid var(--p-200)}
.pcards.voice .say.typing-on::after{content:"";display:inline-block;width:2px;height:1em;background:var(--purple);margin-left:2px;vertical-align:-2px;animation:caretBlink 1s steps(2) infinite}
.pcards.voice>div:hover{transform:translateY(-4px)}
/* 分区 ledger：每行成为独立软面板，左栏着色 */
.ed-ledger.zoned{border-top:0}
.ed-ledger.zoned .row{border:1px solid var(--line);border-radius:16px;margin-top:14px;padding:22px 26px 22px 0;background:var(--card);overflow:hidden;position:relative;transition:opacity .6s var(--ease) var(--rvd,0ms),transform .7s var(--ease) var(--rvd,0ms),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.ed-ledger.zoned .row:first-child{margin-top:0}
.ed-ledger.zoned .row dt{padding-left:26px;position:relative}
.ed-ledger.zoned .row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:232px;background:var(--z-bg,var(--p-50));opacity:.9}
.ed-ledger.zoned .row::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--z-bar,var(--purple))}
.ed-ledger.zoned .row>*{position:relative}
.ed-ledger.zoned .row:nth-child(1){--z-bg:#f3efff;--z-bar:#7c4dff}
.ed-ledger.zoned .row:nth-child(2){--z-bg:#fbf1ea;--z-bar:#f0a020}
.ed-ledger.zoned .row:nth-child(3){--z-bg:#f2f6e4;--z-bar:#a4bf3a}
.ed-ledger.zoned .row:nth-child(2) dt{color:#9c3904}
.ed-ledger.zoned .row:nth-child(3) dt{color:#50630c}
.ed-ledger.zoned .row:hover{border-color:var(--p-200);box-shadow:0 16px 36px rgba(94,53,177,.12);background:var(--card)}
.ed-ledger.zoned .row.rv2.on:hover{transform:translateY(-4px)}
.ed-ledger.zoned dd ol li i{color:var(--z-bar)}
@media (max-width:900px){.ed-ledger.zoned .row{padding:18px 20px;grid-template-columns:1fr}.ed-ledger.zoned .row::before{width:100%;bottom:auto;height:64px}.ed-ledger.zoned .row dt{padding-left:14px}}
/* 数字计数 */
.ed-stats .n .cnt{display:inline-block;min-width:.6em;text-align:right}
.ed-stats .s{transition:opacity .6s var(--ease) var(--rvd,0ms),transform .7s var(--ease) var(--rvd,0ms),background .2s var(--ease)}
/* 为什么是瑞华智策：条带生长 + 悬停上浮 + 光泽扫过 */
.feat6.why3>div{position:relative;overflow:hidden;background:var(--card)}
.feat6.why3 b{border-left-color:transparent;position:relative}
.feat6.why3 b::before{content:"";position:absolute;left:-3px;top:0;width:3px;height:0;background:var(--purple);transition:height .5s var(--ease) .35s}
.feat6.why3>div.on b::before{height:100%}
.feat6.why3>div::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(124,77,255,.10),transparent);transform:skewX(-18deg);transition:left .7s var(--ease)}
.feat6.why3>div:hover::after{left:120%}
.feat6.why3>div.rv2.on:hover{transform:translateY(-5px)}
@media (prefers-reduced-motion:reduce){.rv2,.svc4 .cell{opacity:1;transform:none;transition:none}}
/* ⑱ Agent 落地页 / 关于我们：进出场与细节动效 */
.ed-qa li.rv2,.ed-steps li.rv2,.ed-ledger .row.rv2{transition:opacity .6s var(--ease) var(--rvd,0ms),transform .7s var(--ease) var(--rvd,0ms),background .2s var(--ease)}
.ed-qa li.rv2{transform:translateX(-22px)}.ed-qa li.rv2.on{transform:none}
.ed-qa .a::before{display:inline-block;transition:transform .4s var(--ease) .35s;transform:translateX(-8px);opacity:0}
.ed-qa li.on .a::before{transform:none;opacity:1}
/* 三个真问题 / FDE 六步：编号在入场后变亮 */
.ed-steps li .n{transition:color .5s var(--ease) .3s,transform .5s var(--ease) .3s;transform:translateY(6px)}
.ed-steps li.on .n{color:var(--purple);transform:none}
.ed-steps li{transition:background .2s var(--ease)}
.ed-steps li:hover .n{color:var(--purple)}
/* 上岗四关 ledger：左栏词入场后划一道下划线 */
.ed-ledger:not(.zoned) dt{position:relative;display:inline-block}
.ed-ledger:not(.zoned) dt::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--p-300);transition:width .5s var(--ease) .4s}
.ed-ledger:not(.zoned) .row.on dt::after{width:36px}

/* ============ 移动端 ed-grid4 四卡片排版修复（HCVM / 培训产品页等） ============ */
/* 问题：断点 ≤960px 时卡片左内边距丢失导致贴顶格、与上方标题不对齐、卡片间无呼吸空间 */
@media (max-width:960px){
  .section .svc-block.ed .ed-grid4{
    display:grid;grid-template-columns:1fr !important;
    gap:12px !important;border-top:0 !important;border-bottom:0 !important;
  }
  .section .svc-block.ed .ed-grid4 > div{
    padding-top:22px !important;padding-bottom:22px !important;
    padding-left:22px !important;padding-right:22px !important;
    border-left:0 !important;border-top:0 !important;border-bottom:0 !important;
    border-radius:14px !important;
  }
  .section .svc-block.ed .ed-grid4 > div:first-child{
    padding-left:22px !important;border-top:0 !important;
  }
}
/* 关于我们：能力分层从上到下入场、卡片悬停已有；侧栏卡与盒子加上浮 */
.ab-layer.rv2{transform:translateX(-30px)}.ab-layer.rv2.on{transform:none}
.ab-layer.rv2.on:hover{transform:translateY(-6px)}
.ab-box.rv2.on:hover,.ab-side.rv2.on:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(94,53,177,.12)}
.ab-box,.ab-side{transition:opacity .6s var(--ease) var(--rvd,0ms),transform .7s var(--ease) var(--rvd,0ms),box-shadow .25s var(--ease)}
.ab-chip{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease),opacity .4s var(--ease)}
.ab-layer .ab-chip{opacity:0;transform:translateY(8px)}
.ab-layer.on .ab-chip{opacity:1;transform:none}
.ab-layer.on .ab-chip:nth-child(1){transition-delay:.25s}.ab-layer.on .ab-chip:nth-child(2){transition-delay:.32s}.ab-layer.on .ab-chip:nth-child(3){transition-delay:.39s}.ab-layer.on .ab-chip:nth-child(4){transition-delay:.46s}.ab-layer.on .ab-chip:nth-child(5){transition-delay:.53s}
.ab-layer.on .ab-chip:hover{transform:translateY(-4px)}
.ed-two.rv2{transform:translateY(30px) scale(.99)}
@media (prefers-reduced-motion:reduce){.ab-layer .ab-chip,.ed-steps li .n{opacity:1;transform:none}}
/* ⑲ 去分区横线 / 去 zoned 左彩条 */
body:not(.home-on) .nav,body:not(.home-on) .nav.scrolled{border-bottom-color:transparent}
body:not(.home-on) .p-tabs{border-bottom-color:transparent;box-shadow:none}
body:not(.home-on) .footer{border-top-color:transparent}
.ed-ledger.zoned .row::after{display:none}
/* ⑳ 三道坎：叙事提问版 */
.gaps{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.gap{display:grid;grid-template-columns:minmax(280px,36%) 1fr;gap:0;border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden;position:relative;
  opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease) var(--rvd,0ms),transform .7s var(--ease) var(--rvd,0ms),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.gap.on{opacity:1;transform:none}
.gap.on:hover{transform:translateY(-4px);border-color:var(--p-200);box-shadow:0 16px 36px rgba(94,53,177,.12)}
.gap-q{padding:30px 30px 28px;background:var(--g-bg,#f3efff);display:flex;flex-direction:column;justify-content:center;gap:5px}
.gap-q .no{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--g-ink,var(--purple))}
.gap-q h3{margin:0;font-size:clamp(20px,1.75vw,25px);font-weight:900;line-height:1.35;color:var(--g-ink,var(--purple));letter-spacing:-.01em}
.gap-b{padding:26px 30px 26px 34px;display:flex;flex-direction:column;gap:18px;justify-content:center}
.gap-subs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.gap-subs li{position:relative;padding-left:22px;font-size:15px;color:var(--ink);line-height:1.9;
  opacity:0;transform:translateX(-8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.gap-subs li::before{content:"?";position:absolute;left:0;top:.18em;width:16px;height:16px;border-radius:50%;background:var(--g-bg,#f3efff);color:var(--g-ink,var(--purple));font-family:var(--mono);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}
.gap.on .gap-subs li{opacity:1;transform:none}
.gap.on .gap-subs li:nth-child(1){transition-delay:.3s}.gap.on .gap-subs li:nth-child(2){transition-delay:.4s}.gap.on .gap-subs li:nth-child(3){transition-delay:.5s}.gap.on .gap-subs li:nth-child(4){transition-delay:.6s}
.gap-ins{margin:0;padding:12px 16px;border-radius:12px;background:var(--cream);border-left:3px solid var(--g-ink,var(--purple));font-size:14px;font-weight:700;color:var(--ink);line-height:1.8;
  opacity:0;transition:opacity .5s var(--ease) .75s}
.gap.on .gap-ins{opacity:1}
.gap:nth-child(1){--g-bg:#f3efff;--g-ink:#7c4dff}
.gap:nth-child(2){--g-bg:#fbf1ea;--g-ink:#9c3904}
.gap:nth-child(3){--g-bg:#f2f6e4;--g-ink:#50630c}
@media (max-width:900px){.gap{grid-template-columns:1fr}.gap-q{padding:22px 20px}.gap-b{padding:20px}.gap-subs{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.gap,.gap-subs li,.gap-ins{opacity:1;transform:none;transition:none}}
/* ㉑ 产品页 Tab 条下线（导航下拉已承担切换） */
.p-tabs{display:none !important}
/* ㉒ 人力资本价值经营入口（待定已解除） */
a.m-item{position:relative}
.m-item .m-tbd{display:none;position:absolute;right:10px;top:9px;margin:0;display:inline-block;font-style:normal;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:#ffd87e;background:rgba(255,216,126,.14);border:1px solid rgba(255,216,126,.4);border-radius:999px;padding:1px 8px;margin-left:8px;vertical-align:2px}
/* ㉓ 产品下拉三栏：独立产品 / HR 管理咨询组 / 人力资本价值经营 */
.m-cols.m-cols3{display:grid;grid-template-columns:auto auto auto;justify-content:start;gap:0 44px}
.m-cols.m-cols3 a.m-item b{white-space:nowrap}
.mega-pane[data-pane="products"] .m-in{grid-template-columns:minmax(0,1fr) 380px}
@media (max-width:1320px){.mega-pane[data-pane="products"] .m-in{grid-template-columns:minmax(0,1fr) 300px;gap:36px}.m-cols.m-cols3{gap:0 28px}}
.m-col{display:flex;flex-direction:column;gap:6px}
.m-grp{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--ink-3);padding:10px 0 4px;display:flex;align-items:center;gap:10px}
.m-grp-ghost{visibility:hidden}
a.m-item.sub b{font-size:15px}
.mnav .mg.sub{margin-top:4px;padding-left:0;font-size:10.5px;opacity:.85}
.mnav a.sub{padding-left:16px}
@media (max-width:1180px){.m-cols.m-cols3{grid-template-columns:1fr}.m-grp-ghost{display:none}}
/* ㉔ 0908 下午：三道坎标题字号对齐账本 dt / 账本课程列不压分区线 / 客户案例独立详情页 */
.gap-q h3{font-size:20px}
.ed-ledger.zoned .row{grid-template-columns:232px 1fr;gap:32px}
.cs-hero .a-bc{margin-bottom:14px}
.cs-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.cs-tags .ind{display:inline-block;font-size:11px;font-weight:800;color:#fff;background:var(--purple);border-radius:999px;padding:3px 10px;letter-spacing:.04em}
.cs-tags span:not(.ind){font-size:12px;font-weight:600;color:var(--d-sub)}
.cs-kpis{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.cs-kpis .s{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px 16px;min-width:150px}
.cs-kpis .s b{display:block;font-family:var(--mono);font-size:20px;font-weight:700;color:#ffd87e;line-height:1.2}
.cs-kpis .s i{font-style:normal;font-size:11.5px;font-weight:600;color:var(--d-sub)}
.cs-main{padding-top:40px}
.cs-body{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 36px 34px;box-shadow:0 12px 32px rgba(94,53,177,.08)}
.csd-sec{padding:22px 0;border-bottom:1px solid var(--line)}
.csd-sec:last-of-type{border-bottom:0}
.csd-sec h5{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.14em;color:var(--purple);margin:0 0 10px}
.csd-sec p,.csd-sec li{font-size:15px;color:var(--ink-2);line-height:1.9;margin:0}
.csd-sec ul{list-style:none;margin:0;padding:0}
.csd-sec li{padding:3px 0}
.csd-sec .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.csd-sec .stat{background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}
.csd-sec .stat b{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--data-ink);display:block}
.csd-sec .stat i{font-style:normal;font-size:11px;color:var(--ink-3);font-weight:600}
.cs-body .cm-cta{margin-top:28px}
.cs-pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.cs-pn a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:14px 16px;transition:border-color .2s var(--ease),transform .2s var(--ease)}
.cs-pn a:hover{border-color:var(--p-300);transform:translateY(-2px)}
.cs-pn a.r{text-align:right}
.cs-pn small{display:block;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--ink-3);margin-bottom:6px}
.cs-pn b{font-size:14px;font-weight:700;color:var(--ink);line-height:1.8}
.cs-side{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:18px}
.cs-side .h{font-size:13px;font-weight:800;color:var(--ink);margin-bottom:8px}
.cs-side .r{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:13px;font-weight:700;color:var(--ink-2);padding:10px 0;border-top:1px solid var(--line);line-height:1.7}
.cs-side .r:hover{color:var(--purple)}
.cs-side .r .cthumb{flex:0 0 32px;width:32px;height:32px;display:inline-flex}
.cs-side .none{font-size:13px;color:var(--ink-3);padding:8px 0}
.cs-side .all{display:block;margin-top:10px;font-size:13px;font-weight:800;color:var(--purple);text-decoration:none}
@media (max-width:760px){.csd-sec .stat-grid{grid-template-columns:1fr 1fr}.cs-body{padding:8px 20px 26px}.cs-pn{grid-template-columns:1fr}.cs-pn a.r{text-align:left}}
/* ㉕ 出海页：人瑞全球布局地图（白底已抠透明，原图 1377×582） */
.osea-glb1,.osea-map{grid-template-columns:1fr}
.osea-map{margin-top:18px}
.osea-map .ed-opt.pri{padding:26px 32px 24px}
.osea-map .gmap{display:block;width:100%;max-width:1180px;height:auto;margin:16px auto 6px}
.osea-map .geo.geo-line{grid-template-columns:repeat(4,1fr);gap:10px 24px;margin-top:14px;padding-top:16px;border-top:1px solid var(--line)}
.osea-map .geo.geo-line b{font-size:12px;font-family:var(--mono);letter-spacing:.08em}
.osea-map .geo.geo-line p{font-size:13px;line-height:1.7}
@media (max-width:900px){.osea-map .geo.geo-line{grid-template-columns:1fr 1fr}}
/* ㉖ 0908 HCVM 页重排：分工对照 / 课程口径卡 */
.hc-vs .hv{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hc-vs .hv span{display:block;font-size:14px;line-height:1.8;color:var(--ink-2);padding:12px 16px;border-radius:12px;background:var(--cream);border:1px solid var(--line)}
.hc-vs .hv span.me{background:rgba(124,77,255,.07);border-color:var(--p-200);color:var(--ink)}
.hc-vs .hv span b{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--ink-3);margin-bottom:4px}
.hc-vs .hv span.me b{color:var(--purple)}
.hc-course{margin-top:22px}
.hc-course .ed-opt p a,.ed-opt p a,.ed-note a{color:var(--purple);font-weight:700;text-decoration:none;border-bottom:1px solid var(--p-200)}
@media (max-width:760px){.hc-vs .hv{grid-template-columns:1fr}}
/* ㉗ 0908 晚：ed-two 进场后归位（修复 ⑰ 的 .ed-two.rv2 覆盖 .on 导致常驻下移 30px 挡住后文）/ grid4 自动轮播 / 特色专项标题色 / 地图点亮 */
.ed-two.rv2.on{transform:none}
.ed-grid4.loop>div{transition:background .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease)}
.ed-grid4.loop>div.act{transform:translateY(-4px);box-shadow:0 18px 40px rgba(94,53,177,.14);background:var(--card)}
.ed-grid4.loop>div.act::before{opacity:1;transform:scaleX(1)}
.ed-grid4.loop>div:nth-child(2).act::before{background:#f0a020}.ed-grid4.loop>div:nth-child(3).act::before{background:#ffd87e}.ed-grid4.loop>div:nth-child(4).act::before{background:var(--sage)}
.ed-grid4.loop>div.act h4{color:var(--purple)}
.ed-grid4.loop>div:nth-child(2).act h4{color:#9c3904}.ed-grid4.loop>div:nth-child(3).act h4{color:#8a5a00}.ed-grid4.loop>div:nth-child(4).act h4{color:#50630c}
.ed-grid4.loop>div:first-child.act{padding-left:22px;margin-left:-22px;width:calc(100% + 22px)}
@media (prefers-reduced-motion:reduce){.ed-grid4.loop>div.act{transform:none;box-shadow:none}}
#hcvm-special .ed-opt.pri h4{color:var(--ink)}
.osea-map .ed-opt.pri:hover{background:linear-gradient(180deg,rgba(124,77,255,.07),rgba(124,77,255,.02))}
.osea-map .gmap-wrap{position:relative;max-width:1180px;margin:16px auto 6px}
.osea-map .gmap-wrap .gmap{margin:0}
.osea-map .gdots{position:absolute;inset:0;pointer-events:none}
.osea-map .gdots i{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;opacity:0}
.osea-map .gdots i.lit{animation:gpulse 1.6s var(--ease) forwards}
.osea-map .gdots i.lit::after{content:"";position:absolute;inset:-3px;border-radius:50%;background:#ff7a3d;box-shadow:0 0 0 0 rgba(255,122,61,.7);animation:gring 1.6s ease-out forwards}
@keyframes gpulse{0%{opacity:0}12%{opacity:1}80%{opacity:1}100%{opacity:0}}
@keyframes gring{0%{box-shadow:0 0 0 0 rgba(255,122,61,.75),0 0 0 0 rgba(255,122,61,.35)}100%{box-shadow:0 0 0 18px rgba(255,122,61,0),0 0 0 34px rgba(255,122,61,0)}}
@media (prefers-reduced-motion:reduce){.osea-map .gdots i.lit{animation:none;opacity:0}}
/* =========== 移动端 ed-grid4 四卡片终极修复（HCVM 赋能形式 / 产品四卡等通用） =========== */
/* 修复：≤960px 时 4 个卡片左侧内边距丢失导致贴顶格、与上方标题不对齐、卡片无间隙 */
@media (max-width:960px){
  .ed-grid4{gap:12px !important;border-top:0 !important;border-bottom:0 !important}
  .ed-grid4 > div{
    padding-top:22px !important;
    padding-bottom:22px !important;
    padding-left:22px !important;
    padding-right:22px !important;
    border-left:0 !important;
    border-top:0 !important;
    border-bottom:0 !important;
    border-radius:14px !important;
  }
  .ed-grid4 > div:first-child{padding-left:22px !important;border-top:0 !important}
}
/* ㉘ 出海页六特点自动轮播 */
.feat6.loop>div{transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease),background .45s var(--ease)}
.feat6.loop>div.act{transform:translateY(-4px);box-shadow:0 16px 34px rgba(94,53,177,.14);border-color:var(--p-200);background:var(--card)}
.feat6.loop>div.act b{color:var(--purple)}
@media (prefers-reduced-motion:reduce){.feat6.loop>div.act{transform:none;box-shadow:none}}
/* ㉙ 0908 夜：叙事进出场铺到生态用工 / 出海全部卡片；grid4 / feat6 改为进出场 + 悬停抬升（撤掉轮播）；双栏卡左右 hover 区分色；杂项 */
.ed-grid4>div.rv2,.feat6>div.rv2,.pcards>div.rv2,.vals.rv2,.trio.rv2,.path4.rv2,.life8.rv2,.raaid.rv2,.band.rv2,.cs-close.rv2{transition:opacity .6s var(--ease) var(--rvd,0ms),transform .7s var(--ease) var(--rvd,0ms),box-shadow .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}
.ed-grid4>div.act,.feat6>div.act{transform:none;box-shadow:none}
.ed-grid4>div.act h4{color:var(--ink)}.ed-grid4>div.act::before{opacity:0}
.ed-grid4>div.rv2.on:hover,.feat6>div.rv2.on:hover,.pcards>div.rv2.on:hover{transform:translateY(-4px)}
.ed-opt:not(.pri):hover{background:rgba(33,30,40,.035)}
.ed-opt:not(.pri):hover::before{background:var(--ink-3)}
.ed-opt.pri:hover{background:linear-gradient(180deg,rgba(124,77,255,.13),rgba(124,77,255,.06))}
#hcvm-domains .ed-ledger dd .c{font-weight:500;font-size:12.5px;color:var(--ink-3);margin-top:8px}
.vals>div{padding:18px 12px}.vals p{font-size:12.5px;letter-spacing:-.01em}
.osea-map .ed-opt.pri::before{display:none}
/* ㉚ 出海七大模块去 dt 下划线；Logo tagline 对齐微调 */
.ed-ledger.mods7 dt::after{display:none}
.logo{align-items:center;gap:12px}
.logo .tagline{padding-bottom:0;margin-top:14px;font-size:11.5px;letter-spacing:.16em;line-height:1;border-left:0;position:relative;padding-left:12px}
.logo .tagline::before{content:"";position:absolute;left:0;top:50%;height:14px;transform:translateY(-50%);border-left:1px solid rgba(255,255,255,.22)}
/* ㉛ 生态用工页：浅色横带标签可见并改为标签行；路径四卡由浅入深；账本 hi 行加强；path4 后金句下移 */
.band.lt b{color:var(--p-700)}
.band.lt.kv{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 18px;text-align:left;padding:14px 22px}
.band.lt.kv b{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--p-700);white-space:nowrap;padding-right:18px;border-right:1px solid var(--p-200)}
.band.lt.kv .kv-chips{display:flex;flex-wrap:wrap;gap:8px}
.band.lt.kv .kv-chips>span{font-size:13px;font-weight:700;color:var(--purple);background:var(--card);border:1px solid var(--p-200);border-radius:999px;padding:5px 12px;line-height:1.7}
.band.lt.kv .kv-chips>span i{font-style:normal;font-family:var(--mono);font-size:11px;font-weight:700;margin-right:6px;opacity:.7}
.band.lt.kv4 .kv-chips>span:nth-child(1){background:var(--p-50);color:var(--purple)}
.band.lt.kv4 .kv-chips>span:nth-child(2){background:#d9ccff;border-color:#c9b8ff;color:#4a2ab0}
.band.lt.kv4 .kv-chips>span:nth-child(3){background:var(--purple);border-color:var(--purple);color:#fff}
.band.lt.kv4 .kv-chips>span:nth-child(3) i{opacity:.8}
.band.lt.kv4 .kv-chips>span:nth-child(4){background:var(--p-700);border-color:var(--p-700);color:#fff}
.band.lt.kv4 .kv-chips>span:nth-child(4) i{opacity:.8}
.path4>div:nth-of-type(1){background:var(--p-50);color:var(--purple);border:1px solid var(--p-200);box-shadow:none}
.path4>div:nth-of-type(1) i,.path4>div:nth-of-type(1) small{color:var(--ink-2);opacity:1}
.path4>div:nth-of-type(2){background:#d9ccff;color:#3b1f9e;border:1px solid #c9b8ff;box-shadow:none}
.path4>div:nth-of-type(2) i,.path4>div:nth-of-type(2) small{color:#4a2ab0;opacity:1}
.path4>div:nth-of-type(3){background:linear-gradient(90deg,var(--purple),#8b62ff);color:#fff}
.path4>div:nth-of-type(4){background:linear-gradient(90deg,var(--p-700),#4a2ab0);color:#fff}
.path4+.cs-close{margin-top:44px}
.ed-ledger .row.hi{background:linear-gradient(90deg,rgba(124,77,255,.12),rgba(124,77,255,.03) 70%)}
.ed-ledger .row.hi dt{color:var(--p-700)}
/* ㉜ Agent 页选育用优：备注字号缩小、左对齐 */
.cyc-close{font-size:13px !important;color:var(--ink-3) !important;margin:18px 0 0 !important;padding:0 !important;text-align:left !important;font-weight:500 !important}
.cyc-r dd.get{display:block}
/* ㉝ 0909 全局检查：字号三档（正文 15 / 卡片 14 / 注脚 13）已在原规则内收敛；账本 dt 20、卡片 h4 17、关于页 H1 与产品页同级 */
.ed-ledger dt{font-size:20px}
.cyc-r dt{font-size:20px}
.ed-steps h4{font-size:17px}
.ed-fdedef h4{font-size:17px}
.ab-hero h1{font-size:clamp(34px,4.3vw,58px)}
.vals p{font-size:13px;letter-spacing:-.02em}
/* ㉞ 首页：区块 reveal 改双向，卡片级（数字 / 行业行 / 研究卡 / FAQ / CTA）挂 rv2 错峰进出场 */
.tl-stat.rv2,.tl-row.rv2,.tl-col.rv2,.faq-item.rv2,.tl-cta .in.rv2{transition:opacity .6s var(--ease) var(--rvd,0ms),transform .7s var(--ease) var(--rvd,0ms),background .2s var(--ease),border-color .2s var(--ease)}
.tl-stat.rv2{transform:translateY(24px)}.tl-stat.rv2.on{transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
/* ㉟ 0909 晚：碳硅页「可感知的价值」改低饱和蒙版；步骤序号缩小为标签 */
.svc4 .cell.val{background:linear-gradient(135deg,rgba(124,77,255,.13),rgba(124,77,255,.05));border-color:var(--p-200)}
.svc4 .cell.val>b{color:var(--purple)}.svc4 .cell.val>b::before{background:var(--purple)}
.svc4 .cell.val p{color:var(--ink);font-weight:600}
.svc4 .cell.val p b{color:var(--p-700)}
.ed-steps .n{font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.12em;color:var(--purple);background:var(--p-50);border:1px solid var(--p-200);border-radius:8px;padding:4px 9px;line-height:1.2;align-self:start;justify-self:start;margin-top:4px}
.ed-steps li{grid-template-columns:72px 1fr;gap:18px}
.ed-steps li .n{transform:none}
@media (max-width:900px){.ed-steps .n{font-size:12px}}
/* ㊱ 出海页：人瑞全球布局动态点阵地图组件（rhg-，用户提供 0909） */
.rhg{--rhg-p50:#f6f3ff;--rhg-p200:#dbcdff;--rhg-p300:#bda5ff;--rhg-p500:#7c4dff;--rhg-p700:#5e35b1;
  --rhg-n0:#fff;--rhg-n200:#eae9ed;--rhg-n300:#d8d6dd;--rhg-n600:#7a6f92;--rhg-n800:#4a4359;--rhg-n900:#332e3d;
  --rhg-s600:#677d16;--rhg-ease:cubic-bezier(.2,0,0,1);
  --rhg-mono:"JetBrains Mono",Consolas,monospace;--rhg-sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
  position:relative;font-family:var(--rhg-sans);color:var(--rhg-n900)}
.rhg-map{position:relative;width:100%;max-width:1180px;margin:0 auto}
.rhg-map svg{display:block;width:100%;height:auto;overflow:visible}
/* 底图 */
.rhg-land{fill:var(--rhg-p200);opacity:.85}
.rhg-cn{fill:var(--rhg-p500);opacity:.9}
.rhg-dash{fill:none;stroke:var(--rhg-p500);stroke-width:1.7;stroke-linecap:round;opacity:.95}
.rhg-reveal{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s var(--rhg-ease) .1s}
.rhg.on .rhg-reveal{clip-path:inset(0 0 0 0)}
/* 枢纽 */
.rhg-hub{opacity:0;transition:opacity .5s var(--rhg-ease) 1.1s}
.rhg.on .rhg-hub{opacity:1}
.rhg-hub .c{fill:var(--rhg-p700);stroke:#fff;stroke-width:2}
.rhg-hub .r{fill:none;stroke:var(--rhg-p500);stroke-width:1.2;transform-origin:center;transform-box:fill-box;animation:rhgHub 2.6s ease-out infinite}
.rhg-hub .r2{animation-delay:1.3s}
@keyframes rhgHub{0%{transform:scale(.4);opacity:.8}100%{transform:scale(2.6);opacity:0}}
/* 连线 */
.rhg-arc{fill:none;stroke:var(--rhg-p300);stroke-width:1.1;stroke-linecap:round;opacity:.75;
  stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 1s var(--rhg-ease) var(--d),opacity .3s,stroke .3s}
.rhg.on .rhg-arc{stroke-dashoffset:0}
.rhg-fx{fill:var(--rhg-p500);opacity:0}
.rhg.on .rhg-fx{opacity:.9}
/* 站点 */
.rhg-site{cursor:default;opacity:0;transform:scale(.4);transform-origin:center;transform-box:fill-box;transition:opacity .45s var(--rhg-ease) var(--d),transform .55s var(--rhg-ease) var(--d)}
.rhg.on .rhg-site{opacity:1;transform:none}
.rhg-site .dot{fill:var(--rhg-p500);stroke:#fff;stroke-width:2;transition:fill .25s}
.rhg-site .ring{fill:none;stroke:var(--rhg-p500);stroke-width:1.5;opacity:0;transform-origin:center;transform-box:fill-box}
.rhg-site.lit .ring{animation:rhgRing 1.5s ease-out forwards}
@keyframes rhgRing{0%{transform:scale(.5);opacity:.9}100%{transform:scale(3.2);opacity:0}}
.rhg-lead{fill:none;stroke:var(--rhg-p300);stroke-width:1;opacity:.9;transition:stroke .25s}
.rhg-pill{fill:var(--rhg-n0);stroke:var(--rhg-p200);stroke-width:1;transition:fill .25s,stroke .25s}
.rhg-txt{font-family:var(--rhg-sans);font-size:12.5px;font-weight:600;fill:var(--rhg-n900);letter-spacing:.02em;transition:fill .25s}
.rhg-site:hover .dot,.rhg-site.hi .dot{fill:var(--rhg-p700)}
.rhg-site:hover .rhg-pill,.rhg-site.hi .rhg-pill{fill:var(--rhg-p500);stroke:var(--rhg-p500)}
.rhg-site:hover .rhg-txt,.rhg-site.hi .rhg-txt{fill:#fff}
.rhg-site:hover .rhg-lead,.rhg-site.hi .rhg-lead{stroke:var(--rhg-p500)}
/* 区域联动：dim 其它 */
.rhg[data-focus] .rhg-site:not(.hi){opacity:.28}
.rhg[data-focus] .rhg-arc:not(.hi){opacity:.18}
.rhg[data-focus] .rhg-arc.hi{stroke:var(--rhg-p500);opacity:1}
/* 图例 */
.rhg-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 24px;margin-top:14px;padding-top:16px;border-top:1px solid var(--rhg-n200)}
.rhg-legend>div{padding:6px 8px 6px 10px;margin:-6px -8px -6px -10px;border-radius:10px;cursor:default;transition:background .25s var(--rhg-ease),opacity .25s}
.rhg-legend>div:hover,.rhg-legend>div.hi{background:rgba(124,77,255,.07)}
.rhg[data-focus] .rhg-legend>div:not(.hi){opacity:.45}
.rhg-legend b{display:flex;align-items:baseline;gap:8px;font-family:var(--rhg-mono);font-size:12px;letter-spacing:.08em;color:var(--rhg-p500);margin-bottom:4px}
.rhg-legend p{margin:0;font-size:13px;line-height:1.7;color:var(--rhg-n900)}
.rhg-legend p span{transition:color .2s}
.rhg-legend p span.hi{color:var(--rhg-p700);font-weight:700}
@media (max-width:1100px){.rhg-txt{font-size:14px}}
@media (max-width:900px){.rhg-legend{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.rhg-label{display:none}.rhg-legend{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  .rhg-reveal,.rhg-hub,.rhg-arc,.rhg-site{transition:none}
  .rhg-reveal{clip-path:none}.rhg-hub,.rhg-site{opacity:1;transform:none}.rhg-arc{stroke-dashoffset:0}
  .rhg-hub .r,.rhg-site.lit .ring{animation:none}.rhg-fx{display:none}}
.osea-map .ed-opt.pri .rhg{margin-top:14px}
/* ㊲ 出海页：七大模块序号与标题间距；服务范围卡居中排版；专家团队 */
.ed-ledger.mods7 dt{gap:16px}
.ed-ledger.mods7 dt i{flex:0 0 auto;padding:3px 10px}
.ed-ledger.mods7 .row{grid-template-columns:320px 1fr}
.osea-scope{text-align:center;padding:34px 40px 32px;position:relative;overflow:hidden}
.osea-scope::after{content:"";position:absolute;inset:auto -20% -60% -20%;height:70%;background:radial-gradient(ellipse at center,rgba(124,77,255,.10),rgba(124,77,255,0) 70%);pointer-events:none}
.osea-scope .k{justify-content:center;display:flex}
.osea-scope h4{font-size:20px;margin:6px 0 18px;color:var(--ink)}
.osea-scope .chips.big{justify-content:center;gap:12px}
.osea-scope .chips.big span{display:inline-flex;align-items:center;gap:8px;font-size:14px;padding:9px 18px;background:var(--card)}
.osea-scope .chips.big span i{font-style:normal;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink-3);letter-spacing:.06em}
.osea-scope .fit{margin:18px auto 0;max-width:36em;color:var(--ink-2)}
.osea-scope:hover{background:var(--card)}
.osea-scope:hover::before{opacity:0}
/* ㊳ 出海页四处 + 碳硅页价值标签绿色 */
.rhg-site:focus{outline:none}
.rhg-site:focus-visible{outline:none}
.rhg-site:focus-visible .dot{stroke:var(--rhg-p500);stroke-width:3}
.osea-scope{color:var(--ink);background:linear-gradient(180deg,var(--card),var(--p-50));border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 28px rgba(94,53,177,.08);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.osea-scope .k{color:var(--ink);font-size:15px;font-weight:800;letter-spacing:.02em;font-family:var(--sans);margin-bottom:18px}
.osea-scope::before{display:none}
.osea-scope .chips.big span{box-shadow:0 4px 14px rgba(94,53,177,.08);border-color:var(--p-200);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),color .25s var(--ease)}
.osea-scope .chips.big span:hover{transform:translateY(-3px);background:var(--purple);color:#fff;box-shadow:0 12px 26px rgba(94,53,177,.22)}
.osea-scope .chips.big span:hover i{color:rgba(255,255,255,.75)}
.ed-opt.osea-scope:hover,.ed-opt.osea-scope:not(.pri):hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(94,53,177,.16);border-color:var(--p-200);background:linear-gradient(180deg,var(--card),var(--p-50))}
.osea-glb1.ed-two{border:0;background:transparent;overflow:visible}
.ed-ledger.mods7{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:0}
.ed-ledger.mods7 .row{display:block;padding:18px 22px;border:1px solid var(--line);border-radius:14px;background:var(--card);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.ed-ledger.mods7 .row:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(94,53,177,.12);border-color:var(--p-200);background:var(--card)}
.ed-ledger.mods7 .row.rv2.on:hover{transform:translateY(-3px)}
.ed-ledger.mods7 .row:last-child{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.ed-ledger.mods7 .row:last-child dd{margin:0}
.ed-ledger.mods7 dt{font-size:16px;margin-bottom:6px}
.ed-ledger.mods7 dd{font-size:14px;color:var(--ink-2);line-height:1.8;padding-left:52px}
.ed-ledger.mods7 .row:last-child dd{padding-left:0}
.page[data-page="p-overseas"] .feat6>div{padding:20px 18px}
.page[data-page="p-overseas"] .feat6 p{font-size:13px;letter-spacing:-.01em}
/* ㊸-10 无条件的 nowrap 会把三栏的 min-content 顶成整句宽度，1024–1366 撑破视口；只有内容板真够宽时才不换行 */
@media (min-width:1400px){.page[data-page="p-overseas"] .feat6 p{white-space:nowrap}}
.svc4 .cell.val>b{color:var(--sage-ink)}.svc4 .cell.val>b::before{background:var(--sage)}
@media (max-width:900px){
  .ed-ledger.mods7{grid-template-columns:1fr}
  .ed-ledger.mods7 .row:last-child{display:block}
  .page[data-page="p-overseas"] .feat6 p{white-space:normal}
  /* 出海七大模块 移动端：编号独立成行 + 标题/描述左对齐（取消悬挂缩进） */
  .ed-ledger.mods7 dt{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
    margin-bottom:10px !important;
  }
  .ed-ledger.mods7 dt i{display:block !important}
  .ed-ledger.mods7 dd{padding-left:0 !important}
  .ed-ledger.mods7 .row:last-child dd{padding-left:0}
}

/* Production-only SSR detail and form styles retained during B migration. */
.cm-body h5{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.14em;
  color:var(--purple);margin:20px 0 8px}
.cm-body p,.cm-body li{font-size:13.5px;color:var(--ink-2);line-height:1.85}
.cm-body ul{list-style:none}
.case-detail-hero{position:relative;overflow:hidden;background:linear-gradient(132deg,#16101f 0%,#25183a 56%,#35215a 100%);color:var(--d-text)}
.case-detail-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 16%,rgba(180,142,255,.3),transparent 30%),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,54px 54px,54px 54px;pointer-events:none}
.case-detail-hero::after{content:"CASE STUDY";position:absolute;right:-22px;bottom:8px;font-family:var(--mono);font-size:clamp(64px,11vw,150px);font-weight:700;line-height:1;letter-spacing:-.08em;color:rgba(255,255,255,.025);white-space:nowrap;pointer-events:none}
.case-detail-wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:32px 34px 56px}
.case-breadcrumb{display:flex;align-items:center;gap:9px;min-width:0;margin-bottom:54px;font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:rgba(255,255,255,.42)}
.case-breadcrumb a{color:rgba(255,255,255,.64);text-decoration:none}.case-breadcrumb a:hover{color:#d7c3ff}
.case-breadcrumb strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.case-hero-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:22px}
.case-industry{font-size:10px;font-weight:800;letter-spacing:.08em;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 13px;background:rgba(255,255,255,.08)}
.case-hero-meta .ctags{margin:0}.case-hero-meta .ctags span{color:rgba(255,255,255,.66);background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12)}
.case-detail-hero h1{font-family:var(--serif);font-size:clamp(34px,4.2vw,50px);font-weight:900;line-height:1.3;letter-spacing:-.025em;max-width:940px;text-wrap:balance;text-shadow:0 4px 30px rgba(0,0,0,.18)}
.case-client{display:flex;align-items:center;gap:12px;margin-top:24px;color:rgba(255,255,255,.58);font-family:var(--mono);font-size:11px;letter-spacing:.06em}
.case-client::before{content:"";width:26px;height:1px;background:#b99aff}
.case-detail-section{padding-top:0}
.case-detail-body{max-width:1120px;margin:0 auto;padding:74px 0 90px}
.case-detail-body h2{font-family:var(--serif);font-size:clamp(26px,3vw,36px);font-weight:900;line-height:1.3}
.case-section-label{display:flex;gap:12px;align-items:center;margin-bottom:12px;font-family:var(--mono);
  font-size:10.5px;font-weight:700;letter-spacing:.15em;color:var(--purple)}
.case-section-label span{color:var(--ink-3)}
.case-overview{padding-bottom:80px}
.case-overview-content{font-size:16px;line-height:1.9;max-width:48em;color:var(--ink-2)}
.case-overview-content p{margin:12px 0}
.case-overview-content p:first-child{margin-top:0}
.case-overview-content p:last-child{margin-bottom:0}
.case-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:46px;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.035)}
.case-hero-stats .stat{display:flex;min-width:0;padding:22px 24px;border-right:1px solid rgba(255,255,255,.14);flex-direction:column-reverse;justify-content:flex-end}
.case-hero-stats .stat:last-child{border-right:0}
.case-hero-stats .stat b{display:block;margin-top:8px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.02em;color:rgba(255,255,255,.56)}
.case-hero-stats .stat i{display:block;margin:0;font-family:var(--mono);font-style:normal;font-size:clamp(26px,3.2vw,40px);font-weight:700;line-height:1;letter-spacing:-.055em;color:#fff}
.case-story-grid{display:grid;grid-template-columns:1fr;gap:0;padding:70px 0;border-top:1px solid var(--line)}
.case-story-card{position:relative;display:grid;grid-template-columns:260px 1fr;gap:56px;padding:46px 8px;border-bottom:1px solid var(--line);background:transparent}
.case-story-card:first-child{padding-top:8px}
.case-story-card:last-child{border-bottom:0;padding-bottom:8px}
.case-story-card.case-solution{margin-top:24px;padding:50px;border:0;border-radius:3px;background:#12151b;color:#fff}
.case-story-kicker{display:flex;align-items:flex-start;gap:18px;font-family:var(--serif);font-size:clamp(16px,1.8vw,20px);font-weight:900;line-height:1.25;letter-spacing:-.035em}
.case-story-kicker span{padding-top:7px;font-family:var(--mono);font-size:10px;font-weight:700;color:var(--purple);letter-spacing:.12em}
.case-solution .case-story-kicker{color:#fff}.case-solution .case-story-kicker span{color:var(--p-300)}
.case-story-card p{font-size:15px;line-height:1.75;color:var(--ink-2)}
.case-story-card ul{margin:0;padding:0;counter-reset:story-item}
.case-solution ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:54px}
.case-story-card li{position:relative;padding:14px 0 14px 42px;border-top:1px solid var(--line);font-size:15px;line-height:1.75;color:var(--ink-2);counter-increment:story-item}
.case-story-card li::before{content:counter(story-item,decimal-leading-zero);position:absolute;left:0;top:18px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--purple)}
.case-solution li{border-color:rgba(255,255,255,.12);color:var(--d-sub)}
.case-results{margin:26px 0 80px;padding:72px 58px;background:#eef0e9;border-radius:3px}
.case-results-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:80px;align-items:end}
.case-results-head h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.04em}
.case-results-head>p{max-width:390px;font-size:14px;line-height:1.85;color:var(--ink-2)}
.case-result-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:52px;border-top:1px solid rgba(33,30,40,.22);border-left:1px solid rgba(33,30,40,.22)}
.case-result-item{position:relative;min-height:170px;padding:30px 32px;border-right:1px solid rgba(33,30,40,.22);border-bottom:1px solid rgba(33,30,40,.22);transition:background .25s ease}
.case-result-item:hover{background:rgba(255,255,255,.5)}
.case-result-index{display:block;margin-bottom:28px;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--ink-3)}
.case-result-value{display:block;font-family:var(--mono);font-size:56px;font-weight:700;line-height:.95;letter-spacing:-.065em;color:#7c4dff;font-variant-numeric:tabular-nums}
.case-result-label{margin-top:10px;font-size:16px;font-weight:700;line-height:1.5;color:var(--ink-2);letter-spacing:-.02em}
.case-results-empty{margin-top:44px;padding:30px 32px;border-top:1px solid rgba(33,30,40,.22);border-bottom:1px solid rgba(33,30,40,.22)}
.case-results-empty span{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--ink-3)}
.case-results-empty p{margin-top:9px;font-size:14px;line-height:1.8;color:var(--ink-2)}
/* 案例详情：项目复盘报告布局 */
.case-report-layout{display:block}
.case-report-index{--case-progress:0%;position:sticky;z-index:8;top:68px;display:grid;grid-template-columns:130px 150px minmax(0,1fr);align-items:center;margin-bottom:72px;padding:10px 20px 12px;border:1px solid rgba(69,51,91,.12);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(48,31,68,.06);backdrop-filter:blur(14px)}
.case-index-progress{position:absolute;right:12px;bottom:-1px;left:12px;height:2px;overflow:hidden;border-radius:2px;background:#eee9f3}
.case-index-progress::after{content:"";display:block;width:var(--case-progress);height:100%;background:#7046d9;transition:width .16s ease}
.case-index-eyebrow{display:block;margin:0;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.16em;color:var(--purple)}
.case-report-index>strong{display:block;padding:0;border:0;font-family:var(--serif);font-size:15px;color:var(--ink)}
.case-report-index nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0}
.case-report-index a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-left:1px solid var(--line);color:var(--ink-3);font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap;transition:color .2s ease,background .2s ease}
.case-report-index a i{font-family:var(--mono);font-size:9px;font-style:normal;color:#a38abf}
.case-report-index a:hover{color:var(--purple);background:#f8f4fc}
.case-report-content{min-width:0;max-width:980px;margin:0 auto}
.case-report-content .case-overview{position:relative;margin-bottom:74px;padding:8px 0 64px 54px;border-bottom:1px solid var(--line);scroll-margin-top:150px}
.case-report-content .case-overview::before{content:"";position:absolute;left:0;top:9px;width:28px;height:3px;background:var(--purple)}
.case-report-content .case-overview h2{margin-bottom:24px;font-size:clamp(20px,2.3vw,28px) !important;letter-spacing:-.045em}
.case-report-content .case-overview-content{max-width:45em;font-size:15px !important;font-weight:400;line-height:1.8;color:var(--ink)}
.case-report-content .case-story-grid{grid-template-columns:1fr;gap:0;padding:0;border:0;scroll-margin-top:100px}
.case-report-content .case-story-card{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.55fr);gap:56px;padding:52px 4px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.case-report-content .case-story-card:first-child{padding:18px 4px 52px;border-top:0}
.case-report-content .case-story-card:last-child{padding:52px 4px}
.case-report-content .case-story-kicker{position:static;gap:14px;align-self:start;margin:0;font-size:clamp(20px,2.3vw,28px) !important;line-height:1.25}
.case-report-content .case-story-kicker span{padding-top:7px;color:#9a7dbd}
.case-report-content .case-story-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;padding-top:2px}
.case-report-content .case-story-card li{min-height:82px;padding:17px 0 17px 42px;border-top:1px solid #ece7f0;font-size:15px;line-height:1.8}
.case-report-content .case-story-card li:nth-child(-n+2){padding-top:2px;border-top:0}
.case-report-content .case-story-card li:nth-child(-n+2)::before{top:6px}
.case-report-content .case-story-card.case-solution{position:relative;grid-column:1/-1;margin:20px 0 66px;padding:52px 4px;border:0;border-top:3px solid #7046d9;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.case-report-content .case-solution::after{content:"SOLUTION BLUEPRINT";position:absolute;right:4px;top:18px;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.16em;color:#a58aba}
.case-report-content .case-solution .case-story-kicker{color:var(--ink)}
.case-report-content .case-solution .case-story-kicker span{color:#7046d9}
.case-report-content .case-solution ul{position:relative;grid-template-columns:1fr;gap:0;padding-left:30px}
.case-report-content .case-solution ul::before{content:"";position:absolute;left:5px;top:12px;bottom:14px;width:1px;background:linear-gradient(#7046d9,#ded3eb)}
.case-report-content .case-solution li{min-height:0;padding:0 0 28px 28px;border:0;color:var(--ink-2);counter-increment:story-item}
.case-report-content .case-solution li:last-child{padding-bottom:0}
.case-report-content .case-solution li::before{content:"";left:0;top:8px;width:11px;height:11px;border:3px solid #fff;border-radius:50%;background:#7046d9;box-shadow:0 0 0 1px #7046d9}
.case-report-content .case-solution li:first-child{padding-top:0}
.case-report-content .case-solution li:first-child::before{top:8px}
.case-report-content .case-results{margin:0 0 84px;padding:58px 0 0;border:0;background:transparent;scroll-margin-top:100px}
.case-report-content .case-results::before,.case-report-content .case-results::after{display:none}
.case-report-content .case-results-head{grid-template-columns:minmax(0,1fr) minmax(240px,.72fr);gap:56px;padding-bottom:46px;border:0}
.case-report-content .case-results .case-section-label{font-family:var(--mono);font-size:10.5px !important;font-weight:700;letter-spacing:.15em;color:var(--purple)}
.case-report-content .case-results-head h2{font-size:clamp(20px,2.3vw,28px) !important;color:var(--ink)}
.case-report-content .case-results-head>p{padding:0;border:0;color:#655f58}
.case-report-content .case-result-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px;margin-top:0;border:0}
.case-report-content .case-result-item{position:relative;display:flex;min-width:0;min-height:0;padding:0;flex-direction:column;border:0;border-radius:0;background:transparent}
.case-report-content .case-result-item:nth-child(odd),.case-report-content .case-result-item:nth-child(2n),.case-report-content .case-result-item:nth-last-child(-n+2){border:0}
.case-report-content .case-result-item::after{content:"";width:32px;height:2px;margin-top:22px;background:#7654a8;transition:width .35s var(--ease)}
.case-report-content .case-result-item:hover{transform:none;border:0;background:transparent;box-shadow:none}
.case-report-content .case-result-item:hover::after{width:64px}
.case-report-content .case-result-index{order:1;margin:0 0 28px;padding:0;font-size:9px;color:#958b9f}
.case-report-content .case-result-value,.case-report-content .case-result-copy{order:2;margin:0;font-family:var(--mono);font-size:56px;font-weight:700;line-height:.95;letter-spacing:-.065em;color:#7c4dff;text-shadow:none;font-variant-numeric:tabular-nums;text-wrap:balance;transition:color .25s ease,transform .25s ease}
.case-report-content .case-result-item:hover .case-result-value,.case-report-content .case-result-item:hover .case-result-copy{color:#7046a0;text-shadow:none;transform:translateY(-2px)}
.case-report-content .case-result-label{order:3;margin-top:14px;padding:0;font-size:16px;font-weight:700;line-height:1.5;letter-spacing:-.02em;color:#57514b}
.case-report-content .case-results-empty{border-color:#e5dcef}
.case-report-content .case-results-empty span{color:#7550c7}
.case-report-content .case-results-empty p{color:var(--ink-2)}
.case-related{padding:80px 0;border-top:1px solid var(--line)}
.case-faq{padding:80px 0;border-top:1px solid var(--line)}
.case-faq .faq-list{margin-top:28px}
.case-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}
.case-section-head>div>span{font-family:var(--mono);font-size:10px;letter-spacing:.15em;color:var(--purple);font-weight:700}
.case-section-head h2{margin-top:8px}
.case-section-head a{font-size:13px;font-weight:800;color:var(--purple);text-decoration:none;
  transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}
.case-section-head a:hover{color:var(--purple-hi);transform:translateX(2px)}
.case-related .case-grid{grid-template-columns:repeat(3,1fr)}
.case-related .case-card{padding:18px}.case-related .case-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.case-detail-primary{background:var(--purple-hi);color:#fff;font-weight:700;padding:14px 32px;
  border-radius:999px;font-size:15px;transition:all .25s ease;box-shadow:0 4px 12px rgba(124,77,255,.2)}
.case-detail-primary:hover{background:var(--purple);box-shadow:0 6px 20px rgba(124,77,255,.3);transform:translateY(-1px)}
.case-detail-primary .arr{margin-left:6px;display:inline-block;transition:transform .25s ease}
.case-detail-primary:hover .arr{transform:translateX(3px)}
.case-detail-ai{border:1px solid var(--line);color:var(--ink);background:var(--card);font-weight:700;
  padding:14px 28px;border-radius:999px;font-size:15px;transition:all .25s ease}
.case-detail-ai:hover{border-color:var(--purple);color:var(--purple);background:var(--p-50)}
.case-detail-back{margin-top:48px;text-align:center}
.case-detail-back a{color:var(--purple);font-weight:700;text-decoration:none;font-size:14px;
  transition:color .2s ease,transform .2s ease;display:inline-block}
.case-detail-back a:hover{color:var(--purple-hi);transform:translateX(-2px)}
.case-section-head a:focus-visible,.case-detail-primary:focus-visible,.case-detail-ai:focus-visible,.case-detail-back a:focus-visible,.faq-item summary:focus-visible{outline:3px solid rgba(112,70,217,.3);outline-offset:3px}
.cmodal .close{position:absolute;top:22px;right:22px;background:var(--cream);border:1px solid var(--line);
  border-radius:999px;width:34px;height:34px;font-size:15px;color:var(--ink-2);cursor:pointer}
.cmodal .close:hover{border-color:var(--purple);color:var(--purple)}
.case-detail-body>.cm-cta{position:relative;overflow:hidden;margin-top:0;padding:38px 40px;border:0;border-top:3px solid #7046d9;border-radius:0;background:#f7f4f9;display:flex;align-items:center;gap:18px;flex-wrap:wrap;box-shadow:none}
.case-detail-body>.cm-cta::after{content:"AI SCENARIO DIAGNOSIS";position:absolute;right:20px;bottom:-8px;font-family:var(--mono);font-size:34px;font-weight:700;letter-spacing:-.05em;color:rgba(112,70,217,.045);pointer-events:none}
.cm-cta{margin-top:48px;background:linear-gradient(135deg,var(--p-50) 0%,var(--p-100) 100%);
  border:1px solid var(--p-200);border-radius:18px;padding:28px 32px;display:flex;align-items:center;
  gap:18px;flex-wrap:wrap;box-shadow:0 4px 12px rgba(124,77,255,.06)}
.cm-cta .t{font-size:16px;font-weight:800;color:var(--ink);flex:1;min-width:280px;letter-spacing:-.01em}
.cm-cta .t span{display:block;font-size:13px;font-weight:600;color:var(--ink-3);margin-top:4px;line-height:1.6}
.cmodal .ind{display:inline-block;font-size:11px;font-weight:800;color:var(--purple);
  background:var(--p-50);border:1px solid var(--p-200);border-radius:999px;padding:2px 12px;margin-bottom:10px}
.cmodal .tags{font-size:12px;color:var(--ink-3);font-weight:600;margin-left:8px}
.cmodal h3{font-family:var(--serif);font-size:22px;font-weight:900;color:var(--ink);
  line-height:1.4;margin-bottom:18px}
.cmodal h5{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.14em;
  color:var(--purple);margin:20px 0 8px}
.cmodal p,.cmodal li{font-size:13.5px;color:var(--ink-2);line-height:1.85}
.cmodal ul{list-style:none}
.cmodal .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.cmodal .stat{background:var(--cream);border:1px solid var(--line);border-radius:10px;
  padding:12px;text-align:center}
.cmodal .stat b{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--data-ink);display:block}
.cmodal .stat i{font-style:normal;font-size:11px;color:var(--ink-3);font-weight:600}
@media (max-width:760px){
  .cmodal .stat-grid{grid-template-columns:1fr 1fr}
  .cm-head{padding:22px 54px 12px 20px}.cm-body{padding:16px 20px 24px}
  .case-detail-wrap{padding:22px 20px 54px}.case-breadcrumb{margin-bottom:42px}
  .case-detail-hero h1{font-size:32px}.case-detail-section{padding-left:20px;padding-right:20px}
  .case-detail-body{padding:28px 0 64px}
  .case-overview{padding-bottom:44px}
  .case-overview>p{font-size:14px}
  .case-hero-stats{grid-template-columns:1fr 1fr;margin-top:30px}
  .case-hero-stats .stat{padding:18px 14px;border-bottom:1px solid rgba(255,255,255,.14)}
  .case-hero-stats .stat:nth-child(2n){border-right:0}
  .case-hero-stats .stat:nth-last-child(-n+2){border-bottom:0}
  .case-hero-stats .stat b{font-size:11px}.case-hero-stats .stat i{font-size:25px;margin:0}
  .case-story-grid{grid-template-columns:1fr;padding:44px 0}.case-story-card{grid-template-columns:1fr;gap:24px;padding:34px 0}.case-story-card.case-solution{grid-template-columns:1fr;margin-top:12px;padding:32px 24px}.case-solution ul{grid-template-columns:1fr}.case-story-kicker{font-size:22px}.case-story-card li{padding-left:34px}
  .case-results{margin:8px -20px 44px;padding:46px 20px;border-radius:0}.case-results-head{grid-template-columns:1fr;gap:20px}.case-results-head h2 br{display:none}.case-result-grid{grid-template-columns:1fr;margin-top:34px}.case-result-item{min-height:0;padding:24px}.case-result-index{margin-bottom:18px}.case-related,.case-faq{padding:44px 0}
  .case-related .case-grid{grid-template-columns:1fr}.case-section-head{align-items:start}
  .cm-cta{align-items:stretch;padding:20px}.cm-cta .t{min-width:0;width:100%}
  .cm-cta .btn{justify-content:center;width:100%}
  .case-report-layout{display:block}
  .case-report-index{position:relative;display:block;margin:0 -20px 44px;padding:18px 20px;border-width:1px 0;border-radius:0;background:#faf8fc;box-shadow:none}
  .case-report-index::after{content:"";position:absolute;z-index:2;right:0;bottom:14px;width:34px;height:48px;background:linear-gradient(90deg,transparent,#faf8fc 72%);pointer-events:none}
  .case-index-progress{right:20px;left:20px}
  .case-report-index>strong{display:inline;margin-left:8px;padding:0;font-size:18px}
  .case-report-index nav{display:flex;gap:0;margin:14px -20px -4px;padding:0 20px;overflow-x:auto;scrollbar-width:none}
  .case-report-index nav::-webkit-scrollbar{display:none}
  .case-report-content .case-story-card{scroll-margin-top:100px}
  .case-report-index a{flex:0 0 auto;gap:6px;padding:9px 12px;border-left:0;border-bottom:2px solid transparent}
  .case-report-index a:hover,.case-report-index a.on{border-bottom-color:var(--purple);background:transparent}
  .case-report-content .case-overview{margin-bottom:42px;padding:6px 0 38px 34px}
  .case-report-content .case-overview::before{width:18px}
  .case-report-content .case-story-grid{grid-template-columns:1fr;gap:0;padding:0}
  .case-report-content .case-story-card,.case-report-content .case-story-card:first-child,.case-report-content .case-story-card:last-child{grid-template-columns:1fr;gap:22px;padding:34px 0}
  .case-report-content .case-story-card:first-child{padding-top:8px}
  .case-report-content .case-story-kicker{position:static;font-size:25px}
  .case-report-content .case-story-card ul{grid-template-columns:1fr}
  .case-report-content .case-story-card li:nth-child(2){padding-top:17px;border-top:1px solid #ece7f0}
  .case-report-content .case-story-card li:nth-child(2)::before{top:21px}
  .case-report-content .case-story-card.case-solution{grid-column:auto;margin:8px 0 44px;padding:42px 0 38px}
  .case-report-content .case-solution::after{display:none}
  .case-report-content .case-solution ul{grid-template-columns:1fr;padding-left:24px}
  .case-report-content .case-solution li{padding-left:24px}
  .case-report-content .case-results{margin:14px 0 44px;padding:38px 0 0;border-width:3px 0 0}
  .case-report-content .case-results-head{grid-template-columns:1fr;gap:18px;padding-bottom:34px}
  .case-report-content .case-results-head>p{padding:0}
  .case-report-content .case-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 22px}
  .case-report-content .case-result-item{min-height:0;padding:0;border:0}
  .case-report-content .case-result-item:nth-child(odd),.case-report-content .case-result-item:nth-last-child(-n+2),.case-report-content .case-result-item:last-child{border:0}
  .case-report-content .case-result-item::after{margin-top:18px}
  .case-report-content .case-result-index{margin-bottom:18px}
  .case-report-content .case-result-value,.case-report-content .case-result-copy{font-size:56px}
  .case-report-content .case-result-label{font-size:16px}
}
.form{max-width:640px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 28px 38px}
.form>label:first-child{margin-top:0}
.form label{display:block;font-size:12.5px;font-weight:800;color:var(--ink);margin:14px 0 6px}
.form label .req{color:#c34704}
.form input[type=text],.form input[type=tel],.form input[type=email],.form textarea,.form select{
  width:100%;font-family:var(--sans);font-size:12.5px;line-height:1.4;padding:11px 14px;
  border:1px solid var(--hair);border-radius:10px;background:var(--card);color:var(--ink);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.form input:hover,.form textarea:hover,.form select:hover{border-color:var(--ink-3)}
.form select{height:44px;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;
  padding-right:40px;background-repeat:no-repeat;background-position:right 14px center;background-size:11px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237a6f92' d='M6 7.2 0.4 1.6 1.8 0.2 6 4.4 10.2 0.2 11.6 1.6z'/%3E%3C/svg%3E")}
.form select:hover{background-color:var(--cream)}
/* 未选择时（占位项）显示为弱色，选中真实值后恢复正文色 */
.form select:has(option[value=""]:checked){color:var(--ink-3)}
.form select option{color:var(--ink);background:var(--card)}
.form select option[value=""]{color:var(--ink-3)}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--purple-hi);
  box-shadow:0 0 0 3px rgba(124,77,255,.16)}
.form select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%237c4dff' d='M6 7.2 0.4 1.6 1.8 0.2 6 4.4 10.2 0.2 11.6 1.6z'/%3E%3C/svg%3E")}
.form .cbs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:0}
.form .cbs label{display:inline-flex;align-items:center;gap:6px;font-weight:700;
  color:var(--ink-2);background:var(--cream);border:1px solid var(--line);border-radius:999px;
  padding:7px 14px;margin:0;cursor:pointer;font-size:12.5px}
.form.is-success{position:relative;display:flex;align-items:center;min-height:430px;padding:0;overflow:hidden;
  border-color:rgba(124,77,255,.2);background:linear-gradient(145deg,#fff 0%,#fbf9ff 58%,#f2edff 100%);
  box-shadow:0 24px 70px rgba(46,32,86,.1)}
.form.is-success::before{content:"";position:absolute;width:310px;height:310px;right:-145px;top:-170px;
  border:1px solid rgba(124,77,255,.16);border-radius:50%;box-shadow:0 0 0 46px rgba(124,77,255,.035),0 0 0 92px rgba(124,77,255,.025)}
.form.is-success::after{content:"RUIHUA / 2026";position:absolute;right:25px;bottom:19px;font:700 9px/1 var(--mono);
  letter-spacing:.18em;color:rgba(46,32,86,.28)}
.form .ok-msg{position:relative;width:100%;padding:56px 58px 52px;text-align:left;color:var(--ink);animation:successIn .55s var(--ease) both}
.ok-msg__mark{display:grid;place-items:center;width:58px;height:58px;margin-bottom:27px;border-radius:50%;color:#fff;
  background:var(--purple);box-shadow:0 12px 28px rgba(94,53,177,.25),0 0 0 8px rgba(124,77,255,.08)}
.ok-msg__mark svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ok-msg__eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:12px;font:700 10px/1 var(--mono);letter-spacing:.18em;color:var(--purple)}
.ok-msg__eyebrow i{display:block;width:42px;height:1px;background:var(--purple);opacity:.45}
.form .ok-msg h2{margin:0;font-family:var(--serif);font-size:clamp(27px,3vw,38px);font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.form .ok-msg p{max-width:500px;margin:15px 0 30px;font-size:14px;font-weight:400;line-height:1.85;color:var(--ink-2)}
.form .ok-msg p strong{color:var(--purple);font-weight:800}
.ok-msg__steps{display:flex;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.ok-msg__steps span{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--ink-2);white-space:nowrap}
.ok-msg__steps span+span::before{content:"";width:26px;height:1px;margin:0 14px;background:var(--line)}
.ok-msg__steps b{font:700 9px/1 var(--mono);letter-spacing:.08em;color:var(--purple)}
.ok-msg__note{margin-top:19px;font-size:11.5px;color:var(--ink-3)}
@keyframes successIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:640px){.form.is-success{min-height:400px}.form .ok-msg{padding:42px 28px}.ok-msg__steps{align-items:flex-start;gap:11px;flex-direction:column}.ok-msg__steps span+span::before{display:none}}
@media(prefers-reduced-motion:reduce){.form .ok-msg{animation:none}}
.contact-side{font-size:13.5px;color:var(--ink-2);line-height:2.1;margin-top:26px}
.contact-side b{color:var(--ink)}
.contact-side button{background:transparent;border:none;box-shadow:none;color:var(--purple);font-weight:600;padding:0;border-bottom:2px solid var(--purple);border-radius:0;transition:opacity .16s var(--ease)}
.contact-side button:hover{opacity:.7;background:transparent;border-color:var(--purple)}
@media (max-width:960px){.svc,.mini3{grid-template-columns:1fr}
  .mini4,.proof4{grid-template-columns:1fr 1fr}}

.ind-tabs a{font:700 12.5px var(--sans);color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 16px;text-decoration:none;display:inline-block}
.ind-tabs a.act{background:var(--purple-hi);border-color:var(--purple-hi);color:#fff}
.nav-links a.act,.mnav a.act{color:var(--p-300)}

/* 首页行动按钮：与 09-10 参考稿统一 */
.btn-cream,.nav-right .btn-ink{background:#e3dbe9;color:var(--ink)}
.btn-cream:hover,.nav-right .btn-ink:hover{background:#ece5f0;box-shadow:0 14px 34px rgba(189,165,255,.28),0 0 0 6px rgba(189,165,255,.12)}
body.home-on .nav .btn-ink,body:not(.home-on) .nav .btn-ink{background:#e3dbe9 !important;color:var(--ink) !important}
body.home-on .nav .btn-ink:hover,body:not(.home-on) .nav .btn-ink:hover{background:#ece5f0 !important}
.tl-inner .ctas{display:flex;gap:14px;flex-wrap:wrap}
.tl-inner .ctas .btn{min-width:212px;padding-left:24px;padding-right:24px;justify-content:center}
.nav-right .btn{min-width:128px;justify-content:center}
@media (max-width:560px){.tl-inner .ctas .btn{min-width:0;flex:1 1 auto}}
@media (prefers-reduced-motion:reduce){.tl-inner .ctas .btn{transition:none}}

/* 小瑞悬浮入口：视频头像 + 在线标签 */
.fab.fab-av{padding:6px 18px 6px 6px;gap:14px;background:rgba(33,30,40,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 36px rgba(33,30,40,.35)}
.fab.fab-av:hover{background:rgba(94,53,177,.82);transform:translateY(-2px)}
.fab .fab-face{position:relative;width:56px;height:56px;border-radius:50%;overflow:hidden;flex:0 0 auto;background:#ece6ff;box-shadow:0 0 0 2px rgba(255,255,255,.75)}
.fab .fab-video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06)}
/* z-index:-1：光环是定位元素，默认绘制在非定位的 .fab-tag 文字之上，
   扩张到 1.55 倍时会横切「问问小瑞」；压到背景层后光环只作为头像外圈，文字始终在最上层 */
.fab .fab-ring{position:absolute;left:6px;top:6px;width:56px;height:56px;border-radius:50%;border:2px solid rgba(189,165,255,.9);animation:fabRing 2.6s ease-out infinite;pointer-events:none;z-index:-1}
@keyframes fabRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.55);opacity:0}}
.fab .fab-tag{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;text-align:left}
.fab .fab-tag b{font-size:14px;font-weight:800;color:#fff}
.fab .fab-tag small{display:flex;align-items:center;gap:5px;margin-top:3px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.62)}
.fab .fab-tag small::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 3px rgba(214,232,147,.25)}
@media (max-width:560px){.fab.fab-av{padding:5px;gap:0}.fab .fab-tag{display:none}}
/* ㊾ 小瑞悬浮入口默认位置：
   - 手机（≤760）高位仅首页 body.home-on（贴 hero 标题旁，不压底部两枚主按钮）；内页保持通用 bottom:64px（不盖住页脚备案号）
   - 52 横屏矮屏（高 ≤500px）手机端 48vh 只剩 180px 会被 max(300px) 顶到导航上，所有页面统一回到 64px */
@media (max-width:760px){body.home-on .fab.fab-av{bottom:max(300px,48vh)}}
@media (max-height:500px){.fab.fab-av{bottom:64px}}
@media (prefers-reduced-motion:reduce){.fab .fab-ring{animation:none;opacity:0}}
/* 首页 logo 恢复彩色，其他页面保持反白 */
body.home-on .logo img{filter:none}

/* ㊻ 小瑞悬浮入口：可拖拽摆放 */
.fab.fab-av{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;z-index:65}
.fab.fab-av.dragging{cursor:grabbing;transition:none;box-shadow:0 22px 52px rgba(33,30,40,.5)}
.fab.fab-av.dragging .fab-ring{animation:none;opacity:0}
.fab.fab-av.moved{right:auto;bottom:auto}

/* ============ 0911 多端适配补漏（按 new/0911.md 验收清单：㊷ / ㊸ / ㊼ / 51） ============ */

/* ㊷ ≤900：课程账本 ㉛ 的 232px 左列在窄屏把正文挤出行外并被 overflow:hidden 裁掉，这里恢复堆叠 */
@media (max-width:900px){
  .ed-ledger.zoned .row{grid-template-columns:1fr;gap:10px;padding:0 20px 18px}
  .ed-ledger.zoned .row dd{padding-left:14px}
  /* 顶部色带原为绝对定位 + 写死 height:64px，装不下 dt 的两行（层级名 + “缺方向”），
     实测 dt 占 18.7→75px、溢出带外 11px；改为与 dt 同格由其实高撑开，
     负 margin 保持左右通栏，dt 内边距承接原 row 的 padding-top，视觉不变 */
  .ed-ledger.zoned .row::before{position:static;grid-area:1/1;width:auto;height:auto;margin:0 -20px}
  .ed-ledger.zoned .row dt{grid-area:1/1;margin:0;padding:18px 14px 0}
  /* 编号 + 正文 + 括号补充原本是三个互相挤压的 flex 项（末尾丢字），改绝对定位编号 + 自然行内流 */
  .ed-ledger dd ol li{display:block;position:relative;padding-left:32px}
  .ed-ledger dd ol li i{position:absolute;left:0;top:0;min-width:0}
}
/* ㊷ ≤760：负 margin / 负 inset 造成的横向溢出、最小字号、触控目标、悬浮入口光环同心 */
@media (max-width:760px){
  .ed-ledger .row.hi{margin-left:0;margin-right:0;padding-left:14px;padding-right:14px;border-radius:12px}
  .rhg-legend>div{margin:0;padding:6px 0}
  .osea-scope::after{display:none}
  .osea-scope{padding:26px 20px 24px}
  /* 最小字号：眼眉 / 编号 / 角标一律 ≥11px */
  .tl-chips b,.chev,.st-tag,.mno,.rk,.raaid .st .en,.case-card .nums i,.dw-title .dw-sub,.ps-star,.cs-kpis .s i{font-size:11px !important}
  .case-card .nums b{font-size:16px}
  /* 正文内联链接：撑到可点击高度（iOS 建议 44pt / Material 48dp） */
  .ed-link,.cta-sub a,.ed-opt p a,.ed-note a,.a-promo a,.cs-side .all{display:inline-flex;align-items:center;min-height:36px}
  .tl-sec p>a[href="#/cases"]{display:inline-flex;align-items:center;min-height:36px}
  #contact-more a,.page[data-page="contact"] a[onclick]{display:inline-flex;align-items:center;min-height:36px}
  /* 悬浮小瑞：移动端只留头像，环与头像同心（padding 6px→5px） */
  .fab.fab-av{padding:5px;gap:0}
  .fab.fab-av .fab-ring{left:5px;top:5px}
  /* 小瑞输入框不再单独收字号：1511 行「input{font-size:16px !important}」是移动端防 iOS/微信 WebView
     聚焦自动放大的硬规则，之前这里用 13px !important 把它覆盖掉了，点输入框时被放大约 16/13≈1.23 倍
     并连带平移页面，抽屉整个跳一下（即反馈的「闪屏」）。占位提示仍是 12px（699 行），不触发缩放 */
  /* 联系表单：占位提示词移动端收小一档；只改 ::placeholder，输入框本体保持 16px 防 iOS 聚焦自动放大 */
  .form input::placeholder,.form textarea::placeholder{font-size:13px}
}
/* 小平板（561–760，如 600 / 768 竖屏）：上面 ≤760 的 .fab-av{gap:0} 让头像与「问问小瑞」贴死，
   这里补回间距与右侧留白（≤560 已隐藏文字，不受影响） */
@media (min-width:561px) and (max-width:760px){
  .fab.fab-av{padding:5px 14px 5px 5px;gap:11px}
}
/* ㊸ ≤1024：内容板阴影 / 装饰的亚像素外扩造成 1px 横向滚动；clip 不建立滚动容器，不影响 sticky */
@media (max-width:1024px){
  .svc-block,.ab-sec{overflow-x:clip}
}
/* ㊸ ≤1180：原 ≤900 才换行，1024 档仍是 nowrap+hidden，会把 FDE 那句话截掉 38px */
@media (max-width:1180px){
  .ed-oneline{white-space:normal;overflow:visible;text-overflow:clip}
}
/* ㊸ 地图图例四栏 1fr 的最小值是 min-content，国家名长时会把容器撑破视口 */
.rhg-legend>div{min-width:0}
.rhg-legend p{overflow-wrap:anywhere}
/* ㊸ ≤960：1fr 的最小值是 min-content，窄屏会被案例详情里的 KPI 栅格顶开 */
@media (max-width:960px){
  .a-main{grid-template-columns:minmax(0,1fr)}
}
/* ㊸ ≤400：320 档收窄案例详情内边距、KPI 转单列 */
@media (max-width:400px){
  .cs-body{padding:8px 14px 24px}
  .cs-sec .stat-grid{grid-template-columns:1fr}
}
/* ㊼ 移动端内页标题：`.section h2`(36px) / `.svc-block h3`(31px) 一直压着 .ed-h1/.ed-h2/.ed-h3 的 clamp，
   手机上标题过大。这里按层级重新定档，并改为贪心换行（顶格后再折行） */
@media (max-width:760px){
  .section h2.ed-h1{font-size:27px;line-height:1.32;margin-bottom:20px}
  .section h2.ed-h2{font-size:24px;line-height:1.36}
  .svc-block h3,.section h3.ed-h3{font-size:19px;line-height:1.45;margin-top:36px}
  /* 三道坎序号卡：.gap-q 里序号与标题是紧邻的 flex 行，不能被上面的 margin-top:36px 撑开 */
  .svc-block .gap-q h3{margin-top:0}
  .section h2,.svc-block h3,.ab-head h2,.ab-close h2,.tl-sec h2,.tl-cta h2,.p-hero h1,.sub-hero h1{text-wrap:pretty}
}
/* 51 关于我们 hero 六枚产品胶囊：移动端 flex-wrap 按字数参差换行很乱，改两列等宽栅格 3×2 */
@media (max-width:760px){
  .ab-hero .pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ab-hero .pills a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;
    padding:8px 10px;font-size:clamp(11.5px,3.4vw,13.5px);line-height:1.3;box-shadow:0 6px 16px rgba(124,77,255,.24)}
}
/* 320 档防止「务」「询」单字掉行 */

/* 58 0920 首页 hero（隧道）：取消钉住 + 性能 + 竖屏几何。配套 JS 见 hero 隧道模块（geomFor / tick / 自动降级）。
   ① 取消钉住：容器原为 230vh + sticky，用户要先空滚 130vh（滚轮约三格）页面才动。现在 hero 就是一屏，滚动即走，
      镜头推进改为跟随「hero 滚出视口」的进度（JS readProgress）。
   ② 性能：逐帧值不再写成根节点 CSS 变量（会继承给全部字牌、每帧整棵子树重算样式），改为直接写 room / stage 的 transform
      与三层遮罩的 opacity（纯合成）；字牌不再逐张改透明度，改由 .j3d-dim 一层盖色完成淡出；雾层去掉 transition；
      缩放层的 border-radius / box-shadow 计算式去掉。
   ③ 竖屏（hero 宽高比 < 1.15，JS 加 .is-portrait）：隧道几何按宽高比重建，消失点上移到 33%（--j3d-cy）；
      中心雾缩到消失点附近、暗角减轻、压暗纱由左侧改为底部（保证标题可读）；字牌 .88 透明度 + 景深模糊层找回朦胧感。 */
.j3d-scroll{height:auto}
.j3d-scroll > .j3d{position:relative;top:auto}
.j3d-view{transform:none;border-radius:0;box-shadow:none}
.j3d-fog{transition:none}
.j3d-dim{position:absolute;inset:0;z-index:2;pointer-events:none;background:var(--tl-bg);opacity:0;will-change:opacity}
.j3d-stage{perspective-origin:50% var(--j3d-cy,50%)}
.j3d-room{top:var(--j3d-cy,50%)}
.j3d.is-portrait{--j3d-line:rgba(219,205,255,.15);--j3d-tile-o:.88}
.j3d.is-portrait .j3d-fog.f1{background:radial-gradient(56% 22% at 50% var(--j3d-cy,36%),
  rgba(0,0,0,.8) 0%,rgba(0,0,0,.52) 40%,rgba(0,0,0,.2) 72%,transparent 100%)}
.j3d.is-portrait .j3d-fog.f2{background:radial-gradient(150% 120% at 50% 40%,
  transparent 56%,rgba(0,0,0,.34) 86%,rgba(0,0,0,.62) 100%)}
.j3d.is-portrait .j3d-scrim{background:linear-gradient(0deg,
  rgba(8,7,12,.94) 0%,rgba(8,7,12,.86) 30%,rgba(8,7,12,.62) 46%,rgba(8,7,12,.26) 58%,rgba(8,7,12,.06) 68%,transparent 76%)}
.j3d.is-portrait .j3d-slot img{box-shadow:0 0 0 1px rgba(219,205,255,.2),0 0 8px rgba(124,77,255,.22)}
.j3d.is-portrait .j3d-slot .dofb{display:block}
.j3d.is-portrait .j3d-txt h1{text-shadow:0 2px 18px rgba(8,7,12,.85),0 0 2px rgba(8,7,12,.6)}
/* 60 0920 小瑞头像光晕错位（移动端）：.fab-ring 是 button 里单独合成的动画层，微信底栏出现 / 视口高度变化时
   fab 的 48vh 位置变了，WebKit 没同步这层的位置，光环留在旧位置（偏下约 40px）。
   ≤760px 改为头像自身的 box-shadow 脉冲（不单独成层，跟着头像走）；桌面光环不变。 */
@media (max-width:760px){
  .fab.fab-av .fab-ring{display:none}
  .fab.fab-av .fab-face{animation:fabPulse 2.6s ease-out infinite}
  .fab.fab-av.dragging .fab-face{animation:none}
}
@keyframes fabPulse{
  0%{box-shadow:0 0 0 2px rgba(255,255,255,.75),0 0 0 2px rgba(189,165,255,.75)}
  100%{box-shadow:0 0 0 2px rgba(255,255,255,.75),0 0 0 18px rgba(189,165,255,0)}}
@media (prefers-reduced-motion:reduce){.fab.fab-av .fab-face{animation:none}}
@media (max-width:360px){.ab-hero .pills a{font-size:11px;padding:8px 4px;letter-spacing:-.01em}}
/* 61 0929 移动端目录页 ×2（公众号菜单用）：/hr-consulting（咨询服务，4 张卡）、/training-fde（培训 & FDE，2 张卡）。
   单列产品卡，复用首页 .pv-card 的插画与配色，卡高压到 200px（两张卡的页放到 250px 撑满首屏）。
   桌面浏览器不会进入这两页（<head> 首脚本 matchMedia 直接转走）；这里仍给 560px 居中窄栏兜底，防止平板 / 触屏大屏看到拉伸的卡片 */
.page[data-page="hr-dir"] .hrd-list,.page[data-page="tf-dir"] .hrd-list{display:flex;flex-direction:column;gap:14px;max-width:560px;margin:0 auto;padding:6px 18px 0}
.page[data-page="hr-dir"] .hrd-hero .wrap,.page[data-page="tf-dir"] .hrd-hero .wrap{max-width:560px;padding:0 18px}
.page[data-page="hr-dir"] .hrd-hero p,.page[data-page="tf-dir"] .hrd-hero p{margin-top:6px}
.hrd-card{min-height:200px;text-decoration:none;display:flex}
.hrd-list.two .hrd-card{min-height:250px}
.hrd-card .txt{padding:20px 20px 18px}
.hrd-card h3{font-size:21px}
.hrd-card p{font-size:13px}
.hrd-card .go3{margin-top:10px}
.hrd-card .pv-deco .pd1{width:92px;right:6%;top:10%}
.hrd-card .pv-deco .pd2{display:none}
.page[data-page="hr-dir"] .hrd-cta,.page[data-page="tf-dir"] .hrd-cta{display:flex;flex-direction:column;gap:12px;max-width:560px;margin:0 auto;padding:26px 18px 56px}
.page[data-page="hr-dir"] .hrd-cta .btn,.page[data-page="tf-dir"] .hrd-cta .btn{justify-content:center;width:100%;min-height:48px}
