/* 首页（2026-10-16 自 legacy.css 收口：去 Lab 守卫，段序与原层叠一致；段头保留 Lab 方案出处） */

/* dim:hero start */
/* C01 落地 = Lab C01-V17「斜轴流」（用户 2026-09-25 选定）；由 tools/land_hero_v17.py 从 lab/dims/C01/build_claude_r3.py 生成，勿手改 */
/* h17：共用 Hero 外壳。色场 = 橙红亮场 + 颗粒（DS-02 / DS-05）；无蓝色。 */
.h17-hero { position: relative; overflow: hidden; background: var(--field-burn); color: var(--on-burn-fg); }
.h17-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; background-image: var(--grain); opacity: var(--grain-opacity); pointer-events: none; }
.h17-hero > * { position: relative; z-index: 1; }
.h17-eyebrow { font: 700 10px/1.4 var(--mono); letter-spacing: .22em; opacity: .8; }
.h17-hero h1 { margin-top: 16px; font: 700 clamp(2.4rem, 4.2vw, 4.4rem)/1.08 var(--serif); letter-spacing: -.02em; white-space: nowrap; }
.h17-hero h1 em { font-style: normal; color: var(--on-burn-emph); }
.h17-lead { max-width: 32rem; margin-top: 16px; font-size: 15px; line-height: 1.7; color: var(--on-burn-fg-soft); }
.h17-ctas { display: flex; flex-wrap: wrap; gap: 14px 22px; margin-top: 20px; }
.h17-bm { display: none; }
.h17-info { text-align: right; }
.h17-year { display: block; font: 700 clamp(4rem, 8vw, 8rem)/.85 var(--serif); letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1.5px var(--on-burn-fg); }
.h17-name { margin-top: 10px; font: 700 11px/1.4 var(--mono); letter-spacing: .16em; }
.h17-text { margin: 6px 0 8px auto; max-width: 21rem; font-size: 13px; line-height: 1.65; color: var(--on-burn-fg-soft); }
.h17-dots { display: flex; gap: 6px; justify-content: center; margin: 0; padding: 0; list-style: none; }
.h17-dots li { width: 6px; height: 6px; border-radius: 3px; background: currentColor; opacity: .35; transition: width .35s cubic-bezier(.2,.8,.2,1), opacity .35s; }
.h17-dots li.is-on { width: 26px; opacity: 1; }
.h17-card { touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.h17-card:focus-visible { outline: 3px solid var(--bone); outline-offset: 4px; }
[data-track] { touch-action: pan-y; cursor: grab; }
[data-track]:active { cursor: grabbing; }
@media (max-width: 860px) {
  .h17-hero h1 { font-size: 2.2rem; line-height: 1.14; }
  .h17-bm { display: inline; } .h17-bd { display: none; }
  .h17-lead { font-size: .92rem; }
  .h17-text { display: none; }
}
@media (prefers-reduced-motion: reduce) { .h17-dots li { transition: none; } }

.h17-li { position: absolute; left: 50%; top: 0; width: 0; height: 100%; transform-style: preserve-3d; }
.h17-card { position: absolute; left: -95px; top: 10px; display: flex; flex-direction: column; width: 190px; height: 272px; padding: 0; overflow: hidden; border: 0; border-radius: 12px; background: var(--soot-raise); color: var(--bone); text-align: left; cursor: pointer; will-change: transform, filter; backface-visibility: hidden; box-shadow: 0 18px 40px -18px #000; }
/* 新值 #000：卡片投影需要纯黑才能显出层叠（同 V11） */
.h17-art { display: block; aspect-ratio: 16 / 11; border-bottom: 1px solid var(--line); color: rgba(240,231,221,.78); }
.h17-art svg { width: 100%; height: 100%; }
.h17-art .a { stroke: var(--burn); color: var(--burn); }
.h17-cy { margin: 14px 14px 0; font: 700 34px/1 var(--serif); letter-spacing: -.02em; }
.h17-cn { margin: 6px 14px 0; font: 700 14px/1.3 var(--serif); }
.h17-cc { margin: auto 14px 12px; font: 600 8px/1.3 var(--mono); letter-spacing: .12em; color: var(--dust); }
.h17-no { position: absolute; top: 8px; right: 10px; font: 700 10px/1 var(--mono); color: var(--burn); }
.h17-card[aria-pressed="true"] { box-shadow: 0 0 0 1px var(--bone), 0 24px 50px -18px #000; }
@media (max-width: 860px) {
  .h17-card { left: -66px; width: 132px; height: 196px; }
  .h17-cy { font-size: 24px; margin-top: 10px; }
  .h17-cc { display: none; }
}

.h17-hero { min-height: 100svh; padding: 96px var(--pad-x) 30px; display: flex; flex-direction: column; }
.h17-top { display: flex; justify-content: space-between; gap: 30px; max-width: 1240px; width: 100%; margin: 0 auto; }
@media (max-width: 860px) {
  .h17-hero { padding: 84px var(--pad-x) 20px; }
  .h17-top { flex-direction: column; gap: 14px; }
  .h17-info { text-align: left; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
  .h17-year { font-size: 2.6rem; }
}

/* V17 斜轴流：没有面板，卡片直接浮在橙红亮场上，沿一条贯穿全屏的斜轴（左下 → 右上，-9°）做 Cover Flow。
   斜轴本身是一条出血的墨色细线，卡片像挂在这条线上滑过。 */
.h17-axis { position: relative; flex: 1; display: flex; align-items: center; margin: 30px calc(var(--pad-x) * -1) 0; transform: rotate(-9deg); }
.h17-line { position: absolute; left: -10vw; right: -10vw; top: 50%; height: 2px; background: var(--soot); opacity: .85; }
.h17-track { position: relative; width: 100%; height: 330px; margin: 0; padding: 0; list-style: none; perspective: 1100px; perspective-origin: 50% 45%; }
.h17-card { left: -105px; top: 14px; width: 210px; height: 300px; box-shadow: 0 30px 50px -24px var(--soot); }
.h17-card[aria-pressed="true"] { box-shadow: 0 0 0 1px var(--bone), 0 34px 56px -24px var(--soot); }
.h17-dots { margin-top: 10px; color: var(--soot); }
@media (max-width: 860px) {
  .h17-axis { margin-top: 22px; transform: rotate(-6deg); }
  .h17-track { height: 220px; perspective: 700px; }
  .h17-card { left: -70px; top: 10px; width: 140px; height: 204px; }
}
/* dim:hero end */

/* dim:thesis start — C02 落地 = Lab C02-V15「分支对照」（用户 2026-09-27 选定）；由 tools/land_c02_v15.py 从 lab/dims/C02/build_claude_r3.py 生成，勿手改 */
@keyframes c15-sheen { to { background-position: -150% 0; } }
@keyframes c15-blink { to { visibility: hidden; } }
@keyframes c15-pop { from { opacity: 0; transform: translateY(10px) scale(.88); } }
@keyframes c15-slide { from { opacity: 0; transform: translateX(-14px); } }
@keyframes c15-tap { 40% { transform: translateY(-3px) scale(1.06); } }
:where(body:has(.c15-thesis[data-landed])) {
.c15-thesis { position: relative; overflow: hidden; padding: 14vh 0 16vh; background: var(--field-burn); color: var(--bone); }
.c15-thesis::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: var(--grain); opacity: var(--grain-opacity); }
.c15-in { position: relative; z-index: 1; }
.c15-win { position: relative; max-width: 940px; margin: 0 auto; border-radius: 20px; background: var(--soot); border: 1px solid var(--line); box-shadow: 0 50px 100px -40px color-mix(in srgb, var(--soot) 80%, transparent); }
.c15-bar { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-bottom: 1px solid var(--line); font: 700 10px/1.4 var(--mono); letter-spacing: .16em; color: var(--dust); }
.c15-bar b { color: var(--bone); letter-spacing: .1em; }
.c15-bar .c15-mark { display: block; width: 18px; height: 18px; }  /* 站标 = 轨道环（2026-10-16 取代 EM 缩写） */
.c15-bar .c15-mark svg { width: 100%; height: 100%; }
.c15-bar .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--burn); box-shadow: 0 0 0 4px color-mix(in srgb, var(--burn) 25%, transparent); }
.c15-bar .end { margin-left: auto; }
.c15-body { padding: clamp(20px, 4vw, 44px); }
.c15-q { display: flex; justify-content: flex-end; margin: 0 0 22px; }
.c15-q span { max-width: 80%; padding: 10px 16px; border-radius: 16px 16px 4px 16px; background: var(--bone); color: var(--soot); font-size: 15px; line-height: 1.5; }
.c15-a { display: grid; grid-template-columns: 30px 1fr; gap: 16px; margin-bottom: 30px; }
.c15-av { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--burn); color: var(--soot); font-size: 15px; }
.c15-think { margin: 4px 0 12px; font: 600 12px/1.4 var(--mono); letter-spacing: .06em; color: var(--dust); }
.c15-think.run { background: linear-gradient(90deg, var(--dust) 0 35%, var(--bone) 50%, var(--dust) 65% 100%) 0 0 / 300% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; animation: c15-sheen 1.2s linear infinite; }
.c15-h { font: 700 clamp(30px, 4.4vw, 58px)/1.14 var(--serif); letter-spacing: -.02em; }
.c15-h > span { display: block; white-space: nowrap; }
.c15-em { color: var(--burn); }
.c15-p, .c15-ans { margin-top: 18px; max-width: 42em; font-size: 16px; line-height: 1.85; color: var(--dust); }
.c15-ans { margin-top: 0; color: var(--bone); }
.c15-althead { font: 700 clamp(24px, 3.2vw, 40px)/1.2 var(--serif); color: var(--bone); letter-spacing: -.01em; }
/* 流式 token：从模糊里聚焦；光标跟在末尾 */
.c15-thesis.is-live .tk { opacity: 0; filter: blur(7px); }
.c15-thesis.is-live .tk.on { opacity: 1; filter: none; transition: opacity .28s ease, filter .4s ease; }
.tk.tip { position: relative; }
.tk.tip::after { content: ""; position: absolute; left: 100%; top: .14em; width: .42em; height: .84em; margin-left: .08em; border-radius: 2px; background: var(--burn); animation: c15-blink 1s steps(2, start) infinite; }
.c15-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 20px; }
.c15-acts[hidden], .c15-sug[hidden] { display: none; }
.c15-k { font: 700 10px/1.4 var(--mono); letter-spacing: .16em; color: var(--dust); margin-right: 4px; }
.c15-chip { padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; background: none; color: var(--bone); font: 500 13px/1.2 var(--sans); cursor: pointer;
  transition: transform .45s cubic-bezier(.3, 1.6, .5, 1), border-color .2s, background .2s, opacity .3s; }
