/* ==================== SPLASH 启动页（全屏覆盖层）==================== */
:root {
/* === 核心设计变量 === */
--navy:       #0a1628;
--navy-lt:    #112240;
--gold:       #c9a84c;
--gold-lt:    #dfc06a;
--gold-dk:    #a6883a;
--white:      #ffffff;
--text:       #1a1a2e;
--text-muted: #4a5568;
--muted:      #64748b;
--off-white:  #f8f9fa;
--border:     rgba(201,168,76,0.2);
--shadow-md:  0 4px 24px rgba(10,22,40,0.12);
--shadow-lg:  0 8px 40px rgba(10,22,40,0.16);
--ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
--transition-fast: .2s var(--ease-out);
--transition-med:  .3s var(--ease-out);
--bg-section-alt: #f8f9fa;

/* === Splash 变量（保留）=== */
--splash-dark: #050a14;
--splash-surface: #0a1222;
--splash-text: #e8e6f0;
--splash-muted: rgba(232,230,240,0.5);
--ceibs-red: #c0392b;
--ceibs-red-glow: rgba(192,57,43,0.4);
}

/* 覆盖整个视口 */
.splash-overlay {
position: fixed; inset: 0; z-index: 9999;
background: var(--splash-dark);
display: flex; align-items: center; justify-content: center;
overflow: hidden;
transition: opacity .8s ease, visibility .8s ease;
}
.splash-overlay.hidden {
opacity: 0; visibility: hidden; pointer-events: none;
}

/* 背景渐变 - 禁用鼠标事件 */
.splash-bg {
position: absolute; inset: 0; z-index: 0; pointer-events: none;
background:
radial-gradient(ellipse 80% 60% at 50% 40%, rgba(192,57,43,0.06) 0%, transparent 70%),
radial-gradient(ellipse 60% 40% at 30% 70%, rgba(201,168,76,0.04) 0%, transparent 60%),
linear-gradient(180deg, #050a14 0%, #0a1628 50%, #0d1a30 100%);
}

/* 辐射光线 */
.rays-container {
position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden;
}
.ray {
position: absolute; top: 50%; left: 50%; width: 2px; height: 200vmax;
transform-origin: top center; opacity: 0;
animation: rayPulse 6s ease-in-out infinite;
background: linear-gradient(to bottom, transparent, var(--ceibs-red), transparent);
}
@keyframes rayPulse {
0%, 100% { opacity: 0; transform: rotate(var(--r)) translateY(-100vh); }
50% { opacity: 0.35; transform: rotate(var(--r)) translateY(-20vh); }
}

/* 几何装饰 */
.geo-shape {
position: absolute; z-index: 1; pointer-events: none; opacity: 0;
animation: geoFloat 8s ease-in-out infinite;
}
.geo-shape.g1 { top:15%;left:8%; width:60px;height:60px; border:1px solid rgba(192,57,43,.12); transform:rotate(45deg); }
.geo-shape.g2 { top:65%;right:10%; width:40px;height:40px; border-radius:50%; border:1px solid rgba(201,168,76,.1); animation-delay:2s; }
.geo-shape.g3 { bottom:20%;left:15%; width:80px;height:80px; border:1px solid rgba(201,168,76,.07); clip-path:polygon(50% 0%,100% 100%,0% 100%); animation-delay:4s; }
@keyframes geoFloat {
0%,100% { opacity:.3; transform:translateY(0) rotate(var(--rot,0deg)); }
50% { opacity:.6; transform:translateY(-15px) rotate(calc(var(--rot,0deg)+5deg)); }
}

/* 角落装饰框 */
.corner-decor {
position:absolute;width:120px;height:120px;border:1px solid rgba(201,168,76,.12);z-index:2;pointer-events:none;
opacity:0; animation:cornerFadeIn 2s ease-out 1.5s forwards;
}
.corner-decor.tl{top:24px;left:24px;border-right:none;border-bottom:none;}
.corner-decor.tr{top:24px;right:24px;border-left:none;border-bottom:none;}
.corner-decor.bl{bottom:24px;left:24px;border-right:none;border-top:none;}
.corner-decor.br{bottom:24px;right:24px;border-left:none;border-top:none;}
@keyframes cornerFadeIn{from{opacity:0;transform:scale(.8);}to{opacity:1;transform:scale(1);}}

/* 粒子画布 - 必须禁用鼠标事件，否则挡住按钮 */
#particles-canvas{position:absolute;inset:0;z-index:1;pointer-events:none;}

/* 扫描线 */
.scanline{
position:absolute;left:0;right:0;height:2px;z-index:5;pointer-events:none;
background:linear-gradient(90deg,transparent,rgba(192,57,43,.15),rgba(201,168,76,.2),rgba(192,57,43,.15),transparent);
animation: scanMove 4s ease-in-out infinite;
}
@keyframes scanMove { 0%{top:-2%;opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{top:102%;opacity:0;} }

/* 主内容区 */
.splash-content {
position:relative;z-index:10;text-align:center;pointer-events:auto;
display:flex;flex-direction:column;align-items:center;gap:32px;padding:0 24px;
}

/* 主标题行 - 合并一行 1200+醒目金色 */
.hero-line{text-align:center;margin:0 auto;opacity:0;animation:splashFadeScaleUp 1s ease-out .8s forwards;}
.hero-line .num{
font-size:clamp(36px,6vw,56px);font-weight:900;line-height:1.2;letter-spacing:-2px;
color:#f0dfa0;
text-shadow:
0 0 20px rgba(201,168,76,.6),
0 0 40px rgba(201,168,76,.3),
0 0 80px rgba(201,168,76,.15);
}
.hero-line .plus{font-size:clamp(36px,6vw,56px);font-weight:300;color:var(--ceibs-red);margin-right:16px;text-shadow:0 0 15px rgba(192,57,43,.5);}
.hero-line .divider-char{display:inline-block;width:1px;height:.7em;background:linear-gradient(to bottom,transparent,var(--gold),transparent);vertical-align:middle;margin:0 12px;opacity:.5;}
.hero-line .tagline{
font-size:clamp(22px,4vw,38px);font-weight:700;letter-spacing:6px;
background:linear-gradient(90deg,var(--splash-text) 0%,var(--gold) 40%,var(--gold) 60%,var(--splash-text) 100%);
background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
animation: gradientFlow 4s ease-in-out infinite;
}
@keyframes gradientFlow { 0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;} }
@keyframes shimmerGold { 0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;} }
@keyframes splashFadeScaleUp { from{opacity:0;transform:scale(.92);}to{opacity:1;transform:scale(1);} }

/* ===== 全局Logo白底已透明化（PNG像素级处理） ===== */
/* logo_ceibs_cmo.png 已处理为透明底+纯白内容，无需CSS filter */

/* Logo */
.logo-glow{display:flex;align-items:center;justify-content:center;opacity:0;animation:splashFadeScaleUp .8s ease-out 1.6s forwards;}
.logo-glow img{height:42px;width:auto;filter:drop-shadow(0 0 12px rgba(0,0,0,.3));}

/* 分隔线 */
.divider-line{width:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;animation:dividerExpand 1.2s ease-out 2.0s forwards;}
@keyframes dividerExpand { from{opacity:0;width:0;}to{opacity:1;width:clamp(180px,30vw,360px);} }

/* CTA 按钮 - 点击进入俱乐部 */
.enter-btn{
position:relative;z-index:100;pointer-events:auto;
padding:16px 48px;font-size:1rem;font-weight:600;letter-spacing:6px;
color:var(--splash-text);background:transparent;border:1px solid rgba(201,168,76,.4);
cursor:pointer;overflow:hidden;transition:all .4s ease;
opacity:0;animation:splashFadeScaleUp .8s ease-out 2.4s forwards;text-decoration:none;white-space:nowrap;
}
.enter-btn::before{
content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--ceibs-red),#a0281a);opacity:0;transition:opacity .4s ease;z-index:0;
}
.enter-btn span{position:relative;z-index:1;}
.enter-btn:hover{border-color:var(--ceibs-red);box-shadow:0 0 40px rgba(192,57,43,.25),inset 0 0 20px rgba(192,57,43,.08);transform:translateY(-2px);}
.enter-btn:hover::before{opacity:1;}

/* 底部信息 */
.splash-footer{
position:absolute;bottom:28px;left:0;right:0;text-align:center;z-index:10;
font-size:.72rem;color:var(--splash-muted);letter-spacing:2px;opacity:0;animation:splashFadeIn 1s ease-out 3.0s forwards;
}
@keyframes splashFadeIn{from{opacity:0;}to{opacity:1;}}
/* ====== /END SPLASH ====== */

