/* ============================================================
   AquaVerse 官网 · Page Master System
   全站固定：Header 母组件 + Content Stage + Design Tokens。
   每页只填内容，不得重做结构 / Logo / 色板 / 字号系统。
   参考视口：1920×1080。页面从 Header + Content Stage 整体计算。
   ============================================================ */

/* ===== Design Tokens（全站锁定） ===== */
:root {
  /* —— Header 唯一高度真相源（JS 可按实测回写） —— */
  --header-h: 96px;
  --header-height: var(--header-h); /* 兼容旧引用，禁止另写 80/88/112 */
  /* —— Content Stage：相对 Header 下沿的内容顶距（不再含 Header 自身高度） —— */
  --stage-gap-top: clamp(32px, 4.5vh, 52px);
  --page-pad-top: var(--stage-gap-top);
  --page-pad-bottom: clamp(24px, 3.5vh, 40px);
  --stage-pad-x: clamp(40px, 5.5vw, 120px);
  --content-max: 1120px;
  --content-wide: 1320px;
  --title-max: 18em;
  /* —— 纵向节拍 —— */
  --stack-tight: clamp(10px, 1.4vh, 14px);
  --stack-gap: clamp(22px, 3.2vh, 36px);
  --stack-loose: clamp(36px, 5vh, 56px);
  /* —— 色彩：深空黑 / 深海蓝黑 / Ice Cyan / 暖白 / 灰白 —— */
  --navy: #0a1a2e;
  --navy-deep: #071320;
  --void: #02070c;
  --on-dark: #f5f7fa;
  --on-dark-muted: rgba(245, 247, 250, 0.72);
  --on-dark-quiet: rgba(245, 247, 250, 0.48);
  --line-dark: rgba(245, 247, 250, 0.14);
  --panel-dark: rgba(255, 255, 255, 0.05);
  --panel-dark-strong: rgba(255, 255, 255, 0.09);
  --paper: #f7f9fb;
  --paper-2: #eef2f5;
  --on-light: #0a1a2e;
  --on-light-muted: rgba(10, 26, 46, 0.68);
  --on-light-quiet: rgba(10, 26, 46, 0.46);
  --line-light: rgba(10, 26, 46, 0.12);
  --panel-light: #ffffff;
  --aqua: #0891b2;
  --aqua-deep: #066a80;
  --aqua-bright: #22c3d6; /* Ice Cyan — 唯一品牌蓝 */
  --danger: #c2410c;
  --silver: #9aa7b0;

  /* V2 aliases — 全站只允许这一套 Accent */
  --av-bg: var(--navy-deep);
  --av-bg-soft: var(--navy);
  --av-cyan: var(--aqua-bright);
  --av-cyan-soft: rgba(34, 195, 214, 0.35);
  --av-text-primary: var(--on-dark);
  --av-text-secondary: var(--on-dark-muted);
  --av-line: var(--line-dark);
  --av-header-height: var(--header-h);
  --av-content-max-width: var(--content-max);
  --av-safe-x: var(--stage-pad-x);
  --av-radius: 0;
  --av-glow: rgba(34, 195, 214, 0.22);
  /* —— Type scale（中文主、英文辅；禁止页内另起炉灶） —— */
  --fs-hero: clamp(3.6rem, 6.2vw, 6.4rem);
  --fs-h1: clamp(2.4rem, 4.2vw, 3.8rem);
  --fs-h2: clamp(1.85rem, 3vw, 2.75rem);
  --fs-lead: clamp(1.05rem, 1.35vw, 1.25rem);
  --fs-body: 1rem;
  --fs-caption: 0.8rem;
  --fs-en-note: 0.72rem;
  --fw-regular: 400;
  --fw-medium: 550;
  --fw-semibold: 650;
  --fw-bold: 780;
  --lh-tight: 1.15;
  --lh-body: 1.65;

  font-family: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }

html {
  overflow-x: hidden;
  scroll-behavior: auto;
  /* Anchor 唯一补偿：固定 Header。禁止再叠 scroll-margin / JS header offset */
  scroll-padding-top: var(--header-h);
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--navy-deep);
  color: var(--on-dark);
  font-size: 16px;
  line-height: 1.65;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { font: inherit; }
section[id] { scroll-margin-top: 0 !important; }

main { padding-top: 0; }

/* ===== 五 · Header =====
   明暗自适应：header 跟随所在版面配色。
   深色区（默认）：深蓝玻璃条 + 白色 logo + 浅字。
   浅色区（body.light-header）：白色玻璃条 + 深蓝 logo + 深字。
   根因修复：此前 header 恒定 rgba(10,26,46,.86)，浅色页滚动上来时
   白底从半透明深条下透出、白色 logo 悬浮成"挂牌"，正是用户反馈的割裂。
   */
/* ===== Header 母组件：像空气，不是工具栏 ===== */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  height: var(--header-height);
  min-height: var(--header-height);
  align-items: center;
  justify-content: space-between;
  gap: clamp(28px, 3.6vw, 56px);
  border-bottom: 1px solid rgba(245, 247, 250, 0.03);
  background: linear-gradient(
    180deg,
    rgba(1, 9, 17, 0.18) 0%,
    rgba(1, 9, 17, 0.06) 52%,
    rgba(1, 9, 17, 0) 100%
  );
  padding: max(env(safe-area-inset-top), 0px) var(--stage-pad-x) 0;
  box-shadow: none;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background 260ms ease;
}

body.on-mission .site-header {
  background: linear-gradient(
    180deg,
    rgba(1, 9, 17, 0.14) 0%,
    rgba(1, 9, 17, 0.04) 55%,
    rgba(1, 9, 17, 0) 100%
  );
  border-bottom-color: transparent;
}

.site-header::after {
  content: none;
}

body.light-header .site-header {
  border-bottom: none;
  background: linear-gradient(
    180deg,
    rgba(247, 249, 251, 0.48) 0%,
    rgba(247, 249, 251, 0.18) 58%,
    rgba(247, 249, 251, 0) 100%
  );
  box-shadow: none;
}

body.light-header .site-nav a {
  color: rgba(10, 26, 46, 0.55);
}

body.light-header .site-nav a span {
  color: rgba(10, 26, 46, 0.38);
}

body.light-header .site-nav a:hover {
  color: var(--on-light-muted);
  border-bottom-color: rgba(8, 145, 178, 0.35);
}

body.light-header .site-nav a.is-active,
body.light-header .site-nav a.is-active:hover {
  border: none;
  border-bottom: 1px solid var(--aqua);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--aqua);
}

body.light-header .site-nav a.is-active span {
  color: rgba(8, 145, 178, 0.55);
}

/* 品牌 logo：镂空透明底，直接嵌入 header */
.brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
}

.brand-logo {
  width: auto;
  height: clamp(48px, 4.2vw, 64px);
  max-width: min(340px, 28vw);
  object-fit: contain;
  /* PNG 左侧透明留白 ≈ 自身宽度 4.13%，抵消后圆标外缘与正文左轴对齐 */
  transform: translateX(-4.13%);
  /* 禁止浏览器把 PNG 再糊化缩放 */
  image-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.site-nav {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(16px, 1.4vw, 24px);
  color: var(--on-dark-quiet);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
}

.site-nav a {
  display: grid;
  gap: 1px;
  border: none;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  outline: none;
  padding: 0 0 6px;
  white-space: nowrap;
  color: rgba(245, 247, 250, 0.46);
  transition: color 160ms ease, border-color 160ms ease;
}

.site-nav a strong {
  font-weight: var(--fw-semibold);
}

.site-nav a span {
  color: rgba(245, 247, 250, 0.28);
  font-size: var(--fs-en-note);
  font-weight: var(--fw-regular);
}

.site-nav a:focus-visible {
  outline: 1px solid rgba(34, 195, 214, 0.55);
  outline-offset: 4px;
}

.site-nav a:hover {
  color: var(--on-dark-muted);
  border-bottom-color: rgba(34, 195, 214, 0.35);
  background: transparent;
}

.site-nav a.is-active,
.site-nav a.is-active:hover,
.site-nav a.is-active:focus-visible {
  color: var(--aqua-bright);
  border: none;
  border-bottom: 1px solid var(--aqua-bright);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  outline: none;
}

.site-nav a.is-active span {
  color: rgba(34, 195, 214, 0.48);
}

.site-header:has(.site-nav a[href="#whynow"].is-active) .site-nav a[href^="#"]:not(.nav-cta):not(.is-active):not(:hover):not(:focus-visible) {
  opacity: 0.92;
}

/* 搜索：仅图标 */
.nav-search {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-left: 4px;
  border: none;
  border-radius: 0;
  background: transparent;
  color: rgba(245, 247, 250, 0.55);
  text-decoration: none;
  cursor: pointer;
  transition: color 160ms ease;
}

.nav-search:hover,
.nav-search[aria-expanded="true"] {
  color: var(--aqua-bright);
}

.nav-search svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
}

body.light-header .nav-search {
  color: rgba(10, 26, 46, 0.48);
}

body.light-header .nav-search:hover,
body.light-header .nav-search[aria-expanded="true"] {
  color: var(--aqua);
}

/* 预约诊断：不进一级导航；若存在则全站降级且首页隐藏 */
.site-nav .nav-cta {
  display: none;
}

html.search-lock,
html.search-lock body {
  overflow: hidden;
  overscroll-behavior: none;
}

/* —— 站内跳转搜索面板 —— */
.site-search {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  height: 100vh;
  height: 100dvh;
  padding:
    calc(var(--header-h) + 12px)
    var(--stage-pad-x)
    max(12px, env(safe-area-inset-bottom, 0px) + 12px);
  overflow: hidden;
  overscroll-behavior: none;
  background: rgba(2, 7, 12, 0.55);
  backdrop-filter: blur(10px);
}

.site-search[hidden] { display: none !important; }

html:not(.js) .site-search[hidden]:target {
  display: flex !important;
}

.site-search-panel {
  display: flex;
  flex-direction: column;
  width: min(480px, 100%);
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
  overscroll-behavior: contain;
  border: 1px solid var(--line-dark);
  background: rgba(7, 19, 32, 0.96);
  padding: 20px 22px 18px;
}

.site-search-panel label {
  display: block;
  margin-bottom: 10px;
  color: var(--on-dark-quiet);
  font-size: var(--fs-caption);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.site-search-bar {
  display: flex;
  flex: 0 0 auto;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.site-search-bar label {
  margin-bottom: 0;
}

.site-search-close {
  border: 0;
  background: transparent;
  color: var(--on-dark-quiet);
  padding: 0;
  font: inherit;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  cursor: pointer;
}

.site-search-close:hover {
  color: var(--aqua-bright);
}

.site-search-empty {
  margin: 14px 0 0;
  color: var(--on-dark-quiet);
  font-size: 0.9rem;
}

.site-search-empty[hidden] { display: none; }

.site-search-panel input {
  flex: 0 0 auto;
  width: 100%;
  border: 1px solid var(--line-dark);
  border-radius: 0;
  background: rgba(245, 247, 250, 0.04);
  color: var(--on-dark);
  padding: 12px 14px;
  font: inherit;
}

.site-search-panel input:focus {
  outline: none;
  border-color: var(--aqua-bright);
}

.site-search-list {
  display: grid;
  flex: 1 1 auto;
  gap: 0;
  min-height: 0;
  margin: 14px 0 0;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  list-style: none;
}

.site-search-list a {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(245, 247, 250, 0.08);
  padding: 12px 2px;
  color: var(--on-dark-muted);
  font-size: 0.95rem;
}

.site-search-list a span {
  color: var(--on-dark-quiet);
  font-size: var(--fs-en-note);
}

.site-search-list a:hover,
.site-search-list a.is-match {
  color: var(--aqua-bright);
}

.site-search-list li[hidden] { display: none; }

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 6px;
  border: 1px solid var(--line-dark);
  border-radius: 10px;
  background: transparent;
  padding: 12px 11px;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--on-dark);
  transition: transform 180ms ease, opacity 180ms ease;
}

body.light-header .menu-toggle {
  border-color: var(--line-light);
}

body.light-header .menu-toggle span {
  background: var(--on-light);
}

.menu-toggle.is-open span:first-child { transform: translateY(4px) rotate(45deg); }
.menu-toggle.is-open span:last-child { transform: translateY(-4px) rotate(-45deg); }

/* 移动端折叠菜单：跟随明暗自适应（浅色区深字深边） */
@media (max-width: 1180px) {
  body.light-header .site-nav {
    background: rgba(250, 252, 254, 0.97);
    border-bottom-color: var(--line-light);
  }

  body.light-header .site-nav a {
    border-bottom-color: var(--line-light);
  }
}

/* ===== 三 + 四.7 · 通用 Page 布局 =====
   全站顶对齐：内容紧贴 header 下沿。
   剩余纵向空间留给页内节拍与页底，绝不再光学居中把空白挤到 header 下方。 */
.page {
  position: relative;
  display: flex;
  flex-direction: column;
  /* fixed Header 不占文档流：可用高度 = 视口 − Header；padding-top 仅为 Header 下沿到内容的缝 */
  min-height: calc(100svh - var(--header-h));
  min-height: calc(100dvh - var(--header-h));
  align-items: stretch;
  justify-content: flex-start;
  overflow-x: hidden;
  overflow-y: visible;
  border-bottom: none;
  padding-top: var(--page-pad-top);
  padding-bottom: var(--page-pad-bottom);
  padding-left: var(--stage-pad-x);
  padding-right: var(--stage-pad-x);
}

.page-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: var(--stack-gap);
  width: 100%;
  max-width: var(--content-max);
  margin: 0 auto;
}

/* 主问题 / 核心判断 —— 全站骨架文案槽位 */
.page-question {
  margin: 0 0 var(--stack-tight);
  max-width: 28em;
  color: var(--on-dark-quiet);
  font-size: var(--fs-lead);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
}

.page-judgment {
  margin: 0;
  max-width: var(--title-max);
  color: var(--on-dark);
  font-size: var(--fs-h2);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
  letter-spacing: -0.02em;
}

.page-judgment span { color: var(--aqua-bright); }
.light-page .page-question { color: var(--on-light-quiet); }
.light-page .page-judgment { color: var(--on-light); }
.light-page .page-judgment span { color: var(--aqua); }

/* 页眉组：eyebrow + 标题贴紧，再与正文拉开 */
.page-head {
  display: grid;
  gap: var(--stack-tight);
  max-width: 100%;
}

.page-head .section-title,
.page-head .eyebrow {
  margin: 0;
}

/* 仅终幕邀请保留竖直居中 */
.action-page .page-inner {
  flex: 1 1 auto;
  justify-content: center;
  align-items: center;
}

.form-page .page-inner {
  flex: 0 1 auto;
}

.wide-inner { max-width: 1320px; }
.section-left { max-width: 980px; margin-left: 0; }

/* 叙事页一律顶对齐自然堆叠——禁止 space-between / 强制撑满拉空 */

/* ---------- 深色屏默认 ---------- */
.page:not(.light-page) {
  background: var(--navy);
}

/* 首屏与收束屏用最深色
   必须用 .page.xxx（特异性 0,2,0）压过上方 .page:not(.light-page)，
   否则 navy-deep 声明会被静默盖成 navy。 */
.page.hero-page,
.page.action-page,
.page.svf-page,
.page.unbooked-page,
.page.verification-page {
  background: var(--navy-deep);
}

/* 深色屏文字规则 */
.page:not(.light-page) .section-title { color: var(--on-dark); }
.page:not(.light-page) .section-title span,
.page:not(.light-page) .aqua-line,
.page:not(.light-page) .asset-line { color: var(--aqua-bright); }
.page:not(.light-page) .lead,
.page:not(.light-page) .prose,
.page:not(.light-page) .fepc-note,
.page:not(.light-page) .theory-note { color: var(--on-dark-muted); }

/* ---------- 浅色屏 ---------- */
.light-page {
  background: var(--paper);
}

/* #wateros 用 paper-2 微差区隔 */
#wateros.light-page {
  background: var(--paper-2);
}

/* 浅色屏文字规则 */
.light-page .section-title { color: var(--on-light); }
.light-page .section-title span,
.light-page .aqua-line,
.light-page .asset-line { color: var(--aqua); }
.light-page .lead,
.light-page .prose,
.light-page .fepc-note,
.light-page .theory-note { color: var(--on-light-muted); }

/* 深浅屏交界：分隔线（随目标屏色域选线色，避免浅线浮在深底上） */
.page:not(.light-page) + .light-page {
  border-top: 1px solid var(--line-light);
}
.light-page + .page:not(.light-page) {
  border-top: 1px solid var(--line-dark);
}

/* ===== 公共：eyebrow / section-title / lead / reveal ===== */
.eyebrow {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 0;
  font-size: 0.78rem;
  font-weight: 640;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.page:not(.light-page) .eyebrow { color: var(--on-dark-quiet); }
.light-page .eyebrow { color: var(--on-light-quiet); }

.eyebrow b {
  font-weight: 640;
  letter-spacing: 0.08em;
}
.page:not(.light-page) .eyebrow b { color: var(--aqua-bright); }
.light-page .eyebrow b { color: var(--aqua); }

.section-title {
  margin: 0;
  font-size: clamp(2rem, 3.6vw, 3.4rem);
  font-weight: 780;
  line-height: 1.2;
  letter-spacing: -0.018em;
  max-width: 18em;
}

.lead,
.prose,
.fepc-note,
.theory-note {
  max-width: 820px;
  font-size: clamp(1.04rem, 1.45vw, 1.24rem);
  line-height: 2;
}

.lead { margin: 0 0 clamp(28px, 4vh, 34px); }
.lead.narrow { max-width: 920px; margin-top: 28px; }
.prose p { margin: 0 0 1.35em; }

.reveal {
  opacity: 1;
  transform: none;
  transition: opacity 720ms ease, transform 720ms ease;
}

:where(html.js) .reveal:not(.in) {
  opacity: 0;
  transform: translateY(26px);
}

.reveal.in { opacity: 1; transform: none; }

/* ===== 首屏 #mission · Seamless full-bleed Earth ===== */
.page.hero-page {
  background: #010911;
}

.hero-page {
  min-height: 100svh;
  min-height: 100dvh;
  padding-top: calc(var(--header-height) + clamp(48px, 6vh, 76px));
  padding-bottom: clamp(36px, 5vh, 56px);
  overflow: hidden;
}

.hero-page .page-inner {
  flex: 1 1 auto;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  background: transparent;
}

/* LAYER 1–3: global unify + soft left readability + local dark well */
.hero-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    /* LAYER 3 — left-copy radial well (no hard edge) */
    radial-gradient(
      ellipse 56% 74% at 16% 44%,
      rgba(2, 12, 22, 0.68) 0%,
      rgba(2, 12, 22, 0.34) 40%,
      rgba(2, 12, 22, 0.1) 64%,
      transparent 80%
    ),
    /* LAYER 2 — wide left→right readability wash (continuous 35–65%) */
    linear-gradient(
      90deg,
      rgba(2, 12, 22, 0.88) 0%,
      rgba(2, 12, 22, 0.72) 20%,
      rgba(2, 12, 22, 0.48) 34%,
      rgba(2, 12, 22, 0.24) 46%,
      rgba(2, 12, 22, 0.1) 56%,
      rgba(2, 12, 22, 0.03) 66%,
      transparent 76%
    ),
    /* LAYER 1 — global deep unify */
    rgba(1, 9, 17, 0.12);
}