.c15-chip:hover { transform: translateY(-2px); border-color: var(--burn); background: color-mix(in srgb, var(--burn) 14%, transparent); }
.c15-chip:focus-visible { outline: 2px solid var(--burn); outline-offset: 3px; }
.c15-chip[aria-pressed="true"], .c15-chip.used { border-color: var(--burn); color: var(--burn); }
.c15-chip.pop { animation: c15-pop .5s cubic-bezier(.3, 1.6, .5, 1) both; }
.c15-ghost { padding: 7px 12px; border: 0; border-radius: 8px; background: none; color: var(--dust); font: 600 12px/1.2 var(--mono); letter-spacing: .06em; cursor: pointer; }
.c15-ghost:hover { color: var(--bone); background: color-mix(in srgb, var(--bone) 8%, transparent); }
.c15-ghost:focus-visible { outline: 2px solid var(--burn); outline-offset: 2px; }
.c15-src { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--bone); font: 600 12px/1.3 var(--mono); letter-spacing: .06em; text-decoration: none; }
.c15-src:hover { border-color: var(--burn); }
.c15-src i { font-style: normal; color: var(--burn); }
.c15-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.c15-sug, .c15-acts { display: none; }
/* :not([hidden])：否则 display:flex 会压过 hidden 属性 */
.c15-thesis.is-ready .c15-sug:not([hidden]), .c15-thesis.is-ready .c15-acts:not([hidden]) { display: flex; }
.c15-sug { flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 4px; }
@media (max-width: 860px) {
  .c15-thesis { padding: 110px 0 130px; }
  .c15-a { grid-template-columns: 1fr; gap: 10px; }
  .c15-h { font-size: 30px; }
  .c15-p, .c15-ans { font-size: 15px; }
}

