/* =========================================================
   方案 1 · 經典紅 Classic Red —— 国际工业认证 / 企业官网质感
   原则:大量白与深灰,品牌红只落在关键处;8px 间距刻度;发丝线分隔;
   图片统一做降饱和 + 深色渐变 + 细颗粒处理。首页版式见 js/theme-classic.js(cx- 前缀)。
   所有选择器以 [data-theme="classic"] 开头。
   ========================================================= */
[data-theme="classic"] {
  --bg: #ffffff;
  --bg-alt: #f5f6f7;
  --surface: #ffffff;
  --ink: #12161d;
  --ink-2: #474d59;
  --muted: #6b717d;
  --line: #e4e6ea;
  --line-2: #d4d8de;
  --brand: #bf3f48;
  --brand-2: #a3313a;
  --brand-tint: #fbf0f1;
  --dark: #13171e;
  --dark-2: #0d1015;
  --accent: #bf3f48;
  --font-body: "Inter", system-ui, sans-serif;
  --font-head: "Inter", system-ui, sans-serif;
  --head-weight: 700;
  --head-ls: -0.03em;
  --radius: 4px;
  --radius-lg: 10px;
  --shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px -16px rgba(16, 24, 40, .18);
  --shadow-lg: 0 2px 4px rgba(16, 24, 40, .04), 0 28px 56px -24px rgba(16, 24, 40, .28);
  --ease: cubic-bezier(.22, .61, .36, 1);
  --cx-sec: 128px;
  --cx-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
[data-theme="classic"] body { font-size: 16.5px; }
[data-theme="classic"] ::selection { background: var(--brand); color: #fff; }
[data-theme="classic"] :focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
[data-theme="classic"] .stat-num { font-variant-numeric: tabular-nums; }

/* ---------- 文字组件 ---------- */
[data-theme="classic"] .eyebrow { gap: 12px; margin-bottom: 24px; font-size: 12px; font-weight: 600; letter-spacing: .16em; color: var(--ink-2); }
[data-theme="classic"] .eyebrow::before { content: ""; width: 24px; height: 2px; background: var(--brand); }
[data-theme="classic"] .link-arrow { gap: 10px; font-size: 15px; color: var(--ink); }
[data-theme="classic"] .link-arrow svg { color: var(--brand); transition: transform .35s var(--ease); }
[data-theme="classic"] .link-arrow:hover { color: var(--brand); }

/* ---------- 按钮:方正、克制 ---------- */
[data-theme="classic"] .btn { height: 52px; padding: 0 28px; border-radius: var(--radius); font-size: 15px; letter-spacing: -.005em; transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease); }
[data-theme="classic"] .btn svg { transition: transform .35s var(--ease); }
[data-theme="classic"] .btn:hover svg { transform: translateX(4px); }
[data-theme="classic"] .btn-primary { background: var(--brand); }
[data-theme="classic"] .btn-primary:hover { background: var(--brand-2); box-shadow: 0 12px 24px -12px rgba(191, 63, 72, .7); }
[data-theme="classic"] .btn-ghost { border: 1px solid rgba(18, 22, 29, .28); }
[data-theme="classic"] .btn-light { background: #fff; color: var(--ink); }
[data-theme="classic"] .btn-light:hover { transform: none; background: var(--ink); color: #fff; }

/* ---------- 页头 ---------- */
[data-theme="classic"] .topbar { display: block; background: var(--dark-2); color: rgba(255, 255, 255, .66); font-size: 12.5px; letter-spacing: .01em; }
[data-theme="classic"] .topbar-in { min-height: 38px; }
[data-theme="classic"] .topbar-contact { gap: 28px; }
[data-theme="classic"] .topbar a { transition: color .2s; }
[data-theme="classic"] .topbar a:hover { color: #fff; }
[data-theme="classic"] .topbar svg { width: 14px; height: 14px; opacity: .7; }
[data-theme="classic"] .topbar-note svg { color: #f07179; opacity: 1; }
[data-theme="classic"] .navbar { background: rgba(255, 255, 255, .97); border-bottom-color: var(--line); }
[data-theme="classic"] .scrolled .navbar { box-shadow: 0 10px 30px -20px rgba(16, 24, 40, .35); }
[data-theme="classic"] .mainnav > ul { gap: 0; }
[data-theme="classic"] .mainnav > ul > li > a { position: relative; height: 76px; padding: 0 16px; border-radius: 0; font-size: 15px; color: var(--ink); }
[data-theme="classic"] .mainnav > ul > li > a::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: -1px; height: 2px; background: var(--brand); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
[data-theme="classic"] .mainnav > ul > li > a:hover::after,
[data-theme="classic"] .mainnav > ul > li > a.active::after { transform: scaleX(1); }
[data-theme="classic"] .mainnav > ul > li > a:hover,
[data-theme="classic"] .mainnav > ul > li > a.active { color: var(--ink); }
[data-theme="classic"] .mainnav > ul > li > a svg { transition: transform .3s var(--ease); }
[data-theme="classic"] .has-sub:hover > a svg { transform: rotate(180deg); }
[data-theme="classic"] .mainnav .sub { top: 100%; border: 1px solid var(--line); border-top: 2px solid var(--brand); border-radius: 0 0 var(--radius-lg) var(--radius-lg); box-shadow: var(--shadow-lg); }
[data-theme="classic"] .sub a { border-radius: var(--radius); }
[data-theme="classic"] .sub a:hover, [data-theme="classic"] .sub a.active { background: var(--bg-alt); color: var(--ink); }
[data-theme="classic"] .sub-mega a:hover b { color: var(--brand); }
[data-theme="classic"] .icon-btn { border-radius: var(--radius); }
[data-theme="classic"] .icon-btn:hover { background: var(--bg-alt); color: var(--ink); }
[data-theme="classic"] .nav-cta { height: 42px; padding: 0 20px; }

/* =========================================================
   首页
   ========================================================= */
[data-theme="classic"] .cx-sec { padding: var(--cx-sec) 0; }
[data-theme="classic"] .cx-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: end; margin-bottom: 64px; }
[data-theme="classic"] .cx-head h2 { font-size: clamp(32px, 3.9vw, 54px); line-height: 1.04; letter-spacing: -.042em; max-width: 16ch; text-wrap: balance; }
[data-theme="classic"] .cx-head p { font-size: 17px; line-height: 1.65; color: var(--ink-2); max-width: 44ch; }
[data-theme="classic"] .cx-head p + .link-arrow { margin-top: 20px; }

/* ---------- Hero ---------- */
[data-theme="classic"] .cx-hero { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; min-height: clamp(700px, calc(100vh - 114px), 840px); background: var(--dark); color: #fff; }
[data-theme="classic"] .cx-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--cx-grain); opacity: .07; pointer-events: none; }
[data-theme="classic"] .cx-hero-media { position: absolute; top: 0; bottom: 0; left: 30%; right: 0; z-index: -2; }
[data-theme="classic"] .cx-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 46% 30%; filter: saturate(.72) contrast(1.08) brightness(.95); }
[data-theme="classic"] .cx-hero-media::after { content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(90deg, var(--dark) 0%, rgba(19, 23, 30, .82) 20%, rgba(19, 23, 30, .32) 48%, rgba(19, 23, 30, .1) 100%),
    linear-gradient(0deg, var(--dark) 0%, rgba(19, 23, 30, .72) 24%, rgba(19, 23, 30, 0) 52%),
    linear-gradient(180deg, rgba(19, 23, 30, .45) 0%, rgba(19, 23, 30, 0) 22%); }
[data-theme="classic"] .cx-hero-in { position: relative; flex: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; padding-top: 112px; padding-bottom: 72px; }
[data-theme="classic"] .cx-hero-copy { max-width: 780px; }
[data-theme="classic"] .cx-hero .eyebrow { color: rgba(255, 255, 255, .72); margin-bottom: 32px; }
[data-theme="classic"] .cx-hero h1 { color: #fff; font-size: clamp(46px, 6.5vw, 96px); font-weight: 700; line-height: .98; letter-spacing: -.048em; max-width: 11ch; text-wrap: balance; }
[data-theme="classic"] .cx-hl { background: linear-gradient(var(--brand), var(--brand)) no-repeat 0 92% / 100% .075em; padding-bottom: .02em; }
[data-theme="classic"] .cx-hero-lead { max-width: 46ch; margin: 32px 0 40px; font-size: 19px; line-height: 1.6; color: rgba(255, 255, 255, .76); }
[data-theme="classic"] .cx-hero .btn-ghost { color: #fff; border-color: rgba(255, 255, 255, .34); }
[data-theme="classic"] .cx-hero .btn-ghost:hover { background: #fff; color: var(--ink); border-color: #fff; }
[data-theme="classic"] .cx-hero-accred { display: flex; align-items: center; gap: 24px; padding: 18px 24px; margin-bottom: 8px; border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--radius-lg); background: rgba(13, 16, 21, .42); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); white-space: nowrap; }
[data-theme="classic"] .cx-hero-cap { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
[data-theme="classic"] .cx-hero-seal { display: flex; flex-direction: column; padding-left: 24px; border-left: 1px solid rgba(255, 255, 255, .16); }
[data-theme="classic"] .cx-hero-seal b { font-size: 19px; font-weight: 700; letter-spacing: .02em; line-height: 1.1; }
[data-theme="classic"] .cx-hero-seal small { font-size: 12px; color: rgba(255, 255, 255, .58); }

/* 数据条:融入 hero 底部,发丝线分隔 */
[data-theme="classic"] .cx-stats { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); }
[data-theme="classic"] .cx-stat { position: relative; padding: 32px 32px 44px; border-top: 1px solid rgba(255, 255, 255, .16); }
[data-theme="classic"] .cx-stat + .cx-stat { border-left: 1px solid rgba(255, 255, 255, .1); }
[data-theme="classic"] .cx-stat:first-child { padding-left: 0; }
[data-theme="classic"] .cx-stat::before { content: ""; position: absolute; top: -1px; left: 32px; width: 32px; height: 2px; background: var(--brand); }
[data-theme="classic"] .cx-stat:first-child::before { left: 0; }
[data-theme="classic"] .cx-stat .stat-num { font-size: clamp(36px, 3.7vw, 54px); font-weight: 600; letter-spacing: -.045em; color: #fff; }
[data-theme="classic"] .cx-stat-label { display: block; margin-top: 12px; font-size: 14px; color: rgba(255, 255, 255, .6); }

/* ---------- 标准滚动条 ---------- */
[data-theme="classic"] .cx-marquee { overflow: hidden; padding-left: 6%; background: #fff; border-bottom: 1px solid var(--line); -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
[data-theme="classic"] .cx-mq-track { display: flex; width: max-content; }
[data-theme="classic"] .cx-mq-group { display: flex; align-items: center; flex-shrink: 0; }
[data-theme="classic"] .cx-mq-item { display: inline-flex; align-items: baseline; gap: 12px; padding: 32px 0; white-space: nowrap; }
[data-theme="classic"] .cx-mq-item b { font-size: 20px; font-weight: 600; letter-spacing: -.02em; color: var(--ink); transition: color .3s; }
[data-theme="classic"] .cx-mq-item span { font-size: 14px; color: var(--muted); }
[data-theme="classic"] .cx-mq-item:hover b { color: var(--brand); }
[data-theme="classic"] .cx-mq-sep { flex-shrink: 0; width: 6px; height: 6px; margin: 0 40px; background: var(--brand); transform: rotate(45deg); }
[data-theme="classic"].anim .cx-mq-track { animation: cx-marquee 80s linear infinite; }
[data-theme="classic"].anim .cx-marquee:hover .cx-mq-track { animation-play-state: paused; }
@keyframes cx-marquee { to { transform: translateX(-50%); } }

/* ---------- 关于 + 资质 ---------- */
[data-theme="classic"] .cx-statement { max-width: 24ch; font-size: clamp(30px, 3.9vw, 56px); font-weight: 600; line-height: 1.1; letter-spacing: -.04em; color: var(--ink); text-wrap: balance; }
[data-theme="classic"] .cx-about-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px 96px; margin-top: 96px; padding-top: 48px; border-top: 1px solid var(--line); }
[data-theme="classic"] .cx-about-text h2 { font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; max-width: 24ch; text-wrap: balance; }
[data-theme="classic"] .cx-about-text p { margin: 16px 0 32px; font-size: 16.5px; line-height: 1.7; color: var(--ink-2); max-width: 52ch; }
[data-theme="classic"] .cx-bodies { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
[data-theme="classic"] .cx-body { position: relative; display: flex; flex-direction: column; min-height: 232px; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; transition: border-color .4s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease); }
[data-theme="classic"] .cx-body:hover { border-color: transparent; box-shadow: var(--shadow-lg); transform: translateY(-4px); }
[data-theme="classic"] .cx-body-ico { position: absolute; top: 32px; right: 32px; width: 24px; height: 24px; color: var(--brand); }
[data-theme="classic"] .cx-body-ico svg { width: 100%; height: 100%; }
[data-theme="classic"] .cx-body-code { margin-top: auto; font-size: 48px; font-weight: 700; line-height: 1; letter-spacing: -.02em; color: var(--ink); }
[data-theme="classic"] .cx-body-name { margin-top: 16px; font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--ink); }
[data-theme="classic"] .cx-body small { margin-top: 4px; font-size: 13.5px; color: var(--muted); }

/* ---------- 服务分类浏览器 ---------- */
[data-theme="classic"] .cx-services { background: var(--bg-alt); }
[data-theme="classic"] .cx-explorer { display: grid; grid-template-columns: 340px minmax(0, 1fr); overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 24px 48px -32px rgba(16, 24, 40, .22); }
[data-theme="classic"] .cx-tabs-col { display: flex; flex-direction: column; background: #fafafb; border-right: 1px solid var(--line); }
[data-theme="classic"] .cx-tabs { display: flex; flex-direction: column; }
[data-theme="classic"] .cx-tabs-foot { display: flex; flex-direction: column; gap: 4px; margin-top: auto; padding: 32px; }
[data-theme="classic"] .cx-tabs-foot span { font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
[data-theme="classic"] .cx-tabs-foot a { display: inline-flex; align-items: center; gap: 10px; margin-top: 8px; font-size: 20px; font-weight: 600; letter-spacing: -.02em; color: var(--ink); transition: color .3s; }
[data-theme="classic"] .cx-tabs-foot a svg { width: 18px; height: 18px; color: var(--brand); }
[data-theme="classic"] .cx-tabs-foot a:hover { color: var(--brand); }
[data-theme="classic"] .cx-tabs-foot small { font-size: 13px; line-height: 1.5; color: var(--muted); }
[data-theme="classic"] .cx-tab { position: relative; display: grid; grid-template-columns: 40px 1fr 20px; column-gap: 8px; row-gap: 4px; align-items: center; padding: 32px 32px 32px 32px; text-align: left; border-bottom: 1px solid var(--line); transition: background .35s var(--ease); }
[data-theme="classic"] .cx-tab::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--brand); transform: scaleY(0); transition: transform .4s var(--ease); }
[data-theme="classic"] .cx-tab::after { content: ""; position: absolute; top: 0; bottom: 0; right: -1px; width: 1px; background: #fff; opacity: 0; }
[data-theme="classic"] .cx-tab-no { grid-row: 1 / 3; align-self: start; padding-top: 3px; font-size: 13px; font-weight: 600; color: var(--muted); font-variant-numeric: tabular-nums; transition: color .3s; }
[data-theme="classic"] .cx-tab-name { font-size: 18px; font-weight: 600; letter-spacing: -.02em; color: var(--ink); }
[data-theme="classic"] .cx-tab-count { grid-column: 2; font-size: 13.5px; color: var(--muted); }
[data-theme="classic"] .cx-tab svg { grid-column: 3; grid-row: 1 / 3; width: 18px; height: 18px; color: var(--brand); opacity: 0; transform: translateX(-8px); transition: opacity .35s var(--ease), transform .35s var(--ease); }
[data-theme="classic"] .cx-tab:hover { background: #fff; }
[data-theme="classic"] .cx-tab.is-active { background: #fff; }
[data-theme="classic"] .cx-tab.is-active::before { transform: scaleY(1); }
[data-theme="classic"] .cx-tab.is-active::after { opacity: 1; }
[data-theme="classic"] .cx-tab.is-active .cx-tab-no { color: var(--brand); }
[data-theme="classic"] .cx-tab.is-active svg { opacity: 1; transform: none; }
[data-theme="classic"] .cx-tab:focus-visible { outline-offset: -4px; }
[data-theme="classic"] .cx-panels { display: grid; padding: 40px 48px 24px; }
[data-theme="classic"] .cx-panel { grid-area: 1 / 1; visibility: hidden; opacity: 0; transform: translateY(8px); transition: opacity .45s var(--ease), transform .45s var(--ease), visibility 0s .45s; }
[data-theme="classic"] .cx-panel.is-active { visibility: visible; opacity: 1; transform: none; transition: opacity .45s var(--ease), transform .45s var(--ease), visibility 0s; }
[data-theme="classic"] .cx-panel-head { display: flex; align-items: baseline; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid var(--ink); }
[data-theme="classic"] .cx-panel-no { display: none; }
[data-theme="classic"] .cx-panel-head h3 { font-size: 26px; font-weight: 600; letter-spacing: -.03em; }
[data-theme="classic"] .cx-panel-head p { margin-left: auto; font-size: 14.5px; color: var(--muted); text-align: right; }
[data-theme="classic"] .cx-svc-list a { display: grid; grid-template-columns: 168px minmax(0, 1fr) 40px; gap: 32px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--line); transition: padding .4s var(--ease); }
[data-theme="classic"] .cx-svc-list li:last-child a { border-bottom: 0; }
[data-theme="classic"] .cx-svc-name { font-size: 22px; font-weight: 600; letter-spacing: -.03em; color: var(--ink); white-space: nowrap; transition: color .3s; }
[data-theme="classic"] .cx-svc-txt b { display: block; margin-bottom: 4px; font-size: 15.5px; font-weight: 600; color: var(--ink); }
[data-theme="classic"] .cx-svc-txt span { display: block; max-width: 60ch; font-size: 15px; line-height: 1.6; color: var(--ink-2); }
[data-theme="classic"] .cx-svc-go { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); transition: background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease); }
[data-theme="classic"] .cx-svc-go svg { width: 18px; height: 18px; transition: transform .35s var(--ease); }
[data-theme="classic"] .cx-svc-list a:hover .cx-svc-name { color: var(--brand); }
[data-theme="classic"] .cx-svc-list a:hover .cx-svc-go { background: var(--brand); border-color: var(--brand); color: #fff; }
[data-theme="classic"] .cx-svc-list a:hover .cx-svc-go svg { transform: translateX(2px); }

/* ---------- 认证价值:深色 ---------- */
[data-theme="classic"] .cx-benefits { position: relative; isolation: isolate; overflow: hidden; background: var(--dark); color: #fff; }
[data-theme="classic"] .cx-benefits::before { content: ""; position: absolute; z-index: -1; right: -12%; top: -40%; width: 70%; height: 120%; background: radial-gradient(closest-side, rgba(191, 63, 72, .16), rgba(191, 63, 72, 0)); }
[data-theme="classic"] .cx-benefits::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--cx-grain); opacity: .06; }
[data-theme="classic"] .cx-benefits .eyebrow { color: rgba(255, 255, 255, .62); }
[data-theme="classic"] .cx-benefits .cx-head h2 { color: #fff; }
[data-theme="classic"] .cx-benefits .cx-head p { color: rgba(255, 255, 255, .64); }
[data-theme="classic"] .cx-ben-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255, 255, 255, .16); }
[data-theme="classic"] .cx-ben { position: relative; padding: 40px 32px 16px; border-left: 1px solid rgba(255, 255, 255, .1); }
[data-theme="classic"] .cx-ben:first-child { padding-left: 0; border-left: 0; }
[data-theme="classic"] .cx-ben::before { content: ""; position: absolute; top: -1px; left: 32px; width: 32px; height: 2px; background: var(--brand); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ease); }
[data-theme="classic"] .cx-ben:first-child::before { left: 0; }
[data-theme="classic"] .cx-ben:hover::before { transform: scaleX(1); }
[data-theme="classic"] .cx-ben-no { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .42); font-variant-numeric: tabular-nums; }
[data-theme="classic"] .cx-ben-ico { display: block; width: 40px; height: 40px; margin: 48px 0 32px; color: rgba(255, 255, 255, .92); transition: color .35s; }
[data-theme="classic"] .cx-ben-ico svg { width: 100%; height: 100%; }
[data-theme="classic"] .cx-ben:hover .cx-ben-ico { color: #f07179; }
[data-theme="classic"] .cx-ben h3 { margin-bottom: 12px; color: #fff; font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
[data-theme="classic"] .cx-ben p { max-width: 30ch; font-size: 15px; line-height: 1.65; color: rgba(255, 255, 255, .6); }

/* ---------- 流程:发丝线 + 节点 ---------- */
[data-theme="classic"] .cx-steps { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
[data-theme="classic"] .cx-step { position: relative; padding: 40px 24px 0 0; border-top: 1px solid var(--line-2); }
[data-theme="classic"] .cx-step::before { content: ""; position: absolute; top: -6px; left: 0; width: 11px; height: 11px; border-radius: 50%; background: #fff; border: 2px solid var(--brand); transition: background .3s, box-shadow .3s; }
[data-theme="classic"] .cx-step:first-child::before, [data-theme="classic"] .cx-step:hover::before { background: var(--brand); box-shadow: 0 0 0 6px rgba(191, 63, 72, .12); }
[data-theme="classic"] .cx-step-no { display: block; margin-bottom: 16px; font-size: 13px; font-weight: 600; letter-spacing: .06em; color: var(--brand); font-variant-numeric: tabular-nums; }
[data-theme="classic"] .cx-step h3 { margin-bottom: 8px; font-size: 18px; font-weight: 600; letter-spacing: -.02em; }
[data-theme="classic"] .cx-step p { font-size: 14.5px; line-height: 1.6; color: var(--ink-2); }

/* ---------- 培训:满版图文对开 ---------- */
[data-theme="classic"] .cx-training { display: grid; grid-template-columns: 1fr 1fr; min-height: 680px; background: var(--bg-alt); }
[data-theme="classic"] .cx-tr-media { position: relative; overflow: hidden; isolation: isolate; background: var(--dark); }
[data-theme="classic"] .cx-tr-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 8% 50%; filter: grayscale(1) contrast(1.3); mix-blend-mode: luminosity; opacity: .85; }
[data-theme="classic"] .cx-tr-media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(160deg, rgba(191, 63, 72, .28) 0%, rgba(19, 23, 30, 0) 45%), linear-gradient(0deg, rgba(19, 23, 30, .55), rgba(19, 23, 30, 0) 50%); }
[data-theme="classic"] .cx-tr-media::after { content: ""; position: absolute; inset: 0; z-index: 1; background-image: var(--cx-grain); opacity: .08; }
[data-theme="classic"] .cx-tr-body { display: flex; align-items: center; padding: 112px max(var(--gutter), calc((100% * 2 - var(--wrap)) / 2)) 112px 96px; }
[data-theme="classic"] .cx-tr-in { width: 100%; max-width: 520px; }
[data-theme="classic"] .cx-training h2 { font-size: clamp(32px, 3.6vw, 48px); line-height: 1.06; letter-spacing: -.04em; text-wrap: balance; }
[data-theme="classic"] .cx-tr-lead { margin-top: 24px; font-size: 17px; line-height: 1.65; color: var(--ink-2); max-width: 44ch; }
[data-theme="classic"] .cx-courses { margin-top: 48px; border-top: 1px solid var(--ink); }
[data-theme="classic"] .cx-courses a { display: grid; grid-template-columns: 1fr 40px; column-gap: 24px; row-gap: 6px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--line-2); }
[data-theme="classic"] .cx-course-tag { grid-column: 1; font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--brand); }
[data-theme="classic"] .cx-courses b { grid-column: 1; font-size: 21px; font-weight: 600; letter-spacing: -.025em; color: var(--ink); transition: color .3s; }
[data-theme="classic"] .cx-course-sum { grid-column: 1; font-size: 15px; line-height: 1.6; color: var(--ink-2); }
[data-theme="classic"] .cx-course-go { grid-column: 2; grid-row: 1 / 4; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line-2); border-radius: 50%; transition: background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease); }
[data-theme="classic"] .cx-course-go svg { width: 18px; height: 18px; }
[data-theme="classic"] .cx-courses a:hover b { color: var(--brand); }
[data-theme="classic"] .cx-courses a:hover .cx-course-go { background: var(--brand); border-color: var(--brand); color: #fff; }

/* ---------- CTA:品牌红 + Logo 菱形线框 ---------- */
[data-theme="classic"] .cta-band { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(90% 160% at 100% 0%, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 60%), linear-gradient(90deg, #bf3f48, #b13842); }
[data-theme="classic"] .cta-band::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--cx-grain); opacity: .08; }
[data-theme="classic"] .cta-band::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: rgba(255, 255, 255, .14); }
[data-theme="classic"] .cta-in { padding-top: 96px; padding-bottom: 96px; }
[data-theme="classic"] .cta-band h2 { font-size: clamp(32px, 3.8vw, 52px); line-height: 1.04; letter-spacing: -.04em; }
[data-theme="classic"] .cta-band p { margin-top: 16px; font-size: 18px; opacity: .86; }
[data-theme="classic"] .cta-band .actions { gap: 16px 32px; position: relative; }
[data-theme="classic"] .cta-phone { font-size: 18px; font-weight: 600; letter-spacing: -.01em; gap: 12px; }
[data-theme="classic"] .cta-phone svg { width: 44px; height: 44px; padding: 12px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .4); transition: background .3s, color .3s; }
[data-theme="classic"] .cta-phone:hover svg { background: #fff; color: var(--brand); }

/* ---------- 联系 ---------- */
[data-theme="classic"] .contact-sec { padding: var(--cx-sec) 0; }
[data-theme="classic"] .contact-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 96px; }
[data-theme="classic"] .contact-info h2 { font-size: clamp(32px, 3.9vw, 54px); line-height: 1.04; letter-spacing: -.042em; margin-bottom: 24px; text-wrap: balance; }
[data-theme="classic"] .contact-info > p { font-size: 16.5px; line-height: 1.7; margin-bottom: 40px; max-width: 48ch; }
[data-theme="classic"] .channels { gap: 0; border-top: 1px solid var(--line); }
[data-theme="classic"] .channels a { gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); border-radius: 0; }
[data-theme="classic"] .channels a:hover { background: none; }
[data-theme="classic"] .ch-ico { width: 40px; height: 40px; border-radius: 50%; background: #fff; border: 1px solid var(--line-2); color: var(--ink); transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
[data-theme="classic"] .ch-ico svg { width: 18px; height: 18px; }
[data-theme="classic"] .channels a:hover .ch-ico { background: var(--brand); border-color: var(--brand); color: #fff; }
[data-theme="classic"] .channels small { font-size: 12px; letter-spacing: .04em; }
[data-theme="classic"] .channels b { font-weight: 600; transition: color .3s; }
[data-theme="classic"] .channels a:hover b { color: var(--brand); }
[data-theme="classic"] .qr { margin-top: 32px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--bg-alt); }
[data-theme="classic"] .qr img { background: #fff; padding: 4px; border-radius: 4px; }
[data-theme="classic"] .contact-form { padding: 48px; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 32px 64px -40px rgba(16, 24, 40, .3); }
[data-theme="classic"] .form-grid { gap: 16px; }
[data-theme="classic"] .field input, [data-theme="classic"] .field textarea { border: 1px solid var(--line-2); border-radius: var(--radius); padding: 26px 16px 10px; transition: border-color .25s, box-shadow .25s; }
[data-theme="classic"] .field span { left: 17px; top: 18px; }
[data-theme="classic"] .field input:hover, [data-theme="classic"] .field textarea:hover { border-color: #aeb4bd; }
[data-theme="classic"] .field input:focus, [data-theme="classic"] .field textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 4px rgba(18, 22, 29, .06); }
[data-theme="classic"] .field input:focus + span, [data-theme="classic"] .field input:not(:placeholder-shown) + span,
[data-theme="classic"] .field textarea:focus + span, [data-theme="classic"] .field textarea:not(:placeholder-shown) + span { color: var(--muted); top: 8px; }
[data-theme="classic"] .form-foot { margin-top: 24px; }

/* ---------- 页脚:深色 ---------- */
[data-theme="classic"] .site-footer { background: var(--dark-2); color: rgba(255, 255, 255, .6); padding: 96px 0 40px; }
[data-theme="classic"][data-page="about"] .footer-big, [data-theme="classic"][data-page="search"] .footer-big { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; padding-bottom: 64px; margin-bottom: 64px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
[data-theme="classic"] .footer-big span { max-width: 16ch; color: #fff; font-size: clamp(32px, 4vw, 56px); font-weight: 600; line-height: 1.04; letter-spacing: -.04em; text-wrap: balance; }
[data-theme="classic"] .footer-big a { display: inline-flex; align-items: center; gap: 16px; padding: 0; color: #fff; font-size: 18px; font-weight: 600; white-space: nowrap; }
[data-theme="classic"] .footer-big a svg { box-sizing: content-box; width: 20px; height: 20px; padding: 14px; border-radius: 50%; background: var(--brand); transition: transform .35s var(--ease), background .3s; }
[data-theme="classic"] .footer-big a:hover svg { transform: translateX(4px); background: var(--brand-2); }
[data-theme="classic"] .footer-grid { gap: 64px; padding-bottom: 64px; border-color: rgba(255, 255, 255, .1); }
[data-theme="classic"] .footer-brand img { height: 32px; margin-bottom: 24px; }
[data-theme="classic"] .footer-brand p { max-width: 34ch; line-height: 1.7; color: rgba(255, 255, 255, .55); }
[data-theme="classic"] .site-footer h4 { margin-bottom: 20px; color: rgba(255, 255, 255, .42); font-size: 11.5px; font-weight: 600; letter-spacing: .16em; }
[data-theme="classic"] .site-footer a { color: rgba(255, 255, 255, .78); padding: 5px 0; }
[data-theme="classic"] .site-footer a:hover { color: #fff; }
[data-theme="classic"] .socials { margin-top: 32px; }
[data-theme="classic"] .socials a { padding: 0; border-color: rgba(255, 255, 255, .16); color: rgba(255, 255, 255, .8); }
[data-theme="classic"] .socials a:hover { background: var(--brand); border-color: var(--brand); color: #fff; }
[data-theme="classic"] .footer-bottom { padding-top: 32px; font-size: 12.5px; color: rgba(255, 255, 255, .4); }

/* =========================================================
   内页
   ========================================================= */
[data-theme="classic"] .page-hero { isolation: isolate; padding: 120px 0 104px; background: var(--dark); }
[data-theme="classic"] .page-hero-bg { z-index: -2; left: 36%; width: 64%; opacity: .62; filter: grayscale(1) contrast(1.12); mix-blend-mode: luminosity; }
[data-theme="classic"] .page-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--dark) 36%, rgba(19, 23, 30, .55) 58%, rgba(19, 23, 30, .15) 100%), linear-gradient(0deg, rgba(19, 23, 30, .6), rgba(19, 23, 30, 0) 50%); }
[data-theme="classic"] .page-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--cx-grain); opacity: .07; }
[data-theme="classic"] .page-hero-in { z-index: 1; }
[data-theme="classic"] .cx-ph-mark { position: absolute; z-index: 0; right: 4%; bottom: -.2em; font-size: clamp(120px, 17vw, 260px); font-weight: 700; line-height: 1; letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .22); pointer-events: none; user-select: none; white-space: nowrap; }
[data-theme="classic"] .crumbs { gap: 10px; margin-bottom: 40px; font-size: 13px; opacity: 1; color: rgba(255, 255, 255, .45); }
[data-theme="classic"] .crumbs a { color: rgba(255, 255, 255, .7); transition: color .2s; }
[data-theme="classic"] .crumbs a:hover { color: #fff; text-decoration: none; }
[data-theme="classic"] .crumbs [aria-current] { color: rgba(255, 255, 255, .92); }
[data-theme="classic"] .page-hero .eyebrow { opacity: 1; color: rgba(255, 255, 255, .66); }
[data-theme="classic"] .page-hero h1 { max-width: 18ch; font-size: clamp(38px, 5vw, 72px); line-height: 1.02; letter-spacing: -.045em; text-wrap: balance; }
[data-theme="classic"] .page-hero .lead { max-width: 54ch; margin-top: 24px; font-size: 18.5px; opacity: 1; color: rgba(255, 255, 255, .74); }

/* 正文布局 */
[data-theme="classic"] .page-body { grid-template-columns: 220px minmax(0, 1fr) 300px; gap: 64px; padding-top: 96px; padding-bottom: 128px; }
[data-theme="classic"] .side-nav, [data-theme="classic"] .side-cta { top: 144px; }
[data-theme="classic"] .side-nav h4 { margin-bottom: 16px; font-size: 11.5px; font-weight: 600; letter-spacing: .16em; color: var(--muted); }
[data-theme="classic"] .side-nav ul { gap: 0; }
[data-theme="classic"] .side-nav a { padding: 10px 16px; font-size: 14.5px; line-height: 1.45; color: var(--ink-2); }
[data-theme="classic"] .side-nav a:hover { color: var(--ink); }
[data-theme="classic"] .side-nav a.active { color: var(--ink); border-left-color: var(--brand); }
[data-theme="classic"] .side-card { position: relative; overflow: hidden; isolation: isolate; gap: 12px; padding: 32px; border-radius: var(--radius-lg); background: radial-gradient(circle at 100% 0%, rgba(191, 63, 72, .3), rgba(191, 63, 72, 0) 55%), var(--dark); color: #fff; }
[data-theme="classic"] .side-card::before { content: ""; position: absolute; left: 0; top: 0; width: 64px; height: 2px; background: var(--brand); }
[data-theme="classic"] .side-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--cx-grain); opacity: .07; }
[data-theme="classic"] .side-ico { width: 44px; height: 44px; margin-bottom: 8px; border-radius: 50%; background: transparent; border: 1px solid rgba(255, 255, 255, .22); color: #fff; }
[data-theme="classic"] .side-ico svg { width: 18px; height: 18px; }
[data-theme="classic"] .side-card h4 { color: #fff; font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
[data-theme="classic"] .side-card p { color: rgba(255, 255, 255, .66); }
[data-theme="classic"] .side-phone { margin: 8px 0; color: #fff; font-size: 24px; font-weight: 600; letter-spacing: -.02em; }
[data-theme="classic"] .side-card .btn { height: 48px; }
[data-theme="classic"] .side-line { color: rgba(255, 255, 255, .6); }
[data-theme="classic"] .side-line:hover { color: #fff; }

/* 正文排版 */
[data-theme="classic"] .prose { font-size: 17px; line-height: 1.78; color: var(--ink-2); }
[data-theme="classic"] .prose > * { max-width: 68ch; }
[data-theme="classic"] .prose > * + * { margin-top: 20px; }
[data-theme="classic"] .prose-lead { font-size: 24px; line-height: 1.45; font-weight: 500; letter-spacing: -.02em; color: var(--ink); text-wrap: pretty; }
[data-theme="classic"] .prose h3 { margin-top: 56px; font-size: 24px; font-weight: 600; letter-spacing: -.025em; line-height: 1.25; text-wrap: balance; }
[data-theme="classic"] .prose h3 + h3 { margin-top: 16px; font-size: 18px; }
[data-theme="classic"] .prose ul li::before { top: .72em; width: 6px; height: 6px; border-radius: 1px; }
[data-theme="classic"] .prose figure { max-width: none; }
[data-theme="classic"] .prose figure img { border-radius: var(--radius-lg); filter: saturate(.85); }
[data-theme="classic"] .prose .svc-figure { max-width: 240px; margin-top: 40px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--bg-alt); }
[data-theme="classic"] .prose .svc-figure img { border-radius: 6px; }
[data-theme="classic"] .svc-badge { position: relative; overflow: hidden; isolation: isolate; max-width: 240px; margin-top: 40px; padding: 28px; border-radius: var(--radius-lg); background: var(--dark); }
[data-theme="classic"] .svc-badge::before { content: ""; position: absolute; left: 28px; top: 28px; width: 32px; height: 2px; background: var(--brand); }
[data-theme="classic"] .svc-badge::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 100% 0%, rgba(191, 63, 72, .3), rgba(191, 63, 72, 0) 60%); }
[data-theme="classic"] .svc-badge span { font-size: 54px; font-weight: 700; letter-spacing: -.04em; }
[data-theme="classic"] .svc-badge small { opacity: .66; }
[data-theme="classic"] .prose .stat-grid.inline { gap: 16px; margin-top: 48px; padding: 32px 0; border-color: var(--line); }
[data-theme="classic"] .prose .stat-grid.inline .stat-num { font-size: 34px; font-weight: 600; letter-spacing: -.045em; color: var(--ink); }
[data-theme="classic"] .prose .stat-grid.inline .stat-label { font-size: 13.5px; }
/* 内页步骤:竖向时间线 */
[data-theme="classic"] .prose .steps-row { row-gap: 0; }
[data-theme="classic"] .prose .steps-row::before { display: block; left: 23px; top: 24px; bottom: 24px; width: 1px; background: var(--line-2); }
[data-theme="classic"] .prose .steps-row .step { grid-template-columns: 48px 1fr; gap: 24px; padding: 0 0 24px; }
[data-theme="classic"] .prose .steps-row .step:last-child { padding-bottom: 0; }
[data-theme="classic"] .prose .steps-row .step > div { padding-top: 11px; }
[data-theme="classic"] .prose .steps-row .step-no { width: 48px; height: 48px; border: 1px solid var(--line-2); background: #fff; color: var(--brand); font-size: 14px; font-weight: 600; transition: background .3s, color .3s, border-color .3s; }
[data-theme="classic"] .prose .steps-row .step:hover .step-no { background: var(--brand); border-color: var(--brand); color: #fff; }
[data-theme="classic"] .prose .step h3 { margin: 0 0 4px; font-size: 18px; }
[data-theme="classic"] .prose .step p { font-size: 15.5px; }
[data-theme="classic"] .prose .benefits.compact { gap: 0; margin: 48px 0; border-top: 1px solid var(--line); }
[data-theme="classic"] .prose .benefits.compact .benefit { padding: 32px 32px 32px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; }
[data-theme="classic"] .prose .benefits.compact .benefit:nth-child(even) { padding: 32px 0 32px 32px; border-left: 1px solid var(--line); }
[data-theme="classic"] .prose .benefits.compact .b-icon { width: 36px; height: 36px; margin-bottom: 24px; border-radius: 0; background: none; color: var(--brand); }
[data-theme="classic"] .prose .benefits.compact .b-icon svg { width: 100%; height: 100%; }
[data-theme="classic"] .prose .benefits.compact .benefit h3 { margin: 0 0 8px; font-size: 18px; }
[data-theme="classic"] .prose .benefits.compact p { font-size: 15px; line-height: 1.6; }

/* 通用区块标题(相关服务等) */
[data-theme="classic"] .sec-head { margin-bottom: 48px; }
[data-theme="classic"] .sec-head h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.06; letter-spacing: -.04em; }
[data-theme="classic"] .related { background: var(--bg-alt); padding: var(--cx-sec) 0; }

/* 服务卡(相关服务) */
[data-theme="classic"] .svc-card { padding: 32px; border-radius: var(--radius-lg); border-color: var(--line); transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease); }
[data-theme="classic"] .svc-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: transparent; }
[data-theme="classic"] .svc-card::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--brand); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
[data-theme="classic"] .svc-card:hover::after { transform: scaleX(1); }
[data-theme="classic"] .svc-cat, [data-theme="classic"] .svc-card h3, [data-theme="classic"] .svc-full, [data-theme="classic"] .svc-card p, [data-theme="classic"] .svc-card .link-arrow { position: relative; z-index: 1; }
[data-theme="classic"] .svc-cat { font-size: 11.5px; font-weight: 600; letter-spacing: .16em; }
[data-theme="classic"] .svc-code { z-index: 0; top: 24px; right: 24px; font-size: 48px; font-weight: 700; color: #f1f2f4; transition: color .45s var(--ease); }
[data-theme="classic"] .svc-card:hover .svc-code { color: rgba(191, 63, 72, .07); }
[data-theme="classic"] .svc-card h3 { margin-top: 24px; font-size: 24px; font-weight: 600; letter-spacing: -.03em; }
[data-theme="classic"] .svc-full { margin: 8px 0 16px; font-size: 14.5px; font-weight: 600; color: var(--ink-2); }
[data-theme="classic"] .svc-card p { margin-bottom: 24px; line-height: 1.6; }

/* 服务总览:左分组标题(吸顶)+ 右侧目录式列表 */
[data-theme="classic"] .services-index { counter-reset: grp; padding-top: 32px; padding-bottom: 128px; }
[data-theme="classic"] .services-index .svc-group { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 64px; padding-top: 80px; }
[data-theme="classic"] .services-index .svc-group-head { position: sticky; top: 144px; align-self: start; flex-direction: column; align-items: flex-start; gap: 12px; margin: 0; padding: 0; border: 0; }
[data-theme="classic"] .services-index .svc-group-head::before { counter-increment: grp; content: "0" counter(grp); margin-bottom: 8px; font-size: 13px; font-weight: 600; letter-spacing: .06em; color: var(--brand); font-variant-numeric: tabular-nums; }
[data-theme="classic"] .services-index .svc-group-head h2 { font-size: 30px; line-height: 1.12; letter-spacing: -.035em; }
[data-theme="classic"] .services-index .svc-group-head p { font-size: 15.5px; line-height: 1.6; color: var(--muted); max-width: 28ch; }
[data-theme="classic"] .services-index .svc-grid { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--ink); }
[data-theme="classic"] .services-index .svc-card { display: grid; grid-template-columns: 180px minmax(0, 1fr) 40px; grid-template-rows: auto auto; column-gap: 40px; row-gap: 6px; align-items: start; padding: 32px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; transition: padding .45s var(--ease), background .45s var(--ease); }
[data-theme="classic"] .services-index .svc-card:hover { transform: none; box-shadow: none; padding-left: 16px; padding-right: 16px; background: var(--bg-alt); }
[data-theme="classic"] .services-index .svc-card::after { top: auto; bottom: -1px; }
[data-theme="classic"] .services-index .svc-cat, [data-theme="classic"] .services-index .svc-code { display: none; }
[data-theme="classic"] .services-index .svc-card h3 { grid-column: 1; grid-row: 1 / 3; margin: 0; font-size: 24px; white-space: nowrap; }
[data-theme="classic"] .services-index .svc-full { grid-column: 2; grid-row: 1; margin: 2px 0 0; font-size: 16px; color: var(--ink); }
[data-theme="classic"] .services-index .svc-card p { grid-column: 2; grid-row: 2; margin: 0; max-width: 62ch; }
[data-theme="classic"] .services-index .svc-card .link-arrow { grid-column: 3; grid-row: 1 / 3; align-self: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--line-2); border-radius: 50%; font-size: 0; gap: 0; transition: background .35s var(--ease), border-color .35s var(--ease); }
[data-theme="classic"] .services-index .svc-card:hover .link-arrow { background: var(--brand); border-color: var(--brand); }
[data-theme="classic"] .services-index .svc-card:hover .link-arrow svg { color: #fff; }

/* 培训总览 */
[data-theme="classic"] .train-list.page { gap: 24px; padding: 96px 0 128px; }
[data-theme="classic"] .train-card { position: relative; overflow: hidden; padding: 40px; border-radius: var(--radius-lg); transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease); }
[data-theme="classic"] .train-card::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--brand); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
[data-theme="classic"] .train-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: transparent; }
[data-theme="classic"] .train-card:hover::after { transform: scaleX(1); }
[data-theme="classic"] .tag { font-size: 11.5px; font-weight: 600; letter-spacing: .16em; }
[data-theme="classic"] .train-card h3 { font-size: 26px; font-weight: 600; letter-spacing: -.03em; margin-bottom: 12px; }
[data-theme="classic"] .train-card p { margin-bottom: 24px; }