/* soft vertical atmosphere so top/bottom don't form a second panel */
.hero-page::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    /* soften blown sun highlight ~10–12% without killing sunrise */
    radial-gradient(
      ellipse 42% 48% at 90% 46%,
      rgba(1, 9, 17, 0.22) 0%,
      rgba(1, 9, 17, 0.1) 38%,
      transparent 68%
    ),
    linear-gradient(
      180deg,
      rgba(1, 9, 17, 0.3) 0%,
      transparent 22%,
      transparent 70%,
      rgba(1, 9, 17, 0.4) 100%
    ),
    radial-gradient(ellipse 70% 55% at 78% 52%, rgba(8, 145, 178, 0.04), transparent 58%);
}

.hero-visual {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0;
  animation: hero-visual-in 1.6s cubic-bezier(0.22, 1, 0.36, 1) 0.02s forwards;
}

@keyframes hero-visual-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* no image-side cut mask — fusion comes from section overlays only */
.hero-visual::after {
  content: none;
}

.hero-visual picture,
.hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-visual img {
  object-fit: cover;
  object-position: 70% center;
  opacity: 1;
}

.hero-inner {
  max-width: 1400px;
  margin-left: 0;
  width: 100%;
  background: transparent;
}

.hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: min(46vw, 720px);
  max-width: 720px;
  min-width: 0;
  background: transparent;
}

.hero-page .hero-title {
  text-shadow: 0 1px 28px rgba(1, 9, 17, 0.35);
}

.hero-title {
  margin: 0;
  color: var(--on-dark);
  font-size: clamp(4rem, 5.4vw, 7rem);
  font-weight: 800;
  line-height: 0.96;
  letter-spacing: -0.02em;
}

.hero-title span { color: var(--aqua-bright); }

.hero-subtitle {
  margin: clamp(22px, 2.6vh, 28px) 0 0;
  color: var(--aqua-bright);
  font-size: clamp(1.6rem, 2.3vw, 2.75rem);
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: 0.01em;
}

.hero-page .manifesto {
  display: grid;
  grid-template-columns: minmax(0, max-content) minmax(0, max-content);
  justify-content: start;
  column-gap: clamp(28px, 2.6vw, 48px);
  row-gap: 0;
  width: 100%;
  max-width: none;
  margin: clamp(42px, 5vh, 64px) 0 0;
  padding: 0;
  font-size: clamp(1.02rem, 1.2vw, 1.4rem);
  line-height: 1.6;
}

.hero-page .manifesto-en {
  color: rgba(245, 247, 250, 0.62);
}

.hero-page .manifesto-zh {
  color: rgba(245, 247, 250, 0.78);
}

.hero-page .manifesto-zh {
  border-left: 1px solid rgba(34, 195, 214, 0.34);
  padding-left: clamp(16px, 1.6vw, 24px);
}

.hero-page .manifesto .aqua-line {
  margin-top: 6px;
  font-weight: 650;
  color: rgba(34, 195, 214, 0.86);
}

.hero-page .manifesto-zh .aqua-line {
  color: var(--aqua-bright);
  font-weight: 700;
}

.manifesto {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 28px;
  max-width: 560px;
  margin: 0 0 24px;
  color: var(--on-dark-muted);
  font-size: clamp(0.95rem, 1.15vw, 1.12rem);
  line-height: 1.55;
}

.manifesto > div + div {
  border-left: 1px solid var(--aqua-bright);
  padding-left: 28px;
}

.manifesto .aqua-line {
  margin-top: 4px;
  font-weight: 600;
  color: var(--aqua-bright);
}

.manifesto p,
.hero-close p { margin: 0 0 6px; }

.hero-page .hero-close {
  margin: clamp(22px, 3vh, 34px) 0 0;
  color: rgba(245, 247, 250, 0.6);
  font-size: clamp(1.02rem, 1.2vw, 1.4rem);
  line-height: 1.55;
}

.hero-close {
  margin: 0 0 28px;
  color: var(--on-dark-muted);
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  line-height: 1.55;
}

.hero-page .asset-line {
  margin-top: 4px;
  color: var(--aqua-bright);
  font-size: clamp(1.25rem, 1.7vw, 2.1rem);
  font-weight: 700;
  letter-spacing: 0.01em;
}

.asset-line {
  color: var(--aqua-bright);
  font-size: clamp(1.4rem, 2vw, 1.9rem);
  font-weight: 760;
}

/* 首屏唯一主 CTA · Continue the story */
.hero-page .solid-cta {
  margin-top: clamp(36px, 4.2vh, 48px);
  min-width: 0;
  min-height: 48px;
  width: auto;
  gap: 10px;
  justify-content: flex-start;
  border-radius: 8px;
  background: rgba(8, 145, 178, 0.78);
  padding: clamp(11px, 1.1vh, 14px) clamp(18px, 1.3vw, 24px);
  font-size: clamp(0.98rem, 1vw, 1.18rem);
  font-weight: 620;
  box-shadow: none;
  transform: none;
  transition: background 180ms ease, transform 180ms ease, color 180ms ease;
}

.hero-page .solid-cta:hover {
  background: rgba(8, 145, 178, 0.92);
  transform: translateY(-1px);
  box-shadow: none;
}

.hero-page .solid-cta:focus-visible {
  outline: 2px solid rgba(34, 195, 214, 0.7);
  outline-offset: 3px;
}

.hero-page .solid-cta span {
  font-size: 1.3rem;
  line-height: 1;
  opacity: 0.85;
}

/* 4.4 · 主 CTA 按钮 */
.solid-cta {
  display: inline-flex;
  min-width: 236px;
  align-items: center;
  justify-content: space-between;
  border: none;
  border-radius: 999px;
  background: var(--aqua);
  color: #fff;
  padding: 16px 28px;
  font-size: 1.16rem;
  font-weight: 760;
  transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.solid-cta:hover {
  background: var(--aqua-deep);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(8,145,178,.28);
}

.solid-cta span { font-size: 1.9rem; line-height: 1; }

/* 首屏入场：轻 stagger，总节奏约 1.8s */
:where(html.js) .hero-page .reveal:not(.in) {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-page .reveal {
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-page .hero-copy > .reveal:nth-child(1) { transition-delay: 0.12s; }
.hero-page .hero-copy > .reveal:nth-child(2) { transition-delay: 0.32s; }
.hero-page .hero-copy > .reveal:nth-child(3) { transition-delay: 0.52s; }
.hero-page .hero-copy > .reveal:nth-child(4) { transition-delay: 0.72s; }
.hero-page .hero-copy > .reveal:nth-child(5) { transition-delay: 0.9s; }

.hero-page .reveal.in { opacity: 1; transform: none; }

/* Mission 态：在线咨询降为 ambient utility */
body.on-mission .av-fab {
  opacity: 0.26;
  transform: none;
  box-shadow: none !important;
  border-color: rgba(34, 195, 214, 0.16) !important;
  background: rgba(7, 19, 32, 0.45) !important;
  color: rgba(34, 195, 214, 0.5) !important;
  font-weight: 560 !important;
  font-size: 12.5px !important;
  padding: 9px 13px !important;
  backdrop-filter: blur(6px);
}

body.on-mission .av-fab .av-dot {
  opacity: 0.5;
  transform: scale(0.85);
}

body.on-mission .av-fab:hover {
  opacity: 0.8;
  border-color: rgba(34, 195, 214, 0.42) !important;
  color: rgba(34, 195, 214, 0.9) !important;
  background: rgba(7, 19, 32, 0.72) !important;
}

/* trust-bar 已移除（display:none） */
.trust-bar { display: none !important; }

/* ===== #unbooked · Hidden Value：左认知 / 右工业，一屏完整 ===== */
.hv-page,
.unbooked-page {
  justify-content: flex-start;
  overflow: hidden;
  background: var(--navy-deep);
  /* 锚点滚动后 section 顶已在 Header 下沿；padding-top 只保留内容缝 */
  min-height: calc(100svh - var(--header-h));
  min-height: calc(100dvh - var(--header-h));
  padding-top: clamp(38px, 5.2vh, 56px);
  padding-bottom: clamp(28px, 3.6vh, 40px);
}

.hv-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(7, 19, 32, 0.96) 0%, rgba(7, 19, 32, 0.82) 36%, rgba(7, 19, 32, 0.18) 58%, rgba(7, 19, 32, 0.12) 100%),
    linear-gradient(180deg, rgba(7, 19, 32, 0.5) 0%, transparent 34%, transparent 64%, rgba(7, 19, 32, 0.55) 100%);
}

/* Full-bleed industrial world — pinned to section, not content column */
.hv-visual {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 42%;
  z-index: 0;
  width: auto;
  opacity: 0;
  transition: opacity 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.hv-page.is-in .hv-visual {
  opacity: 1;
}

.hv-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% 40%;
  filter: saturate(0.84) brightness(0.82) contrast(1.05);
}

.hv-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 58% at 46% 46%, rgba(255, 255, 255, 0.045), transparent 64%),
    linear-gradient(90deg, rgba(7, 19, 32, 0.94) 0%, rgba(7, 19, 32, 0.35) 18%, transparent 42%, transparent 78%, rgba(7, 19, 32, 0.22) 100%),
    linear-gradient(180deg, rgba(7, 19, 32, 0.22) 0%, transparent 38%, rgba(7, 19, 32, 0.4) 100%);
  pointer-events: none;
}

.hv-flow {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.hv-flow-path {
  stroke: var(--aqua-bright);
  stroke-width: 1.1;
  stroke-linecap: round;
  opacity: 0.5;
  stroke-dasharray: 920;
  stroke-dashoffset: 920;
  transition: stroke-dashoffset 2.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.hv-page.is-in .hv-flow-path {
  stroke-dashoffset: 0;
  transition-delay: 1.4s;
}

.hv-flow-marks text {
  fill: rgba(34, 195, 214, 0.28);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.22em;
  opacity: 0;
  transition: opacity 0.9s ease, fill 0.9s ease;
}

.hv-page.is-in .hv-flow-marks text {
  opacity: 1;
  fill: rgba(34, 195, 214, 0.55);
}

.hv-page.is-in .hv-flow-marks text:nth-child(1) { transition-delay: 1.9s; }
.hv-page.is-in .hv-flow-marks text:nth-child(2) { transition-delay: 2.2s; }
.hv-page.is-in .hv-flow-marks text:nth-child(3) { transition-delay: 2.5s; }

.hv-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  max-width: min(1400px, 100%);
  margin: 0;
  min-height: 0;
}

#unbooked .hv-inner {
  max-width: min(1400px, 100%);
}

.hv-copy,
.hv-evidence {
  position: relative;
  z-index: 2;
  width: min(52%, 720px);
  max-width: 720px;
}

@media (min-width: 1101px) {
  #unbooked .hv-copy,
  #unbooked .hv-evidence {
    min-width: min(100%, 620px);
  }
}

.hv-eyebrow,
.hv-question,
.hv-title,
.hv-judgment,
.hv-grid,
.hv-en,
.hv-hook {
  transition: opacity 1s cubic-bezier(0.22, 1, 0.36, 1), transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

:where(html.js) .hv-eyebrow,
:where(html.js) .hv-question,
:where(html.js) .hv-title,
:where(html.js) .hv-judgment,
:where(html.js) .hv-grid,
:where(html.js) .hv-en,
:where(html.js) .hv-hook {
  opacity: 0;
  transform: translateY(10px);
}

.hv-page.is-in .hv-eyebrow,
.hv-page.is-in .hv-question,
.hv-page.is-in .hv-title,
.hv-page.is-in .hv-judgment,
.hv-page.is-in .hv-grid,
.hv-page.is-in .hv-en,
.hv-page.is-in .hv-hook {
  opacity: 1;
  transform: none;
}

.hv-eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 10px;
}

.hv-page.is-in .hv-eyebrow { transition-delay: 0.2s; }

.hv-eyebrow span:first-child {
  color: rgba(245, 247, 250, 0.62);
  font-size: clamp(0.72rem, 0.85vw, 0.82rem);
  font-weight: 600;
  letter-spacing: 0.14em;
}

.hv-eyebrow span[aria-hidden] {
  color: rgba(245, 247, 250, 0.28);
  font-size: 0.75rem;
}

.hv-eyebrow span:last-child {
  color: rgba(245, 247, 250, 0.32);
  font-size: clamp(0.68rem, 0.78vw, 0.76rem);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hv-question {
  margin: 0 0 clamp(22px, 2.8vh, 30px);
  max-width: 22em;
  color: rgba(245, 247, 250, 0.42);
  font-size: clamp(0.88rem, 1.05vw, 1rem);
  font-weight: 450;
  line-height: 1.45;
}

.hv-page.is-in .hv-question { transition-delay: 0.32s; }

.hv-title {
  display: flex;
  flex-direction: column;
  gap: 0.08em;
  margin: 0;
  max-width: 720px;
  color: rgba(245, 242, 236, 0.96);
  font-size: clamp(2.5rem, 2.85vw, 3.25rem);
  font-weight: 650;
  line-height: 1.12;
  letter-spacing: -0.018em;
  overflow-wrap: break-word;
}

.hv-title-a,
.hv-title-b,
.hv-title-c {
  display: block;
}

.hv-title-a1,
.hv-title-a2,
.hv-title-c1,
.hv-title-c2 {
  display: inline;
  white-space: nowrap;
}

.hv-page.is-in .hv-title { transition-delay: 0.45s; }

.hv-judgment {
  margin: clamp(28px, 3.4vh, 38px) 0 0;
  max-width: 18em;
  color: rgba(245, 247, 250, 0.68);
  font-size: clamp(1.05rem, 1.35vw, 1.28rem);
  font-weight: 450;
  line-height: 1.55;
}

.hv-judgment span {
  color: var(--aqua-bright);
  font-weight: 500;
}

.hv-page.is-in .hv-judgment { transition-delay: 1.05s; }

.hv-evidence {
  margin-top: clamp(22px, 3.2vh, 34px);
}

.hv-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.8vh, 18px) clamp(14px, 1.6vw, 22px);
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.hv-page.is-in .hv-grid { transition-delay: 1.45s; }

.hv-grid li {
  display: grid;
  gap: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(34, 195, 214, 0.22);
  background: transparent;
}

.hv-grid b {
  color: rgba(34, 195, 214, 0.82);
  font-size: clamp(0.82rem, 0.95vw, 0.92rem);
  font-weight: 600;
  letter-spacing: 0.06em;
}

.hv-grid span {
  color: rgba(245, 247, 250, 0.42);
  font-size: clamp(0.72rem, 0.85vw, 0.8rem);
  font-weight: 450;
  line-height: 1.4;
}

.hv-en {
  margin: clamp(16px, 2.2vh, 22px) 0 0;
  color: rgba(245, 247, 250, 0.34);
  font-size: clamp(0.75rem, 0.9vw, 0.875rem);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.02em;
}

.hv-page.is-in .hv-en { transition-delay: 1.75s; }

.hv-hook {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: clamp(12px, 1.8vh, 18px);
  color: rgba(245, 247, 250, 0.48);
  font-size: 0.9rem;
  font-weight: 500;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  transition: color 180ms ease, border-color 180ms ease, opacity 1s ease, transform 1s ease;
}

.hv-hook span {
  color: var(--aqua-bright);
  font-size: 1.05rem;
  line-height: 1;
}

.hv-hook:hover {
  color: var(--on-dark);
  border-bottom-color: rgba(34, 195, 214, 0.4);
}

.hv-page.is-in .hv-hook { transition-delay: 2s; }

/* Short viewports: compress rhythm before shrinking type */
@media (min-width: 1024px) and (max-height: 820px) {
  .hv-page {
    padding-top: clamp(28px, 3.6vh, 40px);
    padding-bottom: 24px;
  }

  .hv-question {
    margin-bottom: 16px;
  }

  .hv-title {
    font-size: clamp(2.1rem, 3.4vw, 3.2rem);
    line-height: 1.1;
  }

  .hv-judgment {
    margin-top: 20px;
    font-size: 1.05rem;
    line-height: 1.45;
  }

  .hv-evidence {
    margin-top: 18px;
  }

  .hv-grid {
    gap: 10px 14px;
  }

  .hv-grid li {
    padding-top: 8px;
  }

  .hv-en {
    margin-top: 12px;
  }

  .hv-hook {
    margin-top: 10px;
  }
}