/* ---- 基础排版 ---- */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; -webkit-font-smoothing: antialiased; }
body {
font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
color: var(--text);
background: var(--white);
line-height: 1.8;
overflow-x: hidden;
text-align: left;
letter-spacing: 0.01em;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

/* ---- 工具类 ---- */
.container { max-width: 1140px; margin: 0 auto; padding: 0 32px; }
.section { padding: 100px 0; position: relative; }
.section--alt { background: var(--off-white); }
.section--dark { background: var(--navy); color: var(--white); }

/* 标题系统 */
.section-label {
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.22em;
text-transform: uppercase;
color: var(--gold);
margin-bottom: 12px;
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
}
.section-label::before,
.section-label::after {
content: '';
display: block;
width: 28px; height: 1px;
background: linear-gradient(90deg, transparent, var(--gold));
}
.section-label::after {
background: linear-gradient(90deg, var(--gold), transparent);
}
.section--dark .section-label { color: var(--gold-lt); }
.section--dark .section-label::before {
background: linear-gradient(90deg, transparent, var(--gold-lt));
}
.section--dark .section-label::after {
background: linear-gradient(90deg, var(--gold-lt), transparent);
}

.section-title {
font-size: clamp(1.6rem, 3.5vw, 2.4rem);
font-weight: 800;
line-height: 1.2;
color: var(--navy);
margin-bottom: 20px;
letter-spacing: -0.01em;
}
.section--dark .section-title { color: var(--white); }

.section-sub {
font-size: 1rem;
color: var(--muted);
max-width: 580px;
margin: 0 auto 56px;
text-align: center;
line-height: 1.85;
}
.section--dark .section-sub { color: rgba(255,255,255,0.55); }

.text-center { text-align: center; }

/* 分割线 — 精致金色细线 */
.divider-gold {
width: 48px; height: 2px;
background: linear-gradient(90deg, var(--gold), var(--gold-lt), var(--gold));
margin: 16px auto 0;
border-radius: 1px;
position: relative;
}
.divider-gold::after {
content: '';
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
width: 6px; height: 6px;
border-radius: 50%;
background: var(--gold);
opacity: 0.7;
box-shadow: 0 0 8px rgba(201,168,76,0.4);
}

/* ===== NAVBAR 整体优化 ===== */
.navbar {
position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
background: rgba(10,22,40,0.88);
backdrop-filter: blur(24px) saturate(1.6);
-webkit-backdrop-filter: blur(24px) saturate(1.6);
padding: 0 40px;
display: flex; align-items: center; justify-content: space-between;
height: 70px;
text-align: left;
transition: background var(--transition-med);
border-bottom: 1px solid rgba(201,168,76,0.06);
}
.navbar.scrolled {
background: rgba(10,22,40,0.96);
box-shadow: 0 4px 30px rgba(0,0,0,0.25);
border-bottom-color: rgba(201,168,76,0.12);
}

/* Brand / Logo */
.navbar-brand {
display: flex; align-items: center;
transition: transform var(--transition-fast);
}
.navbar-brand:hover {
transform: scale(1.02);
}
.navbar-brand a {
display: flex; align-items: center;
text-decoration: none;
}
.navbar-brand img,
.navbar-logo {
height: 38px;
width: auto;
display: block;
filter: drop-shadow(0 0 10px rgba(201,168,76,0.12));
transition: filter 0.3s ease, transform 0.3s ease;
}
.navbar-brand:hover img,
.navbar-brand:hover .navbar-logo {
filter: drop-shadow(0 0 18px rgba(201,168,76,0.3));
transform: scale(1.03);
}

/* Site name (used in some pages) */
.navbar-name {
display: flex; flex-direction: column; line-height: 1.3;
}
.navbar-name-cn {
font-size: .92rem; font-weight: 700;
letter-spacing: .04em;
background: linear-gradient(90deg, var(--white) 0%, var(--gold-lt) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.navbar-name-en {
font-size: .65rem; color: var(--gold); letter-spacing: .08em;
text-transform: uppercase; font-weight: 600;
}

/* Nav items */
.navbar-nav {
display: flex; gap: 48px; list-style: none; align-items: center;
}
.navbar-nav a {
font-size: 0.9rem;
font-weight: 500;
color: rgba(255,255,255,0.72);
letter-spacing: 0.03em;
transition: color 0.3s ease;
padding: 8px 0;
position: relative;
text-decoration: none;
white-space: nowrap;
}
.navbar-nav a::after {
content: '';
position: absolute;
bottom: 0; left: 50%;
width: 0; height: 2px;
background: var(--gold);
transition: width 0.3s ease, left 0.3s ease;
border-radius: 1px;
}
.navbar-nav a:hover {
color: var(--gold);
}
.navbar-nav a:hover::after {
width: 100%; left: 0;
}
.navbar-nav a.active,
.navbar-nav a.nav-active {
color: var(--gold);
}
.navbar-nav a.active::after,
.navbar-nav a.nav-active::after {
width: 100%; left: 0;
}

/* CTA Button */
.navbar-cta {
padding: 7px 20px !important;
border: 1.5px solid var(--gold) !important;
border-radius: 100px !important;
color: var(--gold) !important;
font-weight: 600 !important;
background: transparent !important;
transition: all 0.3s ease !important;
box-shadow: none !important;
margin-left: 4px;
}
.navbar-cta::after {
display: none !important;
}
.navbar-cta:hover {
background: var(--gold) !important;
color: var(--navy) !important;
box-shadow: 0 0 24px rgba(201,168,76,0.35) !important;
transform: translateY(-1px);
}

/* ---- HERO 优化 ---- */
.hero {
min-height: 100vh;
min-height: 100dvh;
background: linear-gradient(160deg, var(--navy) 0%, #0f1d32 45%, #1a0a28 100%);
display: flex; align-items: center;
position: relative; overflow: hidden;
padding-top: 64px;
}
.hero-bg-pattern {
position: absolute; inset: 0; pointer-events: none;
background-image:
radial-gradient(circle at 15% 50%, rgba(201,168,76,.10) 0%, transparent 50%),
radial-gradient(circle at 85% 20%, rgba(201,168,76,.06) 0%, transparent 40%),
radial-gradient(circle at 50% 80%, rgba(192,57,43,.04) 0%, transparent 40%);
}
.hero-grid {
position: absolute; inset: 0; pointer-events: none; opacity: .04;
background-image: linear-gradient(rgba(201,168,76,.5) 1px, transparent 1px),
linear-gradient(90deg, rgba(201,168,76,.5) 1px, transparent 1px);
background-size: 60px 60px;
}
.hero-inner {
position: relative; z-index: 2;
max-width: 760px;
}
.hero-badge {
display: inline-flex; align-items: center; gap: 8px;
background: rgba(201,168,76,.12);
border: 1px solid rgba(201,168,76,.3);
border-radius: 50px;
padding: 6px 16px;
font-size: .78rem; font-weight: 700;
color: var(--gold); letter-spacing: .1em;
text-transform: uppercase;
margin-bottom: 28px;
}
.hero-badge-dot {
width: 7px; height: 7px; border-radius: 50%;
background: var(--gold); animation: pulse 2s infinite;
}
@keyframes pulse {
0%,100% { opacity: 1; } 50% { opacity: .3; }
}
.hero-title {
font-size: clamp(2.4rem, 5vw, 4rem);
font-weight: 900;
line-height: 1.15;
margin-bottom: 10px;
letter-spacing: -.01em;
background: linear-gradient(135deg, var(--white) 0%, var(--gold-lt) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero-title-sub {
font-size: clamp(1.1rem, 2.5vw, 1.6rem);
color: var(--gold);
font-weight: 700;
margin-bottom: 24px;
letter-spacing: .04em;
}
.hero-desc {
font-size: 1.05rem;
color: rgba(255,255,255,.7);
max-width: 560px;
margin-bottom: 44px;
line-height: 1.9;
}
.hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.btn-gold {
background: linear-gradient(135deg, var(--gold) 0%, #dbb85a 50%, var(--gold-dk) 100%);
color: var(--navy);
font-weight: 800;
font-size: .95rem;
padding: 14px 32px;
border-radius: 6px;
border: none; cursor: pointer;
transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out);
letter-spacing: .03em;
box-shadow: 0 4px 20px rgba(201,168,76,0.35);
position: relative;
overflow: hidden;
}
.btn-gold::after {
content: '';
position: absolute; inset: 0;
background: linear-gradient(135deg, transparent 0%, rgba(255,255,255,.2) 50%, transparent 100%);
opacity: 0; transition: opacity .3s;
}
.btn-gold:hover { 
transform: translateY(-3px); 
box-shadow: 0 8px 32px rgba(201,168,76,0.5);
}
.btn-gold:hover::after { opacity: 1; }
.btn-outline-white {
background: transparent;
color: var(--white);
font-weight: 700;
font-size: .95rem;
padding: 13px 30px;
border-radius: 6px;
border: 1.5px solid rgba(255,255,255,.3);
cursor: pointer;
transition: all .3s var(--ease-out);
position: relative;
overflow: hidden;
}
.btn-outline-white:hover {
border-color: var(--gold);
color: var(--gold-lt);
background: rgba(201,168,76,.06);
transform: translateY(-2px);
}

/* ---- PORTAL 导览卡片 ---- */
.portal-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}
.portal-card {
  display: flex;
  flex-direction: column;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 14px;
  padding: 26px 20px 22px;
  text-align: left;
  color: var(--white);
  transition: transform .4s var(--ease-out), box-shadow .4s var(--ease-out), border-color .3s, background .3s;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  min-width: 0;
}
.portal-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .5;
  transition: opacity .3s;
}
.portal-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 48px rgba(0,0,0,.45), 0 0 40px rgba(201,168,76,.06);
  border-color: rgba(201,168,76,.45);
  background: rgba(255,255,255,.06);
}
.portal-card:hover::before { opacity: 1; }
.portal-card-index {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.2rem;
  font-weight: 700;
  background: linear-gradient(135deg, var(--gold-lt), var(--gold));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  margin-bottom: 14px;
  letter-spacing: -.02em;
}
.portal-card-title {
  font-size: 1.08rem;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 8px;
  line-height: 1.4;
  letter-spacing: .02em;
}
.portal-card-divider {
  width: 24px;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--gold-dk));
  border-radius: 1px;
  margin-bottom: 10px;
  opacity: .5;
  transition: width .3s var(--ease-out), opacity .3s;
}
.portal-card:hover .portal-card-divider {
  width: 36px;
  opacity: 1;
}
.portal-card-desc {
  font-size: .85rem;
  color: rgba(255,255,255,.62);
  line-height: 1.7;
  flex: 1;
  margin-bottom: 16px;
}
.portal-card-link {
  font-size: .78rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .06em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap .3s var(--ease-out), color .2s;
}
.portal-card:hover .portal-card-link {
  gap: 10px;
  color: var(--gold-lt);
}

.hero-stats {
display: flex; gap: 44px;
margin-top: 60px;
padding-top: 44px;
border-top: 1px solid rgba(255,255,255,.1);
}
.hero-stat-num {
font-size: 2.2rem; font-weight: 900; color: var(--gold);
line-height: 1.1;
background: linear-gradient(135deg, var(--gold-lt), var(--gold));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero-stat-label {
font-size: .8rem; color: rgba(255,255,255,.5);
margin-top: 6px; letter-spacing: .04em;
}

/* ---- 滚动入场动画 ---- */
.reveal {
opacity: 0;
transform: translateY(32px);
transition: opacity .7s var(--ease-out), transform .7s var(--ease-out);
}
.reveal.visible {
opacity: 1;
transform: translateY(0);
}
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }
.reveal-delay-4 { transition-delay: .4s; }

/* Portal 卡片入场交错延迟 */
.portal-card.reveal:nth-child(1) { transition-delay: .05s; }
.portal-card.reveal:nth-child(2) { transition-delay: .15s; }
.portal-card.reveal:nth-child(3) { transition-delay: .25s; }
.portal-card.reveal:nth-child(4) { transition-delay: .35s; }
.portal-card.reveal:nth-child(5) { transition-delay: .45s; }

/* ==================== About Hero ==================== */
.about-hero {
  position: relative;
  width: 100%;
  min-height: 520px;
  overflow: hidden;
  background: linear-gradient(170deg, #080e1a 0%, var(--navy) 40%, #0f1d35 70%, #0a1225 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 90px 24px 80px;
}

/* -- 背景层 -- */
.about-hero__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

/* 几何网格 */
.about-hero__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(201,168,76,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,76,.03) 1px, transparent 1px);
  background-size: 60px 60px;
}

/* 金字塔容器 */
.about-hero__pyramid-wrap {
  position: absolute;
  right: 8%;
  bottom: 0;
  width: 380px;
  height: 360px;
  opacity: .7;
  z-index: 1;
}
.about-hero__pyramid {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 0 40px rgba(201,168,76,.08));
}

/* 环境光晕 */
.about-hero__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
}
.about-hero__glow--top {
  width: 420px; height: 420px;
  top: -160px; left: 50%;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(201,168,76,.12) 0%, transparent 70%);
}
.about-hero__glow--mid {
  width: 350px; height: 350px;
  top: 30%; right: 0;
  background: radial-gradient(circle, rgba(223,192,106,.06) 0%, transparent 70%);
}
.about-hero__glow--bottom-left {
  width: 300px; height: 300px;
  bottom: 0; left: -60px;
  background: radial-gradient(circle, rgba(10,22,40,.8) 0%, transparent 70%);
}

/* -- 前景内容层 -- */
.about-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 720px;
}

/* 标签行 */
.about-hero__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 20px;
}
.about-hero__label-text {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--gold-lt);
}
.about-hero__label-line {
  display: block;
  width: 36px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .5;
}

/* 主标题 */
.about-hero__title {
  margin-bottom: 18px;
}
.about-hero__title-line {
  display: block;
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 800;
  line-height: 1.15;
  color: #fff;
  letter-spacing: .02em;
}
.about-hero__title-line--highlight {
  display: inline-block;
  font-size: clamp(2.2rem, 4.5vw, 3.2rem);
  background: linear-gradient(135deg, #dfc06a 0%, #c9a84c 40%, #f0d880 60%, #c9a84c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 2px 8px rgba(201,168,76,.25));
}

/* 副标题 */
.about-hero__sub {
  font-size: .9rem;
  color: rgba(255,255,255,.55);
  line-height: 1.7;
  margin-bottom: 28px;
}

/* 金色装饰线 */
.about-hero__accent {
  width: 100px;
  height: 2px;
  margin: 0 auto 32px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  position: relative;
}
.about-hero__accent::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 6px; height: 6px;
  background: var(--gold-lt);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(223,192,106,.5);
}

/* 统计数据行 */
.about-hero__stats {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 28px 36px;
}
.about-hero__stat {
  text-align: center;
}
.about-hero__stat-num {
  display: block;
  font-size: 1.6rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.about-hero__stat-label {
  display: block;
  font-size: .72rem;
  color: rgba(255,255,255,.4);
  margin-top: 4px;
  letter-spacing: .06em;
}
.about-hero__stat-divider {
  width: 1px; height: 32px;
  background: linear-gradient(to bottom, transparent, rgba(201,168,76,.25), transparent);
}

/* -- 响应式 -- */
@media (max-width: 900px) {
  .about-hero {
    min-height: 440px;
    padding: 70px 24px 64px;
  }
  .about-hero__pyramid-wrap {
    right: -40px;
    width: 260px;
    height: 260px;
    opacity: .4;
  }
  .about-hero__stats { gap: 20px 24px; }
  .about-hero__stat-num { font-size: 1.3rem; }
}

@media (max-width: 640px) {
  .about-hero {
    min-height: 380px;
    padding: 56px 20px 48px;
  }
  .about-hero__pyramid-wrap {
    right: -60px;
    width: 180px;
    height: 180px;
    opacity: .25;
    bottom: 10%;
  }
  .about-hero__title-line { font-size: 1.6rem; }
  .about-hero__title-line--highlight { font-size: 1.75rem; }
  .about-hero__sub { font-size: .8rem; }
  .about-hero__stats { gap: 16px 20px; }
  .about-hero__stat-num { font-size: 1.1rem; }
  .about-hero__stat-label { font-size: .65rem; }
}

@media (max-width: 420px) {
  .about-hero {
    min-height: 340px;
    padding: 48px 16px 40px;
  }
  .about-hero__pyramid-wrap { display: none; }
  .about-hero__title-line { font-size: 1.4rem; }
  .about-hero__title-line--highlight { font-size: 1.5rem; }
  .about-hero__stats { gap: 12px 16px; }
  .about-hero__stat-num { font-size: 1rem; }
}

/* ---- ABOUT ---- */
.about-intro {
display: grid; grid-template-columns: 1fr 1fr; gap: 72px;
align-items: center; margin-bottom: 72px;
}
.about-text .section-title { text-align: left; }
.about-text .divider-gold { margin: 14px 0 0; }
.about-tagline {
font-size: 1.4rem; font-weight: 700; color: var(--gold);
margin: 24px 0 16px; line-height: 1.4;
}
.about-body { color: var(--muted); line-height: 1.9; margin-bottom: 20px; }
.three-wu {
background: var(--navy);
border-radius: 12px;
padding: 36px 32px;
color: var(--white);
}
.three-wu-title {
font-size: 1.1rem; font-weight: 800; color: var(--gold);
letter-spacing: .06em; margin-bottom: 22px;
text-align: center;
}
.three-wu-grid {
display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px;
margin-bottom: 24px;
}
.wu-item {
background: rgba(201,168,76,.07);
border: 1px solid rgba(201,168,76,.2);
border-radius: 8px;
padding: 18px 14px; text-align: center;
}
.wu-char {
font-size: 2rem; font-weight: 900; color: var(--gold);
line-height: 1;
}
.wu-label {
font-size: .8rem; color: rgba(255,255,255,.65);
margin-top: 6px; letter-spacing: .04em;
}
.four-you-grid {
display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.you-item {
background: rgba(255,255,255,.04);
border-radius: 8px;
padding: 14px 16px;
display: flex; align-items: center; gap: 10px;
}
.you-icon {
width: 32px; height: 32px; border-radius: 50%;
background: var(--gold);
color: var(--navy);
display: flex; align-items: center; justify-content: center;
font-weight: 900; font-size: 1rem; flex-shrink: 0;
}
.you-text { font-size: .88rem; color: rgba(255,255,255,.8); }

/* Portrait data */
.portrait-grid {
display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
margin-top: 12px;
}
.portrait-card {
background: var(--white);
border: 1px solid var(--border);
border-radius: 12px;
padding: 28px 24px; text-align: center;
transition: all var(--transition-med);
}
.portrait-card:hover {
box-shadow: var(--shadow-md);
border-color: rgba(201,168,76,.2);
}
.portrait-num {
font-size: 2.4rem; font-weight: 900; color: var(--navy);
line-height: 1;
}
.portrait-num span { color: var(--gold); }
.portrait-label {
font-size: .84rem; color: var(--muted);
margin-top: 8px; line-height: 1.5;
}

/* Timeline */
.timeline { position: relative; padding-left: 30px; }
.timeline::before {
content: '';
position: absolute; left: 8px; top: 6px; bottom: 6px;
width: 2px; background: linear-gradient(to bottom, var(--gold), rgba(201,168,76,.1));
}
.tl-item { position: relative; margin-bottom: 32px; }
.tl-dot {
position: absolute; left: -26px; top: 5px;
width: 12px; height: 12px; border-radius: 50%;
background: var(--gold); border: 2px solid var(--white);
box-shadow: 0 0 0 3px rgba(201,168,76,.2);
}
.tl-year {
font-size: .78rem; font-weight: 800; color: var(--gold);
letter-spacing: .1em; text-transform: uppercase; margin-bottom: 3px;
}
.tl-event { font-size: .93rem; color: var(--text); line-height: 1.55; }
.tl-sub { font-size: .82rem; color: var(--muted); margin-top: 2px; }

/* ---- FORUM ---- */
/* ---- 论坛统一卡片 ---- */
.forum-unified {
  position: relative;
  margin-top: 48px;
  background: linear-gradient(160deg, #0d1b2a 0%, #0f2040 40%, #0d1b2a 100%);
  border-radius: 18px;
  padding: 44px 40px 36px;
  overflow: hidden;
  border: 1px solid rgba(201,168,76,.1);
}
.forum-unified::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--gold) 30%, var(--gold-lt) 50%, var(--gold) 70%, transparent);
  opacity: .7;
}
.forum-unified::after {
  content: '';
  position: absolute;
  top: -80px; right: -60px;
  width: 280px; height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,.06) 0%, transparent 70%);
  pointer-events: none;
}
.forum-unified__header {
  text-align: center;
  margin-bottom: 32px;
  position: relative;
  z-index: 1;
}
.forum-unified__subtitle {
  font-size: .72rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .12em;
  margin-bottom: 8px;
}
.forum-unified__title {
  font-size: 1.42rem;
  font-weight: 900;
  color: var(--white);
  letter-spacing: .04em;
  margin-bottom: 8px;
}
.forum-unified__tagline {
  font-size: .9rem;
  color: rgba(255,255,255,.55);
  letter-spacing: .04em;
  line-height: 1.6;
  max-width: 680px;
  margin: 0 auto;
}
.forum-unified__stats {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 24px 0 32px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.forum-unified__stat {
  text-align: center;
}
.forum-unified__stat-num {
  font-size: 1.7rem;
  font-weight: 900;
  color: var(--gold-lt);
  line-height: 1.1;
}
.forum-unified__stat-label {
  font-size: .72rem;
  color: rgba(255,255,255,.42);
  margin-top: 4px;
  letter-spacing: .04em;
}
.forum-unified__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  position: relative;
  z-index: 1;
}
.forum-past-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(201,168,76,.1);
  border-radius: 12px;
  padding: 18px 16px 16px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--white);
  transition: border-color .3s, background .3s, transform .3s;
  position: relative;
  overflow: hidden;
  min-width: 0;
}
.forum-past-card:hover {
  border-color: rgba(201,168,76,.35);
  background: rgba(255,255,255,.06);
  transform: translateY(-3px);
}
.forum-past-card::before {
  content: '';
  position: absolute;
  top: 0; left: 50%; transform: translateX(-50%);
  width: 24px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  border-radius: 0 0 2px 2px;
  opacity: .3;
  transition: width .3s, opacity .3s;
}
.forum-past-card:hover::before {
  width: 40px;
  opacity: .8;
}
.forum-past-card__year {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
  font-weight: 700;
  background: linear-gradient(135deg, var(--gold-lt), var(--gold));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  margin-bottom: 8px;
}
.forum-past-card__edition {
  font-size: .7rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .08em;
  margin-bottom: 8px;
}
.forum-past-card__theme {
  font-size: .85rem;
  font-weight: 600;
  color: rgba(255,255,255,.82);
  line-height: 1.45;
  flex: 1;
  margin-bottom: 12px;
}
.forum-past-card__link {
  font-size: .72rem;
  font-weight: 700;
  color: rgba(201,168,76,.65);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  letter-spacing: .04em;
  transition: gap .25s, color .2s;
}
.forum-past-card:hover .forum-past-card__link {
  gap: 8px;
  color: var(--gold);
}

