/* =====================================================================
   深墨青模板 · 首页各区块
   ===================================================================== */

.jk-sec { padding: var(--sp-9) 0; position: relative; }
.jk-sec--alt { background: var(--bg-alt); }

/* ------------------------------ 首屏 ------------------------------ */
.jk-hero { position: relative; padding: var(--sp-9) 0 var(--sp-8); overflow: hidden; }
.jk-hero__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.jk-hero__grid {
  position: absolute; inset: -1px;
  background-image:
    linear-gradient(to right, var(--line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line) 1px, transparent 1px);
  background-size: 68px 68px;
  -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 30%, #000 20%, transparent 78%);
  mask-image: radial-gradient(ellipse 90% 70% at 50% 30%, #000 20%, transparent 78%);
  opacity: .55;
}
.jk-hero__aurora {
  position: absolute; top: -380px; right: -260px;
  /* 位置可被鼠标跟随覆盖，--mx/--my 由脚本写入 */
  transform: translate3d(calc((var(--mx, 50%) - 50%) * -.25), calc((var(--my, 50%) - 50%) * -.25), 0);
  width: min(900px, 130vw); height: min(900px, 130vw);
  border-radius: 50%; filter: blur(120px); opacity: .3;
  background: radial-gradient(circle, var(--brand-500) 0%, transparent 62%);
  animation: jkAurora 18s var(--ease-io) infinite alternate;
}
.jk-hero__aurora--2 {
  top: 120px; left: -420px; right: auto;
  width: min(780px, 120vw); height: min(780px, 120vw); opacity: .22;
  background: radial-gradient(circle, var(--violet-500) 0%, transparent 62%);
  animation-duration: 24s; animation-direction: alternate-reverse;
}
@keyframes jkAurora {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(-70px, 60px, 0) scale(1.14); }
}

.jk-hero__inner {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: var(--sp-8); align-items: center;
}
.jk-hero__left,
.jk-hero__right { min-width: 0; }

.jk-hero__badge {
  display: inline-block; padding: 7px 14px;
  border: 1px solid var(--line-strong); background: var(--surface);
  font-size: 12.5px; color: var(--fg-2); margin-bottom: var(--sp-6);
}
.jk-hero__title {
  font-size: clamp(30px, 3.4vw, 46px);
  /* 中文字体的墨迹高度会超出行盒：实测 46px 字号下 em 的盒子高 66px，
     而行盒只有 60.7px，溢出的部分会顶到后面的轮播行。
     这里用 padding-bottom 把溢出量整段包进 h1 的盒子内。 */
  line-height: 1.5;
  letter-spacing: -.02em;
  margin: 0 0 22px;
  padding: 6px 0 14px;
  overflow-wrap: anywhere;
}
.jk-hero__hl {
  font-style: normal; position: relative; color: var(--accent);
  /* 不强制 nowrap：窄屏下长中文词应可折行，避免撑破容器 */
  white-space: normal;
}
.jk-hero__hl::after {
  content: ""; position: absolute; left: -.02em; right: -.02em; bottom: .1em;
  height: .22em; background: var(--accent-soft); z-index: -1;
}

.jk-rot {
  display: flex; align-items: center; gap: 10px;
  height: 46px; margin: 0 0 var(--sp-5);
  font-size: 16px; line-height: 1.6; color: var(--fg-2);
  position: relative; z-index: 1;
}
.jk-rot__label { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .16em; color: var(--fg-3); }
.jk-rot__box {
  position: relative; display: inline-block;
  height: 30px; min-width: 0; max-width: 100%;
  /* 不设 overflow:hidden —— 中文字体墨迹会超出盒高被裁掉 */
  overflow: visible;
}
.jk-rot__item {
  position: absolute; inset: 0; display: flex; align-items: center;
  padding: 2px 0;
  /* 单行显示，避免在窄容器里被折断 */
  white-space: nowrap;
  color: var(--fg); font-weight: 600;
  transform: translateY(110%); opacity: 0;
  transition: transform var(--t-slow) var(--ease), opacity var(--t-mid) linear;
}
.jk-rot__item.is-on { transform: translateY(0); opacity: 1; }
.jk-rot__item.is-out { transform: translateY(-110%); opacity: 0; }

.jk-hero__desc {
  font-size: 16.5px; line-height: 1.85; color: var(--fg-2);
  max-width: 46ch; margin-bottom: var(--sp-7);
}
.jk-hero__cta { display: flex; flex-wrap: wrap; gap: var(--sp-4); align-items: center; }
.jk-hero__tip { font-size: 12.5px; color: var(--fg-3); }

/* ---- 首屏控制台预览（纯 CSS） ---- */
.jk-console {
  position: relative;
  border: 1px solid var(--line-strong);
  background: linear-gradient(160deg, var(--surface-2), transparent 55%), var(--bg-alt);
  box-shadow: var(--shadow-hard);
  transform: perspective(1400px) rotateY(-7deg) rotateX(3deg);
  transition: transform var(--t-slow) var(--ease);
}
.jk-console:hover { transform: perspective(1400px) rotateY(-3deg) rotateX(1deg); }
.jk-console__bar {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 14px; border-bottom: 1px solid var(--line); background: var(--surface);
}
.jk-console__dots { display: flex; gap: 5px; flex: 0 0 auto; }
.jk-console__dots i { width: 9px; height: 9px; border-radius: 50%; background: var(--line-strong); }
.jk-console__dots i:first-child { background: var(--accent); }
.jk-console__url {
  font-family: var(--font-mono); font-size: 11px; color: var(--fg-3);
  margin-left: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.jk-console__live {
  margin-left: auto; display: flex; align-items: center; gap: 6px;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; color: var(--accent);
}
.jk-pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); animation: jkPulse 2s var(--ease-io) infinite; }
@keyframes jkPulse {
  0% { box-shadow: 0 0 0 0 rgba(47, 224, 192, .7); }
  70% { box-shadow: 0 0 0 9px rgba(47, 224, 192, 0); }
  100% { box-shadow: 0 0 0 0 rgba(47, 224, 192, 0); }
}
.jk-console__body {
  padding: var(--sp-5);
  display: flex; flex-direction: column; gap: var(--sp-4);
}
.jk-console__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.jk-cstat { padding: 13px 14px; border: 1px solid var(--line); background: var(--surface); }
.jk-cstat__k {
  display: block; font-family: var(--font-mono); font-size: 9.5px;
  letter-spacing: .14em; text-transform: uppercase; color: var(--fg-3);
}
.jk-cstat__v {
  display: flex; align-items: baseline; gap: 2px;
  font-family: var(--font-serif); font-size: 21px; font-weight: 700;
  margin-top: 6px; letter-spacing: -.02em;
}
.jk-cstat__v i { font-style: normal; font-size: .65em; color: var(--accent); }