@media (min-width: 1024px) and (max-height: 768px) {
  .hv-page {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .hv-title {
    font-size: clamp(1.85rem, 2.8vw, 2.6rem);
  }

  .hv-judgment {
    margin-top: 16px;
    font-size: 0.98rem;
  }

  .hv-grid span {
    font-size: 0.7rem;
    line-height: 1.3;
  }
}

@media (max-width: 1100px) and (min-width: 769px) {
  .hv-copy,
  .hv-evidence {
    width: min(52%, 560px);
  }

  .hv-visual {
    left: 40%;
  }

  .hv-title {
    font-size: clamp(2.1rem, 3.6vw, 3.2rem);
  }
}

@media (max-width: 768px) {
  .hv-page {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: clamp(16px, 2.4vh, 24px);
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    overflow: auto;
  }

  .hv-page::before {
    background:
      linear-gradient(180deg, rgba(7, 19, 32, 0.35) 0%, rgba(7, 19, 32, 0.2) 28%, rgba(7, 19, 32, 0.88) 58%, rgba(7, 19, 32, 0.97) 100%);
  }

  .hv-inner {
    display: contents;
  }

  .hv-copy,
  .hv-evidence {
    width: 100%;
    max-width: none;
    position: relative;
    z-index: 2;
  }

  .hv-copy { order: 1; }
  .hv-visual { order: 2; }
  .hv-evidence { order: 3; }

  .hv-visual {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: calc(100% + 2 * var(--stage-pad-x));
    margin-left: calc(-1 * var(--stage-pad-x));
    margin-right: calc(-1 * var(--stage-pad-x));
    height: clamp(180px, 34vh, 260px);
    flex: 0 0 auto;
  }

  .hv-visual img {
    object-position: 50% 36%;
  }

  .hv-visual::after {
    background:
      linear-gradient(180deg, transparent 0 40%, rgba(7, 19, 32, 0.7) 78%, var(--navy-deep) 100%),
      linear-gradient(90deg, rgba(7, 19, 32, 0.25), transparent 45%);
  }

  .hv-title {
    max-width: none;
    font-size: clamp(1.75rem, 7vw, 2.35rem);
    line-height: 1.18;
  }

  .hv-title-a1,
  .hv-title-a2 {
    display: block;
  }

  .hv-question {
    margin-bottom: 18px;
  }

  .hv-judgment {
    margin-top: 20px;
    max-width: none;
    font-size: 1.05rem;
  }

  .hv-evidence {
    margin-top: 0;
  }

  .hv-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
  }

  .hv-flow-marks text {
    font-size: 13px;
  }

  .hv-hook {
    margin-top: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hv-visual,
  .hv-eyebrow,
  .hv-question,
  .hv-title,
  .hv-judgment,
  .hv-grid,
  .hv-en,
  .hv-hook,
  .hv-flow-marks text {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .hv-flow-path {
    stroke-dashoffset: 0 !important;
    transition: none !important;
  }
}

/* ===== #verification · 证据链（安静、精确） ===== */
.verification-page {
  justify-content: flex-start;
  overflow: visible;
  background: var(--navy-deep);
  padding-top: clamp(32px, 4.5vh, 48px);
  padding-bottom: clamp(28px, 3.5vh, 40px);
}

.verification-inner {
  z-index: 2;
  max-width: min(1100px, 100%);
  gap: clamp(22px, 3.2vh, 36px);
}

.proof-chain {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.proof-chain li {
  display: grid;
  gap: 4px;
  min-width: 88px;
  padding-top: 12px;
  border-top: 1px solid rgba(34, 195, 214, 0.35);
}

.proof-chain li:has(> i) {
  display: flex;
  align-items: center;
  min-width: 0;
  padding-top: 0;
  border-top: none;
  align-self: center;
}

.proof-chain b {
  color: var(--on-dark);
  font-size: var(--fs-lead);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.04em;
}

.proof-chain span {
  color: rgba(245, 247, 250, 0.34);
  font-size: var(--fs-caption);
  font-weight: var(--fw-regular);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.proof-chain i {
  display: block;
  width: 18px;
  height: 1px;
  background: rgba(34, 195, 214, 0.35);
}

.verification-close {
  margin: 0;
  max-width: 18em;
  color: var(--on-dark);
  font-size: var(--fs-h2);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
}

.verification-close span {
  color: var(--aqua-bright);
}

.wateros-note {
  margin: 0;
  max-width: 36em;
  color: var(--on-dark-quiet);
  font-size: 0.92rem;
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
}

.wateros-note a {
  color: rgba(34, 195, 214, 0.75);
  border-bottom: 1px solid rgba(34, 195, 214, 0.35);
}

/* ===== #problem · The Leak · cinematic one-field ===== */
.page.problem-page {
  background: #061018;
}

.problem-page {
  justify-content: flex-start;
  overflow: hidden;
  /* Header 下沿 → eyebrow；Header 高度已由 scroll-padding / page min-height 处理 */
  padding-top: clamp(32px, 5vh, 64px);
  padding-bottom: clamp(28px, 4vh, 48px);
}

.problem-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse 48% 68% at 14% 40%,
      rgba(6, 16, 24, 0.62) 0%,
      rgba(6, 16, 24, 0.28) 46%,
      transparent 76%
    ),
    linear-gradient(
      90deg,
      rgba(6, 16, 24, 0.82) 0%,
      rgba(6, 16, 24, 0.58) 20%,
      rgba(6, 16, 24, 0.28) 38%,
      rgba(6, 16, 24, 0.1) 52%,
      rgba(6, 16, 24, 0.02) 64%,
      transparent 76%
    ),
    linear-gradient(
      180deg,
      rgba(6, 16, 24, 0.32) 0%,
      transparent 26%,
      transparent 70%,
      rgba(6, 16, 24, 0.42) 100%
    ),
    rgba(4, 12, 20, 0.04);
}

.problem-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  /* 原设计构图：夜景冷却塔，勿用实拍替换 */
  background: url("assets/problem-towers-night.jpg") 66% center / cover no-repeat;
  opacity: 0.88;
  transform: scale(1.02);
  transition: opacity 1600ms ease, transform 2400ms ease;
  filter: brightness(1.2) contrast(1.07) saturate(1.08);
}

.problem-bg::after {
  content: "";
  position: absolute;
  left: 40%;
  right: 6%;
  bottom: 16%;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(34, 195, 214, 0.1) 16%,
    rgba(34, 195, 214, 0.32) 48%,
    rgba(34, 195, 214, 0.12) 78%,
    transparent 100%
  );
  opacity: 0.65;
  box-shadow: 0 0 18px 2px rgba(34, 195, 214, 0.08);
}

.problem-page.stage-3-in .problem-bg {
  opacity: 1;
  transform: scale(1);
}

.problem-inner {
  position: relative;
  z-index: 2;
  min-height: 0;
  flex: 0 1 auto;
  justify-content: flex-start;
  gap: 0;
  max-width: 1400px;
  width: 100%;
  margin-left: 0;
  background: transparent;
}

.problem-copy {
  width: clamp(420px, 42vw, 620px);
  max-width: 42vw;
  background: transparent;
}

.problem-page .eyebrow {
  /* 问题 → 主标题：+8~12px */
  margin: 0 0 clamp(18px, 2.4vh, 28px);
  color: rgba(245, 247, 250, 0.42);
  font-size: clamp(0.72rem, 0.85vw, 0.82rem);
  letter-spacing: 0.14em;
}

/* 覆盖全局 .page:not(.light-page) .eyebrow b 的 Ice Cyan —— 章节提示，非焦点 */
.page.problem-page:not(.light-page) .eyebrow b,
.problem-page .eyebrow b {
  color: rgba(245, 247, 250, 0.62);
  font-weight: 600;
}

.page.problem-page .eyebrow span,
.problem-page .eyebrow span {
  color: rgba(245, 247, 250, 0.34);
  font-weight: 500;
}

.problem-page .section-title {
  margin: 0;
  max-width: 15.5em;
  font-size: clamp(1.55rem, 2.35vw + 0.55vh, 2.55rem);
  line-height: 1.22;
}

.metric-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(6px, 1vh, 10px) clamp(18px, 2vw, 28px);
  /* 主标题 → 四项：+18~24px；亮度再降约 12% */
  margin: clamp(32px, 3.4vh, 46px) 0 0;
  padding: 0;
  list-style: none;
  color: rgba(245, 247, 250, 0.34);
  font-size: clamp(0.78rem, 0.85vw + 0.15vh, 0.92rem);
  font-weight: 500;
  letter-spacing: 0.04em;
}

.metric-list li {
  display: inline-flex;
  width: auto;
  align-items: center;
  gap: 0.45em;
  white-space: nowrap;
}

.metric-list span {
  color: rgba(34, 195, 214, 0.72);
  font-weight: 600;
}

.nobody {
  /* 四项 → 答案：+24~32px；字号收约 6% */
  margin: clamp(42px, 4.8vh, 66px) 0 0;
  max-width: 100%;
  color: rgba(245, 242, 236, 0.92);
  font-size: clamp(1.52rem, 2.9vw + 0.9vh, 3.55rem);
  font-weight: 760;
  line-height: 1.05;
  letter-spacing: 0.3em;
  white-space: nowrap;
  text-shadow: none;
}

.problem-tail {
  /* 答案 → 而它……：+28~36px */
  margin: clamp(60px, 6.2vh, 88px) 0 0;
  max-width: 22em;
  line-height: 1.55;
}

.problem-tail-lead {
  margin: 0;
  color: rgba(245, 247, 250, 0.48);
  font-size: clamp(0.95rem, 1.05vw + 0.25vh, 1.12rem);
  font-weight: 400;
}

.problem-tail-ask {
  /* 而它…… → Cyan 问句：+10~16px */
  margin: clamp(10px, 1.4vh, 16px) 0 0;
  color: var(--aqua-bright);
  font-size: clamp(1.12rem, 1.25vw + 0.35vh, 1.38rem);
  font-weight: 600;
  line-height: 1.45;
}

/* timed sequence */
:where(html.js) .problem-page .stage {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 700ms ease, transform 700ms ease;
}

.problem-page .eyebrow.stage-1 { transition-delay: 0.2s; }
.problem-page .section-title.stage-1 { transition-delay: 0.4s; }

/* 容器本身不参与淡入；四项各自在 T+0.9 起逐个出现 */
.problem-page .metric-list.stage-1 {
  opacity: 1;
  transform: none;
  transition: none;
}
:where(html.js) .problem-page .metric-list.stage-1 li {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 450ms ease, transform 450ms ease;
}
.problem-page.stage-1-in .metric-list.stage-1 li:nth-child(1) { transition-delay: 0.9s; }
.problem-page.stage-1-in .metric-list.stage-1 li:nth-child(2) { transition-delay: 1.05s; }
.problem-page.stage-1-in .metric-list.stage-1 li:nth-child(3) { transition-delay: 1.2s; }
.problem-page.stage-1-in .metric-list.stage-1 li:nth-child(4) { transition-delay: 1.35s; }

.problem-page.stage-1-in .stage-1,
.problem-page.stage-2-in .stage-2,
.problem-page.stage-3-in .stage-3 {
  opacity: 1;
  transform: none;
}

.problem-page.stage-1-in .metric-list.stage-1 li {
  opacity: 1;
  transform: none;
}

.problem-page.stage-2-in .nobody {
  animation: nobody-in 1100ms ease both;
}

/* stage-3 容器透明；由 lead / ask 各自入场 */
.problem-page .problem-tail.stage-3 {
  opacity: 1;
  transform: none;
  transition: none;
}
:where(html.js) .problem-page .problem-tail-lead {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 650ms ease, transform 650ms ease;
}
:where(html.js) .problem-page .problem-tail-ask {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 650ms ease 0.4s, transform 650ms ease 0.4s;
}
.problem-page.stage-3-in .problem-tail-lead,
.problem-page.stage-3-in .problem-tail-ask {
  opacity: 1;
  transform: none;
}

@keyframes nobody-in {
  0% { opacity: 0; transform: translateY(22px); letter-spacing: 0.16em; }
  100% { opacity: 1; transform: none; letter-spacing: 0.3em; }
}

@media (min-width: 1024px) and (max-height: 900px) {
  .problem-page {
    padding-top: clamp(28px, 4vh, 48px);
    padding-bottom: clamp(20px, 2.8vh, 32px);
  }

  .problem-page .eyebrow {
    margin-bottom: clamp(18px, 2.2vh, 24px);
  }

  .problem-page .section-title {
    font-size: clamp(1.45rem, 2.1vw + 0.5vh, 2.25rem);
  }

  .nobody {
    font-size: clamp(1.42rem, 2.65vw + 0.85vh, 3rem);
    letter-spacing: 0.28em;
    margin-top: clamp(42px, 4.6vh, 56px);
  }

  .problem-tail {
    margin-top: clamp(56px, 5.8vh, 72px);
  }

  .problem-tail-ask {
    margin-top: clamp(12px, 1.4vh, 16px);
  }

  .metric-list {
    margin-top: clamp(32px, 3.4vh, 42px);
  }
}

@media (min-width: 1024px) and (max-height: 768px) {
  .problem-page {
    padding-top: clamp(24px, 3.2vh, 36px);
    padding-bottom: clamp(16px, 2.2vh, 24px);
  }

  .problem-page .eyebrow {
    margin-bottom: clamp(16px, 2vh, 20px);
  }

  .problem-page .section-title {
    font-size: clamp(1.35rem, 1.9vw + 0.4vh, 2rem);
  }

  .nobody {
    font-size: clamp(1.3rem, 2.3vw + 0.7vh, 2.55rem);
    letter-spacing: 0.26em;
    margin-top: clamp(34px, 4vh, 44px);
  }

  .problem-tail {
    margin-top: clamp(48px, 5vh, 60px);
  }

  .problem-tail-lead {
    font-size: clamp(0.9rem, 0.95vw + 0.2vh, 1.05rem);
  }

  .problem-tail-ask {
    margin-top: 12px;
    font-size: clamp(1.05rem, 1.1vw + 0.3vh, 1.22rem);
  }

  .metric-list {
    margin-top: clamp(28px, 3.2vh, 36px);
    gap: 6px 20px;
  }
}

/* ===== #whynow · Page 03 · Convergence / 时代条件 ===== */
.page.whynow-page {
  background: #02080f;
}

.whynow-page {
  justify-content: flex-start;
  overflow: visible;
  padding-top: clamp(28px, 4.5vh, 56px);
  padding-bottom: clamp(28px, 4vh, 48px);
}

.whynow-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse 52% 70% at 18% 38%,
      rgba(2, 8, 15, 0.72) 0%,
      rgba(2, 8, 15, 0.35) 48%,
      transparent 76%
    ),
    linear-gradient(
      90deg,
      rgba(2, 8, 15, 0.88) 0%,
      rgba(2, 8, 15, 0.62) 28%,
      rgba(2, 8, 15, 0.28) 52%,
      rgba(2, 8, 15, 0.42) 100%
    ),
    linear-gradient(
      180deg,
      rgba(2, 8, 15, 0.5) 0%,
      transparent 30%,
      transparent 72%,
      rgba(2, 8, 15, 0.72) 100%
    );
}

.whynow-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.whynow-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% 58%;
  opacity: 0.38;
  filter: brightness(0.65) saturate(0.85) contrast(1.05);
  transform: scale(1.06);
}

.whynow-page .page-inner.whynow-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 0.44fr) minmax(0, 0.56fr);
  grid-template-areas:
    "copy stage"
    "close close"
    "evidence evidence";
  gap: clamp(18px, 3vh, 32px) clamp(28px, 4.2vw, 64px);
  align-items: start;
  width: 100%;
  max-width: 1400px;
  margin-inline: auto;
  background: transparent;
}

.whynow-copy {
  grid-area: copy;
  max-width: 34em;
}

.whynow-page .eyebrow {
  margin: 0 0 clamp(12px, 1.8vh, 18px);
  color: rgba(245, 247, 250, 0.4);
  font-size: clamp(0.72rem, 0.85vw, 0.82rem);
  letter-spacing: 0.14em;
}

.page.whynow-page:not(.light-page) .eyebrow b,
.whynow-page .eyebrow b {
  color: rgba(245, 247, 250, 0.64);
  font-weight: 600;
}

.whynow-page .eyebrow span {
  color: rgba(245, 247, 250, 0.32);
  font-weight: 500;
}

.whynow-title {
  display: grid;
  gap: clamp(8px, 1.2vh, 12px);
  margin: 0;
}

.whynow-line1,
.whynow-line2,
.whynow-line3 {
  display: block;
}

.whynow-line1 {
  color: var(--on-dark);
  font-size: clamp(1.55rem, 2.4vw + 0.4vh, 2.35rem);
  font-weight: 680;
  line-height: 1.22;
  letter-spacing: -0.01em;
}

.whynow-line2 {
  color: rgba(245, 247, 250, 0.82);
  font-size: clamp(1.12rem, 1.5vw + 0.3vh, 1.48rem);
  font-weight: 500;
  line-height: 1.4;
}

.whynow-line2-b {
  display: inline;
}