/* ---- 年度盛典区域 ---- */
.annual-section {
  background: linear-gradient(160deg, #0a1628 0%, #0d1b2a 40%, #0a1628 100%);
  border-radius: 20px;
  padding: 44px 36px 36px;
  margin-top: 56px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(201,168,76,.08);
}
.annual-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.35) 30%, var(--gold) 50%, rgba(201,168,76,.35) 70%, transparent);
}
.annual-section::after {
  content: '';
  position: absolute;
  bottom: -60px; left: -60px;
  width: 220px; height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,.04) 0%, transparent 70%);
  pointer-events: none;
}
.annual-section__header {
  text-align: center;
  margin-bottom: 32px;
  position: relative;
  z-index: 1;
}
.annual-section__title {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--white);
  letter-spacing: .04em;
  margin-bottom: 8px;
}
.annual-section__sub {
  font-size: .88rem;
  color: rgba(255,255,255,.5);
  letter-spacing: .04em;
}
.annual-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 14px;
  position: relative;
  z-index: 1;
}
.annual-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(201,168,76,.1);
  border-radius: 12px;
  padding: 20px 18px;
  transition: all var(--transition-med);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.annual-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--gold-lt), var(--gold));
  opacity: 0;
  transition: opacity .3s;
}
.annual-card:hover { 
  background: rgba(255,255,255,.08);
  border-color: rgba(201,168,76,.3);
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0,0,0,.3);
}
.annual-card:hover::after { opacity: .8; }
.annual-year {
  font-size: .72rem;
  font-weight: 800;
  color: var(--gold);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.annual-theme {
  font-size: .92rem;
  font-weight: 700;
  color: rgba(255,255,255,.85);
  line-height: 1.4;
  margin-bottom: 8px;
  flex: 1;
}
.annual-location {
  font-size: .75rem;
  color: rgba(255,255,255,.4);
  letter-spacing: .03em;
}

/* ==============================
   营销的奥义 联合论坛卡片
   ============================== */
/* ---- 奥义区域容器 ---- */
.mystery-section {
  margin-top: 56px;
  background: linear-gradient(160deg, #0a1628 0%, #0f2040 40%, #0d1b2a 100%);
  border-radius: 20px;
  padding: 52px 40px 44px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(201,168,76,.08);
}
.mystery-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.35) 30%, var(--gold) 50%, rgba(201,168,76,.35) 70%, transparent);
}
.mystery-section::after {
  content: '';
  position: absolute;
  top: -80px; right: -60px;
  width: 280px; height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,.05) 0%, transparent 70%);
  pointer-events: none;
}
.mystery-section__header {
  text-align: center;
  margin-bottom: 32px;
  position: relative;
  z-index: 1;
}
.mystery-section__title {
  font-size: 2rem;
  font-weight: 900;
  color: var(--gold);
  letter-spacing: .04em;
  margin: 8px 0 16px;
  line-height: 1.2;
}
.mystery-section__subtitle {
  display: block;
  font-size: .35em;
  font-weight: 400;
  opacity: .6;
  letter-spacing: .16em;
  color: rgba(255,255,255,.55);
  margin-top: 6px;
}
.mystery-section__desc {
  max-width: 640px;
  margin: 0 auto;
  font-size: .88rem;
  color: rgba(255,255,255,.55);
  line-height: 1.8;
  letter-spacing: .03em;
}
.mystery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  max-width: 920px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.mystery-card {
  display: block;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 36px 32px 32px;
  text-decoration: none; color: #fff;
  text-align: center;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
  position: relative; overflow: hidden;
}
.mystery-card::before {
  content: '';
  position: absolute; top: 0; left: 24px; right: 24px; height: 3px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  border-radius: 0 0 3px 3px;
  opacity: 0; transition: opacity .35s ease;
}
.mystery-card::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(201,168,76,.08) 0%, transparent 70%);
  opacity: 0; transition: opacity .35s ease;
  pointer-events: none;
}
.mystery-card:hover {
  background: rgba(255,255,255,.12);
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,.3), 0 0 0 1px rgba(201,168,76,.2) inset;
  border-color: rgba(201,168,76,.25);
}
.mystery-card:hover::before { opacity: 1; }
.mystery-card:hover::after { opacity: 1; }

.mystery-card__badge {
  font-size: .72rem; opacity: .6;
  text-transform: uppercase; letter-spacing: 1.5px;
  margin-bottom: 12px;
}

.mystery-card__title {
  font-size: 1.15rem; font-weight: 700;
  margin-bottom: 12px; line-height: 1.4;
  color: var(--gold);
  transition: color .25s ease;
}
.mystery-card:hover .mystery-card__title {
  color: var(--gold-lt);
}

.mystery-card__desc {
  font-size: .84rem; opacity: .75;
  line-height: 1.7; margin-bottom: 18px;
  color: rgba(255,255,255,.75);
  transition: opacity .25s ease;
}
.mystery-card:hover .mystery-card__desc { opacity: .9; }

.mystery-card__guests {
  display: flex; gap: 6px; flex-wrap: wrap;
  justify-content: center; margin-bottom: 20px;
}
.mystery-card__guests span {
  background: rgba(201,168,76,.12);
  border: 1px solid rgba(201,168,76,.25);
  border-radius: 20px;
  padding: 3px 12px; font-size: .72rem;
  color: var(--gold-lt);
  transition: background .25s ease, border-color .25s ease;
}
.mystery-card:hover .mystery-card__guests span {
  background: rgba(201,168,76,.2);
  border-color: rgba(201,168,76,.4);
}

.mystery-card__cta {
  display: inline-block;
  font-size: .8rem; font-weight: 600;
  color: var(--navy);
  background: linear-gradient(135deg, var(--gold), var(--gold-lt));
  padding: 8px 28px;
  border-radius: 20px;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.mystery-card__cta i {
  font-style: normal;
  display: inline-block;
  transition: transform .25s ease;
}
.mystery-card:hover .mystery-card__cta {
  background: linear-gradient(135deg, var(--gold-lt), #f0d78c);
  box-shadow: 0 4px 16px rgba(201,168,76,.35);
  transform: translateY(-1px);
}
.mystery-card:hover .mystery-card__cta i {
  transform: translateX(3px);
}

.whitepaper-band {
background: linear-gradient(90deg, #fff8e8 0%, #fffdf5 100%);
border: 1px solid var(--gold-lt);
border-radius: 12px;
padding: 36px 40px;
display: flex; gap: 36px; align-items: center;
margin-top: 52px;
}
.wp-icon {
width: 64px; height: 64px; border-radius: 12px;
background: var(--gold); color: var(--navy);
display: flex; align-items: center; justify-content: center;
font-size: 1.7rem; font-weight: 900; flex-shrink: 0;
}
.wp-title { font-size: 1.1rem; font-weight: 800; color: var(--navy); margin-bottom: 6px; }
.wp-desc { font-size: .9rem; color: var(--muted); line-height: 1.7; }

/* ==================== 第六届论坛详情页 ==================== */

/* ---- 页面容器 ---- */
.forum-detail {
  padding: 0 0 80px;
}
.forum-detail .container {
  max-width: 960px;
}

/* ---- 论坛头部 Hero ---- */
.forum-hero {
  text-align: center;
  padding: 80px 0 56px;
  position: relative;
}
.forum-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 200px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .5;
}
.forum-hero__label {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.forum-hero__label::before,
.forum-hero__label::after {
  content: '';
  display: block;
  width: 32px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold));
  opacity: .4;
}
.forum-hero__label::after {
  background: linear-gradient(90deg, var(--gold), transparent);
}
.forum-hero__title {
  font-size: clamp(1.7rem, 3.8vw, 2.6rem);
  font-weight: 900;
  line-height: 1.2;
  color: var(--navy);
  margin-bottom: 14px;
  letter-spacing: -.01em;
}
.forum-hero__title span {
  background: linear-gradient(135deg, var(--gold), var(--gold-lt));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.forum-hero__divider {
  width: 48px; height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--gold-lt), var(--gold));
  margin: 0 auto 18px;
  border-radius: 1px;
  position: relative;
}
.forum-hero__divider::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  opacity: .7;
  box-shadow: 0 0 8px rgba(201,168,76,.4);
}
.forum-hero__meta {
  display: flex;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.6;
}
.forum-hero__meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* ---- 主题信息卡片 ---- */
.forum-theme-card {
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--border);
  border-left: 4px solid var(--gold);
  border-radius: 14px;
  padding: 32px 36px;
  margin-bottom: 52px;
  position: relative;
  overflow: hidden;
}
.forum-theme-card::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 180px; height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,.05) 0%, transparent 70%);
  pointer-events: none;
}
.forum-theme-card__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 8px;
  letter-spacing: .02em;
}
.forum-theme-card__desc {
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.6;
  color: var(--navy);
  margin-bottom: 20px;
}
.forum-theme-card__host {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 16px;
  margin-bottom: 18px;
  font-size: .88rem;
  color: var(--muted);
  line-height: 1.8;
}
.forum-theme-card__host strong {
  color: var(--navy);
  font-weight: 600;
}
.forum-theme-card__support {
  display: inline-block;
  font-size: .78rem;
  color: var(--gold);
  font-weight: 600;
  letter-spacing: .04em;
  white-space: nowrap;
}
.forum-theme-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.forum-tag {
  display: inline-block;
  padding: 4px 14px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--gold-dk);
  background: rgba(201,168,76,.1);
  border: 1px solid rgba(201,168,76,.2);
  border-radius: 20px;
  letter-spacing: .02em;
}
.forum-theme-card__anniversary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(201,168,76,.06);
  border: 1px solid rgba(201,168,76,.12);
  border-radius: 10px;
  padding: 10px 18px;
  margin-bottom: 20px;
}
.forum-theme-card__anniversary .badge {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
}
.forum-theme-card__anniversary .text {
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.4;
}
.forum-theme-card__report {
  background: rgba(201,168,76,.04);
  border: 1px solid rgba(201,168,76,.1);
  border-radius: 10px;
  padding: 14px 18px;
}
.forum-theme-card__report-label {
  font-size: .72rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.forum-theme-card__report-body {
  font-size: .88rem;
  color: var(--text);
  line-height: 1.7;
}

/* ---- 通用区块标题 ---- */
.forum-section {
  margin-bottom: 48px;
}
.forum-section__header {
  text-align: center;
  margin-bottom: 36px;
  position: relative;
}
.forum-section__label {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.forum-section__label::before,
.forum-section__label::after {
  content: '';
  display: block;
  width: 24px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold));
  opacity: .4;
}
.forum-section__label::after {
  background: linear-gradient(90deg, var(--gold), transparent);
}
.forum-section__title {
  font-size: clamp(1.25rem, 2.8vw, 1.65rem);
  font-weight: 800;
  color: var(--navy);
  letter-spacing: .01em;
  line-height: 1.3;
}

/* ---- 嘉宾阵容 - 3列精致卡片 ---- */
.forum-speaker-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.forum-speaker {
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 24px 20px;
  text-align: center;
  transition: all .3s var(--ease-out);
  position: relative;
  overflow: hidden;
}
.forum-speaker::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .4;
  transition: opacity .3s, height .3s;
}
.forum-speaker:hover {
  border-color: rgba(201,168,76,.35);
  box-shadow: 0 8px 32px rgba(0,0,0,.07), 0 0 0 1px rgba(201,168,76,.08) inset;
  transform: translateY(-4px);
  background: rgba(255,255,255,.88);
}
.forum-speaker:hover::before {
  opacity: 1;
  height: 3px;
}
.forum-speaker__avatar {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--navy), #1a3a5a);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--gold-lt);
  letter-spacing: .04em;
  border: 2px solid rgba(201,168,76,.25);
  transition: border-color .3s, box-shadow .3s;
}
.forum-speaker:hover .forum-speaker__avatar {
  border-color: var(--gold);
  box-shadow: 0 0 16px rgba(201,168,76,.25);
}
.forum-speaker__name {
  font-size: .98rem;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 6px;
  letter-spacing: .02em;
  line-height: 1.3;
}
.forum-speaker__title {
  font-size: .8rem;
  color: var(--muted);
  line-height: 1.55;
}

