/* ============================================================
   百果园数字经济战略 · 会员忠诚度与数字资产化方案 V2.0
   设计语言：第一屏深色 Hero + 下方浅绿/白色为主（参考 bgy.w3x.ai）
   ============================================================ */

:root {
  /* 品牌色 */
  --green:       #0aa56b;
  --green2:      #12bf7c;
  --green-deep:  #0d5c3a;
  --green-mid:   #0d7a4a;
  --green-dark:  #0a3f28;
  --green-light: #dff1e8;
  --mint:        #effaf4;
  --bg:          #f6fbf8;
  --bg-section:  #f0f9f4;

  /* 辅助色 */
  --gold:   #d6a93c;
  --silver: #98abc1;
  --orange: #f4b36a;
  --purple: #8f74d7;
  --red-soft: #fde8e8;

  /* 文字 */
  --text:       #1a352c;
  --muted:      #61786f;
  --muted2:     #8fa89e;
  --dark-bg-text: #f0f7f3;

  /* 边框 / 阴影 */
  --border:  #d9eee4;
  --border2: rgba(10,165,107,.12);
  --shadow:  0 24px 60px rgba(15,65,45,.07);
  --shadow2: 0 8px 28px rgba(15,65,45,.05);

  /* 等级色 */
  --tier-pu:   linear-gradient(135deg,#f4ba7e,#e89d52);
  --tier-lv:   linear-gradient(135deg,#62c778,#31a85a);
  --tier-yin:  linear-gradient(135deg,#9ab4ce,#6f8faa);
  --tier-jin:  linear-gradient(135deg,#e1b34a,#c28b18);
  --tier-zuan: linear-gradient(135deg,#9d82eb,#7256c6);

  /* Hero 深色区 */
  --hero-bg:     #0a1f15;
  --hero-bg2:    #0d2a1c;
  --hero-border: rgba(255,255,255,.08);
  --hero-text:   #e8f5ee;
  --hero-muted:  rgba(232,245,238,.65);

  /* 字体 */
  --font: -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --font-mono: "SF Mono","JetBrains Mono","Fira Mono",monospace;

  --maxw: 1380px;
}

*   { box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

/* ─── 全局容器 ─── */
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }

/* ─── 顶部导航（全部用 !important 防御平台注入样式） ─── */
.topbar{
  position:fixed !important; top:0 !important; left:0 !important; right:0 !important;
  z-index:9000 !important;
  background:rgba(9,26,17,.92) !important;
  backdrop-filter:saturate(160%) blur(18px) !important;
  -webkit-backdrop-filter:saturate(160%) blur(18px) !important;
  border-bottom:1px solid rgba(18,191,124,.18) !important;
  transition:box-shadow .25s !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
.topbar.scrolled{ box-shadow:0 4px 24px rgba(0,0,0,.35) !important; }

.topbar .inner{
  max-width:1380px !important; margin:0 auto !important; padding:0 32px !important;
  height:68px !important;
  display:flex !important; align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important; flex-wrap:nowrap !important;
  overflow:visible !important; box-sizing:border-box !important;
}

/* brand */
.topbar .brand{
  display:flex !important; align-items:center !important; gap:13px !important;
  font-size:15px !important; font-weight:800 !important; color:#fff !important;
  flex-shrink:0 !important; text-decoration:none !important;
  line-height:1 !important;
}
.brand-logo{
  width:42px !important; height:42px !important; border-radius:12px !important;
  background:#fff !important; padding:2px !important;
  border:1.5px solid rgba(16,160,72,.2) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  overflow:hidden !important; flex-shrink:0 !important;
}
.brand-logo img{ width:100% !important; height:100% !important; object-fit:contain !important; display:block !important; }
.brand-logo-svg{
  width:42px !important; height:42px !important; border-radius:12px !important;
  background:#fff !important; display:flex !important; align-items:center !important;
  justify-content:center !important; font-size:20px !important;
  border:1.5px solid rgba(16,160,72,.2) !important;
  padding:2px !important; overflow:hidden !important; flex-shrink:0 !important;
}
.brand-name{ line-height:1.25 !important; }
.brand-name .main{ font-size:15px !important; font-weight:800 !important; color:#fff !important; display:block !important; }
.brand-name .sub{ font-size:11px !important; color:rgba(232,245,238,.55) !important; font-weight:600 !important; letter-spacing:.04em !important; display:block !important; }

/* navlinks 容器 */
.navlinks{
  display:flex !important; gap:6px !important; align-items:center !important;
  flex-wrap:nowrap !important; flex-shrink:0 !important;
  overflow:visible !important; position:relative !important;
  list-style:none !important; margin:0 !important; padding:0 !important;
}

/* navlinks 内所有普通链接 */
.navlinks > a{
  display:inline-flex !important; align-items:center !important;
  padding:7px 14px !important; border-radius:999px !important;
  color:rgba(232,245,238,.75) !important;
  font-size:13px !important; font-weight:600 !important;
  white-space:nowrap !important; text-decoration:none !important;
  transition:background .2s, color .2s !important;
  line-height:1 !important; box-sizing:border-box !important;
}
.navlinks > a:hover{
  background:rgba(18,191,124,.16) !important; color:#fff !important;
}

/* CTA 按钮（方案总结） */
.navlinks .nav-cta{
  background:#0aa56b !important; color:#fff !important;
  padding:8px 20px !important; border-radius:999px !important;
  font-size:13px !important; font-weight:700 !important;
  margin-left:4px !important; white-space:nowrap !important;
  text-decoration:none !important; display:inline-flex !important;
  align-items:center !important; line-height:1 !important;
  transition:background .2s, transform .2s !important;
  box-shadow:0 2px 12px rgba(10,165,107,.3) !important;
}
.navlinks .nav-cta:hover{
  background:#12bf7c !important; transform:translateY(-1px) !important;
}

/* ─── Hero（深色第一屏） ─── */
.hero{
  background:
    radial-gradient(ellipse at 18% 0%,  rgba(18,191,124,.22) 0%, transparent 45%),
    radial-gradient(ellipse at 90% 60%, rgba(214,169,60,.12) 0%, transparent 40%),
    var(--hero-bg);
  padding:140px 0 100px;
  position:relative; overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(ellipse at 50% 40%,#000 0%,transparent 72%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 0%,transparent 72%);
}
.hero-inner{ position:relative; z-index:2; }
.hero-grid{
  display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center;
}
.hero-kicker{
  display:inline-flex; align-items:center; gap:9px;
  padding:7px 16px; border:1px solid rgba(18,191,124,.35);
  border-radius:999px; background:rgba(18,191,124,.08);
  font-size:12.5px; font-weight:700; color:var(--green2);
  margin-bottom:28px; letter-spacing:.05em;
}
.hero-kicker .dot{
  width:6px; height:6px; border-radius:50%; background:var(--green2);
  box-shadow:0 0 10px var(--green2);
  animation:pulse 2s infinite;
}
@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.5;transform:scale(1.5);}
}
.hero h1{
  font-size:clamp(34px,4.6vw,60px);
  font-weight:800; line-height:1.1; letter-spacing:-.02em;
  color:var(--hero-text); margin-bottom:24px;
}
.hero h1 .hl{
  background:linear-gradient(135deg,var(--green2) 0%,#a3e8c0 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hero-lead{
  font-size:16.5px; line-height:1.9; color:var(--hero-muted);
  max-width:580px; margin-bottom:32px;
}
.hero-tags{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:40px; }
.hero-tag{
  padding:7px 14px; border-radius:999px;
  background:rgba(18,191,124,.1); border:1px solid rgba(18,191,124,.22);
  color:var(--green2); font-size:13px; font-weight:700;
}
.hero-right{}
.hero-card{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  border-radius:24px; padding:28px; backdrop-filter:blur(10px);
}
.hero-card-title{
  font-size:13px; font-weight:700; color:var(--green2);
  letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px;
  font-family:var(--font-mono);
}
.hero-card p{
  font-size:14.5px; line-height:1.85; color:var(--hero-muted);
}
.hero-metrics{
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px;
}
.hm{
  padding:18px 16px; border-radius:18px;
  background:rgba(18,191,124,.1); border:1px solid rgba(18,191,124,.2);
}
.hm .n{
  font-size:30px; font-weight:900; color:#fff;
  font-family:var(--font-mono); line-height:1.1;
}
.hm .t{ font-size:12px; color:var(--hero-muted); margin-top:5px; line-height:1.55; }

/* ─── 分隔波浪（Hero→正文过渡） ─── */
.wave-divider{
  background:var(--hero-bg); height:60px; position:relative; overflow:hidden;
}
.wave-divider::after{
  content:""; position:absolute; bottom:0; left:0; right:0;
  height:80px;
  background:var(--bg);
  border-radius:100% 100% 0 0 / 60px 60px 0 0;
}

/* ─── 主内容区布局（侧边栏 + 正文） ─── */
.page-body{
  background:var(--bg);
}
.shell{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:256px 1fr; gap:28px;
  padding:32px 32px 80px;
}
.sidebar{ position:sticky; top:84px; align-self:start; }
.side-card{
  background:#fff;
  border:1px solid rgba(10,165,107,.18);
  box-shadow:0 4px 20px rgba(10,165,107,.08); border-radius:22px; padding:20px;
  overflow:hidden; position:relative;
}
.side-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,#0d5c3a,#0aa56b,#12bf7c,#6edcaa);
}
.side-card h4{
  margin:0 0 14px; font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--green-mid); font-family:var(--font-mono);
  display:flex; align-items:center; gap:7px;
}
.side-card h4::before{
  content:""; display:block; width:14px; height:2px;
  background:var(--green); border-radius:2px;
}

/* ─── TOC 整体 ─── */
.toc{ display:flex; flex-direction:column; gap:1px; }

/* ─── TOC 分组容器 ─── */
.toc-group{
  border-radius:12px;
  overflow:hidden;
  margin-bottom:4px;
  border:1px solid transparent;
}
.toc-group:last-child{ margin-bottom:0; }

/* ─── TOC 分组：全绿白色系，深浅交错 ─── */

/* 奇数组（1、3、5）深绿底 */
.toc-group:nth-child(odd){
  background:rgba(10,165,107,.07);
  border-color:rgba(10,165,107,.15);
}
/* 偶数组（2、4）浅绿底 */
.toc-group:nth-child(even){
  background:rgba(10,165,107,.03);
  border-color:rgba(10,165,107,.1);
}

/* ─── 分组标签统一绿色 ─── */
.toc-group-label{
  font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  padding:8px 12px 7px;
  display:flex; align-items:center; gap:7px;
}
/* 奇数组：深绿标题背景 */
.toc-group:nth-child(odd) .toc-group-label{
  background:rgba(8,140,88,.82);
  color:#e8f5ee;
}
/* 偶数组：中绿标题背景 */
.toc-group:nth-child(even) .toc-group-label{
  background:rgba(10,165,107,.55);
  color:#fff;
}
.toc-group-label .gl-dot{
  width:5px; height:5px; border-radius:50%;
  background:rgba(255,255,255,.75); flex-shrink:0;
}
.toc-group-label .gl-text{ flex:1; white-space:nowrap; }

/* ─── TOC 链接 ─── */
.toc a{
  text-decoration:none; color:#3d6b5a; font-size:12.5px;
  line-height:1.45; padding:7px 12px 7px 15px;
  border-left:2.5px solid transparent;
  transition:all .16s; font-weight:500;
  display:flex; align-items:center;
}
.toc a:hover{
  color:var(--green-deep);
  background:rgba(10,165,107,.1);
  border-left-color:rgba(10,165,107,.5);
}
.toc a.active{
  color:var(--green-deep); font-weight:700;
  background:rgba(10,165,107,.13);
  border-left-color:var(--green);
}

/* 数字编号 */
.toc .toc-num{
  font-family:var(--font-mono); font-size:10px;
  opacity:.4; margin-right:6px; flex-shrink:0;
}
/* ─── 顶部导航下拉分组 ─── */
.nav-group{
  position:relative !important; display:inline-flex !important;
  align-items:center !important; overflow:visible !important;
}

/* 一级按钮 */
.nav-group > .nav-group-btn{
  color:rgba(232,245,238,.82) !important;
  font-size:13px !important; font-weight:600 !important;
  padding:7px 13px !important; border-radius:999px !important;
  cursor:pointer !important;
  border:none !important; background:none !important;
  font-family:inherit !important; line-height:1 !important;
  display:inline-flex !important; align-items:center !important;
  gap:5px !important; white-space:nowrap !important;
  transition:background .18s, color .18s !important;
  -webkit-appearance:none !important; appearance:none !important;
  outline:none !important; box-shadow:none !important;
  text-transform:none !important; letter-spacing:0 !important;
  margin:0 !important;
}
.nav-group > .nav-group-btn::after{
  content:'▾' !important; font-size:9px !important;
  opacity:.5 !important; line-height:1 !important;
  transition:transform .2s !important; display:inline-block !important;
}
.nav-group:hover > .nav-group-btn,
.nav-group:focus-within > .nav-group-btn{
  background:rgba(18,191,124,.15) !important; color:#fff !important;
}
.nav-group:hover > .nav-group-btn::after,
.nav-group:focus-within > .nav-group-btn::after{
  transform:rotate(180deg) !important;
}

/* 下拉面板 */
.nav-dropdown{
  position:absolute !important; top:calc(100% + 8px) !important;
  left:50% !important; transform:translateX(-50%) translateY(-4px) !important;
  background:#0c2016 !important;
  border:1px solid rgba(18,191,124,.22) !important; border-radius:14px !important;
  box-shadow:0 16px 48px rgba(0,0,0,.5) !important;
  padding:7px !important; min-width:150px !important;
  opacity:0 !important; visibility:hidden !important;
  transition:opacity .18s, transform .18s, visibility .18s !important;
  z-index:99999 !important;
  display:grid !important; gap:2px !important;
  box-sizing:border-box !important;
}
.nav-group:hover .nav-dropdown,
.nav-group:focus-within .nav-dropdown{
  opacity:1 !important; visibility:visible !important;
  transform:translateX(-50%) translateY(0) !important;
}
.nav-dropdown a{
  color:rgba(232,245,238,.72) !important; font-size:12.5px !important;
  font-weight:500 !important; padding:7px 11px !important; border-radius:8px !important;
  white-space:nowrap !important; display:flex !important; align-items:center !important;
  gap:6px !important; text-decoration:none !important; line-height:1.3 !important;
  transition:background .14s, color .14s !important;
}
.nav-dropdown a:hover{
  background:rgba(18,191,124,.2) !important; color:#e8f5ee !important;
}
.nav-dropdown .dd-num{
  font-size:10px !important; opacity:.4 !important;
  flex-shrink:0 !important; min-width:16px !important;
  font-family:monospace !important;
}

/* H5 金色按钮 */
.nav-h5-btn{
  background:linear-gradient(135deg,#d6a93c,#f0c854) !important;
  color:#3a2200 !important; font-weight:700 !important;
  padding:7px 15px !important; border-radius:999px !important;
  margin-left:6px !important; white-space:nowrap !important;
  font-size:13px !important; line-height:1 !important;
  text-decoration:none !important; display:inline-flex !important;
  align-items:center !important;
  box-shadow:0 2px 10px rgba(214,169,60,.28) !important;
  transition:all .2s !important;
}
.nav-h5-btn:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 4px 18px rgba(214,169,60,.45) !important;
  background:linear-gradient(135deg,#c49520,#e8b830) !important;
}
/* ─── 导航用户区 ─── */
.nav-user{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  margin-left:10px !important;
  padding:4px 4px 4px 10px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  flex-shrink:0 !important;
}
.nav-user-avatar{
  width:26px !important; height:26px !important; border-radius:50% !important;
  background:linear-gradient(135deg,#0aa56b,#12bf7c) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  font-size:12px !important; font-weight:800 !important; color:#fff !important;
  flex-shrink:0 !important; line-height:1 !important;
}
.nav-user-name{
  font-size:12.5px !important; font-weight:600 !important;
  color:rgba(232,245,238,.85) !important; white-space:nowrap !important;
  max-width:72px !important; overflow:hidden !important; text-overflow:ellipsis !important;
}
.nav-logout-btn{
  display:inline-flex !important; align-items:center !important; gap:4px !important;
  padding:5px 10px !important; border-radius:999px !important;
  background:rgba(239,68,68,.15) !important;
  border:1px solid rgba(239,68,68,.25) !important;
  color:rgba(252,165,165,.9) !important;
  font-size:11.5px !important; font-weight:600 !important;
  cursor:pointer !important; font-family:inherit !important;
  transition:all .18s !important; white-space:nowrap !important;
  -webkit-appearance:none !important;
}
.nav-logout-btn:hover{
  background:rgba(239,68,68,.28) !important;
  color:#fca5a5 !important;
  border-color:rgba(239,68,68,.5) !important;
}

/* ─── 退出确认弹窗 ─── */
.logout-mask{
  position:fixed; inset:0;
  background:rgba(5,20,12,.65);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  z-index:99999;
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity .22s;
}
.logout-mask.show{
  opacity:1; pointer-events:all;
}
.logout-dialog{
  background:#fff; border-radius:24px;
  padding:36px 32px 28px;
  width:100%; max-width:360px;
  text-align:center;
  box-shadow:0 24px 64px rgba(0,0,0,.25);
  transform:translateY(12px) scale(.97);
  transition:transform .22s;
}
.logout-mask.show .logout-dialog{
  transform:translateY(0) scale(1);
}
.logout-dialog-icon{
  font-size:38px; margin-bottom:14px; line-height:1;
}
.logout-dialog-title{
  font-size:17px; font-weight:800; color:#1a352c;
  margin-bottom:10px;
}
.logout-dialog-desc{
  font-size:13.5px; color:#61786f; line-height:1.75;
  margin-bottom:24px;
}
.logout-dialog-btns{
  display:flex; gap:10px;
}
.logout-cancel{
  flex:1; height:44px; border-radius:12px;
  border:1.5px solid #d1e8df; background:#f4faf7;
  color:#3d6b5a; font-size:14px; font-weight:600;
  cursor:pointer; font-family:inherit;
  transition:all .15s;
}
.logout-cancel:hover{ background:#e4f4ec; border-color:#a8d8c0; }
.logout-confirm{
  flex:1; height:44px; border-radius:12px;
  border:none; background:#e53e3e;
  color:#fff; font-size:14px; font-weight:700;
  cursor:pointer; font-family:inherit;
  transition:all .15s;
  box-shadow:0 3px 12px rgba(229,62,62,.3);
}
.logout-confirm:hover{ background:#c53030; box-shadow:0 4px 16px rgba(229,62,62,.45); }

.content{ min-width:0; }

/* ─── 章节通用 ─── */
.chapter{
  background:#fff; border:1px solid var(--border2);
  box-shadow:var(--shadow); border-radius:28px;
  padding:36px; margin-bottom:24px;
}
.chapter-alt{ background:var(--mint); border-color:rgba(10,165,107,.14); }
.eyebrow{
  font-size:11.5px; text-transform:uppercase; letter-spacing:.14em;
  color:var(--green); font-weight:800; margin-bottom:10px;
  font-family:var(--font-mono);
  display:flex; align-items:center; gap:8px;
}
.eyebrow::before{
  content:""; width:22px; height:2px; background:var(--green);
  border-radius:2px;
}
.chapter h2{
  font-size:clamp(26px,2.8vw,36px); font-weight:800; line-height:1.2;
  color:var(--text); letter-spacing:-.02em; margin-bottom:10px;
}
.chapter .lead{
  font-size:16px; line-height:1.9; color:var(--muted);
  margin-bottom:0; max-width:860px;
}
.chapter-head{ margin-bottom:28px; }

/* ─── 网格工具 ─── */
.g2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.g3{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.g4{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.g5{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }

/* ─── 通用 box ─── */
.box{
  background:#fff; border:1px solid var(--border);
  border-radius:20px; padding:20px;
  transition:box-shadow .2s,transform .2s;
}
.box:hover{ box-shadow:var(--shadow2); transform:translateY(-2px); }
.box h3{ margin:0 0 8px; font-size:19px; color:var(--text); font-weight:700; }
.box h4{ margin:0 0 6px; font-size:16px; color:var(--text); font-weight:700; }
.box p,.box li{ font-size:14px; line-height:1.85; color:var(--muted); }
.box ul{ margin:8px 0 0 18px; padding:0; }

/* 数字卡 */
.num-card{
  background:linear-gradient(180deg,#fcfffd,#f2fbf6);
  border:1px solid var(--green-light); border-radius:22px; padding:20px;
}
.num-card .num{ font-size:40px; font-weight:900; color:var(--green-deep); font-family:var(--font-mono); }
.num-card .lbl{ font-size:14px; font-weight:700; color:var(--green); margin-top:4px; }
.num-card p{ font-size:13px; color:var(--muted); line-height:1.75; margin-top:8px; }

/* ─── 命题对比（深浅两块） ─── */
.prop-grid{
  display:grid; grid-template-columns:1fr 56px 1fr; gap:16px; align-items:center;
}
.prop-block{ padding:24px; border-radius:20px; }
.prop-problem{
  background:#fff9f9; border:1px solid #fcd4d4;
}
.prop-problem h4{ color:#c0392b; font-size:13px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:14px; font-family:var(--font-mono); }
.prop-solution{
  background:linear-gradient(160deg,var(--mint),#f7fef9);
  border:1px solid rgba(10,165,107,.22);
}
.prop-solution h4{ color:var(--green); font-size:13px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:14px; font-family:var(--font-mono); }
.prop-block ul{ list-style:none; padding:0; }
.prop-block ul li{
  padding:9px 0; font-size:14px; color:var(--muted); line-height:1.7;
  border-top:1px dashed #e8f2ec; display:flex; gap:8px;
}
.prop-block ul li:first-child{ border-top:none; }
.prop-arrow{ text-align:center; font-size:28px; color:var(--green); font-weight:900; }

/* ─── 价值五点 ─── */
.vp-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.vp{
  padding:18px 16px; border-radius:20px;
  background:#fff; border:1px solid var(--green-light);
  transition:all .2s;
}
.vp:hover{ box-shadow:var(--shadow2); transform:translateY(-2px); border-color:var(--green); }
.vp-num{
  font-family:var(--font-mono); font-size:12px; color:var(--green);
  font-weight:700; margin-bottom:8px; letter-spacing:.1em;
}
.vp strong{ display:block; color:var(--text); font-size:16px; margin-bottom:8px; }
.vp span{ font-size:13px; line-height:1.75; color:var(--muted); }

/* ─── 三层架构 ─── */
.arch-stack{ display:flex; flex-direction:column; gap:14px; }
.arch-layer{
  display:grid; grid-template-columns:180px 1fr; gap:28px;
  padding:28px; border-radius:22px; background:#fff; border:1px solid var(--border);
  position:relative; overflow:hidden; align-items:start;
}
.arch-layer::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
}
.l1::before{ background:var(--green); }
.l2::before{ background:var(--gold); }
.l3::before{ background:var(--purple); }
.al-label .ln{ font-family:var(--font-mono); font-size:11px; color:var(--muted2); letter-spacing:.12em; }
.al-label .lt{ font-size:26px; font-weight:800; color:var(--text); margin:6px 0 4px; }
.al-label .le{ font-family:var(--font-mono); font-size:11px; color:var(--muted2); letter-spacing:.08em; }
.al-body p{ font-size:14px; line-height:1.85; color:var(--muted); margin-bottom:12px; }
.al-tags{ display:flex; gap:8px; flex-wrap:wrap; }
.al-tags span{
  font-size:12px; padding:4px 12px; border-radius:8px;
  background:var(--mint); border:1px solid rgba(10,165,107,.2);
  color:var(--green-deep); font-weight:600;
}
.l2 .al-tags span{ background:#fef8ec; border-color:rgba(214,169,60,.25); color:#7a5200; }
.l3 .al-tags span{ background:#f5f0ff; border-color:rgba(143,116,215,.25); color:#5838b0; }

/* ─── 会员等级 ─── */
.tier-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.tier-card{
  border-radius:20px; background:#fff; border:1px solid var(--border);
  overflow:hidden; transition:all .3s;
}
.tier-card:hover{ transform:translateY(-5px); box-shadow:0 16px 40px rgba(15,65,45,.1); }
.tier-top{
  padding:20px 18px 16px; color:#fff;
  position:relative; overflow:hidden;
}
.tier-pu  .tier-top{ background:var(--tier-pu); }
.tier-lv  .tier-top{ background:var(--tier-lv); }
.tier-yin .tier-top{ background:var(--tier-yin); }
.tier-jin .tier-top{ background:var(--tier-jin); }
.tier-zuan .tier-top{ background:var(--tier-zuan); }
.tier-emoji{ font-size:36px; margin-bottom:8px; }
.tier-name{ font-size:20px; font-weight:800; }
.tier-role{ font-size:12px; opacity:.88; font-weight:600; margin-top:3px; }
.tier-body{ padding:18px; }
.tier-body .thresh{
  font-family:var(--font-mono); font-size:11.5px; color:var(--muted2);
  letter-spacing:.06em; margin-bottom:12px;
  padding-bottom:12px; border-bottom:1px dashed var(--border);
}
.tier-body ul{ list-style:none; padding:0; display:grid; gap:6px; }
.tier-body li{
  font-size:13px; color:var(--muted); line-height:1.6;
  display:flex; gap:7px; align-items:flex-start;
}
.tier-body li::before{ content:"✓"; color:var(--green); flex-shrink:0; font-size:12px; }

/* ─── 会员资产账户（小程序升级） ─── */
.account-upgrade{
  display:grid; grid-template-columns:1fr 56px 1fr; gap:16px; align-items:center;
}
.account-block{
  padding:24px; border-radius:22px; background:#fff; border:1px solid var(--border);
}
.account-block.before{ opacity:.8; }
.account-block.after{
  background:linear-gradient(160deg,var(--mint),#f7fef9);
  border-color:rgba(10,165,107,.25);
}
.account-block h4{
  font-size:13px; letter-spacing:.08em; text-transform:uppercase;
  margin-bottom:16px; font-family:var(--font-mono);
}
.account-block.before h4{ color:var(--muted2); }
.account-block.after h4{ color:var(--green); }

.account-card-mock{
  background:linear-gradient(135deg,#0d5c3a 0%,#1a7a50 55%,#d6a93c 120%);
  border-radius:16px; padding:24px; color:#fff;
  box-shadow:0 16px 40px rgba(10,60,35,.35), inset 0 0 0 1px rgba(255,255,255,.1);
  margin-bottom:18px;
}
.mock-top{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:28px; }
.mock-who{ font-size:10px; opacity:.75; letter-spacing:.1em; font-family:var(--font-mono); margin-bottom:5px; }
.mock-name{ font-size:18px; font-weight:700; }
.mock-tier{
  padding:4px 12px; border-radius:999px;
  background:rgba(255,255,255,.18); font-size:12px; font-weight:700;
}
.mock-metrics{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mock-m .lbl{ font-size:10.5px; opacity:.72; letter-spacing:.08em; font-family:var(--font-mono); margin-bottom:4px; }
.mock-m .val{ font-size:22px; font-weight:800; font-family:var(--font-mono); }
.mock-foot{
  margin-top:22px; padding-top:16px; border-top:1px solid rgba(255,255,255,.2);
  display:flex; justify-content:space-between; font-size:11px; opacity:.75; font-family:var(--font-mono);
}
.account-features{ display:grid; gap:10px; }
.acf{
  display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:center;
  padding:14px; background:var(--mint); border:1px solid var(--green-light); border-radius:14px;
}
.acf .ico{
  width:38px; height:38px; border-radius:10px;
  background:rgba(10,165,107,.12); color:var(--green);
  display:flex; align-items:center; justify-content:center; font-size:16px;
}
.acf h5{ font-size:14px; margin-bottom:3px; }
.acf p{ font-size:12.5px; color:var(--muted); }

/* ─── 双积分体系 ─── */
.dual-pts{
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
}
.pts-card{
  padding:28px; border-radius:22px; background:#fff; border:2px solid;
  position:relative; overflow:hidden;
}
.pts-card.grl{ border-color:rgba(10,165,107,.3); }
.pts-card.czz{ border-color:rgba(214,169,60,.35); }
.pts-card::after{
  content:attr(data-label);
  position:absolute; top:16px; right:16px;
  padding:4px 10px; border-radius:999px;
  font-size:11px; font-weight:700; font-family:var(--font-mono);
}
.pts-card.grl::after{ background:rgba(10,165,107,.12); color:var(--green); }
.pts-card.czz::after{ background:rgba(214,169,60,.12); color:#7a5200; }
.pts-card h4{ font-size:20px; font-weight:800; margin-bottom:8px; }
.pts-card .pts-sub{ font-size:13px; color:var(--muted); margin-bottom:18px; line-height:1.7; }
.pts-list{ display:grid; gap:8px; }
.pts-list li{
  font-size:13.5px; color:var(--muted); display:flex; gap:9px; line-height:1.65;
  padding:9px 12px; background:var(--mint); border-radius:10px;
}
.pts-list li::before{ content:"→"; color:var(--green); flex-shrink:0; }

/* ─── 四大机制 ─── */
.mech-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }
.mech{
  padding:28px; background:#fff; border:1px solid var(--border);
  border-radius:22px; position:relative; overflow:hidden;
}
.mech-n{
  position:absolute; top:18px; right:22px;
  font-size:52px; font-weight:900; color:rgba(10,165,107,.08);
  font-family:var(--font-mono); line-height:1;
}
.mech h3{ font-size:22px; font-weight:800; margin-bottom:10px; color:var(--text); }
.mech .mdesc{ font-size:14.5px; color:var(--muted); line-height:1.8; margin-bottom:18px; }
.mech-pts{ display:grid; gap:7px; }
.mech-pts li{
  font-size:13.5px; color:var(--muted); line-height:1.65;
  padding:9px 12px; background:var(--mint); border-radius:10px;
  border-left:3px solid var(--green); list-style:none;
}

/* ─── 猴果果成长 ─── */
.monkey-panel{
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
}
.monkey-stages{
  background:linear-gradient(180deg,#fafffc,#eef8f3);
  border:1px solid var(--green-light); border-radius:22px; padding:24px;
}
.monkey-stages h4{ font-size:18px; font-weight:700; margin-bottom:6px; }
.monkey-stages .ms-sub{ font-size:13px; color:var(--muted); margin-bottom:20px; }
.stage-row{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.stage{
  padding:14px 10px; border-radius:18px;
  background:#fff; border:1px solid var(--green-light); text-align:center;
  transition:all .2s;
}
.stage:hover{ transform:translateY(-3px); box-shadow:var(--shadow2); }
.stage .s-emoji{ font-size:32px; margin-bottom:8px; }
.stage strong{ display:block; color:var(--text); font-size:13px; font-weight:700; }
.stage span{ display:block; color:var(--muted2); font-size:11.5px; line-height:1.55; margin-top:4px; }

.task-panel{
  background:#fff; border:1px solid var(--border); border-radius:22px; padding:24px;
}
.task-panel h4{ font-size:18px; font-weight:700; margin-bottom:6px; }
.task-panel .tp-sub{ font-size:13px; color:var(--muted); margin-bottom:18px; }
.task-list{ display:grid; gap:9px; }
.task-row{
  display:grid; grid-template-columns:auto 1fr auto;
  gap:12px; align-items:center;
  padding:12px 14px; background:var(--bg); border:1px solid var(--border);
  border-radius:12px; font-size:13.5px;
}
.t-tag{
  font-family:var(--font-mono); font-size:11px; padding:3px 9px; border-radius:6px;
  font-weight:700; letter-spacing:.06em;
}
.t-daily{ background:rgba(10,165,107,.12); color:var(--green); }
.t-season{ background:rgba(214,169,60,.12); color:#7a5200; }
.t-anniv{ background:rgba(143,116,215,.12); color:#5838b0; }
.t-name{ color:var(--text); font-weight:500; }
.t-reward{ font-family:var(--font-mono); font-size:12px; color:var(--muted); white-space:nowrap; }

/* ─── 储值预充值 ─── */
.store-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.store-card{
  padding:24px; border-radius:22px; background:#fff;
  border:1px solid var(--border); position:relative;
  transition:all .2s;
}
.store-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow2); }
.store-card.featured{
  border-color:rgba(10,165,107,.35);
  background:linear-gradient(160deg,var(--mint),#f7fef9);
}
.store-card .sc-badge{
  position:absolute; top:-1px; right:20px;
  padding:4px 12px; border-radius:0 0 10px 10px;
  font-size:11px; font-weight:700; background:var(--green); color:#fff;
}
.store-card h4{ font-size:20px; font-weight:800; margin-bottom:6px; }
.store-card .sc-sub{ font-size:13px; color:var(--muted); margin-bottom:14px; }
.store-card .sc-value{ font-size:32px; font-weight:900; color:var(--green-deep); font-family:var(--font-mono); margin-bottom:4px; }
.store-card .sc-label{ font-size:13px; color:var(--green); font-weight:600; margin-bottom:16px; }
.store-card ul{ list-style:none; padding:0; display:grid; gap:6px; }
.store-card li{ font-size:13px; color:var(--muted); display:flex; gap:8px; }
.store-card li::before{ content:"✓"; color:var(--green); flex-shrink:0; }

/* ─── 异业联盟 ─── */
.alliance-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:start; }
.alliance-model{ background:#fff; border:1px solid var(--border); border-radius:22px; padding:28px; }
.alliance-model h4{ font-size:18px; font-weight:700; margin-bottom:18px; }
.flow-steps{ display:grid; gap:14px; }
.fstep{ display:grid; grid-template-columns:32px 1fr; gap:14px; align-items:start; }
.fstep-no{
  width:32px; height:32px; border-radius:50%;
  background:rgba(10,165,107,.12); color:var(--green);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:13px; font-weight:700; flex-shrink:0;
}
.fstep-body h6{ font-size:14.5px; font-weight:600; margin-bottom:4px; }
.fstep-body p{ font-size:13px; color:var(--muted); line-height:1.7; }
.revenue-cards{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:0; }
.rc{
  padding:16px; background:var(--mint); border:1px solid rgba(10,165,107,.18);
  border-radius:14px;
}
.rc .rc-v{ font-size:18px; font-weight:800; color:var(--green-deep); font-family:var(--font-mono); margin-bottom:4px; }
.rc .rc-l{ font-size:12px; color:var(--muted); }

/* ─── 周年启动层 ─── */
.anniv-hero{
  background:
    radial-gradient(circle at 20% 30%, rgba(143,116,215,.16) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(214,169,60,.14) 0%, transparent 45%),
    linear-gradient(160deg,#1a1030,#0f2a1a);
  border-radius:24px; padding:48px 40px; color:#fff;
  position:relative; overflow:hidden; margin-bottom:24px;
}
.anniv-hero::before{
  content:"🎂"; position:absolute; bottom:-60px; right:-30px;
  font-size:240px; opacity:.04; pointer-events:none;
}
.anniv-tag{
  display:inline-block; padding:6px 14px; border-radius:999px;
  background:linear-gradient(90deg,var(--purple),var(--gold));
  font-size:12px; font-weight:700; letter-spacing:.08em;
  color:#fff; margin-bottom:20px;
}
.anniv-hero h3{ font-size:clamp(24px,3vw,36px); font-weight:800; margin-bottom:16px; letter-spacing:-.01em; }
.anniv-hero p{ font-size:15.5px; line-height:1.85; color:rgba(255,255,255,.7); max-width:680px; }
.anniv-phases{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.anniv-phase{
  padding:22px 18px; background:#fff; border:1px solid var(--border);
  border-radius:18px; transition:all .2s;
}
.anniv-phase:hover{ transform:translateY(-3px); box-shadow:var(--shadow2); }
.ap-num{ font-family:var(--font-mono); font-size:11px; color:var(--gold); font-weight:700; letter-spacing:.1em; margin-bottom:10px; }
.anniv-phase h5{ font-size:16px; font-weight:700; margin-bottom:8px; }
.anniv-phase p{ font-size:13px; color:var(--muted); line-height:1.65; }

/* ─── 执行规划 ─── */
.exec-timeline{ display:grid; gap:16px; }
.exec-phase{
  display:grid; grid-template-columns:200px 1fr; gap:24px;
  padding:28px; background:#fff; border:1px solid var(--border);
  border-radius:22px; position:relative; overflow:hidden;
}
.exec-phase::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
}
.ep1::before{ background:var(--green); }
.ep2::before{ background:var(--gold); }
.ep3::before{ background:var(--purple); }
.ep4::before{ background:#4fc3c8; }
.ep-label .eph{ font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; color:var(--muted2); }
.ep-label .ept{ font-size:22px; font-weight:800; margin:6px 0 4px; }
.ep-label .epd{
  display:inline-block; padding:4px 10px; border-radius:999px;
  font-size:11px; font-weight:700; font-family:var(--font-mono);
  background:var(--mint); color:var(--green);
}
.ep-content h5{ font-size:16px; font-weight:700; margin-bottom:10px; color:var(--green-deep); }
.ep-content p{ font-size:14px; color:var(--muted); line-height:1.8; margin-bottom:12px; }
.ep-items{ display:flex; flex-wrap:wrap; gap:8px; }
.ep-item{
  font-size:12.5px; padding:5px 12px; border-radius:8px;
  background:var(--mint); border:1px solid rgba(10,165,107,.18);
  color:var(--green-deep); font-weight:600;
}
.ep2 .ep-item{ background:#fef8ec; border-color:rgba(214,169,60,.2); color:#7a5200; }
.ep3 .ep-item{ background:#f5f0ff; border-color:rgba(143,116,215,.2); color:#5838b0; }
.ep4 .ep-item{ background:#f0feff; border-color:rgba(79,195,200,.2); color:#1a7275; }

/* ─── 部门协作 ─── */
.dept-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.dept-card{
  padding:20px 18px; background:#fff; border:1px solid var(--border);
  border-radius:18px; text-align:center;
}
.dept-icon{ font-size:32px; margin-bottom:10px; }
.dept-card h5{ font-size:15px; font-weight:700; margin-bottom:8px; }
.dept-card ul{ list-style:none; padding:0; display:grid; gap:5px; }
.dept-card li{ font-size:12.5px; color:var(--muted); }

/* ─── KPI ─── */
.kpi-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.kpi-card{
  padding:20px; background:#fff; border:1px solid var(--border); border-radius:18px;
}
.kpi-card .kpi-v{ font-size:28px; font-weight:800; color:var(--green-deep); font-family:var(--font-mono); margin-bottom:6px; }
.kpi-card .kpi-l{ font-size:14px; font-weight:600; color:var(--text); margin-bottom:4px; }
.kpi-card .kpi-d{ font-size:12px; color:var(--muted); line-height:1.6; }

/* ─── 用户旅程 ─── */
.journey-row{
  display:grid; grid-template-columns:repeat(5,1fr); gap:12px;
  position:relative; padding-top:32px;
}
.journey-row::before{
  content:""; position:absolute; top:18px; left:10%; right:10%;
  height:2px; background:linear-gradient(90deg,var(--green),var(--gold),var(--purple));
  opacity:.3;
}
.j-stage{ text-align:center; }
.j-dot{
  width:18px; height:18px; border-radius:50%;
  border:2px solid var(--green); background:#fff;
  margin:0 auto 14px; position:relative; z-index:2;
}
.j-stage:nth-child(3) .j-dot{ border-color:var(--silver); }
.j-stage:nth-child(4) .j-dot{ border-color:var(--gold); }
.j-stage:nth-child(5) .j-dot{ border-color:var(--purple); }
.j-num{ font-family:var(--font-mono); font-size:11px; color:var(--muted2); letter-spacing:.08em; margin-bottom:5px; }
.j-name{ font-size:15px; font-weight:700; margin-bottom:6px; }
.j-desc{ font-size:12.5px; color:var(--muted); line-height:1.6; }

/* ─── 总结卡 ─── */
.final-card{
  background:linear-gradient(135deg,var(--green-dark) 0%,var(--green-deep) 60%,#1a5c3a 100%);
  border-radius:24px; padding:40px; color:#fff; text-align:center;
}
.final-card h3{ font-size:clamp(22px,2.8vw,32px); font-weight:800; margin-bottom:14px; }
.final-card p{ font-size:16px; line-height:1.85; color:rgba(255,255,255,.78); max-width:700px; margin:0 auto; }

/* ─── 页脚 ─── */
.footer{
  background:var(--hero-bg); border-top:1px solid rgba(255,255,255,.06);
  padding:48px 32px 32px;
}
.footer-inner{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:2fr 1fr 1fr; gap:48px; margin-bottom:36px;
}
.footer h6{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(232,245,238,.4); font-family:var(--font-mono); margin-bottom:14px; }
.footer p{ font-size:13.5px; color:rgba(232,245,238,.55); line-height:1.75; }
.footer ul{ list-style:none; padding:0; display:grid; gap:8px; }
.footer li{ font-size:13px; color:rgba(232,245,238,.5); }
.footer li a:hover{ color:var(--green2); }
.footer-bottom{
  max-width:var(--maxw); margin:0 auto;
  border-top:1px solid rgba(255,255,255,.06); padding-top:20px;
  display:flex; justify-content:space-between;
  font-size:12px; color:rgba(232,245,238,.3); font-family:var(--font-mono);
}

/* ─── 滚动揭示 ─── */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .65s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }

/* ─── 五类资产 ─── */
.asset-five-grid{
  display:grid; grid-template-columns:repeat(5,1fr); gap:14px;
}
.asset-cat{
  padding:20px 18px; border-radius:20px; border:1.5px solid var(--border);
  background:#fff; transition:transform .2s,box-shadow .2s;
}
.asset-cat:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.ac-icon{ font-size:28px; margin-bottom:8px; }
.ac-num{ font-family:var(--font-mono); font-size:10.5px; color:var(--muted2); letter-spacing:.1em; margin-bottom:6px; }
.asset-cat h5{ font-size:15px; font-weight:700; color:var(--green-deep); margin-bottom:4px; }
.ac-sub{ font-size:12px; color:var(--muted2); margin-bottom:12px; line-height:1.5; }
.asset-cat ul{ padding-left:15px; display:grid; gap:5px; }
.asset-cat li{ font-size:12.5px; color:var(--muted); line-height:1.65; }
.cat-identity{ border-color:rgba(10,165,107,.25); background:linear-gradient(155deg,#f0fef7,#fff); }
.cat-benefit{ border-color:rgba(214,169,60,.3); background:linear-gradient(155deg,#fef9ec,#fff); }
.cat-memorial{ border-color:rgba(143,116,215,.25); background:linear-gradient(155deg,#f5f0ff,#fff); }
.cat-growth{ border-color:rgba(10,165,107,.2); background:linear-gradient(155deg,#f0fdf5,#fff); }
.cat-alliance{ border-color:rgba(79,195,200,.25); background:linear-gradient(155deg,#f0feff,#fff); }

/* ─── 猴果果阶段详情 ─── */
.stage-detail{
  display:block; font-size:11.5px; color:var(--muted2); line-height:1.65; margin-top:5px;
  font-style:italic;
}
.monkey-detail-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:4px;
}
@media (max-width:900px){
  .monkey-detail-grid{ grid-template-columns:1fr; }
}

/* ─── 三款藏品卡片 ─── */
.collectible-three{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px;
}
.col-card{
  border-radius:24px; padding:28px 24px; border:2px solid;
  position:relative; overflow:hidden; display:flex; flex-direction:column; gap:12px;
}
.col-diamond{
  background:linear-gradient(155deg,#f5f0ff,#ede6ff);
  border-color:rgba(143,116,215,.4);
}
.col-gold{
  background:linear-gradient(155deg,#fef9ec,#fef3d0);
  border-color:rgba(214,169,60,.4);
}
.col-silver{
  background:linear-gradient(155deg,#f0fef7,#e4f7ef);
  border-color:rgba(10,165,107,.3);
}
.col-badge{
  position:absolute; top:18px; right:18px;
  background:rgba(0,0,0,.08); color:var(--text);
  font-size:11px; font-weight:600; padding:3px 10px; border-radius:20px;
  font-family:var(--font-mono);
}
.col-tier-tag{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.1em;
  color:var(--muted2); text-transform:uppercase;
}
.col-icon{ font-size:36px; }
.col-card h4{ font-size:20px; font-weight:800; color:var(--green-deep); margin:0; }
.col-sub{ font-size:12.5px; color:var(--muted); font-style:italic; }
.col-visual{
  background:rgba(255,255,255,.6); border-radius:12px; padding:12px 14px;
}
.col-vis-desc{ font-size:12.5px; color:var(--muted); line-height:1.7; }
.col-how{ display:flex; flex-direction:column; gap:6px; }
.col-rights{ display:flex; flex-direction:column; gap:6px; }
.col-how-title{ font-size:13px; font-weight:700; color:var(--green-deep); }
.col-card ul{ padding-left:16px; display:grid; gap:5px; margin:0; }
.col-card li{ font-size:12.5px; color:var(--muted); line-height:1.7; }
.col-diamond .col-how-title{ color:#6b47c2; }
.col-gold .col-how-title{ color:#a07020; }

@media (max-width:1200px){
  .asset-five-grid{ grid-template-columns:repeat(3,1fr); }
  .collectible-three{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .asset-five-grid{ grid-template-columns:1fr 1fr; }
  .collectible-three{ grid-template-columns:1fr; }
}

/* ───────────────────────────────────────────
   10.5 上链 / 上海数交所合作 · chain-grid
─────────────────────────────────────────── */
.chain-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:20px;
}
.chain-block{
  background:rgba(255,255,255,.7); border-radius:14px;
  padding:20px; border:1px solid rgba(10,165,107,.15);
}
.chain-icon{ font-size:28px; margin-bottom:8px; }
.chain-block h5{ font-size:15px; font-weight:700; margin-bottom:8px; }
.chain-block ul{ padding-left:17px; display:grid; gap:5px; margin:0; }
.chain-block li{ font-size:13.5px; color:var(--muted); line-height:1.8; }
@media (max-width:860px){
  .chain-grid{ grid-template-columns:1fr; }
}

/* ───────────────────────────────────────────
   12 营销传播规划
─────────────────────────────────────────── */
.mktg-block{
  margin-top:28px;
}
.mktg-section-label{
  font-family:var(--font-mono); font-size:12px; font-weight:700;
  color:var(--green-mid); letter-spacing:.08em; text-transform:uppercase;
  margin-bottom:14px; padding-bottom:8px;
  border-bottom:2px solid var(--border);
}

/* 60天引爆模型 */
.timeline-60{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.t60-phase{
  border-radius:16px; padding:20px; display:flex; flex-direction:column; gap:10px;
}
.t60-p1{ background:linear-gradient(160deg,#f0fef7,#e8f9f1); border:1.5px solid rgba(10,165,107,.2); }
.t60-p2{ background:linear-gradient(160deg,#fef9ec,#fef3d0); border:1.5px solid rgba(214,169,60,.25); }
.t60-p3{ background:linear-gradient(160deg,#f5f0ff,#ede6ff); border:1.5px solid rgba(143,116,215,.22); }
.t60-range{
  font-family:var(--font-mono); font-size:11.5px; font-weight:700;
  color:var(--muted2); line-height:1.5;
}
.t60-phase h6{ font-size:15px; font-weight:700; color:var(--green-deep); margin:0; }
.t60-phase ul{ padding-left:16px; margin:0; display:grid; gap:5px; }
.t60-phase li{ font-size:13px; color:var(--muted); line-height:1.75; }

/* 三线媒体矩阵 */
.media-three-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.media-col{
  border-radius:16px; padding:20px; display:flex; flex-direction:column; gap:10px;
}
.media-owned{ background:#effaf4; border:1.5px solid rgba(10,165,107,.2); }
.media-earned{ background:#fef9ec; border:1.5px solid rgba(214,169,60,.22); }
.media-paid{ background:#eef3ff; border:1.5px solid rgba(80,120,230,.18); }
.media-head{ display:flex; flex-direction:column; gap:4px; }
.media-tag{
  font-family:var(--font-mono); font-size:10.5px; font-weight:700;
  letter-spacing:.1em; padding:2px 8px; border-radius:20px;
  display:inline-block; width:fit-content;
}
.media-owned .media-tag{ background:rgba(10,165,107,.15); color:var(--green-deep); }
.media-earned .media-tag{ background:rgba(214,169,60,.18); color:#8a6200; }
.media-paid .media-tag{ background:rgba(80,120,230,.15); color:#2244a8; }
.media-col h6{ font-size:14px; font-weight:700; color:var(--text); margin:0; }
.media-col ul{ padding-left:16px; margin:0; display:grid; gap:5px; }
.media-col li{ font-size:13px; color:var(--muted); line-height:1.75; }

/* KOL矩阵 */
.kol-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.kol-card{
  border-radius:16px; padding:20px; display:flex; flex-direction:column; gap:9px;
  border:1.5px solid;
}
.kol-tech{ background:linear-gradient(155deg,#eef3ff,#e4ecfe); border-color:rgba(80,120,230,.22); }
.kol-lifestyle{ background:linear-gradient(155deg,#f0fef7,#e6f9f0); border-color:rgba(10,165,107,.22); }
.kol-family{ background:linear-gradient(155deg,#fff8ec,#fef3d8); border-color:rgba(214,169,60,.25); }
.kol-type{
  font-family:var(--font-mono); font-size:11px; font-weight:700;
  letter-spacing:.08em; color:var(--muted2); text-transform:uppercase;
}
.kol-platform{ font-size:12px; color:var(--muted); }
.kol-desc{ font-size:13px; color:var(--text); line-height:1.7; font-style:italic; }
.kol-nums{ display:flex; flex-wrap:wrap; gap:6px; }
.kol-nums span{
  font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:20px;
  background:rgba(255,255,255,.7); color:var(--green-deep);
}
.kol-card ul{ padding-left:16px; margin:0; display:grid; gap:4px; }
.kol-card li{ font-size:12.5px; color:var(--muted); line-height:1.75; }

/* UGC 机制 */
.ugc-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
.ugc-item{
  background:rgba(255,255,255,.8); border-radius:14px;
  padding:18px; border:1px solid var(--border);
  display:flex; flex-direction:column; gap:8px;
}
.ugc-icon{ font-size:26px; }
.ugc-item h6{ font-size:14px; font-weight:700; color:var(--green-deep); margin:0; }
.ugc-item p{ font-size:13px; color:var(--muted); line-height:1.8; margin:0; }

/* ───────────────────────────────────────────
   13 果享储值会员试点
─────────────────────────────────────────── */

/* 4.1 目标网格 */
.store-pilot-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
}
.store-pilot-card{
  border-radius:16px; padding:22px; display:flex; flex-direction:column; gap:10px;
}
.sp-why{ background:linear-gradient(160deg,#f0fef7,#e8f9f1); border:1.5px solid rgba(10,165,107,.2); }
.sp-goal{ background:linear-gradient(160deg,#fef9ec,#fef3d0); border:1.5px solid rgba(214,169,60,.22); }
.sp-icon{ font-size:26px; }
.store-pilot-card h5{ font-size:15px; font-weight:700; color:var(--green-deep); margin:0; }
.store-pilot-card ul{ padding-left:17px; margin:0; display:grid; gap:5px; }
.store-pilot-card li{ font-size:13.5px; color:var(--muted); line-height:1.8; }
.sp-kpi-row{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.sp-kpi{
  background:rgba(255,255,255,.75); border-radius:10px;
  padding:12px; text-align:center; border:1px solid rgba(214,169,60,.2);
}
.sp-kv{ font-size:22px; font-weight:800; color:var(--gold); font-family:var(--font-mono); }
.sp-kl{ font-size:11.5px; color:var(--muted); margin-top:3px; line-height:1.4; }

/* 储值卡 sc-pilot-note & sc-badge-dark */
.sc-pilot-note{
  font-size:11.5px; color:var(--muted2); border-top:1px solid var(--border);
  padding-top:8px; margin-top:4px; font-style:italic;
}
.sc-badge-dark{
  background:linear-gradient(135deg,#1a2a22,#0d5c3a) !important;
  color:#a3e8c0 !important;
}

/* 4.3 试点城市 */
.pilot-cities{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.pc-card{
  border-radius:16px; padding:20px; display:flex; flex-direction:column; gap:10px;
  border:2px solid;
}
.pc-tier1{ background:linear-gradient(160deg,#f0fef7,#e6f9ef); border-color:rgba(10,165,107,.3); }
.pc-tier2{ background:linear-gradient(160deg,#fef9ec,#fef3d2); border-color:rgba(214,169,60,.3); }
.pc-tier3{ background:linear-gradient(160deg,#f5f0ff,#ede6ff); border-color:rgba(143,116,215,.3); }
.pc-phase{
  font-family:var(--font-mono); font-size:11px; font-weight:700;
  color:var(--muted2); letter-spacing:.1em;
}
.pc-card h6{ font-size:16px; font-weight:800; color:var(--green-deep); margin:0; }
.pc-why{ font-size:12.5px; color:var(--muted); line-height:1.75; }
.pc-how strong{ font-size:12.5px; color:var(--green-mid); display:block; margin-bottom:5px; }
.pc-how ul{ padding-left:16px; margin:0; display:grid; gap:4px; }
.pc-how li{ font-size:12.5px; color:var(--muted); line-height:1.75; }
.pc-timeline{
  font-family:var(--font-mono); font-size:11.5px; font-weight:700;
  color:var(--green); margin-top:auto; padding-top:10px;
  border-top:1px solid var(--border);
}

/* 4.4 飞轮 */
.flywheel-grid{
  display:flex; align-items:flex-start; gap:8px; flex-wrap:wrap;
}
.fw-step{
  flex:1; min-width:140px; background:rgba(255,255,255,.8);
  border-radius:12px; padding:16px; border:1px solid var(--border);
  display:flex; flex-direction:column; gap:6px;
}
.fw-num{
  font-family:var(--font-mono); font-size:12px; font-weight:700;
  color:var(--green); background:rgba(10,165,107,.1);
  width:28px; height:28px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.fw-step h6{ font-size:14px; font-weight:700; color:var(--green-deep); margin:0; }
.fw-step p{ font-size:12.5px; color:var(--muted); line-height:1.7; margin:0; }
.fw-arrow{
  font-size:20px; color:var(--green); align-self:center;
  flex-shrink:0; padding:0 2px;
}

/* 4.5 门店配套 */
.store-exp-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
}
.se-item{
  background:rgba(255,255,255,.85); border-radius:14px;
  padding:18px; border:1px solid var(--border);
  display:flex; flex-direction:column; gap:7px;
}
.se-icon{ font-size:24px; }
.se-item h6{ font-size:14px; font-weight:700; color:var(--green-deep); margin:0; }
.se-item p{ font-size:13px; color:var(--muted); line-height:1.75; margin:0; }

/* 4.6 财务表格 */
.finance-table-wrap{ overflow-x:auto; }
.finance-table{
  width:100%; border-collapse:collapse;
  font-size:13.5px; border-radius:14px; overflow:hidden;
}
.finance-table th{
  background:var(--green-deep); color:#fff;
  padding:11px 14px; text-align:left; font-weight:600;
}
.finance-table td{
  padding:11px 14px; border-bottom:1px solid var(--border);
  color:var(--text); vertical-align:top;
}
.finance-table tr:nth-child(even) td{ background:rgba(10,165,107,.04); }
.finance-table tr:hover td{ background:rgba(10,165,107,.08); }
.finance-highlight td{
  background:rgba(10,165,107,.1) !important;
  font-weight:600;
}

/* 4.7 风险网格 */
.risk-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:16px;
}
.risk-item{
  background:rgba(255,255,255,.85); border-radius:14px;
  padding:20px; border:1px solid var(--border);
  display:flex; flex-direction:column; gap:8px;
}
.risk-level{
  display:inline-block; font-size:11.5px; font-weight:700;
  padding:3px 10px; border-radius:20px; width:fit-content;
  font-family:var(--font-mono);
}
.risk-mid{ background:#fef3d0; color:#8a6200; }
.risk-low{ background:#dff1e8; color:var(--green-deep); }
.risk-item h6{ font-size:14.5px; font-weight:700; color:var(--text); margin:0; }
.risk-trigger{
  font-family:var(--font-mono); font-size:11.5px; color:var(--muted2);
  background:rgba(0,0,0,.04); padding:4px 10px; border-radius:6px;
}
.risk-item p{ font-size:13px; color:var(--muted); line-height:1.8; margin:0; }

/* ─── 响应式 ─── */
@media (max-width:1200px){
  .shell{ grid-template-columns:1fr; }
  .sidebar{ display:none; }
  .tier-grid,
  .stage-row{ grid-template-columns:repeat(3,1fr); }
  .anniv-phases,
  .kpi-grid,
  .dept-grid{ grid-template-columns:repeat(2,1fr); }
  .exec-phase,
  .account-upgrade,
  .prop-grid{ grid-template-columns:1fr; }
  .prop-arrow{ transform:rotate(90deg); }
  .alliance-grid,
  .monkey-panel,
  .dual-pts{ grid-template-columns:1fr; }
  .vp-grid{ grid-template-columns:1fr 1fr; }
  .store-cards{ grid-template-columns:1fr; }
  .g2,.g3,.g4{ grid-template-columns:1fr; }
  .hero-grid{ grid-template-columns:1fr; }
  .hero-right{ display:none; }
  .footer-inner{ grid-template-columns:1fr; gap:28px; }
  /* 新增响应式 */
  .chain-grid,
  .timeline-60,
  .media-three-grid,
  .kol-grid,
  .store-pilot-grid,
  .pilot-cities,
  .risk-grid{ grid-template-columns:1fr; }
  .ugc-grid{ grid-template-columns:repeat(2,1fr); }
  .store-exp-grid{ grid-template-columns:repeat(2,1fr); }
  .flywheel-grid{ flex-direction:column; }
  .fw-arrow{ transform:rotate(90deg); align-self:center; }
}
@media (max-width:640px){
  .wrap,.shell{ padding:16px; }
  .hero{ padding:110px 0 60px; }
  .chapter{ padding:24px 20px; border-radius:20px; }
  .tier-grid,
  .vp-grid,
  .stage-row{ grid-template-columns:1fr 1fr; }
  .anniv-phases,
  .kpi-grid,
  .dept-grid{ grid-template-columns:1fr; }
  .journey-row{ grid-template-columns:1fr; }
  .journey-row::before{ display:none; }
  .navlinks{ display:none; }
  .topbar .inner{ padding:0 16px; }
  h1{ font-size:34px !important; }
  /* 新增响应式 */
  .ugc-grid,
  .store-exp-grid,
  .sp-kpi-row{ grid-template-columns:1fr; }
}