.jk-trend { border: 1px solid var(--line); background: var(--surface); padding: 14px; }
.jk-chart__head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 10px; font-size: 12px; color: var(--fg-2);
}
.jk-chart__legend { display: flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 9.5px; color: var(--fg-3); }
.jk-chart__legend i { width: 9px; height: 3px; background: var(--accent); }
.jk-trend svg { width: 100%; height: 88px; display: block; overflow: visible; }
.jk-chart__line {
  fill: none; stroke: var(--accent); stroke-width: 2;
  stroke-dasharray: 700; stroke-dashoffset: 700;
  transition: stroke-dashoffset 1.6s var(--ease);
}
.jk-trend.is-in .jk-chart__line { stroke-dashoffset: 0; }
.jk-chart__area { fill: rgba(47, 224, 192, .16); opacity: 0; transition: opacity 1s linear .5s; }
.jk-trend.is-in .jk-chart__area { opacity: 1; }
.jk-chart__dot { fill: var(--accent); opacity: 0; transition: opacity .4s linear 1.2s; }
.jk-trend.is-in .jk-chart__dot { opacity: 1; }

.jk-orders {
  display: grid; gap: 1px;
  background: var(--line); border: 1px solid var(--line);
  flex: 0 0 auto;
}
.jk-order {
  display: grid; grid-template-columns: auto 1fr auto auto;
  align-items: center; gap: 10px; padding: 9px 12px;
  background: var(--bg-alt); font-size: 12.5px;
}
.jk-order.is-new { animation: jkSlideIn .5s var(--ease) both; }
@keyframes jkSlideIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.jk-order__no { font-family: var(--font-mono); font-size: 10px; color: var(--fg-3); }
.jk-order__pd { color: var(--fg-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jk-order__amt { font-family: var(--font-mono); color: var(--fg); }
.jk-order__st {
  font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .08em;
  padding: 2px 7px; background: var(--accent-soft); color: var(--accent);
}
.jk-order__st.is-wait { background: rgba(245, 147, 49, .14); color: var(--gold-400); }

.jk-console__float {
  /* 必须是普通文档流里的一行：早先用绝对定位时，
     订单列高一变它就压到列表上（实测截图里盖住了订单编号）。 */
  position: static;
  display: flex; align-items: center; gap: 12px;
  flex: 0 0 auto;
  margin: 0 var(--sp-5) var(--sp-5);
  padding: 12px 18px;
  border: 1px solid var(--line);
  background: var(--surface);
}
.jk-console__float b {
  font-family: var(--font-serif); font-size: 19px;
  color: var(--accent); letter-spacing: -.02em;
}
.jk-console__float b { font-family: var(--font-serif); font-size: 20px; }
.jk-console__float span { display: block; font-size: 11.5px; color: var(--fg-3); line-height: 1.4; }


/* ---- 首屏数据条 ---- */
.jk-stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1px;                       /* 用 1px 间隙 + 底色做出分隔线 */
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: var(--sp-9);
}
.jk-stat {
  display: flex; align-items: baseline; gap: var(--sp-4);
  padding: var(--sp-6) var(--sp-5);
  background: var(--bg);
}
.jk-stat__v {
  font-family: var(--font-serif); font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 700; letter-spacing: -.03em; line-height: 1;
  flex: 0 0 auto;
}
.jk-stat__k {
  font-size: 12.5px; color: var(--fg-3); letter-spacing: .04em;
  position: relative; padding-left: var(--sp-4);
}
.jk-stat__k::before {
  content: ""; position: absolute; left: 0; top: 50%;
  transform: translateY(-50%);
  width: 1px; height: 13px; background: var(--line-strong);
}

/* ------------------------------ 信任色带 ------------------------------ */
.jk-ribbon {
  position: relative;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  background: var(--bg-alt);
  padding: var(--sp-5) 0;
  /* 用 mask 做两侧渐隐，比叠渐变层更干净，也不会挡住内容 */
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 12%, #000 88%, transparent 100%);
}
.jk-ribbon__track {
  display: flex; align-items: center; gap: 0;
  width: max-content; will-change: transform;
  /* 注意：这里**不能**加 margin:0 auto。
     JS 用 scrollWidth/2 计算滚动距离，居中会让这个值失真，导致跑马灯不动。
     两侧边缘的视觉收口交给 .jk-ribbon 的 mask 渐隐处理。 */
}
/* 脚本没跑时也给一个默认位移，让轨道至少能靠 CSS 动起来 */
@keyframes jkMarqueeCss {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.jk-ribbon:hover .jk-ribbon__track { animation-play-state: paused; }
.jk-ribbon__item {
  display: inline-flex; align-items: center; gap: 10px;
  flex: 0 0 auto;
  padding: 0 var(--sp-6);
  font-size: 14px; color: var(--fg-2); white-space: nowrap;
  position: relative;
}
/* 条目之间用一条细竖线分隔，比纯间距更有秩序感 */
.jk-ribbon__item::after {
  content: ""; position: absolute; right: 0; top: 50%;
  transform: translateY(-50%);
  width: 1px; height: 14px; background: var(--line);
}
.jk-ribbon__item svg { width: 16px; height: 16px; stroke: var(--accent); flex: 0 0 auto; }

/* ------------------------------ 解决方案 ------------------------------ */
.jk-solutions { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-5); }
.jk-sol { position: relative; display: flex; flex-direction: column; }
.jk-sol__bg {
  position: absolute; inset: 0;
  background: var(--surface);
  border: var(--hairline);
  opacity: 0; transition: opacity var(--t-mid) linear;
}
.jk-sol__body {
  position: relative; flex: 1; display: flex; flex-direction: column;
  padding: var(--sp-7) var(--sp-6);
  border: var(--hairline); background: var(--bg-alt);
  transition: border-color var(--t-mid) linear, box-shadow var(--t-mid) var(--ease), transform var(--t-mid) var(--ease);
}
.jk-sol:hover .jk-sol__body { border-color: rgba(43,196,168,.45); box-shadow: var(--shadow-soft); transform: translateY(-3px); }
.jk-sol:hover .jk-sol__bg { opacity: 1; }
.jk-sol__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--sp-5); }
.jk-sol__tag {
  font-family: var(--font-mono); font-size: 11px; font-weight: 700; letter-spacing: .1em;
  padding: 3px 9px; background: transparent !important; color: var(--gold) !important;
  border: 1px solid rgba(217,188,130,.4); border-radius: var(--radius);
  transition: border-color var(--t-fast) linear, color var(--t-fast) linear;
}
.jk-sol:hover .jk-sol__tag { border-color: var(--gold); }
.jk-sol__ico svg { width: 25px; height: 25px; stroke: var(--accent); }
.jk-sol__t { font-family: var(--font-sans); font-size: 17px; font-weight: 700; margin-bottom: 10px; letter-spacing: 0; }
.jk-sol__d { font-size: 13.5px; color: var(--fg-2); line-height: 1.8; }