/* ---- 议程时间轴（已在上面定义，此处确保无冲突） ---- */

/* ---- 精彩金句 - 横向滚动卡片 ---- */
.forum-quote-scroll {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.forum-quote-card {
  background: rgba(255,255,255,.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--border);
  border-top: 3px solid var(--gold);
  border-radius: 14px;
  padding: 26px 24px 22px;
  display: flex;
  flex-direction: column;
  transition: all .3s var(--ease-out);
  position: relative;
  overflow: hidden;
}
.forum-quote-card::before {
  content: '\201C';
  position: absolute;
  top: 12px; right: 18px;
  font-size: 3.5rem;
  font-family: Georgia, serif;
  color: rgba(201,168,76,.1);
  line-height: 1;
  pointer-events: none;
}
.forum-quote-card:hover {
  border-top-color: var(--gold-lt);
  box-shadow: 0 8px 32px rgba(0,0,0,.07);
  transform: translateY(-3px);
  background: rgba(255,255,255,.82);
}
.forum-quote-card p {
  font-style: italic;
  color: #333;
  line-height: 1.75;
  margin-bottom: 14px;
  flex: 1;
  font-size: .92rem;
}
.forum-quote-card .quote-author {
  text-align: right;
  font-weight: 700;
  font-size: .85rem;
  color: var(--navy);
  letter-spacing: .01em;
}
.forum-quote-card .quote-author::before {
  content: '— ';
  color: var(--gold);
}

/* ---- 返回按钮 ---- */
.forum-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--navy);
  color: #fff;
  padding: 12px 32px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  font-size: .95rem;
  transition: all .25s var(--ease-out);
  letter-spacing: .02em;
}
.forum-back-link:hover {
  background: #0d1b2a;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(10,22,40,.25);
}

/* ---- 响应式 ---- */
@media (max-width: 900px) {
  .forum-speaker-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .forum-quote-scroll {
    grid-template-columns: repeat(2, 1fr);
  }
  .forum-hero__title { font-size: 1.5rem; }
  .forum-theme-card { padding: 24px 22px; }
}
@media (max-width: 640px) {
  .forum-speaker-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .forum-quote-scroll {
    grid-template-columns: 1fr;
  }
  .forum-hero { padding: 56px 0 36px; }
  .forum-hero__meta { gap: 10px 18px; font-size: .82rem; }
  .forum-hero__meta span { display: flex; align-items: flex-start; gap: 4px; }
  .forum-section__title { font-size: 1.15rem; }
  .forum-speaker { padding: 20px 16px; }
  .forum-speaker__avatar { width: 48px; height: 48px; font-size: 1rem; }
}
@media (max-width: 420px) {
  .forum-hero__title { font-size: 1.3rem; }
  .forum-theme-card { padding: 18px 16px; }
}
.agenda-timeline {
  position: relative;
  max-width: 840px;
  margin: 0 auto 48px;
  padding: 12px 0;
}
.agenda-timeline::before {
  content: '';
  position: absolute;
  left: 48px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold-lt) 50%, var(--border) 100%);
}
.agenda-session {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin-bottom: 32px;
}
.agenda-session__marker {
  position: absolute;
  left: 48px;
  top: 28px;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--navy);
  border: 3px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  font-weight: 800;
  font-size: .82rem;
  z-index: 2;
  box-shadow: 0 0 0 6px rgba(10,22,40,.08);
}
.agenda-session__card {
  margin-left: 100px;
  flex: 1;
  background: rgba(255,255,255,.75);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 24px 26px;
  transition: all .3s ease;
  position: relative;
}
.agenda-session__card::after {
  content: '';
  position: absolute;
  top: 28px;
  left: -7px;
  width: 12px;
  height: 12px;
  background: rgba(255,255,255,.75);
  border: 1px solid var(--border);
  border-right: none;
  border-top: none;
  transform: rotate(45deg);
}
.agenda-session__card:hover {
  border-color: var(--gold-lt);
  box-shadow: 0 8px 28px rgba(0,0,0,.08);
  transform: translateY(-2px);
}
.agenda-session__badge {
  display: inline-block;
  background: linear-gradient(135deg, var(--navy), #1a3350);
  color: var(--gold);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 12px;
}
.agenda-session__time {
  font-size: .78rem;
  color: var(--muted);
  letter-spacing: .04em;
  margin-bottom: 6px;
}
.agenda-session__topic {
  font-weight: 700;
  color: var(--navy);
  font-size: 1.02rem;
  line-height: 1.45;
  margin-bottom: 6px;
}
.agenda-session__speaker {
  font-size: .88rem;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 10px;
}
.agenda-session__desc {
  font-size: .84rem;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

/* ==================== 瀑布流照片墙 ==================== */
.masonry-gallery {
  column-count: 3;
  column-gap: 16px;
  margin-bottom: 36px;
}
.masonry-group { break-inside: avoid; margin-bottom: 16px; }
.masonry-group__label {
  font-size: .76rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .06em;
  padding: 6px 0 10px;
  text-align: center;
  break-inside: avoid;
}
.masonry-item {
  break-inside: avoid;
  margin-bottom: 14px;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  transition: transform .3s ease, box-shadow .3s ease;
}
.masonry-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
}
.masonry-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}
.masonry-item__overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(10,22,40,.88));
  padding: 28px 14px 12px;
  opacity: 0;
  transition: opacity .3s;
}
.masonry-item:hover .masonry-item__overlay { opacity: 1; }

/* 移动端始终显示 overlay 标题 */
@media (max-width: 768px) {
  .masonry-item__overlay { opacity: 0.85; }
}
@media (hover: none) {
  .masonry-item__overlay { opacity: 0.85; }
}
.masonry-item__caption {
  color: #fff;
  font-size: .78rem;
  line-height: 1.45;
  font-weight: 500;
}
.masonry-more {
  text-align: center;
  margin: 8px 0 40px;
}
.masonry-more a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--navy);
  color: #fff;
  padding: 12px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  font-size: .9rem;
  transition: all .25s;
}
.masonry-more a:hover { background: #0d1b2a; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(10,22,40,.25); }

/* ==================== Lightbox 图片查看器 ==================== */
.lightbox-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.92);
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}
.lightbox-overlay.active { opacity: 1; pointer-events: auto; }
.lightbox-close {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.3);
  background: rgba(0,0,0,.5);
  color: #fff;
  font-size: 1.4rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all .2s;
}
.lightbox-close:hover { background: rgba(255,255,255,.15); border-color: #fff; }
.lightbox-counter {
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,.7);
  font-size: .88rem;
  font-weight: 600;
  letter-spacing: .04em;
  z-index: 2;
}
.lightbox-image-wrap {
  position: relative;
  max-width: 90vw;
  max-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lightbox-image-wrap img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 4px;
  user-select: none;
  -webkit-user-drag: none;
}
.lightbox-caption {
  position: absolute;
  bottom: -44px;
  left: 0; right: 0;
  text-align: center;
  color: rgba(255,255,255,.65);
  font-size: .82rem;
  line-height: 1.5;
}
.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px; height: 48px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.25);
  background: rgba(0,0,0,.4);
  color: #fff;
  font-size: 1.3rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s;
  z-index: 3;
}
.lightbox-nav:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.5); }
.lightbox-nav--prev { left: -64px; }
.lightbox-nav--next { right: -64px; }

/* 移动端适配 */
@media (max-width: 768px) {
  .agenda-timeline::before { left: 24px; }
  .agenda-session { flex-direction: row; }
  .agenda-session__marker { left: 24px; }
  .agenda-session__card { margin-left: 60px; }
  .agenda-session__card::after { left: -7px; border-right: none; border-top: none; }
  .masonry-gallery { column-count: 2; }
  .lightbox-nav--prev { left: 8px; }
  .lightbox-nav--next { right: 8px; }
  .lightbox-nav { width: 44px; height: 44px; }
  .lightbox-counter { top: 16px; font-size: .78rem; }
  .lightbox-close { width: 44px; height: 44px; }
}
@media (max-width: 480px) {
  .masonry-gallery { column-count: 1; }
  .masonry-group__label { font-size: .72rem; padding: 4px 0 8px; }
  .agenda-session__card { margin-left: 48px; padding: 16px 18px; }
  .agenda-session__marker { width: 34px; height: 34px; font-size: .7rem; left: 16px; }
  .agenda-timeline::before { left: 16px; }
  .forum-quote-grid { grid-template-columns: 1fr; }
}

/* 报告卡片移动端 */
@media (max-width: 768px) {
  .wp-card-cover { height: 180px; }
  .wp-card-content { padding: 20px 20px 28px; }
  .wp-card-title { font-size: 1.1rem; }
}
.forum-quote-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
  margin-bottom: 40px;
}
.forum-quote-card {
  background: rgba(255,255,255,.6);
  padding: 20px;
  border-radius: 10px;
  border-top: 3px solid var(--gold);
}
.forum-quote-card p {
  font-style: italic;
  color: #333;
  line-height: 1.6;
  margin-bottom: 10px;
}
.forum-quote-card .quote-author {
  text-align: right;
  font-weight: 700;
  color: var(--navy);
  font-size: .9rem;
}
.forum-back-btn {
  display: inline-block;
  background: var(--navy);
  color: #fff;
  padding: 12px 32px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all .2s;
  text-align: center;
}
.forum-back-btn:hover {
  background: #0d1b2a;
}
.forum-back-wrap {
  text-align: center;
  margin-top: 48px;
}

/* ppt-gallery (photo gallery) */
.ppt-gallery {
  display: grid !important;
  gap: 16px;
  padding: 0 4px;
  margin-bottom: 40px;
}
.ppt-gallery--photos {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  align-items: start !important;
}
.ppt-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #e8e8e8;
  min-height: 10px;
}
.ppt-gallery-item img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  border-radius: 12px;
}
.ppt-gallery--grid-4 {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px;
}
.ppt-gallery--grid-4 .ppt-gallery-item img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover;
}
.ppt-gallery--media {
  display: flex;
  justify-content: center;
}
section img,
.ppt-gallery img,
.ppt-gallery-item img {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ---- FORUM LIST PAGE CARDS ---- */
.forum-card-dark {
  background: linear-gradient(135deg, #1a2a4a 0%, #0d1b2a 100%);
  border-radius: 14px;
  padding: 28px 24px;
  color: #fff;
  position: relative;
  overflow: hidden;
  transition: all .3s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(255,255,255,.04);
  border-top: 3px solid var(--gold);
}
.forum-card-dark:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0,0,0,.25);
  border-color: rgba(201,168,76,.2);
}
.forum-card-dark .card-num {
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .12em;
  color: var(--gold);
  margin-bottom: 12px;
  text-transform: uppercase;
}
.forum-card-dark .card-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 6px;
}
.forum-card-dark .card-sub {
  font-size: .8rem;
  color: rgba(255,255,255,.55);
  line-height: 1.5;
}
.forum-card-dark .card-link {
  display: inline-block;
  margin-top: 16px;
  font-size: .78rem;
  font-weight: 600;
  color: var(--gold);
  text-decoration: none;
  transition: opacity .2s;
}
.forum-card-dark .card-link:hover { opacity: .8; }

/* ---- 联合论坛卡片 ---- */
.forum-card-joint {
  background: rgba(255,255,255,.75);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 24px;
  transition: all .25s;
}
.forum-card-joint:hover {
  box-shadow: var(--shadow-lg);
  border-color: rgba(201,168,76,.3);
  transform: translateY(-2px);
}
.forum-card-joint .joint-year {
  font-size: .72rem;
  font-weight: 800;
  color: var(--gold);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.forum-card-joint .joint-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.4;
  margin-bottom: 8px;
}
.forum-card-joint .joint-desc {
  font-size: .84rem;
  color: var(--muted);
  line-height: 1.6;
  margin-bottom: 12px;
}
.forum-card-joint .joint-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

/* ---- TAG ---- */
.forum-tag {
  display: inline-block;
  background: rgba(0,35,75,.07);
  color: var(--navy);
  padding: 3px 12px;
  border-radius: 20px;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .01em;
}

/* ---- 联合出品方（深色背景通用） ---- */
.co-producer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  padding: 32px 0;
  max-width: 800px;
  margin: 0 auto;
}
.co-producer-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 24px 28px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  min-height: 130px;
  text-align: center;
}
.co-producer-card img {
  height: 48px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.cp-name {
  font-size: .82rem;
  color: rgba(255,255,255,.8);
  line-height: 1.5;
  font-weight: 500;
}
.cp-name small {
  font-weight: 400;
  opacity: .7;
}
/* 深色背景上正见品牌战略logo反白 */
.co-producer-card img[src*="logo_zhengjian"] {
  filter: brightness(0) invert(1);
}

/* ---- ANNIVERSARY BADGE ---- */
.forum-anniversary {
  display: flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, rgba(0,50,90,.05), rgba(201,168,76,.08));
  border-radius: 8px;
  padding: 10px 16px;
}
.forum-anniversary .badge {
  background: var(--navy);
  color: #fff;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  white-space: nowrap;
}
.forum-anniversary .text {
  font-size: .85rem;
  color: var(--navy);
  line-height: 1.5;
  font-weight: 500;
}

/* ---- REPORT CARD ---- */
.forum-report-card {
  background: linear-gradient(135deg, rgba(201,168,76,.10), rgba(201,168,76,.04));
  border-radius: 8px;
  padding: 14px 16px;
  border: 1px solid rgba(201,168,76,.18);
}
.forum-report-card .report-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: .82rem;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: .02em;
}
.forum-report-card .report-label::before {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  background: var(--gold);
  border-radius: 50%;
  flex-shrink: 0;
}
.forum-report-card .report-body {
  font-size: .88rem;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

/* ---- FORUM SECTION WRAPPER ---- */
.forum-section {
  margin-bottom: 44px;
}

/* ---- FORUM AGENDA QUOTES (globalized from 7th.html) ---- */
.forum-agenda-quotes p {
  color: var(--muted);
  font-size: .85rem;
  line-height: 1.7;
  padding-left: 8px;
  border-left: 2px solid var(--gold);
  margin: 6px 0 0;
}

/* ---- HIGHLIGHTS GALLERY (globalized from 7th.html) ---- */
.highlights-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 40px;
}
.highlights-gallery img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  transition: transform .25s;
}
.highlights-gallery img:hover {
  transform: scale(1.03);
}

