/* 国炬官网首页 2026 改版 —— 只给 index.htm 用，全部样式挂在 .h26 下，不影响其它页面 */
@font-face {
  font-family: "DINC";
  src: url("../font/DINCondensedC.woff") format("woff"), url("../font/DINCondensedC.ttf") format("truetype");
  font-display: swap;
}

:root {
  --ink: #0A1433;
  --ink-2: #0E1A40;
  --panel: #14234F;
  --line: rgba(150, 170, 230, .16);
  --text: #EAF0FF;
  --muted: #9AA6C8;
  --fire: #FF8A1F;
  --fire-2: #FFB547;
  --jeecg: #16C5A5;
  --jimu: #3D7BFF;
  --qqy: #8A7BFF;
  --chat: #22D3EE;
  --paper: #F3F5FA;
  --ink-text: #16203F;
  --ink-muted: #5B6584;
  --wrap: 1200px;
}

.h26 { margin: 0; overflow-x: hidden; background: var(--ink); color: var(--text); font-family: -apple-system, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Source Han Sans SC", sans-serif; font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
.h26 *, .h26 *::before, .h26 *::after { box-sizing: border-box; }
.h26 :where(h1, h2, h3, p, ul, ol, dl, dd, figure) { margin: 0; padding: 0; }
.h26 :where(ul, ol) { list-style: none; }
.h26 :where(a) { color: inherit; text-decoration: none; }
.h26 :where(img) { max-width: 100%; display: block; }
.h26 :focus-visible { outline: 2px solid var(--fire-2); outline-offset: 3px; border-radius: 4px; }
.h26-wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }

/* 按钮与文字链接 */
.h26-btn { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 26px; border-radius: 10px; font-size: 16px; font-weight: 600; transition: background-color .2s, border-color .2s, color .2s; white-space: nowrap; }
.h26-btn-fire { background: var(--fire); color: #1A0E00; }
.h26-btn-fire:hover { background: var(--fire-2); }
.h26-btn-ghost { border: 1px solid rgba(234, 240, 255, .35); color: var(--text); }
.h26-btn-ghost:hover { border-color: var(--text); }
.h26-textlink { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; border-bottom: 1px solid currentColor; padding-bottom: 1px; line-height: 1.3; }

/* ---------- 顶部导航 ---------- */
.h26-head { position: fixed; z-index: 50; top: 0; left: 0; right: 0; transition: background-color .25s, box-shadow .25s; }
.h26-head.is-solid { background: rgba(10, 20, 51, .92); box-shadow: 0 1px 0 var(--line); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.h26-head-in { display: flex; align-items: center; height: 76px; gap: 32px; }
.h26-logo img { height: 34px; width: auto; }
.h26-nav { flex: 1; display: flex; align-items: center; justify-content: flex-end; gap: 28px; }
.h26-nav > ul { display: flex; gap: 4px; }
.h26-nav > ul > li { position: relative; }
.h26-nav > ul > li > a { display: block; padding: 8px 14px; font-size: 15px; color: rgba(234, 240, 255, .82); border-radius: 8px; }
.h26-nav > ul > li > a:hover, .h26-nav > ul > li.is-on > a { color: #fff; }
.h26-nav > ul > li.is-on > a { box-shadow: inset 0 -2px 0 var(--fire); border-radius: 0; }
.h26-sub { position: absolute; top: 100%; left: 50%; min-width: 150px; transform: translateX(-50%); padding: 8px; background: #fff; border-radius: 10px; box-shadow: 0 16px 40px rgba(0, 0, 0, .3); display: none; }
.h26-nav > ul > li:hover .h26-sub, .h26-nav > ul > li:focus-within .h26-sub { display: block; }
.h26-sub a { display: block; padding: 7px 12px; color: var(--ink-text); font-size: 14px; border-radius: 6px; white-space: nowrap; }
.h26-sub a:hover { background: var(--paper); }
.h26-nav-cta { height: 40px; padding: 0 18px; font-size: 14px; }
.h26-burger { display: none; margin-left: auto; width: 44px; height: 44px; border: 0; background: none; padding: 11px 9px; cursor: pointer; }
.h26-burger span { display: block; height: 2px; margin: 4px 0; background: var(--text); border-radius: 2px; }

/* ---------- 首屏 ---------- */
.h26-hero { position: relative; overflow: hidden; padding: 150px 0 110px; background:
  radial-gradient(760px 440px at 74% 44%, rgba(61, 123, 255, .2), transparent 70%),
  var(--ink); }
.h26-grid-bg { position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 65% 45%, #000 20%, transparent 75%);
  mask-image: radial-gradient(ellipse 70% 60% at 65% 45%, #000 20%, transparent 75%); }
.h26-hero-in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); align-items: center; gap: 40px; }
.h26-org { font-size: 15px; color: var(--muted); letter-spacing: .08em; margin-bottom: 18px; }
.h26-hero h1 { font-size: 58px; line-height: 1.18; font-weight: 700; letter-spacing: .01em; color: #fff; }
.h26-lede { margin-top: 26px; max-width: 30em; font-size: 17px; color: var(--muted); line-height: 1.85; }
.h26-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.h26-stats { display: flex; gap: 44px; margin-top: 52px; padding-top: 26px; border-top: 1px solid var(--line); }
.h26-stats div { display: flex; flex-direction: column-reverse; }
.h26-stats dt { font-size: 13px; color: var(--muted); }
.h26-stats dd { font-family: "DINC", "Bahnschrift", "DIN Condensed", sans-serif; font-size: 40px; line-height: 1.1; color: #fff; letter-spacing: .01em; }
.h26-stats dd i { font-style: normal; font-size: .55em; margin-left: 2px; color: var(--fire-2); }

/* 积木 SVG */
.h26-hero-art { position: relative; }
.stack { width: 100%; height: auto; overflow: visible; }
.stack .floor { fill: url(#h26-floor); }
.stack .seam { stroke: rgba(0, 0, 0, .18); stroke-width: 1; }
.stack .edge { fill: none; stroke: rgba(255, 255, 255, .55); stroke-width: 1.2; stroke-linejoin: round; }
.stack .lay { transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.stack .lay.is-lift { transform: translateY(-8px); }
.stack .tag { cursor: pointer; }
.stack .lead { stroke: rgba(234, 240, 255, .35); stroke-width: 1; stroke-dasharray: 3 4; }
.stack .tag-name { font-size: 19px; font-weight: 700; fill: #fff; }
.stack .tag-sub { font-size: 13px; fill: var(--muted); }
.stack .tag.is-lift .lead { stroke: rgba(234, 240, 255, .8); stroke-dasharray: none; }
.stack .tag-jeecg.is-lift .tag-name { fill: #5FE8CF; }
.stack .tag-jimu.is-lift .tag-name { fill: #86AEFF; }
.stack .tag-qqy.is-lift .tag-name { fill: #B6ABFF; }
.stack .drop-line { stroke: rgba(255, 181, 71, .55); stroke-width: 1.5; stroke-dasharray: 2 5; }

/* 唯一的入场动画：三层积木依次落下，最后一块悬停 */
@keyframes h26-fall { from { opacity: 0; transform: translateY(-70px); } 70% { opacity: 1; } to { opacity: 1; transform: translateY(0); } }
@keyframes h26-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
.stack .lay-jeecg { animation: h26-fall .7s cubic-bezier(.3, 1.3, .5, 1) .15s both; }
.stack .lay-jimu { animation: h26-fall .7s cubic-bezier(.3, 1.3, .5, 1) .5s both; }
.stack .lay-qqy { animation: h26-fall .7s cubic-bezier(.3, 1.3, .5, 1) .85s both; }
.stack .drop { animation: h26-fall .7s ease-out 1.3s both, h26-bob 3.6s ease-in-out 2s infinite; }
.stack .tag, .stack .drop-line { animation: h26-fade .6s ease-out 1.5s both; }
@keyframes h26-fade { from { opacity: 0; } to { opacity: 1; } }
.stack .lay.is-lift { animation: none; }

/* ---------- 通用区块标题 ---------- */
.h26-sec-head { max-width: 680px; margin-bottom: 64px; }
.h26-sec-head h2 { font-size: 40px; line-height: 1.3; font-weight: 700; color: #fff; }
.h26-sec-head p { margin-top: 14px; font-size: 17px; color: var(--muted); }
.h26-sec-head-row { max-width: none; display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 36px; }
.h26-sec-head-row .h26-textlink { color: var(--muted); font-size: 15px; }

/* ---------- 三款产品 ---------- */
.h26-products { overflow: hidden; padding: 110px 0 60px; background: var(--ink-2); border-top: 1px solid var(--line); }
.h26-prod { --c: var(--jeecg); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 64px; padding: 64px 0; border-top: 1px solid var(--line); }
.h26-prod-jimu { --c: var(--jimu); }
.h26-prod-qqy { --c: var(--qqy); }
.h26-prod:nth-of-type(even) .h26-prod-text { order: 2; }
.h26-prod h3 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; font-size: 34px; line-height: 1.25; font-weight: 700; color: #fff; }
.h26-prod h3 small { font-size: 16px; font-weight: 500; color: var(--c); }
.h26-mark { position: relative; top: 2px; width: 22px; height: 22px; border-radius: 4px; background: var(--c); align-self: center; box-shadow: inset 0 -5px 0 rgba(0, 0, 0, .2); }
.h26-mark::after { content: ""; position: absolute; left: 6px; top: -5px; width: 10px; height: 6px; border-radius: 3px 3px 0 0; background: var(--c); filter: brightness(1.2); }
.h26-prod-lede { margin-top: 18px; color: #C9D2EC; font-size: 16px; line-height: 1.85; }
.h26-feats { margin-top: 24px; display: grid; gap: 12px; }
.h26-feats li { position: relative; padding-left: 22px; font-size: 15px; color: var(--muted); line-height: 1.6; }
.h26-feats li::before { content: ""; position: absolute; left: 0; top: .5em; width: 9px; height: 9px; border-radius: 2px; background: var(--c); opacity: .9; }
.h26-links { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 32px; }
.h26-btn-solid { background: var(--c); color: #061024; height: 44px; padding: 0 22px; font-size: 15px; }
.h26-btn-solid:hover { filter: brightness(1.1); }
.h26-links .h26-textlink { color: #DCE3F7; font-size: 15px; font-weight: 500; }
.h26-links .h26-textlink:hover { color: var(--c); }
.h26-shot { position: relative; border-radius: 14px; padding: 10px; background: rgba(255, 255, 255, .06); border: 1px solid var(--line); box-shadow: 0 30px 80px -20px color-mix(in srgb, var(--c) 45%, transparent), 0 20px 50px rgba(0, 0, 0, .35); }
.h26-shot img { border-radius: 8px; width: 100%; height: auto; }
.h26-shot::before { content: ""; position: absolute; z-index: -1; inset: 12% -6% -10% 12%; background: radial-gradient(closest-side, color-mix(in srgb, var(--c) 40%, transparent), transparent); filter: blur(30px); }
.h26-shot-bare { padding: 0; background: none; border: 0; box-shadow: none; }

/* ---------- AI ---------- */
.h26-ai { padding: 120px 0; background: var(--ink); border-top: 1px solid var(--line); }
.h26-ai-in { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 72px; align-items: center; }
.h26-ai h2 { font-size: 40px; line-height: 1.3; font-weight: 700; color: #fff; }
.h26-ai-text p { margin: 20px 0 28px; font-size: 16px; color: var(--muted); line-height: 1.85; max-width: 30em; }
.h26-textlink-light { color: var(--fire-2); }
.h26-term { border-radius: 16px; background: #071028; border: 1px solid var(--line); padding: 8px 8px 28px; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.h26-tabs { display: flex; gap: 4px; padding: 4px; background: rgba(255, 255, 255, .04); border-radius: 10px; }
.h26-tabs button { flex: 1; height: 42px; border: 0; border-radius: 8px; background: none; color: var(--muted); font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; transition: background-color .2s, color .2s; }
.h26-tabs button:hover { color: #fff; }
.h26-tabs button[aria-selected="true"] { color: #061024; }
.h26-tabs .t-jeecg[aria-selected="true"] { background: var(--jeecg); }
.h26-tabs .t-jimu[aria-selected="true"] { background: var(--jimu); color: #fff; }
.h26-tabs .t-qqy[aria-selected="true"] { background: var(--qqy); color: #fff; }
.h26-pane { padding: 28px 24px 0; }
.h26-prompt { position: relative; padding: 18px 20px 18px 48px; border-radius: 12px; background: rgba(255, 255, 255, .06); color: #fff; font-size: 16px; line-height: 1.7; }
.h26-prompt::before { content: ""; position: absolute; left: 18px; top: 22px; width: 18px; height: 18px; border-radius: 50%; background: conic-gradient(from 200deg, var(--jeecg), var(--jimu), var(--qqy), var(--jeecg)); }
.h26-steps { margin-top: 22px; display: grid; gap: 12px; counter-reset: s; }
.h26-steps li { position: relative; padding-left: 36px; font-size: 15px; color: #C9D2EC; counter-increment: s; }
.h26-steps li::before { content: counter(s); position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--line); color: var(--muted); font-family: "DINC", sans-serif; font-size: 14px; line-height: 21px; text-align: center; }
.h26-steps li.done { color: #fff; font-weight: 600; }
.h26-steps li.done::before { content: ""; border: 0; background: var(--fire) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6 11.5l3.2 3L16 8' fill='none' stroke='%231A0E00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; }
.h26-pane:not([hidden]) .h26-steps li { animation: h26-step .4s ease-out both; }
.h26-pane:not([hidden]) .h26-steps li:nth-child(2) { animation-delay: .12s; }
.h26-pane:not([hidden]) .h26-steps li:nth-child(3) { animation-delay: .24s; }
.h26-pane:not([hidden]) .h26-steps li:nth-child(4) { animation-delay: .36s; }
.h26-pane:not([hidden]) .h26-steps li:nth-child(5) { animation-delay: .48s; }
@keyframes h26-step { from { opacity: 0; transform: translateX(-8px); } to { opacity: 1; transform: none; } }

/* ---------- 新闻 ---------- */
.h26-news { padding: 110px 0; background: var(--ink); border-top: 1px solid var(--line); }
.h26-news-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
.h26-news-main { display: flex; flex-direction: column; border-radius: 14px; overflow: hidden; background: var(--panel); border: 1px solid var(--line); }
.h26-news-img { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #1A2A5C; }
.h26-news-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.h26-news-main:hover .h26-news-img img { transform: scale(1.03); }
.h26-news-body { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px 26px; }
.h26-news-body time { font-family: "DINC", sans-serif; font-size: 17px; color: var(--fire-2); }
.h26-news-body strong { font-size: 20px; line-height: 1.45; color: #fff; }
.h26-news-desc { font-size: 14px; color: var(--muted); }
.h26-news-list { display: flex; flex-direction: column; }
.h26-news-list li + li { border-top: 1px solid var(--line); }
.h26-news-list a { display: flex; gap: 22px; padding: 18px 4px; align-items: flex-start; }
.h26-news-list time { flex: none; width: 64px; display: flex; flex-direction: column; align-items: center; font-family: "DINC", sans-serif; font-size: 14px; color: var(--muted); line-height: 1.2; }
.h26-news-list time b { font-size: 34px; font-weight: 400; color: #fff; line-height: 1; }
.h26-news-list span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.h26-news-list strong { font-size: 16px; font-weight: 600; color: #E3E9FA; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.h26-news-list em { font-style: normal; font-size: 14px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.h26-news-list a:hover strong, .h26-news-main:hover strong { color: var(--fire-2); }

/* ---------- 客户（浅色） ---------- */
.h26-clients { padding: 110px 0; background: var(--paper); color: var(--ink-text); }
.h26-clients .h26-sec-head h2 { color: var(--ink-text); }
.h26-clients .h26-sec-head p { color: var(--ink-muted); }
.h26-logos { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }
.h26-logos li { height: 92px; overflow: hidden; background: #fff; border-radius: 10px; border: 1px solid #E4E8F2; }
.h26-logos img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- 结尾 CTA ---------- */
.h26-cta { padding: 100px 0; background: radial-gradient(700px 300px at 50% 0%, rgba(255, 138, 31, .16), transparent 70%), var(--ink); }
.h26-cta-in { text-align: center; }
.h26-cta h2 { font-size: 40px; font-weight: 700; color: #fff; line-height: 1.3; }
.h26-cta-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 880px; margin: 44px auto 0; }
.h26-cta-links a { --c: var(--jeecg); display: flex; flex-direction: column; gap: 4px; padding: 22px 24px; border-radius: 12px; text-align: left; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); border-top: 3px solid var(--c); transition: background-color .2s; }
.h26-cta-links a:hover { background: rgba(255, 255, 255, .08); }
.h26-cta-links .c-jimu { --c: var(--jimu); }
.h26-cta-links .c-qqy { --c: var(--qqy); }
.h26-cta-links b { font-size: 20px; color: #fff; }
.h26-cta-links span { font-size: 14px; color: var(--muted); }

/* ---------- 底部 ---------- */
.h26-foot { background: #060D24; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.h26-foot-in { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr auto; gap: 40px; padding-top: 64px; padding-bottom: 48px; }
.h26-foot-brand img { height: 30px; width: auto; margin-bottom: 20px; }
.h26-foot-brand p { line-height: 2; }
.h26-foot ul li { line-height: 2.2; }
.h26-foot ul a:hover { color: #fff; }
.h26-foot-til { color: #fff; font-weight: 600; margin-bottom: 6px; }
.h26-qr { text-align: center; }
.h26-qr img { margin: 0 auto; width: 120px; height: 120px; border-radius: 8px; background: #fff; padding: 6px; }
.h26-qr span { display: block; margin-top: 10px; font-size: 13px; }
.h26-copy { border-top: 1px solid var(--line); padding: 20px 24px; text-align: center; font-size: 13px; }
.h26-copy a:hover { color: #fff; }


/* ---------- 首屏 AI 能力标签 ---------- */
.h26-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; max-width: 34em; }
.h26-chips li { padding: 4px 12px; border-radius: 999px; font-size: 13px; color: #DCE4FA; background: rgba(255, 255, 255, .06); border: 1px solid var(--line); }

/* ---------- AI 能力矩阵 ---------- */
.h26-aicap { position: relative; padding: 110px 0 100px; background:
  radial-gradient(800px 400px at 85% 30%, rgba(138, 123, 255, .14), transparent 70%),
  radial-gradient(700px 400px at 10% 80%, rgba(34, 211, 238, .08), transparent 70%), var(--ink);
  border-top: 1px solid var(--line); }
.h26-cap { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 40px; align-items: start; }
.h26-cap-list { display: flex; flex-direction: column; gap: 6px; }
.h26-cap-group { font-size: 13px; color: var(--muted); margin: 14px 0 4px 2px; display: flex; align-items: center; gap: 8px; }
.h26-cap-group:first-child { margin-top: 0; }
.h26-cap-group::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: var(--jeecg); }
.h26-cap-group.g-jimu::before { background: var(--jimu); }
.h26-cap-group.g-chat::before { background: var(--chat); }
.h26-cap-list button { --c: var(--jeecg); position: relative; display: block; width: 100%; text-align: left; padding: 14px 18px 14px 20px; border: 1px solid transparent; border-radius: 12px; background: none; color: var(--text); font: inherit; cursor: pointer; transition: background-color .2s, border-color .2s; }
.h26-cap-list button.c-jimu { --c: var(--jimu); }
.h26-cap-list button.c-chat { --c: var(--chat); }
.h26-cap-list button b { display: block; font-size: 17px; font-weight: 600; color: #C9D2EC; }
.h26-cap-list button span { display: none; margin-top: 6px; font-size: 14px; line-height: 1.7; color: var(--muted); }
.h26-cap-list button:hover b { color: #fff; }
.h26-cap-list button[aria-selected="true"] { background: rgba(255, 255, 255, .05); border-color: var(--line); }
.h26-cap-list button[aria-selected="true"]::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: var(--c); }
.h26-cap-list button[aria-selected="true"] b { color: #fff; }
.h26-cap-list button[aria-selected="true"] span { display: block; }
.h26-cap-stage { position: relative; border-radius: 16px; padding: 0 14px 14px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); box-shadow: 0 40px 100px -30px rgba(61, 123, 255, .45), 0 20px 50px rgba(0, 0, 0, .35); }
.h26-win-bar { display: flex; gap: 7px; padding: 14px 4px; }
.h26-win-bar i { width: 11px; height: 11px; border-radius: 50%; background: rgba(255, 255, 255, .18); }
.h26-cap-stage figure { border-radius: 10px; overflow: hidden; background: #fff; height: 520px; }
.h26-cap-stage figure img { width: 100%; height: 100%; object-fit: cover; object-position: top center; animation: h26-step .35s ease-out both; }
.h26-cap-stage figure.is-tall img { object-fit: contain; background: #F5F7FB; }
.h26-cap-cap { display: none; }
.h26-cap-links { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 16px 4px 2px; }
.h26-cap-links .h26-textlink { color: #DCE3F7; font-size: 14px; font-weight: 500; }
.h26-cap-links .h26-textlink:hover { color: var(--fire-2); }

.h26-models { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 40px; align-items: center; margin-top: 72px; padding-top: 48px; border-top: 1px solid var(--line); }
.h26-models h3 { font-size: 22px; color: #fff; font-weight: 700; }
.h26-models p { margin-top: 8px; font-size: 15px; color: var(--muted); }
.h26-model-list { display: flex; flex-wrap: wrap; gap: 10px; }
.h26-model-list li { padding: 8px 16px; border-radius: 10px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); font-size: 15px; font-weight: 600; color: #DCE4FA; }

/* ---------- Chat2BI ---------- */
.h26-c2b { padding: 110px 0; overflow: hidden; background: radial-gradient(700px 500px at 75% 50%, rgba(34, 211, 238, .14), transparent 70%), #08112C; border-top: 1px solid var(--line); }
.h26-c2b-in { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 72px; align-items: center; }
.h26-c2b h2 { font-size: 44px; line-height: 1.25; font-weight: 700; color: #fff; }
.h26-c2b-text > p { margin-top: 20px; font-size: 16px; color: var(--muted); line-height: 1.85; max-width: 30em; }
.h26-c2b-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; margin: 32px 0 36px; }
.h26-c2b-feats li { font-size: 14px; color: var(--muted); line-height: 1.6; padding-left: 14px; border-left: 2px solid var(--chat); }
.h26-c2b-feats b { display: block; font-size: 16px; color: #fff; margin-bottom: 2px; }
.h26-btn-c2b { background: var(--chat); color: #04202A; }
.h26-btn-c2b:hover { filter: brightness(1.1); }
.h26-chat { border-radius: 18px; background: #0B1736; border: 1px solid rgba(34, 211, 238, .25); padding: 20px 22px 24px; box-shadow: 0 40px 100px -30px rgba(34, 211, 238, .35), 0 20px 50px rgba(0, 0, 0, .4); }
.h26-chat-head { display: flex; align-items: center; gap: 10px; padding-bottom: 16px; border-bottom: 1px solid var(--line); font-weight: 600; color: #fff; }
.h26-chat-head em { margin-left: auto; font-style: normal; font-size: 13px; font-weight: 400; color: var(--muted); }
.h26-chat-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--chat); box-shadow: 0 0 0 4px rgba(34, 211, 238, .2); }
.h26-msg-user { margin: 20px 0 16px auto; width: fit-content; max-width: 80%; padding: 10px 16px; border-radius: 14px 14px 4px 14px; background: var(--jimu); color: #fff; font-size: 15px; }
.h26-msg-ai { padding: 16px 18px 18px; border-radius: 4px 14px 14px 14px; background: rgba(255, 255, 255, .05); font-size: 15px; color: #DCE4FA; }
.h26-bars { margin: 14px 0 16px; display: grid; gap: 10px; }
.h26-bars li { display: grid; grid-template-columns: 40px minmax(0, 1fr) 44px; align-items: center; gap: 10px; font-size: 14px; }
.h26-bars span { color: var(--muted); }
.h26-bars i { height: 14px; border-radius: 4px; background: linear-gradient(90deg, var(--jimu), var(--chat)); width: calc(var(--v) * 2.4%); transform-origin: left; }
.h26-bars b { font-family: "DINC", sans-serif; font-size: 18px; font-weight: 400; color: #fff; }
.h26-chat.is-in .h26-bars i { animation: h26-grow .9s cubic-bezier(.2, .8, .2, 1) both; }
.h26-chat.is-in .h26-bars li:nth-child(2) i { animation-delay: .1s; }
.h26-chat.is-in .h26-bars li:nth-child(3) i { animation-delay: .2s; }
.h26-chat.is-in .h26-bars li:nth-child(4) i { animation-delay: .3s; }
@keyframes h26-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.h26-sql { margin: 0; padding: 12px 14px; border-radius: 8px; background: #050C22; color: #9FE7F5; font-family: "SF Mono", Menlo, Consolas, monospace; font-size: 12.5px; line-height: 1.7; overflow-x: auto; white-space: pre; }
.h26-msg-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.h26-msg-acts span { padding: 3px 10px; border-radius: 6px; font-size: 13px; color: var(--chat); background: rgba(34, 211, 238, .1); }

/* ---------- 关于国炬 ---------- */
.h26-about { padding: 110px 0; background: var(--ink-2); border-top: 1px solid var(--line); }
.h26-about-in { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 72px; align-items: center; }
.h26-about h2 { font-size: 38px; line-height: 1.35; font-weight: 700; color: #fff; }
.h26-about-text p { margin-top: 18px; font-size: 16px; color: var(--muted); line-height: 1.9; max-width: 36em; }
.h26-about-text .h26-textlink { margin-top: 26px; }
.h26-about-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border-radius: 14px; overflow: hidden; border: 1px solid var(--line); }
.h26-about-stats div { display: flex; flex-direction: column-reverse; padding: 26px 24px; background: var(--ink-2); }
.h26-about-stats dt { font-size: 13px; color: var(--muted); margin-top: 4px; }
.h26-about-stats dd { font-family: "DINC", sans-serif; font-size: 46px; line-height: 1.05; color: #fff; }
.h26-about-stats dd i { font-style: normal; font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 15px; color: var(--fire-2); margin: 0 3px; }
.h26-timeline { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); row-gap: 44px; margin-top: 80px; }
.h26-timeline li { position: relative; padding: 30px 18px 0 0; border-top: 2px solid var(--line); }
.h26-timeline li::before { content: ""; position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border-radius: 3px; background: var(--ink-2); border: 2px solid var(--muted); }
.h26-timeline time { font-family: "DINC", sans-serif; font-size: 28px; color: #fff; line-height: 1; }
.h26-timeline p { margin-top: 10px; font-size: 13.5px; line-height: 1.7; color: var(--muted); }
.h26-timeline li.is-now { border-top-color: var(--fire); }
.h26-timeline li.is-now::before { background: var(--fire); border-color: var(--fire); }
.h26-timeline li.is-now time { color: var(--fire-2); }
.h26-timeline li.is-now p { color: #DCE4FA; }

@media (max-width: 900px) {
  .h26-cap, .h26-models, .h26-c2b-in, .h26-about-in { grid-template-columns: minmax(0, 1fr); }
  .h26-cap-stage figure { height: 360px; }
  .h26-cap-list { flex-direction: row; overflow-x: auto; gap: 8px; padding-bottom: 6px; scrollbar-width: none; }
  .h26-cap-group { display: none; }
  .h26-cap-list button { flex: none; width: auto; padding: 9px 16px; border: 1px solid var(--line); border-radius: 999px; }
  .h26-cap-list button b { font-size: 15px; white-space: nowrap; }
  .h26-cap-list button[aria-selected="true"] { background: var(--c); border-color: var(--c); }
  .h26-cap-list button[aria-selected="true"] b { color: #061024; }
  .h26-cap-list button[aria-selected="true"]::before, .h26-cap-list button[aria-selected="true"] span { display: none; }
  .h26-cap { gap: 20px; }
  .h26-cap-cap { display: block; padding: 14px 4px 0; font-size: 14px; line-height: 1.7; color: var(--muted); }
  .h26-cap-cap strong { display: block; color: #fff; font-size: 16px; margin-bottom: 4px; }
  .h26-aicap, .h26-c2b, .h26-about { padding-top: 80px; padding-bottom: 80px; }
  .h26-c2b-in, .h26-about-in { gap: 44px; }
  .h26-models { margin-top: 48px; padding-top: 36px; gap: 20px; }
  .h26-timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .h26-c2b h2, .h26-about h2 { font-size: 28px; }
  .h26-c2b-feats { grid-template-columns: 1fr; }
  .h26-cap-stage { padding: 0 8px 8px; }
  .h26-cap-stage figure { height: 240px; }
  .h26-chat { padding: 16px 14px 18px; }
  .h26-about-stats dd { font-size: 36px; }
  .h26-timeline { margin-top: 56px; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
}

/* ---------- 项目案例 ---------- */
.h26-cases { padding: 110px 0; background: var(--ink-2); border-top: 1px solid var(--line); }
.h26-cases .h26-sec-head-row { align-items: flex-end; }
.h26-cases .h26-sec-head-row p { margin-top: 12px; font-size: 17px; color: var(--muted); }
.h26-cases .h26-sec-head-row .h26-textlink { color: var(--fire-2); flex: none; }
.h26-case-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.h26-case { display: flex; flex-direction: column; border-radius: 14px; overflow: hidden; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); transition: background-color .2s, border-color .2s; }
.h26-case:hover { background: rgba(255, 255, 255, .07); border-color: rgba(255, 181, 71, .35); }
.h26-case:hover h3 { color: var(--fire-2); }
.h26-case-more { margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--fire-2); }
.h26-case-img { aspect-ratio: 16 / 9; overflow: hidden; background: var(--panel); }
.h26-case-img img { width: 100%; height: 100%; object-fit: cover; }
.h26-case-body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; }
.h26-case-tag { align-self: flex-start; padding: 2px 10px; border-radius: 999px; font-size: 12.5px; color: var(--fire-2); background: rgba(255, 138, 31, .12); }
.h26-case h3 { font-size: 18px; line-height: 1.4; color: #fff; font-weight: 700; }
.h26-case h3 small { display: block; font-size: 13.5px; font-weight: 500; color: var(--muted); margin-bottom: 2px; }
.h26-case p { font-size: 14px; line-height: 1.75; color: var(--muted); }
.h26-case.is-feature { grid-column: span 2; grid-row: span 2; }
.h26-case.is-feature .h26-case-img { aspect-ratio: auto; flex: 1; min-height: 260px; }
.h26-case.is-feature .h26-case-body { padding: 24px 28px 28px; gap: 10px; }
.h26-case.is-feature h3 { font-size: 26px; }
.h26-case.is-feature h3 small { font-size: 15px; }
.h26-case.is-feature p { font-size: 15.5px; color: #C9D2EC; }
.h26-case-stats { display: flex; gap: 32px; margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--line); }
.h26-case-stats li { display: flex; flex-direction: column; font-size: 13px; color: var(--muted); }
.h26-case-stats b { font-family: "DINC", sans-serif; font-size: 36px; font-weight: 400; line-height: 1.05; color: #fff; }
@media (max-width: 1100px) { .h26-case-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .h26-cases { padding: 80px 0; }
  .h26-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .h26-case.is-feature { grid-row: auto; }
  .h26-case.is-feature .h26-case-img { flex: none; aspect-ratio: 16 / 9; min-height: 0; }
  .h26-cases .h26-sec-head-row { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
  .h26-case-grid { grid-template-columns: minmax(0, 1fr); }
  .h26-case.is-feature { grid-column: auto; }
  .h26-case.is-feature h3 { font-size: 21px; }
}

/* ---------- 响应式 ---------- */
@media (max-width: 1100px) {
  .h26-hero h1 { font-size: 48px; }
  .h26-nav > ul > li > a { padding: 8px 10px; }
  .h26-logos { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .h26-foot-in { grid-template-columns: 1fr 1fr 1fr; }
  .h26-foot-brand { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .h26-burger { display: block; }
  .h26-head { background: rgba(10, 20, 51, .95); }
  .h26-head-in { height: 64px; }
  .h26-logo img { height: 28px; }
  .h26-nav { position: fixed; top: 64px; bottom: 0; left: 0; right: 0; z-index: 70; flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 16px; padding: 12px 20px calc(32px + env(safe-area-inset-bottom)); background: var(--ink); border-top: 1px solid var(--line); display: none; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
  .h26-nav.is-open { display: flex; }
  html.h26-menu-open, html.h26-menu-open body { overflow: hidden; }
  .h26-nav > ul { flex: none; }
  .h26-nav-cta { flex: none; }
  .h26-nav > ul { flex-direction: column; }
  .h26-nav > ul > li > a { padding: 12px 4px; font-size: 16px; }
  .h26-nav > ul > li.is-on > a { box-shadow: none; color: var(--fire-2); }
  .h26-sub { position: static; transform: none; display: block; background: none; box-shadow: none; padding: 0 0 6px 14px; }
  .h26-sub a { color: var(--muted); }
  .h26-sub a:hover { background: none; color: #fff; }
  .h26-hero { padding: 110px 0 72px; }
  .h26-hero-in, .h26-prod, .h26-ai-in, .h26-news-in { grid-template-columns: minmax(0, 1fr); }
  .h26-hero-art { max-width: 560px; }
  .h26-prod { gap: 36px; padding: 48px 0; }
  .h26-prod:nth-of-type(even) .h26-prod-text { order: 0; }
  .h26-products, .h26-ai, .h26-news, .h26-clients, .h26-cta { padding-top: 80px; padding-bottom: 80px; }
  .h26-ai-in { gap: 40px; }
  .h26-sec-head { margin-bottom: 40px; }
}
@media (max-width: 600px) {
  .h26-wrap { padding: 0 16px; }
  .h26-hero h1 { font-size: 36px; }
  .h26-lede { font-size: 16px; }
  .h26-stats { gap: 24px; }
  .h26-stats dd { font-size: 30px; }
  .h26-sec-head h2, .h26-ai h2, .h26-cta h2 { font-size: 28px; }
  .h26-prod h3 { font-size: 28px; }
  .h26-pane { padding: 22px 12px 0; }
  .h26-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .h26-cta-links { grid-template-columns: minmax(0, 1fr); }
  .h26-foot-in { grid-template-columns: 1fr 1fr; }
  .h26-qr { grid-column: 1 / -1; }
  .stack .tag-name { font-size: 26px; }
  .stack .tag-sub { font-size: 17px; }
}
/* ================= 产品页（gen_products.py 生成的 lists_single_*.htm） ================= */
.h26-pd .h26-head { background: rgba(10, 20, 51, .92); box-shadow: 0 1px 0 var(--line); }
.pd-hero { --c: var(--jeecg); position: relative; overflow: hidden; padding: 140px 0 90px; background:
  radial-gradient(760px 440px at 78% 45%, color-mix(in srgb, var(--c) 22%, transparent), transparent 70%), var(--ink); }
.pd-hero-in { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 56px; align-items: center; }
.pd-crumb { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--muted); margin-bottom: 22px; }
.pd-crumb a:hover { color: #fff; }
.pd-crumb em { font-style: normal; color: var(--c); }
.pd-hero h1 { font-size: 42px; line-height: 1.3; font-weight: 700; color: #fff; position: relative; text-wrap: balance; }
.pd-hero .h26-lede { margin-top: 22px; position: relative; }
.pd-hero .h26-chips li { border-color: color-mix(in srgb, var(--c) 35%, transparent); }
.pd-links { position: relative; }
.pd-hero .h26-btn-solid { --c: inherit; background: var(--c); }
.pd-hero-vis { position: relative; --c: inherit; }
.pd-hero-vis .h26-shot { --c: inherit; }
.pv-hero { padding-bottom: 70px; }
.pv-hero h1 { font-size: 52px; }

.pd-caps { padding: 100px 0; background: var(--ink-2); border-top: 1px solid var(--line); }
.pd-caps .h26-sec-head { margin-bottom: 44px; }
.pd-cap-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.pd-cap-grid li { padding: 30px 28px 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pd-cap-grid b { display: flex; align-items: center; gap: 10px; font-size: 18px; color: #fff; }
.pd-cap-grid b::before { content: ""; width: 10px; height: 10px; border-radius: 2px; background: var(--c); flex: none; }
.pd-cap-grid span { display: block; margin-top: 10px; font-size: 14.5px; line-height: 1.75; color: var(--muted); }

.pd-ai { position: relative; overflow: hidden; padding: 110px 0; border-top: 1px solid var(--line); background:
  radial-gradient(700px 420px at 80% 50%, color-mix(in srgb, var(--c) 18%, transparent), transparent 70%),
  radial-gradient(500px 300px at 10% 20%, rgba(176, 124, 255, .12), transparent 70%), #08112C; }
.pd-ai-in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; align-items: center; }
.pd-ai-solo .pd-ai-in { grid-template-columns: minmax(0, 760px); }
.pd-ai-tag { display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #fff; background: #6D4DFF; box-shadow: 0 0 0 4px rgba(109, 77, 255, .2); }
.pd-ai h2 { margin-top: 18px; font-size: 36px; line-height: 1.3; font-weight: 700; color: #fff; }
.pd-ai-text > p { margin-top: 16px; font-size: 16px; line-height: 1.85; color: var(--muted); }
.pd-ai-list { margin-top: 24px; display: grid; gap: 12px; }
.pd-ai-list li { position: relative; padding-left: 30px; font-size: 15px; color: #DCE4FA; line-height: 1.6; }
.pd-ai-list li::before { content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%; background: color-mix(in srgb, var(--c) 85%, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.3l2.6 2.5L13 6.5' fill='none' stroke='%23061024' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; }
ol.pd-ai-list { counter-reset: a; }
ol.pd-ai-list li { counter-increment: a; }
ol.pd-ai-list li::before { content: counter(a); background: var(--c); color: #061024; font-family: "DINC", sans-serif; font-size: 13px; line-height: 18px; text-align: center; }
.pd-term { padding: 22px; }
.pd-term .h26-prompt { font-size: 17px; }

.pd-extra { padding: 100px 0; background: var(--ink); border-top: 1px solid var(--line); }
.pd-extra .h26-shot { --c: var(--jeecg); max-width: 1040px; margin: 0 auto; }
.pd-extra .h26-sec-head { margin-left: auto; margin-right: auto; text-align: center; }

.pd-scenes { padding: 100px 0; background: var(--ink-2); border-top: 1px solid var(--line); }
.pd-scenes-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; }
.pd-scenes h2, .pd-related h2 { font-size: 28px; font-weight: 700; color: #fff; margin-bottom: 28px; }
.pd-scene-list { display: flex; flex-wrap: wrap; gap: 12px; }
.pd-scene-list li { padding: 12px 20px; border-radius: 10px; font-size: 16px; color: #fff; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); border-left: 3px solid var(--c); }
.pd-steps { display: grid; gap: 4px; counter-reset: s; }
.pd-steps li { position: relative; padding: 0 0 20px 48px; counter-increment: s; }
.pd-steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 8px; background: rgba(255, 255, 255, .06); border: 1px solid var(--line); color: #fff; font-family: "DINC", sans-serif; font-size: 18px; line-height: 29px; text-align: center; }
.pd-steps li:not(:last-child)::after { content: ""; position: absolute; left: 15px; top: 34px; bottom: 4px; width: 1px; background: var(--line); }
.pd-steps b { display: block; font-size: 16px; color: #fff; line-height: 30px; }
.pd-steps span { font-size: 14px; color: var(--muted); }

.pd-related { padding: 90px 0 100px; background: var(--ink); border-top: 1px solid var(--line); }
.pd-rel-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pd-rel, .pv-card { --c: var(--jeecg); display: flex; flex-direction: column; gap: 4px; padding: 22px 24px; border-radius: 12px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); border-top: 3px solid var(--c); transition: background-color .2s; }
.pd-rel:hover, .pv-card:hover { background: rgba(255, 255, 255, .08); }
.c-jimu { --c: var(--jimu); } .c-qqy { --c: var(--qqy); } .c-chat { --c: var(--chat); } .c-ai { --c: #B07CFF; } .c-jeecg { --c: var(--jeecg); }
.pd-rel b { font-size: 18px; color: #fff; }
.pd-rel span { font-size: 13px; color: var(--muted); }

.pv-body { padding: 40px 0 110px; background: var(--ink); }
.pv-group + .pv-group { margin-top: 64px; }
.pv-group h2 { font-size: 24px; font-weight: 700; color: #fff; margin-bottom: 24px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.pv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.pv-card { padding: 26px 26px 24px; gap: 8px; }
.pv-group:nth-child(2) .pv-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pv-brand { font-size: 13px; color: var(--c); font-weight: 600; }
.pv-card b { font-size: 22px; color: #fff; }
.pv-desc { font-size: 14.5px; line-height: 1.75; color: var(--muted); }
.pv-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.pv-chips i { font-style: normal; font-size: 12.5px; padding: 2px 9px; border-radius: 999px; color: #DCE4FA; background: rgba(255, 255, 255, .06); }

/* 示意图：表单设计器、手机 */
.h26-mock { border-radius: 14px; border: 1px solid var(--line); box-shadow: 0 30px 80px -20px color-mix(in srgb, var(--c) 45%, transparent), 0 20px 50px rgba(0, 0, 0, .35); }
.mk-form { display: grid; grid-template-columns: 110px minmax(0, 1fr) 130px; height: 380px; overflow: hidden; background: #F5F7FB; color: #33405F; font-size: 12px; }
.mk-form b { display: block; font-size: 13px; color: #16203F; margin-bottom: 10px; }
.mk-side, .mk-prop { padding: 14px 12px; background: #fff; display: flex; flex-direction: column; gap: 7px; }
.mk-side span { padding: 6px 8px; border: 1px dashed #CBD3E6; border-radius: 6px; background: #F8FAFE; }
.mk-prop span { color: #6B7694; }
.mk-prop i { height: 22px; border-radius: 5px; border: 1px solid #E1E6F0; background: #FAFBFD; margin-bottom: 4px; }
.mk-canvas { position: relative; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.mk-canvas > b { text-align: center; font-size: 15px; }
.mk-row { display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 8px; }
.mk-row i { height: 26px; border-radius: 6px; background: #fff; border: 1px solid #DDE3EE; }
.mk-row i.ws::after, .mk-row i.wd::after { content: ""; float: right; width: 8px; height: 8px; margin: 8px 10px 0 0; border-right: 2px solid #9AA6C8; border-bottom: 2px solid #9AA6C8; transform: rotate(45deg); }
.mk-row i.wd::after { transform: none; border: 2px solid #9AA6C8; border-radius: 2px; width: 10px; height: 10px; margin-top: 7px; }
.mk-sub { padding: 8px 10px; border-radius: 8px; border: 1px solid #DDE3EE; background: #fff; display: grid; gap: 6px; }
.mk-sub em { height: 14px; border-radius: 4px; background: #EEF2F8; }
.mk-drag { position: absolute; right: 30px; top: 150px; padding: 7px 12px; border-radius: 6px; background: var(--jeecg); color: #fff; font-weight: 600; box-shadow: 0 10px 24px rgba(22, 197, 165, .45); transform: rotate(-4deg); }
.mk-phone-wrap { border: 0; box-shadow: none; display: flex; justify-content: center; }
.mk-phone { width: 300px; padding: 22px 16px 18px; border-radius: 38px; background: #F5F7FB; border: 8px solid #1B2A55; box-shadow: 0 30px 80px -20px color-mix(in srgb, var(--c) 55%, transparent), 0 20px 50px rgba(0, 0, 0, .4); color: #16203F; font-size: 13px; }
.mk-ph-top { display: flex; justify-content: space-between; align-items: center; font-size: 17px; }
.mk-ph-top span { min-width: 24px; height: 24px; border-radius: 12px; background: #FF5A5A; color: #fff; font-size: 13px; text-align: center; line-height: 24px; }
.mk-ph-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 16px 0; }
.mk-ph-grid i { font-style: normal; text-align: center; padding: 10px 0; border-radius: 10px; background: #fff; font-size: 12px; color: #33405F; }
.mk-phone ul { display: grid; gap: 8px; }
.mk-phone li { display: grid; grid-template-columns: 1fr auto; padding: 10px 12px; border-radius: 10px; background: #fff; }
.mk-phone li b { font-size: 14px; }
.mk-phone li span { grid-column: 1; font-size: 12px; color: #6B7694; }
.mk-phone li em { grid-row: 1 / 3; grid-column: 2; align-self: center; font-style: normal; font-size: 12px; padding: 2px 8px; border-radius: 6px; }
.mk-phone li em.p { color: #D9620A; background: #FFF1E3; }
.mk-phone li em.o { color: #0C8E78; background: #E3FAF4; }
.mk-ph-ai { margin-top: 12px; padding: 10px 12px; border-radius: 12px; color: #fff; font-size: 12.5px; background: linear-gradient(90deg, #8A7BFF, #3D7BFF); }

@media (max-width: 900px) {
  .pd-hero { padding: 100px 0 64px; }
  .pd-hero-in, .pd-ai-in, .pd-scenes-in { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .pd-hero h1 { font-size: 34px; }
  .pv-hero h1 { font-size: 38px; }
  .pd-cap-grid, .pv-grid, .pv-group:nth-child(2) .pv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-rel-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-caps, .pd-ai, .pd-extra, .pd-scenes, .pd-related { padding-top: 72px; padding-bottom: 72px; }
}
@media (max-width: 600px) {
  .pd-hero h1 { font-size: 28px; }
  .pd-cap-grid, .pv-grid, .pv-group:nth-child(2) .pv-grid { grid-template-columns: minmax(0, 1fr); }
  .pd-ai h2 { font-size: 26px; }
  .mk-form { grid-template-columns: minmax(0, 1fr); height: auto; min-height: 320px; }
  .mk-drag { right: 16px; top: 120px; }
  .mk-side, .mk-prop { display: none; }
}

/* 产品页扩充：关键数字 / 功能详解 / 专题列表 / 常见问题 */
.pd-stats { background: var(--ink); border-top: 1px solid var(--line); }
.pd-stat-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pd-stat-row div { padding: 30px 24px 30px 0; display: flex; flex-direction: column; gap: 6px; }
.pd-stat-row div + div { padding-left: 28px; border-left: 1px solid var(--line); }
.pd-stat-row dd { font-family: "DINC", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 38px; line-height: 1.05; color: #fff; }
.pd-stat-row dt { font-size: 14px; color: var(--muted); line-height: 1.5; }

.pd-feats { padding: 100px 0 40px; background: var(--ink); border-top: 1px solid var(--line); }
.pd-feat { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; align-items: center; padding: 48px 0 64px; }
.pd-feat + .pd-feat { border-top: 1px solid var(--line); padding-top: 64px; }
.pd-feat:nth-of-type(even) .pd-feat-text { order: 2; }
.pd-feat h3 { font-size: 28px; line-height: 1.35; font-weight: 700; color: #fff; }
.pd-feat-text > p { margin-top: 14px; font-size: 16px; line-height: 1.85; color: var(--muted); }
.pd-feat-text ul { margin-top: 20px; display: grid; gap: 10px; }
.pd-feat-text li { position: relative; padding-left: 20px; font-size: 15px; color: #DCE4FA; }
.pd-feat-text li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 2px; background: var(--c); }
.pd-feat-img { margin: 0; border-radius: 14px; padding: 10px; background: #F3F6FC; box-shadow: 0 30px 80px -24px color-mix(in srgb, var(--c) 50%, transparent), 0 18px 44px rgba(0, 0, 0, .35); }
.pd-feat-img img { width: 100%; height: auto; max-height: 520px; object-fit: contain; border-radius: 8px; }

.pd-grid { padding: 100px 0; background: var(--ink-2); border-top: 1px solid var(--line); }
.pd-grid .h26-sec-head { margin-bottom: 40px; }
.pd-grid-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pd-grid-list li { padding: 22px 22px 24px; border-radius: 12px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); }
.pd-grid-list b { display: flex; align-items: center; gap: 10px; font-size: 17px; color: #fff; }
.pd-grid-list b::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: var(--c); }
.pd-grid-list span { display: block; margin-top: 8px; font-size: 14px; line-height: 1.7; color: var(--muted); }
.pd-grid-list.is-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pd-grid-list.is-cards li { padding: 0 0 22px; overflow: hidden; }
.pd-grid-list.is-cards img { width: 100%; height: auto; display: block; background: #F3F6FC; margin-bottom: 18px; }
.pd-grid-list.is-cards b, .pd-grid-list.is-cards span { padding: 0 22px; }

.pd-faq { padding: 100px 0; background: var(--ink); border-top: 1px solid var(--line); }
.pd-faq-in { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 56px; }
.pd-faq h2 { font-size: 32px; font-weight: 700; color: #fff; }
.pd-faq-list { border-top: 1px solid var(--line); }
.pd-faq details { border-bottom: 1px solid var(--line); }
.pd-faq summary { position: relative; list-style: none; cursor: pointer; padding: 22px 48px 22px 0; font-size: 17px; font-weight: 600; color: #fff; }
.pd-faq summary::-webkit-details-marker { display: none; }
.pd-faq summary::after { content: "+"; position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-size: 24px; font-weight: 300; color: var(--c); transition: transform .2s; }
.pd-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.pd-faq details p { padding: 0 48px 24px 0; font-size: 15px; line-height: 1.85; color: var(--muted); }

@media (max-width: 900px) {
  .pd-stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-stat-row div:nth-child(3) { padding-left: 0; border-left: 0; }
  .pd-stat-row div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .pd-feat { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .pd-feat:nth-of-type(even) .pd-feat-text { order: 0; }
  .pd-grid-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-grid-list.is-cards { grid-template-columns: minmax(0, 1fr); }
  .pd-faq-in { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .pd-feats, .pd-grid, .pd-faq { padding-top: 72px; padding-bottom: 72px; }
}
@media (max-width: 600px) {
  .pd-stat-row dd { font-size: 30px; }
  .pd-stat-row div { padding: 22px 12px 22px 0; }
  .pd-stat-row div + div { padding-left: 16px; }
  .pd-feat h3 { font-size: 22px; }
  .pd-grid-list { grid-template-columns: minmax(0, 1fr); }
}

/* ================= 栏目页：新闻 / 文章 / 招聘 / 关于我们（gen_pages.py） ================= */
.pg-hero { padding-bottom: 64px; }
.pg-hero h1 { max-width: 22em; }
.pg-crumb { color: var(--muted); }
.pg-crumb a { color: var(--muted); }
.pg-crumb a:hover { color: #fff; }
.pg-meta { position: relative; display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 16px; font-size: 14px; color: var(--muted); }
.pg-tabs { position: sticky; top: 76px; z-index: 20; background: rgba(14, 26, 64, .96); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.pg-tabs-in { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.pg-tabs a { flex: none; padding: 16px 18px; font-size: 15px; color: #C9D2EC; border-bottom: 2px solid transparent; }
.pg-tabs a:hover { color: #fff; }
.pg-tabs a.is-on { color: #fff; border-bottom-color: var(--fire); }
.pg-body { padding: 64px 0 100px; background: var(--ink); }
.pg-h2 { font-size: 28px; font-weight: 700; color: #fff; margin-bottom: 20px; }
.pg-sub { font-size: 15px; line-height: 1.85; color: var(--muted); }
.pg-two { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 56px; align-items: start; }

/* 新闻列表 */
.pg-news { display: grid; gap: 18px; }
.pg-news-item { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 28px; align-items: center; padding: 16px; border-radius: 14px; background: rgba(255, 255, 255, .03); border: 1px solid var(--line); transition: background-color .2s, border-color .2s; }
.pg-news-item:hover { background: rgba(255, 255, 255, .06); border-color: rgba(255, 181, 71, .35); }
.pg-news-img { display: block; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: var(--panel); }
.pg-news-img img { width: 100%; height: 100%; object-fit: cover; }
.pg-news-body { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding-right: 12px; }
.pg-news-body time { font-family: "DINC", sans-serif; font-size: 17px; color: var(--fire-2); }
.pg-news-body strong { font-size: 20px; line-height: 1.45; color: #fff; }
.pg-news-item:hover strong { color: var(--fire-2); }
.pg-news-body em { font-style: normal; font-size: 14.5px; line-height: 1.75; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pg-more { margin-top: 36px; text-align: center; color: var(--muted); }

/* 文章与职位详情：正文放浅色纸面 */
.pg-article-in { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; align-items: start; }
.pg-paper { background: #fff; color: #333; border-radius: 14px; padding: 40px 48px; box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .5); min-width: 0; }
.pg-paper-wide { max-width: 1100px; margin: 0 auto; }
.pg-tags { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 8px; }
.pg-tags a { padding: 3px 12px; border-radius: 999px; font-size: 13px; background: #FFF3E6; color: #C25E00; }
.pg-prenext { margin-top: 28px; padding-top: 20px; border-top: 1px solid #EEF0F4; display: grid; gap: 8px; font-size: 14.5px; color: #6B7694; }
.pg-prenext a { color: #16203F; }
.pg-prenext a:hover { color: #E67E22; }
.pg-aside { display: grid; gap: 20px; position: sticky; top: 150px; }
.pg-card { padding: 24px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); }
.pg-card h2 { font-size: 18px; color: #fff; margin-bottom: 14px; }
.pg-links { display: grid; gap: 2px; }
.pg-links a { display: block; padding: 8px 0; font-size: 14.5px; line-height: 1.55; color: #C9D2EC; border-bottom: 1px dashed var(--line); }
.pg-links a:hover { color: var(--fire-2); }
.pg-card .h26-textlink { margin-top: 14px; color: var(--fire-2); font-size: 14px; }
.pg-card-cta a { display: block; padding: 10px 14px; margin-top: 8px; border-radius: 10px; background: rgba(255, 255, 255, .05); color: #fff; font-size: 14.5px; }
.pg-card-cta a:hover { background: rgba(255, 138, 31, .18); }
.pg-apply p { font-size: 14.5px; line-height: 1.8; color: var(--muted); }
.pg-apply .h26-btn { width: 100%; margin: 16px 0 10px; }
.pg-small { font-size: 13px !important; }

/* 招聘 */
.pg-why { margin-bottom: 64px; }
.pg-why li b::before { background: var(--fire); }
.pg-jobs { display: grid; gap: 14px; }
.pg-job { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.6fr) auto; gap: 24px; align-items: center; padding: 24px 28px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); border-left: 3px solid var(--fire); transition: background-color .2s; }
.pg-job:hover { background: rgba(255, 255, 255, .08); }
.pg-job-main strong { display: block; font-size: 20px; color: #fff; }
.pg-job-main time { font-size: 13px; color: var(--muted); }
.pg-job-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pg-job-tags i { font-style: normal; font-size: 13px; padding: 3px 10px; border-radius: 6px; color: #DCE4FA; background: rgba(255, 255, 255, .06); }
.pg-job-pay { font-size: 16px; font-weight: 600; color: var(--fire-2); white-space: nowrap; }
.pg-note { margin-top: 28px; font-size: 15px; color: var(--muted); }
.pg-note a { color: var(--fire-2); }
.pg-job-facts { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; margin-top: 28px; border-radius: 12px; overflow: hidden; background: var(--line); border: 1px solid var(--line); }
.pg-job-facts li { padding: 14px 16px; background: rgba(10, 20, 51, .92); }
.pg-job-facts span { display: block; font-size: 12.5px; color: var(--muted); }
.pg-job-facts b { display: block; margin-top: 4px; font-size: 15px; color: #fff; font-weight: 600; }
.pg-job-body h2 { font-size: 22px; color: #16203F; margin-bottom: 18px; padding-left: 12px; border-left: 4px solid var(--fire); }
.pg-job-content, .pg-job-content * { font-family: inherit !important; font-size: 15.5px !important; line-height: 1.9 !important; color: #333 !important; background: none !important; max-height: none !important; }
.pg-job-content strong, .pg-job-content b, .pg-job-content h3 { display: inline-block; margin-top: 10px; color: #16203F !important; font-size: 17px !important; }
.pg-job-content p, .pg-job-content div { margin: 0 0 6px !important; }

/* 关于我们 */
.pg-about-intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 64px; align-items: start; }
.pg-about-intro p { font-size: 16px; line-height: 1.95; color: #C9D2EC; margin-bottom: 14px; }
.pg-about-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border-radius: 14px; overflow: hidden; background: var(--line); border: 1px solid var(--line); }
.pg-about-stats div { display: flex; flex-direction: column; padding: 24px 22px; background: var(--ink); }
.pg-about-stats div:first-child { grid-column: 1 / -1; }
.pg-about-stats dd { font-family: "DINC", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 40px; line-height: 1.05; color: #fff; }
.pg-about-stats dt { margin-top: 6px; font-size: 13.5px; color: var(--muted); }
.pg-prods { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pg-prod { gap: 10px; padding: 24px; }
.pg-prod b { font-size: 18px; }
.pg-prod span { font-size: 14px; line-height: 1.75; }
.pg-about-tl { background: var(--ink); border-top: 1px solid var(--line); }
.pg-vtl { position: relative; display: grid; gap: 0; }
.pg-vtl::before { content: ""; position: absolute; left: 70px; top: 8px; bottom: 8px; width: 1px; background: var(--line); }
.pg-vtl li { position: relative; display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 32px; padding: 14px 0; }
.pg-vtl li::after { content: ""; position: absolute; left: 65px; top: 22px; width: 11px; height: 11px; border-radius: 3px; background: var(--ink); border: 2px solid var(--muted); }
.pg-vtl time { font-family: "DINC", sans-serif; font-size: 26px; line-height: 1.1; color: #fff; }
.pg-vtl p { font-size: 15px; line-height: 1.8; color: var(--muted); }
.pg-vtl li.is-now time { font-family: inherit; font-size: 18px; font-weight: 700; color: var(--fire-2); }
.pg-vtl li.is-now::after { background: var(--fire); border-color: var(--fire); }
.pg-vtl li.is-now p { color: #fff; }
.pg-founder-name { font-size: 22px; color: #fff; font-weight: 700; }
.pg-founder { font-size: 16px; line-height: 1.95; color: #C9D2EC; }
.pg-partners { display: grid; gap: 28px; }
.pg-pt-group h3 { font-size: 15px; color: var(--muted); font-weight: 600; margin-bottom: 12px; }
.pg-pt-group ul { display: flex; flex-wrap: wrap; gap: 10px; }
.pg-pt-group li { padding: 8px 16px; border-radius: 10px; font-size: 15px; color: #fff; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); }
.pg-about + .pd-grid, .pg-about-tl + .pd-grid { border-top: 1px solid var(--line); }

/* 老页面套用的新版头尾：不吸顶，下拉不被裁切 */
.h26-legacy { overflow: visible !important; background: var(--ink); line-height: 1.7; font-size: 16px; }
.h26-legacy .h26-head { position: relative; background: var(--ink); }
.h26-legacy .h26-head-in { height: 76px; }
.h26-legacy .h26-sub { z-index: 60; }
.h26-legacy .h26-foot ul { margin: 0; padding: 0; }
.h26-legacy img { max-width: 100%; }

@media (max-width: 900px) {
  .pg-tabs { top: 64px; }
  .pg-news-item { grid-template-columns: 200px minmax(0, 1fr); gap: 18px; }
  .pg-article-in, .pg-two, .pg-about-intro { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .pg-aside { position: static; }
  .pg-job { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pg-job-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pg-prods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-paper { padding: 28px 24px; }
  .h26-legacy .h26-head-in { height: 64px; }
}
@media (max-width: 600px) {
  .pg-news-item { grid-template-columns: minmax(0, 1fr); }
  .pg-news-body strong { font-size: 17px; }
  .pg-job-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-prods { grid-template-columns: minmax(0, 1fr); }
  .pg-paper { padding: 22px 16px; }
  .pg-vtl::before { left: 52px; }
  .pg-vtl li { grid-template-columns: 52px minmax(0, 1fr); gap: 22px; }
  .pg-vtl li::after { left: 47px; }
  .pg-vtl time { font-size: 21px; }
}

/* 联系我们 */
.pg-contact-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 40px; }
.pg-contact-cards .pg-card { border-top: 3px solid var(--fire); }
.pg-contact-cards h2 { font-size: 15px; color: var(--muted); font-weight: 600; margin-bottom: 8px; }
.pg-big { font-family: "DINC", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 30px; line-height: 1.2; color: #fff; word-break: break-all; }
.pg-mail { font-size: 20px; }
.pg-mail a { color: #fff; }
.pg-contact-cards p:not(.pg-big), .pg-contact-side p { font-size: 14px; line-height: 1.8; color: var(--muted); margin-top: 4px; }
.pg-contact { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; align-items: start; }
.pg-form h2 { font-size: 24px; color: #16203F; }
.pg-form-tip { margin: 6px 0 24px; font-size: 14.5px; color: #6B7694; }
.pg-form form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.pg-form label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; color: #33405F; }
.pg-form-full { grid-column: 1 / -1; }
.pg-form input, .pg-form select, .pg-form textarea { width: 100%; padding: 11px 14px; border: 1px solid #D9DFEA; border-radius: 10px; font: inherit; font-weight: 400; font-size: 15px; color: #16203F; background: #F8FAFD; transition: border-color .2s, background-color .2s; }
.pg-form input:focus, .pg-form select:focus, .pg-form textarea:focus { outline: none; border-color: var(--fire); background: #fff; box-shadow: 0 0 0 3px rgba(255, 138, 31, .18); }
.pg-form button { border: 0; cursor: pointer; font-family: inherit; }
.pg-qr img { width: 160px; height: 160px; margin: 6px 0 4px; border-radius: 10px; background: #fff; padding: 8px; }
@media (max-width: 900px) {
  .pg-contact-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-contact { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .pg-contact-cards { grid-template-columns: minmax(0, 1fr); }
  .pg-form form { grid-template-columns: minmax(0, 1fr); }
}

/* 后台正文自带排版的单页（公司荣誉 .gja .gjh）：不套白纸，直接用深色样式 */
.pg-paper:has(.gja) { background: none; padding: 0; box-shadow: none; color: inherit; }
.gja .article-body, .pg-paper .gja { color: var(--text); }
.gjh-sec + .gjh-sec { margin-top: 72px; padding-top: 56px; border-top: 1px solid var(--line); }
.gja-h2 { font-size: 30px; font-weight: 700; color: #fff; margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; }
.gja-note { max-width: 46em; font-size: 15.5px; line-height: 1.85; color: var(--muted); margin: 0 0 28px !important; }
.gjh-grid { display: grid; gap: 18px; margin: 0 !important; padding: 0 !important; list-style: none; }
.gjh-grid li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.gjh-grid li::marker { content: none; }
.gjh-certs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.gjh-certs a { padding: 8px; }
.gjh-awards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gjh-xc { grid-template-columns: repeat(2, minmax(0, 420px)); align-items: start; }
.gjh-grid a { display: flex; align-items: center; justify-content: center; height: 100%; padding: 12px; border-radius: 12px; background: #fff; border: 0 !important; box-shadow: 0 16px 40px -18px rgba(0, 0, 0, .6); transition: transform .25s, box-shadow .25s; }
.gjh-grid a:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -16px rgba(255, 138, 31, .45); }
.gjh-grid img { width: 100%; height: auto; margin: 0 !important; border-radius: 6px; box-shadow: none !important; display: block !important; }
.gjh-certs img { aspect-ratio: 3 / 4; object-fit: contain; }
@media (max-width: 900px) {
  .gjh-certs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gjh-awards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gjh-xc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .gjh-certs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gja-h2 { font-size: 24px; }
}

.pg-needs h2 { font-size: 24px; color: #16203F; }
.pg-needs dl { margin-top: 8px; }
.pg-needs dl > div { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 20px; padding: 20px 0; border-top: 1px solid #EEF0F4; }
.pg-needs dt { font-size: 15px; font-weight: 600; color: #33405F; }
.pg-needs dd a { font-family: "DINC", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 24px; color: #16203F; }
.pg-needs dd a:hover { color: #E67E22; }
.pg-needs dd span { display: block; margin-top: 4px; font-size: 14px; color: #6B7694; }
@media (max-width: 600px) { .pg-needs dl > div { grid-template-columns: minmax(0, 1fr); gap: 6px; } }

/* 发展历程（完整版） */
.pg-hy-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 48px; }
.pg-hy-nav a { padding: 6px 14px; border-radius: 999px; font-family: "DINC", sans-serif; font-size: 17px; color: #C9D2EC; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); }
.pg-hy-nav a:hover { color: #fff; border-color: var(--fire); }
.pg-hy { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 40px; padding: 44px 0; border-top: 1px solid var(--line); scroll-margin-top: 150px; }
.pg-hy-year { position: sticky; top: 150px; align-self: start; }
.pg-hy-year b { display: block; font-family: "DINC", sans-serif; font-size: 64px; line-height: 1; font-weight: 400; color: #fff; }
.pg-hy:first-of-type .pg-hy-year b { color: var(--fire-2); }
.pg-hy-year span { display: block; margin-top: 8px; font-size: 14px; color: var(--muted); }
.pg-hy-list { display: grid; gap: 14px; }
.pg-hy-list li { position: relative; padding: 2px 0 2px 22px; font-size: 15.5px; line-height: 1.8; color: #C9D2EC; }
.pg-hy-list li::before { content: ""; position: absolute; left: 0; top: .72em; width: 8px; height: 8px; border-radius: 2px; background: var(--fire); }
.pg-hy-list li b { color: #fff; font-weight: 600; margin-right: 6px; }
.pg-hy-list li b::after { content: "："; }
.pg-hy-list li.pg-hy-group { padding: 14px 0 0; font-size: 17px; font-weight: 700; color: var(--fire-2); }
.pg-hy-list li.pg-hy-group::before { display: none; }
@media (max-width: 900px) {
  .pg-hy { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 32px 0; scroll-margin-top: 130px; }
  .pg-hy-year { position: static; display: flex; align-items: baseline; gap: 14px; }
  .pg-hy-year b { font-size: 44px; }
}

/* 项目案例 列表与详情 */
.pg-cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.pg-case { display: flex; flex-direction: column; border-radius: 14px; overflow: hidden; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); transition: background-color .2s, border-color .2s; }
.pg-case:hover { background: rgba(255, 255, 255, .07); border-color: rgba(255, 181, 71, .35); }
.pg-case-img { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--panel); }
.pg-case-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.pg-case:hover .pg-case-img img { transform: scale(1.03); }
.pg-case-body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 22px; }
.pg-case-body i, .pg-case-tag i { align-self: flex-start; font-style: normal; padding: 2px 10px; border-radius: 999px; font-size: 12.5px; color: var(--fire-2); background: rgba(255, 138, 31, .12); }
.pg-case-body strong { font-size: 18px; line-height: 1.45; color: #fff; }
.pg-case:hover strong { color: var(--fire-2); }
.pg-case-body em { font-style: normal; font-size: 14px; line-height: 1.75; color: var(--muted); }
.pg-pages { margin-top: 36px; display: flex; justify-content: center; gap: 8px; color: var(--muted); }
.pg-pages a, .pg-pages span, .pg-pages li { list-style: none; }
.pg-pages a { padding: 6px 14px; border-radius: 8px; border: 1px solid var(--line); color: #C9D2EC; }
.pg-pages .active a, .pg-pages a:hover { border-color: var(--fire); color: #fff; }
.pg-case-tag { position: relative; margin-top: 18px; }
.pg-case-paper { padding: 36px 44px; }
.pg-case-content .case-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px !important; padding: 0 !important; list-style: none; }
.pg-case-content .case-tags li { list-style: none !important; margin: 0 !important; padding: 3px 12px !important; border-radius: 999px; font-size: 13px; line-height: 1.6; color: #2453C4 !important; background: #EEF3FF; }
.pg-case-content .case-tags li::marker { content: none; }
.pg-case-content h2 { font-size: 22px; margin: 32px 0 14px !important; padding: 0 0 0 12px !important; border: 0 !important; border-left: 4px solid var(--fire) !important; color: #16203F; }
.pg-case-content p { color: #3A4462; }
.pg-case-content img { border-radius: 10px; box-shadow: 0 10px 30px rgba(22, 32, 63, .14); margin: 6px auto 14px; max-height: 760px; width: auto; }
@media (max-width: 900px) { .pg-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pg-case-paper { padding: 26px 22px; } }
@media (max-width: 600px) { .pg-cases { grid-template-columns: minmax(0, 1fr); } }

/* 商业版（.cm 正文来自后台单页） */
.cm-hl { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 28px; max-width: 980px; }
.cm-hl li { padding: 14px 16px; border-radius: 12px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); }
.cm-hl b { display: block; font-size: 17px; color: #fff; }
.cm-hl span { display: block; margin-top: 4px; font-size: 13px; line-height: 1.6; color: var(--muted); }
.cm-jump a { font-size: 14px; padding: 14px 14px; }
.cm-body { padding-top: 56px; }
.cm-lead { font-size: 17px; line-height: 1.9; color: #C9D2EC; max-width: 52em; }
.cm-note { margin-top: 14px; padding: 10px 16px; border-left: 3px solid var(--fire); background: rgba(255, 138, 31, .08); border-radius: 0 8px 8px 0; font-size: 14px; color: var(--muted); max-width: 52em; }
.cm-sec { margin-top: 72px; scroll-margin-top: 160px; }
.cm-h2 { font-size: 30px; font-weight: 700; color: #fff; margin-bottom: 24px; }
.cm-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.cm-card { padding: 22px 22px 24px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); border-top: 3px solid var(--fire); }
.cm-card h3 { font-size: 18px; color: #fff; margin-bottom: 10px; }
.cm-card p { font-size: 14px; line-height: 1.75; color: var(--muted); margin-bottom: 8px; }
.cm-card ul, .cm-mod ul { display: grid; gap: 8px; }
.cm-card li, .cm-mod li { position: relative; padding-left: 16px; font-size: 14px; line-height: 1.75; color: var(--muted); }
.cm-card li::before, .cm-mod li::before { content: ""; position: absolute; left: 0; top: .7em; width: 6px; height: 6px; border-radius: 2px; background: var(--fire); }
.cm-card li b, .cm-mod li b { color: #fff; font-weight: 600; }
.cm-card li b::after, .cm-mod li b::after { content: "："; }
.cm-mods { columns: 2; column-gap: 18px; }
.cm-mod { break-inside: avoid; margin-bottom: 18px; padding: 26px 26px 28px; border-radius: 14px; background: rgba(255, 255, 255, .035); border: 1px solid var(--line); scroll-margin-top: 160px; }
.cm-mod h3 { display: flex; align-items: baseline; gap: 12px; font-size: 21px; color: #fff; margin-bottom: 8px; }
.cm-mod h3 em { font-style: normal; font-family: "DINC", sans-serif; font-size: 28px; font-weight: 400; color: var(--fire-2); }
.cm-mod-intro { font-size: 14px; color: var(--muted); margin-bottom: 14px; }
.cm-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.cm-chips li { padding: 10px 18px; border-radius: 10px; font-size: 15px; color: #fff; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); border-left: 3px solid var(--jeecg); }
.cm-adv { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.cm-adv li { padding: 20px 20px 22px; border-radius: 12px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); }
.cm-adv li b { display: block; font-size: 17px; color: #fff; margin-bottom: 6px; }
.cm-adv li span { font-size: 14px; color: var(--muted); }
.cm-cta { border-top: 1px solid var(--line); }
.cm-cta-tip { margin-top: 12px; font-size: 15px; color: var(--muted); }
.cm-cta .h26-cta-links b { font-family: "DINC", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 24px; font-weight: 400; }
@media (max-width: 900px) {
  .cm-hl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cm-mods { columns: 1; }
  .cm-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cm-adv { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cm-sec { margin-top: 56px; }
}
@media (max-width: 600px) {
  .cm-hl, .cm-adv, .cm-cards { grid-template-columns: minmax(0, 1fr); }
  .cm-h2 { font-size: 24px; }
  .cm-mod { padding: 20px 18px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .h26 *, .h26 *::before, .h26 *::after { animation: none !important; transition: none !important; }
}