/* ------------------------------ 核心能力（Bento） ------------------------------ */
.jk-bento { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-5); }
.jk-cell {
  position: relative; overflow: hidden;
  display: flex; flex-direction: column;
  border: var(--hairline); background: var(--bg-alt);
  padding: var(--sp-7) var(--sp-6);
  transition: border-color var(--t-mid) linear, background var(--t-mid) linear, box-shadow var(--t-mid) var(--ease);
}
.jk-cell:hover { border-color: rgba(43,196,168,.42); box-shadow: var(--shadow-soft); }
/* 顶部一条随 hover 展开的进度线，给出「这一格被选中了」的反馈 */
.jk-cell::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--accent); transform: scaleX(0); transform-origin: left;
  transition: transform var(--t-slow) var(--ease);
}
.jk-cell:hover::before { transform: scaleX(1); }

.jk-cell__ico {
  width: 46px; height: 46px; flex: 0 0 auto;
  display: grid; place-items: center;
  border: 1px solid var(--line-strong);
  margin-bottom: var(--sp-5);
  transition: background var(--t-mid) linear, border-color var(--t-mid) linear;
}
.jk-cell__ico svg { width: 22px; height: 22px; stroke: var(--accent); transition: stroke var(--t-mid) linear; }
.jk-cell:hover .jk-cell__ico { background: var(--accent); border-color: var(--accent); }
.jk-cell:hover .jk-cell__ico svg { stroke: var(--accent-fg); }
.jk-cell__t { font-family: var(--font-sans); font-size: 17px; font-weight: 700; margin-bottom: 10px; letter-spacing: 0; }
.jk-cell__d { font-size: 13.5px; color: var(--fg-2); line-height: 1.8; }

/* 主卡：占满整行，左侧文案 + 右侧环形指标横向排布 */
.jk-cell--wide {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: center;
  gap: var(--sp-8);
  padding: var(--sp-7) var(--sp-8);
  background: linear-gradient(110deg, var(--surface-2), transparent 58%), var(--bg);
}
.jk-cell--wide .jk-cell__main { flex: 1; min-width: 0; }
.jk-cell--wide .jk-cell__t { font-size: 22px; margin-bottom: var(--sp-4); }
.jk-cell--wide .jk-cell__d { font-size: 14.5px; max-width: 62ch; }
.jk-cell__glow {
  position: absolute; top: -110px; right: -110px;
  width: 260px; height: 260px; border-radius: 50%;
  background: radial-gradient(circle, var(--accent) 0%, transparent 66%);
  opacity: .08; transition: opacity var(--t-slow) linear; pointer-events: none;
}
.jk-cell:hover .jk-cell__glow { opacity: .18; }

.jk-gauge { display: flex; align-items: center; gap: var(--sp-5); flex: 0 0 auto; }
.jk-gauge__ring { position: relative; width: 108px; height: 108px; flex: 0 0 auto; }
.jk-gauge__ring svg { width: 108px; height: 108px; transform: rotate(-90deg); }
.jk-gauge__bgc,
.jk-gauge__fgc { fill: none; stroke-width: 6; }
.jk-gauge__bgc { stroke: var(--line); }
.jk-gauge__fgc {
  stroke: var(--accent); stroke-linecap: round;
  stroke-dasharray: 251; stroke-dashoffset: 251;
  transition: stroke-dashoffset 1.6s var(--ease);
}
[data-gauge].is-on .jk-gauge__fgc { stroke-dashoffset: 18; }
.jk-gauge__val {
  position: absolute; inset: 0; display: grid; place-items: center;
  font-family: var(--font-serif); font-size: 20px; font-weight: 700;
  line-height: 1; white-space: nowrap; color: var(--fg);
}
.jk-gauge__lb { font-size: 13px; color: var(--fg-3); line-height: 1.7; max-width: 16ch; }

/* ------------------------------ 快速上手 ------------------------------ */
.jk-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-5); position: relative; }
.jk-steps::before {
  content: ""; position: absolute; top: 34px; left: 6%; right: 6%; height: 1.5px;
  background: repeating-linear-gradient(to right, var(--line-strong) 0 8px, transparent 8px 16px);
  z-index: 0;
}
.jk-step { position: relative; z-index: 1; }
.jk-step__no {
  width: 68px; height: 68px; display: grid; place-items: center;
  font-family: var(--font-serif); font-size: 24px; font-weight: 700;
  background: transparent; color: var(--gold);
  border: 1px solid rgba(217,188,130,.42); border-radius: var(--radius);
  margin-bottom: var(--sp-5);
  transition: all var(--t-mid) var(--ease);
}
.jk-step:hover .jk-step__no {
  border-color: var(--accent); color: var(--accent);
  box-shadow: 0 10px 26px -12px rgba(43,196,168,.55);
}
.jk-step__t { font-family: var(--font-sans); font-size: 17px; font-weight: 700; margin-bottom: 10px; letter-spacing: 0; }
.jk-step__d { font-size: 14px; color: var(--fg-2); line-height: 1.75; }
.jk-step__k {
  margin-top: var(--sp-4); padding-top: var(--sp-4);
  border-top: 1px dashed var(--line);
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .1em; color: var(--fg-3);
}