/* ---- QUOTES-GALLERY (globalized from 7th.html) ---- */
.quotes-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 40px;
}
.quote-card-img {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
  transition: transform .25s, box-shadow .25s;
}
.quote-card-img:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.14);
}
.quote-card-img img {
  width: 100%;
  height: auto;
  display: block;
}

/* Optimize -- improved contrast */
.forum-stat-label { color: rgba(255,255,255,.62); }
.forum-desc { color: rgba(255,255,255,.78); }
.forum-agenda-time { width: 90px; }

/* ---- RESPONSIVE ---- */
@media (max-width: 768px) {
  .highlights-gallery { grid-template-columns: repeat(2, 1fr); }
  .quotes-gallery { grid-template-columns: repeat(2, 1fr); }
}

/* event-* page legacy classes (keep for compat) */
.event-hero {
  background: linear-gradient(135deg, var(--navy) 0%, #1a2a4a 100%);
  color: #fff;
  padding: 96px 20px 60px;
  text-align: center;
}
.event-hero .section-label {
  color: var(--gold);
  font-size: .78rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.event-hero h1 {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 16px;
  color: #fff;
}
.event-hero .divider-gold {
  width: 48px;
  height: 3px;
  background: var(--gold);
  margin: 0 auto 18px;
  border-radius: 2px;
}
.event-hero .event-meta {
  max-width: 640px;
  margin: 0 auto;
  font-size: .88rem;
  color: rgba(255,255,255,.65);
  line-height: 1.8;
}
.event-content {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 20px;
}
.event-section {
  margin-bottom: 48px;
}
.event-section h2 {
  font-size: 1.6rem;
  font-weight: 700;
  color: #0d1b2a;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--gold);
}
.event-section h3 {
  font-size: 1.2rem;
  font-weight: 600;
  color: #1a2a4a;
  margin: 24px 0 12px;
}
.event-section p {
  font-size: .95rem;
  line-height: 1.8;
  color: #333;
  margin-bottom: 16px;
}
.session-card,
.day-card {
  background: #f8f9fa;
  border-left: 4px solid var(--gold);
  padding: 24px;
  border-radius: 8px;
  margin: 20px 0;
}
.session-card h4,
.day-card h4 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #0d1b2a;
  margin-bottom: 12px;
}
.session-card ul,
.day-card ul {
  list-style: none;
  padding: 0;
}
.session-card ul li,
.day-card ul li {
  padding: 8px 0 8px 20px;
  position: relative;
  font-size: .9rem;
  line-height: 1.6;
  color: #333;
}
.session-card ul li:before,
.day-card ul li:before {
  content: '•';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: bold;
}
.speaker-card {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 16px;
  margin: 12px 0;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.speaker-card h5 {
  font-size: 1rem;
  font-weight: 700;
  color: #0d1b2a;
  margin-bottom: 8px;
}
.speaker-card p {
  font-size: .88rem;
  color: #666;
  margin-bottom: 4px;
}
.highlight-box {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-left: 4px solid var(--gold);
  padding: 24px;
  border-radius: 8px;
  margin: 24px 0;
}
.highlight-box h4 {
  font-size: 1rem;
  font-weight: 700;
  color: #0d1b2a;
  margin-bottom: 12px;
}
.cta-button {
  display: inline-block;
  background: var(--gold);
  color: #0d1b2a;
  padding: 14px 32px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  font-size: .95rem;
  transition: all .2s;
  margin: 20px 0;
}
.cta-button:hover {
  background: #c99700;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(212,167,0,.3);
}
.timeline-item {
  position: relative;
  margin-bottom: 24px;
}
.timeline-time {
  font-size: .85rem;
  font-weight: 700;
  color: var(--gold);
  margin-bottom: 4px;
}
.timeline-title {
  font-size: 1rem;
  font-weight: 600;
  color: #0d1b2a;
  margin-bottom: 8px;
}

/* ---- SPONSOR ---- */
.sponsor-value-grid {
display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
margin-bottom: 56px;
text-align: left;
}
.sv-card {
background: var(--white);
border: 1px solid var(--border);
border-radius: 14px;
padding: 32px 26px;
text-align: center;
transition: all var(--transition-med);
position: relative;
overflow: hidden;
}
.sv-card::after {
content: '';
position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
background: linear-gradient(90deg, transparent, var(--gold), transparent);
opacity: 0; transition: opacity .3s;
}
.sv-card:hover { 
box-shadow: var(--shadow-lg); 
transform: translateY(-4px); 
border-color: rgba(201,168,76,.25);
}
.sv-card:hover::after { opacity: 1; }
.sv-icon {
width: 54px; height: 54px; border-radius: 50%;
background: linear-gradient(135deg, var(--navy), #1a3060);
color: var(--gold);
display: flex; align-items: center; justify-content: center;
font-size: 1.4rem; margin: 0 auto 18px;
}
.sv-title { font-size: 1.05rem; font-weight: 800; color: var(--navy); margin-bottom: 10px; }
.sv-desc { font-size: .88rem; color: var(--muted); line-height: 1.75; }

/* 论坛 214 节区容器 */
.forum-214-spacer { margin-top: 52px; }

/* 论坛 Gallery 节区容器 */
.forum-gallery-spacer { margin-top: 48px; }

/* 214 网格响应式 */
.sv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 920px;
  margin: 0 auto;
}
@media (max-width: 700px) {
  .sv-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .sv-card { padding: 24px 16px; }
  .sv-icon { width: 44px; height: 44px; margin-bottom: 14px; }
  .sv-title { font-size: .95rem; }
  .sv-desc { font-size: .8rem; }
  .forum-214-spacer { margin-top: 36px; }
  .forum-gallery-spacer { margin-top: 36px; }
}
@media (max-width: 480px) {
  .sv-grid { grid-template-columns: 1fr; gap: 12px; max-width: 320px; }
  .sv-card { padding: 22px 20px; }
  .sv-icon { width: 42px; height: 42px; margin-bottom: 12px; font-size: 1.2rem; }
  .sv-title { font-size: .92rem; }
  .sv-desc { font-size: .82rem; line-height: 1.6; }
  .forum-214-spacer { margin-top: 28px; }
  .forum-gallery-spacer { margin-top: 28px; }
}

.sponsor-packages {
display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
.sp-card {
border-radius: 12px;
padding: 32px 26px;
position: relative; overflow: hidden;
}
.sp-card--gold {
background: linear-gradient(135deg, #c9a84c 0%, #9a7a2a 100%);
color: var(--navy);
}
.sp-card--silver {
background: linear-gradient(135deg, #e0ddd8 0%, #c8c4be 100%);
color: var(--navy);
}
.sp-card--bronze {
background: linear-gradient(135deg, #cd7f32 0%, #9a5e24 100%);
color: var(--white);
}
.sp-tier {
font-size: .78rem; font-weight: 800; letter-spacing: .12em;
text-transform: uppercase; opacity: .75; margin-bottom: 8px;
}
.sp-name { font-size: 1.4rem; font-weight: 900; margin-bottom: 6px; }
.sp-tagline { font-size: .9rem; opacity: .8; margin-bottom: 22px; }
.sp-features { list-style: none; }
.sp-features li {
font-size: .88rem; padding: 7px 0;
border-bottom: 1px solid rgba(255,255,255,.15);
display: flex; align-items: center; gap: 8px;
}
.sp-card--gold .sp-features li,
.sp-card--silver .sp-features li { border-color: rgba(0,0,0,.1); }
.sp-check {
width: 18px; height: 18px; border-radius: 50%;
background: rgba(255,255,255,.25);
display: flex; align-items: center; justify-content: center;
font-size: .7rem; flex-shrink: 0;
}
.sponsor-cta {
margin-top: 52px;
background: var(--navy);
border-radius: 12px;
padding: 44px 48px;
color: var(--white);
display: flex; align-items: center; justify-content: space-between; gap: 32px;
flex-wrap: wrap;
}
.sponsor-cta-text h3 { font-size: 1.3rem; font-weight: 800; margin-bottom: 8px; }
.sponsor-cta-text p { color: rgba(255,255,255,.65); font-size: .95rem; }

/* ---- CHARITY (Public Interest) ---- */
.charity-intro {
background: linear-gradient(135deg, #0a1628 0%, #1a2a4a 100%);
border-radius: 14px;
padding: 52px 48px;
color: var(--white);
margin-bottom: 52px;
display: flex; gap: 52px; align-items: flex-start;
}
.charity-intro-left { flex: 1; }
.charity-intro-right {
flex: 0 0 280px;
background: rgba(255,255,255,.04);
border: 1px solid rgba(201,168,76,.2);
border-radius: 10px;
padding: 28px 24px;
}
.charity-intro-title { font-size: 1.6rem; font-weight: 800; color: var(--gold); margin-bottom: 16px; }
.charity-intro-body { font-size: .95rem; color: rgba(255,255,255,.72); line-height: 1.9; }
.charity-stats-mini { list-style: none; }
.charity-stats-mini li {
display: flex; justify-content: space-between; align-items: center;
padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.07);
font-size: .88rem;
}
.charity-stats-mini li:last-child { border-bottom: none; }
.csm-label { color: rgba(255,255,255,.55); }
.csm-val { color: var(--gold); font-weight: 800; }

.projects-grid {
display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 22px;
margin-bottom: 52px;
}
.proj-card {
background: var(--white);
border: 1px solid var(--border);
border-radius: 14px;
padding: 28px 24px;
transition: all var(--transition-med);
display: flex; flex-direction: column;
position: relative;
overflow: hidden;
}
.proj-card::after {
content: '';
position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
background: linear-gradient(90deg, var(--navy), var(--gold), var(--navy));
opacity: 0; transition: opacity .3s;
}
.proj-card:hover { 
box-shadow: var(--shadow-lg); 
transform: translateY(-4px); 
border-color: rgba(201,168,76,.25);
}
.proj-card:hover::after { opacity: 1; }
.proj-card-header {
display: flex; align-items: center; gap: 12px; margin-bottom: 16px;
}
.proj-icon {
width: 44px; height: 44px; border-radius: 10px;
background: var(--navy); color: var(--gold);
display: flex; align-items: center; justify-content: center;
font-size: 1.2rem; flex-shrink: 0;
}
.proj-name { font-size: 1rem; font-weight: 800; color: var(--navy); }
.proj-duration { font-size: .78rem; color: var(--gold); font-weight: 700; margin-top: 2px; }
.proj-desc { font-size: .88rem; color: var(--muted); line-height: 1.75; flex: 1; }
.proj-status {
display: inline-block; margin-top: 14px;
padding: 3px 12px; border-radius: 50px;
font-size: .75rem; font-weight: 700;
background: var(--off-white); color: var(--muted);
}
.proj-status--active {
background: #e8f5ec; color: #2d8a52;
}

/* Qingsong highlight */
.qingsong-feature {
  position: relative;
  background: linear-gradient(150deg, #155c36 0%, #0a2e1a 55%, #061e10 100%);
  border-radius: 16px;
  padding: 40px 44px 36px;
  margin-bottom: 32px;
  color: var(--white);
  overflow: hidden;
  border: 1px solid rgba(201,168,76,.12);
}
.qingsong-feature::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(201,168,76,0), rgba(201,168,76,.6) 40%, rgba(201,168,76,.6) 60%, rgba(201,168,76,0));
  opacity: .8;
}
.qingsong-feature::after {
  content: '';
  position: absolute;
  top: -60px; right: -40px;
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(201,168,76,.06) 0%, transparent 65%);
  pointer-events: none;
}
.qingsong-watermark {
  position: absolute;
  top: 44px;
  right: 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  opacity: .12;
  pointer-events: none;
  z-index: 0;
}
.qingsong-watermark img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.qingsong-watermark span {
  font-size: .65rem;
  color: var(--white);
  letter-spacing: .06em;
  white-space: nowrap;
}
.qingsong-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.qingsong-title {
  font-size: 1.48rem;
  font-weight: 900;
  color: var(--gold-lt);
  letter-spacing: .04em;
  line-height: 1.3;
}
.qingsong-sub {
  font-size: .95rem;
  color: rgba(255,255,255,.68);
  line-height: 1.85;
  margin-bottom: 24px;
  max-width: 780px;
}
.qingsong-stats-row {
  display: flex;
  gap: 10px;
  margin-bottom: 0;
  flex-wrap: wrap;
}
.qingsong-stat-pill {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(201,168,76,.15);
  border-radius: 10px;
  padding: 14px 20px;
  min-width: 100px;
  text-align: center;
  transition: border-color .3s, background .3s, transform .3s;
}
.qingsong-stat-pill:hover {
  border-color: rgba(201,168,76,.35);
  background: rgba(255,255,255,.07);
  transform: translateY(-2px);
}
.qs-stat-num {
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--gold-lt);
  line-height: 1.1;
  letter-spacing: -.01em;
}
.qs-stat-label {
  font-size: .74rem;
  color: rgba(255,255,255,.48);
  margin-top: 5px;
  letter-spacing: .04em;
}
.btn-green {
  background: transparent;
  color: var(--gold);
  font-weight: 700;
  font-size: .82rem;
  padding: 8px 20px;
  border-radius: 100px;
  border: 1px solid rgba(201,168,76,.45);
  cursor: pointer;
  transition: all .25s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  letter-spacing: .04em;
  white-space: nowrap;
  flex-shrink: 0;
}
.btn-green:hover {
  background: rgba(201,168,76,.12);
  border-color: rgba(201,168,76,.7);
  color: var(--gold-lt);
  gap: 9px;
}

/* ---- ABOUT PAGE LAYOUT ---- */
.about-layout {
  display: flex;
  gap: 52px;
  align-items: flex-start;
}
.about-sidebar {
  width: 200px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 4px;
  position: sticky;
  top: 90px;
}
.about-sidebar__label {
  font-size: .68rem;
  letter-spacing: .1em;
  color: var(--muted);
  text-transform: uppercase;
  padding: 0 14px;
  margin-bottom: 6px;
}
.about-content {
  flex: 1;
  min-width: 0;
}
/* ---- ABOUT TABS (Sidebar) ---- */
.about-tab {
  display: block;
  background: transparent;
  border: none;
  border-left: 3px solid transparent;
  color: var(--text);
  padding: 11px 14px;
  border-radius: 0 6px 6px 0;
  font-size: .92rem;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: .04em;
  text-align: left;
  transition: all .25s ease;
  width: 100%;
}
.about-tab:hover {
  background: rgba(201,168,76,.06);
  color: var(--navy);
  border-left-color: rgba(201,168,76,.3);
}
.about-tab.active {
  background: var(--navy);
  border-left-color: var(--gold);
  color: #fff;
  font-weight: 700;
}
.about-panel { display:none; animation:tabFadeIn .4s ease; }
/* ==============================
   奖项与荣誉 卡片
   ============================== */
.awards-list {
  max-width: 780px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.award-card {
  display: flex;
  gap: 24px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 28px 28px 24px;
  position: relative;
  overflow: hidden;
  transition: all var(--transition-med);
}
.award-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 4px; height: 100%;
  background: linear-gradient(180deg, var(--gold), var(--gold-lt));
  border-radius: 4px 0 0 4px;
}
.award-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
  border-color: rgba(201,168,76,.25);
}
.award-card__year {
  flex-shrink: 0;
  width: 72px;
  font-size: .72rem;
  font-weight: 800;
  color: var(--gold);
  letter-spacing: .08em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: .55;
  padding: 8px 0;
}
.award-card__body {
  flex: 1;
  min-width: 0;
}
.award-card__badge {
  display: inline-block;
  background: linear-gradient(135deg, var(--gold), var(--gold-lt));
  color: var(--navy);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 4px 12px;
  border-radius: 4px;
  margin-bottom: 10px;
}
.award-card__badge--blue {
  background: linear-gradient(135deg, #2563eb, #3b82f6);
  color: #fff;
}
.award-card__title {
  font-size: 1.08rem;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 10px;
  line-height: 1.5;
}
.award-card__desc {
  font-size: .88rem;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 14px;
}
.award-card__desc strong {
  color: var(--gold-dark);
}
.award-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-bottom: 14px;
}
.award-card__meta span {
  font-size: .75rem;
  color: var(--muted);
  letter-spacing: .02em;
}
.award-card__link {
  display: inline-block;
  font-size: .82rem;
  font-weight: 700;
  color: var(--gold);
  text-decoration: none;
  letter-spacing: .04em;
  transition: all .2s;
  border-bottom: 1px solid transparent;
}
.award-card__link:hover {
  border-bottom-color: var(--gold);
}

@media (max-width: 700px) {
  .award-card {
    flex-direction: column;
    gap: 12px;
    padding: 22px 20px 20px;
  }
  .award-card__year {
    writing-mode: horizontal-tb;
    transform: none;
    width: auto;
    padding: 0;
    font-size: .78rem;
  }
  .award-card::before {
    width: 100%; height: 3px;
    border-radius: 4px 4px 0 0;
  }
  .award-card__meta {
    flex-direction: column;
    gap: 4px;
  }
}

.about-panel.active { display:block; }
@keyframes tabFadeIn { from{opacity:0;transform:translateY(12px);} to{opacity:1;transform:translateY(0);} }

/* ==================== FORUM 左侧导航布局 ==================== */
.forum-layout {
  display: flex;
  gap: 52px;
  align-items: flex-start;
}
.forum-sidebar {
  width: 200px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 4px;
  position: sticky;
  top: 90px;
}
.forum-sidebar__label {
  font-size: .68rem;
  letter-spacing: .1em;
  color: var(--muted);
  text-transform: uppercase;
  padding: 0 14px;
  margin-bottom: 6px;
}
.forum-content {
  flex: 1;
  min-width: 0;
}
.forum-tab {
  display: block;
  background: transparent;
  border: none;
  border-left: 3px solid transparent;
  color: var(--text);
  padding: 11px 14px;
  border-radius: 0 6px 6px 0;
  font-size: .92rem;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: .04em;
  text-align: left;
  transition: all .25s ease;
  width: 100%;
}
.forum-tab:hover {
  background: rgba(201,168,76,.06);
  color: var(--navy);
  border-left-color: rgba(201,168,76,.3);
}
.forum-tab.active {
  background: var(--navy);
  border-left-color: var(--gold);
  color: #fff;
  font-weight: 700;
}
.forum-panel { display:none; animation:tabFadeIn .4s ease; }
.forum-panel.active { display:block; }

/* 移动端：横向胶囊导航 */
@media (max-width: 768px) {
  .forum-layout { flex-direction: column; gap: 24px; }
  .forum-sidebar { width: 100%; flex-direction: row; flex-wrap: wrap; gap: 8px; padding-top: 0; position: static; }
  .forum-sidebar__label { display: none; }
  .forum-tab { font-size: .82rem; padding: 8px 18px; width: auto; border-left: none; border: 1.5px solid rgba(201,168,76,.3); border-radius: 24px; text-align: center; }
  .forum-tab:hover { border-color: var(--gold); border-left: none; }
  .forum-tab.active { background: var(--navy); border-color: var(--navy); color: #fff; }
  .forum-content { width: 100%; }
}

/* ---- COUNCIL ---- */
.council-layout {
display:grid;
grid-template-columns: 1.2fr 1fr;
gap:48px;
align-items:start;
}
.org-tree {
display:flex;
flex-direction:column;
align-items:center;
}
/* 枝干式布局：秘书长在会长与副会长之间侧向分出 */
.org-branch-layer {
display:flex;
align-items:flex-start;
justify-content:center;
width:100%;
position:relative;
min-height:90px;
}
.org-branch-left {
display:flex;
align-items:center;
position:absolute;
left:50%;
transform:translateX(-100%);
padding-right:0;
}
/* 横向枝干线：从主干到秘书长 */
.org-branch-h-l {
width:32px;
height:2.5px;
background:var(--gold);
flex-shrink:0;
border-radius:1px;
}
/* 枝干分叉处的圆点（主干与横线交点） */
.org-branch-left::before {
content:'';
display:block;
width:8px; height:8px;
background:var(--gold);
border-radius:50%;
flex-shrink:0;
margin-left:-4px;
margin-right:0;
box-shadow:0 0 4px rgba(201,168,76,.4);
}
/* 主干继续向下的竖线 */
.org-branch-stem {
width:2.5px;
min-height:64px;
background:linear-gradient(to bottom,var(--gold),rgba(201,168,76,.25));
border-radius:1px;
}
.org-node {
text-align:center;
padding:18px 20px;
border-radius:12px;
transition:transform .2s;
}
.org-node:hover { transform:translateY(-2px); }
.org-president {
background:linear-gradient(135deg,#0d2137 0%,#1a365d 100%);
border:2px solid var(--gold);
color:#fff;
}
.org-secretary-side {
background:linear-gradient(135deg,rgba(201,168,76,0.12) 0%,rgba(201,168,76,0.06) 100%);
border:1.5px solid rgba(201,168,76,0.35);
position:relative;
padding:14px 16px;
}
.org-secretary-side .org-role { color:var(--gold-dk); opacity:.85; }
.org-secretary-side .org-name { font-size:.92rem; }
.org-vp {
background:rgba(201,168,76,0.08);
border:1.5px solid rgba(201,168,76,0.25);
}
.org-secretary {
background:rgba(201,168,76,0.06);
border:1.5px solid rgba(200,200,210,0.25);
}
.org-director {
background:rgba(240,240,245,0.6);
border:1px solid rgba(200,200,210,0.2);
}
.org-role {
font-size:.78rem;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase;
opacity:.7;
margin-bottom:6px;
}
.org-name {
font-size:1.05rem;
font-weight:800;
margin-bottom:4px;
}
.org-desc {
font-size:.78rem;
opacity:.65;
line-height:1.5;
}
.org-line-v {
width:2.5px;
height:26px;
background:linear-gradient(to bottom,var(--gold),rgba(201,168,76,.18));
border-radius:1px;
margin:6px 0;
}
.org-row {
display:flex;
gap:14px;
justify-content:center;
width:100%;
}
.org-row .org-node { flex:1; min-width:0; }

.council-duties {
padding:28px;
background:var(--bg-section-alt);
border-radius:14px;
border:1px solid var(--border);
}
.duty-list { display:flex; flex-direction:column; gap:16px; }
.duty-item {
padding:16px 18px;
background:#fff;
border-radius:10px;
border-left:3px solid var(--gold);
}
.duty-title {
font-weight:800;
font-size:.92rem;
color:var(--navy);
margin-bottom:4px;
}
.duty-text {
font-size:.85rem;
color:var(--text-muted);
line-height:1.6;
}

/* ---- CONTACT ---- */
.contact-grid {
display: grid; grid-template-columns: 1fr 1fr; gap: 56px;
align-items: start;
}
.contact-info-title { font-size: 1.25rem; font-weight: 800; color: var(--navy); margin-bottom: 22px; }
.contact-item {
display: flex; gap: 14px; align-items: flex-start;
margin-bottom: 20px;
}
.ci-icon {
width: 42px; height: 42px; border-radius: 9px;
background: var(--navy); color: var(--gold);
display: flex; align-items: center; justify-content: center;
font-size: 1.1rem; flex-shrink: 0;
}
.ci-label { font-size: .78rem; color: var(--muted); margin-bottom: 2px; }
.ci-value { font-size: .95rem; font-weight: 600; color: var(--text); }
.wechat-card {
background: var(--navy);
border-radius: 12px; padding: 36px;
color: var(--white); text-align: center;
}
.wechat-title { font-size: 1rem; font-weight: 800; color: var(--gold); margin-bottom: 10px; }
.wechat-qr {
width: 130px; height: 130px; border-radius: 8px;
background: rgba(255,255,255,.12);
margin: 0 auto 14px;
display: flex; align-items: center; justify-content: center;
font-size: .82rem; color: rgba(255,255,255,.45);
}
.wechat-id { font-size: .88rem; color: rgba(255,255,255,.65); }
.social-links { display: flex; gap: 12px; margin-top: 24px; justify-content: center; }
.social-btn {
background: rgba(255,255,255,.07);
border: 1px solid rgba(255,255,255,.12);
border-radius: 8px;
padding: 10px 18px;
color: rgba(255,255,255,.8);
font-size: .85rem; font-weight: 600;
cursor: pointer; transition: background .2s;
}
.social-btn:hover { background: rgba(201,168,76,.15); border-color: rgba(201,168,76,.3); color: var(--gold); }

/* ==================== 二级导航（浮动，P7参考风格）==================== */
.sub-nav {
position: fixed;
top: 68px;
left: 0; right: 0;
z-index: 990;
background: rgba(10,22,40,0.92);
backdrop-filter: blur(18px) saturate(1.6);
-webkit-backdrop-filter: blur(18px) saturate(1.6);
border-bottom: 1px solid rgba(201,168,76,0.15);
transform: translateY(-110%);
transition: transform .35s var(--ease-out);
pointer-events: none;
}
.sub-nav.visible {
transform: translateY(0);
pointer-events: auto;
}
.sub-nav-inner {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
height: 48px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
}
.sub-nav-logo {
font-size: .72rem;
font-weight: 700;
letter-spacing: .14em;
color: var(--gold);
text-transform: uppercase;
flex-shrink: 0;
}
.sub-nav-links {
display: flex;
gap: 4px;
flex: 1;
justify-content: center;
}
.sub-nav-link {
font-size: .82rem;
font-weight: 600;
color: rgba(255,255,255,0.55);
padding: 6px 14px;
border-radius: 4px;
transition: all .25s var(--ease-out);
letter-spacing: .03em;
white-space: nowrap;
text-decoration: none;
position: relative;
}
.sub-nav-link::after {
content: '';
position: absolute;
bottom: 2px; left: 50%;
width: 0; height: 2px;
background: var(--gold);
transform: translateX(-50%);
transition: width .25s var(--ease-out);
border-radius: 1px;
}
.sub-nav-link:hover {
color: var(--gold-lt);
background: rgba(201,168,76,0.08);
}
.sub-nav-link.active {
color: var(--gold);
background: rgba(201,168,76,0.10);
}
.sub-nav-link.active::after { width: 60%; }
.sub-nav-actions { flex-shrink: 0; }
.sub-nav-btn {
font-size: .78rem;
font-weight: 700;
color: var(--navy);
background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dk) 100%);
padding: 6px 16px;
border-radius: 4px;
text-decoration: none;
letter-spacing: .04em;
transition: all .25s var(--ease-out);
}
.sub-nav-btn:hover {
transform: translateY(-1px);
box-shadow: 0 4px 16px rgba(201,168,76,0.35);
color: var(--navy);
}

@media (max-width: 768px) {
.sub-nav { display: none !important; }
}

/* ---- FOOTER ---- */
.footer {
background: #06101e;
padding: 56px 0 0;
color: rgba(255,255,255,.4);
font-size: .82rem;
}
/* ---- 品牌栏（居中单行口号） ---- */
.footer-brand {
  text-align: center;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  margin-bottom: 36px;
}
.footer-brand-logo {
  display: inline-flex; align-items: center; gap: 12px;
  margin-bottom: 12px;
}
.footer-brand-logo img { height: 38px; width: auto; }
.footer-brand-name {
  font-size: 1rem; font-weight: 700;
  color: rgba(255,255,255,.65);
  white-space: nowrap;
}
.footer-brand-tagline {
  font-size: .9rem; font-weight: 400;
  color: rgba(255,255,255,.38);
  line-height: 1.7;
}
.footer-brand-tagline em {
  font-style: normal;
  color: var(--gold);
}

/* ---- 链接栏（5列，与顶部导航一致） ---- */
.footer-grid {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 16px 20px;
padding-bottom: 36px;
border-bottom: 1px solid rgba(255,255,255,.07);
}
.footer-col { min-width: 0; }
.footer-col-list {
list-style: none; padding: 0; margin: 0;
display: flex; flex-direction: column; gap: 6px;
}
.footer-col-list li { margin: 0; }
.footer-col-list a {
color: rgba(255,255,255,.38);
font-size: .78rem; text-decoration: none;
transition: color .2s, padding-left .2s;
display: inline-block;
}
.footer-col-list a:hover {
color: var(--gold-lt);
padding-left: 4px;
}

/* ---- 链接栏 ---- */
.footer-col-heading {
font-size: .82rem; font-weight: 700;
margin-bottom: 14px;
letter-spacing: .06em;
}
.footer-col-heading a {
color: var(--gold); text-decoration: none;
transition: color .2s;
}
.footer-col-heading a:hover { color: var(--gold-lt); }

/* ---- 底部栏 ---- */
.footer-bottom {
display: flex; justify-content: center;
align-items: center; flex-wrap: wrap;
gap: 16px;
padding: 22px 0 28px;
font-size: .76rem;
}
.footer-bottom > * { white-space: nowrap; }
.footer-copyright { color: rgba(255,255,255,.28); }
.footer-sep {
color: rgba(255,255,255,.15);
font-size: .7rem;
}
.footer-beian a {
color: rgba(255,255,255,.24); text-decoration: none;
transition: color .2s;
}
.footer-beian a:hover { color: rgba(201,168,76,.6); }

/* ---- 响应式 ---- */
@media (max-width: 1100px) {
.footer-grid { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 700px) {
.footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
}
@media (max-width: 450px) {
.footer-grid { grid-template-columns: 1fr; gap: 20px; }
.footer-bottom { flex-direction: column; align-items: center; }
}

/* ---- RESPONSIVE ---- */
@media (max-width: 1100px) {
.portal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.portal-card { padding: 22px 18px 20px; }
}
@media (max-width: 700px) {
.portal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.portal-card { padding: 20px 16px 18px; }
.portal-card-index { font-size: 1.8rem; }
}
@media (max-width: 480px) {
.portal-grid { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 1100px) {
.forum-unified { padding: 36px 28px 28px; margin-top: 36px; }
.forum-unified__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.forum-unified__stats { gap: 24px; }
.forum-past-card { padding: 16px 14px 14px; }
.forum-past-card__year { font-size: 1.1rem; }
}
@media (max-width: 700px) {
.forum-unified__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.forum-unified { padding: 30px 20px 24px; margin-top: 28px; }
.forum-unified__title { font-size: 1.2rem; }
.forum-unified__stats { gap: 16px; }
.forum-unified__stat-num { font-size: 1.4rem; }
.forum-past-card { padding: 14px 12px 12px; }
.forum-past-card__year { font-size: 1rem; }
.forum-past-card__theme { font-size: .78rem; }
.forum-section { margin-bottom: 32px; }
}
@media (max-width: 480px) {
.forum-unified__grid { grid-template-columns: 1fr; gap: 10px; }
.forum-unified { padding: 24px 16px 20px; margin-top: 20px; }
.forum-unified__title { font-size: 1.1rem; }
.forum-unified__tagline { font-size: .82rem; }
.forum-unified__stats { gap: 12px; flex-wrap: wrap; }
.forum-unified__stat { flex: 0 0 calc(50% - 6px); }
.forum-unified__stat-num { font-size: 1.2rem; }
.forum-unified__stat-label { font-size: .7rem; }
.forum-past-card { padding: 16px 14px; }
.forum-past-card__year { font-size: 1rem; }
.forum-past-card__theme { font-size: .8rem; }
.forum-section { margin-bottom: 24px; }
}
@media (max-width: 1100px) {
.annual-section { padding: 36px 28px 28px; }
.annual-section__title { font-size: 1.3rem; }
.annual-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.mystery-section { padding: 40px 28px 32px; }
.mystery-section__title { font-size: 1.6rem; }
}
@media (max-width: 700px) {
.annual-section { padding: 30px 18px 22px; }
.annual-section__title { font-size: 1.15rem; }
.annual-section__sub { font-size: .8rem; }
.annual-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
.annual-card { padding: 16px 14px; }
.annual-theme { font-size: .85rem; }
.mystery-section { padding: 32px 18px 26px; }
.mystery-section__title { font-size: 1.35rem; }
.mystery-section__desc { font-size: .8rem; }
.mystery-grid { grid-template-columns: 1fr; gap: 16px; }
.mystery-card { padding: 28px 24px 24px; }
.mystery-card__title { font-size: 1.05rem; }
}
@media (max-width: 480px) {
.annual-grid { grid-template-columns: 1fr; gap: 10px; }
.annual-card { padding: 14px 12px; }
.mystery-card { padding: 24px 18px 20px; }
.mystery-card__title { font-size: .95rem; }
.mystery-card__cta { padding: 6px 20px; font-size: .75rem; }
}
@media (max-width: 900px) {
.about-intro { grid-template-columns: 1fr; gap: 40px; }
.sponsor-value-grid { grid-template-columns: 1fr 1fr; }
.sponsor-packages { grid-template-columns: 1fr; }
.contact-grid { grid-template-columns: 1fr; }
.charity-intro { flex-direction: column; gap: 28px; }
.qingsong-feature { padding: 32px 28px 28px; }
.qingsong-watermark { top: 36px; right: 160px; }
.qingsong-watermark img { width: 44px; height: 44px; }
.qingsong-head { margin-bottom: 10px; }
.qingsong-title { font-size: 1.28rem; }
.qingsong-sub { font-size: .9rem; margin-bottom: 20px; }
.qingsong-stats-row { gap: 8px; }
.qingsong-stat-pill { padding: 12px 16px; min-width: 88px; }
.qs-stat-num { font-size: 1.4rem; }
.portrait-grid { grid-template-columns: 1fr 1fr; }
.three-wu-grid { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 640px) {
.section { padding: 56px 0; }
.hero-stats { gap: 24px; flex-wrap: wrap; }
.sponsor-value-grid { grid-template-columns: 1fr; }
.portrait-grid { grid-template-columns: 1fr 1fr; }
.container { padding: 0 20px; }
.hero-title { font-size: clamp(1.8rem, 5vw, 2.8rem); }
.section-title { font-size: 1.3rem; padding: 8px 16px; }
}

/* ==================== 汉堡菜单按钮 ==================== */
.navbar-toggle {
display: none;
background: rgba(201,168,76,.12) !important;
border: 1px solid rgba(201,168,76,.35) !important;
cursor: pointer !important;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 5px;
padding: 10px 14px !important;
min-width: 48px !important;
min-height: 48px !important;
width: 48px !important;
height: 48px !important;
border-radius: 6px !important;
z-index: 1001 !important;
position: relative !important;
-webkit-tap-highlight-color: transparent;
touch-action: manipulation !important;
opacity: 1 !important;
visibility: visible !important;
pointer-events: auto !important;
font-size: inherit !important;
line-height: 1 !important;
color: inherit !important;
}
.navbar-toggle:hover {
background: rgba(201,168,76,.22) !important;
}
.navbar-toggle:active {
background: rgba(201,168,76,.32) !important;
transform: scale(.95);
}
.navbar-toggle:focus {
outline: 2px solid #c9a84c !important;
outline-offset: 2px !important;
}
.navbar-toggle span {
display: block !important;
width: 22px !important;
height: 2px !important;
background: #c9a84c !important;
border-radius: 2px;
transition: transform .3s ease, opacity .3s ease;
flex-shrink: 0;
}
.navbar-toggle.active span:nth-child(1) {
transform: translateY(7px) rotate(45deg);
}
.navbar-toggle.active span:nth-child(2) {
opacity: 0;
}
.navbar-toggle.active span:nth-child(3) {
transform: translateY(-7px) rotate(-45deg);
}

/* ==================== 响应式优化 ==================== */
@media (max-width: 768px) {
.navbar-toggle { display: flex !important; }
.navbar-nav {
display: none !important;
position: fixed !important;
top: 64px; left: 0; right: 0;
background: rgba(10,22,40,.98) !important;
backdrop-filter: blur(12px);
flex-direction: column !important;
padding: 16px 28px 28px !important;
gap: 0;
border-bottom: 1px solid rgba(201,168,76,.2) !important;
box-shadow: 0 12px 32px rgba(0,0,0,.35) !important;
  z-index: 999 !important;
}
.navbar {
  padding: 0 20px;
}
.navbar-nav.open { display: flex !important; }
.navbar-nav li { width: 100%; }
.navbar-nav li a {
display: block;
padding: 14px 0;
font-size: 1rem;
border-bottom: 1px solid rgba(255,255,255,.08);
border-radius: 0;
border-top: none;
border-left: none;
border-right: none;
}
.navbar-nav li a.navbar-cta {
display: block;
margin-top: 14px;
text-align: center;
border-radius: 6px;
border: none;
}
.sponsor-cta { padding: 32px 24px; }
.council-layout { grid-template-columns: 1fr; }
.about-layout { flex-direction: column; gap: 24px; }
.about-sidebar { width: 100%; flex-direction: row; flex-wrap: wrap; gap: 6px; padding-top: 0; position: static; }
.about-sidebar__label { display: none; }
.about-tab { font-size: .82rem; padding: 8px 18px; width: auto; border-left: none; border: 1.5px solid rgba(201,168,76,.3); border-radius: 24px; text-align: center; }
.about-tab:hover { border-color: var(--gold); border-left: 1.5px solid var(--gold); }
.about-tab.active { border-left: 1.5px solid var(--navy); }
.about-content { width: 100%; }
.whitepaper-band { padding: 28px 24px; }
.qingsong-feature { padding: 26px 20px 24px; }
.qingsong-watermark { display: none; }
.qingsong-head { margin-bottom: 8px; }
.qingsong-title { font-size: 1.18rem; }
.qingsong-sub { font-size: .86rem; margin-bottom: 16px; }
.qingsong-stats-row { gap: 6px; }
.qingsong-stat-pill { padding: 10px 12px; min-width: 70px; border-radius: 8px; }
.qs-stat-num { font-size: 1.2rem; }
.qs-stat-label { font-size: .68rem; }
.qingsong-iframe-wrap { height: 70vh; }
}

@media (max-width: 480px) {
.portrait-grid { grid-template-columns: 1fr; }
.sponsor-logo-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
.hero-actions { flex-direction: column; gap: 12px; }
.hero-actions .btn-gold,
.hero-actions .btn-outline-white { width: 100%; text-align: center; }
}

/* ==================== 移动端首页精简（≤768px 隐藏次要板块）=================== */
@media (max-width: 768px) {
/* Portal 卡片导航 — 移动端隐藏，底部导航栏已提供入口 */
#portal { display: none !important; }

/* About 板块：校友画像改为2列适配 */
.portrait-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.portrait-grid .portrait-card { padding: 20px 16px !important; }
.portrait-grid .portrait-num { font-size: 2rem !important; }
.portrait-grid .portrait-label { font-size: .78rem !important; }

/* Forum 板块：隐藏详情横幅和白皮书，只保留简介 */
.whitepaper-band { display: none !important; }

/* Sponsor 板块：隐藏Logo墙，只保留CTA */
.sponsor-logo-grid { display: none !important; }

/* Charity 板块：隐藏详细统计数字行，保留青松板块和简介 */
.qingsong-stats-row { display: none !important; }

/* 各section间距缩小 */
#about, #forum, #sponsor, #charity, #contact {
padding: 48px 0 !important;
}
.section-sub { font-size: .88rem; }

/* Sub-nav 移动端水平滚动 */
.sub-nav-links {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
flex-wrap: nowrap;
padding-bottom: 4px;
}
.sub-nav-links::-webkit-scrollbar { display: none; }
.sub-nav-link {
flex-shrink: 0;
min-height: 36px;
display: flex;
align-items: center;
padding: 8px 16px !important;
font-size: .8rem !important;
}
.sub-nav { height: auto; padding: 8px 16px; }
}

/* ===== 底部导航栏 (≤768px) ===== */
@media (max-width: 768px) {
.bottom-nav {
display: flex;
position: fixed;
bottom: 0; left: 0; right: 0;
z-index: 998;
background: rgba(10,22,40,0.97);
backdrop-filter: blur(20px) saturate(1.6);
-webkit-backdrop-filter: blur(20px) saturate(1.6);
border-top: 1px solid rgba(201,168,76,0.12);
justify-content: space-around;
align-items: center;
padding: 6px 4px env(safe-area-inset-bottom, 8px);
}
.bottom-nav__item {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 2px;
text-decoration: none;
color: rgba(255,255,255,0.55);
font-size: .64rem;
font-weight: 500;
padding: 6px 8px;
min-width: 52px;
min-height: 52px;
transition: color 0.2s;
}
.bottom-nav__item--active,
.bottom-nav__item:active { color: var(--gold); }
.bottom-nav__icon {
width: 22px; height: 22px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.1rem;
line-height: 1;
}
.bottom-nav__icon svg {
width: 22px; height: 22px;
display: block;
}
.bottom-nav__label { line-height: 1; letter-spacing: .03em; }

/* 页面底部留出导航栏空间 */
body { padding-bottom: env(safe-area-inset-bottom, 72px); }
}

/* ---- 报告详情页：核心洞察卡片 ---- */
.report-hero {
  background: linear-gradient(135deg, #0d1b2a 0%, #1a2a4a 100%);
  color: #fff;
  padding: 96px 20px 60px;
  text-align: center;
}
.report-hero .section-label {
  color: var(--gold);
  font-size: .78rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.report-hero h1 {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 16px;
  color: #fff;
}
.report-hero .divider-gold {
  width: 48px;
  height: 3px;
  background: var(--gold);
  margin: 0 auto 18px;
  border-radius: 2px;
}
.report-hero .report-meta {
  max-width: 720px;
  margin: 0 auto;
  font-size: .88rem;
  color: rgba(255,255,255,.65);
  line-height: 1.8;
}
.report-content {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 20px;
}

/* 主题标签 */
.report-themes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 20px;
}
.report-theme-tag {
  display: inline-block;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.72);
  padding: 4px 14px;
  border-radius: 20px;
  font-size: .76rem;
  font-weight: 500;
  letter-spacing: .02em;
}

/* 核心洞察卡片 */
.insight-card {
  background: #fff;
  border: 1px solid #e8ecf1;
  border-radius: 14px;
  padding: 36px 32px;
  margin-bottom: 28px;
  transition: box-shadow .25s;
  position: relative;
}
.insight-card:hover {
  box-shadow: 0 6px 28px rgba(0,0,0,.09);
}
.insight-card-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.insight-num {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--navy);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  padding: 5px 16px;
  border-radius: 20px;
  letter-spacing: .04em;
  white-space: nowrap;
}
.insight-num::before {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  background: var(--gold);
  border-radius: 50%;
}
.insight-card h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #0d1b2a;
  margin: 0 0 14px;
  line-height: 1.45;
  padding-left: 0;
  border-bottom: none;
}
.insight-card > p {
  font-size: .92rem;
  color: #444;
  line-height: 1.82;
  margin-bottom: 18px;
}
.insight-stats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
  margin: 18px 0 6px;
}
.insight-stat {
  background: #f5f7fa;
  border-radius: 8px;
  padding: 14px 16px;
  text-align: center;
}
.insight-stat .stat-val {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--navy);
  line-height: 1.2;
}
.insight-stat .stat-label {
  font-size: .74rem;
  color: #888;
  margin-top: 4px;
  line-height: 1.4;
}
.insight-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.insight-tag {
  display: inline-block;
  background: rgba(201,168,76,.08);
  border: 1px solid rgba(201,168,76,.2);
  color: #8a6e1f;
  padding: 3px 12px;
  border-radius: 20px;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .01em;
}
.insight-conclusion {
  background: linear-gradient(135deg, #f8f9fa 0%, #eef1f5 100%);
  border-left: 4px solid var(--gold);
  padding: 18px 22px;
  border-radius: 8px;
  margin-top: 18px;
  font-size: .88rem;
  color: #333;
  line-height: 1.75;
  font-weight: 500;
}
.insight-conclusion::before {
  content: '核心洞察：';
  font-weight: 700;
  color: var(--navy);
}

@media (max-width: 768px) {
  .insight-card { padding: 24px 20px; }
  .insight-stats { grid-template-columns: repeat(2, 1fr); }
}

/* ---- 报告下载与预览区块 ---- */
.report-download {
  max-width: 900px;
  margin: 0 auto;
  padding: 50px 20px 30px;
  text-align: center;
}
.report-download-inner {
  background: linear-gradient(135deg, #f8f9fa 0%, #eef1f5 50%, #e8ecf1 100%);
  border: 1px solid #dde1e6;
  border-radius: 16px;
  padding: 40px 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.report-download-cover {
  width: 200px;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 8px 28px rgba(0,0,0,.12);
}
.report-download-info h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 8px;
}
.report-download-info .report-size {
  font-size: .8rem;
  color: #888;
  margin-bottom: 6px;
}
.report-download-btns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}
.btn-download {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--navy);
  color: #fff;
  padding: 12px 28px;
  border-radius: 8px;
  font-size: .92rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, transform .15s;
}
.btn-download:hover {
  background: #0d2d5a;
  transform: translateY(-1px);
}
.btn-preview {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--navy);
  padding: 12px 28px;
  border-radius: 8px;
  font-size: .92rem;
  font-weight: 600;
  text-decoration: none;
  border: 1.5px solid var(--navy);
  transition: background .2s, transform .15s;
}
.btn-preview:hover {
  background: #f0f3f7;
  transform: translateY(-1px);
}
.btn-download::before {
  content: '';
  display: inline-block;
  width: 18px; height: 18px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.btn-preview::before {
  content: '';
  display: inline-block;
  width: 18px; height: 18px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ==================== CMO课程面板 ==================== */
.cmocourse-subtitle {
  font-size: .9rem;
  color: var(--muted);
  max-width: 720px;
  margin: 0 auto;
  line-height: 1.7;
}

.cmocourse-section-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid rgba(201,168,76,.3);
}

/* ---- 课程概述网格 ---- */
.cmocourse-overview { margin-bottom: 40px; }
.cmocourse-overview__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.cmocourse-overview__item {
  background: var(--bg-section-alt);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 20px 16px;
  text-align: center;
  transition: transform .2s, box-shadow .2s;
}
.cmocourse-overview__item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
}
.cmocourse-overview__icon {
  width: 36px; height: 36px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--navy) 0%, #1a3a5c 100%);
  color: var(--gold);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .06em;
  margin-bottom: 10px;
}
.cmocourse-overview__label {
  font-size: .74rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 4px;
}
.cmocourse-overview__value {
  font-size: .92rem;
  font-weight: 700;
  color: var(--navy);
}
.cmocourse-desc {
  font-size: .9rem;
  color: var(--text-muted);
  line-height: 1.85;
  margin-bottom: 14px;
}

