/*
 * SkyMagician Redesign V2
 * Editorial Aerospace / Human-scale Technology / Operational Proof
 *
 * This layer intentionally sits after site.css. It keeps the existing content
 * renderer and interaction contracts while replacing the cockpit-first visual
 * language with an image-led, predominantly light brand system.
 *
 * 中文调参索引（可搜索「调参」）：
 * - :root：内容版心、两侧留白、章节间距与通用圆角。
 * - .rail / .rail__in：导航独立满宽、左右安全边距与宽屏缩放，不跟随正文版心。
 * - .company-hero / .formation：首页两行标题、矩阵变球画布和阶段控制条。
 * - .hero__in / .hero__title / .hero__lead：表演运营首屏文字位置、字号与换行宽度。
 * - hero-frame-scroll：表演运营首屏滚动收框的距离、裁切范围与最终圆角。
 * - .home-paths__grid：三业务媒体入口与同页正文的左右对齐。
 * - .application-gallery：居中标题、三图展廊、图文比例与移动端重排。
 * - .company-about / .credential-archive：公司介绍与资质目录，避免重复卡片墙。
 * 本文件在 site.css 之后加载；底部媒体查询会覆盖部分桌面参数。
 */

:root{
  --void:#f3f5f7;
  --bg:#f3f5f7;
  --bg2:#e9edf1;
  --surf:#ffffff;
  --surf2:#f7f9fa;
  --surf3:#edf1f4;
  --line:#d9e0e5;
  --line2:#c6d0d8;
  --tx:#101820;
  --tx2:#465562;
  --tx3:#697884;
  --brand:#007db7;
  --accent:#007db7;
  --accent2:#007db7;
  --fill:#007db7;
  --fill-hi:#007db7;
  --on-fill:#ffffff;
  --blue-dim:#e5f3f9;
  --green-dim:#e9f5ef;
  --amber-dim:#f8f0dd;
  --red-dim:#f8e9e7;
  --violet-dim:#efecf8;
  --glass:transparent;
  --glass-hi:transparent;
  --shade:rgba(16,24,32,.18);
  --f-disp:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Noto Sans SC","Microsoft YaHei UI",sans-serif;
  --f-body:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Noto Sans SC","Microsoft YaHei UI",sans-serif;
  --f-mono:"SFMono-Regular","SF Mono",ui-monospace,Menlo,Consolas,monospace;
  /* 【调参·内容边界】版心最大宽度含两侧内边距；调大后，数据行与三业务一起变宽。 */
  --wrap:1280px;
  /* 每侧留白：最小 22px、随视口宽度取 4.2%、最大 64px；≤640px 时在文件底部固定为 22px。 */
  --gut:clamp(22px,4.2vw,64px);
  /* 常规章节上下间距；具体章节仍可能用自己的 padding 覆盖。 */
  --sec:clamp(76px,8.8vw,128px);
  /* 【调参·圆角】仅影响使用这些变量的组件；首屏收框和三业务的 clip-path 圆角在各自规则中单独设置。 */
  --r-s:2px;
  --r-m:3px;
  --r-l:4px;
  --motion-out:cubic-bezier(.33,1,.68,1);
  --motion-standard:cubic-bezier(.65,0,.35,1);
}

body,
[data-theme="light"] body{
  color:var(--tx);
  background:var(--bg);
  font-size:16px;
  line-height:1.68;
}

body::before,
body::after,
[data-theme="light"] body::before,
[data-theme="light"] body::after{content:none;display:none}
/* 全站底部不再透出旧网格/噪点：裸露区域使用 --bg (#F3F5F7)。
 * 模拟器内部用于定位的坐标网格属于功能图形，不受此规则影响。 */

/* 【调参·自然换行】先调对应标题的 max-width 和 font-size；行高只影响行间距离。
 * balance 会均衡多行标题的行长，可能提前换行；首屏标题在 .hero__title 中改用 pretty。
 * JS/JSON 里的普通换行符默认会被折叠；确需保留时，仅给目标元素设 white-space:pre-line。
 * 普通完整短句仍保持自然换行，不为固定排版插入 <br>。
 */
h1,h2,h3,h4{
  color:var(--tx);
  font-family:var(--f-disp);
  letter-spacing:-.035em;
  text-wrap:balance;
}

h1{font-size:clamp(44px,6.2vw,84px);line-height:1.02}
h2{font-size:clamp(32px,4.2vw,56px);line-height:1.08}
h3{font-size:clamp(22px,2.2vw,30px);line-height:1.16}

.lead{font-size:clamp(17px,1.45vw,21px);line-height:1.72;color:var(--tx2)}
.wrap{max-width:var(--wrap)}
.section{padding-block:var(--sec)}
.section--tight{padding-block:clamp(44px,5vw,72px)}
.head{max-width:780px;margin-bottom:clamp(34px,5vw,62px)}
.head>h2{margin-top:16px}
.head>h2:first-child{margin-top:0}
.head>.lead{margin-top:18px}
.head--center{text-align:left;margin-inline:0;max-width:780px}
.head--center .eyebrow{justify-content:flex-start}