.whynow-line3 {
  color: var(--aqua-bright);
  font-size: clamp(1.18rem, 1.6vw + 0.3vh, 1.55rem);
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.whynow-assist {
  margin: clamp(16px, 2.4vh, 24px) 0 0;
  color: rgba(245, 247, 250, 0.52);
  font-size: clamp(0.92rem, 0.85vw + 0.2vh, 1.05rem);
  font-weight: 450;
  line-height: 1.55;
}

.whynow-stage {
  grid-area: stage;
  position: relative;
  min-height: clamp(280px, 42vh, 460px);
  align-self: stretch;
}

.wn-field {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.wn-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.wn-path {
  fill: none;
  stroke: rgba(34, 195, 214, 0.25);
  stroke-width: 0.7;
  stroke-linecap: round;
}

:where(html.js) .wn-path {
  stroke: rgba(34, 195, 214, 0.12);
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1200ms ease, stroke 800ms ease;
}

.whynow-page.stage-2-in .wn-path {
  stroke-dashoffset: 0;
  stroke: rgba(34, 195, 214, 0.25);
}

.whynow-page.stage-2-in .wn-path-1 { transition-delay: 0.15s; }
.whynow-page.stage-2-in .wn-path-2 { transition-delay: 0.28s; }
.whynow-page.stage-2-in .wn-path-3 { transition-delay: 0.4s; }
.whynow-page.stage-2-in .wn-path-4 { transition-delay: 0.52s; }

.wn-forces {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wn-force {
  position: absolute;
  z-index: 2;
  display: grid;
  gap: 4px;
  max-width: 13.5em;
}

.wn-force b {
  color: rgba(245, 247, 250, 0.82);
  font-size: clamp(0.95rem, 1.15vw, 1.1rem);
  font-weight: 600;
  letter-spacing: 0.04em;
}

.wn-force span {
  color: rgba(245, 247, 250, 0.34);
  font-size: clamp(0.72rem, 0.85vw, 0.82rem);
  font-weight: 400;
  line-height: 1.45;
}

.wn-force-1 { top: 12%; left: 0; }
.wn-force-2 { top: 12%; right: 0; text-align: right; }
.wn-force-3 { bottom: 14%; left: 0; max-width: 18em; }
.wn-force-4 { bottom: 14%; right: 0; text-align: right; }

.wn-now {
  position: absolute;
  left: 50%;
  top: 48%;
  display: grid;
  gap: 6px;
  justify-items: center;
  text-align: center;
  transform: translate(-50%, -40%);
}

:where(html.js) .wn-now {
  opacity: 0;
}

.wn-now strong {
  color: var(--aqua-bright);
  font-size: clamp(1.15rem, 1.6vw, 1.55rem);
  font-weight: 720;
  letter-spacing: 0.28em;
  padding-left: 0.28em;
}

.wn-now span {
  color: rgba(245, 247, 250, 0.42);
  font-size: clamp(0.72rem, 0.85vw, 0.82rem);
  letter-spacing: 0.06em;
}

.whynow-close {
  grid-area: close;
  max-width: 36em;
  padding-top: clamp(4px, 1vh, 10px);
  color: rgba(245, 247, 250, 0.62);
  font-size: clamp(1.02rem, 1.25vw + 0.2vh, 1.28rem);
  font-weight: 450;
  line-height: 1.7;
}

.whynow-close p { margin: 0; }

.whynow-close-end {
  margin-top: 0.12em;
  color: var(--aqua-bright);
  font-size: 1.12em;
  font-weight: 500;
}

.whynow-evidence {
  grid-area: evidence;
  max-width: 48rem;
  margin: 0;
  color: rgba(245, 247, 250, 0.28);
  font-size: 0.74rem;
  line-height: 1.65;
}

.whynow-evidence details {
  border-top: 1px solid rgba(245, 247, 250, 0.06);
  padding-top: 10px;
}

.whynow-evidence summary {
  cursor: pointer;
  list-style: none;
  color: rgba(245, 247, 250, 0.32);
  font-size: 0.74rem;
  letter-spacing: 0.04em;
}

.whynow-evidence summary::-webkit-details-marker { display: none; }

.whynow-evidence summary:focus-visible {
  outline: 2px solid var(--aqua-bright);
  outline-offset: 3px;
}

.whynow-evidence details[open] summary {
  color: rgba(245, 247, 250, 0.42);
  margin-bottom: 8px;
}

.whynow-evidence p { margin: 0 0 6px; }

.whynow-evidence .cite {
  color: rgba(245, 247, 250, 0.24);
  font-size: 0.72rem;
}

/* Why Now timed stages */
:where(html.js) .whynow-page .stage:not(.wn-now) {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 700ms ease, transform 700ms ease;
}

.whynow-page .eyebrow.stage-1 { transition-delay: 0.3s; }
.whynow-page .whynow-line1.stage-1 { transition-delay: 0.3s; }
.whynow-page .whynow-line2.stage-1 { transition-delay: 0.8s; }
.whynow-page .whynow-line3.stage-1 { transition-delay: 1.15s; }

.whynow-page .whynow-assist.stage-2,
.whynow-page .wn-forces.stage-2 {
  transition-delay: 0s;
}

:where(html.js) .whynow-page .wn-force {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 500ms ease, transform 500ms ease;
}

.whynow-page.stage-2-in .wn-force-1 { transition-delay: 0.05s; }
.whynow-page.stage-2-in .wn-force-2 { transition-delay: 0.18s; }
.whynow-page.stage-2-in .wn-force-3 { transition-delay: 0.3s; }
.whynow-page.stage-2-in .wn-force-4 { transition-delay: 0.42s; }

:where(html.js) .whynow-page .wn-now.stage-2 {
  opacity: 0;
  transform: translate(-50%, -30%);
}

.whynow-page.stage-1-in .stage-1,
.whynow-page.stage-2-in .stage-2:not(.wn-now),
.whynow-page.stage-3-in .stage-3 {
  opacity: 1;
  transform: none;
}

.whynow-page.stage-2-in .wn-force {
  opacity: 1;
  transform: none;
}

.whynow-page.stage-2-in .wn-now.stage-2 {
  opacity: 1;
  transform: translate(-50%, -40%);
}

:where(html.js) .whynow-page .whynow-close.stage-3 p {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 550ms ease, transform 550ms ease;
}

.whynow-page.stage-3-in .whynow-close.stage-3 p:nth-child(1) { transition-delay: 0s; }
.whynow-page.stage-3-in .whynow-close.stage-3 p:nth-child(2) { transition-delay: 0.12s; }
.whynow-page.stage-3-in .whynow-close.stage-3 p:nth-child(3) { transition-delay: 0.24s; }

.whynow-page.stage-3-in .whynow-close.stage-3 {
  opacity: 1;
  transform: none;
}

.whynow-page.stage-3-in .whynow-close.stage-3 p {
  opacity: 1;
  transform: none;
}

.whynow-page .whynow-evidence.stage-3 {
  transition-delay: 0.35s;
}

.whynow-page .wn-now.stage-2 {
  transition-delay: 0s;
  transition: opacity 700ms ease 1.15s, transform 700ms ease 1.15s;
}

@media (min-width: 1024px) and (max-height: 820px) {
  .whynow-page {
    padding-top: clamp(20px, 3vh, 32px);
    padding-bottom: clamp(18px, 2.4vh, 28px);
  }

  .whynow-line1 {
    font-size: clamp(1.4rem, 2vw + 0.35vh, 2rem);
  }

  .whynow-line2 {
    font-size: clamp(1.02rem, 1.3vw + 0.22vh, 1.28rem);
  }

  .whynow-line3 {
    font-size: clamp(1.08rem, 1.35vw + 0.22vh, 1.32rem);
  }

  .whynow-stage {
    min-height: clamp(240px, 38vh, 360px);
  }

  .whynow-close {
    font-size: clamp(0.95rem, 1.1vw + 0.15vh, 1.12rem);
  }
}

/* ===== #assetchain · ASSET_CHAIN_CORE_VISUAL — LOCKED =====
   Core asset: assets/valuechain-particle-flow.jpg
   Do not delete / replace with tower photos / reduce to line or dots. */
.page.assetchain-page {
  background: #01070c;
  min-height: calc(100svh - var(--header-h));
  min-height: calc(100dvh - var(--header-h));
}

.assetchain-page {
  justify-content: flex-start;
  overflow: hidden;
  padding-top: clamp(16px, 2.8vh, 36px);
  padding-bottom: clamp(18px, 2.8vh, 32px);
}

.assetchain-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 80% 50% at 50% 55%, rgba(34, 195, 214, 0.04), transparent 70%),
    linear-gradient(180deg, rgba(1, 7, 12, 0.55) 0%, transparent 30%, transparent 70%, rgba(1, 7, 12, 0.7) 100%);
}

.assetchain-page .page-inner.ac-inner,
.ac-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  max-width: min(1600px, 100%);
  margin: 0 auto;
  text-align: center;
  background: transparent;
}

/* TOP ~26% */
.ac-head {
  width: 100%;
  max-width: 36em;
  margin: 0 0 clamp(10px, 1.6vh, 18px);
}

.assetchain-page .eyebrow {
  margin: 0 0 clamp(10px, 1.4vh, 16px);
  color: rgba(245, 247, 250, 0.4);
  font-size: clamp(0.72rem, 0.85vw, 0.82rem);
  letter-spacing: 0.14em;
}

.page.assetchain-page:not(.light-page) .eyebrow b,
.assetchain-page .eyebrow b {
  color: rgba(245, 247, 250, 0.64);
  font-weight: 600;
}

.assetchain-page .eyebrow span {
  color: rgba(245, 247, 250, 0.32);
  font-weight: 500;
}

.ac-title {
  display: grid;
  gap: clamp(6px, 1vh, 10px);
  margin: 0;
}

.ac-line1 {
  color: rgba(245, 242, 236, 0.96);
  font-size: clamp(1.55rem, 2.5vw + 0.4vh, 2.45rem);
  font-weight: 760;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.ac-line2 {
  color: rgba(245, 247, 250, 0.48);
  font-size: clamp(1rem, 1.35vw + 0.2vh, 1.28rem);
  font-weight: 500;
  line-height: 1.45;
}

.ac-rule {
  width: 42px;
  height: 1px;
  margin: clamp(12px, 1.8vh, 18px) auto 0;
  background: var(--aqua-bright);
  opacity: 0.85;
}

/* MIDDLE ~52% — LOCKED core visual */
.ac-core {
  position: relative;
  z-index: 2;
  width: min(88vw, 1480px);
  max-width: 100%;
  height: clamp(200px, 48vh, 460px);
  margin: 0 auto;
  padding: 0;
  border: 0;
  overflow: hidden;
}

.ac-core {
  opacity: 1;
}

.ac-core-visual {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  /* 核心视觉必须始终可见；勿用 stage opacity:0 隐藏 */
  opacity: 1;
  filter: brightness(1.22) contrast(1.08) saturate(1.12);
  transform: none;
}

/* BOTTOM ~22% — theory notes stay quiet */
.ac-econ {
  margin: clamp(10px, 1.6vh, 16px) 0 0;
  color: rgba(245, 247, 250, 0.55);
  font-size: clamp(0.78rem, 0.95vw, 0.92rem);
  font-weight: 500;
  letter-spacing: 0.06em;
}

.ac-econ i {
  margin: 0 0.35em;
  color: rgba(34, 195, 214, 0.45);
  font-style: normal;
  font-weight: 400;
}

.ac-causes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 8px;
  margin: clamp(8px, 1.2vh, 12px) 0 0;
  padding: 0;
  list-style: none;
  color: rgba(245, 247, 250, 0.38);
  font-size: clamp(0.7rem, 0.85vw, 0.8rem);
  font-weight: 500;
}

.ac-causes li[aria-hidden="true"] {
  color: rgba(34, 195, 214, 0.32);
}

.ac-ledger {
  margin: clamp(8px, 1.2vh, 12px) 0 0;
  color: rgba(245, 247, 250, 0.26);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
}

.ac-ledger span {
  margin-right: 0.55em;
  letter-spacing: 0.14em;
}

.ac-close {
  margin: clamp(12px, 2vh, 20px) 0 0;
  max-width: 34em;
  color: rgba(245, 242, 236, 0.9);
  font-size: clamp(1.05rem, 1.35vw + 0.25vh, 1.4rem);
  font-weight: 600;
  line-height: 1.5;
}

.ac-close span {
  color: rgba(214, 120, 72, 0.95);
  font-weight: 720;
}

/* stages — 不含核心水流图；图永不 opacity:0 */
:where(html.js) .assetchain-page .stage {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 700ms ease, transform 700ms ease;
}

.assetchain-page .eyebrow.stage-1 { transition-delay: 0.15s; }
.assetchain-page .ac-line1.stage-1 { transition-delay: 0.25s; }
.assetchain-page .ac-line2.stage-1 { transition-delay: 0.45s; }
.assetchain-page .ac-rule.stage-1 { transition-delay: 0.55s; }

.assetchain-page .ac-econ.stage-2 { transition-delay: 0.2s; }
.assetchain-page .ac-causes.stage-2 { transition-delay: 0.35s; }

.assetchain-page.stage-1-in .stage-1,
.assetchain-page.stage-2-in .stage-2,
.assetchain-page.stage-3-in .stage-3 {
  opacity: 1;
  transform: none;
}

.assetchain-page .ac-ledger.stage-3 { transition-delay: 0.05s; }
.assetchain-page .ac-close.stage-3 { transition-delay: 0.2s; }

@media (min-width: 1024px) and (max-height: 820px) {
  .assetchain-page {
    padding-top: clamp(12px, 2vh, 22px);
    padding-bottom: clamp(14px, 2vh, 22px);
  }

  .ac-line1 {
    font-size: clamp(1.4rem, 2.1vw + 0.3vh, 2.05rem);
  }

  .ac-line2 {
    font-size: clamp(0.95rem, 1.15vw + 0.15vh, 1.15rem);
  }

  .ac-core {
    height: clamp(160px, 40vh, 320px);
    width: min(86vw, 1100px);
  }

  .ac-close {
    font-size: clamp(0.98rem, 1.15vw + 0.2vh, 1.22rem);
    margin-top: clamp(10px, 1.5vh, 14px);
  }
}

@media (min-width: 1024px) and (max-height: 768px) {
  .assetchain-page {
    padding-top: 12px;
    padding-bottom: 24px;
  }

  .ac-head {
    margin-bottom: 8px;
  }

  .ac-core {
    height: clamp(148px, 36vh, 280px);
    width: min(84vw, 1040px);
  }

  .ac-econ,
  .ac-causes,
  .ac-ledger {
    margin-top: 6px;
  }

  .ac-close {
    margin-top: 10px;
    font-size: clamp(0.95rem, 1.1vw + 0.15vh, 1.15rem);
  }
}

/* ===== #svf · Second Value Factory · naming climax ===== */
.page.svf-page {
  background: #02080f;
  min-height: calc(100svh - var(--header-h));
  min-height: calc(100dvh - var(--header-h));
}

.svf-page {
  justify-content: flex-start;
  overflow: hidden;
  padding-top: clamp(20px, 3.2vh, 40px);
  padding-bottom: clamp(20px, 3vh, 36px);
}

.svf-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.svf-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 40%;
  opacity: 0.22;
  filter: brightness(0.7) saturate(0.8) contrast(1.05);
}

.svf-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 48% 58% at 20% 50%, rgba(245, 247, 250, 0.035), transparent 72%),
    radial-gradient(ellipse 44% 56% at 80% 48%, rgba(34, 195, 214, 0.11), transparent 74%),
    linear-gradient(90deg, rgba(2, 8, 15, 0.78) 0%, rgba(2, 8, 15, 0.32) 46%, rgba(2, 8, 15, 0.52) 100%),
    linear-gradient(180deg, rgba(2, 8, 15, 0.58) 0%, transparent 30%, transparent 70%, rgba(2, 8, 15, 0.78) 100%);
}

.svf-inner {
  --svf-band: min(76%, 860px);
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  max-width: min(1120px, 100%);
  margin: 0 auto;
  background: transparent;
}

/* 01 — Headline */
.svf-head {
  margin: 0 0 clamp(48px, 6.2vh, 64px);
}

.svf-page .eyebrow {
  margin: 0 0 clamp(12px, 1.6vh, 18px);
  color: rgba(245, 247, 250, 0.4);
  font-size: clamp(0.72rem, 0.85vw, 0.82rem);
  letter-spacing: 0.14em;
}

.page.svf-page:not(.light-page) .eyebrow b,
.svf-page .eyebrow b {
  color: rgba(245, 247, 250, 0.64);
  font-weight: 600;
}

.svf-page .eyebrow span {
  color: rgba(245, 247, 250, 0.32);
  font-weight: 500;
}

.svf-title {
  margin: 0;
  color: rgba(245, 242, 236, 0.96);
  font-size: clamp(2.15rem, 3.6vw + 0.7vh, 3.55rem);
  font-weight: 780;
  line-height: 1.15;
  letter-spacing: -0.015em;
}

.svf-title span {
  color: var(--aqua-bright);
}

/* Soft trails — continuous plant, not a split */
.svf-streams {
  position: absolute;
  inset: 26% 18% 30%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.svf-stream {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  opacity: 0.4;
}

.svf-stream-a {
  left: 26%;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(245, 247, 250, 0.11) 32%,
    rgba(245, 247, 250, 0.05) 70%,
    transparent 100%
  );
}

.svf-stream-b {
  right: 26%;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(34, 195, 214, 0.18) 30%,
    rgba(34, 195, 214, 0.07) 70%,
    transparent 100%
  );
}

/* 02 — Parallel factories: 44 / 12 / 44 inside ~75% band */
.svf-duet {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: clamp(40px, 8%, 72px);
  width: var(--svf-band);
  max-width: 860px;
  margin: 0 auto clamp(38px, 5vh, 52px);
  border: 0;
  align-items: start;
}

.svf-field {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto auto auto;
  align-content: start;
  gap: 0;
  padding: 0;
  border: 0;
  background: transparent;
  min-width: 0;
}

.svf-kicker {
  margin: 0;
  font-size: clamp(0.95rem, 1.08vw, 1.08rem);
  font-weight: 650;
  letter-spacing: 0.08em;
  line-height: 1.3;
}