.c15-win { max-width: 1120px; }
.c15-grid { display: grid; grid-template-columns: 1.15fr .85fr; }
.c15-grid > .c15-body + .c15-body { border-left: 1px solid var(--line); }
.c15-pager { display: inline-flex; align-items: center; gap: 2px; font: 600 12px/1 var(--mono); color: var(--dust); }
.c15-pager button { width: 28px; height: 28px; border: 0; border-radius: 6px; background: none; color: var(--bone); font-size: 15px; cursor: pointer; }
.c15-pager button:hover { background: color-mix(in srgb, var(--bone) 8%, transparent); }
.c15-pager button:disabled { opacity: .3; cursor: default; }
.c15-pager button:focus-visible { outline: 2px solid var(--burn); }
.c15-sug { flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 22px; }
.c15-side { position: relative; }
.c15-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 22px; }
.c15-tab { padding: 6px 11px; border: 1px solid var(--line); border-radius: 8px; background: none; color: var(--dust); font: 600 12px/1.2 var(--sans); cursor: pointer; }
.c15-tab[aria-selected="true"] { border-color: var(--burn); color: var(--soot); background: var(--burn); }
.c15-tab.seen:not([aria-selected="true"]) { color: var(--bone); }
.c15-tab:focus-visible { outline: 2px solid var(--burn); outline-offset: 2px; }
.c15-empty { color: var(--dust); font-size: 14px; line-height: 1.8; }
.c15-empty b { color: var(--bone); }
.c15-branch-k { font: 700 10px/1.4 var(--mono); letter-spacing: .16em; color: var(--burn); margin-bottom: 10px; }
.c15-branch-h { font: 700 26px/1.25 var(--serif); color: var(--bone); margin-bottom: 12px; }
@media (max-width: 860px) {
  .c15-grid { grid-template-columns: 1fr; }
  .c15-grid > .c15-body + .c15-body { border-left: 0; border-top: 1px solid var(--line); }
}
.c15-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* 改动 2：不画连线，右栏分支从分栏线一侧滑入；选中标签页轻跳一下 */
.c15-side [data-pane] > * { animation: c15-slide .42s cubic-bezier(.2, .8, .2, 1) both; }
.c15-side [data-pane] > :nth-child(2) { animation-delay: .04s; } .c15-side [data-pane] > :nth-child(3) { animation-delay: .08s; }
.c15-tab[aria-selected="true"] { animation: c15-tap .45s cubic-bezier(.3, 1.6, .5, 1); }
@media (prefers-reduced-motion: reduce) { .c15-side [data-pane] > *, .c15-tab[aria-selected="true"] { animation: none; } }
/* DS-06 干笔（用户要求保留）：一道贯穿亮场的 -34° 斜笔，垫在墨色窗口下面（z-index 0 < 窗口 1），只在窗口外的橙红边露出，永不压字 */
.c15-brushbox { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.c15-brushbox svg { width: 100%; height: 100%; max-width: none; }
@media (max-width: 860px) { .c15-brushbox { bottom: auto; top: -60px; height: 300px; } }   /* 手机：窄高区块会把笔画中段裁到窗口正后方，改为只铺在窗口上方的橙红里 */
}
/* dim:thesis end */