/* ------------------------------ 资金安全 ------------------------------ */
.jk-funds { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-5); }
.jk-fund {
  position: relative; padding: var(--sp-6);
  border: var(--hairline); background: var(--bg);
  transition: border-color var(--t-mid) linear, transform var(--t-mid) var(--ease);
}
.jk-fund:hover { border-color: var(--accent); transform: translateY(-4px); }
.jk-fund__no {
  display: inline-block; font-family: var(--font-mono); font-size: 10.5px;
  letter-spacing: .14em; padding: 4px 9px; margin-bottom: var(--sp-5);
  background: var(--fg) !important; color: var(--bg) !important;
}
.jk-fund:hover .jk-fund__no { background: var(--accent) !important; color: var(--accent-fg) !important; }
.jk-fund__t { font-family: var(--font-sans); font-size: 18px; font-weight: 700; margin-bottom: 12px; letter-spacing: 0; }
.jk-fund__d { font-size: 14px; color: var(--fg-2); line-height: 1.8; }

.jk-pays { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-7); }
.jk-pay {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 16px; border: var(--hairline);
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .08em;
  color: var(--fg-2); transition: all var(--t-fast) var(--ease);
}
.jk-pay:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-2px); }
.jk-pay i { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); flex: 0 0 auto; }

/* ------------------------------ 商品 ------------------------------ */
.jk-cats { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-bottom: var(--sp-7); }
.jk-cat {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 10px 17px; border: var(--hairline); background: transparent;
  border-radius: var(--radius);
  font-size: 14px; color: var(--fg-2);
  transition: all var(--t-fast) var(--ease);
}
.jk-cat:hover { border-color: var(--line-strong); color: var(--fg); transform: translateY(-2px); }
.jk-cat.is-on {
  background: var(--fg) !important; border-color: var(--fg); color: var(--bg) !important;
  box-shadow: 0 10px 24px -12px rgba(0,0,0,.6); transform: translateY(-2px);
}
.jk-cat__n { font-family: var(--font-mono); font-size: 10px; opacity: .6; }

.jk-goods { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-5); }

.jk-gcard { position: relative; display: flex; flex-direction: column; }
.jk-card__hit { position: absolute; inset: 0; z-index: 3; }
.jk-card__bg {
  position: absolute; inset: 0; transform: translate(8px, 8px);
  background: var(--surface-2); border: var(--hairline);
  transition: transform var(--t-mid) var(--ease), border-color var(--t-mid) linear;
}
.jk-card__body {
  position: relative; flex: 1; display: flex; flex-direction: column;
  border: 1px solid var(--line-strong); background: var(--bg); overflow: hidden;
  transition: transform var(--t-mid) var(--ease), box-shadow var(--t-mid) var(--ease), border-color var(--t-mid) linear;
}
.jk-gcard:hover .jk-card__body { transform: translate(-5px, -5px); box-shadow: var(--shadow-accent); border-color: var(--accent); }
.jk-gcard:hover .jk-card__bg { transform: translate(12px, 12px); border-color: var(--accent); }

.jk-card__top {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 11px 14px; border-bottom: 1.5px solid var(--line); background: var(--surface);
}
.jk-card__cat {
  font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .1em;
  color: var(--fg-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.jk-card__tag {
  flex: 0 0 auto;
  font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: .06em;
  padding: 3px 7px; background: var(--gold-500); color: #1B1204;
  clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 0 100%);
}
.jk-card__tag--coupon { background: var(--danger-500); color: #fff; }

.jk-card__thumb {
  position: relative; aspect-ratio: 16 / 10; overflow: hidden;
  border-bottom: 1.5px solid var(--line);
  background:
    linear-gradient(135deg, rgba(47, 224, 192, .18), transparent 62%),
    repeating-linear-gradient(45deg, var(--surface) 0 8px, transparent 8px 16px),
    var(--bg-alt);
  display: grid; place-items: center;
}
.jk-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.jk-card__initial {
  font-family: var(--font-serif); font-size: 44px; font-weight: 700;
  color: var(--accent); opacity: .85; line-height: 1;
  transition: transform var(--t-slow) var(--ease);
}
.jk-gcard:hover .jk-card__initial { transform: scale(1.12) rotate(-4deg); }
.jk-card__thumb::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .1) 50%, transparent 65%);
  transform: translateX(-120%); transition: transform .9s var(--ease);
}
.jk-gcard:hover .jk-card__thumb::after { transform: translateX(120%); }