.svf-kicker-en {
  margin: 4px 0 clamp(14px, 2vh, 18px);
  font-size: clamp(0.62rem, 0.72vw, 0.72rem);
  font-weight: 550;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.svf-field-a .svf-kicker {
  color: rgba(245, 247, 250, 0.58);
}

.svf-field-a .svf-kicker-en {
  color: rgba(245, 247, 250, 0.3);
}

.svf-field-b .svf-kicker {
  color: rgba(34, 195, 214, 0.82);
}

.svf-field-b .svf-kicker-en {
  color: rgba(34, 195, 214, 0.42);
}

.svf-field h3 {
  margin: 0;
  font-size: clamp(1.7rem, 2.55vw, 2.25rem);
  font-weight: 760;
  line-height: 1.15;
  letter-spacing: 0.01em;
  min-height: 1.15em;
}

.svf-label-en {
  margin: 6px 0 clamp(12px, 1.8vh, 16px);
  font-size: clamp(0.62rem, 0.72vw, 0.72rem);
  font-weight: 550;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.svf-field-a h3 {
  color: rgba(245, 242, 236, 0.78);
}

.svf-field-a .svf-label-en {
  color: rgba(245, 247, 250, 0.3);
}

.svf-field-b h3 {
  color: var(--aqua-bright);
}

.svf-field-b .svf-label-en {
  color: rgba(34, 195, 214, 0.45);
}

.svf-body {
  margin: 0;
  max-width: 17em;
  font-size: clamp(0.95rem, 1.05vw + 0.1vh, 1.08rem);
  font-weight: 450;
  line-height: 1.65;
}

.svf-line,
.svf-keep {
  white-space: nowrap;
}

.svf-field-a .svf-body {
  color: rgba(245, 247, 250, 0.54);
}

.svf-field-b .svf-body {
  color: rgba(210, 238, 242, 0.86);
}

.svf-page.stage-2-in .svf-field-a { transition-delay: 0.05s; }
.svf-page.stage-2-in .svf-field-b { transition-delay: 0.16s; }

/* 03 — Transformation bridge */
.svf-bridge {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 14px;
  width: var(--svf-band);
  max-width: 860px;
  margin: 0 auto clamp(34px, 4.5vh, 48px);
}

.svf-bridge-end {
  font-size: clamp(0.68rem, 0.8vw, 0.78rem);
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.2;
  white-space: nowrap;
}

.svf-bridge-from {
  color: rgba(245, 247, 250, 0.28);
}

.svf-bridge-to {
  color: rgba(34, 195, 214, 0.42);
}

.svf-verbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: rgba(245, 247, 250, 0.4);
  font-size: clamp(0.8rem, 0.95vw, 0.92rem);
  font-weight: 550;
  letter-spacing: 0.1em;
  text-align: center;
}

.svf-verbs li[aria-hidden="true"] {
  color: rgba(34, 195, 214, 0.35);
  font-weight: 400;
}

:where(html.js) .svf-page .svf-verbs li:not([aria-hidden]) {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 400ms ease, transform 400ms ease;
}

.svf-page.stage-3-in .svf-verbs li:not([aria-hidden]):nth-child(1) { transition-delay: 0.05s; }
.svf-page.stage-3-in .svf-verbs li:not([aria-hidden]):nth-child(3) { transition-delay: 0.18s; }
.svf-page.stage-3-in .svf-verbs li:not([aria-hidden]):nth-child(5) { transition-delay: 0.3s; }
.svf-page.stage-3-in .svf-verbs li:not([aria-hidden]):nth-child(7) { transition-delay: 0.42s; }

.svf-page.stage-3-in .svf-verbs li:not([aria-hidden]) {
  opacity: 1;
  transform: none;
}

/* 04 — Naming climax */
.svf-name {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  max-width: 36em;
  text-align: center;
}

.svf-name-lead {
  margin: 0 0 8px;
  color: rgba(245, 247, 250, 0.4);
  font-size: clamp(0.85rem, 0.95vw, 0.98rem);
  font-weight: 500;
  letter-spacing: 0.08em;
}

.svf-name-main {
  margin: 0 0 12px;
  color: rgba(245, 242, 236, 0.96);
  font-size: clamp(2.15rem, 3.2vw + 0.45vh, 2.85rem);
  font-weight: 760;
  letter-spacing: 0.04em;
  line-height: 1.15;
}

.svf-name-main span {
  color: var(--aqua-bright);
}

.svf-name-attrs {
  margin: 0;
  color: rgba(34, 195, 214, 0.62);
  font-size: clamp(0.78rem, 0.95vw, 0.92rem);
  font-weight: 500;
  letter-spacing: 0.18em;
}

/* stages */
:where(html.js) .svf-page .stage {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 700ms ease, transform 700ms ease;
}

.svf-page .eyebrow.stage-1 { transition-delay: 0.15s; }
.svf-page .svf-title.stage-1 { transition-delay: 0.3s; }

.svf-page .svf-field-a.stage-2 { transition-delay: 0.05s; }
.svf-page .svf-field-b.stage-2 { transition-delay: 0.16s; }

.svf-page .svf-bridge.stage-3 { transition-delay: 0.05s; }
.svf-page .svf-name.stage-3 { transition-delay: 0.55s; }

.svf-page.stage-1-in .stage-1,
.svf-page.stage-2-in .stage-2,
.svf-page.stage-3-in .stage-3 {
  opacity: 1;
  transform: none;
}

@media (min-width: 1024px) and (max-height: 820px) {
  .svf-page {
    padding-top: clamp(14px, 2.2vh, 24px);
    padding-bottom: clamp(14px, 2vh, 22px);
  }

  .svf-title {
    font-size: clamp(1.85rem, 3vw + 0.5vh, 2.85rem);
  }

  .svf-head {
    margin-bottom: clamp(36px, 4.5vh, 48px);
  }

  .svf-duet {
    margin-bottom: clamp(28px, 3.6vh, 40px);
    column-gap: clamp(32px, 6.5%, 56px);
  }

  .svf-bridge {
    margin-bottom: clamp(26px, 3.4vh, 38px);
  }

  .svf-field h3 {
    font-size: clamp(1.45rem, 2.2vw, 1.9rem);
  }

  .svf-name-main {
    font-size: clamp(1.85rem, 2.7vw + 0.35vh, 2.4rem);
  }
}

@media (min-width: 1024px) and (max-height: 768px) {
  .svf-page {
    padding-top: 12px;
    padding-bottom: 18px;
  }

  .svf-title {
    font-size: clamp(1.7rem, 2.7vw + 0.4vh, 2.4rem);
  }

  .svf-head {
    margin-bottom: 32px;
  }

  .svf-duet {
    margin-bottom: 28px;
  }

  .svf-bridge {
    margin-bottom: 24px;
  }

  .svf-body {
    max-width: 18em;
    font-size: 0.92rem;
  }

  .svf-verbs {
    font-size: 0.78rem;
  }

  .svf-name-main {
    font-size: clamp(1.7rem, 2.4vw + 0.3vh, 2.15rem);
  }
}

/* ===== #wateros 一屏工具页（降调但仍是完整构图） ===== */
.wateros-page {
  background: var(--paper-2);
}

.wateros-inner {
  max-width: 720px;
  margin-left: 0;
  gap: var(--stack-gap);
}

.wateros-line {
  margin: 0;
  max-width: 34em;
  color: var(--on-light-muted);
  font-size: clamp(1.08rem, 1.45vw, 1.24rem);
  line-height: 1.7;
}

.wateros-flow {
  margin: 0;
  color: var(--aqua);
  font-size: clamp(1.1rem, 1.7vw, 1.45rem);
  font-weight: 740;
  letter-spacing: 0.02em;
}

.wateros-close {
  margin: var(--stack-tight) 0 0;
  color: var(--on-light);
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
  font-weight: 800;
}

.deal-line {
  margin: 0;
  font-size: clamp(1.2rem, 2vw, 1.7rem);
  font-weight: 800;
  color: var(--on-dark);
}

/* ===== #fepc 深色工业背景页 =====
   首页叙事节奏的延续：大标题 → 青色价值流（唯一视觉中心）→ 客户三问 → 闭合 → CTA。
   石化炼油夜景做整页背景，深色遮罩保证文字可读。全用现有 token。 */
.fepc-page {
  background: var(--navy-deep);
}

/* 石化夜景背景：整页铺满，左侧压暗保文字可读，右侧透出工业震撼 */
.fepc-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  /* 原设计：石化夜景 */
  background: url("assets/av-bg-petrochemical-night.jpg") center / cover no-repeat;
  opacity: 0.5;
}

.fepc-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(7, 19, 32, 0.96) 0%, rgba(7, 19, 32, 0.84) 42%, rgba(7, 19, 32, 0.3) 74%, rgba(7, 19, 32, 0.12) 100%),
    linear-gradient(180deg, rgba(7, 19, 32, 0.82) 0%, transparent 26%, rgba(7, 19, 32, 0.85) 100%);
}

/* 青色价值流：flex 单行（4 节点 + 3 连线，禁止 4 列 grid 把连线挤成两排） */
.value-flow {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: clamp(8px, 1.4vw, 18px);
  max-width: 920px;
  margin: 0;
}

.value-flow-node {
  position: relative;
  display: grid;
  flex: 1 1 0;
  min-width: 0;
  gap: 6px;
  text-align: center;
}

.value-flow-node b {
  color: var(--aqua-bright);
  font-size: clamp(1.25rem, 2.1vw, 2rem);
  font-weight: 780;
  line-height: 1.2;
}

.value-flow-node span {
  color: var(--on-dark-quiet);
  font-size: 0.78rem;
  font-weight: 640;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.value-flow i {
  flex: 0 0 clamp(20px, 3vw, 40px);
  height: 1px;
  background: linear-gradient(90deg, var(--aqua-bright), rgba(34, 195, 214, 0.25));
}

/* FEPC 内嵌核证轨 */
.fepc-inner {
  max-width: 920px;
  margin-left: 0;
  gap: var(--stack-gap);
}

.fepc-headline {
  display: flex;
  flex-direction: column;
  gap: 0.2em;
  max-width: min(20em, 94vw);
  line-height: 1.28;
}

.fepc-headline-triad {
  color: var(--aqua-bright);
}

.fepc-headline-keep {
  white-space: nowrap;
}

.fepc-page .evidence-manifesto {
  margin: 0;
  color: var(--on-dark);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 800;
  line-height: 1.3;
}

.fepc-page .evidence-manifesto span { color: var(--aqua-bright); }

.evidence-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10px, 1.6vw, 18px);
  max-width: 920px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.evidence-rail li {
  padding-top: 14px;
  border-top: 1px solid var(--line-dark);
}

.evidence-rail b {
  display: block;
  margin-bottom: 6px;
  color: var(--aqua-bright);
  font-size: clamp(0.95rem, 1.3vw, 1.12rem);
  font-weight: 760;
  letter-spacing: 0.02em;
}

.evidence-rail span {
  color: var(--on-dark-muted);
  font-size: clamp(1.05rem, 1.4vw, 1.22rem);
  font-weight: 700;
}

/* ===== #action 终幕：品牌 + 邀请 一屏 ===== */
.action-page {
  text-align: center;
  background: var(--navy-deep);
}

.action-bg {
  /* 原设计无整页实拍底；现场图待你指定空白位后再补 */
  display: none;
}

.action-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(7,19,32,0.78) 0%, rgba(7,19,32,0.55) 45%, rgba(7,19,32,0.9) 100%),
    radial-gradient(ellipse 70% 55% at 50% 42%, rgba(8,145,178,0.08), transparent 62%);
}

.action-inner {
  z-index: 2;
  gap: clamp(16px, 2.4vh, 24px);
}

.about-logo {
  width: auto;
  height: clamp(56px, 7vw, 84px);
  max-width: min(480px, 78vw);
  margin-bottom: 4px;
}

.about-line {
  margin: 0 0 clamp(12px, 2vh, 20px);
  color: var(--on-dark-muted);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 680;
  letter-spacing: 0.04em;
}

.invite-line {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.28em;
  margin: 0 auto;
  max-width: min(22rem, 92vw);
  color: var(--on-dark);
  font-size: clamp(1.35rem, 2.5vw, 1.95rem);
  font-weight: 720;
  line-height: 1.55;
  text-wrap: balance;
}

.invite-line-row {
  display: block;
}

.invite-line-service {
  white-space: nowrap;
}

.invite-line-practitioner {
  margin-top: 0.12em;
}

.invite-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-top: 4px;
  color: var(--aqua-bright);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  transition: transform 180ms ease, color 180ms ease;
}

.invite-arrow:hover {
  color: var(--on-dark);
  transform: translateX(4px);
}

/* 4.4 · pill-cta 按钮（表单保留） */
.pill-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 999px;
  background: var(--aqua);
  color: #fff;
  padding: 15px 34px;
  font-size: 1.12rem;
  font-weight: 760;
  transition: background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.pill-cta:hover {
  background: var(--aqua-deep);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(8,145,178,.28);
}

/* ===== #diagnosis-form 浅色 + 4.5 表单规格 ===== */
.form-page {
  align-items: flex-start;
  overflow: visible;
  background: var(--paper);
}

.form-inner { max-width: 1120px; }

.diagnosis-form {
  display: grid;
  gap: 22px;
}

.diagnosis-form fieldset {
  border: 1px solid var(--line-light);
  border-radius: 10px;
  background: var(--panel-light);
  padding: clamp(18px, 3vw, 30px);
}

.diagnosis-form legend {
  padding: 0 10px;
  color: var(--aqua);
  font-weight: 780;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.diagnosis-form label {
  display: grid;
  gap: 8px;
  color: var(--on-light-muted);
  font-size: 0.95rem;
  font-weight: 680;
}

.diagnosis-form input,
.diagnosis-form textarea {
  width: 100%;
  border: 1px solid var(--line-light);
  border-radius: 8px;
  background: var(--panel-light);
  color: var(--on-light);
  padding: 12px 14px;
  font: inherit;
  line-height: 1.45;
}

.diagnosis-form textarea { resize: vertical; }

.diagnosis-form input:focus,
.diagnosis-form textarea:focus {
  outline: none;
  border-color: var(--aqua);
  box-shadow: 0 0 0 3px rgba(8,145,178,.15);
}

.diagnosis-form input::placeholder,
.diagnosis-form textarea::placeholder {
  color: var(--on-light-quiet);
  opacity: 1;
}

.check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 6px 0 18px;
}

.check-grid label {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line-light);
  border-radius: 8px;
  background: var(--panel-light);
  padding: 12px 14px;
  color: var(--on-light-muted);
}

.check-grid input { width: auto; accent-color: var(--aqua); }

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

/* 4.4 · ghost-btn 次要按钮 */
.ghost-btn {
  border: 1px solid var(--aqua);
  border-radius: 999px;
  background: transparent;
  color: var(--aqua);
  cursor: pointer;
  padding: 15px 26px;
  font-weight: 760;
  transition: background 160ms ease;
}

.ghost-btn:hover {
  background: rgba(8,145,178,0.08);
}

.page:not(.light-page) .ghost-btn {
  border-color: var(--aqua-bright);
  color: var(--aqua-bright);
}

.form-note {
  margin: 0;
  color: var(--on-light-quiet);
  font-size: 0.92rem;
}

/* ===== Footer ===== */
.site-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 20px;
  border-top: 1px solid var(--line-dark);
  background: var(--navy-deep);
  padding: 24px clamp(20px, 5vw, 72px);
  color: var(--on-dark-quiet);
  font-size: 0.9rem;
}

.site-footer a { color: var(--aqua-bright); }