/* dim:theme-grid start */
.theme-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 34px; }
.theme-grid .card-num { margin-bottom: 12px; }
.theme-grid h3 { font: 700 var(--fs-h3)/1.35 var(--serif); }
.theme-grid p { margin-top: 6px; color: var(--on-soot-muted); font-size: 13px; line-height: 1.74; }
@media (max-width: 860px) { .theme-grid { grid-template-columns: 1fr; gap: 22px; } }
/* dim:theme-grid end */

/* dim:theme-grid-lockup start — E03 落地 = Lab E03-V5「交错字标」（用户 2026-10-04 选定）；由 tools/land_e03_v5.py 从 lab/dims/E03/v5/e03.{css,js} 生成，勿手改 */
@media (min-width: 861px) {
/* E03-V5：交错字标（Stagger Lockup）
   灵感源自 Zauberberg 居中咬合衬线字标海报。
   所有规则严格以 :is(body.page-home, body.landed-a01) 开头。 */

:is(body.page-home, body.landed-a01) [data-dim="theme-grid"] {
  position: relative;
  width: 100%;
  padding: 10px 0 20px;
}

/* 放弃原始 3x2 网格，转为居中 flex-wrap 字标排版 */
:is(body.page-home, body.landed-a01) .theme-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  grid-template-columns: none;
  gap: 0;
  max-width: 1060px;
  margin: 0 auto;
  padding: 16px 0 24px;
  position: relative;
  list-style: none;
}