/* ---- 七大模块卡片 ---- */
.cmocourse-modules { margin-bottom: 40px; }
.cmocourse-modules__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.cmocourse-module-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 22px 20px 18px 20px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  transition: transform .2s, box-shadow .2s;
}
.cmocourse-module-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}
.cmocourse-module-card__num {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--navy) 0%, #1a3a5c 100%);
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 800;
  flex-shrink: 0;
}
.cmocourse-module-card__body { flex: 1; min-width: 0; }
.cmocourse-module-card__title {
  font-size: .95rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
  line-height: 1.4;
}
.cmocourse-module-card__desc {
  font-size: .82rem;
  color: var(--text-muted);
  line-height: 1.7;
}

/* ---- 师资表格 ---- */
.cmocourse-faculty { margin-bottom: 40px; }
.cmocourse-faculty-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .88rem;
}
.cmocourse-faculty-table thead th {
  text-align: left;
  padding: 12px 16px;
  background: var(--navy);
  color: var(--gold);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.cmocourse-faculty-table thead th:first-child { border-radius: 8px 0 0 0; }
.cmocourse-faculty-table thead th:last-child { border-radius: 0 8px 0 0; }
.cmocourse-faculty-table tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  line-height: 1.5;
}
.cmocourse-faculty-table tbody tr:hover { background: var(--bg-section-alt); }
.cmocourse-faculty-table tbody tr:last-child td:first-child { border-radius: 0 0 0 8px; }
.cmocourse-faculty-table tbody tr:last-child td:last-child { border-radius: 0 0 8px 0; }