/* ===== Responsive ===== */
@media (max-width: 1180px) {
  :root { --header-h: 88px; }

  .site-header {
    flex-wrap: nowrap;
    gap: 8px;
  }

  .brand {
    flex: 1 1 auto;
    min-width: 0;
  }

  .brand-logo {
    max-width: 100%;
  }

  .nav-search {
    order: 2;
    margin-left: auto;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
  }

  .menu-toggle {
    display: inline-flex;
    order: 3;
    min-width: 44px;
    min-height: 44px;
    flex: 0 0 auto;
  }

  .site-nav { order: 4; }

  .site-nav {
    position: fixed;
    top: var(--header-height);
    right: 0;
    left: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    max-height: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
    background: rgba(10,26,46,0.97);
    backdrop-filter: blur(16px);
    transition: max-height 240ms ease;
  }

  .site-nav.is-open {
    max-height: calc(100vh - var(--header-height));
    overflow-y: auto;
    visibility: visible;
    pointer-events: auto;
    border-bottom: 1px solid var(--line-dark);
  }

  .site-nav a {
    padding: 14px clamp(20px, 5vw, 40px);
    border-bottom: 1px solid var(--line-dark);
  }

  .site-nav a span {
    display: block;
  }

  .site-nav .nav-cta {
    margin: 16px clamp(20px, 5vw, 40px) 24px;
    justify-content: center;
  }

  .brand-logo {
    height: clamp(52px, 6.2vw, 66px);
    max-width: min(360px, 58vw);
  }

  .hero-copy {
    width: min(50vw, 600px);
    min-width: 0;
  }

  .hero-visual {
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .hero-visual img {
    object-position: 74% center;
  }

}

/* ===== 紧凑桌面（约 900px 高视口）===== */
@media (min-width: 1024px) and (max-height: 980px) {
  :root {
    --stage-gap-top: clamp(32px, 4vh, 44px);
    --page-pad-top: var(--stage-gap-top);
    --page-pad-bottom: 28px;
  }

  .page {
    padding-left: clamp(20px, 4vw, 56px);
    padding-right: clamp(20px, 4vw, 56px);
  }

  .site-header {
    padding-left: clamp(20px, 4vw, 56px);
  }

  .page-inner {
    max-width: 1040px;
  }

  /* Why Now 必须宽于 1040：同特异性后置 .page-inner 会覆盖前置 .whynow-inner */
  .whynow-page .page-inner.whynow-inner {
    max-width: 1400px;
    margin-inline: auto;
  }

  /* 矮视口：先压间距，再轻微压标题 */
  .hero-page {
    padding-top: calc(var(--header-height) + clamp(28px, 4vh, 48px));
    padding-bottom: 32px;
  }

  .hero-page .hero-title {
    font-size: clamp(3.6rem, 5.6vw, 5.8rem);
    line-height: 0.96;
  }

  .hero-page .hero-subtitle {
    margin-top: 18px;
    font-size: clamp(1.5rem, 2.3vw, 2.3rem);
  }

  .hero-page .manifesto {
    margin-top: clamp(28px, 3.6vh, 42px);
    font-size: clamp(1rem, 1.25vw, 1.25rem);
  }

  .hero-page .hero-close {
    margin-top: clamp(16px, 2.2vh, 24px);
    font-size: clamp(1rem, 1.25vw, 1.25rem);
  }

  .hero-page .solid-cta {
    margin-top: clamp(28px, 3.4vh, 40px);
    padding: 11px 18px;
  }
}

/* 更矮视口（720 屏 / 缩小窗口）首屏继续收紧 */
@media (min-width: 1024px) and (max-height: 760px) {
  .hero-page {
    padding-top: calc(var(--header-height) + clamp(18px, 2.8vh, 32px));
    padding-bottom: 24px;
  }

  .hero-page .hero-title {
    font-size: clamp(3rem, 4.8vw, 4.6rem);
  }

  .hero-page .hero-subtitle {
    margin-top: 14px;
    font-size: clamp(1.35rem, 2vw, 1.9rem);
  }

  .hero-page .manifesto {
    margin-top: clamp(20px, 2.8vh, 32px);
  }

  .hero-page .hero-close {
    margin-top: 14px;
  }

  .hero-page .asset-line {
    font-size: clamp(1.1rem, 1.5vw, 1.5rem);
  }

  .hero-page .solid-cta {
    margin-top: 22px;
  }
}

@media (max-width: 768px) {
  :root {
    --header-h: 88px;
    --stage-pad-x: 20px;
    --stage-gap-top: clamp(24px, 3.5vh, 32px);
    --page-pad-top: var(--stage-gap-top);
  }

  .site-header {
    height: var(--header-h);
    min-height: var(--header-h);
    padding: max(env(safe-area-inset-top), 0px) 18px 0 20px;
    overflow: visible;
  }

  .brand-logo {
    height: 48px;
    max-width: 100%;
  }

  .page {
    min-height: calc(100svh - var(--header-h));
    flex-direction: column;
    align-items: stretch;
    padding: var(--page-pad-top) 20px 48px;
  }

  .hero-page {
    min-height: 100svh;
    min-height: 100dvh;
    padding-top: calc(var(--header-h) + clamp(16px, 3vh, 28px));
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
  }

  .hero-page .page-inner {
    justify-content: flex-end;
  }

  /* Mobile: Chinese first, English secondary — not a shrunk desktop */
  .hero-page .manifesto {
    display: flex;
    flex-direction: column;
    margin-top: clamp(24px, 3.6vh, 36px);
    gap: 0;
    font-size: 1.02rem;
  }

  .hero-page .manifesto-zh {
    order: -1;
    border-left: 0;
    padding-left: 0;
    margin-bottom: 0;
    color: rgba(245, 247, 250, 0.82);
  }

  .hero-page .manifesto-en {
    order: 0;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid rgba(34, 195, 214, 0.28);
    color: rgba(245, 247, 250, 0.58);
  }

  .hero-page .hero-close {
    margin-top: clamp(18px, 2.8vh, 26px);
  }

  .hero-page .solid-cta {
    margin-top: clamp(24px, 3.2vh, 36px);
    width: auto;
    max-width: 100%;
    min-height: 44px;
    align-self: flex-start;
  }

  /* Mobile: full-bleed Earth; arc/sunrise toward upper-right */
  .hero-page::before {
    background:
      radial-gradient(
        ellipse 130% 72% at 42% 86%,
        rgba(2, 12, 22, 0.92) 0%,
        rgba(2, 12, 22, 0.55) 40%,
        rgba(2, 12, 22, 0.16) 66%,
        transparent 84%
      ),
      linear-gradient(
        180deg,
        rgba(2, 12, 22, 0.22) 0%,
        rgba(2, 12, 22, 0.14) 26%,
        rgba(2, 12, 22, 0.58) 58%,
        rgba(2, 12, 22, 0.9) 100%
      ),
      rgba(1, 9, 17, 0.12);
  }

  .hero-page::after {
    background:
      radial-gradient(ellipse 55% 42% at 88% 16%, rgba(1, 9, 17, 0.18) 0%, transparent 62%),
      linear-gradient(180deg, rgba(1, 9, 17, 0.18) 0%, transparent 18%, transparent 100%),
      radial-gradient(ellipse 80% 50% at 72% 14%, rgba(8, 145, 178, 0.07), transparent 55%);
  }

  .hero-visual {
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .hero-visual::after {
    content: none;
  }

  .hero-visual img {
    object-position: 68% 22%;
  }

  .hero-copy {
    width: 100%;
    min-width: 0;
    background: transparent;
  }

  .hero-page .hero-title,
  .hero-title {
    font-size: clamp(3rem, 13vw, 4.25rem);
    line-height: 0.98;
  }

  .hero-page .hero-subtitle,
  .hero-subtitle {
    margin-top: clamp(16px, 2.4vh, 22px);
    font-size: clamp(1.47rem, 6.44vw, 1.96rem);
    font-weight: 600;
  }

  .hero-page .reveal {
    transform: translateY(6px);
  }

  /* Mission mobile: icon-only assistant */
  body.on-mission .av-fab {
    width: 46px;
    height: 46px;
    min-width: 46px;
    padding: 0 !important;
    border-radius: 50% !important;
    justify-content: center;
    gap: 0;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    font-size: 0 !important;
    opacity: 0.42;
  }

  body.on-mission .av-fab > span:not(.av-dot) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  body.on-mission .av-fab .av-dot {
    width: 10px;
    height: 10px;
    opacity: 0.85;
    transform: none;
  }

  .menu-toggle {
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }

  .manifesto {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 28px;
    font-size: 0.95rem;
  }

  .manifesto > div + div {
    border-top: 1px solid rgba(34, 195, 214, 0.35);
    border-left: 0;
    padding-top: 16px;
    padding-left: 0;
  }

  .hero-close {
    margin-top: 24px;
  }

  .hero-page .solid-cta {
    margin-top: 32px;
  }

  .solid-cta {
    width: 100%;
    min-width: 0;
  }

  .problem-page {
    padding-top: clamp(20px, 3.5vh, 32px);
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }

  .problem-bg {
    width: 100%;
    opacity: 0.9;
    background-position: 78% 18%;
    filter: brightness(1.18) contrast(1.06) saturate(1.08);
  }

  .problem-page::before {
    background:
      radial-gradient(
        ellipse 90% 55% at 50% 100%,
        rgba(6, 16, 24, 0.55) 0%,
        transparent 60%
      ),
      linear-gradient(
        180deg,
        rgba(6, 16, 24, 0.55) 0%,
        rgba(6, 16, 24, 0.72) 38%,
        rgba(6, 16, 24, 0.9) 100%
      ),
      linear-gradient(
        90deg,
        rgba(6, 16, 24, 0.55) 0%,
        rgba(6, 16, 24, 0.2) 55%,
        transparent 100%
      );
  }

  .problem-bg::after {
    left: 10%;
    right: 10%;
    bottom: 28%;
    opacity: 0.4;
  }

  .problem-copy {
    width: 100%;
    max-width: none;
  }

  .problem-page .section-title {
    max-width: 12em;
    font-size: clamp(1.55rem, 6.4vw, 2.15rem);
    line-height: 1.28;
  }

  .metric-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 16px;
    margin-top: clamp(16px, 2.4vh, 22px);
    font-size: clamp(0.8rem, 3.2vw, 0.9rem);
  }

  .metric-list li {
    white-space: normal;
  }

  /* 单行优先；窄屏略收字距，避免「道」孤行 */
  .nobody {
    margin-top: clamp(22px, 3.5vh, 32px);
    font-size: clamp(1.45rem, 6.4vw, 1.95rem);
    letter-spacing: 0.14em;
    white-space: nowrap;
    max-width: none;
  }

  .problem-tail {
    margin-top: clamp(24px, 4vh, 36px);
    max-width: none;
  }

  .problem-tail-lead {
    font-size: clamp(0.95rem, 3.6vw, 1.05rem);
  }

  .problem-tail-ask {
    font-size: clamp(1.12rem, 4.2vw, 1.28rem);
  }

  .section-title {
    font-size: clamp(2rem, 9vw, 3.3rem);
  }

  .fepc-page .fepc-headline {
    font-size: clamp(1.35rem, 5.8vw, 2.15rem);
    line-height: 1.32;
    max-width: min(18em, 94vw);
  }

  .fepc-headline-lead {
    white-space: nowrap;
    font-size: clamp(1.05rem, 4.8vw, 1.55rem);
  }

  .fepc-headline-triad {
    font-size: clamp(1.2rem, 5.4vw, 1.85rem);
  }

  .whynow-page {
    padding-top: clamp(18px, 3vh, 28px);
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
  }

  .whynow-bg img {
    object-position: 70% 40%;
    opacity: 0.32;
  }

  .whynow-page .page-inner.whynow-inner {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 3.2vh, 28px);
    max-width: none;
  }

  .whynow-copy,
  .whynow-close,
  .whynow-evidence {
    max-width: none;
  }

  .whynow-line1 {
    font-size: clamp(1.45rem, 6.2vw, 1.9rem);
  }

  .whynow-line2 {
    font-size: clamp(1.08rem, 4.6vw, 1.28rem);
  }

  .whynow-line2-b {
    display: block;
  }

  .whynow-line3 {
    font-size: clamp(1.12rem, 4.8vw, 1.32rem);
  }

  .whynow-assist {
    margin-top: clamp(12px, 1.8vh, 16px);
    font-size: clamp(0.98rem, 3.8vw, 1.1rem);
  }

  .whynow-stage {
    position: relative;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .wn-field {
    position: relative;
    height: 0;
    margin: 0;
  }

  .wn-svg {
    display: none;
  }

  .wn-forces {
    position: relative;
    display: grid;
    gap: 0;
    inset: auto;
    padding: 4px 0 8px 18px;
    border-left: 1px solid rgba(34, 195, 214, 0.22);
  }

  .wn-force {
    position: relative;
    inset: auto;
    max-width: none;
    padding: 8px 0 10px;
    text-align: left;
  }

  .wn-force span {
    font-size: 0.74rem;
  }

  .wn-force-2,
  .wn-force-4 {
    text-align: left;
  }

  .wn-now {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    margin: 0;
    padding: 10px 0 0 18px;
    border-left: 1px solid rgba(34, 195, 214, 0.22);
    justify-items: start;
    text-align: left;
  }

  .whynow-page.stage-2-in .wn-now.stage-2 {
    transform: none;
  }

  .wn-now strong {
    letter-spacing: 0.22em;
    font-size: clamp(1.1rem, 4.8vw, 1.35rem);
  }

  .whynow-close {
    font-size: clamp(1rem, 4.2vw, 1.18rem);
  }

  .assetchain-page {
    padding-top: clamp(14px, 2.4vh, 22px);
    padding-bottom: calc(52px + env(safe-area-inset-bottom, 0px));
  }

  .ac-head {
    max-width: none;
    margin-bottom: clamp(8px, 1.4vh, 14px);
  }

  .ac-line1 {
    font-size: clamp(1.4rem, 6vw, 1.85rem);
  }

  .ac-line2 {
    font-size: clamp(0.95rem, 4vw, 1.12rem);
  }

  /* Mobile: keep ASSET_CHAIN_CORE_VISUAL — crop to continuous local view */
  .ac-core {
    width: 100%;
    height: clamp(148px, 28vh, 220px);
    margin: 0;
  }

  .ac-core-visual {
    object-fit: cover;
    object-position: 18% center;
    width: 140%;
    max-width: none;
    margin-left: -8%;
    animation: ac-mobile-pan 14s ease-in-out 1 both;
  }

  .ac-econ {
    font-size: 0.72rem;
    letter-spacing: 0.02em;
    line-height: 1.6;
  }

  .ac-causes {
    gap: 2px 6px;
    font-size: 0.68rem;
    margin-top: 8px;
  }

  .ac-ledger {
    margin-top: 8px;
  }

  .ac-close {
    max-width: none;
    margin-top: clamp(12px, 2vh, 18px);
    font-size: clamp(1.05rem, 4.4vw, 1.25rem);
    text-align: left;
  }

  @keyframes ac-mobile-pan {
    0% { object-position: 8% center; }
    100% { object-position: 86% center; }
  }

  @media (prefers-reduced-motion: reduce) {
    .ac-core-visual {
      animation: none;
      object-position: center center;
      width: 100%;
      margin-left: 0;
      object-fit: contain;
    }
  }

  .svf-page {
    padding-top: clamp(16px, 2.8vh, 24px);
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
  }

  .svf-bg img {
    opacity: 0.18;
    object-position: 60% 30%;
  }

  .svf-streams {
    display: none;
  }

  .svf-inner {
    --svf-band: 100%;
  }

  .svf-head {
    margin-bottom: clamp(28px, 4vh, 40px);
  }

  .svf-title {
    font-size: clamp(1.85rem, 8vw, 2.45rem);
  }

  .svf-duet {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: none;
    column-gap: 0;
    row-gap: clamp(28px, 4.2vh, 40px);
    margin-bottom: clamp(28px, 4vh, 40px);
  }

  .svf-kicker {
    font-size: clamp(0.98rem, 4.2vw, 1.08rem);
  }

  .svf-field h3 {
    font-size: clamp(1.6rem, 6.8vw, 2rem);
  }

  .svf-body {
    max-width: 18em;
  }

  .svf-line {
    white-space: normal;
  }

  .svf-bridge {
    width: 100%;
    max-width: none;
    flex-direction: column;
    gap: 10px;
    margin-bottom: clamp(28px, 3.8vh, 40px);
  }

  .svf-bridge-end {
    font-size: 0.7rem;
  }

  .svf-verbs {
    gap: 6px 10px;
  }

  .svf-name-main {
    font-size: clamp(1.95rem, 7.6vw, 2.45rem);
  }

  .action-inner {
    gap: 16px;
  }

  .practitioner-page .action-inner {
    width: 100%;
    max-width: min(100%, 26rem);
    margin-inline: auto;
    padding-inline: 4px;
    gap: clamp(12px, 2.8vh, 18px);
  }

  .practitioner-page .about-logo {
    height: clamp(46px, 11vw, 68px);
    max-width: min(88vw, 360px);
  }

  .practitioner-page .about-line {
    margin-bottom: 8px;
    font-size: clamp(1rem, 4.2vw, 1.25rem);
  }

  .invite-line {
    font-size: clamp(1.05rem, 4.6vw, 1.5rem);
    line-height: 1.62;
    max-width: min(20rem, 94vw);
  }

  .practitioner-corp {
    font-size: clamp(0.82rem, 3.6vw, 0.92rem);
    line-height: 1.55;
    max-width: 18rem;
    margin-inline: auto;
  }

  .practitioner-proof {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    font-size: clamp(0.82rem, 3.4vw, 0.92rem);
    letter-spacing: 0.08em;
    line-height: 1.5;
  }

  .evidence-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
  }

  /* FEPC：中等屏仍单行 flex */
  .value-flow {
    gap: clamp(6px, 1.5vw, 14px);
    margin-top: clamp(14px, 2vh, 22px);
    margin-bottom: clamp(14px, 2vh, 22px);
  }

  .value-flow-node b {
    font-size: clamp(1.05rem, 3.2vw, 1.45rem);
  }

  .form-grid,
  .check-grid { grid-template-columns: 1fr; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .form-actions > * { width: 100%; }
}

@media (max-width: 420px) {
  .site-nav a { padding-top: 12px; padding-bottom: 12px; }
  .hero-page { padding-top: calc(var(--header-height) + 24px); }
  .hero-visual {
    inset: 0;
    width: 100%;
    height: 100%;
  }
  /* FEPC 真手机窄屏：价值流竖排 */
  .value-flow {
    flex-direction: column;
    gap: 6px;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 14px;
    margin-bottom: 18px;
  }

  .value-flow i {
    flex: 0 0 16px;
    width: 1px;
    height: 16px;
    margin: 0 auto;
    background: linear-gradient(180deg, var(--aqua-bright), rgba(34,195,214,0.25));
  }

  .value-flow-node b {
    font-size: 1.2rem;
  }

  .evidence-rail {
    grid-template-columns: 1fr 1fr;
  }

  .practitioner-page .invite-line {
    font-size: clamp(0.98rem, 4.2vw, 1.18rem);
    line-height: 1.68;
  }

  .practitioner-page .invite-line-service {
    font-size: clamp(0.92rem, 3.9vw, 1.12rem);
    letter-spacing: -0.01em;
  }

  .practitioner-page .practitioner-corp {
    max-width: 16rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .reveal,
  .problem-page .stage,
  .problem-page .metric-list.stage-1 li,
  .problem-page .problem-tail-lead,
  .problem-page .problem-tail-ask,
  .whynow-page .stage:not(.wn-now),
  .whynow-page .wn-force,
  .whynow-page .whynow-close.stage-3 p,
  .assetchain-page .stage {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }

  .assetchain-page .ac-core-visual {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .svf-page .stage,
  .svf-page .svf-verbs li:not([aria-hidden]) {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }


  .whynow-page .wn-path {
    stroke-dashoffset: 0 !important;
    stroke: rgba(34, 195, 214, 0.25) !important;
    transition: none !important;
  }

  .whynow-page .wn-now.stage-2 {
    opacity: 1 !important;
    transform: translate(-50%, -40%) !important;
  }

  @media (max-width: 768px) {
    .whynow-page .wn-now.stage-2 {
      transform: none !important;
    }
  }

  .problem-page .eyebrow.stage-1,
  .problem-page .section-title.stage-1,
  .problem-page .metric-list.stage-1,
  .problem-page .metric-list.stage-1 li {
    transition-delay: 0s !important;
  }
  .problem-bg {
    opacity: 0.9;
    transform: none;
    transition: none;
  }
  .hero-visual {
    opacity: 1;
    animation: none;
  }
  .hero-page .reveal,
  .hero-page .reveal.in {
    opacity: 1;
    transform: none;
    transition: none;
    transition-delay: 0s;
  }
}

@media (max-width: 768px) {
  .whynow-page .wn-now,
  .whynow-page .wn-now.stage-2 {
    transform: none !important;
  }
}

/* ===== A11y (unchanged from v4) ===== */
.skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  z-index: 100;
  border: 1px solid var(--aqua-bright);
  border-radius: 999px;
  background: var(--navy-deep);
  color: var(--aqua-bright);
  padding: 12px 22px;
  font-weight: 760;
  transition: top 160ms ease;
}

.skip-link:focus-visible {
  top: 14px;
}

a:focus-visible,
button:focus-visible,
.menu-toggle:focus-visible {
  outline: 2px solid var(--aqua-bright);
  outline-offset: 3px;
  border-radius: 4px;
}

[data-landing="pointer"]:focus,
[data-landing="pointer"]:focus-visible {
  outline: none;
}

[data-landing="key"]:focus,
[data-landing="key"]:focus-visible {
  outline: 2px solid var(--aqua-bright);
  outline-offset: 3px;
}

.solid-cta:focus-visible,
.pill-cta:focus-visible,
.ghost-btn:focus-visible,
.nav-cta:focus-visible,
.skip-link:focus-visible {
  outline: 2px solid var(--aqua-bright);
  outline-offset: 3px;
  border-radius: 999px;
}

::selection {
  background: rgba(8, 145, 178, 0.28);
  color: var(--on-dark);
}

.light-page ::selection {
  background: rgba(8, 145, 178, 0.22);
  color: var(--on-light);
}

/* ===== V2 narrative additions ===== */

.verify-triad {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.verify-triad li {
  display: grid;
  gap: 4px;
  padding-top: 12px;
  border-top: 1px solid rgba(34, 195, 214, 0.3);
}

.verify-triad b {
  color: var(--aqua-bright);
  font-size: 1rem;
}

.verify-triad span {
  color: rgba(245, 247, 250, 0.5);
  font-size: 0.9rem;
}

.implementation-page {
  justify-content: flex-start;
  overflow: visible;
  background: var(--navy);
  padding-top: clamp(32px, 4.5vh, 48px);
  padding-bottom: clamp(28px, 3.5vh, 40px);
}

.implementation-inner {
  z-index: 2;
  max-width: min(1100px, 100%);
  gap: clamp(22px, 3.2vh, 36px);
}

.impl-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.8vh, 28px) clamp(28px, 3.5vw, 48px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.impl-steps li {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 16px 0 0;
  border-top: 1px solid rgba(34, 195, 214, 0.22);
  background: transparent;
}

.impl-steps b {
  color: var(--on-dark);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: var(--fw-bold);
}

.impl-steps span {
  color: rgba(245, 247, 250, 0.52);
  font-size: clamp(0.9rem, 1.05vw, 1rem);
  line-height: 1.55;
  max-width: 28em;
}

.impl-note {
  margin: 0;
  color: rgba(245, 247, 250, 0.36);
  font-size: 0.9rem;
}

.fepc-qa {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 28px;
  margin: 0;
}

.fepc-qa div {
  display: grid;
  gap: 6px;
  padding-top: 12px;
  border-top: 1px solid rgba(34, 195, 214, 0.28);
}

.fepc-qa dt {
  color: rgba(245, 247, 250, 0.5);
  font-size: 0.92rem;
  font-weight: var(--fw-regular);
}

.fepc-qa dd {
  margin: 0;
  color: var(--on-dark);
  font-size: 1.15rem;
  font-weight: var(--fw-semibold);
}

.fepc-steps {
  margin: 0;
  color: rgba(245, 247, 250, 0.4);
  font-size: 0.92rem;
  letter-spacing: 0.06em;
}

.evidence-page {
  justify-content: flex-start;
  overflow: visible;
  background: var(--void);
  padding-top: clamp(32px, 4.5vh, 48px);
  padding-bottom: clamp(28px, 3.5vh, 40px);
}

.evidence-inner {
  z-index: 2;
  max-width: min(1120px, 100%);
  gap: clamp(22px, 3.2vh, 36px);
}

.evidence-levels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.5vh, 28px) clamp(22px, 2.8vw, 36px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.evidence-levels li {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 16px 0 0;
  border-top: 1px solid rgba(34, 195, 214, 0.22);
  background: transparent;
}

.evidence-levels b {
  color: var(--aqua-bright);
  font-size: var(--fs-caption);
  letter-spacing: 0.14em;
}

.evidence-levels strong {
  color: var(--on-dark);
  font-size: clamp(1.1rem, 1.4vw, 1.25rem);
  font-weight: var(--fw-bold);
}

.evidence-levels p {
  margin: 0;
  color: rgba(245, 247, 250, 0.52);
  font-size: 0.92rem;
  line-height: 1.6;
}

.evidence-levels .cite {
  display: block;
  margin-top: 6px;
  color: rgba(34, 195, 214, 0.7);
  font-size: 0.82rem;
  border-bottom: 1px solid rgba(34, 195, 214, 0.28);
  width: fit-content;
}

.whynow-evidence .cite {
  display: inline-block;
  margin-top: 6px;
  color: rgba(245, 247, 250, 0.3);
  font-size: 0.74rem;
  border-bottom: 1px solid rgba(245, 247, 250, 0.12);
}

.evidence-levels .badge {
  color: rgba(245, 247, 250, 0.34);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.practitioner-corp {
  margin: 0;
  color: rgba(245, 247, 250, 0.45);
  font-size: 0.95rem;
}

.practitioner-proof {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: rgba(245, 247, 250, 0.55);
  font-size: 0.95rem;
  letter-spacing: 0.12em;
}

.invitation-page {
  justify-content: flex-start;
  overflow: visible;
  background: var(--navy-deep);
  text-align: center;
  padding-top: clamp(32px, 4.5vh, 48px);
  padding-bottom: clamp(28px, 3.5vh, 40px);
}

.invitation-inner {
  z-index: 2;
  flex: 1 1 auto;
  justify-content: center;
  align-items: center;
  max-width: min(720px, 100%);
  margin-inline: auto;
  gap: clamp(22px, 3.2vh, 36px);
}

.invitation-page .page-head {
  align-items: center;
  text-align: center;
}

.invitation-page .page-question,
.invitation-page .section-title {
  text-align: center;
}

.invite-points {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: rgba(245, 247, 250, 0.58);
  font-size: clamp(1rem, 1.2vw, 1.1rem);
  line-height: 1.6;
  text-align: left;
  width: min(100%, 28em);
}

.invite-foot {
  margin: 0;
  color: rgba(245, 247, 250, 0.36);
  font-size: 0.9rem;
  max-width: 28em;
}

.site-search-assist {
  display: inline-flex;
  flex: 0 0 auto;
  margin-top: 16px;
  border: 1px solid rgba(34, 195, 214, 0.35);
  background: transparent;
  color: var(--aqua-bright);
  padding: 10px 14px;
  font: inherit;
  font-size: 0.88rem;
  cursor: pointer;
}

.site-search-assist:hover {
  border-color: var(--aqua-bright);
  color: var(--on-dark);
}

.utility-body .site-header {
  justify-content: space-between;
}

.utility-back {
  color: rgba(245, 247, 250, 0.55);
  font-size: 0.9rem;
}

.utility-back:hover { color: var(--aqua-bright); }

.utility-body .form-page {
  min-height: auto;
}

.page.implementation-page,
.page.evidence-page,
.page.invitation-page,
.page.verification-page {
  background: var(--navy-deep);
}

.page.implementation-page { background: #071320; }

/* Shared atmospheric field for late narrative pages — fills the right void */
.late-visual {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.late-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 40%;
  opacity: 0.28;
  filter: saturate(0.75) brightness(0.72) contrast(1.05);
}

.verification-page .late-visual img { object-position: 70% 45%; opacity: 0.24; }
.implementation-page .late-visual img { object-position: 68% 38%; opacity: 0.3; }
.evidence-page .late-visual img { object-position: 55% 42%; opacity: 0.26; }
.invitation-page .late-visual img { object-position: 50% 40%; opacity: 0.32; }

.verification-page::before,
.implementation-page::before,
.evidence-page::before,
.invitation-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(7, 19, 32, 0.94) 0%, rgba(7, 19, 32, 0.78) 42%, rgba(7, 19, 32, 0.42) 72%, rgba(7, 19, 32, 0.55) 100%),
    linear-gradient(180deg, rgba(7, 19, 32, 0.55) 0%, transparent 36%, transparent 68%, rgba(7, 19, 32, 0.72) 100%);
}

.invitation-page::before {
  background:
    linear-gradient(180deg, rgba(7, 19, 32, 0.72) 0%, rgba(7, 19, 32, 0.48) 40%, rgba(7, 19, 32, 0.82) 100%),
    radial-gradient(ellipse 70% 55% at 50% 42%, rgba(34, 195, 214, 0.08), transparent 62%);
}

@media (max-width: 900px) {
  .impl-steps,
  .evidence-levels {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .verify-triad,
  .fepc-qa {
    grid-template-columns: 1fr;
  }

  .practitioner-proof {
    flex-direction: column;
    gap: 8px;
  }

  .practitioner-page .action-inner {
    justify-content: center;
    min-height: calc(100svh - var(--header-h) - 96px);
  }

  .late-visual img {
    object-position: 50% 35%;
    opacity: 0.2;
  }

  .verification-page::before,
  .implementation-page::before,
  .evidence-page::before,
  .invitation-page::before {
    background:
      linear-gradient(180deg, rgba(7, 19, 32, 0.55) 0%, rgba(7, 19, 32, 0.72) 40%, rgba(7, 19, 32, 0.94) 100%);
  }

  .invite-points {
    width: 100%;
  }
}

.utility-body .reveal{opacity:1;transform:none}

/* ===== Theory elevation v2 — SVF / FEPC / loss grids ===== */
.loss-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 14px;
  margin: clamp(16px, 2.4vh, 28px) 0 0;
  padding: 0;
  list-style: none;
  max-width: 34rem;
}

.loss-grid li {
  display: grid;
  gap: 2px;
  padding-top: 10px;
  border-top: 1px solid rgba(34, 195, 214, 0.28);
}

.loss-grid b {
  color: var(--aqua-bright);
  font-size: 0.92rem;
  letter-spacing: 0.06em;
}

.loss-grid span {
  color: rgba(245, 247, 250, 0.48);
  font-size: 0.82rem;
  line-height: 1.45;
}

.system-loss-rail,
.svf-loop {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 8px;
  margin: clamp(14px, 2vh, 22px) 0 0;
  padding: 0;
  list-style: none;
}

.system-loss-rail li:not([aria-hidden]),
.svf-loop li:not([aria-hidden]) {
  display: grid;
  gap: 2px;
  text-align: center;
  min-width: 4.5em;
}

.system-loss-rail b,
.svf-loop b {
  color: rgba(245, 247, 250, 0.82);
  font-size: 0.9rem;
  font-weight: var(--fw-semibold);
}

.system-loss-rail span,
.svf-loop span {
  color: rgba(245, 247, 250, 0.38);
  font-size: 0.75rem;
}

.system-loss-rail li[aria-hidden="true"],
.svf-loop li[aria-hidden="true"] {
  color: rgba(34, 195, 214, 0.45);
}

.svf-loop {
  margin-top: clamp(22px, 3vh, 36px);
}

.verify-lead {
  margin: 0;
  color: rgba(245, 247, 250, 0.45);
  font-size: 0.95rem;
  line-height: 1.6;
}

.ledger-five {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: clamp(18px, 2.5vh, 28px) 0 0;
  padding: 0;
  list-style: none;
}

.ledger-five li {
  display: grid;
  gap: 4px;
  padding-top: 12px;
  border-top: 1px solid rgba(34, 195, 214, 0.25);
}

.ledger-five b {
  color: var(--aqua-bright);
  font-size: 0.88rem;
}

.ledger-five span {
  color: rgba(245, 247, 250, 0.42);
  font-size: 0.78rem;
  line-height: 1.45;
}

.fepc-value-triad {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fepc-value-triad li {
  display: grid;
  gap: 8px;
  align-content: start;
  padding-top: 14px;
  border-top: 1px solid rgba(34, 195, 214, 0.32);
}

.fepc-value-triad b {
  color: var(--aqua-bright);
  font-size: 1.05rem;
}

.fepc-value-triad p {
  margin: 0;
  color: rgba(245, 247, 250, 0.52);
  font-size: 0.92rem;
  line-height: 1.6;
}

.fepc-letters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 24px;
  margin: clamp(22px, 3vh, 32px) 0 0;
}

.fepc-letters div {
  display: grid;
  gap: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(245, 247, 250, 0.1);
}

.fepc-letters dt {
  color: var(--aqua-bright);
  font-size: 0.88rem;
  font-weight: var(--fw-semibold);
}

.fepc-letters dd {
  margin: 0;
  color: rgba(245, 247, 250, 0.5);
  font-size: 0.9rem;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .loss-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fepc-value-triad { grid-template-columns: 1fr; }
  .fepc-letters { grid-template-columns: 1fr; }
}

/* ===== Batch B · late pages, scoped to six section IDs ===== */
#verification .verify-lead,
#verification .verify-premise {
  margin: 0;
  max-width: 28em;
  color: var(--on-dark-muted);
  font-size: var(--fs-lead);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
}

#verification .page-judgment,
#wateros .page-judgment,
#evidence .page-judgment {
  font-size: clamp(1.9rem, 3.2vw, 2.6rem);
}

#verification .late-fold .ledger-five {
  grid-template-columns: 1fr;
  margin: 14px 0 0;
  gap: 10px;
}