/* 搜索 */
[data-theme="classic"] .search-wrap { max-width: calc(var(--wrap) + var(--gutter) * 2); padding-top: 80px; padding-bottom: 128px; }
[data-theme="classic"] .search-wrap > * { max-width: 860px; }
[data-theme="classic"] .search-form { padding: 8px 8px 8px 20px; border: 1px solid var(--line-2); border-radius: var(--radius-lg); box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 24px 48px -32px rgba(16, 24, 40, .3); }
[data-theme="classic"] .search-form:focus-within { border-color: var(--ink); box-shadow: 0 0 0 4px rgba(18, 22, 29, .06), 0 24px 48px -32px rgba(16, 24, 40, .3); }
[data-theme="classic"] .search-form input:focus-visible { outline: none; }
[data-theme="classic"] .search-suggest a { border: 1px solid var(--line); background: #fff; transition: border-color .25s, color .25s; }
[data-theme="classic"] .search-suggest a:hover { border-color: var(--ink); color: var(--ink); }
[data-theme="classic"] .search-results { border-top: 1px solid var(--ink); }
[data-theme="classic"] .search-results li a { padding: 28px 0; transition: padding .4s var(--ease), background .4s var(--ease); }
[data-theme="classic"] .search-results li a:hover { padding-left: 16px; padding-right: 16px; background: var(--bg-alt); }
[data-theme="classic"] .search-results li a:hover h3 { color: var(--brand); }
[data-theme="classic"] .search-results mark { background: rgba(191, 63, 72, .12); }

/* 联系页 */
[data-theme="classic"] .contact-sec.page { padding: 112px 0 128px; }

/* =========================================================
   入场动效(仅在 app 开启动画时;?static / ?shot 下不生效)
   ========================================================= */
[data-theme="classic"].anim .cx-hero-media img { transform: scale(1.06); transition: transform 2.2s var(--ease); }
[data-theme="classic"].anim .cx-hero-copy > *, [data-theme="classic"].anim .cx-hero-accred, [data-theme="classic"].anim .cx-stat { opacity: 0; transform: translateY(20px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
[data-theme="classic"].anim .cx-hero.is-in .cx-hero-media img { transform: none; }
[data-theme="classic"].anim .cx-hero.is-in .cx-hero-copy > *, [data-theme="classic"].anim .cx-hero.is-in .cx-hero-accred, [data-theme="classic"].anim .cx-hero.is-in .cx-stat { opacity: 1; transform: none; }
[data-theme="classic"].anim .cx-hero.is-in .cx-hero-copy > :nth-child(2) { transition-delay: .08s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-hero-copy > :nth-child(3) { transition-delay: .16s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-hero-copy > :nth-child(4) { transition-delay: .24s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-hero-accred { transition-delay: .4s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-stat:nth-child(1) { transition-delay: .32s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-stat:nth-child(2) { transition-delay: .38s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-stat:nth-child(3) { transition-delay: .44s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-stat:nth-child(4) { transition-delay: .5s; }
[data-theme="classic"].anim .rv { transition-duration: .9s; transition-timing-function: var(--ease); }

/* =========================================================
   响应式
   ========================================================= */
@media (max-width: 1180px) {
  [data-theme="classic"] { --cx-sec: 112px; }
  [data-theme="classic"] .cx-hero-accred { display: none; }
  [data-theme="classic"] .cx-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 56px; }
  [data-theme="classic"] .cx-explorer { grid-template-columns: 280px minmax(0, 1fr); }
  [data-theme="classic"] .cx-svc-list a { grid-template-columns: 140px minmax(0, 1fr) 40px; gap: 24px; }
  [data-theme="classic"] .cx-tr-body { padding-left: 64px; }
  [data-theme="classic"] .page-body { grid-template-columns: minmax(0, 1fr) 280px; gap: 56px; }
}
@media (max-width: 960px) {
  [data-theme="classic"] { --cx-sec: 96px; }
  [data-theme="classic"] .cx-head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 48px; }
  [data-theme="classic"] .cx-hero-media { left: 0; }
  [data-theme="classic"] .cx-hero-media::after { background: linear-gradient(90deg, rgba(19, 23, 30, .88) 0%, rgba(19, 23, 30, .5) 70%, rgba(19, 23, 30, .3) 100%), linear-gradient(0deg, var(--dark) 0%, rgba(19, 23, 30, .6) 30%, rgba(19, 23, 30, 0) 60%); }
  [data-theme="classic"] .cx-stats { grid-template-columns: repeat(2, 1fr); }
  [data-theme="classic"] .cx-stat:nth-child(3) { padding-left: 0; border-left: 0; }
  [data-theme="classic"] .cx-stat:nth-child(3)::before { left: 0; }
  [data-theme="classic"] .cx-about-grid { grid-template-columns: 1fr; gap: 48px; margin-top: 64px; }
  /* 服务浏览器:小屏展开为分组列表 */
  [data-theme="classic"] .cx-explorer { display: block; overflow: visible; background: none; border: 0; border-radius: 0; box-shadow: none; }
  [data-theme="classic"] .cx-tabs-col { display: none; }
  [data-theme="classic"] .cx-panels { display: block; padding: 0; }
  [data-theme="classic"] .cx-panel { visibility: visible; opacity: 1; transform: none; }
  [data-theme="classic"] .cx-panel + .cx-panel { margin-top: 56px; }
  [data-theme="classic"] .cx-panel-no { display: inline; font-size: 13px; font-weight: 600; color: var(--brand); font-variant-numeric: tabular-nums; }
  [data-theme="classic"] .cx-panel-head { flex-wrap: wrap; row-gap: 4px; }
  [data-theme="classic"] .cx-panel-head p { flex-basis: 100%; margin-left: 0; text-align: left; }
  [data-theme="classic"] .cx-svc-list li:last-child a { border-bottom: 1px solid var(--line-2); }
  [data-theme="classic"] .cx-ben-grid { grid-template-columns: repeat(2, 1fr); }
  [data-theme="classic"] .cx-ben:nth-child(3) { padding-left: 0; border-left: 0; }
  [data-theme="classic"] .cx-ben:nth-child(3)::before { left: 0; }
  [data-theme="classic"] .cx-ben:nth-child(n + 3) { border-top: 1px solid rgba(255, 255, 255, .1); }
  [data-theme="classic"] .cx-ben { padding-bottom: 48px; }
  [data-theme="classic"] .cx-training { grid-template-columns: 1fr; }
  [data-theme="classic"] .cx-tr-media { min-height: 320px; }
  [data-theme="classic"] .cx-tr-body { padding: 80px var(--gutter); }
  [data-theme="classic"] .cx-tr-in { max-width: 640px; }
  [data-theme="classic"] .contact-grid { grid-template-columns: 1fr; gap: 56px; }
  [data-theme="classic"] .page-hero { padding: 96px 0 80px; }
  [data-theme="classic"] .page-hero-bg { left: 0; width: 100%; }
  [data-theme="classic"] .page-hero::before { background: linear-gradient(90deg, rgba(19, 23, 30, .92) 0%, rgba(19, 23, 30, .7) 100%); }
  [data-theme="classic"] .page-body { grid-template-columns: 1fr; gap: 48px; padding-top: 64px; padding-bottom: 96px; }
  [data-theme="classic"] .services-index .svc-group { grid-template-columns: 1fr; gap: 32px; padding-top: 64px; }
  [data-theme="classic"] .services-index .svc-group-head { position: static; }
  [data-theme="classic"] .train-list.page { padding: 64px 0 96px; }
}
@media (max-width: 640px) {
  [data-theme="classic"] { --cx-sec: 72px; }
  [data-theme="classic"] body { font-size: 16px; }
  [data-theme="classic"] .btn { height: 50px; padding: 0 24px; }
  /* hero */
  [data-theme="classic"] .cx-hero { min-height: 0; }
  [data-theme="classic"] .cx-hero-media img { object-position: 38% 30%; }
  [data-theme="classic"] .cx-hero-media::after { background: linear-gradient(180deg, rgba(19, 23, 30, .35) 0%, rgba(19, 23, 30, .72) 40%, var(--dark) 86%); }
  [data-theme="classic"] .cx-ph-mark { right: -4%; font-size: 120px; -webkit-text-stroke-color: rgba(255, 255, 255, .14); }
  [data-theme="classic"][data-page="about"] .footer-big, [data-theme="classic"][data-page="search"] .footer-big { flex-direction: column; align-items: flex-start; padding-bottom: 48px; margin-bottom: 48px; }
  [data-theme="classic"] .cx-hero-in { padding-top: 72px; padding-bottom: 48px; }
  [data-theme="classic"] .cx-hero .eyebrow { margin-bottom: 24px; }
  [data-theme="classic"] .cx-hero h1 { font-size: 44px; line-height: 1; }
  [data-theme="classic"] .cx-hero-lead { margin: 24px 0 32px; font-size: 17px; }
  [data-theme="classic"] .cx-hero .actions { flex-direction: column; align-items: stretch; }
  [data-theme="classic"] .cx-stat { padding: 24px 16px 32px; }
  [data-theme="classic"] .cx-stat::before { left: 16px; }
  [data-theme="classic"] .cx-stat:nth-child(odd) { padding-left: 0; }
  [data-theme="classic"] .cx-stat:nth-child(odd)::before { left: 0; }
  [data-theme="classic"] .cx-stat:nth-child(n + 3) { border-top-color: rgba(255, 255, 255, .1); }
  [data-theme="classic"] .cx-stat .stat-num { font-size: 36px; }
  [data-theme="classic"] .cx-stat-label { margin-top: 8px; font-size: 13px; }
  /* 滚动条 */
  [data-theme="classic"] .cx-mq-item { padding: 22px 0; gap: 8px; }
  [data-theme="classic"] .cx-mq-item b { font-size: 17px; }
  [data-theme="classic"] .cx-mq-item span { font-size: 13px; }
  [data-theme="classic"] .cx-mq-sep { margin: 0 24px; }
  /* 关于 */
  [data-theme="classic"] .cx-statement { font-size: 30px; line-height: 1.15; }
  [data-theme="classic"] .cx-about-grid { margin-top: 48px; padding-top: 40px; gap: 40px; }
  [data-theme="classic"] .cx-bodies { grid-template-columns: 1fr; gap: 16px; }
  [data-theme="classic"] .cx-body { min-height: 0; padding: 24px; }
  [data-theme="classic"] .cx-body-ico { top: 24px; right: 24px; }
  [data-theme="classic"] .cx-body-code { margin-top: 0; font-size: 40px; }
  /* 服务列表 */
  [data-theme="classic"] .cx-panel-head h3 { font-size: 22px; }
  [data-theme="classic"] .cx-svc-list a { grid-template-columns: minmax(0, 1fr) 40px; gap: 8px 16px; padding: 20px 0; }
  [data-theme="classic"] .cx-svc-name { grid-column: 1; font-size: 20px; }
  [data-theme="classic"] .cx-svc-txt { grid-column: 1; }
  [data-theme="classic"] .cx-svc-go { grid-column: 2; grid-row: 1 / 3; }
  [data-theme="classic"] .cx-svc-txt span { font-size: 14.5px; }
  /* 价值 */
  [data-theme="classic"] .cx-ben-grid { grid-template-columns: 1fr; }
  [data-theme="classic"] .cx-ben, [data-theme="classic"] .cx-ben:nth-child(n) { padding: 32px 0; border-left: 0; }
  [data-theme="classic"] .cx-ben + .cx-ben { border-top: 1px solid rgba(255, 255, 255, .1); }
  [data-theme="classic"] .cx-ben::before, [data-theme="classic"] .cx-ben:nth-child(n)::before { left: 0; }
  [data-theme="classic"] .cx-ben-ico { width: 32px; height: 32px; margin: 24px 0 20px; }
  [data-theme="classic"] .cx-ben p { max-width: none; }
  /* 流程:竖向时间线 */
  [data-theme="classic"] .cx-steps { grid-template-columns: 1fr; row-gap: 0; }
  [data-theme="classic"] .cx-step { padding: 0 0 32px 32px; border-top: 0; border-left: 1px solid var(--line-2); }
  [data-theme="classic"] .cx-step:last-child { padding-bottom: 0; border-left-color: transparent; }
  [data-theme="classic"] .cx-step::before { top: 2px; left: -6px; }
  [data-theme="classic"] .cx-step-no { margin-bottom: 8px; }
  /* 培训 */
  [data-theme="classic"] .cx-tr-media { min-height: 220px; }
  [data-theme="classic"] .cx-tr-body { padding: 64px var(--gutter) 72px; }
  [data-theme="classic"] .cx-courses { margin-top: 32px; }
  [data-theme="classic"] .cx-courses b { font-size: 19px; }
  /* CTA / 联系 */
  [data-theme="classic"] .cta-in { padding-top: 72px; padding-bottom: 72px; }
  [data-theme="classic"] .contact-form { padding: 24px; }
  [data-theme="classic"] .site-footer { padding-top: 72px; }
  [data-theme="classic"] .footer-grid { gap: 40px; padding-bottom: 48px; }
  /* 内页 */
  [data-theme="classic"] .page-hero { padding: 64px 0 56px; }
  [data-theme="classic"] .page-hero::before { background: linear-gradient(180deg, rgba(19, 23, 30, .72) 0%, rgba(19, 23, 30, .92) 100%); }
  [data-theme="classic"] .crumbs { margin-bottom: 28px; }
  [data-theme="classic"] .page-hero h1 { font-size: 38px; }
  [data-theme="classic"] .page-hero .lead { font-size: 16.5px; }
  [data-theme="classic"] .page-body { padding-top: 48px; padding-bottom: 72px; }
  [data-theme="classic"] .prose { font-size: 16px; }
  [data-theme="classic"] .prose-lead { font-size: 20px; }
  [data-theme="classic"] .prose h3 { margin-top: 44px; font-size: 21px; }
  [data-theme="classic"] .prose .benefits.compact .benefit, [data-theme="classic"] .prose .benefits.compact .benefit:nth-child(even) { padding: 28px 0; border-left: 0; }
  [data-theme="classic"] .prose .stat-grid.inline { grid-template-columns: 1fr 1fr; }
  [data-theme="classic"] .prose .stat-grid.inline .stat-num { font-size: 32px; }
  [data-theme="classic"] .related { padding: 72px 0; }
  [data-theme="classic"] .svc-card { padding: 28px 24px; }
  [data-theme="classic"] .svc-code { font-size: 40px; top: 20px; right: 20px; }
  [data-theme="classic"] .services-index { padding-bottom: 72px; }
  [data-theme="classic"] .services-index .svc-group { padding-top: 48px; gap: 24px; }
  [data-theme="classic"] .services-index .svc-group-head h2 { font-size: 26px; }
  [data-theme="classic"] .services-index .svc-card { grid-template-columns: minmax(0, 1fr) 40px; column-gap: 16px; row-gap: 6px; padding: 24px 0; }
  [data-theme="classic"] .services-index .svc-card h3 { grid-column: 1; grid-row: 1; font-size: 21px; }
  [data-theme="classic"] .services-index .svc-full { grid-column: 1; grid-row: 2; margin: 0; font-size: 15px; }
  [data-theme="classic"] .services-index .svc-card p { grid-column: 1; grid-row: 3; font-size: 14.5px; }
  [data-theme="classic"] .services-index .svc-card .link-arrow { grid-column: 2; grid-row: 1 / 4; }
  [data-theme="classic"] .train-list.page { padding: 48px 0 72px; }
  [data-theme="classic"] .train-card { padding: 28px 24px; }
  [data-theme="classic"] .search-wrap { padding-top: 48px; padding-bottom: 72px; }
  [data-theme="classic"] .contact-sec.page { padding: 64px 0 72px; }
}

/* ---------- 合作伙伴(中文站 about/4) ---------- */
[data-theme="classic"] .partner-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-top: 24px; }
[data-theme="classic"] .partner { justify-content: center; min-height: 160px; padding: 28px 24px; border-color: var(--line); border-radius: var(--radius-lg); transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
[data-theme="classic"] .partner img { max-height: 80px; filter: grayscale(1); opacity: .7; transition: filter .4s var(--ease), opacity .4s var(--ease); }
[data-theme="classic"] .partner figcaption { font-size: 12px; letter-spacing: .12em; }
[data-theme="classic"] .partner:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: transparent; }
[data-theme="classic"] .partner:hover img { filter: none; opacity: 1; }

/* =========================================================
   中文排版微调:中文没有小写字母的视觉重心,
   英文调好的超大字号 / 负字距 / 宽字距在中文下都要收一收
   ========================================================= */
html[data-lang="zh"][data-theme="classic"] h1, html[data-lang="zh"][data-theme="classic"] h2, html[data-lang="zh"][data-theme="classic"] h3, html[data-lang="zh"][data-theme="classic"] h4,
html[data-lang="zh"][data-theme="classic"] .cx-statement, html[data-lang="zh"][data-theme="classic"] .cx-hero-lead, html[data-lang="zh"][data-theme="classic"] .btn, html[data-lang="zh"][data-theme="classic"] .cx-tab-name,
html[data-lang="zh"][data-theme="classic"] .cx-courses b, html[data-lang="zh"][data-theme="classic"] .cx-tabs-foot a, html[data-lang="zh"][data-theme="classic"] .prose-lead, html[data-lang="zh"][data-theme="classic"] .side-phone,
html[data-lang="zh"][data-theme="classic"] .cx-ben h3, html[data-lang="zh"][data-theme="classic"] .cx-step h3, html[data-lang="zh"][data-theme="classic"] .footer-big span { letter-spacing: 0; }
html[data-lang="zh"][data-theme="classic"] .stat-num { letter-spacing: -.02em; }
/* 小标签:英文用 .16em 大写字距,中文收到 .08em */
html[data-lang="zh"][data-theme="classic"] .eyebrow, html[data-lang="zh"][data-theme="classic"] .cx-hero-cap, html[data-lang="zh"][data-theme="classic"] .cx-tabs-foot span, html[data-lang="zh"][data-theme="classic"] .site-footer h4,
html[data-lang="zh"][data-theme="classic"] .side-nav h4, html[data-lang="zh"][data-theme="classic"] .svc-cat, html[data-lang="zh"][data-theme="classic"] .tag, html[data-lang="zh"][data-theme="classic"] .cx-course-tag, html[data-lang="zh"][data-theme="classic"] .sub-cap,
html[data-lang="zh"][data-theme="classic"] .channels small, html[data-lang="zh"][data-theme="classic"] .services-index .svc-group-head::before { letter-spacing: .08em; }
/* 首屏 */
html[data-lang="zh"][data-theme="classic"] .cx-hero h1 { font-size: clamp(34px, 6vw, 88px); line-height: 1.22; max-width: 11em; }
html[data-lang="zh"][data-theme="classic"] .cx-hl { background-position: 0 96%; background-size: 100% .08em; }
html[data-lang="zh"][data-theme="classic"] .cx-hero-lead { max-width: 30em; font-size: 17.5px; line-height: 1.8; }
html[data-lang="zh"][data-theme="classic"] .cx-stat .stat-num { font-size: clamp(32px, 3.4vw, 48px); }
html[data-lang="zh"][data-theme="classic"] .cx-stat-label { font-size: 14.5px; }
/* 区块标题与说明 */
html[data-lang="zh"][data-theme="classic"] .cx-head h2 { font-size: clamp(26px, 3.2vw, 46px); line-height: 1.3; max-width: 15em; }
html[data-lang="zh"][data-theme="classic"] .cx-head p { max-width: 26em; font-size: 16px; line-height: 1.85; }
html[data-lang="zh"][data-theme="classic"] .cx-statement { font-size: clamp(24px, 3.4vw, 46px); line-height: 1.45; max-width: 20em; }
html[data-lang="zh"][data-theme="classic"] .cx-about-text h2 { font-size: 22px; line-height: 1.6; max-width: 18em; }
html[data-lang="zh"][data-theme="classic"] .cx-about-text p { max-width: 30em; font-size: 16px; line-height: 1.9; }
html[data-lang="zh"][data-theme="classic"] .cx-body-name { line-height: 1.6; }
/* 服务浏览器 */
html[data-lang="zh"][data-theme="classic"] .cx-tab-name { font-size: 17px; line-height: 1.5; }
html[data-lang="zh"][data-theme="classic"] .cx-panel-head h3 { font-size: 24px; letter-spacing: 0; }
html[data-lang="zh"][data-theme="classic"] .cx-panel-head p { font-size: 14px; }
html[data-lang="zh"][data-theme="classic"] .cx-svc-txt b { font-size: 15px; }
html[data-lang="zh"][data-theme="classic"] .cx-svc-txt span { font-size: 14.5px; line-height: 1.8; }
/* 价值 / 流程 / 培训 */
html[data-lang="zh"][data-theme="classic"] .cx-ben h3 { font-size: 19px; line-height: 1.5; }
html[data-lang="zh"][data-theme="classic"] .cx-ben p { max-width: 16em; line-height: 1.85; }
html[data-lang="zh"][data-theme="classic"] .cx-step h3 { font-size: 17px; line-height: 1.5; }
html[data-lang="zh"][data-theme="classic"] .cx-step p { line-height: 1.75; }
html[data-lang="zh"][data-theme="classic"] .cx-training h2 { font-size: clamp(26px, 3.2vw, 42px); line-height: 1.35; letter-spacing: 0; }
html[data-lang="zh"][data-theme="classic"] .cx-tr-lead { max-width: 24em; line-height: 1.85; }
html[data-lang="zh"][data-theme="classic"] .cx-courses b { font-size: 19px; line-height: 1.5; }
html[data-lang="zh"][data-theme="classic"] .cx-course-sum { line-height: 1.75; }
/* CTA / 联系 / 页脚 */
html[data-lang="zh"][data-theme="classic"] .cta-band h2 { font-size: clamp(26px, 3.2vw, 44px); line-height: 1.3; letter-spacing: 0; }
html[data-lang="zh"][data-theme="classic"] .cta-band p { font-size: 17px; }
html[data-lang="zh"][data-theme="classic"] .contact-info h2 { font-size: clamp(26px, 3.2vw, 46px); line-height: 1.3; letter-spacing: 0; }
html[data-lang="zh"][data-theme="classic"] .contact-info > p { max-width: 28em; line-height: 1.9; }
html[data-lang="zh"][data-theme="classic"] .field span { font-size: 14.5px; }
html[data-lang="zh"][data-theme="classic"] .footer-brand p { max-width: 20em; line-height: 1.9; }
html[data-lang="zh"][data-theme="classic"] .footer-big span { max-width: 13em; font-size: clamp(26px, 3.4vw, 46px); line-height: 1.35; }
/* 内页 */
html[data-lang="zh"][data-theme="classic"] .page-hero h1 { font-size: clamp(28px, 4.2vw, 58px); line-height: 1.3; max-width: 16em; }
html[data-lang="zh"][data-theme="classic"] .page-hero .lead { max-width: 30em; font-size: 17px; line-height: 1.85; }
html[data-lang="zh"][data-theme="classic"] .cx-ph-mark { letter-spacing: 0; }
html[data-lang="zh"][data-theme="classic"] .prose-lead { font-size: 21px; line-height: 1.75; }
html[data-lang="zh"][data-theme="classic"] .prose h3 { font-size: 22px; line-height: 1.5; letter-spacing: 0; }
html[data-lang="zh"][data-theme="classic"] .prose h3 + h3 { font-size: 17px; }
html[data-lang="zh"][data-theme="classic"] .side-card h4 { font-size: 19px; }
html[data-lang="zh"][data-theme="classic"] .side-nav a { font-size: 14.5px; line-height: 1.6; }
html[data-lang="zh"][data-theme="classic"] .services-index .svc-group-head h2 { font-size: 26px; line-height: 1.4; letter-spacing: 0; }
html[data-lang="zh"][data-theme="classic"] .services-index .svc-group-head p { max-width: 16em; line-height: 1.75; }
html[data-lang="zh"][data-theme="classic"] .services-index .svc-full { font-size: 15.5px; }
html[data-lang="zh"][data-theme="classic"] .train-card h3 { font-size: 22px; line-height: 1.5; letter-spacing: 0; }
html[data-lang="zh"][data-theme="classic"] .search-results h3 { line-height: 1.5; }

@media (max-width: 640px) {
  html[data-lang="zh"][data-theme="classic"] .cx-hero h1 { font-size: 36px; line-height: 1.3; }
  html[data-lang="zh"][data-theme="classic"] .cx-hero-lead { font-size: 16.5px; }
  html[data-lang="zh"][data-theme="classic"] .cx-statement { font-size: 24px; line-height: 1.5; }
  html[data-lang="zh"][data-theme="classic"] .cx-head h2 { font-size: 26px; }
  html[data-lang="zh"][data-theme="classic"] .cx-stat .stat-num { font-size: 30px; }
  html[data-lang="zh"][data-theme="classic"] .cx-stat-label { font-size: 13px; }
  html[data-lang="zh"][data-theme="classic"] .page-hero h1 { font-size: 28px; line-height: 1.35; }
  html[data-lang="zh"][data-theme="classic"] .footer-big span { font-size: 26px; }
  html[data-lang="zh"][data-theme="classic"] .partner-grid { grid-template-columns: 1fr 1fr; }
}

/* =========================================================
   v2 改版(客户反馈:版式偏制式、资讯偏密、缺动态与视觉冲击)
   只在本段追加覆盖,旧规则保留;动态效果一律挂在 .anim 下,截图 / 静态 / 减少动态时内容完整静止显示
   ========================================================= */
[data-theme="classic"].anim .rv { transition-delay: var(--d, 0s); }
[data-theme="classic"] .cx-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* 顶部阅读进度条 */
[data-theme="classic"] .cx-progress { position: fixed; top: 0; left: 0; right: 0; z-index: 60; height: 3px; background: var(--brand); transform: scaleX(0); transform-origin: left; pointer-events: none; }

/* ---------- Hero:更满、更有冲击 ---------- */
[data-theme="classic"] .cx-hero { min-height: clamp(720px, calc(100svh - 116px), 980px); }
[data-theme="classic"] .cx-hero-media { top: -56px; bottom: -56px; transform: translate3d(var(--px, 0px), calc(var(--py, 0px) + var(--sy, 0px)), 0); transition: transform .6s cubic-bezier(.2, .7, .2, 1); will-change: transform; }
[data-theme="classic"].anim .cx-hero.is-in .cx-hero-media img { animation: cx-kenburns 24s ease-in-out 2.2s infinite alternate; }
@keyframes cx-kenburns { from { transform: scale(1); } to { transform: scale(1.09) translate(-1.2%, -1%); } }
[data-theme="classic"] .cx-hero-glow { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(560px circle at var(--gx, 72%) var(--gy, 38%), rgba(191, 63, 72, .26), rgba(191, 63, 72, 0) 62%); opacity: 0; transition: opacity .8s var(--ease); }
[data-theme="classic"] .cx-hero:hover .cx-hero-glow { opacity: 1; }
/* 标题:遮罩内上滑入场,红色下划线随后从左描出 */
[data-theme="classic"] .cx-h1 { overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
[data-theme="classic"] .cx-h1-in { display: block; }
[data-theme="classic"].anim .cx-h1-in { transform: translateY(104%); transition: transform 1.15s cubic-bezier(.2, .8, .2, 1) .12s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-h1-in { transform: none; }
html[data-theme="classic"].anim .cx-hl { background-size: 0% .08em; transition: background-size 1s var(--ease) 1.05s; }
html[data-theme="classic"].anim .cx-hero.is-in .cx-hl { background-size: 100% .08em; }
/* 按钮:箭头微动 */
[data-theme="classic"] .btn svg { transition: transform .35s var(--ease); }
[data-theme="classic"] .btn:hover svg { transform: translateX(4px); }
[data-theme="classic"] .cx-hero .btn-primary { box-shadow: 0 14px 34px -14px rgba(191, 63, 72, .9); }
[data-theme="classic"] .cx-hero .btn-primary:hover { transform: translateY(-2px); }

/* ---------- 宣言:随滚动逐字点亮 ---------- */
[data-theme="classic"].anim .cx-statement.is-split .cx-ch { color: #cfd3d9; transition: color .35s var(--ease); }
[data-theme="classic"].anim .cx-statement.is-split .cx-ch.on { color: var(--ink); }

/* ---------- 服务列表:减密度,只留标准号 + 全称;切换分类时逐行滑入 ---------- */
[data-theme="classic"] .cx-svc-txt span { display: none; }
[data-theme="classic"] .cx-svc-txt b { margin: 0; font-size: 16.5px; font-weight: 500; color: var(--ink-2); transition: color .3s; }
[data-theme="classic"] .cx-svc-list a { padding: 26px 0; }
[data-theme="classic"] .cx-svc-list a:hover { padding-left: 12px; }
[data-theme="classic"] .cx-svc-list a:hover .cx-svc-txt b { color: var(--ink); }
[data-theme="classic"].anim .cx-panel.is-active .cx-svc-list li { animation: cx-row .6s var(--ease) both; animation-delay: calc(var(--i, 0) * 70ms + 80ms); }
@keyframes cx-row { from { opacity: 0; transform: translateX(18px); } }

/* ---------- 认证价值:左侧大标题 + 按钮(吸顶),右侧 2×2 大卡 ---------- */
/* overflow:hidden 会让区块成为滚动容器、吸顶失效;clip 同样裁掉光晕但不影响 sticky */
[data-theme="classic"] .cx-benefits { overflow: clip; }
[data-theme="classic"] .cx-why-wrap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 96px; align-items: start; }
[data-theme="classic"] .cx-why-intro { position: sticky; top: 164px; }
[data-theme="classic"] .cx-why-intro .eyebrow { color: rgba(255, 255, 255, .62); }
[data-theme="classic"] .cx-why-intro h2 { color: #fff; font-size: clamp(36px, 4.4vw, 64px); line-height: 1.04; letter-spacing: -.045em; text-wrap: balance; }
[data-theme="classic"] .cx-why-intro p { max-width: 36ch; margin: 24px 0 40px; font-size: 17px; line-height: 1.7; color: rgba(255, 255, 255, .64); }
[data-theme="classic"] .cx-why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
[data-theme="classic"] .cx-why-grid > :nth-child(even) { margin-top: 56px; }
[data-theme="classic"] .cx-why { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; min-height: 300px; padding: 36px; border: 1px solid rgba(255, 255, 255, .1); border-radius: var(--radius-lg); background: rgba(255, 255, 255, .03); transition: border-color .45s var(--ease), background .45s var(--ease), opacity .9s var(--ease), transform .9s var(--ease); }
[data-theme="classic"] .cx-why::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(380px circle at var(--mx, 50%) var(--my, 0%), rgba(191, 63, 72, .32), rgba(191, 63, 72, 0) 62%); opacity: 0; transition: opacity .45s var(--ease); }
[data-theme="classic"] .cx-why::after { content: ""; position: absolute; left: 36px; right: 36px; top: 0; height: 2px; background: var(--brand); transform: scaleX(0); transform-origin: left; transition: transform .55s var(--ease); }
[data-theme="classic"] .cx-why:hover { border-color: rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .05); }
[data-theme="classic"] .cx-why:hover::before { opacity: 1; }
[data-theme="classic"] .cx-why:hover::after { transform: scaleX(1); }
[data-theme="classic"] .cx-why-no { position: absolute; top: 26px; right: 32px; font-size: 72px; font-weight: 700; line-height: 1; letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .16); transition: -webkit-text-stroke-color .45s var(--ease); font-variant-numeric: tabular-nums; }
[data-theme="classic"] .cx-why:hover .cx-why-no { -webkit-text-stroke-color: rgba(240, 113, 121, .75); }
[data-theme="classic"] .cx-why-ico { display: block; width: 48px; height: 48px; color: #fff; transition: color .4s, transform .5s var(--ease); }
[data-theme="classic"] .cx-why-ico svg { width: 100%; height: 100%; }
[data-theme="classic"] .cx-why:hover .cx-why-ico { color: #f07179; transform: translateY(-4px); }
[data-theme="classic"] .cx-why h3 { margin-top: auto; padding-top: 72px; color: #fff; font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
[data-theme="classic"] .cx-why p { margin-top: 10px; font-size: 15px; line-height: 1.7; color: rgba(255, 255, 255, .6); }

/* ---------- 流程:左侧吸顶(标题 + 大号计数),右侧竖向进度轨 ---------- */
[data-theme="classic"] .cx-flow-wrap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 96px; align-items: start; }
[data-theme="classic"] .cx-flow-side { align-self: stretch; }
[data-theme="classic"] .cx-flow-sticky { position: sticky; top: 164px; }
[data-theme="classic"] .cx-flow-sticky h2 { font-size: clamp(36px, 4.4vw, 64px); line-height: 1.04; letter-spacing: -.045em; text-wrap: balance; }
[data-theme="classic"] .cx-flow-sticky p { max-width: 38ch; margin: 24px 0 28px; font-size: 17px; line-height: 1.7; color: var(--ink-2); }
[data-theme="classic"] .cx-flow-count { display: flex; align-items: baseline; gap: 12px; margin-top: 56px; font-variant-numeric: tabular-nums; }
[data-theme="classic"] .cx-flow-count b { font-size: 128px; font-weight: 700; line-height: .85; letter-spacing: -.06em; color: var(--brand); }
[data-theme="classic"] .cx-flow-count span { font-size: 20px; font-weight: 600; color: var(--muted); }
[data-theme="classic"] .cx-flow { position: relative; margin: 0; padding: 0; list-style: none; }
[data-theme="classic"] .cx-flow::before, [data-theme="classic"] .cx-flow::after { content: ""; position: absolute; left: 27px; top: 28px; bottom: 28px; width: 1px; background: var(--line-2); }
[data-theme="classic"] .cx-flow::after { width: 2px; margin-left: -.5px; background: var(--brand); transform: scaleY(var(--p, 1)); transform-origin: top; }
[data-theme="classic"].anim .cx-flow { --p: 0; }
[data-theme="classic"] .cx-flow-step { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 32px; padding-bottom: 64px; }
[data-theme="classic"] .cx-flow-step:last-child { padding-bottom: 0; }
[data-theme="classic"] .cx-flow-no { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #fff; border: 1px solid var(--line-2); font-size: 15px; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; transition: background .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease); }
[data-theme="classic"] .cx-flow-step h3 { padding-top: 13px; font-size: 24px; font-weight: 600; letter-spacing: -.02em; }
[data-theme="classic"] .cx-flow-step p { max-width: 46ch; margin-top: 8px; font-size: 16px; line-height: 1.7; color: var(--ink-2); }
[data-theme="classic"].anim .cx-flow-body { opacity: .38; transition: opacity .5s var(--ease); }
[data-theme="classic"].anim .cx-flow-step.is-past .cx-flow-body, [data-theme="classic"].anim .cx-flow-step.is-on .cx-flow-body { opacity: 1; }
[data-theme="classic"] .cx-flow-step.is-past .cx-flow-no, [data-theme="classic"] .cx-flow-step.is-on .cx-flow-no { background: var(--brand); border-color: var(--brand); color: #fff; }
[data-theme="classic"] .cx-flow-step.is-on .cx-flow-no { box-shadow: 0 0 0 8px rgba(191, 63, 72, .12); }

/* ---------- 培训图:滚动视差 ---------- */
[data-theme="classic"] .cx-tr-media img { top: -9%; height: 118%; transform: translate3d(0, var(--ty, 0px), 0); transition: transform .5s cubic-bezier(.2, .7, .2, 1); }

/* ---------- CTA:更大的字 ---------- */
[data-theme="classic"] .cta-in { padding-top: 112px; padding-bottom: 112px; }
[data-theme="classic"] .cta-band h2 { font-size: clamp(34px, 4.4vw, 64px); }

/* ---------- 响应式 ---------- */
@media (max-width: 1180px) {
  [data-theme="classic"] .cx-why-wrap, [data-theme="classic"] .cx-flow-wrap { gap: 56px; }
  [data-theme="classic"] .cx-flow-count b { font-size: 96px; }
  [data-theme="classic"] .cx-why { padding: 28px; min-height: 280px; }
}
@media (max-width: 960px) {
  [data-theme="classic"] .cx-hero-media { transform: none; }
  [data-theme="classic"] .cx-why-wrap, [data-theme="classic"] .cx-flow-wrap { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  [data-theme="classic"] .cx-why-intro, [data-theme="classic"] .cx-flow-sticky { position: static; }
  [data-theme="classic"] .cx-flow-count { display: none; }
  [data-theme="classic"] .cx-tr-media img { top: 0; height: 100%; transform: none; }
}
@media (max-width: 640px) {
  [data-theme="classic"] .cx-hero { min-height: 0; }
  [data-theme="classic"] .cx-why-intro h2, [data-theme="classic"] .cx-flow-sticky h2 { font-size: 34px; }
  [data-theme="classic"] .cx-why-intro p { margin-bottom: 32px; }
  [data-theme="classic"] .cx-why-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  [data-theme="classic"] .cx-why-grid > :nth-child(even) { margin-top: 0; }
  [data-theme="classic"] .cx-why { min-height: 0; padding: 28px; }
  [data-theme="classic"] .cx-why-no { top: 22px; right: 24px; font-size: 52px; }
  [data-theme="classic"] .cx-why-ico { width: 40px; height: 40px; }
  [data-theme="classic"] .cx-why h3 { padding-top: 36px; font-size: 20px; }
  [data-theme="classic"] .cx-flow::before, [data-theme="classic"] .cx-flow::after { left: 21px; top: 22px; bottom: 22px; }
  [data-theme="classic"] .cx-flow-step { grid-template-columns: 44px minmax(0, 1fr); gap: 20px; padding-bottom: 40px; }
  [data-theme="classic"] .cx-flow-no { width: 44px; height: 44px; font-size: 13px; }
  [data-theme="classic"] .cx-flow-step h3 { padding-top: 9px; font-size: 19px; }
  [data-theme="classic"] .cx-flow-step p { font-size: 15px; }
  [data-theme="classic"] .cx-svc-list a { padding: 20px 0; }
  [data-theme="classic"] .cx-svc-txt b { font-size: 15px; }
  [data-theme="classic"] .cta-in { padding-top: 72px; padding-bottom: 72px; }
}

/* ---------- 繁中排版 ---------- */
html[data-lang="zh"][data-theme="classic"] .cx-why-intro h2, html[data-lang="zh"][data-theme="classic"] .cx-flow-sticky h2 { font-size: clamp(30px, 3.6vw, 52px); line-height: 1.3; letter-spacing: .01em; }
html[data-lang="zh"][data-theme="classic"] .cx-why-intro p, html[data-lang="zh"][data-theme="classic"] .cx-flow-sticky p { max-width: 24em; line-height: 1.9; }
html[data-lang="zh"][data-theme="classic"] .cx-why h3, html[data-lang="zh"][data-theme="classic"] .cx-flow-step h3 { letter-spacing: .02em; line-height: 1.5; }
html[data-lang="zh"][data-theme="classic"] .cx-why p, html[data-lang="zh"][data-theme="classic"] .cx-flow-step p { line-height: 1.85; }
html[data-lang="zh"][data-theme="classic"] .cx-flow-step h3 { padding-top: 10px; }
html[data-lang="zh"][data-theme="classic"] .cx-svc-txt b { font-size: 16px; line-height: 1.6; }
@media (max-width: 640px) {
  html[data-lang="zh"][data-theme="classic"] .cx-why-intro h2, html[data-lang="zh"][data-theme="classic"] .cx-flow-sticky h2 { font-size: 28px; }
  html[data-lang="zh"][data-theme="classic"] .cx-flow-step h3 { padding-top: 7px; font-size: 18px; }
}

/* ---------- 滚动出现:沿用原站(WOW.js + animate.css)的动效语言 ----------
   区块 fadeInDown(.rv 默认,从上方滑入)· 卡片 bounceIn(.cx-pop)· 内页正文 / 侧栏 / 页脚 fadeInUp(.cx-up)
   卡片用 animation(fill: backwards),播完即交还给 hover 位移,不会吃掉卡片的悬停效果 */
[data-theme="classic"].anim .rv:not(.cx-pop) { transform: translate3d(0, -56px, 0); transition-property: opacity, transform; transition-duration: 1s; transition-timing-function: cubic-bezier(.22, .61, .36, 1); transition-delay: var(--d, 0s); }
[data-theme="classic"].anim .rv.cx-up:not(.cx-pop) { transform: translate3d(0, 56px, 0); }
[data-theme="classic"].anim .rv.in:not(.cx-pop) { opacity: 1; transform: none; }
[data-theme="classic"].anim .rv.cx-pop:not(.in) { transform: none; }
[data-theme="classic"].anim .rv.cx-pop.in { animation: cx-bounce-in .75s var(--d, 0s) backwards; }
@keyframes cx-bounce-in {
  from, 20%, 40%, 60%, 80%, to { animation-timing-function: cubic-bezier(.215, .61, .355, 1); }
  0% { opacity: 0; transform: scale3d(.3, .3, .3); }
  20% { transform: scale3d(1.1, 1.1, 1.1); }
  40% { transform: scale3d(.9, .9, .9); }
  60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); }
  80% { transform: scale3d(.97, .97, .97); }
  to { opacity: 1; transform: scale3d(1, 1, 1); }
}
/* 首屏 4 个数据:跟原站「為什麼選擇TTA」一样弹入 */
[data-theme="classic"].anim .cx-hero.is-in .cx-stat { animation: cx-bounce-in .75s backwards; }
[data-theme="classic"].anim .cx-hero.is-in .cx-stat:nth-child(1) { animation-delay: .45s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-stat:nth-child(2) { animation-delay: .57s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-stat:nth-child(3) { animation-delay: .69s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-stat:nth-child(4) { animation-delay: .81s; }
/* 内页标题区:载入时 fadeInDown(原站 banner 标语) */
@keyframes cx-fade-in-down { from { opacity: 0; transform: translate3d(0, -40px, 0); } }
[data-theme="classic"].anim .page-hero-in > * { animation: cx-fade-in-down 1s cubic-bezier(.22, .61, .36, 1) backwards; }
[data-theme="classic"].anim .page-hero-in > :nth-child(2) { animation-delay: .1s; }
[data-theme="classic"].anim .page-hero-in > :nth-child(3) { animation-delay: .2s; }
[data-theme="classic"].anim .page-hero-in > :nth-child(4) { animation-delay: .3s; }
/* 页头 Logo:载入时轻跳一下(原站 pulse) */
@keyframes cx-pulse { 50% { transform: scale3d(1.05, 1.05, 1.05); } }
[data-theme="classic"].anim .brand img { animation: cx-pulse 1s .2s both; }

/* =========================================================
   v3 整合(原站动效分析 + 高级动效调研,见 内容/原站动效与功能分析.md、内容/高级前端样式方案.md)
   ========================================================= */
/* ---------- 动效令牌:全站只用两条缓动 + 两档时长 ---------- */
[data-theme="classic"] {
  --cx-out: cubic-bezier(.16, 1, .3, 1);   /* 入场 / 揭示 */
  --cx-io: cubic-bezier(.77, 0, .18, 1);   /* 擦除 / 幕布 */
  --cx-t1: .45s;
  --cx-t2: .9s;
}
/* 保留原站「下滑有动画」的语言,位移收到 32px、弹入改轻量版;首屏 4 个数据仍用原站 bounceIn 力度 */
[data-theme="classic"].anim .rv:not(.cx-pop) { transform: translate3d(0, -32px, 0); transition-duration: var(--cx-t2); transition-timing-function: var(--cx-out); }
[data-theme="classic"].anim .rv.cx-up:not(.cx-pop) { transform: translate3d(0, 32px, 0); }
[data-theme="classic"].anim .rv.in:not(.cx-pop), [data-theme="classic"].anim .rv.cx-soft:not(.cx-pop) { transform: none; }
@keyframes cx-pop-lite {
  0% { opacity: 0; transform: translate3d(0, 20px, 0) scale3d(.86, .86, 1); animation-timing-function: var(--cx-out); }
  60% { opacity: 1; transform: scale3d(1.015, 1.015, 1); }
  100% { opacity: 1; transform: none; }
}
[data-theme="classic"].anim .rv.cx-pop.in { animation-name: cx-pop-lite; animation-duration: .8s; }
[data-theme="classic"].anim .brand img { animation: none; }

/* ---------- 标题逐行遮罩揭示 ---------- */
[data-theme="classic"].anim .cx-line { display: block; overflow: hidden; padding-bottom: .12em; margin-bottom: -.12em; }
[data-theme="classic"].anim .cx-line-in { display: block; transform: translate3d(0, 105%, 0); transition: transform 1.05s var(--cx-out) calc(var(--l, 0) * 90ms + .08s); }
[data-theme="classic"].anim .cx-split.in .cx-line-in { transform: none; }
[data-theme="classic"].anim .page-hero h1:not(.cx-split):not(.cx-done) { visibility: hidden; }
[data-theme="classic"].anim .page-hero-in > h1 { animation: none; }

/* ---------- 图片幕布擦入 + 缩放回落 ---------- */
[data-theme="classic"].anim .cx-wipe { clip-path: inset(0 100% 0 0); transition: clip-path 1.25s var(--cx-io); }
[data-theme="classic"].anim .cx-wipe.in { clip-path: inset(0 0 0 0); }
[data-theme="classic"].anim .cx-wipe img { scale: 1.16; transition: scale 1.8s var(--cx-out) .1s, transform .5s cubic-bezier(.2, .7, .2, 1); }
[data-theme="classic"].anim .cx-wipe.in img { scale: 1; }
[data-theme="classic"].anim .prose figure.cx-wipe { overflow: hidden; border-radius: var(--radius-lg); }
@keyframes cx-wipe-l { from { clip-path: inset(0 0 0 100%); scale: 1.12; } }
[data-theme="classic"].anim .page-hero-bg { animation: cx-wipe-l 1.4s var(--cx-io) .1s backwards; }

/* ---------- 深色区 / CTA:滚动进入时从圆角内缩卡片展开成满版(scroll-driven,渐进增强) ---------- */
[data-theme="classic"] .cx-benefits {
  background:
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px) 0 0 / 64px 64px,
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px) 0 0 / 64px 64px,
    var(--dark);
}
@keyframes cx-expand { from { clip-path: inset(72px 4% 0 4% round 28px); } to { clip-path: inset(0 0 0 0 round 0); } }
@keyframes cx-drift { from { translate: 0 -6%; } to { translate: -8% 10%; } }
@supports (animation-timeline: view()) {
  @media (min-width: 641px) {
    [data-theme="classic"].anim .cx-benefits, [data-theme="classic"].anim .cta-band { animation: cx-expand linear both; animation-timeline: view(); animation-range: entry 0% entry 75%; }
    [data-theme="classic"].anim .cx-benefits::before { animation: cx-drift linear both; animation-timeline: view(); }
  }
}

/* ---------- 磁吸按钮 ---------- */
[data-theme="classic"].anim .cx-mag { translate: var(--bx, 0px) var(--by, 0px); transition: translate .6s var(--cx-out), transform .35s var(--ease), background .3s, color .3s, border-color .3s, box-shadow .3s; }
[data-theme="classic"].anim .cx-mag svg { translate: calc(var(--bx, 0px) * .45) calc(var(--by, 0px) * .45); transition: translate .6s var(--cx-out), transform .35s var(--ease), background .3s; }

/* ---------- 流光描边卡片:光标附近的边框亮起品牌红 ---------- */
[data-theme="classic"] .cx-glow::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; border-radius: inherit; padding: 1px;
  background: radial-gradient(240px circle at var(--mx, -999px) var(--my, -999px), var(--brand), rgba(191, 63, 72, 0) 70%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; transition: opacity var(--cx-t1) var(--cx-out); }
[data-theme="classic"] .cx-glow:hover::before { opacity: 1; }

/* ---------- 数字滚轮 ---------- */
[data-theme="classic"] .cx-odo { display: inline-block; height: 1em; line-height: 1; overflow: hidden; vertical-align: top; }
[data-theme="classic"] .cx-odo > span { display: block; line-height: 1; transform: translateY(calc(var(--n) * -1em)); transition: transform 1.8s var(--cx-out) calc(.55s + var(--i) * 80ms); }
[data-theme="classic"].anim .cx-hero:not(.is-in) .cx-odo > span { transform: translateY(0); }
[data-theme="classic"] .cx-stat .stat-num { line-height: 1; }

/* ---------- 悬浮联系栏 + 回到顶部 + 手机底部三键(非 classic 主题一律不显示) ---------- */
.cx-dock, .cx-top, .cx-mbar { display: none; }
[data-theme="classic"] .cx-dock { position: fixed; right: 20px; top: 50%; z-index: 40; display: flex; flex-direction: column; gap: 4px; padding: 6px; transform: translateY(-50%); border: 1px solid rgba(255, 255, 255, .1); border-radius: 999px; background: rgba(19, 23, 30, .84); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .55); }
@keyframes cx-dock-in { from { opacity: 0; transform: translate(28px, -50%); } }
[data-theme="classic"].anim .cx-dock { animation: cx-dock-in .9s var(--cx-out) 1.1s backwards; }
[data-theme="classic"] .cx-dock-btn { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: #fff; transition: background var(--cx-t1) var(--cx-out); }
[data-theme="classic"] .cx-dock-btn:hover, [data-theme="classic"] .cx-dock-btn:focus-visible { background: var(--brand); }
[data-theme="classic"] .cx-dock-ico svg { width: 19px; height: 19px; }
[data-theme="classic"] .cx-dock-tip { position: absolute; right: calc(100% + 16px); top: 50%; display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; white-space: nowrap; border-radius: var(--radius-lg); background: #fff; color: var(--ink); box-shadow: var(--shadow-lg); opacity: 0; pointer-events: none; transform: translate(10px, -50%); transition: opacity .3s var(--cx-out), transform var(--cx-t1) var(--cx-out); }
[data-theme="classic"] .cx-dock-tip::after { content: ""; position: absolute; right: -5px; top: 50%; width: 10px; height: 10px; margin-top: -5px; background: #fff; transform: rotate(45deg); }
[data-theme="classic"] .cx-dock-btn:hover .cx-dock-tip, [data-theme="classic"] .cx-dock-btn:focus-visible .cx-dock-tip { opacity: 1; transform: translate(0, -50%); }
[data-theme="classic"] .cx-dock-tip b { font-size: 15px; font-weight: 600; letter-spacing: -.01em; }
[data-theme="classic"] .cx-dock-tip small { font-size: 12px; color: var(--muted); }
[data-theme="classic"] .cx-dock-qr { align-items: center; text-align: center; padding: 14px 16px 12px; }
[data-theme="classic"] .cx-dock-qr img { width: 132px; height: 132px; margin-bottom: 8px; border-radius: 4px; }

[data-theme="classic"] .cx-top { position: fixed; right: 20px; bottom: 24px; z-index: 40; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #fff; color: var(--ink); box-shadow: 0 14px 34px -16px rgba(16, 24, 40, .45); opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity .35s var(--cx-out), transform .5s var(--cx-out), visibility 0s .35s, background .3s, color .3s; }
[data-theme="classic"] .cx-top.is-show { opacity: 1; visibility: visible; transform: none; transition: opacity .35s var(--cx-out), transform .5s var(--cx-out), visibility 0s, background .3s, color .3s; }
[data-theme="classic"] .cx-top:hover { background: var(--brand); color: #fff; }
[data-theme="classic"] .cx-top-ring { position: absolute; inset: 3px; width: calc(100% - 6px); height: calc(100% - 6px); transform: rotate(-90deg); fill: none; stroke-width: 2; }
[data-theme="classic"] .cx-top-ring circle { stroke: var(--line); }
[data-theme="classic"] .cx-top-ring .cx-top-bar { stroke: var(--brand); stroke-dasharray: 150.8; stroke-dashoffset: calc(150.8 * (1 - var(--sp, 0))); transition: stroke-dashoffset .2s linear; }
[data-theme="classic"] .cx-top:hover .cx-top-ring circle { stroke: rgba(255, 255, 255, .3); }
[data-theme="classic"] .cx-top:hover .cx-top-ring .cx-top-bar { stroke: #fff; }
[data-theme="classic"] .cx-top-ico svg { width: 18px; height: 18px; transform: rotate(-90deg); }

@media (max-width: 960px) {
  [data-theme="classic"] .cx-dock { display: none; }
  [data-theme="classic"] .cx-top { right: 16px; bottom: calc(76px + env(safe-area-inset-bottom)); width: 48px; height: 48px; }
  [data-theme="classic"] .cx-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 1px; padding-bottom: env(safe-area-inset-bottom); background: var(--line); border-top: 1px solid var(--line); box-shadow: 0 -10px 30px -18px rgba(16, 24, 40, .35); }
  [data-theme="classic"] .cx-mbar a { display: flex; align-items: center; justify-content: center; gap: 8px; height: 60px; background: #fff; color: var(--ink); font-size: 14.5px; font-weight: 600; }
  [data-theme="classic"] .cx-mbar a svg { width: 18px; height: 18px; color: var(--brand); }
  [data-theme="classic"] .cx-mbar a.is-cta { background: var(--brand); color: #fff; }
  [data-theme="classic"] .cx-mbar a.is-cta svg { color: #fff; }
  [data-theme="classic"] body { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
}

/* ---------- 惯性滚动(Lenis)必需样式 ---------- */
html.lenis, html.lenis body { height: auto; }
html.lenis { scroll-behavior: auto; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* ---------- 切页过渡(View Transitions):页头不动,旧页上移淡出 → 新页自下浮入 ---------- */
[data-theme="classic"].anim .site-header { view-transition-name: cx-header; }
html[data-theme="classic"].anim::view-transition-group(cx-header) { animation: none; }
html[data-theme="classic"].anim::view-transition-old(root) { animation: cx-vt-out .32s cubic-bezier(.4, 0, 1, 1) both; }
html[data-theme="classic"].anim::view-transition-new(root) { animation: cx-vt-in .7s var(--cx-out) .08s both; }
@keyframes cx-vt-out { to { opacity: 0; transform: translate3d(0, -24px, 0); } }
@keyframes cx-vt-in { from { opacity: 0; transform: translate3d(0, 32px, 0); } }
/* 悬浮联系栏 / TOP / 手机底栏不跟着正文一起过渡 */
[data-theme="classic"].anim .cx-dock { view-transition-name: cx-dock; }
[data-theme="classic"].anim .cx-top { view-transition-name: cx-top; }
[data-theme="classic"].anim .cx-mbar { view-transition-name: cx-mbar; }
html[data-theme="classic"].anim::view-transition-group(cx-dock), html[data-theme="classic"].anim::view-transition-group(cx-top), html[data-theme="classic"].anim::view-transition-group(cx-mbar) { animation: none; }

/* =========================================================
   v4 视觉冲击版(与升级前 tta-v1 拉开差距):开场幕布 / hero 粒子网络 + 旋转认证章 + 标准轮播 /
   超大字滚动条 / 图片放大转场 / 服务横向滚动 / 按钮扫色 / 自定义光标
   ========================================================= */

/* ---------- 开场:深色层上卷 → 红色层上卷 → 露出首屏 ---------- */
#cx-loader { position: fixed; inset: 0; z-index: 2000; pointer-events: none; animation: cx-ld-fail 0s 6s forwards; }
@keyframes cx-ld-fail { to { visibility: hidden; } }
html:not([data-theme="classic"]) #cx-loader { display: none; }
#cx-loader .cx-ld-red, #cx-loader .cx-ld-dark { position: absolute; inset: 0; clip-path: inset(0 0 0 0); }
#cx-loader .cx-ld-red { background: #bf3f48; }
#cx-loader .cx-ld-dark { display: grid; place-items: center; background: #0d1015; color: #fff; }
#cx-loader .cx-ld-in { width: min(400px, 76vw); transition: opacity .35s, transform .5s cubic-bezier(.16, 1, .3, 1); }
#cx-loader img { display: block; width: 100%; height: auto; opacity: 0; transform: translateY(14px); animation: cx-ld-logo .9s cubic-bezier(.16, 1, .3, 1) .1s forwards; }
@keyframes cx-ld-logo { to { opacity: 1; transform: none; } }
#cx-loader .cx-ld-line { height: 2px; margin: 28px 0 14px; overflow: hidden; background: rgba(255, 255, 255, .14); }
#cx-loader .cx-ld-line i { display: block; height: 100%; background: #bf3f48; transform: scaleX(0); transform-origin: left; }
#cx-loader .cx-ld-meta { display: flex; justify-content: space-between; gap: 16px; font: 600 11px/1.2 Inter, "Noto Sans TC", system-ui, sans-serif; letter-spacing: .18em; color: rgba(255, 255, 255, .5); }
#cx-loader .cx-ld-meta b { font-weight: 600; color: #fff; font-variant-numeric: tabular-nums; }
#cx-loader.is-out .cx-ld-in { opacity: 0; transform: translateY(-18px); }
#cx-loader.is-out .cx-ld-dark { clip-path: inset(0 0 100% 0); transition: clip-path .85s cubic-bezier(.77, 0, .18, 1) .12s; }
#cx-loader.is-out .cx-ld-red { clip-path: inset(0 0 100% 0); transition: clip-path .85s cubic-bezier(.77, 0, .18, 1) .3s; }

/* ---------- hero:粒子网络 ---------- */
[data-theme="classic"] .cx-net { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; pointer-events: none; opacity: .9; }
[data-theme="classic"].anim .cx-net { opacity: 0; transition: opacity 1.8s ease .5s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-net { opacity: .9; }

/* ---------- hero:旋转认证章 ---------- */
[data-theme="classic"] .cx-seal { position: absolute; top: 56px; right: max(var(--gutter), calc((100% - var(--wrap)) / 2)); z-index: 1; display: grid; place-items: center; width: 168px; height: 168px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 50%; background: rgba(13, 16, 21, .42); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
[data-theme="classic"] .cx-seal::after { content: ""; position: absolute; inset: 42px; border: 1px solid rgba(232, 92, 102, .55); border-radius: 50%; }
/* 旋转放在外层普通 div 上,显式绕中心转(各浏览器对 SVG 根元素的旋转中心处理不一) */
[data-theme="classic"] .cx-seal-ring { position: absolute; inset: 6px; transform-origin: 50% 50%; animation: cx-spin 24s linear infinite; will-change: transform; }
[data-theme="classic"] .cx-seal svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
[data-theme="classic"] .cx-seal text { fill: rgba(255, 255, 255, .85); font: 600 12.5px/1 Inter, "Noto Sans TC", system-ui, sans-serif; letter-spacing: .12em; }
[data-theme="classic"] .cx-seal img { position: relative; z-index: 1; width: 44px; height: auto; }
@keyframes cx-spin { to { transform: rotate(360deg); } }
[data-theme="classic"].anim .cx-seal { opacity: 0; transform: scale(.6) rotate(-60deg); transition: opacity 1s ease .9s, transform 1.5s var(--cx-out) .9s; }
[data-theme="classic"].anim .cx-hero.is-in .cx-seal { opacity: 1; transform: none; }

/* ---------- hero:标准轮播 ---------- */
[data-theme="classic"] .cx-ticker { display: inline-flex; align-items: center; gap: 12px; max-width: 100%; margin-left: 8px; height: 50px; padding: 9px 20px 9px 16px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 999px; background: rgba(255, 255, 255, .05); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #fff; font-size: 14px; transition: border-color .3s, background .3s; }
[data-theme="classic"] .cx-ticker:hover { border-color: rgba(255, 255, 255, .32); background: rgba(255, 255, 255, .09); }
[data-theme="classic"] .cx-tk-dot { position: relative; flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: #e85c66; }
[data-theme="classic"] .cx-tk-dot::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid #e85c66; animation: cx-ping 1.8s ease-out infinite; }
@keyframes cx-ping { from { opacity: 1; transform: scale(.5); } to { opacity: 0; transform: scale(1.8); } }
[data-theme="classic"] .cx-tk-cap { flex-shrink: 0; font-weight: 600; letter-spacing: .06em; color: rgba(255, 255, 255, .55); white-space: nowrap; }
[data-theme="classic"] .cx-tk-win { min-width: 0; height: 1.6em; overflow: hidden; line-height: 1.6; }
[data-theme="classic"] .cx-tk-list { display: block; transition: transform .65s var(--cx-out); }
[data-theme="classic"] .cx-tk-item { display: block; height: 1.6em; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: rgba(255, 255, 255, .78); }
[data-theme="classic"] .cx-tk-item b { margin-right: 8px; font-weight: 600; color: #fff; }
/* 背景图左边缘:随鼠标微移到半像素时会抗锯齿出一条亮线,入场放大时也会溢出渐变范围;垫一条深色遮边盖住 */
[data-theme="classic"] .cx-hero-media::before { content: ""; position: absolute; top: 0; bottom: 0; left: -90px; z-index: 1; width: 94px; background: var(--dark); }
[data-theme="classic"] .cx-hero .actions { flex-wrap: wrap; row-gap: 16px; }

/* ---------- 超大字滚动条 ---------- */
[data-theme="classic"] .cx-bm { position: relative; overflow: hidden; padding: 64px 0 56px; background: #fff; border-bottom: 1px solid var(--line); }
[data-theme="classic"] .cx-bm-row { display: block; transform: skewX(var(--sk, 0deg)); }
[data-theme="classic"] .cx-bm-row + .cx-bm-row { margin-top: 4px; }
[data-theme="classic"] .cx-bm-track { display: flex; width: max-content; will-change: transform; }
[data-theme="classic"] .cx-bm-group { display: flex; flex-shrink: 0; align-items: center; }
[data-theme="classic"] .cx-bm-item { padding: 0 .14em; font-size: clamp(54px, 8.6vw, 140px); font-weight: 700; line-height: 1.04; letter-spacing: -.045em; white-space: nowrap; color: var(--ink); transition: color .4s; }
[data-theme="classic"] .cx-bm-b .cx-bm-item { color: transparent; -webkit-text-stroke: 1.5px rgba(18, 22, 29, .7); transition: -webkit-text-stroke-color .4s; }
[data-theme="classic"] .cx-bm-a:hover .cx-bm-item { color: var(--brand); }
[data-theme="classic"] .cx-bm-b:hover .cx-bm-item { -webkit-text-stroke-color: var(--brand); }
[data-theme="classic"] .cx-bm-sep { flex-shrink: 0; width: .16em; height: .16em; margin: 0 .34em; font-size: clamp(54px, 8.6vw, 140px); background: var(--brand); transform: rotate(45deg); }

/* ---------- 图片放大转场 ---------- */
[data-theme="classic"] .cx-zoom { --zp: 1; --zc: 1; position: relative; background: #fff; }
[data-theme="classic"] .cx-zoom-sticky { position: relative; display: flex; align-items: flex-end; height: min(100vh, 860px); min-height: 560px; overflow: hidden; }
[data-theme="classic"].anim .cx-zoom { --zp: 0; --zc: 0; height: 260vh; }
[data-theme="classic"].anim .cx-zoom-sticky { position: sticky; top: 0; height: 100vh; }
[data-theme="classic"] .cx-zoom-media { position: absolute; inset: 0; overflow: hidden; background: var(--dark); clip-path: inset(calc((1 - var(--zp)) * 18%) calc((1 - var(--zp)) * 26%) round calc((1 - var(--zp)) * 32px)); }
[data-theme="classic"] .cx-zoom-media img { width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.32 - var(--zp) * .32)); }
[data-theme="classic"] .cx-zoom-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(13, 16, 21, .88) 0%, rgba(13, 16, 21, .35) 55%, rgba(13, 16, 21, .12) 100%); opacity: calc(.25 + var(--zc) * .75); }
[data-theme="classic"] .cx-zoom-copy { position: relative; padding-bottom: 96px; color: #fff; opacity: var(--zc); transform: translate3d(0, calc((1 - var(--zc)) * 48px), 0); }
[data-theme="classic"] .cx-zoom .eyebrow { color: rgba(255, 255, 255, .72); }
[data-theme="classic"] .cx-zoom-title { max-width: 13em; color: #fff; font-size: clamp(38px, 6.2vw, 96px); font-weight: 700; line-height: 1.04; letter-spacing: -.04em; text-wrap: balance; }
[data-theme="classic"] .cx-zoom-stats { display: flex; flex-wrap: wrap; gap: 24px 64px; margin-top: 44px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .22); }
[data-theme="classic"] .cx-zoom-stats > div { display: flex; flex-direction: column; gap: 6px; }
[data-theme="classic"] .cx-zoom-stats .stat-num { color: #fff; font-size: clamp(32px, 3.4vw, 52px); font-weight: 600; line-height: 1; letter-spacing: -.03em; }
[data-theme="classic"] .cx-zoom-stats span:not(.stat-num) { font-size: 14px; color: rgba(255, 255, 255, .66); }

/* ---------- 服务横向滚动 ---------- */
[data-theme="classic"] .cx-hs { position: relative; background: var(--bg-alt); }
[data-theme="classic"] .cx-hs-sticky { padding: 112px 0; }
[data-theme="classic"] .cx-hs-track { display: flex; align-items: stretch; gap: 24px; padding: 0 var(--gutter); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; }
[data-theme="classic"] .cx-hs-track::-webkit-scrollbar { display: none; }
[data-theme="classic"] .cx-hs-track > * { flex-shrink: 0; scroll-snap-align: start; }
[data-theme="classic"] .cx-hs.is-pin .cx-hs-sticky { position: sticky; top: 0; display: flex; align-items: center; height: 100vh; padding: 0; overflow: hidden; }
[data-theme="classic"] .cx-hs.is-pin .cx-hs-track { overflow: visible; padding: 96px 12vw 0 max(var(--gutter), calc((100vw - var(--wrap)) / 2)); scroll-snap-type: none; will-change: transform; }

[data-theme="classic"] .cx-hs-intro { display: flex; flex-direction: column; justify-content: center; width: clamp(300px, 30vw, 440px); padding-right: 24px; }
[data-theme="classic"] .cx-hs-intro h2 { font-size: clamp(40px, 4.6vw, 72px); line-height: 1.04; letter-spacing: -.045em; text-wrap: balance; }
[data-theme="classic"] .cx-hs-intro p { max-width: 34ch; margin: 20px 0 24px; font-size: 16.5px; line-height: 1.7; color: var(--ink-2); }
[data-theme="classic"] .cx-hs-meter { display: none; align-items: center; gap: 14px; margin-top: 48px; font-size: 13px; font-variant-numeric: tabular-nums; color: var(--muted); }
[data-theme="classic"] .cx-hs-meter b:first-child { color: var(--brand); }
[data-theme="classic"] .cx-hs-bar { flex: 1; height: 2px; overflow: hidden; background: var(--line-2); }
[data-theme="classic"] .cx-hs-bar i { display: block; height: 100%; background: var(--brand); transform: scaleX(0); transform-origin: left; }
[data-theme="classic"] .cx-hs-hint { display: none; align-items: center; gap: 8px; margin-top: 18px; font-size: 12.5px; font-weight: 600; letter-spacing: .12em; color: var(--muted); }
[data-theme="classic"] .cx-hs-hint svg { width: 16px; height: 16px; color: var(--brand); animation: cx-nudge 1.6s ease-in-out infinite; }
@keyframes cx-nudge { 50% { transform: translateX(6px); } }
[data-theme="classic"] .cx-hs.is-pin .cx-hs-meter, [data-theme="classic"] .cx-hs.is-pin .cx-hs-hint { display: flex; }

[data-theme="classic"] .cx-hs-card { display: flex; flex-direction: column; width: clamp(320px, 30vw, 450px); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 24px 48px -32px rgba(16, 24, 40, .25); transition: transform .6s var(--cx-out), box-shadow .6s var(--cx-out); }
[data-theme="classic"] .cx-hs.is-pin .cx-hs-card { height: min(640px, calc(100vh - 200px)); }
[data-theme="classic"] .cx-hs-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
[data-theme="classic"] .cx-hs-media { position: relative; flex-shrink: 0; height: 200px; overflow: hidden; background: var(--dark); }
/* 标准少的分类:图片自动撑满剩余高度,不留大片空白 */
[data-theme="classic"] .cx-hs.is-pin .cx-hs-media { flex: 1 1 auto; height: auto; min-height: 30%; }
[data-theme="classic"] .cx-hs.is-pin .cx-hs-body { flex: 0 0 auto; }
[data-theme="classic"] .cx-hs-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--cx-out); }
[data-theme="classic"] .cx-hs-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(13, 16, 21, .55), rgba(13, 16, 21, 0) 60%); }
[data-theme="classic"] .cx-hs-card:hover .cx-hs-media img { transform: scale(1.07); }
[data-theme="classic"] .cx-hs-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
[data-theme="classic"] .cx-hs-no { flex-shrink: 0; margin-bottom: -.06em; font-size: 56px; font-weight: 700; line-height: 1; letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1.2px var(--brand); font-variant-numeric: tabular-nums; transition: color .4s; }
[data-theme="classic"] .cx-hs-card:hover .cx-hs-no { color: var(--brand); }
[data-theme="classic"] .cx-hs-body { display: flex; flex: 1; flex-direction: column; min-height: 0; padding: 26px 28px 18px; }
[data-theme="classic"] .cx-hs-body h3 { font-size: 24px; font-weight: 600; letter-spacing: -.02em; }
[data-theme="classic"] .cx-hs-body p { margin: 6px 0 14px; font-size: 14.5px; line-height: 1.6; color: var(--muted); }
[data-theme="classic"] .cx-hs-body ul { margin-top: auto; }
[data-theme="classic"] .cx-hs-body li a { display: grid; grid-template-columns: auto minmax(0, 1fr) 16px; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
[data-theme="classic"] .cx-hs-body li b { font-size: 15px; font-weight: 600; color: var(--ink); white-space: nowrap; transition: color .3s; }
[data-theme="classic"] .cx-hs-body li span { overflow: hidden; font-size: 13px; color: var(--muted); white-space: nowrap; text-overflow: ellipsis; }
[data-theme="classic"] .cx-hs-body li svg { width: 16px; height: 16px; color: var(--brand); opacity: 0; transform: translateX(-6px); transition: opacity .3s, transform .35s var(--cx-out); }
[data-theme="classic"] .cx-hs-body li a:hover b { color: var(--brand); }
[data-theme="classic"] .cx-hs-body li a:hover svg { opacity: 1; transform: none; }

[data-theme="classic"] .cx-hs-end { position: relative; display: flex; flex-direction: column; justify-content: flex-end; width: clamp(300px, 26vw, 400px); padding: 40px; overflow: hidden; border-radius: var(--radius-lg); background: radial-gradient(120% 90% at 100% 0%, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0) 60%), var(--brand); color: #fff; }
[data-theme="classic"] .cx-hs.is-pin .cx-hs-end { height: min(640px, calc(100vh - 200px)); }
[data-theme="classic"] .cx-hs-end-no { font-size: clamp(120px, 11vw, 176px); font-weight: 700; line-height: .85; letter-spacing: -.06em; }
[data-theme="classic"] .cx-hs-end h3 { margin: 16px 0 10px; color: #fff; font-size: 26px; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; }
[data-theme="classic"] .cx-hs-end p { margin-bottom: 28px; font-size: 15px; line-height: 1.65; color: rgba(255, 255, 255, .82); }
[data-theme="classic"] .cx-hs-end .btn { align-self: flex-start; }
[data-theme="classic"] .cx-hs-tel { display: inline-flex; align-items: center; gap: 10px; margin-top: 20px; font-size: 17px; font-weight: 600; }
[data-theme="classic"] .cx-hs-tel svg { width: 18px; height: 18px; }
@media (max-height: 800px) { [data-theme="classic"] .cx-hs.is-pin .cx-hs-body p { display: none; } }

/* ---------- 按钮:悬停时色块从左扫入 ---------- */
[data-theme="classic"] .btn { position: relative; isolation: isolate; overflow: hidden; }
[data-theme="classic"] .btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--btn-sweep, var(--dark)); transform: scaleX(0); transform-origin: right center; transition: transform .55s var(--cx-out); }
[data-theme="classic"] .btn:hover::before { transform: scaleX(1); transform-origin: left center; }
[data-theme="classic"] .btn-primary:hover { background: var(--brand); }
[data-theme="classic"] .btn-ghost { --btn-sweep: var(--ink); }
[data-theme="classic"] .btn-ghost:hover { background: transparent; color: #fff; border-color: var(--ink); }
[data-theme="classic"] .cx-hero .btn-ghost { --btn-sweep: #fff; }
[data-theme="classic"] .cx-hero .btn-ghost:hover { background: transparent; color: var(--ink); border-color: #fff; }
[data-theme="classic"] .btn-light { --btn-sweep: var(--dark); }
[data-theme="classic"] .btn-light:hover { color: #fff; }

/* ---------- 自定义光标(仅鼠标设备;输入框保留原生文字光标) ---------- */
.cx-cursor-dot, .cx-cursor-ring { position: fixed; left: 0; top: 0; z-index: 3000; border-radius: 50%; pointer-events: none; opacity: 0; }
html:not([data-theme="classic"]) .cx-cursor-dot, html:not([data-theme="classic"]) .cx-cursor-ring { display: none; }
html.cx-cursor.cx-cursor-in .cx-cursor-dot, html.cx-cursor.cx-cursor-in .cx-cursor-ring { opacity: 1; }
html.cx-cursor-text .cx-cursor-dot, html.cx-cursor-text .cx-cursor-ring { opacity: 0 !important; }
.cx-cursor-dot { width: 8px; height: 8px; margin: -4px 0 0 -4px; background: #bf3f48; box-shadow: 0 0 0 1.5px rgba(255, 255, 255, .85); transition: opacity .3s; }
.cx-cursor-ring { width: 40px; height: 40px; margin: -20px 0 0 -20px; border: 1.5px solid rgba(191, 63, 72, .6); box-shadow: 0 0 0 1px rgba(255, 255, 255, .25); transition: opacity .3s, width .4s cubic-bezier(.16, 1, .3, 1), height .4s cubic-bezier(.16, 1, .3, 1), margin .4s cubic-bezier(.16, 1, .3, 1), background .3s, border-color .3s; }
.cx-cursor-ring.is-link { width: 70px; height: 70px; margin: -35px 0 0 -35px; border-color: #bf3f48; background: rgba(191, 63, 72, .12); }
.cx-cursor-ring.is-down { width: 28px; height: 28px; margin: -14px 0 0 -14px; }
html[data-theme="classic"].cx-cursor, html[data-theme="classic"].cx-cursor * { cursor: none; }
html[data-theme="classic"].cx-cursor input, html[data-theme="classic"].cx-cursor textarea { cursor: text; }
html[data-theme="classic"].cx-cursor select { cursor: pointer; }

/* ---------- 响应式 ---------- */
@media (max-width: 1180px) {
  [data-theme="classic"] .cx-seal { width: 136px; height: 136px; top: 40px; }
  [data-theme="classic"] .cx-seal::after { inset: 34px; }
}
@media (max-width: 960px) {
  [data-theme="classic"] .cx-hs-card { width: min(78vw, 420px); }
  [data-theme="classic"] .cx-hs-intro { width: min(78vw, 420px); }
  [data-theme="classic"] .cx-hs-end { width: min(78vw, 420px); min-height: 420px; }
}
@media (max-width: 640px) {
  [data-theme="classic"] .cx-seal { display: none; }
  [data-theme="classic"] .cx-ticker { margin-left: 0; font-size: 13px; }
  [data-theme="classic"] .cx-tk-cap { display: none; }
  [data-theme="classic"] .cx-bm { padding: 40px 0 36px; }
  [data-theme="classic"].anim .cx-zoom { height: 200vh; }
  [data-theme="classic"] .cx-zoom-copy { padding-bottom: 64px; }
  [data-theme="classic"] .cx-zoom-title { font-size: 34px; }
  [data-theme="classic"] .cx-zoom-stats { gap: 20px 32px; margin-top: 32px; }
  [data-theme="classic"] .cx-zoom-stats .stat-num { font-size: 30px; }
  [data-theme="classic"] .cx-hs-sticky { padding: 80px 0; }
  [data-theme="classic"] .cx-hs-intro h2 { font-size: 36px; }
  [data-theme="classic"] .cx-hs-card, [data-theme="classic"] .cx-hs-intro, [data-theme="classic"] .cx-hs-end { width: 84vw; }
  [data-theme="classic"] .cx-hs-media { height: 160px; }
  [data-theme="classic"] .cx-hs-no { font-size: 44px; }
}

/* ---------- 繁中排版 ---------- */
html[data-lang="zh"][data-theme="classic"] .cx-bm-item { letter-spacing: -.02em; }
html[data-lang="zh"][data-theme="classic"] .cx-zoom-title { font-size: clamp(34px, 5.6vw, 88px); line-height: 1.22; letter-spacing: .01em; }
html[data-lang="zh"][data-theme="classic"] .cx-hs-intro h2 { font-size: clamp(34px, 4vw, 60px); line-height: 1.25; letter-spacing: .01em; }
html[data-lang="zh"][data-theme="classic"] .cx-hs-intro p { max-width: 22em; line-height: 1.9; }
html[data-lang="zh"][data-theme="classic"] .cx-hs-body h3, html[data-lang="zh"][data-theme="classic"] .cx-hs-end h3 { letter-spacing: .02em; }
@media (max-width: 640px) {
  html[data-lang="zh"][data-theme="classic"] .cx-zoom-title { font-size: 30px; }
  html[data-lang="zh"][data-theme="classic"] .cx-hs-intro h2 { font-size: 30px; }
}

/* =========================================================
   性能覆盖(流畅度):动画只动 transform / opacity(交给合成层,不重绘);
   去掉叠在动画上的毛玻璃模糊;位移由脚本直接写 transform,不再用 CSS 变量 + transition 追赶滚动
   ========================================================= */
/* 毛玻璃:底下的内容一动,每帧都要重新模糊,是卡顿大头 → 改实色半透明 */
[data-theme="classic"] .navbar { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(255, 255, 255, .985); }
[data-theme="classic"] .cx-dock { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(19, 23, 30, .94); }
[data-theme="classic"] .cx-seal { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(13, 16, 21, .62); }
[data-theme="classic"] .cx-hero-accred { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(13, 16, 21, .68); }
[data-theme="classic"] .cx-ticker { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(13, 16, 21, .5); }

/* hero 背景图:脚本直接写 transform(已含缓动),不要 CSS 过渡再追一层 */
[data-theme="classic"] .cx-hero-media { transform: none; transition: none; will-change: transform; }
/* 滤镜只做一次:图片单独成层,Ken Burns 缩放在合成层完成 */
[data-theme="classic"] .cx-hero-media img { will-change: transform; backface-visibility: hidden; }

/* 光晕:从「整块 hero 重绘径向渐变」改为一个固定大小的圆形图层随鼠标平移 */
[data-theme="classic"] .cx-hero-glow { inset: auto; left: -280px; top: -280px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(closest-side, rgba(191, 63, 72, .3), rgba(191, 63, 72, 0)); will-change: transform; transform: translate3d(-9999px, 0, 0); }

/* 粒子画布单独成层 */
[data-theme="classic"] .cx-net { will-change: transform; transform: translateZ(0); }

/* 培训图视差:同上,直接写 transform */
[data-theme="classic"] .cx-tr-media img, [data-theme="classic"].anim .cx-wipe img { transition: scale 1.8s var(--cx-out) .1s; will-change: transform; }

/* 超大字滚动条:行与轨道都单独成层,倾斜 / 平移只在合成层完成 */
[data-theme="classic"] .cx-bm-row { transform: none; will-change: transform; }
[data-theme="classic"] .cx-bm-track { backface-visibility: hidden; }

/* 图片放大转场:不再每帧改 clip-path(整屏重绘),改成外框缩放 + 图片反向缩放 */
[data-theme="classic"] .cx-zoom-media { clip-path: none; border-radius: 28px; transform-origin: 50% 50%; will-change: transform; }
[data-theme="classic"] .cx-zoom-media img { transform: none; will-change: transform; }
[data-theme="classic"] .cx-zoom-media::after { display: none; }
[data-theme="classic"] .cx-zoom-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(13, 16, 21, .88) 0%, rgba(13, 16, 21, .35) 55%, rgba(13, 16, 21, .12) 100%); will-change: opacity; }
[data-theme="classic"] .cx-zoom-copy { opacity: 1; transform: none; will-change: transform, opacity; }
[data-theme="classic"]:not(.anim) .cx-zoom-media { border-radius: 0; }

/* 深色区 / CTA 滚动展开:clip-path 每帧整块重绘,关掉(网格底纹和光斑漂移保留) */
[data-theme="classic"].anim .cx-benefits, [data-theme="classic"].anim .cta-band { animation: none; clip-path: none; }

/* 横向服务区轨道单独成层 */
[data-theme="classic"] .cx-hs-track { backface-visibility: hidden; }

/* 光标图层 */
.cx-cursor-dot, .cx-cursor-ring { will-change: transform; }

/* 颗粒噪点:原来用 SVG feTurbulence 滤镜实时生成,整块区域每次进入画面都要 GPU 重算(实测单帧 100ms+)。
   改为预渲染的 180×180 灰度噪点图平铺,观感一致、几乎零成本 */
[data-theme="classic"] { --cx-grain: url("../assets/grain.png"); }
/* luminosity 混合模式同样拖慢光栅化;图片本身已是灰度滤镜,改普通叠加 */
[data-theme="classic"] .cx-tr-media img, [data-theme="classic"] .page-hero-bg { mix-blend-mode: normal; }
[data-theme="classic"] .cx-tr-media img { opacity: .7; }