/* ---- 学员评价 ---- */
.cmocourse-testimonials { margin-bottom: 40px; }
.cmocourse-testimonials__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.cmocourse-testimonial-card {
  background: var(--bg-section-alt);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 24px 22px 20px;
  position: relative;
}
.cmocourse-testimonial-card::before {
  content: '\201C';
  position: absolute;
  top: 8px; left: 14px;
  font-size: 2.8rem;
  color: rgba(201,168,76,.18);
  line-height: 1;
  font-family: Georgia, serif;
}
.cmocourse-testimonial-card__quote {
  font-size: .88rem;
  color: var(--text);
  line-height: 1.8;
  margin-bottom: 14px;
  padding-top: 10px;
  font-style: italic;
}
.cmocourse-testimonial-card__author {
  font-size: .76rem;
  color: var(--muted);
  font-weight: 600;
}

/* ---- CTA 区域 ---- */
.cmocourse-cta { margin-bottom: 20px; }
.cmocourse-cta__row {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}
.cmocourse-cta__info {
  flex: 1;
  background: var(--bg-section-alt);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 24px 28px;
  font-size: .9rem;
  line-height: 2;
  color: var(--text);
}
.cmocourse-cta__info p { margin: 0; }
.cmocourse-cta__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 180px;
  padding-top: 24px;
}
.cmocourse-cta-btn {
  display: block;
  text-align: center;
  padding: 14px 28px;
  border-radius: 8px;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
}
.cmocourse-cta-btn:hover { transform: translateY(-1px); }
.cmocourse-cta-btn--primary {
  background: linear-gradient(135deg, var(--navy) 0%, #1a3a5c 100%);
  color: #fff;
  box-shadow: 0 4px 14px rgba(10,22,40,.25);
}
.cmocourse-cta-btn--primary:hover {
  box-shadow: 0 6px 20px rgba(10,22,40,.35);
}
.cmocourse-cta-btn--outline {
  background: #fff;
  color: var(--navy);
  border: 1.5px solid var(--navy);
}
.cmocourse-cta-btn--outline:hover {
  background: var(--navy);
  color: #fff;
}

@media (max-width: 900px) {
  .cmocourse-overview__grid { grid-template-columns: repeat(2, 1fr); }
  .cmocourse-modules__grid { grid-template-columns: 1fr; }
  .cmocourse-testimonials__grid { grid-template-columns: 1fr; }
  .cmocourse-cta__row { flex-direction: column; gap: 20px; }
  .cmocourse-cta__actions { flex-direction: row; flex-wrap: wrap; padding-top: 0; }
}
@media (max-width: 640px) {
  .cmocourse-overview__grid { grid-template-columns: 1fr 1fr; }
  .cmocourse-module-card { padding: 18px 16px 14px; }
  .cmocourse-faculty-table { font-size: .78rem; }
  .cmocourse-faculty-table thead th,
  .cmocourse-faculty-table tbody td { padding: 10px 10px; }
}
@media (max-width: 480px) {
  .cmocourse-overview__grid { grid-template-columns: 1fr; }
  .cmocourse-cta__actions { flex-direction: column; }
}

/* ==================== 历届演讲嘉宾名录 (v2 - 分区卡片网格) ==================== */
.speaker-directory {
  margin-top: 52px;
  background: linear-gradient(170deg, rgba(10,22,40,.95), rgba(15,30,55,.92));
  border: 1px solid rgba(201,168,76,.15);
  border-radius: 16px;
  padding: 40px 36px;
  position: relative;
  overflow: hidden;
}
.speaker-directory::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .6;
}
.speaker-directory__header {
  text-align: center;
  margin-bottom: 28px;
}
.speaker-directory__title {
  font-size: 1.35rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: .03em;
  margin: 0 0 6px;
}
.speaker-directory__subtitle {
  font-size: .8rem;
  color: var(--muted);
  letter-spacing: .05em;
}