#verification .late-fold .ledger-five b {
  color: var(--on-dark);
}

#wateros .impl-steps b {
  color: var(--on-dark);
  font-size: clamp(1.15rem, 1.6vw, 1.4rem);
}

#wateros .impl-note {
  color: var(--on-dark-quiet);
  font-size: 0.95rem;
}

#wateros .impl-note-end {
  white-space: nowrap;
}

#fepc .fepc-kicker {
  margin: 0;
  color: var(--on-dark-quiet);
  font-size: var(--fs-caption);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.14em;
}

#fepc .fepc-judgment {
  margin: 0;
  max-width: 14em;
  color: var(--on-dark);
  font-size: clamp(1.9rem, 3.2vw, 2.6rem);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
  letter-spacing: -0.02em;
}

#fepc .fepc-judgment span {
  color: var(--aqua-bright);
}

#fepc .fepc-value-triad b {
  color: var(--on-dark);
}

#fepc .fepc-value-triad p {
  color: var(--on-dark-muted);
  font-size: 0.98rem;
}

#wateros .page-judgment > span,
#fepc .phrase-keep,
#wateros .phrase-keep {
  white-space: nowrap;
}

#fepc .late-fold .fepc-letters,
#fepc .late-fold .fepc-qa {
  margin: 14px 0 0;
}

#fepc .deal-line {
  color: var(--on-dark-muted);
}

#fepc .solid-cta {
  align-self: flex-start;
}

#evidence .evidence-index {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 42em;
}

#evidence .evidence-index li {
  display: grid;
  gap: 6px;
  padding-top: 14px;
  border-top: 1px solid rgba(245, 247, 250, 0.12);
}

#evidence .evidence-index b {
  color: var(--on-dark);
  font-size: 1rem;
  font-weight: var(--fw-semibold);
}

#evidence .evidence-index p {
  margin: 0;
  color: var(--on-dark-muted);
  font-size: 1rem;
  line-height: 1.65;
}

#evidence .evidence-index .cite {
  display: inline-block;
  width: fit-content;
  color: rgba(34, 195, 214, 0.72);
  font-size: 0.88rem;
  border-bottom: 1px solid rgba(34, 195, 214, 0.28);
}

#evidence .evidence-status {
  color: var(--on-dark-quiet);
  font-size: 0.88rem;
}

#practitioner .invite-line {
  margin: 0 auto;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 650;
}

#practitioner .practitioner-proof {
  color: rgba(245, 247, 250, 0.46);
  font-size: 0.88rem;
  letter-spacing: 0.08em;
}

#action.invitation-page .invitation-title {
  margin: 0;
  max-width: 12em;
  color: var(--on-dark);
  font-size: clamp(1.9rem, 4.6vw, 2.55rem);
  font-weight: var(--fw-bold);
  line-height: 1.22;
  letter-spacing: -0.02em;
}

#action.invitation-page .invitation-title span {
  color: var(--aqua-bright);
}

#action.invitation-page .invitation-inner {
  justify-content: flex-start;
  padding-top: clamp(12px, 4vh, 40px);
}

#action.invitation-page .invite-points {
  color: var(--on-dark-muted);
  font-size: 1rem;
}

#action.invitation-page .invite-foot {
  color: var(--on-dark-quiet);
  font-size: 0.95rem;
}

#verification .late-fold,
#wateros .late-fold,
#fepc .late-fold {
  margin: 0;
  max-width: 42em;
  border-top: 1px solid rgba(245, 247, 250, 0.12);
}

#verification .late-fold summary,
#wateros .late-fold summary,
#fepc .late-fold summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  color: var(--on-dark-muted);
  font-size: 0.95rem;
  cursor: pointer;
  list-style: none;
}

#verification .late-fold summary::-webkit-details-marker,
#wateros .late-fold summary::-webkit-details-marker,
#fepc .late-fold summary::-webkit-details-marker {
  display: none;
}

#verification .late-fold summary::before,
#wateros .late-fold summary::before,
#fepc .late-fold summary::before {
  content: "▸";
  color: var(--aqua-bright);
  font-size: 0.8rem;
}

#verification .late-fold[open] summary::before,
#wateros .late-fold[open] summary::before,
#fepc .late-fold[open] summary::before {
  content: "▾";
}

#verification .late-fold summary::after,
#wateros .late-fold summary::after,
#fepc .late-fold summary::after {
  content: "展开";
  margin-left: auto;
  color: var(--on-dark-quiet);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}

#verification .late-fold[open] summary::after,
#wateros .late-fold[open] summary::after,
#fepc .late-fold[open] summary::after {
  content: "收起";
}

#verification .late-fold summary:focus-visible,
#wateros .late-fold summary:focus-visible,
#fepc .late-fold summary:focus-visible {
  outline: 2px solid var(--aqua-bright);
  outline-offset: 3px;
}

#verification .late-fold[open],
#wateros .late-fold[open],
#fepc .late-fold[open] {
  padding-bottom: 12px;
}

#wateros .late-fold {
  width: 100%;
  max-width: none;
}

#wateros .late-fold .fepc-qa,
#fepc .late-fold .fepc-qa {
  margin: 14px 0 0;
}

#wateros .late-fold .fepc-qa dt {
  color: var(--on-dark);
  font-weight: var(--fw-semibold);
}

#wateros .late-fold .fepc-qa dd {
  color: var(--on-dark-muted);
  font-size: 1rem;
  font-weight: var(--fw-regular);
  line-height: 1.65;
}

#wateros .late-fold .impl-note {
  width: auto;
  margin: 14px 0 0;
  color: var(--on-dark-quiet);
  text-align: left;
}

#fepc .fepc-fullname,
#fepc .fepc-path-note {
  margin: 12px 0 0;
  color: var(--on-dark-quiet);
  font-size: 0.9rem;
  line-height: 1.6;
}

#fepc .fepc-path {
  margin: 14px 0 0;
  color: var(--on-dark);
  font-size: 0.95rem;
  line-height: 1.6;
}

#svf .svf-field-b .svf-object {
  margin-top: 4px;
  color: var(--on-dark-quiet);
  font-size: clamp(0.88rem, 0.95vw, 0.96rem);
  line-height: 1.35;
}

@media (max-width: 768px) {
  #verification .page-judgment,
  #wateros .page-judgment,
  #evidence .page-judgment,
  #fepc .fepc-judgment,
  #action.invitation-page .invitation-title {
    font-size: clamp(1.85rem, 7.2vw, 2.25rem);
  }

  #fepc .fepc-value-triad,
  #wateros .impl-steps {
    grid-template-columns: 1fr;
  }

  #fepc {
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
  }

  #fepc .fepc-inner {
    gap: 16px;
  }

  #fepc .solid-cta {
    width: auto;
    min-width: 236px;
    max-width: calc(100% - 76px);
  }
}

@media (min-width: 1024px) and (max-height: 800px) {
  .wn-force-3 { max-width: 20em; }
}

/* 2026-09-17 · 两页排版收束：仅核证与实施，保留 07:42 版内容与视觉资产。 */
#verification,
#wateros {
  /* 用阅读组的参考高度分配留白；展开五本账不会把标题向上推。 */
  padding-top: max(40px, calc((100svh - var(--header-h) - 480px) / 2));
  padding-bottom: clamp(56px, 7vh, 88px);
}

#verification .verification-inner,
#wateros .implementation-inner {
  max-width: 1120px;
  margin-inline: auto;
  gap: clamp(28px, 4vh, 44px);
}

#verification .page-head,
#wateros .page-head {
  justify-items: center;
  text-align: center;
}