/* 单个字标单元基础属性 */
:is(body.page-home, body.landed-a01) .theme-grid > li {
  position: relative;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: none;
  cursor: default;
  transition: opacity .3s cubic-bezier(.16, 1, .3, 1), transform .3s cubic-bezier(.16, 1, .3, 1);
}

/* DOM 包装器或原生 li 内部弹性流 */
:is(body.page-home, body.landed-a01) .theme-grid .e03-unit,
:is(body.page-home, body.landed-a01) .theme-grid > li:not(:has(.e03-unit)) {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  width: fit-content;
  padding: 6px 14px 10px;
}

/* 标题共同样式：大号衬线、紧缩行高、极小字距 */
:is(body.page-home, body.landed-a01) .theme-grid h3 {
  font-family: var(--serif);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.025em;
  white-space: nowrap;
  margin: 0;
  padding: 0;
  color: var(--bone);
  transition: color .25s ease, text-shadow .25s ease;
}

/* 编号样式：等宽小号，挂在左上角上标位置 */
:is(body.page-home, body.landed-a01) .theme-grid .card-num {
  position: absolute;
  top: -6px;
  left: -20px;
  margin: 0;
  font: 700 11px/1 var(--mono);
  letter-spacing: .12em;
  line-height: 1;
  color: var(--on-soot-muted);
  transition: color .25s ease;
  user-select: none;
}

/* 说明文字：12px 灰字，紧凑两行，不打断字标大轮廓 */
:is(body.page-home, body.landed-a01) .theme-grid p {
  font: 400 12px/1.55 var(--sans);
  color: var(--on-soot-muted);
  max-width: 15.5em;
  margin: 6px 0 0 0;
  padding: 0;
  letter-spacing: .01em;
  transition: color .25s ease;
}

/* ===== 四行排印交错构图 ===== */