.eyebrow{
  color:var(--tx3);
  font-family:var(--f-mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:.14em;
}

.eyebrow::before,
[data-theme="light"] .eyebrow::before{
  width:20px;
  height:1px;
  border-radius:0;
  background:currentColor;
  box-shadow:none;
}

/* Header */
.rail,
[data-theme="light"] .rail{
  /* 【调参·导航比例】1440px 保持 72px 高，1920px 增至 80px；触控目标始终不小于 44px。
   * 只缩放导航自己的字号、图标与间距，不用 zoom/transform 缩放整页。 */
  --rail-height:clamp(72px,calc(48px + 1.667vw),80px);
  --rail-gut:clamp(22px,3vw,64px);
  --rail-control:clamp(44px,calc(32px + .8333vw),48px);
  --rail-icon:clamp(20px,calc(14px + .4167vw),22px);
  /* 【调参·导航疏密】链接命中区之间留12–32px；1440px约23px、1920px约31px。
   * 浏览器缩放改变CSS视口后自动重算；≤1180px进入下拉菜单，不压缩文字。 */
  --rail-nav-gap:clamp(12px,1.6vw,32px);
  min-height:var(--rail-height);
  background:rgba(250,251,252,.94);
  border-bottom:1px solid rgba(16,24,32,.1);
  box-shadow:none;
  backdrop-filter:blur(18px) saturate(120%);
  transition:background-color .42s var(--motion-standard),border-color .42s var(--motion-standard),box-shadow .42s var(--motion-standard);
}
.rail--overlay{
  position:fixed;
  left:0;
  right:0;
  top:0;
}
.rail--overlay:not(.rail--compact){
  color:#fff;
  background:transparent;
  border-bottom-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.rail--overlay:not(.rail--compact) .brand__mark{
  color:#fff;
  border:1px solid rgba(255,255,255,.36);
  background:rgba(5,10,14,.18);
}
.rail--overlay:not(.rail--compact) .brand__txt,
.rail--overlay:not(.rail--compact) .rail__nav a,
.rail--overlay:not(.rail--compact) .rail__cart,
.rail--overlay:not(.rail--compact) .rail__auth,
.rail--overlay:not(.rail--compact) .rail__locale-toggle,
.rail--overlay:not(.rail--compact) .rail__burger{color:#fff}
.rail--overlay:not(.rail--compact) .brand__txt span{color:rgba(255,255,255,.62)}
.rail--overlay:not(.rail--compact) .rail__nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.rail--overlay:not(.rail--compact) .rail__nav a[aria-current="page"]{color:#fff;box-shadow:inset 0 -2px 0 #fff}
.rail--overlay:not(.rail--compact) .rail__cart:hover{color:#fff;background:rgba(255,255,255,.08)}
.rail--overlay:not(.rail--compact) .rail__locale-toggle:hover,
.rail--overlay:not(.rail--compact) .rail__locale-toggle[aria-expanded="true"]{color:#fff;background:rgba(255,255,255,.08)}
.rail--overlay:not(.rail--compact) .rail__locale-toggle:focus-visible{outline-color:#fff}
.rail--overlay:not(.rail--compact) .rail__cart__n{color:rgba(255,255,255,.74);background:rgba(255,255,255,.14)}
.rail--overlay:not(.rail--compact) .rail__auth,
.rail--overlay:not(.rail--compact) .rail__burger{border-color:rgba(255,255,255,.38);background:rgba(5,10,14,.12)}
.rail--compact,
[data-theme="light"] .rail--compact{
  background:rgba(255,255,255,.97);
  border-bottom-color:rgba(16,24,32,.13);
  box-shadow:0 12px 34px rgba(16,24,32,.08);
}

/* 【调参·导航边界】导航不再使用正文 --wrap 上限。
 * 三列让品牌贴左、业务导航居中、工具贴右；两边保留 --rail-gut，不紧贴屏幕物理边缘。
 * 安全区适配横屏刘海；窄屏在 ≤1180px 时改成左右两组，菜单移入品牌组。 */
.rail__in{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:max(var(--rail-gut),env(safe-area-inset-left));
  padding-right:max(var(--rail-gut),env(safe-area-inset-right));
  height:var(--rail-height);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:clamp(18px,1.4vw,28px);
}
.rail__identity{display:flex;align-items:center;gap:12px;min-width:0;justify-self:start}
.rail__tools{display:flex;align-items:center;gap:clamp(12px,1.15vw,22px);justify-self:end}
.brand{gap:10px}
.brand__mark,
[data-theme="light"] .brand__mark{
  width:32px;
  height:32px;
  border:0;
  border-radius:3px;
  color:var(--brand);
  background:transparent;
  box-shadow:none;
}
.brand__mark img{width:100%;height:100%;display:block;object-fit:contain}
.rail--overlay:not(.rail--compact) .brand__mark{border:0;background:transparent}
.brand__mark svg{width:20px;height:20px}
.brand__mark{transition:transform .42s var(--motion-out)}
.rail .brand__mark{width:clamp(32px,calc(8px + 1.667vw),40px);height:clamp(32px,calc(8px + 1.667vw),40px)}
.rail .brand__mark svg{width:var(--rail-icon);height:var(--rail-icon)}
.rail .brand__txt{font-size:clamp(15px,calc(6px + .625vw),18px)}
.rail .brand__txt span{font-size:clamp(9px,calc(6px + .2083vw),10px)}
.brand__txt{font-size:15px;letter-spacing:-.01em}
.brand__txt span{margin-top:2px;color:var(--tx3);font-size:9px;letter-spacing:.11em}
.rail__nav{gap:var(--rail-nav-gap);margin:0;justify-self:center}
.rail__nav a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:0 clamp(11px,.8vw,16px);
  border:0;
  border-radius:0;
  color:var(--tx2);
  font-size:clamp(13.5px,calc(7.5px + .4167vw),16px);
  white-space:nowrap;
  transition:color .18s ease;
}
.rail__nav a:hover,
[data-theme="light"] .rail__nav a:hover{color:var(--tx);background:transparent}
.rail__nav a[aria-current="page"],
[data-theme="light"] .rail__nav a[aria-current="page"]{
  color:var(--tx);
  background:transparent;
  border:0;
  box-shadow:inset 0 -2px 0 var(--tx);
}
.rail__cta,
[data-theme="light"] .rail__cta{
  min-height:44px!important;
  margin-left:10px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:2px!important;
  color:#fff!important;
  background:var(--brand)!important;
  box-shadow:none!important;
}
.rail__auth{
  width:var(--rail-control);
  min-height:var(--rail-control);
  flex:none;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--line2);
  border-radius:999px;
  color:var(--tx);
  background:transparent;
  box-shadow:none;
}
.rail__auth:hover{border-color:var(--tx);filter:none}
.rail__auth__ic,.rail__auth__ic svg{display:block;width:var(--rail-icon);height:var(--rail-icon)}
.rail__auth[data-authenticated="1"]{color:#fff;border-color:#101820;background:#101820}
.rail__cart{
  min-height:var(--rail-control);
  margin-left:0;
  padding:0 11px;
  border:0;
  border-radius:2px;
  color:var(--tx2);
  background:transparent;
  box-shadow:none;
}
.rail__cart:hover{color:var(--tx);background:var(--surf3)}
.rail__cart__ic,.rail__cart__ic svg{width:var(--rail-icon);height:var(--rail-icon)}
.rail__cart__n{color:var(--tx3);background:var(--surf3);border:0}
.rail__cart[data-n="1"] .rail__cart__n{color:#fff;background:var(--brand);border:0;box-shadow:none}
.rail__burger{
  min-width:44px;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:2px;
  color:var(--tx);
  background:transparent;
  box-shadow:none;
}

.rail__locale{position:relative;flex:none}
.rail__locale-toggle{
  min-width:var(--rail-control);
  min-height:var(--rail-control);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 9px;
  border:0;
  border-radius:2px;
  color:var(--tx2);
  background:transparent;
  font:600 clamp(12px,.8vw,15px)/1 var(--f-body);
  white-space:nowrap;
  cursor:pointer;
  transition:color .2s ease,background-color .2s ease;
}
.rail__locale-toggle:hover{color:var(--tx);background:var(--surf3)}
.rail__locale-current{font-weight:700}
/* 入口只显示当前语言短码，菜单也统一为 ZH、EN、JA、KO、RU、FR；不拼接双语标签。 */
.rail__locale-menu{
  min-width:138px;
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  padding:6px;
  border:1px solid var(--line);
  border-radius:3px;
  background:rgba(255,255,255,.98);
  box-shadow:0 18px 48px rgba(16,24,32,.14);
}
.rail__locale-menu[hidden]{display:none}
.rail__locale-menu button{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0 10px;
  border:0;
  border-radius:4px;
  color:var(--tx2);
  background:transparent;
  font:600 12.5px/1 var(--f-body);
  cursor:pointer;
}
.rail__locale-menu button:hover{color:var(--tx);background:var(--surf3)}
.rail__locale-menu button[aria-current="true"]{color:var(--tx);background:var(--surf3)}
.rail__locale-menu button:disabled{color:#9aa5ae;cursor:not-allowed;background:transparent}
.rail__locale-menu button span{font-size:10px;font-weight:500}
.rail__locale-menu .rail__locale-code{min-width:22px;font-size:12px;font-weight:600}

/* Buttons and controls */
.btn,
[data-theme="light"] .btn{
  min-height:48px;
  padding:0 20px;
  border:1px solid var(--line2);
  border-radius:2px;
  color:var(--tx);
  background:transparent;
  box-shadow:none;
  transition:color .18s ease,background .18s ease,border-color .18s ease,transform .12s ease;
}
.btn:hover,
[data-theme="light"] .btn:hover{color:var(--tx);background:var(--surf);border-color:#9aa8b3;filter:none}
.btn:active{transform:translateY(1px)}
.btn__arrow{display:inline-block;transition:transform .3s var(--motion-out)}
.btn:hover .btn__arrow,.panel__more:hover .btn__arrow{transform:translateX(4px)}
.btn--key,
[data-theme="light"] .btn--key{
  color:#fff;
  background:var(--brand);
  border-color:var(--brand);
  box-shadow:none;
}
.btn--key:hover,
[data-theme="light"] .btn--key:hover{color:#fff;background:#006895;border-color:#006895}
.btn--ghost,
[data-theme="light"] .btn--ghost{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:5px}
.btn--sm{min-height:44px;padding-inline:16px}
.btn[disabled],.btn:disabled{color:#8996a0;background:var(--surf3);border-color:var(--line);box-shadow:none}
.chip,
[data-theme="light"] .chip{
  border-color:var(--line);
  border-radius:4px;
  color:var(--tx2);
  background:var(--surf2);
  box-shadow:none;
}

/* Homepage hero */
.hero{
  /* 【调参·安全留白】文字位置 = 最终收框量 + 框内留白；两者不能再取同一个值。 */
  --hero-frame-x:56px;
  --hero-copy-gap:64px;
  min-height:100svh;
  position:relative;
  overflow:visible;
  border:0;
  color:#fff;
  background:var(--bg);
}
.hero::before{display:none}
.hero__stage{
  min-height:100svh;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:#080d12;
}
.hero__media{position:absolute;inset:0;z-index:0;background:#080d12}
/* cover 保持图片/视频比例并裁掉超出部分；object-position 调整画面焦点，不控制滚动收框。 */
.hero__media img,.hero__media video{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%}
.hero__media video:focus-visible{outline:2px solid #fff;outline-offset:-6px}
/* 【调参·纯背景播放】不显示播放器控件，不接受点击/触摸暂停，不妨碍前层按钮。
 * 只匹配后台明确标记为背景的video；行内静音循环、离屏暂停由渲染器/站点脚本管理。 */
.hero__media video[data-background-video="true"]{pointer-events:none}
.hero__stage::before,.hero__in{pointer-events:none}
.hero__in .btns{pointer-events:auto}
.hero__stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(8,14,19,.92) 0%,rgba(8,14,19,.74) 38%,rgba(8,14,19,.18) 68%,rgba(8,14,19,.02) 100%),
    linear-gradient(0deg,rgba(8,14,19,.58),transparent 48%);
}
/* 【调参·首屏文字位置】padding 的顺序为「上 左右 下」：桌面从 56 + 64 = 120px 起排。
 * 收框到 56px 后仍保留 64px 框内留白；文字不随滚动水平漂移，也不依赖居中的 .wrap。
 * ≤640px 时改为 8 + 14 = 22px，兼顾小屏行宽与收框后的安全留白。
 */
.hero__in{
  width:100%;
  min-height:100svh;
  max-width:none;
  margin:0;
  padding:clamp(106px,13vh,140px) calc(var(--hero-frame-x) + var(--hero-copy-gap)) 72px;
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero .eyebrow{color:rgba(255,255,255,.72)}
/* 【调参·标题换行】980px 是最大行宽，不是固定文本框宽度；变窄更早换行，变宽可容纳更多字。
 * clamp(46px,5.2vw,72px) 分别是最小字号、随视口变化的字号、最大字号；不通过 JS 拆行。
 */
.hero__title{max-width:980px;margin-top:0;color:#fff;font-size:clamp(46px,5.2vw,72px);line-height:1.02;letter-spacing:-.052em;text-wrap:pretty}
.hero__title em{display:inline;color:#fff;font-style:normal;text-shadow:none}
/* 【调参·指定分行】表演页文案中的换行符由 pre-line 保留；只用于明确分行的标题与段落。
 * 每行仍可在小屏自然折行，不使用 nowrap。未指定分行的章节标题继续按容器宽度排版。
 */
.hero--cinematic .hero__title,
.home-proof .head h2,.home-proof .head .lead,
.home-product__copy h2,.home-product__copy .lead{white-space:pre-line;text-wrap:pretty}
/* 副标题独立控制行宽；调 max-width 改换行，调 margin-top 改与主标题的距离。 */
.hero__lead{max-width:600px;margin-top:28px;color:rgba(255,255,255,.78);font-size:clamp(18px,1.55vw,22px)}
.hero__btns{margin-top:34px}
.hero .btn{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(7,12,17,.18)}
.hero .btn:hover{background:rgba(255,255,255,.12);border-color:#fff}
.hero .btn--key{background:#fff;border-color:#fff;color:#101820}
.hero .btn--key:hover{background:#e9edf1;color:#101820}
.hero__canvas,.hud{display:none}
.hero__rail-sentinel{width:1px;height:1px;position:absolute;top:58px;left:0;pointer-events:none}

/* 【调参·业务媒体首屏】开放平台/模拟器/关于我们使用同一满幅框架。
 * 文字仍从「收框量 + 安全留白」起排，首屏高度可被内容撑开，不使用固定高度截字。
 * layout:feature 独立于 integratedStats；有数据时同屏排布，不继承产学研8项布局。
 * 顶部1px哨兵随文档滚出即换浅色导航，回顶再恢复透明；不接管滚轮。 */
.hero--feature .hero__in{justify-content:flex-end;padding-top:144px;padding-bottom:clamp(80px,11vh,120px)}
.hero--feature .hero__title{max-width:1100px;font-size:clamp(44px,5vw,72px);line-height:1.2;letter-spacing:-.04em}
.hero--feature .hero__lead{max-width:35em;font-size:clamp(17px,1.5vw,21px);line-height:1.75;color:#dce5eb}
.hero--feature .hero__btns{gap:16px}
.hero--feature .hero__rail-sentinel{top:0}
/* 顶部额外短渐变保护白色导航在天空/云层上的对比度，不给导航本身添加实色底。 */
.hero--feature .hero__stage::before{background:linear-gradient(180deg,rgba(5,14,22,.48),transparent 24%),linear-gradient(90deg,rgba(5,14,22,.78),rgba(5,14,22,.12) 85%),linear-gradient(0deg,rgba(5,14,22,.85),rgba(5,14,22,.06) 90%)}
/* 图片焦点单独设定，画面缩放不挪动文字。关于页保留右侧基地与停机坪。 */
#app[data-page="platform"] .hero__media img{object-position:60% 62%}
#app[data-page="about"] .hero__media img{object-position:62% 60%}
#app[data-page="simulator"] .hero__media img{object-position:62% 50%}

/* 【调参·章节按钮组】和数据/正文之间留32px，按钮横纵间距16px。
 * 通过组件类修复商城底部与指标下边线粘连；不改变商城筛选条或卡片操作区。 */
.section__actions{margin-top:32px;gap:16px}

/* 【调参·首屏收框】由页面滚动进度驱动，不是定时播放；不支持时或用户要求减弱动效时保持满幅。
 * 这是对整个 .hero__stage（含媒体和文字）的裁切，并非 transform:scale 等比缩小。
 */
@supports (animation-timeline:scroll()){
  @media(prefers-reduced-motion:no-preference){
    .hero--cinematic .hero__stage{
      animation:hero-frame-scroll linear both;
      animation-timeline:scroll(root block);
      /* 页面从顶部滚动 0→520px 完成收框；终点调大，完成收框需要滚动更远。 */
      animation-range:0 520px;
    }
    @keyframes hero-frame-scroll{
      from{clip-path:inset(0 0 0 0 round 0)}
      /* inset 顺序：上、右、下、左；左右统一读取 --hero-frame-x，桌面 56px、小屏 8px。
       * round 4px 是最终圆角；文字边距会同步跟随收框量，始终多留 --hero-copy-gap。
       */
      to{clip-path:inset(18px var(--hero-frame-x) 42px var(--hero-frame-x) round 4px)}
    }
  }
}

/* One branded entrance: real media settles first, then the value proposition. */
@media(prefers-reduced-motion:no-preference){
  .motion-ready .hero__media img,.motion-ready .hero__media video{animation:hero-media-in 1.45s var(--motion-out) both}
  .motion-ready .hero__in>*{opacity:0;transform:translateY(22px);animation:hero-copy-in .76s var(--motion-out) forwards}
  .motion-ready .hero__in>*:nth-child(1){animation-delay:.08s}
  .motion-ready .hero__in>*:nth-child(2){animation-delay:.16s}
  .motion-ready .hero__in>*:nth-child(3){animation-delay:.24s}
  .motion-ready .hero__in>*:nth-child(4){animation-delay:.32s}
  @keyframes hero-media-in{from{transform:scale(1.045)}to{transform:scale(1)}}
  @keyframes hero-copy-in{to{opacity:1;transform:none}}
  /* 【调参·媒体首屏入场】整段36px上移 / 900ms，媒体1.075→1 / 1600ms。
   * 标题、说明、按钮、数据按120ms错峰；按钮保持100%不透明，Tab聚焦直接到终态。
   * 缩放落在图片而非stage，与滚动收框相互独立，不增加循环装饰动画。 */
  .motion-ready .hero--feature .hero__media img{animation-name:feature-media-in;animation-duration:1.6s}
  .motion-ready .hero--feature .hero__in>*{transform:translateY(36px);animation-duration:.9s}
  .motion-ready .hero--feature .hero__in>*:nth-child(1){animation-delay:.06s}
  .motion-ready .hero--feature .hero__in>*:nth-child(2){animation-delay:.18s}
  .motion-ready .hero--feature .hero__in>*:nth-child(3){animation-delay:.3s}
  .motion-ready .hero--feature .hero__in>*:nth-child(4){animation-delay:.42s}
  /* 按钮只位移14px，连入场起点也不侵入手机右下工具的命中区。 */
  .motion-ready .hero--feature .hero__in>.btns{opacity:1;transform:translateY(14px)}
  .motion-ready .hero__in>*:focus-within{animation:none;opacity:1;transform:none}
  @keyframes feature-media-in{from{transform:scale(1.075)}to{transform:scale(1)}}
}

/* 【调参·公司首页尺度】正文共用 1600px 容器（含 --gut），业务、应用、公司资料左右对齐。
 * 首屏为左文右点阵，三业务收在首屏底部；紧凑高度参数集中在本文件末尾。
 * 全站取消装饰网格，不改动表演页和其余页面的宽度。 */
#app[data-page="index"]{--wrap:1600px;background:var(--bg)}
.company-hero{background:var(--bg);display:flex;align-items:center}
.company-hero__in{width:100%;max-width:var(--wrap);margin:auto;padding:28px var(--gut);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:24px;align-items:center}
.company-hero__copy{min-width:0}
/* 【调参·两行标题】两行同字号；10字定位在自身栏内自然换行，不用缩放整个页面。 */
.company-hero h1{max-width:none;font-size:clamp(34px,3.5vw,54px);line-height:1.22;letter-spacing:-.045em;text-wrap:pretty}
.company-hero h1 span{display:block;font-size:1em}
.company-hero h1 span+span{margin-top:12px;letter-spacing:-.035em}
.company-hero .lead{max-width:29em;margin:28px 0 0;font-size:clamp(16px,1.28vw,19px);text-wrap:pretty}
.company-hero .btns{margin-top:28px}

/* Page introductions */
main>.section:first-child:not(.showcase){
  padding-top:clamp(88px,10vw,148px);
  padding-bottom:clamp(72px,8vw,116px);
}
main>.section:first-child:not(.showcase) .head{max-width:960px;margin-bottom:34px}
main>.section:first-child:not(.showcase) h1{max-width:950px}
main>.section:first-child:not(.showcase) .lead{max-width:760px;margin-top:24px}
#app[data-page="platform"] main>.section:first-child{
  color:#fff;
  background:#101820;
  max-width:none;
  padding-inline:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));
}
#app[data-page="platform"] main>.section:first-child h1{color:#fff}
#app[data-page="platform"] main>.section:first-child .lead{color:rgba(255,255,255,.7)}
#app[data-page="platform"] main>.section:first-child .eyebrow{color:rgba(255,255,255,.64)}
#app[data-page="platform"] main>.section:first-child .btn:not(.btn--key){color:#fff;border-color:rgba(255,255,255,.35)}

/* Flat editorial surfaces */
.raise,
[data-theme="light"] .raise{
  border:1px solid var(--line);
  background:var(--surf);
  box-shadow:none;
}
.well,
[data-theme="light"] .well{
  border:1px solid var(--line);
  background:var(--surf2);
  box-shadow:none;
}
.shell,
[data-theme="light"] .shell{
  border:1px solid var(--line);
  background:var(--surf);
  box-shadow:none;
}
.shell::before{display:none}
.ticks::before,.ticks::after{display:none}

.panel{padding:clamp(24px,2.8vw,36px)}
.panel__tag{color:var(--brand);letter-spacing:.1em}
.panel h3{margin-top:16px;font-size:clamp(22px,2.2vw,30px);line-height:1.3}
.panel p{font-size:16px;line-height:1.75;color:var(--tx2)}
.panel p+p{margin-top:12px}
/* 【调参·卡片内留白】标签组与段落/按钮分开；胶囊之间的间距独立于组外留白。 */
.panel>.chips{gap:10px;margin-top:auto;padding-top:18px}
.panel>.btns{gap:12px;margin-top:24px}
.panel__more{color:var(--brand)}
.cols{gap:clamp(24px,2.8vw,40px)}
/* 同一组比较卡片保持顶端对齐；不再给第二列固定下移，避免撑出容器并贴住下一行。 */
.cols--2>.panel:nth-child(2),.cols--2>.raise:nth-child(2){margin-top:0}

/* Metrics become one comparison row, never four dashboard cards. */
/* 【调参·对齐基准】实绩数据行位于 .wrap 内，外边界扣除两侧 --gut；业务入口同样按所在页面的 --wrap 计算。 */
.metrics{
  gap:0;
  border-top:1px solid var(--line2);
  border-bottom:1px solid var(--line2);
}
.metric,
[data-theme="light"] .metric{
  min-height:150px;
  padding:30px clamp(18px,2.6vw,34px);
  border:0;
  border-right:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
.metric:last-child{border-right:0}
/* 等宽数字配合下方按位数预留的 ch 宽度，避免从 0000 跳到 6600 时横向抖动；计数过程由 JS 控制。 */
.metric__v{font-size:clamp(38px,3.8vw,54px);letter-spacing:-.05em;white-space:nowrap;font-variant-numeric:tabular-nums}
.metric__n{display:inline-block;text-align:right;font-variant-numeric:tabular-nums}
.metric__n--d1{min-width:1ch}.metric__n--d2{min-width:2ch}.metric__n--d3{min-width:3ch}
.metric__n--d4{min-width:4ch}.metric__n--d5{min-width:5ch}.metric__n--d6{min-width:6ch}
.metric__v small{margin-left:7px;color:var(--tx3);font-size:.28em}
.metric__k{max-width:22ch;margin-top:16px;color:var(--tx2);font-size:13px}

/* 【调参·三业务】基础样式为触屏可读图文；下方桌面查询恢复文字默认态与揭图。
 * 普通版横线跨满视口；首屏紧凑版在文件后部取消边线。文字/入口常显，不扩大单列。 */
.home-paths{padding-bottom:var(--sec);background:#f5f6f7}
.home-paths__head .head{max-width:none;margin-bottom:48px}
/* 【调参·三业务文案】标题 760px、说明 720px 是各自最大行宽；改变这里调整自然换行。 */
.home-paths__head .head h2{max-width:760px;word-break:keep-all;overflow-wrap:anywhere}
.home-paths__head .head .lead{max-width:720px}
/* 普通版上下横线贯穿视口；只让内部卡片组收进。紧凑版通过局部覆盖去线。 */
.home-paths__frame{
  width:100%;
  padding-block:0;
  border-top:1px solid var(--line2);
  border-bottom:1px solid var(--line2);
}
.home-paths__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  /* 【调参·三业务边界】等价于 .wrap 的内容宽度：min(可用宽度, --wrap) - 2 × --gut。
   * 与同页系统/资质正文对齐；不要单独改成首屏照片的出血边距。
   */
  width:calc(100% - (var(--gut) * 2));
  max-width:calc(var(--wrap) - (var(--gut) * 2));
  margin:0 auto;
  padding-inline:0;
  overflow:hidden;
  column-gap:clamp(20px,2.4vw,38px);
  list-style:none;
}
.home-path{
  min-width:0;
  position:relative;
  overflow:hidden;
  background:transparent;
}
.home-path__link{
  height:100%;
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  color:var(--tx);
  text-decoration:none;
}
.home-path__media{aspect-ratio:4/3;overflow:hidden;background:#d7dde1;border-radius:2px;margin-top:24px}
.home-path__image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .6s var(--motion-out);
}
.home-path__panel{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:28px;
  padding:28px 0 24px;
}
.home-path__copy h3{font-size:clamp(28px,2.5vw,38px);line-height:1.2;letter-spacing:-.035em}
.home-path__copy p{max-width:28em;margin:18px 0 0;color:var(--tx2);font-size:16px;line-height:1.75;text-wrap:pretty}
.home-path__cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:44px;
  color:var(--tx);
  font-size:14px;
  font-weight:600;
}
.home-path__arrow{display:inline-block;transition:transform .3s var(--motion-out)}
.home-path__link:focus-visible{outline:2px solid #101820;outline-offset:-2px}
.home-path__link:focus-visible .home-path__image{transform:scale(1.02)}
.home-path__link:focus-visible .home-path__arrow{transform:translateX(5px)}

@media(hover:hover) and (pointer:fine) and (min-width:901px){
  /* 揭图幅度与时长在此调整。没有透明文字初态，移出后恢复浅色文字卡。 */
  .home-paths__grid{gap:0;border-inline:1px solid var(--line2);clip-path:inset(0 round 4px)}
  .home-path{border-right:1px solid var(--line2)}
  .home-path:last-child{border-right:0}
  .home-path__link{display:block;min-height:clamp(450px,37vw,580px)}
  .home-path__media{position:absolute;inset:0;aspect-ratio:auto;margin:0;background:transparent;border-radius:0}
  .home-path__image{opacity:0;transform:translateY(14px) scale(1.06);transition:opacity .55s ease,transform .8s var(--motion-out)}
  .home-path__panel{position:relative;min-height:inherit;padding:clamp(28px,3vw,48px);gap:34px;isolation:isolate}
  .home-path__panel::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(4,10,15,.97),rgba(4,10,15,.72) 58%,rgba(4,10,15,.16));opacity:0;transition:opacity .4s ease}
  .home-path__copy{margin-top:auto}
  .home-path__copy h3{font-size:clamp(32px,3vw,44px)}
  .home-path__copy h3,.home-path__copy p,.home-path__cta{transition:color .3s ease}
  .home-path__cta{padding-top:20px;border-top:1px solid var(--line2)}
  .home-path__link:is(:hover,:focus-visible) .home-path__image{opacity:1;transform:translateY(0) scale(1)}
  .home-path__link:is(:hover,:focus-visible) .home-path__panel::before{opacity:1}
  .home-path__link:is(:hover,:focus-visible) :is(h3,p,.home-path__cta){color:#fff}
  .home-path__link:is(:hover,:focus-visible) .home-path__cta{border-color:rgba(255,255,255,.5)}
  .home-path__link:focus-visible{outline-color:#fff}
  .home-path__link:is(:hover,:focus-visible) .home-path__arrow{transform:translateX(6px)}
}

/* Homepage editorial chapters: deliberate black / white alternation, not a site-wide theme switch. */
.home-proof{
  color:#fff;
  background:#0b1015;
}
.home-proof .head{max-width:920px;margin-bottom:clamp(48px,7vw,90px)}
.home-proof .head h2{max-width:920px;color:#fff;font-size:clamp(42px,5.8vw,80px);letter-spacing:-.055em}
.home-proof .head .lead{max-width:620px;color:rgba(255,255,255,.64)}
.home-proof .eyebrow{color:rgba(255,255,255,.5)}
.home-proof__layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(44px,6vw,92px);align-items:end}
.home-proof__media{min-height:clamp(520px,56vw,780px);position:relative}
.home-proof__image{display:block;object-fit:cover}
.home-proof__image--main{width:82%;height:78%;position:absolute;left:0;top:0}
.home-proof__image--secondary{width:54%;height:48%;position:absolute;right:0;bottom:0;border:8px solid #0b1015}
.home-proof__points{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.2)}
.home-proof__points li{display:block;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.home-proof__no{padding-top:4px;color:rgba(255,255,255,.42);font:600 10px/1.4 var(--f-mono);letter-spacing:.12em}
.home-proof__points h3{color:#fff;font-size:clamp(22px,2vw,28px);letter-spacing:-.03em}
.home-proof__points p{margin-top:9px;color:rgba(255,255,255,.6);font-size:14px;line-height:1.72}
.home-proof__copy .btns{margin-top:30px}
.home-proof .btn{color:#fff;border-color:rgba(255,255,255,.34)}
.home-proof .btn:hover{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.7)}
.home-proof .btn--key{color:#101820;background:#fff;border-color:#fff}
.home-proof .btn--key:hover{color:#101820;background:#e9edf1}

.home-product{background:#f6f7f8}
.home-product__in{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:clamp(42px,6vw,96px);align-items:center}
/* 两行装备标题按中文实际字宽排版，避免旧的 10ch 限制把半句再拆成两行。 */
.home-product__copy h2{max-width:100%;margin-top:18px;font-size:clamp(42px,4.6vw,66px);letter-spacing:-.055em}
.home-product__copy .lead{max-width:520px;margin-top:24px}
.home-product__copy .btns{margin-top:30px}
.home-product__figure{min-height:clamp(430px,44vw,650px);display:grid;place-items:center;margin:0;background:#e7eaed;overflow:hidden}
.home-product__figure img{width:94%;height:94%;object-fit:contain;filter:saturate(.88) contrast(1.02)}
.home-product__line{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin:clamp(34px,5vw,62px) 0 0;padding:0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);list-style:none}
.home-product__line li{min-height:180px;padding:26px clamp(18px,2.4vw,32px);border-right:1px solid var(--line)}
.home-product__line li:last-child{border-right:0}
.home-product__line span{display:block;color:var(--tx3);font:600 10px/1.4 var(--f-mono);letter-spacing:.12em}
.home-product__line strong{display:block;margin-top:0;font-size:19px}
.home-product__line p{margin-top:9px;color:var(--tx2);font-size:13px;line-height:1.65}

/* 【调参·共同系统】四个角色以一条关系带呈现，不做四张仪表盘卡片。 */
.home-product--system{background:#101820;color:#fff}
.home-product--system .home-product__in{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px 64px}
.home-product--system h2{color:#fff;font-size:clamp(34px,3.5vw,50px);line-height:1.2;margin-top:0;text-wrap:pretty;word-break:keep-all;overflow-wrap:anywhere}
.home-product--system .lead{color:#bbc5ce;font-size:18px}
.home-product--system .home-product__figure{min-height:0;aspect-ratio:5/4;background:#1c2933}
.home-product--system .home-product__figure img{width:100%;height:100%;object-fit:cover;filter:none}
.home-product--system .home-product__line{margin:0;border-color:#4a5762}
.home-product--system .home-product__line li{min-height:146px;border-color:#35434e}
.home-product--system .home-product__line p{color:#bbc5ce;font-size:14px}
.home-product--system .btn{color:#fff;border-color:#85929d}
.home-product--system .btn:hover{color:#101820;background:#fff}

/* 【调参·应用篇幅】一张主图＋两条横向图文，与上方三业务入口区分。
 * 图片、段落都是真实素材的应用解释，不代表新增客户案例或已验证成果。 */
.application-stories{background:#fafbfc}
.application-stories__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:36px 64px}
.application-story{min-width:0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:center}
.application-story--lead{grid-row:span 2;display:flex;flex-direction:column;align-items:stretch;gap:26px}
.application-story__media{overflow:hidden;aspect-ratio:4/5;background:#e8ecef}
.application-story--lead .application-story__media{aspect-ratio:4/3}
.application-story__media img{width:100%;height:100%;display:block;object-fit:cover}
.application-story h3{font-size:clamp(22px,2vw,28px);line-height:1.3;text-wrap:pretty}
.application-story p{margin-top:14px;color:var(--tx2);font-size:16px;line-height:1.75}
.application-story__link{display:inline-flex;align-items:center;gap:18px;min-height:44px;margin-top:14px;color:var(--brand);font-size:14px;font-weight:600;text-decoration:none}
.application-story__link:hover{text-decoration:underline;text-underline-offset:5px}
.application-story__link:focus-visible{outline:2px solid var(--tx);outline-offset:4px}

/* 旧系统翻页的原生横向轨道与共用文字链接；首页图展参数在文件末尾。 */
.system-story__panels{position:relative;display:grid;grid-auto-flow:column;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.system-story__panels::-webkit-scrollbar{display:none}
.system-story__panels.is-dragging{scroll-snap-type:none;user-select:none}
.system-story__media img{cursor:grab;-webkit-user-drag:none;user-select:none}
.is-dragging img{cursor:grabbing}
.editorial-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;color:inherit;font-weight:600;text-decoration:none;font-size:15px}
.editorial-link span{transition:transform .3s var(--motion-out)}
.editorial-link:hover span{transform:translateX(5px)}
.editorial-link:hover{text-decoration:underline;text-underline-offset:5px}
.editorial-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}

/* 【调参·系统翻页】大图约 58%、说明 42%，右侧露出下一页，借参考的翻页感。
 * 原生 scroll-snap 同时支持手指、鼠标拖图与按钮，不使用 3D 翻转、滚动锁屏。
 * 四个名称常显；卡片统一撑高，图片和正文不是仅靠 hover 才能打开的内容。 */
.system-story{background:#f5f6f7}
.system-story .head{max-width:none;margin-bottom:48px}
.system-story .head h2{max-width:none;font-size:clamp(36px,3.8vw,54px)}
.system-story .head .lead{max-width:40em;margin:22px 0 0;font-size:18px}
.system-story__toolbar{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:28px}
.system-story__tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;flex:1;max-width:780px}
.system-story__tab{min-width:0;min-height:52px;padding:12px 4px;border:0;border-bottom:2px solid transparent;background:none;color:var(--tx2);cursor:pointer;text-align:left;font:550 clamp(16px,1.5vw,21px)/1.4 var(--f-body);transition:color .25s ease,border-color .25s ease}
.system-story__tab:hover{color:var(--tx);border-color:var(--line2)}
.system-story__tab[aria-selected="true"]{color:var(--tx);border-color:var(--tx)}
.system-story__controls{display:flex;gap:10px}
.system-story__control{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line2);border-radius:2px;background:transparent;color:var(--tx);font-size:23px;cursor:pointer;transition:background .2s ease}
.system-story__control:hover:not(:disabled){background:#e1e6ea}
.system-story__control:disabled{opacity:.3;cursor:default}
.system-story__tab:focus-visible,.system-story__control:focus-visible{outline:2px solid var(--tx);outline-offset:3px}
.system-story__panels{grid-auto-columns:calc(100% - 80px);gap:24px}
.system-story__panel{display:grid;grid-template-columns:1.38fr 1fr;min-width:0;scroll-snap-align:start;border-radius:4px;overflow:hidden;background:#e8ecef}
.system-story__panel:focus-visible{outline:2px solid var(--tx);outline-offset:-3px}
.system-story__media{position:relative;min-width:0;min-height:clamp(380px,35vw,520px);margin:0;background:#d7dee3}
.system-story__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.system-story__panel:nth-child(n+3) .system-story__media{background:#202329}
.system-story__panel:nth-child(n+3) img{object-fit:contain}
.system-story__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,3.2vw,50px)}
.system-story__panel h3{font-size:clamp(26px,2.6vw,38px);line-height:1.35;text-wrap:pretty}
.system-story__panel p{margin:24px 0 0;color:var(--tx2);font-size:18px;line-height:1.8;max-width:30em}
.system-story .btns{margin-top:38px;gap:16px;flex-wrap:wrap}
/* 短句不手工加 <br>；段落用 pretty 减少行尾只剩一两个字。 */
.system-story__panel p,.credential-archive .lead,.credential-archive__body p{text-wrap:pretty}

/* 【调参·资源收尾】把“可信资料档案”移到子页，首页提供三个可立即继续的入口。
 * 左侧是一句主张，右侧为实际工具/文档，不再排三张装饰媒体卡。 */
.resource-start{background:#101820;color:#fff}
.resource-start__in{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(48px,7vw,110px);align-items:start}
.resource-start .head{margin:0;max-width:none}
.resource-start .head h2{color:#fff;font-size:clamp(34px,3.7vw,52px);line-height:1.2;text-wrap:pretty}
.resource-start .head .lead{color:#bbc5ce;max-width:26em;text-wrap:pretty}
.resource-start .btns{margin-top:30px}
.resource-start .btn{color:#fff;border-color:#53606b;background:transparent}
.resource-start__links{list-style:none;margin:0;padding:0;border-top:1px solid #53606b}
.resource-start__links li{border-bottom:1px solid #53606b}
.resource-start__links a{display:flex;justify-content:space-between;gap:24px;align-items:center;min-height:140px;padding:26px 0;color:#fff;text-decoration:none}
.resource-start__links h3{color:#fff;font-size:clamp(25px,2.4vw,34px)}
.resource-start__links p{color:#bbc5ce;margin:12px 0 0;font-size:16px;line-height:1.7;text-wrap:pretty}
.resource-start__links a>span{font-size:28px;transition:transform .3s var(--motion-out)}
.resource-start__links a:hover>span{transform:translate(4px,-4px)}
.resource-start__links a:focus-visible{outline:2px solid #fff;outline-offset:5px}

/* 【调参·资质目录】用全宽档案行收束内容，认定逐项保留主体、编号和日期。
 * 证书只在用户展开后出现；原图 object-fit:contain，不裁切、不变成装饰徽章。
 * 自愿展开会增加正文高度，不能覆盖后面的合作区或挪进不可达的 hover 浮层。 */
.credential-archive{background:#101820;color:#fff}
.credential-archive .head{max-width:none;margin-bottom:48px}
.credential-archive .head h2{color:#fff;font-size:clamp(34px,3.3vw,48px);max-width:none;text-wrap:pretty}
.credential-archive .head .lead{color:#bbc5ce;font-size:17px;max-width:40em}
.credential-archive__entries{border-top:1px solid #53606b}
.credential-archive__entry{border-bottom:1px solid #53606b}
.credential-archive__entry summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0;cursor:pointer;list-style:none}
.credential-archive__entry summary::-webkit-details-marker{display:none}
.credential-archive__entry summary>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.75fr);gap:48px;flex:1;align-items:center}
.credential-archive__entry summary:focus-visible{outline:2px solid #fff;outline-offset:5px}
.credential-archive__entry h3{color:#fff;font-size:22px;line-height:1.4}
.credential-archive__entry summary p{margin:0;color:#bbc5ce;font-size:15px;line-height:1.5}
.credential-archive__toggle{flex:none;font-size:25px;transition:transform .25s var(--motion-out)}
.credential-archive__entry[open] .credential-archive__toggle{transform:rotate(45deg)}
.credential-archive__body{max-width:780px;padding:0 0 28px}
.credential-archive__body p{color:#bbc5ce;font-size:15px;line-height:1.7;margin:0 0 14px}
.credential-archive__body img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;background:#fff;margin-top:24px}

@media(max-width:820px){
  /* 触屏保留全部六个名称，不用难发现的横向滑动目录；媒体与说明落在目录之后。 */
  .system-story .head{display:block;margin-bottom:32px}
  .system-story .head .lead{margin-top:20px;font-size:16px}
  .system-story__toolbar{display:block}
  .system-story__tabs{gap:12px;max-width:none}
  .system-story__controls{justify-content:flex-end;margin-top:20px}
  .system-story__panels{grid-auto-columns:calc(100% - 24px);gap:16px}
  .system-story__panel{grid-template-columns:1fr}
  .system-story__media{min-height:280px}
  .system-story__copy{padding:28px}
  .system-story__panel p{font-size:16px}
  .resource-start__in{grid-template-columns:1fr;gap:40px}
  .credential-archive__entry summary>div{display:block}
  .credential-archive__entry summary p{margin-top:10px}
}
@media(max-width:390px){
  .system-story__panel h3{font-size:22px}
  .system-story__tab{font-size:14px;padding-inline:0}
  .credential-archive__entry h3{font-size:20px}
}
@media(max-width:640px){
  /* 中文标题按可用字宽缩放，避免为两三个尾字另起一行；不强制 <br>。 */
  .credential-archive .head h2{font-size:clamp(28px,7.6vw,34px)}
}
@media(prefers-reduced-motion:reduce){
  /* 用户选择仍立即生效，去掉换图缩放和淡入；没有等待时间，也不会留下透明内容。 */
  .system-story *,.resource-start *,.credential-archive__toggle,.home-path__panel::before{transition:none!important;animation:none!important}
}

.home-partners{padding-bottom:clamp(86px,9vw,132px);overflow:hidden;color:var(--tx);background:#e8ecef}
.home-partners__in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}
.home-partners .head{max-width:880px;margin-bottom:0}
.home-partners .head h2{max-width:880px;color:var(--tx);font-size:clamp(38px,4.7vw,64px);text-wrap:pretty}
.home-partners .head .lead{max-width:680px;color:var(--tx2)}
.home-partners__actions{margin:0 0 7px}
/* 聚焦命中区只占可见视口；轨道自身延伸，避免键盘/指针落在屏外的超宽容器上。 */
.partner-loop{display:flex;width:100%;max-width:1600px;margin-inline:auto;overflow:hidden}
.partner-loop__track{display:flex;flex:none;min-width:100%;justify-content:space-around;align-items:center;margin:32px 0 0;padding:0;list-style:none;animation:partner-loop var(--partner-loop-duration,60s) linear infinite}
/* 紧裁图按宽高双上限平衡视觉大小，槽随图宽变化；首尾各半个间隙让循环接缝一致。 */
.partner-loop__item{flex:0 0 auto;width:auto;height:120px;display:flex;align-items:center;justify-content:center;padding:0 43.2px;border:0}
.partner-loop__mark{display:block;color:var(--tx2);font:650 clamp(22px,2vw,28px)/1 var(--f-disp);letter-spacing:-.02em}
.partner-loop__logo{--partner-logo-width:172.8px;display:block;width:auto;height:auto;max-width:var(--partner-logo-width);max-height:86.4px;object-fit:contain}
.partner-loop[data-paused="true"] .partner-loop__track{animation-play-state:paused}
@keyframes partner-loop{to{transform:translateX(-100%)}}

/* 【调参·联系弹层】最大宽 480px、圆角 4px；四行纯信息，不使用彩色图标底座。 */
body.contact-open{overflow:hidden}
.contact-dialog{
  width:min(480px,calc(100% - 40px));
  max-height:calc(100svh - 40px);
  margin:auto;
  padding:28px 32px 20px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:4px;
  background:var(--surf);
  color:var(--tx);
  box-shadow:0 24px 72px rgba(16,24,32,.18);
}
.contact-dialog::backdrop{background:rgba(10,18,25,.48)}
.contact-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.contact-dialog__head h2{margin:0;font-size:26px;line-height:1.3;letter-spacing:-.035em}
.contact-dialog__close{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-right:-10px;border:0;border-radius:2px;color:var(--tx);background:transparent;cursor:pointer}
.contact-dialog__close:hover{background:var(--surf3)}
.contact-dialog__close .contact-dialog__icon{width:16px;height:16px}
.contact-dialog__icon{display:block;flex:none;width:20px;height:20px;opacity:.88}
.contact-dialog__list{margin:0}
.contact-dialog__row{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:16px;min-height:68px;padding:16px 0;border-top:1px solid var(--line);font-size:14px}
.contact-dialog__label{display:flex;align-items:center;gap:12px;font-weight:600}
.contact-dialog__value{min-width:0;margin:0;overflow-wrap:anywhere;user-select:all}
.contact-dialog__value a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.contact-dialog__pending{color:var(--tx3)}
.contact-dialog button:focus-visible,.contact-dialog a:focus-visible{outline:2px solid var(--tx);outline-offset:3px}
@media(prefers-reduced-motion:no-preference){
  .contact-dialog[open]{animation:contact-enter .22s var(--motion-out) both}
  .contact-dialog[open]::backdrop{animation:contact-backdrop .18s ease-out both}
  @keyframes contact-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  @keyframes contact-backdrop{from{opacity:0}to{opacity:1}}
}
@media(max-width:640px){
  .contact-dialog{padding:22px 22px 14px}
  .contact-dialog__row{grid-template-columns:108px minmax(0,1fr);gap:12px}
}

/* Image-led stories */
.showcase{
  border-radius:4px;
  background:#101820;
}
.showcase::before{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.showcase::after{
  background:linear-gradient(90deg,rgba(5,10,14,.82) 0%,rgba(5,10,14,.44) 48%,rgba(5,10,14,.05) 78%);
}
.showcase__in{min-height:clamp(500px,68vh,760px);padding:clamp(32px,6vw,76px);justify-content:flex-end}
.showcase h1,.showcase h2{max-width:760px;margin-top:18px;color:#fff;font-size:clamp(38px,5vw,68px);letter-spacing:-.045em}
.showcase p{max-width:620px;margin-top:20px;font-size:clamp(16px,1.4vw,20px)}
.showcase .btn{color:#fff;border-color:rgba(255,255,255,.44);background:transparent}
.showcase .btn:hover{color:#fff;border-color:#fff;background:rgba(255,255,255,.1)}
.showcase .btn--key{color:#101820;background:#fff;border-color:#fff}
.showcase--bare .showcase__in{min-height:clamp(360px,48vh,560px)}
/* 表演页三段实拍媒体共用同一内容宽度与原生16:9比例，减少章节间的视觉割裂。 */
#app[data-page="shows"] :is([data-block="shows_band"],[data-block="shows_band2"],[data-block="shows_band3"]){padding-block:clamp(24px,3vw,40px)}
#app[data-page="shows"] :is([data-block="shows_band"],[data-block="shows_band2"],[data-block="shows_band3"]) .showcase__in{min-height:0;aspect-ratio:16/9}
#app[data-page="shows"] :is([data-block="shows_band"],[data-block="shows_band2"],[data-block="shows_band3"]) .showcase--bare::after{background:linear-gradient(180deg,rgba(6,12,20,.02),rgba(6,12,20,.12))}
.business-hero{
  width:100%;
  max-width:none;
  padding:56px 0 72px;
}
main>.section.business-hero:first-child{padding:56px 0 72px}
.business-hero .showcase{margin-inline:56px}
.showcase--hero .showcase__in{
  min-height:max(520px,calc(100svh - 201px));
  padding:clamp(38px,4.4vw,56px);
}
.showcase--hero h1{
  max-width:980px;
  margin-top:0;
  font-size:clamp(44px,4.8vw,66px);
  line-height:1.02;
  letter-spacing:-.052em;
  text-wrap:pretty;
}
.showcase--hero p{max-width:700px;font-size:clamp(17px,1.4vw,20px);line-height:1.72;text-wrap:pretty}
.showcase__in>h2:first-child{margin-top:0}
#app[data-page="platform"] main>.section:first-child h1{font-size:clamp(44px,4.8vw,66px);line-height:1.02;text-wrap:pretty}

/* Media reveal follows the same quiet rhythm as the hero, without pinning scroll. */
.motion-media .showcase__media{clip-path:inset(0 0 7% 0);transition:clip-path .9s var(--motion-out)}
.motion-media.in .showcase__media{clip-path:inset(0)}
.motion-media .showcase__media img{transform:scale(1.04);transition:transform 1.1s var(--motion-out)}
.motion-media.in .showcase__media img{transform:scale(1)}
.motion-media .showcase__in>*{opacity:0;transform:translateY(18px);transition:opacity .68s var(--motion-out),transform .68s var(--motion-out)}
.motion-media.in .showcase__in>*{opacity:1;transform:none}
.motion-media .showcase__in>*:nth-child(2){transition-delay:.07s}
.motion-media .showcase__in>*:nth-child(3){transition-delay:.14s}
.motion-media .showcase__in>*:nth-child(4){transition-delay:.21s}

/* Chapters and bays become editorial groups instead of cockpit modules. */
.chap{padding-block:clamp(82px,9vw,134px) clamp(24px,3vw,44px)}
.chap__in{grid-template-columns:90px minmax(0,1fr);gap:clamp(24px,4vw,64px);padding-top:30px;border-top-color:var(--line2)}
.chap__in::before{width:90px;height:2px;background:var(--tx)}
.chap__no{color:var(--tx3);font-size:clamp(28px,3.6vw,48px)}
.chap__txt h2{max-width:780px;font-size:clamp(34px,4.2vw,56px)}
.chap__txt .lead{max-width:700px;margin-top:18px}
.bay{margin-block:clamp(42px,6vw,84px)}
.bay__rail,
[data-theme="light"] .bay__rail{
  display:grid;
  grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);
  gap:18px 48px;
  padding:0 0 20px;
  border:0;
  border-bottom:1px solid var(--line2);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.bay__id,.bay__led{display:none}
.bay__title{font-size:clamp(19px,2vw,25px);letter-spacing:-.02em}
.bay__q{margin-left:0;text-align:left;color:var(--tx3);font-size:14px}
.bay__rail.bay__rail--title-only{grid-template-columns:minmax(0,1fr)}
.bay__body,
[data-theme="light"] .bay__body{
  padding:clamp(26px,4vw,54px) 0 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
/* 【调参·章节子组】只分开正文中的相邻组，不影响列内单卡及表格内部行距。 */
.bay__body>*+*{margin-top:28px}
main [id]{scroll-margin-top:104px}

/* Feature, process and architecture patterns */
.fgrid2,.fgrid2[data-cols="2"],.fgrid2[data-cols="3"]{grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.fcard,
[data-theme="light"] .fcard{
  min-height:260px;
  padding:clamp(30px,4vw,52px);
  border:0;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
.fcard:nth-child(even){border-right:0}
.fcard__head{display:flex;align-items:flex-start;gap:14px}
.fcard__heading{min-width:0}
.fcard .fcard__ic{flex:0 0 28px;width:28px;height:32px;margin:0;border:0;border-radius:0;color:var(--brand);background:transparent}
.fcard h3{margin:0;font-size:clamp(23px,2.3vw,31px);line-height:1.35;text-wrap:pretty}
.fcard p{max-width:48ch;margin-top:14px;font-size:15.5px}
.fcard__n{color:var(--tx3)}
/* 【调参·集群控制系统】用“基础能力—运行能力—规模能力”取代六张同权卡片。
 * 两个整行节点建立首尾层级；中间四项保持工程化双列，1px缝隙只承担结构分隔。 */
.fgrid2.fgrid2--system[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border-top:0;background:var(--line)}
.fgrid2--system .fcard{min-height:220px;border:0;background:var(--surf)}
.fgrid2--system .fcard:first-child,.fgrid2--system .fcard:last-child{
  grid-column:1/-1;display:grid;grid-template-columns:minmax(290px,.88fr) minmax(0,1.12fr);align-items:end;gap:clamp(32px,6vw,96px);min-height:0
}
.fgrid2--system .fcard:first-child{background:var(--blue-dim)}
.fgrid2--system .fcard:last-child{padding-block:clamp(44px,6vw,76px);background:#101820;color:#fff}
.fgrid2--system .fcard:last-child h3{color:#fff;font-size:clamp(30px,3.5vw,50px)}
.fgrid2--system .fcard:last-child p{color:#bdc8d1}
.fgrid2--system .fcard:last-child .fcard__ic,.fgrid2--system .fcard:last-child .fcard__n{color:#fff}

/* 【调参·产学研差异化】第二屏沿用原标准模块；岗位进阶和资源书架负责后续节奏变化。 */
[data-block="edu_roles_grid"] .fgrid2{grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--brand)}
[data-block="edu_roles_grid"] .fcard{min-height:330px;padding:clamp(30px,3.5vw,48px);border-right:1px solid var(--line)}
[data-block="edu_roles_grid"] .fcard:last-child{border-right:0}
[data-block="edu_roles_grid"] .fcard__n{margin-left:auto;color:var(--brand);font-size:12px;letter-spacing:.08em}
[data-block="edu_roles_grid"] .fcard h3{margin-top:clamp(54px,6vw,92px)}
[data-block="edu_course"] .fgrid2{grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
[data-block="edu_course"] .fcard{min-height:230px;padding:28px 24px;border-right:1px solid var(--line)}
[data-block="edu_course"] .fcard:nth-child(4n){border-right:0}
[data-block="edu_course"] .fcard h3{font-size:clamp(20px,1.8vw,25px)}
[data-block="edu_course"] .fcard p{font-size:14.5px}
.steps,.flowrow{gap:0;border-top:1px solid var(--line)}
.step,.flowcell,
[data-theme="light"] .step,[data-theme="light"] .flowcell{
  min-height:230px;
  padding:30px 26px;
  border:0;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
.step:last-child,.flowcell:last-child{border-right:0}
.step{display:flex;flex-direction:column}
.step p{flex:1}
/* 同行步骤按最长正文撑高；分隔线锚定底部，不依赖每项文案恰好相同行数。 */
.step__meta{min-height:48px;margin-top:18px}
.step__no{border:0;background:transparent;color:var(--brand);padding:0}
.step h3,.flowcell h3{margin-top:26px;font-size:22px}
.strata{gap:0;border-top:1px solid var(--line2)}
.stratum,.stratum--core,.stratum--open,.stratum--yours{
  grid-template-columns:minmax(140px,.32fr) minmax(0,1fr);
  padding:28px 0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.stratum--core .stratum__k,.stratum--open .stratum__k,.stratum--yours .stratum__k{color:var(--tx3)}
.tiles{gap:18px}
.tile,
[data-theme="light"] .tile{padding:32px;border-color:var(--line);background:var(--surf);box-shadow:none}
.tile:nth-child(3n+1){background:#101820;color:#fff}
.tile:nth-child(3n+1) h3{color:#fff}
.tile:nth-child(3n+1) p{color:rgba(255,255,255,.68)}
.facts{border-top:1px solid var(--line)}
.fact{grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);padding:22px 0;border-top:0;border-bottom:1px solid var(--line)}
.fact__k{color:var(--tx3)}

/* Documentation and data */
.doc{grid-template-columns:220px minmax(0,1fr);gap:clamp(42px,5vw,78px)}
.docnav,
[data-theme="light"] .docnav{top:96px;padding:18px 0;border:0;border-top:1px solid var(--line2);border-radius:0;background:transparent}
.docnav a{border-left:0;border-radius:0;padding:7px 0}
.docnav a:hover{background:transparent;color:var(--tx)}
.docnav a.on{color:var(--brand);background:transparent;border-left:0}
.docbody p,.docbody ul{font-size:16px;line-height:1.78}
/* P03 的概述与下方架构图/表同轨；其他技术长文保留阅读行宽。 */
.docbody #architecture>.head,.docbody #architecture>.head .lead,.docbody #architecture>[data-block="plat_20"] p{max-width:none}
.shop-specs .tbl td,.shop-specs .tbl td:first-child{font-family:var(--f-body);font-size:15px;line-height:1.65}
.tblwrap{border:1px solid var(--line);border-radius:4px;background:var(--surf)}
.tbl th,[data-theme="light"] .tbl th{background:var(--surf3);box-shadow:none}
.tbl tbody tr:hover td,[data-theme="light"] .tbl tbody tr:hover td{background:var(--surf2)}
.code{border:1px solid #2a3540;border-radius:4px;background:#101820}
.code__bar,[data-theme="light"] .code__bar{background:#18232d;color:#a7b4bf;box-shadow:none}
.code pre,[data-theme="light"] .code pre{background:#101820;color:#d8e0e6}
.note,
[data-theme="light"] .note{border:0;border-left:3px solid var(--brand);border-radius:0;background:var(--blue-dim)}

/* Member access */
.member-access{padding-block:clamp(86px,10vw,144px)}
.member-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px}
.member-card{
  padding:clamp(30px,4vw,52px);
  border:1px solid var(--line);
  border-radius:4px;
  background:var(--surf);
  box-shadow:none;
}
.member-card--featured,
[data-theme="light"] .member-card--featured{
  min-height:520px;
  border-color:#101820;
  color:#fff;
  background:#101820;
}
.member-card--featured h3{max-width:11ch;color:#fff;font-size:clamp(38px,4.8vw,66px)}
.member-card--featured p{color:rgba(255,255,255,.68)}
.member-card--featured .member-card__label{color:#fff;border-color:rgba(255,255,255,.24);background:transparent}
.member-card--featured .member-card__state{color:rgba(255,255,255,.58)}
.member-card__label{border:0;border-radius:4px;color:var(--brand);background:var(--blue-dim)}
.member-card__state[data-ready="1"]::before{box-shadow:none}

/* Shop, product, pricing and cart */
.shop-filter{gap:8px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.shop-filter .btn{min-height:44px;background:var(--surf)}
.shop-filter .btn[aria-pressed="true"]{color:#fff;background:#101820;border-color:#101820}
.shop-card{
  border:0;
  border-radius:4px;
  background:var(--surf);
  box-shadow:none;
}
.shop-card__fig{aspect-ratio:4/3;border:0;background:#edf1f3}
.shop-card__fig img{object-fit:contain;padding:clamp(14px,2vw,26px)}
.shop-card__b{padding:24px 24px 28px}
.shop-card h3{font-size:23px}
.shop-card__fig{overflow:hidden}
.shop-card__fig img{transition:transform .72s var(--motion-out)}
.shop-price{font-size:28px}
.shop-hero{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:clamp(38px,5vw,76px)}
.shop-gal__main{border:0;border-radius:4px;background:#e9edef}
.shop-gal__main img{object-fit:contain;padding:clamp(20px,4vw,58px)}
.shop-thumb{border-color:var(--line);background:var(--surf)}
.shop-buy{padding:26px;border-radius:4px;background:var(--surf);border:1px solid var(--line)}
.shop-faq{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.shop-faq>summary{padding:20px 0}
.shop-faq__a{padding:0 0 22px}

/* 【调参·产品概览】返回商城先于图库，32/24px 顶部留白只覆盖产品页。
 * 保留旧模板的 bay/#top 定位，但不叠加通用页头与模块舱的大段间距。 */
#app[data-page="product"] main>.section:first-child{padding-top:32px;padding-bottom:48px}
#app[data-page="product"] main>.section:first-child>.bay{margin:0}
#app[data-page="product"] main>.section:first-child>.bay>.bay__body{padding-top:0}
.shop-product-overview{min-width:0}
.shop-product-overview>.shop-back{
  display:inline-flex;align-items:center;gap:10px;
  min-height:44px;min-width:44px;margin:0 0 24px;padding:6px 2px;
  color:var(--tx);font-size:16px;font-weight:600;line-height:1.5;
  border-radius:2px;text-decoration:none;transition:color .18s ease;
}
.shop-product-overview>.shop-back svg{display:block;width:22px;height:22px;flex:none}
.shop-product-overview>.shop-back:hover{color:var(--brand)}
.shop-product-overview>.shop-back:focus-visible{outline:2px solid var(--tx);outline-offset:4px}
@media(max-width:900px){
  #app[data-page="product"] main>.section:first-child{padding-top:24px;padding-bottom:32px}
  .shop-product-overview>.shop-back{margin-bottom:20px}
}

.tiers{gap:24px}
.tier,
[data-theme="light"] .tier{padding:30px 26px;border-color:var(--line);background:var(--surf);box-shadow:none}
.tier--mark{transform:none;border:2px solid var(--brand)}
.field input,.field select,.field textarea,
.auth-field input,.auth-field select{
  min-height:50px;
  border:1px solid var(--line2);
  border-radius:2px;
  color:var(--tx);
  background:var(--surf);
  box-shadow:none;
}
.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:var(--brand)}
.cart-qty__n{color:var(--tx);background:#fff;border-color:var(--line2);box-shadow:none}
.cart-qty__n:focus{background:#fff;border-color:var(--brand)}

/* Auth stays a quiet utility surface. */
.auth-dialog,
[data-theme="light"] .auth-dialog{
  border:0;
  border-radius:4px;
  color:var(--tx);
  background:var(--surf);
  box-shadow:0 32px 90px rgba(10,18,25,.26);
}
.auth-dialog::backdrop{background:rgba(10,18,25,.58)}
.auth-dialog__brand{color:#fff;border-right:0}
.auth-dialog__brand strong{color:#fff}
.auth-dialog__brand p{color:rgba(255,255,255,.7)}
.auth-dialog__close{color:var(--tx);background:rgba(255,255,255,.9);border:0;box-shadow:0 4px 16px rgba(0,0,0,.14)}
.auth-code-btn{border-color:var(--line);border-radius:2px;background:var(--surf3);color:var(--tx)}
.auth-demo-note{border:0;border-radius:2px}

/* Standalone login: the background owns the atmosphere; the form stays legible and task-focused. */
.login-body{height:100svh;min-height:100svh;overflow:hidden;background:#07131d}
.login-body::before{display:none}
.login-body #app,.login-body main{min-height:100svh}
.login-page{
  height:100svh;
  min-height:100svh;
  position:relative;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:center;
  justify-items:center;
  gap:8px;
  padding:16px 16px 10px;
  overflow:hidden;
}
.login-page__media{position:absolute;inset:0;background:#07131d}
.login-page__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(4,16,27,.36),rgba(4,16,27,.03) 62%,rgba(4,16,27,.12));
}
.login-page__media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.login-panel{
  width:min(410px,100%);
  height:min(690px,100%);
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.7);
  border-radius:4px;
  color:var(--tx);
  background:rgba(255,255,255,.96);
  box-shadow:0 28px 80px rgba(0,14,27,.28);
  backdrop-filter:blur(18px);
}
.login-panel__top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px;border-bottom:1px solid var(--line)}
.login-panel__back{flex:none;color:var(--tx3);font-size:13px}
.login-panel__back:hover{color:var(--brand)}
.login-panel__body{min-height:0;overflow:hidden;padding:24px 28px 18px}
.login-panel__body h1{font-size:28px;line-height:1.12;letter-spacing:-.04em}
.login-panel__lead{margin-top:8px;color:var(--tx2);font-size:13px;line-height:1.6}
.login-view-stack{height:100%;position:relative;overflow:hidden}
.login-view{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(18px);
  transition:opacity .24s ease,transform .38s var(--motion-out),visibility 0s linear .38s;
}
.login-view.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
/* 首帧即隐藏非当前表单，禁止注册视图在样式/会话初始化期间短暂露出。 */
.login-view[hidden],.login-method[hidden],.login-tabs button[hidden],.login-verification__content[hidden],.login-flow-actions>[hidden],.login-reset-stage[hidden]{display:none!important}
.login-view.is-active,.login-method.is-active{animation:login-panel-enter .24s var(--motion-out) both}
@keyframes login-panel-enter{from{opacity:.5;transform:translateX(10px)}to{opacity:1;transform:none}}
.login-tabs{display:grid;grid-template-columns:1fr 1fr;margin-top:15px;border-bottom:1px solid var(--line)}
.login-tabs[hidden]{display:none}
.auth-wechat-login{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:18px;border:1px solid #1aad19;border-radius:4px;color:#087c16;background:#fff;font:600 14px/1 var(--f-body);text-decoration:none;transition:background .18s ease,color .18s ease}
.auth-wechat-login:hover{color:#fff;background:#1aad19}
.auth-method-divider{display:flex;align-items:center;gap:12px;margin:17px 0 0;color:var(--tx3);font-size:12px;text-align:center}
.auth-method-divider::before,.auth-method-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.auth-wechat-login[hidden],.auth-method-divider[hidden]{display:none}
/* 登录和注册均为两项中性页签；服务端关闭某个验证码渠道时，剩余项自动占满。 */
.login-view>.login-tabs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
.login-tabs--register{margin-top:8px}
.login-tabs button{min-height:44px;padding:0;border:0;color:var(--tx3);background:transparent;font:600 13px/1 var(--f-body);cursor:pointer;box-shadow:inset 0 -2px 0 transparent;transition:color .18s ease,box-shadow .24s ease}
.login-tabs button:hover{color:var(--tx)}
.login-tabs button.is-active{color:var(--tx);box-shadow:inset 0 -2px 0 var(--tx)}
.login-methods{display:grid;min-height:312px;position:relative;flex:none;overflow:hidden}
.login-method{
  position:relative;
  grid-area:1/1;
  min-width:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(14px);
  transition:opacity .2s ease,transform .34s var(--motion-out),visibility 0s linear .34s;
}
.login-method.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.login-form{margin-top:14px}
.login-form .auth-field{gap:5px}
.login-form .auth-field>span{font-size:12px}
.login-form .auth-field input{min-height:44px;padding:8px 10px;font-size:16px}
.login-form .auth-field input:focus,
.login-form .auth-field input:focus-visible{
  outline:1px solid #101820;
  outline-offset:0;
  border-color:#101820;
  box-shadow:none;
}
.login-form>.auth-field+.auth-field{margin-top:15px}
.login-form .auth-code-row{margin-top:10px}
.login-form .auth-code-btn{min-width:104px;min-height:44px}
.login-form .auth-demo-note{margin-top:9px;padding:8px 10px;font-size:11.5px}
.login-form .auth-demo-note{color:var(--tx3);background:var(--surf3)}
.login-form .auth-demo-note b{color:var(--tx)}
.login-form .auth-error{min-height:18px;margin-top:4px;font-size:12px}
.login-form .auth-error[data-tone="error"]{color:#9f2d22}
.login-form .auth-error[data-tone="info"]{color:var(--brand)}
.login-submit{width:100%;min-height:44px;justify-content:center;margin-top:0;transition:transform .12s ease,background-color .18s ease,box-shadow .18s ease}
.login-submit:hover{background:#0752d6;box-shadow:0 8px 20px rgba(7,92,240,.2)}
.login-submit:active{transform:translateY(1px);background:#0648bd;box-shadow:0 2px 7px rgba(7,92,240,.16)}
.login-switch-prompt{margin-top:auto;padding-top:7px;text-align:center;color:var(--tx3);font-size:12.5px}
.login-switch-prompt button{padding:0;border:0;color:var(--brand);background:transparent;font:700 12.5px/1.5 var(--f-body);cursor:pointer}
.login-switch-prompt button:hover{text-decoration:underline;text-underline-offset:3px}
.login-switch-prompt__divider{margin-inline:8px;color:var(--line2)}
/* 注册与登录共用410px宽卡片；验证码交换只发生在预留槽位内，卡片本身不跳动。 */
.login-register-form{margin-top:14px}
.login-view[data-login-view="credentials"] .login-form{margin-top:12px}
.login-view[data-login-view="credentials"] .identity-summary,
.login-reset-stage .identity-summary{overflow-wrap:anywhere}
.login-form[aria-busy="true"]{cursor:progress}
.login-view .login-switch-prompt button{min-height:44px}
.login-verification{display:grid;min-height:72px;margin-top:10px;align-items:end}
.login-verification__content{grid-area:1/1;animation:login-verification-swap .22s var(--motion-out) both}
@keyframes login-verification-swap{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.login-slider{--slider-x:0px;--slider-progress:0;display:grid;gap:5px;user-select:none}
.login-slider__title{color:var(--tx2);font-size:12px}
.login-slider__track{height:44px;position:relative;display:block;overflow:hidden;border:1px solid var(--line2);border-radius:2px;background:var(--surf3);transition:border-color .18s ease,box-shadow .18s ease}
.login-slider__track:hover{border-color:#9aa8b2}
.login-slider__track:focus-within{border-color:#101820;box-shadow:0 0 0 1px #101820}
.login-slider__fill{position:absolute;inset:3px;border-radius:1px;background:#dfe5e9;transform:scaleX(var(--slider-progress));transform-origin:left center;transition:transform .18s ease}
.login-slider__label{position:absolute;inset:0;display:grid;place-items:center;padding-left:44px;color:var(--tx3);font-size:12px;pointer-events:none;transition:color .18s ease}
.login-slider__thumb{width:36px;height:36px;position:absolute;top:3px;left:3px;z-index:1;display:grid;place-items:center;border:1px solid #aebbc4;border-radius:2px;color:var(--brand);background:#fff;font:700 18px/1 var(--f-body);pointer-events:none;box-shadow:2px 0 8px rgba(18,38,52,.08);transform:translateX(var(--slider-x));transition:transform .18s var(--motion-out),color .18s ease,border-color .18s ease}
.login-slider__range{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;cursor:ew-resize;opacity:0}
.login-slider__range:disabled{cursor:wait}
.login-slider[data-ready="1"] .login-slider__label{color:var(--tx);font-weight:700}
.login-slider[data-ready="1"] .login-slider__thumb{border-color:#18734b;color:#18734b}
.login-flow-actions{min-height:82px;display:flex;flex-direction:column;align-items:center}
.login-flow-actions__edit{margin-top:5px}
.login-reset-stage{animation:login-verification-swap .22s var(--motion-out) both}
.identity-summary{margin:14px 0 2px;padding:10px 12px;border:1px solid var(--line);background:var(--surf3);color:var(--tx2);font-size:12px}
.login-panel__footer{padding:9px 18px 10px;border-top:1px solid var(--line);text-align:center}
.login-panel__legal{margin:0;color:var(--tx3);font-size:10.5px;line-height:1.55}
.login-panel__legal>*+*{margin-left:4px}
.login-panel__legal button{padding:0 2px;border:0;color:var(--tx2);background:transparent;font:inherit;text-decoration:underline;text-decoration-color:#aeb8bf;text-underline-offset:2px;cursor:pointer;transition:color .16s ease,text-decoration-color .16s ease}
.login-panel__legal button:hover{color:var(--brand);text-decoration-color:currentColor}
.login-panel__legal button:active{opacity:.62}
.login-page__footer{position:relative;z-index:1;align-self:end;text-align:center;pointer-events:none}
.login-page__copyright{margin:0;color:rgba(255,255,255,.76);font-size:10px;line-height:1.4;white-space:nowrap;text-shadow:0 1px 8px rgba(0,10,20,.72)}
.auth-policy{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:4px;color:var(--tx);background:#fff;box-shadow:0 22px 70px rgba(5,18,28,.28)}
.auth-policy::backdrop{background:rgba(4,14,22,.62)}
.auth-policy__head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 22px;border-bottom:1px solid var(--line);background:#fff}
.auth-policy__head h2{font-size:22px}
.auth-policy__close{width:40px;height:40px;border:1px solid var(--line);border-radius:2px;color:var(--tx);background:#fff;font-size:20px;cursor:pointer}
.auth-policy__close:hover{background:var(--surf3)}
.auth-policy__content{padding:20px 24px 28px}
.auth-policy__content h3{margin:22px 0 7px;font-size:16px}
.auth-policy__content h3:first-child{margin-top:0}
.auth-policy__content p{color:var(--tx2);font-size:13px;line-height:1.75}
/* 短视口压缩垂直节奏，保持登录、注册和账号设置三段都在单屏内完成。 */
@media(max-height:740px){
  .login-body .login-page{height:100svh;min-height:100svh;gap:4px;padding:8px 8px 6px}
  .login-body .login-panel{height:100%}
  .login-body .login-panel__top{padding:10px 16px}
  .login-body .login-panel__body{padding:10px 18px 8px}
  .login-body .login-panel__body h1{font-size:24px;line-height:1.08}
  .login-body .login-panel__lead{margin-top:4px;font-size:12px;line-height:1.35}
  .login-body .login-tabs{margin-top:7px}
  .login-body .login-tabs button{min-height:36px;font-size:12px}
  .login-body .login-methods{min-height:224px}
  .login-body .login-form,.login-body .login-register-form{margin-top:7px}
  .login-body .login-form>.auth-field+.auth-field{margin-top:7px}
  .login-body .login-form .auth-field{gap:3px}
  .login-body .login-form .auth-field input,
  .login-body .login-form .auth-code-btn{min-height:36px;padding-block:5px}
  .login-body .login-form .auth-demo-note{margin-top:5px;padding:5px 8px}
  .login-body .login-form .auth-error{min-height:14px;margin-top:2px;font-size:11px}
  .login-body .login-submit{min-height:38px}
  .login-body .login-switch-prompt{padding-top:2px;font-size:11.5px}
  .login-body .login-switch-prompt button{min-height:36px}
  .login-body .login-step{margin-top:5px;font-size:11px}
  .login-body .login-slider{margin:0}
  .login-body .login-slider__track{height:38px}
  .login-body .login-slider__thumb{width:30px;height:30px}
  .login-body .login-slider__label{padding-left:38px;font-size:11px}
  .login-body .login-flow-actions{min-height:64px}
  .login-body .login-view[data-login-view="credentials"] .login-form{margin-top:6px}
  .login-body .login-view[data-login-view="credentials"] .login-form .auth-field input{min-height:36px}
  .login-body .auth-consent{gap:6px;margin-top:0;font-size:10.5px;line-height:1.3}
  .login-body .auth-consent input{width:14px;height:14px;margin-top:0}
  .login-body .login-panel__legal{padding:6px 16px;font-size:9px;line-height:1.3}
  .login-body .rail__locale--standalone{position:fixed;top:8px;right:8px}
  .login-body .site-utilities__dock{position:fixed;right:8px;bottom:8px;padding:0}
}

@media(max-width:520px) and (max-height:740px){
  .login-body .brand__txt{display:none}
  .login-body .rail__locale--standalone{left:50%;right:auto;transform:translateX(-50%)}
  .login-body .rail__locale-menu{left:50%;right:auto;transform:translateX(-50%)}
}

@media(max-width:520px) and (max-height:620px){
  .login-body .site-utilities__dock{display:none}
  .login-body .login-panel__body{padding-top:8px;padding-bottom:6px}
  .login-body .login-panel__legal{padding-block:5px;font-size:9px}
}

/* Account center: one stable sidebar and a continuous document surface. */
.account-center{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:clamp(38px,5vw,78px);
  padding-block:clamp(60px,7vw,96px);
}
.account-side{position:sticky;top:96px;align-self:start;border-top:1px solid var(--line2)}
.account-identity{display:flex;align-items:center;gap:14px;padding:24px 0;border-bottom:1px solid var(--line)}
.account-avatar{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:50%;color:#fff;background:#101820;font-size:18px;font-weight:700}
.account-identity strong,.account-identity span{display:block}
.account-identity .account-avatar{display:grid}
.account-identity strong{font-size:15px}
.account-identity div>span{margin-top:3px;color:var(--tx3);font-size:12px}
.account-side__group{padding:20px 0;border-bottom:1px solid var(--line)}
.account-side__label{display:block;margin-bottom:8px;color:var(--tx3);font:600 10px/1.4 var(--f-mono);letter-spacing:.13em}
.account-side__group a{display:block;padding:8px 0;color:var(--tx2);font-size:14px}
.account-side__group a:hover{color:var(--brand)}
.account-logout{margin-top:20px;padding:0;border:0;color:var(--tx3);background:transparent;font:600 13px/1.5 var(--f-body);cursor:pointer}
.account-logout:hover{color:#a63a31}
.account-main{min-width:0}
.account-main__head{padding-bottom:38px;border-bottom:1px solid var(--line2)}
.account-main__head h1{font-size:clamp(42px,5vw,66px)}
.account-main__head p{max-width:680px;margin-top:16px;color:var(--tx2)}
.account-section{padding-block:42px;border-bottom:1px solid var(--line2);scroll-margin-top:96px}
.account-section h2{font-size:clamp(25px,2.5vw,34px)}
.account-section__head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.account-text-link{color:var(--brand);font-size:13px;font-weight:600}
.account-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;border-block:1px solid var(--line)}
.account-stat{padding:22px 20px;border-right:1px solid var(--line)}
.account-stat:last-child{border-right:0}
.account-stat span,.account-stat strong{display:block}
.account-stat span{color:var(--tx3);font-size:12px}
.account-stat strong{margin-top:10px;font-size:25px;font-variant-numeric:tabular-nums}
.account-profile{margin-top:26px}
.account-profile>div{display:grid;grid-template-columns:minmax(120px,.32fr) 1fr;gap:20px;padding:16px 0;border-top:1px solid var(--line)}
.account-profile dt{color:var(--tx3);font-size:13px}
.account-profile dd{color:var(--tx);font-weight:600}
.account-orders{margin-top:24px}
.account-empty{padding:30px 0;color:var(--tx3)}
.account-order{padding:24px 0;border-top:1px solid var(--line)}
.account-order__top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.account-order__top strong,.account-order__top span{display:block}
.account-order__top strong{font-family:var(--f-mono);font-size:14px}
.account-order__top div>span{margin-top:5px;color:var(--tx3);font-size:12px}
.account-order__state{padding:5px 10px;border-radius:4px;color:#2b6b49;background:var(--green-dim);font-size:11px;font-weight:700}
.account-order>p{margin-top:18px;color:var(--tx2);font-size:14px}
.account-order ul{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:10px;padding:0;list-style:none;color:var(--tx3);font-size:12px}
.account-access{display:grid;grid-template-columns:repeat(2,1fr);margin-top:26px;border-top:1px solid var(--line)}
.account-access>a,.account-access>article{min-height:150px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.account-access>a:nth-child(even),.account-access>article:nth-child(even){border-right:0}
.account-access strong,.account-access span{display:block}
.account-access strong{font-size:19px}
.account-access span{max-width:34ch;margin-top:12px;color:var(--tx2);font-size:13px;line-height:1.7}
.account-access>a:hover strong,.account-access>article a:hover{color:var(--brand)}
.account-module-state{display:block;margin:16px 0 10px;color:var(--tx3);font-size:12px}
.account-access article .btn{margin-top:10px}
.account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.account-form .auth-field{display:grid;gap:6px;color:var(--tx3);font-size:12px}
.account-form .auth-field input{min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:2px;background:var(--surf);color:var(--tx);font:inherit}
.account-form .auth-field input:focus-visible{outline:1px solid var(--tx);outline-offset:1px;border-color:var(--tx)}
.account-form .auth-consent,.account-form .auth-error,.account-form>.btn{grid-column:1/-1}
.account-form--compact{max-width:680px}
.account-section__lead{margin:8px 0 22px;color:var(--tx2);line-height:1.65}
.account-identity-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:32px}
.account-identity-form{padding:20px;border:1px solid var(--line);border-radius:2px}
.account-identity-form h3,.account-security-title{margin:0 0 16px;font-size:16px;letter-spacing:-.01em}
.account-security-title{margin-top:6px}
.auth-text-action{align-self:flex-start;min-height:36px;border:0;background:none;padding:2px 0;color:var(--brand);font:inherit;cursor:pointer;transition:color .16s ease,opacity .16s ease}
.auth-text-action:hover{color:#0347bc;text-decoration:underline;text-underline-offset:3px}
.auth-text-action:active{color:#063a91;opacity:.68}
.auth-explanation{margin:18px 0 2px;color:var(--tx2);font-size:14px;line-height:1.65}
@media(max-width:720px){.account-identity-forms{grid-template-columns:1fr}.account-identity-form{padding:16px}}
/* 危险操作独立成区：红色边线、明确后果和48px按钮，手机改为单列。 */
.account-danger{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 28px;margin-top:36px;padding:24px;border:1px solid #dba9a3;border-left:4px solid #9f2d22;background:#fff8f7}
.account-danger h3{grid-column:1;margin:0;font-size:20px;color:#792219}
.account-danger p{grid-column:1;margin:0}
.account-danger .account-danger__button{grid-column:2;grid-row:1/3;align-self:center;min-height:48px;padding:12px 20px;border-color:#9f2d22;background:#9f2d22;color:#fff;font-weight:600}
.account-danger .account-danger__button:hover{background:#792219;border-color:#792219}
.account-danger p{color:var(--tx2);font-size:13px;line-height:1.65}
.account-danger .account-text-link{color:#9f2d22}

/* Preserve the simulator as the single dense dark tool. */
.gcs{
  --void:#070b10;
  --bg:#0a0f15;
  --bg2:#0e141d;
  --surf:#121b26;
  --surf2:#1b2632;
  --surf3:#243240;
  --line:#223040;
  --line2:#324658;
  --tx:#f3f7fb;
  --tx2:#c2cfdc;
  --tx3:#8597aa;
  --accent:#47b1ec;
  --accent2:#6fe0d4;
  --blue-dim:#15314d;
  color:var(--tx);
  border-radius:4px;
  box-shadow:0 24px 60px rgba(10,18,25,.2);
}
.gcs h1,.gcs h2,.gcs h3,.gcs h4{color:var(--tx);letter-spacing:normal}

/* 【调参·GCS工作区】只放宽实际控制台，不拉宽下方教学正文。
 * 1760px上限、两侧沿用站点安全边距；手机仍在原内容轨道内。
 */
#app[data-page="simulator"] .gcs{
  width:min(calc(100vw - 2 * var(--gut)),1760px);
  margin-left:50%;
  translate:-50% 0;
}
/* 控制台保持深色；select需要单独处理操作系统弹层，不能只看computedStyle。 */
.gcs{color-scheme:dark}
.gcs .oprow input,.gcs .oprow select{
  min-width:0;min-height:40px;
  color:var(--tx);background:var(--bg2);
  border-color:var(--line2);border-radius:2px;box-shadow:none;
}
.gcs .oprow>label{color:var(--tx2)}
.gcs .oprow input:disabled,.gcs .oprow select:disabled{color:var(--tx3);background:var(--op-off-bg)}
.gcs .oprow input:focus-visible,.gcs .oprow select:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;
}
/* 【兼容·系统菜单】旧浏览器允许OS接管菜单背景，因此整个原生select
 * 使用浅底深字（含收起状态）。显式颜色，不从深色控制台继承浅字。
 */
.gcs select,.gcs .oprow select,.gcs select option{
  color-scheme:light;color:#101820;background:#f3f5f7;
}
.gcs .oprow select:disabled{color:#53616d;background:#e4e9ee}
/* 【展开层】支持base-select时，由浏览器在页面顶层绘制菜单。
 * 真正控制picker+option，不被右侧滚动栏裁切；仍保留原生value/change、
 * 键盘、焦点和读屏语义，无额外JS控件、无第二份选项或翻译数据。
 */
@supports (appearance: base-select){
  .gcs select,.gcs select::picker(select){appearance:base-select}
  .gcs select,.gcs .oprow select,.gcs select option,.gcs select::picker(select){
    color-scheme:dark;color:#f3f7fb;background:#0e141d;
  }
  .gcs select::picker(select){
    border:1px solid #324658;border-radius:2px;
    box-shadow:0 8px 24px #0005;
    max-height:min(320px,50vh);max-width:calc(100vw - 24px);overflow-y:auto;
  }
  .gcs select option{min-height:40px;padding:8px 12px;gap:10px;white-space:normal}
  .gcs select option:checked{background:#243240;font-weight:600}
  .gcs select option:hover,.gcs select option:focus{background:#1b2632}
  .gcs select option:focus-visible{outline:2px solid #47b1ec;outline-offset:-2px}
  .gcs select::picker-icon{color:#c2cfdc}
  .gcs select option::checkmark{color:#47b1ec}
  .gcs .oprow select:disabled{color:var(--tx3);background:var(--op-off-bg)}
}
@media(pointer:coarse){
  .gcs .oprow input,.gcs .oprow select{min-height:44px}
  .gcs select option{min-height:44px}
}

/* Footer */
.foot,
[data-theme="light"] .foot{
  margin-top:80px;
  padding-block:64px 36px;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.16);
  background:#080d12;
  box-shadow:none;
}
.foot .brand__mark{background:transparent;color:var(--brand)}
.foot .brand__txt{color:#fff}
.foot h4{color:rgba(255,255,255,.48)}
.foot a{color:rgba(255,255,255,.7)}
.foot a:hover{color:#fff}
.foot__note,.foot__bar{color:rgba(255,255,255,.5)}
.foot__bar{border-top-color:rgba(255,255,255,.14)}
#app[data-page="index"] .foot{margin-top:0}

/* Viewport choreography: groups enter as a sentence, not as separate widgets. */
.rise{transform:translateY(20px);transition:opacity .72s var(--motion-out),transform .72s var(--motion-out)}
.motion-group.rise>*{opacity:0;transform:translateY(16px);transition:opacity .64s var(--motion-out),transform .64s var(--motion-out)}
.motion-group.rise.in>*{opacity:1;transform:none}
.motion-group.rise>*:nth-child(2){transition-delay:.07s}
.motion-group.rise>*:nth-child(3){transition-delay:.14s}
.motion-group.rise>*:nth-child(4){transition-delay:.21s}
.motion-group.rise>*:nth-child(5){transition-delay:.28s}
.motion-group.rise>*:nth-child(6){transition-delay:.35s}

@media(hover:hover) and (pointer:fine){
  .shop-card:hover .shop-card__fig img{transform:scale(1.025)}
}

@media(max-width:1100px){
  .rail__in{gap:10px}
  .rail__nav a{padding-inline:8px;font-size:13px}
  .brand__txt span{display:none}
  .member-grid{grid-template-columns:1fr 1fr}
  .member-card--featured{grid-column:1/-1;grid-row:auto}
}

@media(max-width:1180px){
  /* 【首帧导航】1180px与navigation.js同步；未展开即隐藏，不等JS/内容/账户加载。
     开关不参与入场延迟，关闭立即生效；无JS时另载noscript样式展示原生链接。 */
  .rail__nav[hidden]{display:none}
  .rail:not([data-nav-open]) .rail__nav{display:none}
  .rail__in{grid-template-columns:minmax(0,1fr) auto}
  .rail__tools{gap:8px}
  .rail__cart,.rail__auth,.rail__locale{order:0;margin-left:0;margin-right:0}
  .rail__burger{display:inline-flex;order:0;margin-left:0;flex:none}
  .rail__nav{
    position:absolute;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;
    top:var(--rail-height);
    justify-self:stretch;
    gap:8px;
    padding:14px var(--rail-gut) 22px;
    /* 缩放后的短视口/手机横屏：菜单自身可滚动，最后一个入口不会落到屏幕外。 */
    max-height:calc(100svh - var(--rail-height));
    overflow-y:auto;
    overscroll-behavior:contain;
    border-bottom:1px solid var(--line);
    background:rgba(250,251,252,.98);
    box-shadow:0 20px 42px rgba(16,24,32,.12);
  }
  .rail__nav a{min-height:48px;padding-inline:0;border-bottom:1px solid var(--line);flex-shrink:0}
  .rail__nav a[aria-current="page"]{box-shadow:none;color:var(--tx)}
  .rail--overlay:not(.rail--compact) .rail__nav{
    border-bottom-color:rgba(255,255,255,.14);
    background:rgba(10,15,20,.96);
    box-shadow:0 20px 42px rgba(0,0,0,.24);
  }
  .rail--overlay:not(.rail--compact) .rail__nav a{color:#fff;border-bottom-color:rgba(255,255,255,.12)}
  .rail--overlay:not(.rail--compact) .rail__nav a[aria-current="page"]{color:#fff;box-shadow:none}
  .rail__cta{justify-content:center;margin:12px 0 0!important}
  .motion-ready .rail__nav:not([hidden]) a{animation:nav-item-in .4s var(--motion-out) both}
  .motion-ready .rail__nav:not([hidden]) a:nth-child(2){animation-delay:.035s}
  .motion-ready .rail__nav:not([hidden]) a:nth-child(3){animation-delay:.07s}
  .motion-ready .rail__nav:not([hidden]) a:nth-child(4){animation-delay:.105s}
  .motion-ready .rail__nav:not([hidden]) a:nth-child(5){animation-delay:.14s}
  .motion-ready .rail__nav:not([hidden]) a:nth-child(6){animation-delay:.175s}
  .motion-ready .rail__nav:not([hidden]) a:nth-child(7){animation-delay:.21s}
  @keyframes nav-item-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
}
@media(max-width:980px){
  .doc{grid-template-columns:1fr}
  .docnav{position:static;display:flex;gap:8px;overflow-x:auto;flex-wrap:nowrap}
  .docnav a{flex:none;padding:8px 12px;border:1px solid var(--line);border-radius:2px;background:var(--surf)}
  /* 固定条目数的桌面选择器也要进入响应式，避免六步流程在手机仍强制三列。 */
  .steps,.steps:has(>:nth-child(2):last-child),
  .steps:has(>:nth-child(3):last-child),.steps:has(>:nth-child(6):last-child),
  .flowrow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step:nth-child(2n),.flowcell:nth-child(2n){border-right:0}
  .account-center{grid-template-columns:1fr;gap:38px}
  .account-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;border-bottom:1px solid var(--line2)}
  .account-identity{grid-column:1/-1}
  .account-logout{grid-column:1/-1;margin:0;padding:18px 0;text-align:left}
}

@media(max-width:900px){
  /* 900px 以下改为图文列表；触屏大屏仍可并排，交互不依赖 hover。 */
  .home-paths__grid{grid-template-columns:1fr}
  .home-path{border-bottom:1px solid var(--line2)}
  .home-path:last-child{border-bottom:0}
  .home-path__link{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px;padding:24px 0}
  .home-path__media{margin:0;aspect-ratio:4/3;align-self:center}
  .home-path__panel{padding:8px 0;gap:16px}
  .home-proof__layout{grid-template-columns:1fr;gap:48px}
  .home-proof__media{min-height:min(680px,78vw)}
  .home-proof__copy{max-width:680px}
}

@media(max-width:820px){
  .home-product--system .home-product__in{grid-template-columns:1fr;gap:36px}
  .home-product--system .home-product__figure{aspect-ratio:16/10}
  .application-stories__grid{grid-template-columns:1fr;gap:38px}
  .application-story--lead{grid-row:auto}
  .application-story--lead .application-story__media{aspect-ratio:16/10}
  .application-story:not(.application-story--lead){grid-template-columns:minmax(0,.6fr) minmax(0,1fr)}
  .metrics{grid-template-columns:repeat(2,1fr)}
  .metric:nth-child(2){border-right:0}
  .metric:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .member-grid{grid-template-columns:1fr}
  .member-card--featured{min-height:430px}
  .shop-hero{grid-template-columns:1fr}
  .home-product__in{grid-template-columns:1fr}
  .home-product__copy{max-width:680px}
  .home-product__figure{min-height:min(620px,72vw)}
  .home-product__line{grid-template-columns:repeat(2,1fr)}
  .home-product__line li:nth-child(2){border-right:0}
  .home-product__line li:nth-child(-n+2){border-bottom:1px solid var(--line)}
}

@media(max-width:640px){
  /* 【调参·移动端覆盖】--gut 控制实绩与三业务边界；首屏文字边距由自身的收框量和留白相加。 */
  :root{--gut:22px;--sec:76px}
  h1{font-size:clamp(40px,12vw,54px)}
  h2{font-size:clamp(30px,9vw,40px)}
  h3{font-size:24px}
  .brand__txt{display:none}
  .rail__auth{width:44px;padding:0}
  .rail__cart{padding-inline:8px}
  .home-product--system .home-product__copy h2{font-size:clamp(30px,8.5vw,38px);line-height:1.2}
  .home-product--system .home-product__figure{min-height:0}
  .home-product--system .home-product__line li{min-height:0;border-color:#35434e}
  .application-story:not(.application-story--lead){display:flex;flex-direction:column;align-items:stretch;gap:22px}
  .application-story__media{aspect-ratio:16/10}
  .hero{min-height:100svh;--hero-frame-x:8px;--hero-copy-gap:14px}
  .hero__stage{min-height:100svh}
  .hero__media img,.hero__media video{object-position:54% 50%}
  .hero::before{background:linear-gradient(0deg,rgba(8,14,19,.93) 0%,rgba(8,14,19,.62) 58%,rgba(8,14,19,.2) 100%)}
  .hero__stage::before{background:linear-gradient(0deg,rgba(8,14,19,.93) 0%,rgba(8,14,19,.62) 58%,rgba(8,14,19,.2) 100%)}
  .hero__in{min-height:100svh;padding:112px calc(var(--hero-frame-x) + var(--hero-copy-gap)) 72px;justify-content:flex-end}
  /* 小屏标题占满可用内容宽度自然换行；≤390px 时继续随宽度缩至约 31px，防止句尾孤行。 */
  .hero__title{font-size:clamp(38px,9.8vw,54px);max-width:100%}
  .hero__lead{font-size:17px;line-height:1.65}
  .hero__btns{width:100%}
  .hero__btns .btn{width:100%;justify-content:center}
  .home-paths__head .head{margin-bottom:36px}
  .home-path__link{grid-template-columns:1fr;gap:22px;padding-block:24px 20px}
  .home-path__media{aspect-ratio:16/10}
  .home-path__panel{padding:0;gap:18px}
  .home-path__copy h3{font-size:32px}
  .home-path__copy p{margin-top:14px}
  .system-story__tabs{gap:8px}
  .home-proof .head h2,.home-product__copy h2{font-size:clamp(38px,10.5vw,48px)}
  .home-proof__media{min-height:430px}
  .home-proof__image--main{width:88%;height:72%}
  .home-proof__image--secondary{width:58%;height:44%;border-width:6px}
  .home-proof__copy .btns,.home-product__copy .btns{width:100%}
  .home-proof__copy .btn,.home-product__copy .btn{width:100%;justify-content:center}
  .home-product__figure{min-height:360px}
  .home-product__line{grid-template-columns:1fr}
  .home-product__line li{min-height:0;border-right:0;border-bottom:1px solid var(--line)}
  .home-product__line li:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .home-product__line li:last-child{border-bottom:0}
  .business-hero,main>.section.business-hero:first-child{padding:24px 0 56px}
  .business-hero .showcase{margin-inline:22px}
  .showcase--hero .showcase__in{min-height:calc(100svh - 121px);padding:28px 22px}
  .home-partners__in{grid-template-columns:1fr;gap:26px}
  .home-partners__actions{margin:0}
  .partner-loop__item{height:104px;padding-inline:28.8px}
  .partner-loop__logo{--partner-logo-width:144px;max-height:72px}
  main>.section:first-child:not(.showcase){padding-top:82px;padding-bottom:70px}
  main>.section:first-child:not(.showcase) h1{font-size:clamp(39px,10.5vw,44px);line-height:1.06}
  .cols--2>.panel:nth-child(2),.cols--2>.raise:nth-child(2){margin-top:0}
  .showcase{border-radius:4px}
  .showcase::after{background:linear-gradient(0deg,rgba(5,10,14,.9) 0%,rgba(5,10,14,.42) 60%,rgba(5,10,14,.1) 100%)}
  .showcase__in{min-height:500px;padding:28px;justify-content:flex-end}
  .showcase h1,.showcase h2{font-size:38px}
  .showcase .btns{width:100%}
  .showcase .btn{width:100%;justify-content:center}
  .chap__in{grid-template-columns:1fr;gap:12px}
  .chap__no{font-size:22px}
  .bay__rail{grid-template-columns:1fr;gap:8px;padding-bottom:18px}
  .fgrid2,.fgrid2[data-cols="2"],.fgrid2[data-cols="3"]{grid-template-columns:1fr}
  .fcard{min-height:0;border-right:0;padding:34px 0}
  .fcard__ic{margin-bottom:26px}
  .fgrid2.fgrid2--system[data-cols="2"]{grid-template-columns:1fr}
  .fgrid2--system .fcard{padding:30px 24px}
  .fgrid2--system .fcard:first-child,.fgrid2--system .fcard:last-child{grid-column:auto;grid-template-columns:1fr;gap:20px}
  [data-block="edu_roles_grid"] .fgrid2,[data-block="edu_course"] .fgrid2{grid-template-columns:1fr}
  [data-block="edu_roles_grid"] .fcard,[data-block="edu_course"] .fcard{min-height:0;padding:34px 0;border-right:0}
  [data-block="edu_roles_grid"] .fcard h3{margin-top:34px}
  .steps,.steps:has(>:nth-child(2):last-child),
  .steps:has(>:nth-child(3):last-child),.steps:has(>:nth-child(6):last-child),
  .flowrow{grid-template-columns:minmax(0,1fr)}
  .step,.flowcell{min-height:0;padding:28px 0;border-right:0}
  .stratum{grid-template-columns:1fr;gap:10px}
  .metrics{grid-template-columns:1fr}
  .metric{min-height:130px;border-right:0;border-bottom:1px solid var(--line)}
  .metric:last-child{border-bottom:0}
  .member-card{padding:28px}
  .member-card--featured{min-height:400px}
  .member-card__foot{flex-direction:column;align-items:stretch}
  .member-card__foot .btn{width:100%;justify-content:center}
  .tiles{grid-template-columns:1fr}
  .tile,.tile--wide{grid-column:1}
  .foot__grid{gap:38px}
  .login-page{align-items:center;gap:6px;padding:12px 12px 8px}
  .login-page__media img{object-position:center}
  .login-page__media::after{background:linear-gradient(0deg,rgba(4,16,27,.36),rgba(4,16,27,.04) 72%)}
  .login-panel{width:min(410px,100%);height:min(680px,100%);border-radius:4px}
  .login-panel__top{padding:15px 18px}
  .login-panel__body{padding:22px 20px 16px}
  .login-panel__legal{padding:0}
  .login-form{margin-top:18px}
  .account-center{padding-top:42px}
  .account-side{grid-template-columns:1fr}
  .account-side__group:nth-of-type(2){border-top:0}
  .account-stats{grid-template-columns:1fr}
  .account-stat{border-right:0;border-bottom:1px solid var(--line)}
  .account-stat:last-child{border-bottom:0}
  .account-profile>div{grid-template-columns:1fr;gap:5px}
  .account-access{grid-template-columns:1fr}
  .account-access>a,.account-access>article,.account-access>a:nth-child(even),.account-access>article:nth-child(even){border-right:0}
  .account-form{grid-template-columns:1fr}
  .account-danger{grid-template-columns:minmax(0,1fr);padding:20px}
  .account-danger .account-danger__button{grid-column:1;grid-row:auto;width:100%;margin-top:8px}
}

@media(max-width:390px){
  .rail__auth{max-width:44px}
  .rail__cart{margin-right:2px}
  /* 320px 继续缩至约 31px，让指定的两句不因仅差几个像素被拆成四行。 */
  .hero__title{font-size:clamp(31px,9.7vw,38px)}
  .auth-dialog__body{padding-inline:20px}
}

@media(prefers-reduced-motion:reduce){
  .hero__stage,.hero__media img,.hero__media video,.home-path__panel,.home-path__arrow,.motion-media .showcase__media img,.motion-media .showcase__in>*,.motion-group.rise>*,.partner-loop__track{opacity:1!important;animation:none!important;transition:none!important}
  .home-path__image{animation:none!important;transition:none!important;transform:none!important}
  .motion-media .showcase__media{clip-path:inset(0)!important;transition:none!important}
  .partner-loop{width:100%;flex-wrap:wrap}
  .partner-loop__track{width:100%;min-width:0;flex-wrap:wrap}
  .partner-loop__track[aria-hidden="true"]{display:none}
  .partner-loop__item{width:25%;min-width:0;padding:12px}
  .partner-loop__logo{max-width:min(var(--partner-logo-width),100%)}
  .rail,.rail *{transition:none!important}
  .login-view,.login-method,.login-slider__fill,.login-slider__thumb,.login-verification__content,.login-reset-stage{transition:none!important;animation:none!important}
}
@media(max-width:640px) and (prefers-reduced-motion:reduce){
  .partner-loop__item{width:50%}
}

/* ================================================================
 * 2026-09-03 · 紧凑公司首页
 * 【调参·屏高】首屏 = 标题/动画 + 业务行；后续每组两个模块。
 * min-height 而不是固定 height：缩放、短屏或较长译文可以撑开，不截字/锁滚动。
 * --home-half 控制后续每模块的桌面基准；此处不影响业务子页。
 * ================================================================ */
#app[data-page="index"]{--home-half:calc((100svh - 80px) / 2)}
/* 【调参·暗色首屏】仅首组覆盖颜色变量；光晕限于星球背后，不恢复全站底部网格。
 * 导航覆盖首屏，80px上内边距为导航预留；三业务仍和正文轨道对齐。 */
.home-screen--intro{
  --bg:#07131d;--surf:#152a39;--surf3:#183446;--tx:#f3f6f8;--tx2:#bac7d1;--tx3:#9baebd;--line2:rgba(191,216,235,.22);
  min-height:100svh;display:grid;grid-template-rows:minmax(410px,1fr) auto;padding:80px 0 32px;
  background:radial-gradient(ellipse 62% 78% at 76% 26%,rgba(32,119,164,.25),transparent 72%),radial-gradient(ellipse 40% 65% at 100% 60%,rgba(13,75,108,.17),transparent 78%),var(--bg);
}
.home-screen--intro :is(.company-hero,.home-paths--compact){background:transparent}
/* 【调参·首屏构图】左右栏1:1.14，1440px窗口将演示及仪表整体左收约40px。
 * 用栏宽而非画布translate校正，保留两栏安全间距；900px以下恢复单栏居中。 */
.home-screen--intro .company-hero__in{grid-template-columns:minmax(0,1fr) minmax(0,1.14fr);padding-block:20px 28px}
/* 【调参·首页入场】28px上移、650ms淡入/900ms减速归位，错峰由site.js设定。
 * 初态44%不透明度；按钮保持全亮。整行/整卡形成可感知的入场，不模糊、不弹跳、不逐字动画。
 * 只在观察器就绪后挂类，JS/观察器不可用时保持正常显示。三业务揭图仍独立运行。 */
.home-screen--intro .intro-reveal{opacity:.44;transform:translateY(28px)}
/* 过渡只加在终态，避免初始化时先从1淡出再折返，削弱真正的入场。 */
.home-screen--intro .intro-reveal.is-intro-visible{opacity:1;transform:none;transition:opacity .65s var(--motion-out),transform .9s var(--motion-out);transition-delay:var(--intro-delay,0ms)}
/* 蓝色主按钮只做短位移，保持白字/蓝底对比度，不随父组淡化。 */
.home-screen--intro .btns.intro-reveal{opacity:1}
.home-screen--intro .btns.intro-reveal.is-intro-visible{transition-duration:.5s,.75s}
.home-screen--intro .home-path.intro-reveal.is-intro-visible{transition-duration:.65s,.85s}
.home-screen--intro .intro-reveal:is(:focus-within,.intro-reveal--instant){opacity:1;transform:none;transition:none}
.formation{min-width:0;width:100%;margin:0}
/* 【调参·星球大小】调画布高度与 JS 的镜头比例，不缩放下方状态栏。 */
.formation__canvas{display:block;width:100%;height:clamp(280px,calc(100svh - 500px),500px)}
.formation__description{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* 【调参·小仪表】最大440px；只保留T+、再次起飞和五态计数，不显示演示标题/阶段文案。 */
.formation__caption{max-width:440px;margin:0 auto;padding-top:4px}
.formation__topline{display:flex;align-items:center;font-size:11px;color:var(--tx2)}
.formation__meta{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px}
.formation__clock{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:11px;white-space:nowrap;color:var(--tx)}
/* 【调参·状态仪表】五态计数合计1000，其中故障/离线恒0；四位等宽显示。 */
.formation__states{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:2px 0 0;border:0}
.formation__state-label{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--tx2);white-space:nowrap}
.formation__state-label::before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:var(--status-color)}
.formation__state[data-status="ready"]{--status-color:#47b1ec}
.formation__state[data-status="running"]{--status-color:#43d082}
.formation__state[data-status="low"]{--status-color:#f0a63c}
.formation__state[data-status="fault"]{--status-color:#f56555}
.formation__state[data-status="offline"]{--status-color:#748294}
.formation__count{display:block;margin-top:4px;font:500 17px/1.2 var(--f-mono);font-variant-numeric:tabular-nums;color:var(--tx)}

/* 【调参·紧凑三业务】与标题、后文 .wrap 内容轨道对齐。220px 左右而非旧450–580px。
 * 桌面仍悬停/聚焦揭图；手机用小幅常显缩略图，不依赖 hover 才知道能点击。 */
.home-paths--compact{padding:0;background:var(--bg)}
.home-paths--compact .home-paths__head{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0}
/* 【调参·三模块区分】通过16px间距和轻微底色分开，不再使用贯穿横线/列边框。 */
.home-paths--compact .home-paths__frame{border:0}
.home-paths--compact .home-paths__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border:0;clip-path:none}
.home-paths--compact .home-path{border:0;border-radius:2px;background:rgba(184,211,229,.055)}
.home-paths--compact .home-path__link{min-height:208px;display:block;padding:0;gap:0}
.home-paths--compact .home-path__panel{min-height:inherit;padding:24px clamp(20px,2.25vw,36px) 16px;gap:16px}
.home-paths--compact .home-path__copy{margin:0}
.home-paths--compact .home-path__copy h3{font-size:clamp(24px,2vw,30px)}
.home-paths--compact .home-path__copy p{margin-top:12px;max-width:25em;font-size:15px;line-height:1.6}
.home-paths--compact .home-path__cta{padding-top:0;border-top:0;font-size:13px}

/* 【调参·后续两模块一屏】左侧章节说明、右侧可操作内容，减少过去的大标题+巨图堆叠。
 * 1440×900 下每组约820px；导航另留80px。正文只压空白，不压触控目标。 */
.home-screen:not(.home-screen--intro)>.section{min-height:var(--home-half);padding-block:32px;display:flex;flex-direction:column;justify-content:center}
.home-screen :is(.company-about,.resource-start,.home-partners) .head h2{font-size:clamp(26px,2.25vw,36px);line-height:1.25;text-wrap:pretty}
.home-screen :is(.company-about,.resource-start,.home-partners) .head .lead{font-size:16px;line-height:1.7;margin-top:18px;text-wrap:pretty}

.company-about{background:var(--bg)}
.company-about__in{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,8vw,128px);align-items:center}
.company-about .head{margin:0;max-width:none}
.company-about .head .lead{color:var(--tx);font-weight:550}
.company-about__body{font-size:16px;line-height:1.8;color:var(--tx2);max-width:37em;margin-top:16px;text-wrap:pretty}
.company-about .btns{margin-top:20px}
.company-about__links{list-style:none;padding:0;margin:0;border-top:1px solid var(--line2)}
.company-about__links li{border-bottom:1px solid var(--line2)}
.company-about__links a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px;padding:16px 0;color:var(--tx);text-decoration:none}
.company-about__links h3{font-size:19px;line-height:1.5}
.company-about__links p{font-size:13px;color:var(--tx2);margin:4px 0 0}
.company-about__links a>span{font-size:24px;transition:transform .24s var(--motion-out)}
.company-about__links a:hover>span{transform:translate(3px,-3px)}
.company-about__links a:focus-visible{outline:2px solid var(--tx);outline-offset:4px}
.company-about__note{margin-top:12px;font-size:12px;color:var(--tx2);line-height:1.6}
.home-screen .resource-start__in{width:100%;align-items:center;gap:clamp(48px,8vw,128px);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.home-screen .resource-start__links a{min-height:86px;padding:16px 0}
.home-screen .resource-start__links h3{font-size:21px;line-height:1.35}
.home-screen .resource-start__links p{margin-top:6px;font-size:15px}
.home-screen .resource-start .btns{margin-top:24px}
.home-screen .home-partners{background:var(--bg)}
.home-screen .home-partners__in{width:100%}
.home-screen .home-partners .head{max-width:none}
.home-screen .partner-loop__track{margin-top:32px}

@media(max-width:1100px){
  .home-screen:not(.home-screen--intro)>.section{padding-block:28px}
}
@media(max-width:900px){
  /* 平板/触屏不维持桌面屏高目标，内容全部自然可读。 */
  .home-screen--intro{display:block;min-height:0;padding-top:72px;padding-bottom:32px}
  .home-screen--intro .company-hero__in{grid-template-columns:1fr;padding-block:40px 24px;gap:12px}
  .home-screen--intro .intro-reveal:not(.is-intro-visible):not(.intro-reveal--instant):not(:focus-within){transform:translateY(18px)}
  .home-screen--intro .home-path.intro-reveal{transition-delay:var(--intro-mobile-delay,0ms)}
  .company-hero h1{font-size:clamp(32px,5.8vw,46px)}
  .company-hero .lead{max-width:38em}
  .formation{max-width:640px;margin-inline:auto}
  .formation__canvas{height:300px}
  .home-paths--compact .home-path__link{min-height:0}
  .home-paths--compact .home-path__media{margin:0;border-radius:0;aspect-ratio:2.5}
  .home-paths--compact .home-path__panel{padding:22px 20px 12px}
  .home-paths--compact .home-path__copy h3{font-size:24px}
  .home-screen:not(.home-screen--intro)>.section{min-height:0;padding-block:44px}
  .company-about__in,.home-screen .resource-start__in{gap:36px}
}
@media(max-width:640px){
  /* 10字定位一行，保持品牌与定位同字号。更长的译文允许自然折行。 */
  .home-screen--intro .company-hero h1{font-size:clamp(25px,7vw,34px);line-height:1.3}
  .company-hero .lead{margin-top:20px}
  .company-hero .btns{margin-top:20px}
  .formation__canvas{height:250px}
  .formation__meta{gap:10px;font-size:11px}
  .formation__topline{gap:8px}
  .formation__states{gap:6px;padding-top:10px}
  .formation__state-label{font-size:11px;gap:4px}
  .home-paths--compact .home-paths__grid{grid-template-columns:1fr;gap:12px}
  .home-paths--compact .home-path__link{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:stretch}
  .home-paths--compact .home-path__media{aspect-ratio:auto;height:100%;min-height:144px}
  .home-paths--compact .home-path__panel{padding:18px 18px 8px;gap:4px}
  .home-paths--compact .home-path__copy h3{font-size:22px}
  .home-paths--compact .home-path__copy p{font-size:14px;margin-top:8px}
  .company-about__in,.home-screen .resource-start__in{grid-template-columns:1fr;gap:28px}
  .home-screen .home-partners__in{gap:20px}
  .company-about__body{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  .company-about__links a>span{transition:none}
}

/* 【调参·应用图展】居中标题 + 三张大图，不输出 tab/滑块/进度轨道。
 * --gallery-image 控制照片比重；横向翻页只由按钮、键盘或触摸触发。
 * 六个入口都留在文档中，Tab 聚焦链接时浏览器会自动将其滚入可见区域。 */
.application-gallery{--gallery-gap:24px;--gallery-image:clamp(190px,16vw,240px);background:var(--bg);color:var(--tx)}
.application-gallery>.wrap{width:100%}
.application-gallery .head{max-width:none;margin:0 0 28px;text-align:center}
.application-gallery .head h2,.home-screen .home-partners .head h2{max-width:none;font-size:clamp(32px,3vw,44px);line-height:1.25;text-wrap:balance}
.application-gallery__track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--gallery-gap)*2)/3);gap:var(--gallery-gap);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.application-gallery__track::-webkit-scrollbar{display:none}
.application-gallery__item{min-width:0;scroll-snap-align:start;display:flex;flex-direction:column}
.application-gallery__media{height:var(--gallery-image);overflow:hidden;background:#dce3e9;border-radius:2px}
.application-gallery__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--motion-out)}
.application-gallery__copy{padding-top:16px;display:flex;flex-direction:column;flex:1;align-items:flex-start}
.application-gallery__copy h3{font-size:21px;line-height:1.4}
.application-gallery__copy p{margin:8px 0 0;font-size:15px;line-height:1.65;color:var(--tx2);text-wrap:pretty;flex:1}
/* 【调参·场景按钮】复用品牌蓝按钮，无装饰箭头；16px间距，简介换行时按钮底部仍对齐。 */
.application-gallery__copy .btn{font-size:13px;margin-top:16px}
.application-gallery__controls{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}
.application-gallery__control{min-width:44px;min-height:44px;border:1px solid var(--line2);border-radius:2px;background:transparent;color:var(--tx);font-size:22px;cursor:pointer;transition:background-color .2s ease}
.application-gallery__control:hover:not(:disabled){background:#e5ebf0}
.application-gallery__control:disabled{opacity:.3;cursor:default}
.application-gallery__control:focus-visible{outline:2px solid var(--tx);outline-offset:3px}
.application-gallery__track:focus-visible{outline:2px solid var(--tx);outline-offset:5px}
.application-gallery__track .btn:focus-visible{outline-offset:-3px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .application-gallery__item:is(:hover,:focus-within) img{transform:scale(1.025)}
}

/* 【调参·合作收尾】主张/说明居中，轮播随后；唯一联系按钮是此模块最后一个元素。 */
.home-screen .home-partners__in{display:block;text-align:center}
.home-screen .home-partners .head{max-width:none;margin:0}
.home-screen .home-partners .head .lead{max-width:none;margin:16px auto 0}
.home-partners__contact{width:100%;margin-top:16px}
.home-partners__actions{justify-content:center;margin:0}
.home-screen:has(.application-gallery)>.company-about{min-height:0;padding-block:28px;border-top:1px solid var(--line)}
.home-screen:has(.application-gallery) .company-about__links a{min-height:72px;padding-block:12px}

@media(max-width:1000px){
  .application-gallery__track{grid-auto-columns:calc((100% - var(--gallery-gap))/2)}
}
@media(max-width:640px){
  .application-gallery{--gallery-gap:16px;--gallery-image:210px}
  .application-gallery__track{grid-auto-columns:88%}
  .application-gallery .head{margin-bottom:24px}
  .application-gallery .head h2,.home-screen .home-partners .head h2{font-size:30px}
  .application-gallery__copy h3{font-size:21px}
  .home-screen:has(.application-gallery)>.company-about{padding-block:44px}
  .home-partners__contact{margin-top:24px}
}
@media(prefers-reduced-motion:reduce){
  .application-gallery__media img,.application-gallery__control{transition:none}
}

/* ================================================================
 * 2026-09-03 · VPAC / 产学研整屏 / 企业实力 / 全站客服
 * 【调参·导航】首页观察文档顶部1px哨兵，下滚即转白；不绑定首屏底部。
 * 【调参·编队】不显示阶段条；再次起飞沿用ICON基准与鼠标偏角，飞行中禁用。
 * ================================================================ */
.company-hero__rail-sentinel{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}
.formation__message{font-size:11px;color:var(--tx2);margin:0 0 8px}
.formation__replay{min-height:44px;padding:0 10px;border:0;border-radius:2px;color:var(--tx);background:transparent;font:inherit;cursor:pointer;transition:background .2s}
.formation__replay:not(:disabled):hover{background:rgba(255,255,255,.08)}
.formation__replay:disabled{opacity:.35;cursor:default}
.formation__replay:focus-visible{outline:1px solid #80c7ed;outline-offset:-2px}

/* 【调参·产学研首屏】复用演出页媒体框架，但使用静态图片。
 * 标题/说明在上、8项事实在下；首屏用 min-height 可自然增高，不挤压长文或手机。
 * 首图/数据共同收缩，桌面单屏约900px，短屏允许页面滚动。 */
.hero--education .hero__in{min-height:100svh;justify-content:flex-end;padding-top:144px;padding-bottom:64px}
.hero--education .hero__title{max-width:18ch;font-size:clamp(40px,4.4vw,64px)}
.hero--education .hero__lead{max-width:46em;font-size:18px;line-height:1.75}
/* 产学研仅局部覆盖演出页白主按钮：课程套件为蓝色，岗位课程为白色。 */
.hero--education .hero__btns .btn--key{background:var(--brand);border-color:var(--brand);color:#fff}
.hero--education .hero__btns .btn--key:hover{background:#006895;border-color:#006895}
.hero--education .hero__btns .btn:not(.btn--key){background:#fff;border-color:#fff;color:#101820}
.hero--education .hero__btns .btn:not(.btn--key):hover{background:#e9edf1;border-color:#e9edf1}
.hero--education .hero__stage::before{background:linear-gradient(90deg,rgba(4,14,22,.8),rgba(4,14,22,.28)),linear-gradient(0deg,rgba(4,14,22,.9),transparent 80%)}
.hero__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px;row-gap:24px;margin:56px 0 0;width:100%;max-width:1200px}
.hero__fact{display:grid;grid-template-rows:auto 1fr;gap:8px;border-top:1px solid rgba(255,255,255,.24);padding-top:16px}
.hero__fact dt{grid-row:2;font-size:12px;line-height:1.6;color:#c8d4dc;text-wrap:pretty}
.hero__fact dd{grid-row:1;margin:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.hero__fact dd b{font:500 clamp(24px,2.5vw,36px)/1.2 var(--f-mono);letter-spacing:-.04em;color:#fff}
.hero__fact dd span{font-size:12px;color:#e1eaf0}
/* 数值内部span继承大字，不受单位小字样式影响；读屏只读完整终值。 */
.hero__number{white-space:nowrap;font-variant-numeric:tabular-nums}
.hero__fact dd .hero__count{display:inline-block;font:inherit;color:inherit}
.hero__number-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* 模拟器4项事实与主标题同屏；本地/运行属于文字，仍跟随同排数值的大字层级。 */
.hero--feature .hero__facts{max-width:none;margin-top:clamp(36px,6vh,64px);column-gap:32px}
.hero--feature .hero__fact{padding-top:20px}
.hero--feature .hero__fact dd b{font-family:var(--f-disp);font-size:clamp(28px,2.8vw,40px);font-variant-numeric:tabular-nums}
.hero--feature .hero__fact dt{font-size:13px}

/* 【调参·公司实力】上方简介/三枚原始牌匾，下方四幅资料图片。
 * 证书用 contain 保留原件边缘；场景用 cover。事实说明保持自然行高，不能裁短。 */
.home-screen:has(.application-gallery)>.company-about{padding-block:56px;border:0}
.company-about__in{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px 56px;align-items:start}
.company-about__proofs{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0}
.company-about__proof{color:var(--tx);text-decoration:none;display:block}
.company-about__proof img{width:100%;aspect-ratio:1.52;object-fit:contain;display:block;background:#e6e9e9}
.company-about__proof h3{font-size:14px;line-height:1.5;margin-top:12px}
.company-about__proof p{font-size:11px;line-height:1.7;color:var(--tx2);margin-top:5px}
.company-about__proof:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.company-about__proof:hover h3{color:var(--brand)}
.company-about__note{margin-top:20px}
.company-about__strengths{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.company-about__strengths img{width:100%;aspect-ratio:1.8;object-fit:cover;display:block}
.company-about__strengths h3{font-size:21px;margin:20px 0 10px}
.company-about__strengths p{font-size:14px;line-height:1.8;color:var(--tx2);text-wrap:pretty}

/* 【调参·公司形象】独立整屏满幅，不受两模块分组屏高约束。
 * 左下排版对照用户照片；渐变仅提高文字对比度，背景始终是真实基地照片。 */
.company-showcase{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:100svh;padding:clamp(64px,10vh,120px) 0;overflow:hidden;background:#101820;color:#fff}
.company-showcase__image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 65%}
.company-showcase::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,13,20,.9),rgba(6,13,20,.26) 80%),linear-gradient(0deg,rgba(6,13,20,.65),transparent 85%)}
.company-showcase__copy{width:100%}
.company-showcase__location{font-size:13px;letter-spacing:.15em;color:#c8d4de;margin-bottom:26px}
.company-showcase h2{color:#fff;font-size:clamp(36px,4.2vw,60px);line-height:1.3;max-width:19em;font-weight:600;white-space:pre-line}
.company-showcase__body{font-size:clamp(16px,1.4vw,20px);line-height:1.95;max-width:42em;margin-top:28px;color:#dce3e9;text-wrap:pretty}

/* 【调参·公司图文入场】只播放一次，文字14px/650ms；影像1.04→1/1000ms。
 * 默认内容可见，仅JS观察器就绪后添加隐藏初态；减弱动效与键盘聚焦直接可见。 */
.editorial-reveal:not(.company-showcase){opacity:0;transform:translateY(14px);transition:opacity .65s var(--motion-out),transform .7s var(--motion-out);transition-delay:var(--reveal-delay,0ms)}
.editorial-reveal:is(.is-revealed,:focus-within):not(.company-showcase){opacity:1;transform:none}
.company-showcase.editorial-reveal .company-showcase__image{transform:scale(1.04);transition:transform 1s var(--motion-out)}
.company-showcase.editorial-reveal.is-revealed .company-showcase__image{transform:none}

/* 【调参·右下快捷入口】联系与返回44px命中区；Desk为56px圆形。
 * 手机落在页脚安全留白内，modal 不覆盖关闭键；不依赖 hover 展示客服。 */
.site-utilities__dock{position:fixed;z-index:1001;right:clamp(12px,1.5vw,28px);bottom:calc(24px + env(safe-area-inset-bottom));display:grid;justify-items:end;gap:10px}
.site-utilities__button{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #d8dfe4;border-radius:2px;color:#26343f;background:#f3f5f7;cursor:pointer;transition:background .2s,color .2s}
.site-utilities__button svg{width:21px;height:21px}
.site-utilities__button:hover{background:#e2e9ee;color:#07131d}
.site-utilities__button:focus-visible{outline:2px solid #007db7;outline-offset:3px}
.desk-toggle{position:relative;display:grid;place-items:center;width:56px;height:56px;margin-top:4px;border:0;border-radius:50%;background:#007db7;color:#fff;text-decoration:none;cursor:pointer;box-shadow:0 3px 14px rgba(7,19,29,.18);transition:background .2s,transform .2s}
.desk-toggle:hover{background:#006b9e;transform:translateY(-2px)}
.desk-toggle:focus-visible{outline:2px solid #007db7;outline-offset:4px}
.desk-toggle svg{width:28px;height:28px}
.desk-dialog{width:min(440px,calc(100vw - 32px));height:min(680px,calc(100dvh - 48px));max-width:none;max-height:none;margin:auto 24px 24px auto;padding:0;border:1px solid #cfd8df;border-radius:4px;background:#fff;color:#101820;overflow:hidden;box-shadow:0 18px 60px rgba(7,19,29,.24)}
.desk-dialog::backdrop{background:rgba(4,13,20,.46)}
.desk-dialog__head{display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 12px 0 20px;border-bottom:1px solid #d8dfe4;background:#fff}
.desk-dialog__head h2{margin:0;font-size:16px;line-height:1.2}
.desk-dialog__close{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:2px;background:transparent;color:#26343f;cursor:pointer}
.desk-dialog__close:hover{background:#edf1f4;color:#07131d}
.desk-dialog__close:focus-visible{outline:2px solid #007db7;outline-offset:2px}
.desk-dialog__close svg{width:22px;height:22px}
.desk-dialog__status{position:absolute;inset:58px 0 0;display:grid;place-items:center;margin:0;padding:24px;color:#53616d;font-size:14px;background:#fff}
.desk-dialog__status[hidden]{display:none}
.desk-dialog__frame{display:block;width:100%;height:calc(100% - 58px);border:0;background:#fff}
.desk-dialog__frame[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.desk-toggle{transition:none}.desk-toggle:hover{transform:none}}
.support-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100svh - 48px);padding:30px;border:1px solid #d8dfe4;border-radius:4px;background:#f3f5f7;color:#101820;overflow-y:auto;margin:auto}
.support-dialog::backdrop{background:rgba(4,13,20,.55)}
.support-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.support-dialog__head h2{margin:0;font-size:28px}
.support-dialog__head .site-utilities__button{border:0}
.support-dialog__channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.support-dialog__channel{display:flex;min-width:0;flex-direction:column;padding:20px;border:1px solid #d8dfe4;border-radius:2px;background:rgba(255,255,255,.48)}
.support-dialog__channel h3{margin:0 0 14px;font-size:18px}
.support-dialog__channel p{margin:0;font-size:13px;line-height:1.7;color:#5d6b77}
.support-dialog__qr{width:min(160px,100%);height:auto;aspect-ratio:1;object-fit:contain;display:block;margin:0 auto 16px}
.support-dialog__channel .btn{width:100%;justify-content:center;margin-top:auto;font-size:13px;padding-inline:12px}
.support-dialog>[data-contact-open]{width:100%;min-height:44px;justify-content:center;margin-top:16px}
.foot{padding-bottom:100px}

@media(max-width:900px){
  .hero--education .hero__in{padding-bottom:48px}
  .hero--feature{--hero-frame-x:24px;--hero-copy-gap:24px}
  .hero--feature .hero__in{padding-top:132px;padding-bottom:72px}
  .hero--feature .hero__facts{column-gap:20px}
  .hero__facts{column-gap:20px;row-gap:20px;margin-top:40px}
  .company-about__in{grid-template-columns:1fr;gap:32px}
  .company-about__strengths{grid-template-columns:repeat(2,minmax(0,1fr))}
  .company-about__body{max-width:48em}
}
@media(max-width:640px){
  .hero--education .hero__in{padding-top:120px;padding-bottom:40px}
  .hero--education .hero__title{font-size:36px;max-width:none}
  .hero--education .hero__lead{font-size:16px}
  .hero__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}
  .hero__fact dd b{font-size:27px}
  .hero__fact dt{font-size:11px}
  /* 手机不压缩标题、不强制塞满一屏；数据2×2，按钮自然换行，短屏允许增长。 */
  .hero--feature{--hero-frame-x:8px;--hero-copy-gap:14px}
  /* 右下快捷工具共占114px，132px下留白避免整行按钮与44px工具命中区重叠。 */
  .hero--feature .hero__in{padding-top:120px;padding-bottom:132px}
  .hero--feature .hero__title{font-size:clamp(30px,8.1vw,44px);line-height:1.28}
  .hero--feature .hero__lead{font-size:16px;margin-top:24px}
  .hero--feature .hero__btns{margin-top:28px;gap:12px}
  .hero--feature .hero__facts{margin-top:32px;gap:22px 18px}
  .hero--feature .hero__fact{padding-top:14px}
  .hero--feature .hero__fact dd b{font-size:28px}
  .hero--feature .hero__fact dt{font-size:12px}
  .hero--feature .hero__stage::before{background:linear-gradient(180deg,rgba(5,14,22,.48),transparent 24%),linear-gradient(0deg,rgba(5,14,22,.95),rgba(5,14,22,.68) 52%,rgba(5,14,22,.22))}
  .section__actions{margin-top:28px;gap:12px}
  .company-about__proofs{gap:10px}
  .company-about__proof h3{font-size:12px}
  .company-about__proof p{font-size:10px}
  .company-about__strengths{gap:28px 16px}
  .company-about__strengths h3{font-size:19px;margin-top:14px}
  .company-about__strengths p{font-size:13px}
  .company-showcase{padding-block:64px;min-height:100svh}
  .company-showcase h2{font-size:32px;line-height:1.4}
  .company-showcase__location{font-size:11px}
  .company-showcase__body{font-size:16px;line-height:1.85}
  .company-showcase__image{object-position:62% center}
  .site-utilities__dock{right:12px;bottom:calc(20px + env(safe-area-inset-bottom));gap:6px}
  .desk-dialog{width:100%;height:100dvh;margin:0;border:0;border-radius:0}
  .desk-dialog__head{padding-left:16px}
  .support-dialog{padding:20px}
  .support-dialog__channels{grid-template-columns:minmax(0,1fr);gap:10px}
  .support-dialog__channel{padding:16px}
  .support-dialog__head{margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){
  .formation__replay,.site-utilities__button{transition:none}
  .home-screen--intro .intro-reveal{opacity:1;transform:none!important;transition:none!important}
  .editorial-reveal:not(.company-showcase),.company-showcase.editorial-reveal .company-showcase__image{opacity:1;transform:none;transition:none}
}
/* ==========================================================================
 * 关于我们 / 商城合并首屏（2026-09-03）
 * 【调参】沿用全站字体与#F3F5F7，不用新主题。公司页为图文叙事，商城为选型工具。
 * about-intro为旧CMS兼容块；当前公司首屏改用hero--feature。年表只固定左侧说明，不接管滚动。
 * ========================================================================== */
.about-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,5vw,80px);align-items:center;padding-block:clamp(56px,7vw,100px)}
.about-intro__label{color:var(--tx2);font-size:16px;margin:0 0 24px}
.about-intro h1{max-width:9em;margin:0;font-size:clamp(40px,4.5vw,64px);line-height:1.2;letter-spacing:-.04em;text-wrap:balance}
.about-intro__body{font-size:18px;line-height:1.8;color:var(--tx2);margin:28px 0 30px;max-width:26em}
.about-intro__photo{aspect-ratio:1.12;overflow:hidden;border-radius:4px}
.about-intro__photo img{width:100%;height:100%;object-fit:cover;object-position:56% 50%}
/* 蓝色动作只做微位移，不能随文案淡入降低文字对比度。 */
.about-intro .btns.editorial-reveal{opacity:1}
/* 【调参·首屏收框底色】与 .hero 的 --bg 共用画布，避免裁切后42px灰底与纯白简介硬接。
 * 背景保持静态连续；只让 hero__stage 收框，不改图片遮罩、收缩尺度或后续深色年表。 */
.about-overview{background:var(--bg);padding-block:clamp(64px,7vw,104px)}
.about-overview__intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,5vw,80px)}
.about-overview h2{font-size:clamp(30px,3.2vw,44px);max-width:9em;line-height:1.35;margin:0;text-wrap:balance}
.about-overview p{font-size:16px;line-height:1.85;color:var(--tx2);margin:0 0 20px}
.about-overview .about-overview__lead{font-size:20px;color:var(--tx)}
.about-overview .about-overview__note{font-size:14px;margin-bottom:0}
.about-values{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:32px;margin:56px 0 0;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-values dt{font-size:17px;font-weight:650;margin:0 0 12px}.about-values dd{margin:0;font-size:15px;line-height:1.8;color:var(--tx2)}
.about-strategy{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-top:40px}
.about-strategy h3{font-size:22px;margin:0 0 12px}.about-strategy p{font-size:15px;margin:0}
.company-history{background:#101820;color:#fff;padding-block:clamp(64px,7vw,104px)}
.company-history__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,128px);align-items:start}
.company-history__intro{position:sticky;top:112px}
.company-history h2{color:#fff;font-size:clamp(30px,3vw,44px)}
.company-history .lead{color:#b7c5ce}
.company-history__intro img{width:100%;aspect-ratio:1.4;object-fit:cover;object-position:bottom;margin-top:20px;border-radius:2px}
.company-history__note{font-size:13px;line-height:1.8;color:#b7c5ce;margin-top:24px}
.company-history__list{list-style:none;margin:0;padding:0 0 0 28px;border-left:1px solid #43525e}
.company-history__list li{position:relative;padding:0 0 42px}.company-history__list li:last-child{padding-bottom:0}
.company-history__list li::before{content:"";position:absolute;left:-32px;top:13px;width:7px;height:7px;border-radius:50%;background:#92bcd0}
.company-history__year{font-size:30px;font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:#fff}
.company-history__list h3{color:#fff;font-size:20px;margin:10px 0}
.company-history__list p{font-size:15px;line-height:1.85;color:#bdc9d2;margin:0}
.company-network{padding-block:clamp(64px,7vw,104px)}
.company-network__item{border-top:1px solid var(--line2)}.company-network__item:last-child{border-bottom:1px solid var(--line2)}
.company-network summary,.company-gallery__archive>summary{position:relative;cursor:pointer;list-style:none;padding:24px 40px 24px 0;min-height:72px}
.company-network summary::-webkit-details-marker,.company-gallery__archive>summary::-webkit-details-marker{display:none}
.company-network summary{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;scroll-margin-top:104px}
.company-network summary h3{font-size:clamp(18px,1.8vw,24px);line-height:1.5;margin:0}
.company-network summary span{font-size:15px;color:var(--tx2)}
.company-network summary::after,.company-gallery__archive>summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:26px;font-weight:400}
.company-network details[open]>summary::after,.company-gallery__archive[open]>summary::after{content:"−"}
.company-network__body{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;padding:4px 0 32px;align-items:center}
.company-network__body img{width:100%;max-height:340px;aspect-ratio:1.8;object-fit:contain;background:#e9edf1;border-radius:2px}
.company-network__body p{font-size:18px;line-height:1.85;margin:0;color:var(--tx2)}
.company-network details[open] .company-network__body{animation:company-open .35s var(--motion-out)}
.company-gallery{padding-block:clamp(56px,6vw,88px);background:#fff}
.company-gallery__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc(50% - 14px);gap:28px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:0;padding-bottom:16px;scrollbar-width:thin}
.company-gallery figure{margin:0;min-width:0;scroll-snap-align:start}
.company-gallery__image{display:block;aspect-ratio:1.7;overflow:hidden;background:#edf1f4;border-radius:2px}
.company-gallery__image img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--motion-out)}
.company-gallery h3{font-size:20px;line-height:1.45;margin:20px 0 8px}
.company-gallery figcaption p{font-size:15px;line-height:1.7;color:var(--tx2);margin:0}
.company-gallery__controls{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}
.company-gallery--archive{padding-block:0;background:var(--bg)}
.company-gallery__archive{border-top:1px solid var(--line2);padding:12px 0}
.company-gallery__archive>summary h2{font-size:clamp(28px,3vw,40px);margin:0}
.company-gallery__lead{max-width:64em;color:var(--tx2);font-size:15px;line-height:1.8;margin:0 0 32px}
.company-gallery--archive .company-gallery__track{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;overflow:visible;padding-bottom:32px}
.company-gallery--archive .company-gallery__image{aspect-ratio:1.75;background:#fff;padding:14px}
.company-gallery--archive .company-gallery__image img{object-fit:contain}
.company-gallery--archive h3{font-size:17px;margin-top:14px}.company-gallery--archive figcaption p{font-size:13px}
.company-gallery--archive .btns{margin:0 0 24px}
.company-contact{background:#fff;margin-top:72px;padding-block:clamp(64px,7vw,104px)}
.company-contact>.wrap>.head{max-width:none;text-align:center;margin-bottom:60px}
.company-contact h2{font-size:clamp(34px,4vw,54px)}
.company-contact__in{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(48px,7vw,100px);align-items:start}
.company-contact h3{font-size:22px;margin:0 0 20px}.company-contact__links{display:grid;gap:2px;justify-items:start;margin-bottom:28px}
.company-contact__links a{display:flex;gap:12px;align-items:center;min-height:44px;font-size:18px;color:var(--tx);overflow-wrap:anywhere}
.company-contact__links img{width:20px;height:20px;opacity:.7}
.company-contact__addresses{margin:0}.company-contact__addresses dt{font-weight:650;font-size:15px;margin-top:20px}
.company-contact__addresses dd{margin:6px 0 0;font-size:14px;line-height:1.8;color:var(--tx2)}
.company-contact__logo{display:block;width:280px;max-width:85%;height:auto;margin:0 auto 48px}
.company-contact__codes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.company-contact__codes figure{margin:0;text-align:center}.company-contact__codes img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.company-contact__codes figcaption{font-size:12px;margin-top:10px;color:var(--tx2)}
.company-contact__note{font-size:12px;line-height:1.7;color:var(--tx2);margin:52px 0 0;text-align:center}
@keyframes company-open{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none}}

/* 【沉浸舞台 A】替代迎春晚会图片，位于交付保障之前。
 * 顶部只用居中的架数作章节标题（36–56px）；单位随标题缩放，不推向右侧。
 * 下排品牌/选档/版权三列，选档保持几何居中；品牌保留内容中的中英文换行。
 * 手机选档独占一行，品牌与版权仍左右对齐，不能缩小点击区来挤成三列。
 * 画面沿用原型流光素材；这里仅调留白/比例，不叠滤镜改变亮度和辉光。
 * 中间画幅弹性撑开；小屏仍保留54px按钮命中区，圆点本身不是点击区。 */
.formation-stage{background:#000;color:#f3f5f7;padding:48px 0}
.formation-stage__inner{text-align:center;display:flex;flex-direction:column;min-height:clamp(480px,70svh,760px)}
.formation-stage__top{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.formation-stage .formation-stage__title{color:inherit;font-size:clamp(18px,1.8vw,26px);font-weight:400;line-height:1.4;margin:0;text-wrap:balance}
.formation-stage .lead{color:#b7c1cb;margin-inline:auto;font-size:17px}
.formation-stage .formation-stage__count{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:0;color:inherit;font-size:clamp(36px,4vw,56px);font-weight:400;line-height:1.2;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.formation-stage__value{font:inherit}
.formation-stage__unit{font-size:.5em;color:#b4bcc9;letter-spacing:0}
.formation-stage__frame{position:relative;width:100%;max-width:1280px;min-height:300px;flex:1;margin:16px auto 24px;background:#000}
.formation-stage__panel{position:absolute;inset:0}
.formation-stage__panel[hidden]{display:none}
.formation-stage__panel img,.formation-stage__panel video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.formation-stage__panel video{opacity:0;pointer-events:none;transition:opacity .35s ease}
.formation-stage__panel.is-playing video{opacity:1}
.formation-stage__bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px}
.formation-stage__caption,.formation-stage__category{font-size:13px;line-height:1.6;color:#b4bcc9;margin:0;overflow-wrap:anywhere}
.formation-stage__caption{grid-column:1;text-align:left;white-space:pre-line}
.formation-stage__category{grid-column:3;text-align:right}
.formation-stage__choices{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;justify-content:center;gap:9px}
.formation-stage__choices button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:54px;min-width:52px;padding:8px 6px;border:0;border-radius:2px;background:transparent;color:#9ba4b3;font:inherit;cursor:pointer;transition:color .2s}
.formation-stage__choices button[aria-pressed="true"],.formation-stage__choices button:hover{color:#fff}
.formation-stage__dot{width:6px;height:6px;border-radius:50%;background:#536071;transition:background .3s,box-shadow .3s,transform .3s}
.formation-stage__choices [aria-pressed="true"] .formation-stage__dot{background:#83b1ff;box-shadow:0 0 12px #438aff70;transform:scale(1.25)}
.formation-stage__choices button:focus-visible{outline:2px solid #8dc9ff;outline-offset:4px}
.formation-stage__label{font-size:12px;font-variant-numeric:tabular-nums}
.formation-stage__note{color:#aeb9c4;font-size:13px;line-height:1.7;margin:20px auto 0;max-width:620px}
.formation-stage .btns{justify-content:center;margin-top:28px}
.formation-stage .btn--plain{background:transparent;color:#f3f5f7;border-color:#58626c}
.product-stage[hidden]{display:none}
#app[data-page="pricing"] #apply{max-width:1000px;margin-inline:auto}
#app[data-page="pricing"] #apply .bay__head{margin-bottom:24px}
#app[data-page="pricing"] #apply .form{margin-top:24px}
.shop-buy__actions{display:grid;gap:12px;margin-top:24px}
.shop-buy__actions .btn{width:100%;margin:0}
.lead-product-context{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:16px;margin:0 0 4px;font-size:14px;line-height:1.6}
@media(max-width:640px){
 .formation-stage{padding:32px 0}
 .formation-stage__inner{min-height:clamp(360px,60svh,500px)}
 .formation-stage .lead{font-size:15px}
 .formation-stage__frame{min-height:240px;margin:12px auto 16px}
 .formation-stage__choices button{min-width:46px}
}
@media(max-width:760px){
 .formation-stage__bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:16px;column-gap:20px}
 .formation-stage__choices{grid-column:1/-1;grid-row:1}
 .formation-stage__caption{grid-column:1;grid-row:2}
 .formation-stage__category{grid-column:2;grid-row:2}
}
@media(prefers-reduced-motion:reduce){.formation-stage__panel video,.formation-stage__choices button,.formation-stage__dot{transition:none}}

/* 【调参·商城首屏密度】48px上边距、44px标题；分类和首排商品共享一个区域。
 * 1440×900可见首排入口，不给目录套大Hero；图片定比例，正文与底部动作弹性对齐。 */
#app[data-page="shop"] .shop-catalog{padding-top:48px;padding-bottom:64px}
.shop-catalog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:26px}
.shop-catalog__head h1{font-size:clamp(30px,3.1vw,44px);line-height:1.2;margin:0 0 14px;letter-spacing:-.035em}
.shop-catalog__head p{font-size:16px;line-height:1.7;color:var(--tx2);margin:0}
.shop-catalog__head .btns{margin:0;flex:none}
.shop-catalog__content{min-height:480px}
.shop-catalog .shop-catalog__filter{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px;margin:0;padding:0 0 14px;border-bottom:1px solid var(--line2)}
.shop-catalog__filter button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:68px;padding:8px 16px;color:var(--tx2);font:inherit;font-size:15px;border:0;border-bottom:2px solid transparent;background:transparent;cursor:pointer;transition:background-color .2s,color .2s}
.shop-catalog__filter button:hover{background:#e9edf1;color:var(--tx)}
.shop-catalog__filter button[aria-pressed="true"]{border-bottom-color:var(--tx);font-weight:650;color:var(--tx);background:transparent}
.shop-catalog__filter img{display:block;width:64px;height:44px;min-width:64px;object-fit:cover;border-radius:2px;background:#e9edf1}
.shop-catalog__status{min-height:22px;font-size:13px;color:var(--tx2);margin:16px 0}
.shop-catalog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;align-items:stretch}
.shop-catalog .shop-card{display:flex;flex-direction:column;border:0;box-shadow:none;background:#fff;border-radius:2px;overflow:hidden;min-width:0}
.shop-catalog .shop-card[hidden]{display:none!important}
.shop-catalog .shop-card__fig{aspect-ratio:16/10;background:#e9edf1;flex:none}
.shop-catalog .shop-card__fig img{padding:0;object-fit:contain;object-position:center}
.shop-catalog .shop-card[data-cat="service"] .shop-card__fig img{object-fit:cover}
.shop-catalog .shop-card__b{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px;background:#fff}
.shop-catalog .shop-card h3{font-size:22px;line-height:1.4;margin:0 0 12px}
.shop-catalog .shop-card__b>p{font-size:15px;line-height:1.75;margin:0 0 20px;color:var(--tx2)}
.shop-catalog .shop-meta{margin-top:auto;padding-top:0}.shop-catalog .shop-price{font-size:22px;line-height:1.4}
.shop-catalog .shop-note{font-size:12px;min-height:18px;margin:6px 0 0;color:var(--tx2)}
.shop-catalog .shop-price-spacer{height:18px;margin-top:6px}
.shop-catalog .shop-card__b>.btn{align-self:flex-start;margin-top:18px;min-height:44px}
.shop-catalog__warning{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:20px;background:#fff;border:1px solid var(--line);margin-bottom:24px}
.shop-catalog__warning p{margin:0;color:var(--tx2);font-size:15px}.shop-catalog__warning .btn{flex:none}
.shop-catalog__empty{padding:32px 0;color:var(--tx2)}
#app[data-page="shop"] .section{padding-block:48px}
#app[data-page="shop"] .metrics{margin:0}
@media(hover:hover){.company-gallery__image:hover img{transform:scale(1.025)}}
@media(max-width:1000px){
  .shop-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shop-catalog__filter img{display:none}.shop-catalog__filter button{min-height:48px;padding:8px 12px}
  .about-intro,.about-overview__intro{gap:32px;grid-template-columns:1fr 1fr}
  .company-contact__in{gap:40px}.company-contact__codes{grid-template-columns:repeat(2,minmax(0,1fr));max-width:300px;margin:auto;gap:20px}
  .company-history__in{gap:48px}.company-network__body{gap:28px}
}
@media(max-width:700px){
  .about-intro{grid-template-columns:1fr;padding-block:40px 48px;gap:32px}
  .about-intro h1{font-size:40px;max-width:9em}.about-intro__label{font-size:14px;margin-bottom:18px}
  .about-intro__body{font-size:16px;margin-block:20px 24px}.about-intro__photo{aspect-ratio:1.4}
  .about-overview__intro,.company-history__in,.company-contact__in{grid-template-columns:1fr;gap:32px}
  .about-overview h2{max-width:12em}.about-overview .about-overview__lead{font-size:18px}
  .about-values{grid-template-columns:1fr;gap:24px;margin-top:32px}.about-strategy{grid-template-columns:1fr 1fr;gap:28px 20px}
  .about-strategy h3{font-size:20px}.about-strategy p{font-size:14px}
  .company-history__intro{position:static}.company-history__intro img{aspect-ratio:1.8;max-height:280px}.company-history__list{margin-top:12px}
  .company-network summary{grid-template-columns:1fr;gap:8px;padding-block:20px}.company-network summary h3{font-size:18px}
  .company-network__body{grid-template-columns:1fr;gap:20px}.company-network__body p{font-size:16px}
  .company-gallery__track{grid-auto-columns:88%;gap:20px}.company-gallery h3{font-size:18px}
  .company-gallery--archive .company-gallery__track{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .company-gallery--archive .company-gallery__image{padding:8px;aspect-ratio:1.3}.company-gallery--archive h3{font-size:16px}
  .company-contact{margin-top:48px}.company-contact__in{gap:48px}.company-contact__logo{width:240px;margin-bottom:32px}
  .company-contact__codes{max-width:320px}.company-contact__codes figcaption{font-size:13px}
  #app[data-page="shop"] .shop-catalog{padding-top:32px;padding-bottom:32px}
  .shop-catalog__head{display:block;margin-bottom:24px}.shop-catalog__head p{font-size:15px}.shop-catalog__head .btns{margin-top:20px}
  .shop-catalog__grid{grid-template-columns:1fr;gap:24px}
  .shop-catalog .shop-catalog__filter{gap:6px}.shop-catalog__filter button{min-height:44px;font-size:14px;padding:8px 10px}
  .shop-catalog .shop-card__b{padding:20px}.shop-catalog .shop-card h3{font-size:22px}
  .shop-catalog__warning{display:block}.shop-catalog__warning .btn{margin-top:16px}
}
@media(prefers-reduced-motion:reduce){
  .company-network details[open] .company-network__body{animation:none}
  .company-gallery__image img{transition:none;transform:none!important}
}
/* English follows natural word boundaries; only source-authored line breaks remain. */
html:lang(en) h1,
html:lang(en) h2,
html:lang(en) h3 {
  word-break: normal;
  overflow-wrap: break-word;
  text-wrap: balance;
}

html:lang(en) p,
html:lang(en) li,
html:lang(en) dd {
  word-break: normal;
  overflow-wrap: break-word;
}

html:lang(en) .btn { white-space: normal; text-align: center; }
html:lang(en) .rail__nav { gap: clamp(12px, 1.1vw, 22px); }
html:lang(en) .rail__nav a { white-space: nowrap; }
@media (max-width: 540px) {
  html:lang(en) .formation__states {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 12px;
  }
}
.rail__locale--standalone { --rail-control: 44px; position: fixed; top: 22px; right: 22px; z-index: 110; }
.rail__locale--standalone .rail__locale-toggle { background: #fff; color: #111; }

/* Locale navigation fit: header and home labels; no simulator styles. */
.rail[data-locale-overflow] .rail__in{grid-template-columns:minmax(0,1fr) auto}
.rail[data-locale-overflow] .rail__burger{display:inline-flex;order:0;margin-left:0;flex:none}
.rail[data-locale-overflow] .rail__nav{
  position:absolute;left:0;right:0;top:var(--rail-height);display:flex;flex-direction:column;align-items:stretch;
  justify-self:stretch;gap:8px;padding:14px var(--rail-gut) 22px;
  max-height:calc(100svh - var(--rail-height));overflow-y:auto;overscroll-behavior:contain;
  border-bottom:1px solid var(--line);background:rgba(250,251,252,.98);box-shadow:0 20px 42px rgba(16,24,32,.12);
}
.rail[data-locale-overflow] .rail__nav[hidden],
.rail[data-locale-overflow]:not([data-nav-open]) .rail__nav{display:none}
.rail[data-locale-overflow] .rail__nav a{min-height:48px;padding-inline:0;border-bottom:1px solid var(--line);flex-shrink:0;white-space:normal}
.rail[data-locale-overflow] .rail__nav a[aria-current="page"]{box-shadow:none;color:var(--tx)}
.rail--overlay:not(.rail--compact)[data-locale-overflow] .rail__nav{border-bottom-color:rgba(255,255,255,.14);background:rgba(10,15,20,.96);box-shadow:0 20px 42px rgba(0,0,0,.24)}
.rail--overlay:not(.rail--compact)[data-locale-overflow] .rail__nav a{color:#fff;border-bottom-color:rgba(255,255,255,.12)}
/* Home status labels use the existing five-column grid without truncation. */
html:not([lang="zh-CN"]) .formation__state-label{white-space:normal;align-items:flex-start;min-height:2.7em;line-height:1.35;overflow-wrap:anywhere}
html:not([lang="zh-CN"]) .formation__state-label::before{margin-top:.45em}
/* End locale navigation fit. */

/* 语言交互仍等译文就绪；主导航不依赖译文或账户接口，SSR首帧即可开关。 */
.rail[data-static-nav] .rail__locale { visibility: hidden; pointer-events: none; }
.rail__burger [hidden]{display:none}

/* 产学研能力地图 C 版：只替换岗位地图，其余页面沿用原布局。 */
#app[data-page="education"] [data-block="edu_roles"]{display:block;margin:0}
#app[data-page="education"] [data-block="edu_roles"]>.bay__rail{padding:0 0 24px;border:0}
#app[data-page="education"] [data-block="edu_roles"]>.bay__rail .bay__title{font-size:clamp(30px,3.4vw,48px);line-height:1.14}
#app[data-page="education"] [data-block="edu_roles"]>.bay__body{display:grid;grid-template-columns:minmax(270px,34fr) minmax(0,66fr);gap:clamp(48px,7vw,96px);align-items:stretch;padding:10px 0 0}
#app[data-page="education"] [data-block="edu_roles_intro"]{position:relative;grid-column:1;grid-row:1;align-self:stretch;height:auto;min-height:340px;margin:0;padding:0;overflow:hidden;border:0;border-radius:2px;background:#101820}
#app[data-page="education"] [data-block="edu_roles_intro"] .richtext__media{position:absolute;inset:0;display:grid;grid-auto-flow:row;grid-auto-rows:minmax(0,1fr);height:auto;min-height:0;gap:1px;background:rgba(255,255,255,.14)}
#app[data-page="education"] [data-block="edu_roles_intro"] figure{min-height:0;margin:0;overflow:hidden;background:#101820}
/* 实训图以手持无人机为视觉中心：桌面竖幅从左下锚定并轻度放大，保留人物与现场语境。 */
#app[data-page="education"] [data-block="edu_roles_intro"] img{display:block;width:100%;height:100%;object-fit:cover;object-position:left bottom;transform:scale(1.08);transform-origin:left bottom;transition:transform .65s cubic-bezier(.16,1,.3,1)}
#app[data-page="education"] [data-block="edu_roles_intro"] figure:hover img{transform:scale(1.11)}
#app[data-page="education"] [data-block="edu_roles_grid"]{grid-column:2;grid-row:1;align-self:stretch;max-width:none;padding:0}
/* 左图和右表共用同一网格行：表格按内容定高，图片随网格行拉伸，避免中间断点循环计算高度。 */
#app[data-page="education"] [data-block="edu_roles_grid"] .fgrid2{counter-reset:edu-role;display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);background:transparent}
#app[data-page="education"] [data-block="edu_roles_grid"] .fcard{counter-increment:edu-role;display:grid;grid-template-columns:72px minmax(190px,.46fr) minmax(0,.54fr);gap:24px;align-items:start;min-height:0;padding:26px 0;border:0;border-bottom:1px solid var(--line);background:transparent}
#app[data-page="education"] [data-block="edu_roles_grid"] .fcard::before{content:"0" counter(edu-role);color:var(--brand);font:650 30px/1 var(--f-mono)}
#app[data-page="education"] [data-block="edu_roles_grid"] .fcard__head{display:block}
#app[data-page="education"] [data-block="edu_roles_grid"] .fcard__ic{display:none}
#app[data-page="education"] [data-block="edu_roles_grid"] .fcard__n{display:block;margin:0 0 8px;color:var(--brand);font-size:11px;letter-spacing:.08em}
#app[data-page="education"] [data-block="edu_roles_grid"] .fcard h3{margin:0;font-size:clamp(22px,2vw,28px);line-height:1.3}
#app[data-page="education"] [data-block="edu_roles_grid"] .fcard p{max-width:42em;margin:0;font-size:15px;line-height:1.75;color:var(--tx2)}

@media(max-width:1000px){
  #app[data-page="education"] [data-block="edu_roles"]>.bay__body{grid-template-columns:minmax(230px,32fr) minmax(0,68fr);gap:38px}
  #app[data-page="education"] [data-block="edu_roles_grid"] .fcard{grid-template-columns:58px minmax(150px,.42fr) minmax(0,.58fr);gap:18px}
}
/* 760px 起切为上下结构，避免窄平板把右侧说明压成过长单列。 */
@media(max-width:760px){
  #app[data-page="education"] [data-block="edu_roles"]>.bay__rail .bay__title{font-size:32px}
  #app[data-page="education"] [data-block="edu_roles"]>.bay__body{grid-template-columns:1fr;gap:28px}
  #app[data-page="education"] [data-block="edu_roles_intro"]{grid-column:1;grid-row:1}
  #app[data-page="education"] [data-block="edu_roles_grid"]{grid-column:1;grid-row:2}
  #app[data-page="education"] [data-block="edu_roles_intro"]{min-height:230px}
  #app[data-page="education"] [data-block="edu_roles_intro"] .richtext__media{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-rows:1fr}
  /* 横向手机画框已自然裁掉上下区域，只需贴底，不再二次放大。 */
  #app[data-page="education"] [data-block="edu_roles_intro"] img,#app[data-page="education"] [data-block="edu_roles_intro"] figure:hover img{object-position:left bottom;transform:none}
  #app[data-page="education"] [data-block="edu_roles_grid"] .fcard{grid-template-columns:46px minmax(0,1fr);gap:14px;padding:23px 0}
  #app[data-page="education"] [data-block="edu_roles_grid"] .fcard::before{font-size:23px}
  #app[data-page="education"] [data-block="edu_roles_grid"] .fcard p{grid-column:2;margin-top:-2px}
}
@media(prefers-reduced-motion:reduce){
  #app[data-page="education"] [data-block="edu_roles_intro"] img{transition:none}
}
@media(min-width:761px) and (prefers-reduced-motion:reduce){
  #app[data-page="education"] [data-block="edu_roles_intro"] figure:hover img{transform:scale(1.08)}
}