.jk-card__main { padding: 14px; flex: 1; display: flex; flex-direction: column; gap: 9px; }
.jk-card__name {
  font-family: var(--font-sans); font-size: 15px; font-weight: 700;
  line-height: 1.45; letter-spacing: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.jk-card__desc {
  font-size: 12.5px; color: var(--fg-2); line-height: 1.65; flex: 1;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.jk-card__chips { display: flex; flex-wrap: wrap; gap: 5px; }
.jk-chip {
  font-family: var(--font-mono); font-size: 9px; letter-spacing: .04em;
  padding: 3px 6px; border: 1px solid var(--line); color: var(--fg-3);
}

.jk-card__foot {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 12px 14px; border-top: 1.5px solid var(--line); background: var(--surface);
}
.jk-price { display: flex; align-items: baseline; gap: 6px; font-family: var(--font-serif); font-weight: 700; }
.jk-price b { font-size: 21px; letter-spacing: -.02em; color: var(--accent); }
.jk-price s { font-family: var(--font-sans); font-size: 11.5px; color: var(--fg-3); font-weight: 400; }
.jk-buy {
  padding: 8px 14px; border: 1.5px solid var(--fg);
  background: transparent !important; color: var(--fg) !important;
  font-size: 12.5px; font-weight: 700; white-space: nowrap;
  transition: all var(--t-fast) var(--ease);
}
.jk-gcard:hover .jk-buy {
  background: var(--fg) !important; color: var(--bg) !important;
  box-shadow: 4px 4px 0 var(--shadow-accent);
}

/* ------------------------------ 常见问题 ------------------------------ */
.jk-faq { max-width: 980px; border-top: 1.5px solid var(--line); }
.jk-faq__item { border-bottom: 1.5px solid var(--line); }
.jk-faq__q {
  display: flex; align-items: center; gap: var(--sp-4);
  padding: var(--sp-5) 0; cursor: pointer; list-style: none;
  transition: padding var(--t-mid) var(--ease);
}
.jk-faq__q::-webkit-details-marker { display: none; }
.jk-faq__q:hover { padding-left: 8px; }
.jk-faq__q:hover .jk-faq__t { color: var(--accent); }
.jk-faq__no { font-family: var(--font-mono); font-size: 11px; color: var(--fg-3); flex: 0 0 auto; }
.jk-faq__t {
  flex: 1; font-family: var(--font-sans); font-size: 16.5px; font-weight: 600;
  letter-spacing: 0; transition: color var(--t-fast) linear;
}
.jk-faq__mark { position: relative; width: 16px; height: 16px; flex: 0 0 auto; }
.jk-faq__mark::before,
.jk-faq__mark::after {
  content: ""; position: absolute; background: var(--accent);
  transition: transform var(--t-mid) var(--ease);
}
.jk-faq__mark::before { top: 7px; left: 0; width: 16px; height: 2px; }
.jk-faq__mark::after { top: 0; left: 7px; width: 2px; height: 16px; }
details[open] .jk-faq__mark::after { transform: scaleY(0); }
.jk-faq__a {
  padding: 0 var(--sp-7) var(--sp-5) 38px;
  font-size: 14.5px; color: var(--fg-2); line-height: 1.9;
  animation: jkFaqIn .4s var(--ease) both;
}
.jk-faq__a > :first-child { margin-top: 0; }
.jk-faq__a img { max-width: 100%; height: auto; margin: var(--sp-4) 0; }
.jk-faq__a a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
@keyframes jkFaqIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ------------------------------ 资讯 ------------------------------ */
.jk-news { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: var(--sp-7); align-items: start; }

/* 列表：首条做成大卡（带日期块与摘要），其余为紧凑行 —— 主次分明 */
.jk-news__list { display: grid; gap: var(--sp-4); }

.jk-news__item {
  position: relative;
  display: flex; align-items: stretch; gap: var(--sp-5);
  padding: var(--sp-5) var(--sp-6);
  border: var(--hairline);
  background: var(--bg-alt);
  transition: border-color var(--t-fast) linear, background var(--t-fast) linear;
}
.jk-news__item:hover { border-color: var(--accent); background: var(--surface); }
.jk-news__item:hover .jk-news__t { color: var(--accent); }

/* 首条：加大 */
.jk-news__item:first-child { padding: var(--sp-6); }
.jk-news__item:first-child .jk-news__t { font-size: 19px; white-space: normal; }
.jk-news__item:first-child .jk-news__s { white-space: normal; -webkit-line-clamp: 2; }
.jk-news__item:first-child .jk-news__date b { font-size: 34px; }
.jk-news__item:first-child .jk-news__date { width: 84px; }

.jk-news__date {
  flex: 0 0 auto; width: 64px; text-align: center;
  display: flex; flex-direction: column; justify-content: center;
  border-right: 1px solid var(--line); padding-right: var(--sp-4);
}
.jk-news__date b {
  display: block; font-family: var(--font-serif);
  font-size: 26px; line-height: 1; letter-spacing: -.02em;
}
.jk-news__date i {
  display: block; font-family: var(--font-mono); font-size: 9.5px;
  font-style: normal; color: var(--fg-3); margin-top: 5px; letter-spacing: .06em;
}
.jk-news__body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.jk-news__t {
  display: block; font-size: 15px; font-weight: 600; line-height: 1.5;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color var(--t-fast) linear;
}
.jk-news__s {
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 12.5px; color: var(--fg-3); margin-top: 6px; line-height: 1.7;
}
.jk-news__arrow {
  width: 16px; height: 16px; stroke: var(--fg-3); flex: 0 0 auto;
  align-self: center;
  transition: transform var(--t-mid) var(--ease), stroke var(--t-fast) linear;
}
.jk-news__item:hover .jk-news__arrow { transform: translateX(5px); stroke: var(--accent); }

.jk-news__side {
  border: var(--hairline); background: var(--bg-alt);
  padding: var(--sp-6);
  position: sticky; top: 96px;
}
.jk-news__sidehead {
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--fg-3); margin-bottom: var(--sp-4);
}
.jk-news__cat {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--sp-4);
  padding: 12px 0; border-bottom: 1px dashed var(--line);
  font-size: 14px; color: var(--fg-2);
  transition: color var(--t-fast) linear, padding var(--t-fast) linear;
}
.jk-news__cat:last-of-type { border-bottom: 0; }
.jk-news__cat:hover { color: var(--accent); padding-left: 5px; }

/* ------------------------------ 行动号召 ------------------------------ */
.jk-cta {
  position: relative; overflow: hidden; text-align: center;
  border: 1.5px solid var(--fg);
  /* 反色白底：用户明确表示比深色版好看 */
  background: var(--fg);
  color: var(--bg);
  padding: var(--sp-9) var(--sp-8);
  box-shadow: var(--shadow-hard);
  /* 硬约束：这块是收尾横幅，内容不该把它撑成整屏 */
  max-height: 640px;
}
/* 鼠标滑动时的聚光光斑，位置由 --mx/--my 驱动 */
.jk-cta::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle 280px at var(--mx, 50%) var(--my, 50%),
              rgba(0, 201, 167, .20), transparent 68%);
  opacity: 0; transition: opacity .4s linear;
  pointer-events: none; z-index: 1;
}
.jk-cta.is-hover::after { opacity: 1; }
.jk-cta__inner {
  position: relative; z-index: 2;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1);
  transform-style: preserve-3d;
}

.jk-cta__grid {
  position: absolute; inset: -12%;
  opacity: .16; pointer-events: none;
  background-image:
    linear-gradient(to right, var(--bg) 1px, transparent 1px),
    linear-gradient(to bottom, var(--bg) 1px, transparent 1px);
  background-size: 52px 52px;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}