/* Row 1：01 第一性原理（全标灵魂主色，最大展示字号，偏左交错） */
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(1) {
  flex: 0 0 100%;
  display: flex;
  justify-content: center;
  z-index: 4;
  transform: translateX(-48px);
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(1) h3 {
  font-size: 72px;
  color: var(--burn);
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(1) .card-num {
  color: var(--burn);
  top: -8px;
  left: -24px;
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(1) p {
  align-self: flex-end;
  margin-top: 4px;
}

/* Row 2：02 垂直整合 + 03 可复用性（左右并列，向上咬合） */
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(2) {
  flex: 0 0 auto;
  z-index: 3;
  margin-top: -12px;
  margin-right: 42px;
  transform: translateX(-36px) translateY(-4px);
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(2) h3 {
  font-size: 48px;
}

:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(3) {
  flex: 0 0 auto;
  z-index: 3;
  margin-top: -8px;
  margin-left: 20px;
  transform: translateX(40px) translateY(8px);
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(3) h3 {
  font-size: 44px;
}

/* Row 3：04 规模化制造（第二大次重量级锚点，骨白巨字，偏右咬入中缝） */
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(4) {
  flex: 0 0 100%;
  display: flex;
  justify-content: center;
  z-index: 2;
  margin-top: -14px;
  transform: translateX(46px);
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(4) h3 {
  font-size: 66px;
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(4) .card-num {
  top: -8px;
  left: -24px;
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(4) p {
  align-self: flex-end;
  margin-top: 4px;
}

/* Row 4：05 长期使命 + 06 测试与迭代（底部基石，左右对角咬合） */
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(5) {
  flex: 0 0 auto;
  z-index: 1;
  margin-top: -12px;
  margin-right: 36px;
  transform: translateX(-42px) translateY(4px);
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(5) h3 {
  font-size: 48px;
}

:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(6) {
  flex: 0 0 auto;
  z-index: 1;
  margin-top: 8px; /* 落地前修：原 -16px 时 04 说明末行压到本项标题 */
  margin-left: 24px;
  transform: translateX(38px) translateY(-6px);
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(6) h3 {
  font-size: 44px;
}

/* ===== 交互与聚光灯效果 ===== */

/* 鼠标悬停网格时，未悬停项压暗，凸显焦点字标 */
:is(body.page-home, body.landed-a01) .theme-grid:hover > li {
  opacity: .48;
}
:is(body.page-home, body.landed-a01) .theme-grid > li:hover,
:is(body.page-home, body.landed-a01) .theme-grid > li:focus-within {
  opacity: 1;
  z-index: 10;
}
:is(body.page-home, body.landed-a01) .theme-grid > li:hover h3,
:is(body.page-home, body.landed-a01) .theme-grid > li:focus-within h3 {
  text-shadow: 0 0 28px color-mix(in srgb, var(--bone) 25%, transparent);
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(1):hover h3,
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(1):focus-within h3 {
  text-shadow: 0 0 32px color-mix(in srgb, var(--burn) 38%, transparent);
}
:is(body.page-home, body.landed-a01) .theme-grid > li:hover p,
:is(body.page-home, body.landed-a01) .theme-grid > li:focus-within p {
  color: var(--bone);
}
:is(body.page-home, body.landed-a01) .theme-grid > li:hover .card-num,
:is(body.page-home, body.landed-a01) .theme-grid > li:focus-within .card-num {
  color: var(--bone);
}
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(1):hover .card-num,
:is(body.page-home, body.landed-a01) .theme-grid > li:nth-child(1):focus-within .card-num {
  color: var(--burn);
}

/* 键盘无障碍焦点 */
:is(body.page-home, body.landed-a01) .theme-grid > li:focus-visible {
  outline: 2px solid var(--burn);
  outline-offset: 6px;
}

/* 减弱动效回退 */
@media (prefers-reduced-motion: reduce) {
  :is(body.page-home, body.landed-a01) .theme-grid > li {
    transition: none !important;
  }
}
}
/* dim:theme-grid-lockup end */

/* dim:about-preview start */
.about-preview p { max-width: 46em; margin-bottom: 18px; font: 400 18px/1.8 var(--serif); }
/* dim:about-preview end */

/* dim:footer-cta start */
.footer-cta { padding: calc(var(--sec-y) * 1.3) 0; border-top: 1px solid var(--line); }
.footer-cta h2 { max-width: 16em; font: 700 clamp(26px, 3.4vw, 44px)/1.2 var(--serif); letter-spacing: var(--ls-h2); }
/* dim:footer-cta end */

/* dim:brush-engraving start — A08 落地 = Lab A08-V3「线刻笔触」（用户 2026-10-04 选定）；由 tools/land_a08_v3.py 生成，勿手改 */
/* A08-V3「线刻笔触」：只写 body.page-home 作用域下的规则 */
body.page-home .c15-brushbox svg { display: block; }
/* dim:brush-engraving end */

/* dim:light-ribbon start — I05 落地 = Lab I05-V7「流光丝带」（用户 2026-10-04 选定）；由 tools/land_i05_v7.py 生成，勿手改 */
/* I05-V7 流光丝带：参考 Stripe 首页那条从顶部弯向右下出血的渐变丝带——平滑、宽、有色带层次，没有纹理。
   丝带是 JS 插入的 aria-hidden 内联 SVG（无文字），z-index 0，在内容之下；色带只用 bone / burn / burn-2 / soot 的混色。 */

body.page-home .i05-rib { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
body.page-home .h17-hero > .i05-rib { position: absolute; z-index: 0; }
body.page-home .i05-rib svg { display: block; width: 100%; height: 100%; max-width: none; }
body.page-home .i05-rib .s0 { stop-color: var(--bone); stop-opacity: 0; }
body.page-home .i05-rib .s1 { stop-color: var(--bone); stop-opacity: .82; }
body.page-home .i05-rib .s2 { stop-color: color-mix(in srgb, var(--burn) 45%, var(--bone)); }
body.page-home .i05-rib .s3 { stop-color: color-mix(in srgb, var(--burn) 78%, var(--bone)); }
body.page-home .i05-rib .s4 { stop-color: var(--burn-2); }
body.page-home .i05-rib .s5 { stop-color: color-mix(in srgb, var(--burn-2) 62%, var(--soot)); }
/* 第二层：叠在主丝带外侧的窄折面，像 Stripe 丝带的翻折 */
body.page-home .i05-rib .f0 { stop-color: var(--burn-2); stop-opacity: 0; }
body.page-home .i05-rib .f1 { stop-color: color-mix(in srgb, var(--burn-2) 70%, var(--soot)); stop-opacity: .9; }
body.page-home .i05-rib .f2 { stop-color: var(--burn); stop-opacity: .0; }

@media (prefers-reduced-motion: reduce) { body.page-home .i05-rib svg { animation: none !important; } }
/* dim:light-ribbon end */

/* dim:footer-cta-card start — C03 落地 = Lab C03-V10「光晕卡 · 签名信」（用户 2026-10-11 选定）；由 tools/land_c03_v10.py 生成，勿手改 */
@media (min-width: 861px) {
/* C03-V10「光晕卡 · 签名信」：用户「结合 V7 为主，V4 为辅」——V7 的圆角光晕卡做外壳，卡内是 V4 的大号斜体衬线标题 + 右栏纯文字链接列（英文 / 中文 →，细线分隔，悬停橙红下划线伸长）。 */
/* C03-V4：只写 body#top.page-home 作用域下的规则 */

/* 页尾行动区容器：扩大留白至 140px，保持纯净暗场，无色场与多余外框 */
body#top.page-home .footer-cta {
  padding: 140px 0;
  border-top: 1px solid var(--line);
  background: transparent;
}

/* 两栏网格：约 7:5 比例，顶部对齐 */
body#top.page-home .footer-cta .wrap {
  display: grid;
  grid-template-columns: 7fr 5fr;
  column-gap: clamp(48px, 6vw, 88px);
  align-items: start;
}

/* 左栏标题：大号粗衬线正体（用户 2026-10-16：中文不用合成斜体），骨白，行高 1.15，下方保留大片空白 */
body#top.page-home .footer-cta h2 {
  max-width: 12em;
  margin: 0;
  font-family: var(--serif);
  font-style: normal;
  font-weight: 700;
  font-size: clamp(54px, 4.2vw, 62px);
  line-height: 1.15;
  color: var(--bone);
  letter-spacing: -0.02em;
  text-wrap: balance;
}

/* 右栏列表：一列纯文字链接，顶部与左栏标题首行视觉对齐 */
body#top.page-home .footer-cta .ctas {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  margin: 6px 0 0;
  padding: 0;
  width: 100%;
}

/* 三个入口：剥除 D01 边框、斜切与翻牌，变为纯文字列表项 */
body#top.page-home .footer-cta .ctas .btn-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: auto;
  padding: 24px 0 22px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: none;
  color: var(--bone);
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.01em;
  text-decoration: none;
  position: relative;
  cursor: pointer;
  white-space: nowrap;
  transform: none !important;
  clip-path: none !important;
  outline: none;
  transition: color 0.2s ease;
}

/* 悬停时一条橙红下划线从左向右伸长 */
body#top.page-home .footer-cta .ctas .btn-line::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 2px;
  background: var(--burn);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.38s cubic-bezier(0.2, 0.8, 0.2, 1);
  pointer-events: none;
  z-index: 1;
}

body#top.page-home .footer-cta .ctas .btn-line:hover::before,
body#top.page-home .footer-cta .ctas .btn-line:focus-visible::before {
  transform: scaleX(1);
}

/* 右端橙红「→」单符号 */
body#top.page-home .footer-cta .ctas .btn-line::after {
  content: "→";
  display: inline-block;
  color: var(--burn);
  font-family: var(--sans);
  font-size: 20px;
  line-height: 1;
  margin-left: 24px;
  transform: translateX(0);
  transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}

body#top.page-home .footer-cta .ctas .btn-line:hover::after,
body#top.page-home .footer-cta .ctas .btn-line:focus-visible::after {
  transform: translateX(6px);
}

/* 键盘焦点可见性 */
body#top.page-home .footer-cta .ctas .btn-line:focus-visible {
  outline: 2px solid var(--burn);
  outline-offset: 4px;
}

/* 中英文排版细节 */
body#top.page-home .footer-cta .ctas .c03-en {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
  color: var(--bone);
}

body#top.page-home .footer-cta .ctas .c03-slash {
  font-family: var(--sans);
  font-size: 16px;
  color: var(--dust);
  margin: 0 8px;
  opacity: 0.6;
}