/* ---- 分类快速导航 ---- */
.speaker-nav {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 36px;
  flex-wrap: wrap;
}
.speaker-nav__pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 18px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.55);
  font-size: .78rem;
  font-weight: 500;
  text-decoration: none;
  transition: all .25s;
  cursor: pointer;
  letter-spacing: .02em;
  scroll-margin-top: 100px;
}
.speaker-nav__pill span {
  font-size: .66rem;
  color: rgba(255,255,255,.28);
  font-weight: 400;
  transition: color .25s;
}
.speaker-nav__pill:hover,
.speaker-nav__pill:focus {
  border-color: var(--gold);
  color: var(--gold);
  outline: none;
}
.speaker-nav__pill:hover span,
.speaker-nav__pill:focus span {
  color: var(--gold);
}

/* ---- 分区 ---- */
.speaker-section {
  margin-bottom: 44px;
  scroll-margin-top: 80px;
}
.speaker-section:last-of-type { margin-bottom: 0; }
.speaker-section__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.speaker-section__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent, var(--gold));
  flex-shrink: 0;
}
.speaker-section__title {
  font-size: .88rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: .03em;
  margin: 0;
}
.speaker-section__count {
  font-size: .7rem;
  color: var(--muted);
  margin-left: auto;
  letter-spacing: .03em;
}

/* ---- 卡片网格 ---- */
.speaker-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

/* ---- 嘉宾卡片 ---- */
.speaker-card {
  background: rgba(255,255,255,.022);
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 10px;
  overflow: hidden;
  transition: all .25s;
  cursor: default;
  position: relative;
}
.speaker-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--accent, var(--gold));
  border-radius: 10px 0 0 10px;
}
.speaker-card:hover {
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.1);
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(0,0,0,.25);
}
.speaker-card__inner {
  padding: 16px 16px 16px 20px;
  min-height: 0;
}
.speaker-card__name {
  font-size: .85rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.6;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.speaker-card__name sub {
  display: block;
  font-size: .65rem;
  font-weight: 400;
  color: var(--muted);
  width: 100%;
  margin-top: 3px;
  line-height: 1.5;
}
.speaker-card__title {
  font-size: .72rem;
  color: var(--muted);
  line-height: 1.6;
  margin-bottom: 10px;
}
.speaker-card__session {
  font-size: .66rem;
  color: var(--accent, var(--gold));
  font-weight: 500;
  letter-spacing: .03em;
  display: inline-block;
  padding: 3px 10px;
  background: color-mix(in srgb, var(--accent, var(--gold)) 12%, transparent);
  border-radius: 4px;
  line-height: 1.5;
}
.speaker-card__badge {
  display: inline-block;
  font-size: .62rem;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--accent, var(--gold));
  color: #0a1628;
  letter-spacing: .03em;
  flex-shrink: 0;
}
.speaker-card__class {
  font-size: .66rem;
  color: var(--accent, var(--gold));
  font-weight: 600;
}

/* ---- 各分类主题色 ---- */
.speaker-section--foreign { --accent: #5B9BD5; }
.speaker-section--chinese { --accent: #C9A84C; }
.speaker-section--professor { --accent: #9B7CF6; }
.speaker-section--alumni { --accent: #34C88A; }

.speaker-section--foreign .speaker-card__session { background: rgba(91,155,213,.12); }
.speaker-section--chinese .speaker-card__session { background: rgba(201,168,76,.1); }
.speaker-section--professor .speaker-card__session { background: rgba(155,124,246,.12); }
.speaker-section--alumni .speaker-card__session { background: rgba(52,200,138,.1); }

.speaker-directory__note {
  margin-top: 20px;
  font-size: .8rem;
  color: var(--text-muted);
  font-style: italic;
  text-align: right;
}

/* ---- 名录内使用固定显示，不依赖滚动入场动画 ---- */
.speaker-directory.reveal,
.speaker-directory .reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

/* ---- 响应式 ---- */
@media (max-width: 768px) {
  .speaker-directory { padding: 28px 20px; overflow: visible; margin-top: 32px; }
  .speaker-directory__title { font-size: 1.2rem; }
  .speaker-nav {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 6px;
    padding-bottom: 4px;
    margin-bottom: 28px;
  }
  .speaker-nav::-webkit-scrollbar { display: none; }
  .speaker-nav__pill {
    flex-shrink: 0;
    white-space: nowrap;
    padding: 8px 14px;
    font-size: .74rem;
  }
  .speaker-section { margin-bottom: 36px; }
  .speaker-section__header { margin-bottom: 14px; }
  .speaker-section__title { font-size: .8rem; }
  .speaker-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .speaker-card__inner { padding: 13px 14px 13px 18px; }
}

@media (max-width: 480px) {
  .speaker-directory { padding: 24px 14px; border-radius: 12px; overflow: visible; margin-top: 24px; }
  .speaker-directory__header { margin-bottom: 20px; }
  .speaker-directory__title { font-size: 1.1rem; }
  .speaker-directory__subtitle { font-size: .65rem; }
  .speaker-nav { margin-bottom: 22px; }
  .speaker-nav__pill {
    padding: 7px 12px;
    font-size: .7rem;
    border-radius: 16px;
  }
  .speaker-nav__pill span { font-size: .62rem; }
  .speaker-section { margin-bottom: 30px; scroll-margin-top: 60px; }
  .speaker-section__header { margin-bottom: 12px; padding-bottom: 8px; }
  .speaker-section__title { font-size: .76rem; }
  .speaker-section__dot { width: 8px; height: 8px; }
  .speaker-card__inner { padding: 12px 12px 12px 16px; }
  .speaker-card__name { font-size: .8rem; }
  .speaker-card__title { font-size: .68rem; }
  .speaker-card__session { font-size: .62rem; }
  .speaker-card__badge { font-size: .6rem; padding: 1px 5px; }
  .speaker-card__class { font-size: .62rem; }
  .speaker-directory__note { font-size: .7rem !important; text-align: center !important; }
}