/* 鼠标提示 */
.jk-cta__hint {
  position: absolute; right: 22px; bottom: 20px;
  transition: opacity .4s linear;
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: .14em;
  color: rgba(5,8,13,.42); z-index: 2; pointer-events: none;
}
.jk-cta__hint svg { width: 13px; height: 13px; stroke: currentColor; }
.jk-cta.is-hover .jk-cta__hint { opacity: 0; }
.jk-cta__title {
  position: relative; font-size: clamp(28px, 3.6vw, 48px);
  line-height: 1.42; padding-bottom: .08em; margin-bottom: var(--sp-5);
}
.jk-cta__title em { font-style: italic; color: var(--accent); }
.jk-cta__title::after { content: none; }
.jk-cta__d {
  position: relative; font-size: 16.5px; opacity: .78;
  max-width: 54ch; margin: 0 auto var(--sp-7); line-height: 1.85;
}
.jk-cta__btns { position: relative; display: flex; flex-wrap: wrap; gap: var(--sp-4); justify-content: center; }
.jk-cta .jk-btn {
  border-color: var(--bg);
  background: var(--bg) !important; color: var(--fg) !important;
  box-shadow: 0 16px 34px -16px rgba(0, 0, 0, .5);
}
.jk-cta .jk-btn--line {
  background: transparent !important; color: var(--bg) !important;
  border-color: rgba(5, 8, 13, .4) !important; box-shadow: none;
}
.jk-cta .jk-btn--line:hover { border-color: var(--bg) !important; background: rgba(5, 8, 13, .08) !important; }
.jk-cta__meta {
  position: relative; margin-top: var(--sp-6);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .14em; opacity: .6;
}


/* =====================================================================
   第 4 块：资金安全（盾牌视觉 + 精简要点）
   ===================================================================== */
.jk-fundwrap {
  display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
  gap: var(--sp-8); align-items: center;
}

.jk-safety {
  position: relative;
  display: grid; place-items: center;
  padding: var(--sp-7) 0;
  /* 硬约束：这块是纯装饰视觉，任何情况下都不允许被内容撑开 */
  max-width: 340px;
  margin: 0 auto;
  overflow: visible;
}
.jk-shield__glow {
  position: absolute; inset: 0;
  max-width: 100%; max-height: 100%;
  background: radial-gradient(circle at 50% 45%, rgba(47,224,192,.20), transparent 62%);
  filter: blur(40px);
  animation: jkAuraBreath 5s var(--ease-io) infinite alternate;
}
.jk-shield__svg {
  position: relative;
  display: block;
  width: 190px !important;
  height: 222px !important;
  /* 三重尺寸约束：这块是纯装饰，绝不允许被内容或继承样式撑大 */
  width: 190px; height: 222px;
  max-width: 190px; max-height: 222px;
  flex: 0 0 auto;
  filter: drop-shadow(0 12px 40px rgba(47,224,192,.22));
}
.jk-shield__body { fill: rgba(47,224,192,.05); }
.jk-shield__check {
  stroke-dasharray: 70; stroke-dashoffset: 70;
  animation: jkCheckDraw 1.4s var(--ease) .35s forwards;
}
@keyframes jkCheckDraw { to { stroke-dashoffset: 0; } }
.jk-shield__inner { animation: jkInnerPulse 3.2s var(--ease-io) infinite; }
@keyframes jkInnerPulse { 0%,100% { opacity: .5; } 50% { opacity: 1; } }

/* 环绕的三个小光点，缓慢公转 */
.jk-shield__orbit {
  position: absolute; left: 50%; top: 50%;
  width: 240px; height: 240px; max-width: 240px; max-height: 240px;
  margin: -120px 0 0 -120px;
  pointer-events: none;
  animation: jkOrbit 14s linear infinite;
}
.jk-shield__orbit i {
  position: absolute; width: 6px; height: 6px; border-radius: 50%;
  background: var(--accent); box-shadow: 0 0 12px var(--accent);
}
.jk-shield__orbit i:nth-child(1) { top: 0; left: 50%; margin-left: -3px; }
.jk-shield__orbit i:nth-child(2) { bottom: 18%; left: 6%; }
.jk-shield__orbit i:nth-child(3) { bottom: 18%; right: 6%; }
@keyframes jkOrbit { to { transform: rotate(360deg); } }

.jk-shield__label {
  position: relative; margin-top: var(--sp-5);
  font-family: var(--font-mono); font-size: 11px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase; color: var(--accent);
}

.jk-fundlist { display: grid; gap: var(--sp-5); }
.jk-fund {
  display: flex; gap: var(--sp-5); align-items: flex-start;
  padding: var(--sp-6);
  border: var(--hairline); background: var(--bg-alt);
  border-left: 2px solid rgba(217,188,130,.35);
  transition: border-color var(--t-mid) linear, transform var(--t-mid) var(--ease), box-shadow var(--t-mid) var(--ease);
}
.jk-fund:hover { border-left-color: var(--gold); box-shadow: var(--shadow-soft); transform: translateX(4px); }
.jk-fund__no {
  flex: 0 0 auto;
  font-family: var(--font-mono); font-size: 11px; font-weight: 700;
  letter-spacing: .1em; color: var(--accent);
  padding-top: 3px;
}
.jk-fund__body { min-width: 0; }
.jk-fund__t {
  font-family: var(--font-sans); font-size: 16px; font-weight: 700;
  margin-bottom: 8px; letter-spacing: 0;
}
.jk-fund__d { font-size: 13.5px; color: var(--fg-2); line-height: 1.8; }

.jk-pays { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--sp-2); }

/* =====================================================================
   第 6 块：资讯动态（大图卡 + 精简行）
   ===================================================================== */
.jk-news__main { display: grid; gap: var(--sp-4); }

.jk-leadcard {
  display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  border: var(--hairline); background: var(--bg-alt);
  overflow: hidden;
  transition: border-color var(--t-mid) linear, box-shadow var(--t-mid) var(--ease);
}
.jk-leadcard:hover { border-color: rgba(43,196,168,.45); box-shadow: var(--shadow-soft); }

.jk-leadcard__visual {
  position: relative; display: grid; place-items: center; min-height: 190px;
  background:
    linear-gradient(135deg, rgba(47,224,192,.22), transparent 62%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.035) 0 10px, transparent 10px 20px),
    var(--bg);
  border-right: 1.5px solid var(--line);
  overflow: hidden;
}
.jk-leadcard__glyph {
  font-family: var(--font-serif); font-size: 84px; font-weight: 700;
  line-height: 1; letter-spacing: -.05em; color: var(--accent);
  opacity: .92;
  transition: transform var(--t-slow) var(--ease);
}
.jk-leadcard:hover .jk-leadcard__glyph { transform: scale(1.08) rotate(-3deg); }
.jk-leadcard__month {
  position: absolute; bottom: 14px; left: 0; right: 0; text-align: center;
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .18em; color: var(--fg-3);
}
/* 掠光：hover 时自上而下扫过 */
.jk-leadcard__shade {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, transparent 40%, rgba(47,224,192,.13) 50%, transparent 60%);
  transform: translateY(-110%);
  transition: transform .9s var(--ease);
}
.jk-leadcard:hover .jk-leadcard__shade { transform: translateY(110%); }