body#top.page-home .footer-cta .ctas .c03-zh {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  color: var(--bone);
}

/* 彻底抑制 D01 骨架样式遗留 */
body#top.page-home .footer-cta .ctas .d11-in {
  display: contents;
}

body#top.page-home .footer-cta .ctas .d11-c {
  all: unset;
  display: inline;
}

body#top.page-home .footer-cta .ctas .d11-c::after {
  display: none !important;
}

body#top.page-home .footer-cta .ctas .d11-b {
  display: none !important;
}

body#top.page-home .footer-cta .ctas .d11-f {
  display: inline !important;
  transform: none !important;
}

body#top.page-home .footer-cta .ctas .is-arr {
  display: none !important;
}

/* 减弱动效偏好 */
@media (prefers-reduced-motion: reduce) {
  body#top.page-home .footer-cta .ctas .btn-line,
  body#top.page-home .footer-cta .ctas .btn-line::before,
  body#top.page-home .footer-cta .ctas .btn-line::after {
    transition: none !important;
  }
}

/* —— 融合：外壳取 V7 光晕卡（主），覆盖 V4 的通栏留白 —— */
body#top.page-home .footer-cta { padding: calc(var(--sec-y) * 1.2) 0; border-top: 0; }
body#top.page-home .footer-cta .wrap { position: relative; align-items: center; padding: 72px 64px; overflow: hidden; border: 1px solid var(--line); border-radius: 24px;
  background: radial-gradient(60% 90% at 100% 100%, color-mix(in srgb, var(--burn) 38%, transparent), transparent 70%), var(--soot-raise); }
body#top.page-home .footer-cta .wrap > * { position: relative; z-index: 1; }
}
/* dim:footer-cta-card end */