#verification .page-judgment,
#wateros .page-judgment {
  max-width: 100%;
  text-wrap: balance;
}

#verification .verify-lead,
#verification .verify-premise {
  max-width: none;
  text-align: center;
  text-wrap: balance;
}

#verification .proof-chain {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(20px, 3vw, 44px);
}

#verification .proof-chain > li {
  min-width: 0;
  padding: 22px 0 14px;
  gap: 8px;
  text-align: center;
}

#verification .proof-chain > li[aria-hidden="true"] {
  display: none;
}

#verification .proof-chain span {
  font-size: clamp(0.68rem, 0.85vw, 0.8rem);
  letter-spacing: 0.06em;
}

#verification .late-fold {
  width: 100%;
  max-width: none;
}

#verification .late-fold summary {
  min-height: 56px;
}

#verification .late-fold .ledger-five li {
  grid-template-columns: 6em minmax(0, 1fr);
  gap: 20px;
  align-items: baseline;
}

#wateros .impl-steps {
  grid-auto-rows: 1fr;
  gap: 0 clamp(40px, 5vw, 72px);
}

#wateros .impl-steps > li {
  min-width: 0;
  min-height: 144px;
  padding: 22px 0 28px;
  gap: 12px;
}

#wateros .impl-steps > li > span {
  max-width: none;
  line-height: 1.75;
  text-wrap: pretty;
}

#wateros .impl-note {
  text-align: center;
  text-wrap: balance;
}

#wateros .page-judgment > span {
  white-space: normal;
}

@media (max-width: 900px) {
  #verification,
  #wateros {
    padding-top: 40px;
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
  }

  #verification .verification-inner,
  #wateros .implementation-inner {
    max-width: 640px;
    gap: 28px;
  }

  #verification .proof-chain {
    grid-template-columns: 1fr;
    gap: 0;
  }

  #verification .proof-chain > li {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    padding: 16px 0;
    text-align: left;
  }

  #verification .proof-chain span {
    font-size: 0.75rem;
    text-align: right;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  #wateros .impl-note {
    width: calc(100% - 64px);
    margin-inline: auto;
  }

  #wateros .impl-steps {
    grid-auto-rows: auto;
  }

  #wateros .impl-steps > li {
    min-height: 0;
    padding: 20px 0 26px;
    gap: 10px;
  }
}

@media (max-width: 600px) {
  #verification .verify-premise > span {
    display: block;
  }

  #verification .page-judgment > span,
  #wateros .page-judgment > span {
    display: block;
  }

  #verification .late-fold .ledger-five li {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}


/* ============================================================
   v6 · 四页版面重构（#whynow / #svf / #fepc / #action）
   统一语言：一条左轴 + 工程制图基元（细线 / 编号 / 刻度 / 单一青色重音）。
   Mission 冻结页不动；不新增颜色、字体、间距 token。
   ============================================================ */

#whynow,
#svf,
#fepc,
#action {
  --rule: rgba(245, 247, 250, 0.12);
  --rule-accent: rgba(34, 195, 214, 0.34);
  --idx: rgba(34, 195, 214, 0.62);
  --idx-size: clamp(0.68rem, 0.78vw, 0.78rem);
}

/* 键盘落点提示：改为标题左侧青色竖条，取代包住整行标题的方框 */
[data-landing="key"]:focus,
[data-landing="key"]:focus-visible {
  position: relative;
  outline: none;
}

[data-landing="key"]:focus::before,
[data-landing="key"]:focus-visible::before {
  content: "";
  position: absolute;
  left: clamp(-22px, -1.4vw, -14px);
  top: 0.12em;
  bottom: 0.12em;
  width: 3px;
  background: var(--aqua-bright);
}

/* Header：加厚压暗，避免下方页面文字透过毛玻璃糊在导航区
   （Mission 冻结页由 body.on-mission 保留原本通透质感，不受影响） */
.site-header {
  background: linear-gradient(
    180deg,
    rgba(1, 9, 17, 0.93) 0%,
    rgba(1, 9, 17, 0.78) 58%,
    rgba(1, 9, 17, 0.4) 100%
  );
  backdrop-filter: blur(14px) saturate(118%);
  -webkit-backdrop-filter: blur(14px) saturate(118%);
}

/* ========== #whynow · 左判断 / 右汇聚轨 ========== */
#whynow .whynow-inner {
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 0.47fr) minmax(0, 0.53fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "copy  stage"
    "close stage"
    "evidence evidence";
  align-content: stretch;
  gap: clamp(18px, 2.6vh, 30px) clamp(44px, 5.5vw, 88px);
  max-width: 1240px;
  margin-inline: 0;
}

#whynow .whynow-copy { max-width: none; }

#whynow .whynow-line1 { font-size: clamp(1.9rem, 2.9vw + 0.4vh, 3.1rem); }
#whynow .whynow-line2 { font-size: clamp(1.25rem, 1.75vw + 0.3vh, 1.72rem); }
#whynow .whynow-line3 { font-size: clamp(1.3rem, 1.9vw + 0.3vh, 1.86rem); }
#whynow .whynow-assist { font-size: clamp(0.98rem, 1.05vw + 0.2vh, 1.14rem); }

#whynow .whynow-close {
  align-self: end;
  max-width: 30em;
  margin-top: clamp(18px, 3vh, 36px);
  padding-top: clamp(16px, 2.2vh, 22px);
  border-top: 1px solid var(--rule);
  font-size: clamp(1.05rem, 1.3vw + 0.2vh, 1.34rem);
}

/* 四股力量挂在一条竖轴上，终点是 NOW —— 取代四角散落的标签 */
#whynow .wn-field { display: none; }

#whynow .whynow-stage {
  --wn-gutter: clamp(26px, 2.8vw, 42px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(12px, 2vh, 22px);
  min-height: 0;
  padding-left: var(--wn-gutter);
  border-left: 1px solid var(--rule);
}

#whynow .wn-forces {
  position: static;
  display: grid;
  gap: clamp(14px, 2.2vh, 24px);
  counter-reset: wnforce;
}

#whynow .wn-force {
  position: relative;
  inset: auto;
  max-width: none;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: clamp(12px, 1.2vw, 18px);
  row-gap: 4px;
  text-align: left;
}

#whynow .wn-force::before {
  counter-increment: wnforce;
  content: counter(wnforce, decimal-leading-zero);
  grid-row: span 2;
  padding-top: 0.22em;
  color: var(--idx);
  font-size: var(--idx-size);
  font-weight: 600;
  letter-spacing: 0.12em;
}

/* 刻度：从竖轴伸向每一行 */
#whynow .wn-force::after {
  content: "";
  position: absolute;
  top: 0.62em;
  left: calc(-1 * var(--wn-gutter));
  width: calc(var(--wn-gutter) - 10px);
  height: 1px;
  background: var(--rule-accent);
}

#whynow .wn-force b {
  color: rgba(245, 247, 250, 0.9);
  font-size: clamp(1.02rem, 1.2vw, 1.2rem);
  font-weight: 620;
  letter-spacing: 0.02em;
}

#whynow .wn-force span {
  color: rgba(245, 247, 250, 0.46);
  font-size: clamp(0.88rem, 1vw, 0.98rem);
  line-height: 1.55;
}

#whynow .wn-now,
#whynow .wn-now.stage-2,
#whynow .whynow-page.stage-2-in .wn-now.stage-2 {
  position: relative;
  inset: auto;
  transform: none;
  justify-items: start;
  text-align: left;
  gap: 4px;
  margin-top: clamp(4px, 1.2vh, 10px);
  padding-top: clamp(14px, 2vh, 20px);
  border-top: 1px solid var(--rule-accent);
}

#whynow .wn-now::before {
  content: "";
  position: absolute;
  top: -4px;
  left: calc(-1 * var(--wn-gutter) - 4px);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--aqua-bright);
  box-shadow: 0 0 0 4px rgba(34, 195, 214, 0.15);
}

#whynow .wn-now strong { letter-spacing: 0.3em; }
#whynow .wn-now span { font-size: clamp(0.82rem, 0.95vw, 0.92rem); }

#whynow .whynow-evidence { max-width: none; margin-top: clamp(10px, 1.8vh, 18px); }
#whynow .whynow-evidence summary { font-size: clamp(0.8rem, 0.9vw, 0.88rem); }

/* ========== #svf · 两座工厂：同一条左轴 ========== */
#svf .svf-inner {
  --svf-band: 100%;
  flex: 1 1 auto;
  max-width: 1240px;
  margin-inline: 0;
}

#svf .svf-streams { display: none; }

#svf .svf-head { margin-bottom: clamp(28px, 4.2vh, 46px); }
#svf .svf-title { font-size: clamp(2.2rem, 3.5vw + 0.5vh, 3.4rem); max-width: 16em; }

#svf .svf-duet {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(24px, 3.6vh, 42px);
  column-gap: clamp(48px, 6.5vw, 104px);
  align-items: start;
}

#svf .svf-field {
  position: relative;
  padding-top: clamp(14px, 2vh, 18px);
  border-top: 1px solid var(--rule);
}

#svf .svf-field-b { border-top-color: rgba(34, 195, 214, 0.45); }

/* 两栏之间的竖向细线 */
#svf .svf-field-b::before {
  content: "";
  position: absolute;
  left: calc(-1 * clamp(24px, 3.25vw, 52px));
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, rgba(34, 195, 214, 0.3), rgba(34, 195, 214, 0.03));
}

#svf .svf-kicker::before {
  margin-right: 10px;
  color: var(--idx);
  font-size: var(--idx-size);
  font-weight: 600;
  letter-spacing: 0.12em;
}

#svf .svf-field-a .svf-kicker::before { content: "01"; }
#svf .svf-field-b .svf-kicker::before { content: "02"; }

#svf .svf-field h3 { font-size: clamp(1.9rem, 2.8vw + 0.2vh, 2.6rem); }
#svf .svf-body { max-width: 20em; font-size: clamp(1rem, 1.1vw + 0.1vh, 1.14rem); }

#svf .svf-bridge {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(24px, 3.4vh, 40px);
  justify-content: flex-start;
  gap: 10px clamp(12px, 1.4vw, 20px);
  padding-top: clamp(14px, 2vh, 18px);
  border-top: 1px solid var(--rule);
}

#svf .svf-verbs {
  justify-content: flex-start;
  color: rgba(245, 247, 250, 0.62);
  font-size: clamp(0.92rem, 1.05vw, 1.06rem);
  letter-spacing: 0.12em;
}

#svf .svf-verbs li[aria-hidden="true"] { color: rgba(34, 195, 214, 0.5); }
#svf .svf-bridge-from { color: rgba(245, 247, 250, 0.42); }
#svf .svf-bridge-to { color: rgba(34, 195, 214, 0.62); }

#svf .svf-bridge-end { font-size: clamp(0.76rem, 0.85vw, 0.88rem); }

#svf .svf-name {
  margin: auto 0 0;
  max-width: none;
  text-align: left;
  padding-top: clamp(18px, 2.6vh, 26px);
  border-top: 1px solid rgba(34, 195, 214, 0.32);
}

#svf .svf-name-lead {
  font-size: var(--idx-size);
  letter-spacing: 0.18em;
}

#svf .svf-name-main {
  margin-bottom: 10px;
  font-size: clamp(2.4rem, 3.8vw + 0.4vh, 3.6rem);
}

#svf .svf-name-attrs { font-size: clamp(0.85rem, 1vw, 1rem); letter-spacing: 0.2em; }

/* ========== #fepc · 论点在左，规格在右 ========== */
#fepc .fepc-bg { opacity: 0.42; }

#fepc.fepc-page::before {
  background:
    linear-gradient(90deg, rgba(7, 19, 32, 0.96) 0%, rgba(7, 19, 32, 0.88) 44%, rgba(7, 19, 32, 0.62) 74%, rgba(7, 19, 32, 0.44) 100%),
    linear-gradient(180deg, rgba(7, 19, 32, 0.82) 0%, rgba(7, 19, 32, 0.34) 34%, rgba(7, 19, 32, 0.2) 66%, rgba(7, 19, 32, 0.58) 100%);
}

#fepc .fepc-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.44fr) minmax(0, 0.56fr);
  grid-template-areas:
    "head  triad"
    "deal  fold1"
    "cta   fold2"
    ".     fold3";
  column-gap: clamp(44px, 5.5vw, 92px);
  row-gap: clamp(20px, 3.4vh, 42px);
  align-content: start;
  max-width: 1240px;
  margin-left: 0;
}

#fepc .fepc-inner > .page-head { grid-area: head; }
#fepc .fepc-inner > .fepc-value-triad { grid-area: triad; }
#fepc .fepc-inner > .late-fold:nth-of-type(1) { grid-area: fold1; }
#fepc .fepc-inner > .late-fold:nth-of-type(2) { grid-area: fold2; }
#fepc .fepc-inner > .late-fold:nth-of-type(3) { grid-area: fold3; }
#fepc .fepc-inner > .deal-line { grid-area: deal; align-self: end; }
#fepc .fepc-inner > .solid-cta { grid-area: cta; align-self: start; justify-self: start; }

#fepc .fepc-kicker { font-size: var(--idx-size); }
#fepc .fepc-judgment { max-width: 10em; font-size: clamp(2rem, 3vw + 0.3vh, 2.9rem); }
#fepc .fepc-judgment span { white-space: nowrap; }

#fepc .fepc-inner > .deal-line {
  margin: 0;
  max-width: 14em;
  color: var(--on-dark);
  font-size: clamp(1.15rem, 1.5vw, 1.42rem);
  font-weight: 640;
  line-height: 1.5;
}

#fepc .fepc-value-triad {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(14px, 2.2vh, 22px);
  max-width: none;
  counter-reset: fvt;
}

#fepc .fepc-value-triad li {
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: clamp(12px, 1.4vw, 20px);
  row-gap: 6px;
  padding-top: clamp(12px, 1.8vh, 16px);
  border-top: 1px solid rgba(34, 195, 214, 0.3);
}

#fepc .fepc-value-triad li::before {
  counter-increment: fvt;
  content: counter(fvt, decimal-leading-zero);
  grid-row: span 2;
  padding-top: 0.2em;
  color: var(--idx);
  font-size: var(--idx-size);
  font-weight: 600;
  letter-spacing: 0.12em;
}

#fepc .fepc-value-triad b {
  grid-column: 2;
  font-size: clamp(1.05rem, 1.2vw, 1.24rem);
}

#fepc .fepc-value-triad p {
  grid-column: 2;
  font-size: clamp(0.95rem, 1.05vw, 1.06rem);
  line-height: 1.65;
}

#fepc .fepc-inner > .late-fold { max-width: none; }
#fepc .late-fold summary { padding: 13px 0; font-size: clamp(0.95rem, 1.05vw, 1.06rem); }
#fepc .late-fold summary::after { font-size: var(--idx-size); letter-spacing: 0.12em; }

/* ========== #action · 终幕邀请：居中收束（仪式页，非阅读页） ========== */
#action.invitation-page { text-align: center; }

#action.invitation-page::before {
  background:
    linear-gradient(180deg, rgba(7, 19, 32, 0.74) 0%, rgba(7, 19, 32, 0.46) 40%, rgba(7, 19, 32, 0.86) 100%),
    radial-gradient(ellipse 66% 52% at 50% 46%, rgba(34, 195, 214, 0.09), transparent 64%);
}

#action .invitation-inner {
  flex: 1 1 auto;
  max-width: 760px;
  margin-inline: auto;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: clamp(18px, 2.8vh, 32px);
}

#action .invitation-inner > .page-head {
  align-items: center;
  text-align: center;
}

#action .invitation-inner .eyebrow { justify-content: center; }

#action.invitation-page .invitation-title {
  max-width: 14em;
  font-size: clamp(2.1rem, 3.4vw + 0.3vh, 3rem);
  text-wrap: balance;
}

#action.invitation-page .invite-points {
  grid-template-columns: minmax(0, 1fr);
  width: min(100%, 30em);
  margin-inline: auto;
  gap: clamp(10px, 1.6vh, 14px);
  text-align: left;
  font-size: clamp(1rem, 1.1vw, 1.1rem);
}

#action.invitation-page .invite-points li {
  padding-top: clamp(9px, 1.4vh, 12px);
  border-top: 1px solid var(--rule);
}

#action .invitation-inner > .solid-cta {
  align-self: center;
  margin-top: clamp(6px, 1.4vh, 14px);
}

#action.invitation-page .invite-foot {
  max-width: 32em;
  margin-inline: auto;
  text-align: center;
}

/* ========== 窄屏：四页统一退化为单列 ========== */
@media (max-width: 1100px) {
  #whynow .whynow-inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "copy" "stage" "close" "evidence";
  }

  #whynow .whynow-stage { justify-content: flex-start; }

  #fepc .fepc-inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "head" "triad" "fold1" "fold2" "fold3" "deal" "cta";
  }

  #fepc .fepc-inner > .deal-line { align-self: start; max-width: none; }

  #svf .svf-duet {
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(20px, 3vh, 28px);
  }

  #svf .svf-field-b::before { display: none; }

}


/* ============================================================
   v6b · 全站并轨：把掉队的四屏拉回首屏定下的同一条左轴
   （冻结的首屏 #mission 是左轴 56px，全站以它为准；
     本段只改水平对齐，2026-09-17「两页排版收束」的内容结构、
     五列证据链、纵向留白与移动端规则原样保留。）
   ============================================================ */

/* —— 核证 / 实施：由居中改回左轴 —— */
#verification .verification-inner,
#wateros .implementation-inner {
  max-width: 1240px;
  margin-inline: 0;
}

#verification .page-head,
#wateros .page-head {
  justify-items: start;
  text-align: left;
}

#verification .verify-lead,
#verification .verify-premise {
  text-align: left;
}

#verification .proof-chain > li {
  text-align: left;
}

#wateros .impl-note {
  text-align: left;
}

/* —— 证据：内容块由居中改为贴轴 —— */
#evidence .evidence-inner {
  max-width: 1240px;
  margin-inline: 0;
}

/* —— 第一实践者 = 品牌落款：保持居中（仪式页，不进左轴） —— */

@media (max-width: 900px) {
  #verification .verification-inner,
  #wateros .implementation-inner {
    max-width: 640px;
  }
}

/* —— 资产链 = 整页对称示意图：标题与图同轴居中（仪式页，不进左轴） —— */