.jk-leadcard__body {
  padding: var(--sp-6); display: flex; flex-direction: column; gap: 12px;
}
.jk-leadcard__tag {
  align-self: flex-start;
  font-family: var(--font-mono); font-size: 10px; font-weight: 700;
  letter-spacing: .16em; padding: 4px 9px;
  background: var(--accent) !important; color: var(--accent-fg) !important;
}
.jk-leadcard__t {
  font-family: var(--font-sans); font-size: 20px; font-weight: 700;
  line-height: 1.45; letter-spacing: 0;
  transition: color var(--t-fast) linear;
}
.jk-leadcard:hover .jk-leadcard__t { color: var(--accent); }
.jk-leadcard__s {
  font-size: 13.5px; color: var(--fg-2); line-height: 1.8;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.jk-leadcard__more {
  margin-top: auto; display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--fg-3);
}
.jk-leadcard__more i { font-style: normal; transition: transform var(--t-mid) var(--ease); }
.jk-leadcard:hover .jk-leadcard__more { color: var(--accent); }
.jk-leadcard:hover .jk-leadcard__more i { transform: translateX(5px); }

.jk-newsrow {
  display: flex; align-items: center; gap: var(--sp-5);
  padding: var(--sp-4) var(--sp-5);
  border: var(--hairline); background: var(--bg-alt);
  transition: border-color var(--t-fast) linear, background var(--t-fast) linear;
}
.jk-newsrow:hover { border-color: rgba(43,196,168,.4); background: var(--surface-2); }
.jk-newsrow__d {
  flex: 0 0 auto; width: 62px; text-align: center;
  border-right: 1px solid var(--line); padding-right: var(--sp-4);
}
.jk-newsrow__d b { display: block; font-family: var(--font-serif); font-size: 22px; line-height: 1; }
.jk-newsrow__d i {
  display: block; font-family: var(--font-mono); font-size: 9.5px;
  font-style: normal; color: var(--fg-3); margin-top: 4px;
}
.jk-newsrow__t {
  flex: 1; min-width: 0; font-size: 14.5px; font-weight: 600;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color var(--t-fast) linear;
}
.jk-newsrow:hover .jk-newsrow__t { color: var(--accent); }
.jk-newsrow__arrow {
  flex: 0 0 auto; color: var(--fg-3); font-size: 15px;
  transition: transform var(--t-mid) var(--ease), color var(--t-fast) linear;
}
.jk-newsrow:hover .jk-newsrow__arrow { transform: translateX(5px); color: var(--accent); }

.jk-news__catdot {
  width: 5px; height: 5px; border-radius: 50%; flex: 0 0 auto;
  background: var(--line-strong); transition: background var(--t-fast) linear;
}
.jk-news__cat:hover .jk-news__catdot { background: var(--accent); }
.jk-news__cat { justify-content: flex-start; }
.jk-news__cat .jk-cat__n { margin-left: auto; }


/* =====================================================================
   企业级细节修饰
   ---------------------------------------------------------------------
   三个小东西，成本极低但「贵感」提升明显：
     1. 卡片左上角一对金色角标（像印刷品的裁切标记）
     2. 区块标题下方一条渐隐细金线
     3. 数字/编号统一用等宽字 + 金色
   ===================================================================== */

/* 1. 金色角标：加在需要的卡片上 */
.jk-cell,
.jk-sol__body,
.jk-fund,
.jk-leadcard,
.jk-newsrow { position: relative; }

.jk-cell::after,
.jk-sol__body::after,
.jk-fund::after,
.jk-leadcard::after {
  content: ""; position: absolute; top: 0; left: 0;
  width: 14px; height: 14px;
  border-top: 1px solid rgba(217, 188, 130, .5);
  border-left: 1px solid rgba(217, 188, 130, .5);
  opacity: 0; transition: opacity var(--t-mid) linear;
  pointer-events: none;
}
.jk-cell:hover::after,
.jk-sol:hover .jk-sol__body::after,
.jk-fund:hover::after,
.jk-leadcard:hover::after { opacity: 1; }

/* 2. 区块标题下的细金线 */
.jk-sechead { position: relative; }
.jk-sechead::after {
  content: ""; display: block;
  width: 56px; height: 1px; margin-top: var(--sp-6);
  background: linear-gradient(to right, rgba(217, 188, 130, .85), rgba(217, 188, 130, 0));
}
.jk-sechead--center::after { margin-left: auto; margin-right: auto;
  background: linear-gradient(to right, rgba(217,188,130,0), rgba(217,188,130,.85), rgba(217,188,130,0)); }

/* 3. 数字统一金色等宽 */
.jk-stat__v,
.jk-gauge__val { color: var(--fg); }
.jk-price b { color: var(--accent); }
.jk-leadcard__glyph {
  background: linear-gradient(160deg, var(--gold-300), var(--gold-500));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 1;
}

/* 4. 首屏控制台面板：金色顶边，像一块仪表盘 */
.jk-console {
  border-radius: var(--radius-lg);
  border: 1px solid var(--line-strong);
  box-shadow: var(--shadow-hard);
}
.jk-console__bar {
  border-bottom: 1px solid var(--line);
  position: relative;
}
.jk-console__bar::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(to right, transparent, rgba(217,188,130,.55), transparent);
}

/* 5. 首屏数据条：更克制的分隔 */
.jk-stats { background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.jk-stat { background: var(--bg-alt); }

/* 6. 信任色带：金字 + 细线 */
.jk-ribbon__item svg { stroke: var(--gold); }
.jk-ribbon__item { color: var(--fg-2); letter-spacing: .02em; }

/* 7. 步骤连线换成金点 */
.jk-steps::before {
  background: repeating-linear-gradient(to right, rgba(217,188,130,.45) 0 6px, transparent 6px 14px);
}

/* 8. 支付标签加金色小点 */
.jk-pay i { background: var(--gold); }


/* =====================================================================
   第 4 块：资金安全（资金流向流程条 + 三张并排要点卡）
   ===================================================================== */

/* ---- 流向流程条 ---- */
.jk-flowline { position: relative; margin-bottom: var(--sp-8); }
.jk-flowline__track {
  position: absolute; left: 8%; right: 8%; top: 30px; height: 1px;
  background: linear-gradient(to right,
    rgba(217,188,130,0), rgba(217,188,130,.45) 12%, rgba(217,188,130,.45) 88%, rgba(217,188,130,0));
}
/* 线上流动的光点，暗示「钱在走」 */
.jk-flowline__track::after {
  content: ""; position: absolute; top: -2px; left: 0;
  width: 46px; height: 5px; border-radius: 99px;
  background: linear-gradient(to right, transparent, var(--accent), transparent);
  animation: jkFlowRun 4.2s cubic-bezier(.65,.05,.36,1) infinite;
}
@keyframes jkFlowRun {
  0%   { left: 0%; opacity: 0; }
  12%  { opacity: 1; }
  88%  { opacity: 1; }
  100% { left: calc(100% - 46px); opacity: 0; }
}

.jk-flowline__steps {
  position: relative; display: grid; grid-template-columns: repeat(4, 1fr);
}
.jk-flowstep { text-align: center; padding: 0 var(--sp-3); }
.jk-flowstep__dot {
  display: grid; place-items: center;
  width: 60px; height: 60px; margin: 0 auto var(--sp-5);
  border: 1px solid rgba(217,188,130,.35); border-radius: 50%;
  background: var(--bg-alt);
  transition: border-color var(--t-mid) linear, box-shadow var(--t-mid) var(--ease);
}
.jk-flowstep__dot i {
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--accent); box-shadow: 0 0 14px var(--accent);
}
.jk-flowstep:hover .jk-flowstep__dot {
  border-color: var(--accent);
  box-shadow: 0 0 0 6px rgba(43,196,168,.08);
}
.jk-flowstep__t {
  display: block; font-size: 15px; font-weight: 700; margin-bottom: 7px;
  letter-spacing: .01em;
}
.jk-flowstep__d { display: block; font-size: 12.5px; color: var(--fg-3); line-height: 1.7; }

/* ---- 三张并排要点卡 ---- */
.jk-funds { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-5); }
.jk-fundcard {
  position: relative;
  padding: var(--sp-6);
  border: var(--hairline); background: var(--bg);
  transition: border-color var(--t-mid) linear, box-shadow var(--t-mid) var(--ease),
              transform var(--t-mid) var(--ease);
}
.jk-fundcard:hover {
  border-color: rgba(43,196,168,.42);
  box-shadow: var(--shadow-soft);
  transform: translateY(-3px);
}
.jk-fundcard::after {
  content: ""; position: absolute; top: 0; left: 0;
  width: 14px; height: 14px;
  border-top: 1px solid rgba(217,188,130,.5);
  border-left: 1px solid rgba(217,188,130,.5);
  opacity: 0; transition: opacity var(--t-mid) linear;
}
.jk-fundcard:hover::after { opacity: 1; }
.jk-fundcard__no {
  font-family: var(--font-mono); font-size: 11px; font-weight: 700;
  letter-spacing: .12em; color: var(--gold); margin-bottom: var(--sp-5);
}
.jk-fundcard__t {
  font-family: var(--font-sans); font-size: 16px; font-weight: 700;
  margin-bottom: 10px; letter-spacing: 0;
}
.jk-fundcard__d { font-size: 13.5px; color: var(--fg-2); line-height: 1.8; }

/* 窄屏：流程条改成两列，卡片单列 */
@media (max-width: 900px) {
  .jk-flowline__steps { grid-template-columns: repeat(2, 1fr); gap: var(--sp-6); }
  .jk-flowline__track { display: none; }
  .jk-funds { grid-template-columns: 1fr; }
}

/* =====================================================================
   第 6 块：资讯公告（四栏平铺）
   参考企业站做法：每栏三条 + 查看全部，比单一大卡列表更好扫读
   ===================================================================== */
.jk-newsgrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-6);
}

.jk-newsgrid__col {
  position: relative;
  padding: var(--sp-6);
  border: var(--hairline);
  background: var(--bg);
  display: flex; flex-direction: column;
  transition: border-color var(--t-mid) linear, box-shadow var(--t-mid) var(--ease);
}
.jk-newsgrid__col:hover {
  border-color: rgba(43,196,168,.35);
  box-shadow: var(--shadow-soft);
}

/* 栏目标题：左边一条金色短线 */
.jk-newsgrid__head {
  padding-bottom: 14px; margin-bottom: 6px;
  border-bottom: 1px solid var(--line);
}
.jk-newsgrid__en {
  display: block;
  font-family: var(--font-mono); font-size: 10px; font-weight: 600;
  letter-spacing: .22em; color: var(--gold); margin-bottom: 6px;
}
.jk-newsgrid__t {
  font-family: var(--font-sans); font-size: 16px; font-weight: 700;
  letter-spacing: 0;
}

.jk-newsgrid__list { flex: 1 1 auto; margin-bottom: var(--sp-5); }
.jk-newsgrid__list li { border-bottom: 1px dashed rgba(255,255,255,.07); }
.jk-newsgrid__list li:last-child { border-bottom: 0; }

.jk-newsgrid__list a {
  display: block; padding: 13px 0;
  transition: transform var(--t-fast) var(--ease);
}
.jk-newsgrid__list a:hover { transform: translateX(3px); }

.jk-newsgrid__title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 13.5px; line-height: 1.65; color: var(--fg-2);
  transition: color var(--t-fast) linear;
}
.jk-newsgrid__list a:hover .jk-newsgrid__title { color: var(--accent); }

.jk-newsgrid__date {
  display: block; margin-top: 7px;
  font-family: var(--font-mono); font-size: 10.5px;
  letter-spacing: .06em; color: var(--fg-3);
}

.jk-newsgrid__empty {
  padding: 13px 0; font-size: 13px; color: var(--fg-3);
}

.jk-newsgrid__more {
  display: inline-flex; align-items: center; gap: 6px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  font-size: 12.5px; color: var(--fg-3);
  transition: color var(--t-fast) linear, gap var(--t-fast) var(--ease);
}
.jk-newsgrid__more:hover { color: var(--accent); gap: 10px; }

@media (max-width: 1080px) {
  .jk-newsgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .jk-newsgrid { grid-template-columns: 1fr; }
}