/* ============================================================
   中国大学地球系统科学联盟官网 — 全局样式
   设计令牌由主色 #073A71 派生（单一来源）
   ============================================================ */

:root {
  /* 色板（全部由主色派生） */
  --primary: #073A71;
  --primary-dark: #05294F;
  --primary-light: #1268C8;
  --accent: #1B7AE8;
  --accent-light: #5DB1F7;
  --primary-pale: #E2EDFA;
  --primary-border: #B7CCE4;
  --text: #12233A;
  --text-secondary: #40556C;
  --border: #D3DEEA;
  --danger: #DC2626;
  --success: #16A34A;
  --white: #FFFFFF;

  /* 字体（系统无衬线栈，零外部依赖） */
  --font-stack: -apple-system, BlinkMacSystemFont, "PingFang SC",
    "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;

  /* 布局 */
  --container-w: 1200px;
  --header-h: 78px;
  --radius: 10px;
  --shadow: 0 8px 26px rgba(5, 41, 79, 0.14);
}

/* ============================================================
   滚动条样式
   ============================================================ */
/* WebKit 浏览器（Chrome、Safari、Edge） */
::-webkit-scrollbar {
  width: 16px;
}

::-webkit-scrollbar-track {
  border-radius: 8px;
  background-color: var(--primary-pale);
}

::-webkit-scrollbar-thumb {
  border-radius: 16px;
  border: 4px solid transparent;
  background-clip: content-box;
  background-color: var(--primary-border);
}

::-webkit-scrollbar-thumb:hover {
  background-color: var(--primary-light);
}

::-webkit-scrollbar-corner {
  background: transparent;
}

/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--primary-border) var(--primary-pale);
}

/* ---------- Reset 与基础 ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-stack);
  font-size: 17px;
  line-height: 1.75;
  color: var(--text);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }

a { color: var(--accent); }

h1, h2, h3, h4 { margin: 0; line-height: 1.35; }

p { margin: 0 0 1em; }

ul { margin: 0; padding: 0; list-style: none; }

.container {
  max-width: var(--container-w);
  margin: 0 auto;
  padding: 0 24px;
}

/* ---------- 通用组件 ---------- */
.btn {
  display: inline-block;
  padding: 14px 36px;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.15s;
}
.btn:hover { transform: translateY(-1px); }

.btn--light {
  background: var(--white);
  color: var(--primary);
}
.btn--light:hover { background: var(--primary-pale); }

.btn--ghost {
  background: transparent;
  border: 1.5px solid rgba(255, 255, 255, 0.65);
  color: var(--white);
}
.btn--ghost:hover { background: rgba(255, 255, 255, 0.12); }

.btn--primary {
  background: var(--primary);
  color: var(--white);
}
.btn--primary:hover { background: var(--primary-light); }

.badge {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 10px;
  border: 1px solid var(--primary-border);
  border-radius: 999px;
  background: var(--primary-pale);
  color: var(--primary);
  font-size: 12px;
  font-weight: 600;
  vertical-align: 2px;
  white-space: nowrap;
}

/* 板块上下留白（逐档递增）：≤768 → 40px / 基准 → 48px / ≥1440 → 52px /
   ≥1920 → 56px / ≥2400 → 60px。各档具体值写在文件末尾的媒体查询里。 */
.section { padding: 48px 0; }
.section--pale {
  background: linear-gradient(180deg, #EAF3FD 0%, #D9E9FB 100%);
}

/* 紧凑板块：只有一行内容的区块（如友情链接），上下留白比普通板块小一档 */
.section.section--compact { padding: 44px 0; }
.section.section--compact .section-head { margin-bottom: 28px; }

.section-head { margin-bottom: 36px; }

.section-kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--accent);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.section-title {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 34px;
  font-weight: 700;
  color: var(--primary);
}
.section-title::before {
  content: "";
  width: 6px;
  height: 32px;
  border-radius: 3px;
  background: linear-gradient(180deg, var(--accent) 0%, var(--primary) 100%);
}

.section-desc {
  margin: 12px 0 0 20px;
  color: var(--text-secondary);
  font-size: 16px;
}

.more-link {
  display: inline-block;
  margin-top: 22px;
  font-size: 16px;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}
.more-link:hover { text-decoration: underline; }

/* ============================================================
   页头（深蓝吸顶）
   ============================================================ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: linear-gradient(90deg, var(--primary-dark) 0%, var(--primary) 55%, #0B4E95 100%);
  box-shadow: 0 4px 18px rgba(5, 41, 79, 0.35);
}

.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: var(--header-h);
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  color: var(--white);
  text-decoration: none;
}

.brand-text {
  line-height: 1.3;
}

.brand-logo {
  width: 56px;
  height: 56px;
  padding: 5px;
  object-fit: contain;
  flex-shrink: 0;
  background: var(--white);
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
}

.brand-name {
  display: block;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 1px;
  color: var(--white);
  white-space: nowrap;
}

.brand-en {
  display: block;
  margin-top: 3px;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.3px;
  color: rgba(255, 255, 255, 0.72);
  white-space: nowrap;
}

.site-nav { display: flex; gap: 4px; }

.site-nav a {
  padding: 10px 18px;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 16px;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.site-nav a:hover { background: rgba(255, 255, 255, 0.14); color: var(--white); }
.site-nav a.active {
  background: var(--white);
  color: var(--primary);
  font-weight: 700;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}

.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
}
.nav-toggle-bar {
  display: block;
  height: 2.5px;
  border-radius: 2px;
  background: var(--white);
  transition: transform 0.25s, opacity 0.25s;
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

/* ============================================================
   横幅 Hero（照片 + 深蓝遮罩）
   ============================================================ */
.hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 620px;
  color: var(--white);
  background-color: var(--primary);
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.hero--index { min-height: 660px; }
.hero--page { min-height: 660px; }

/* 横幅文字：统一靠右下（首页与内页一致） */
.hero > .container {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  padding-top: 140px;
  padding-bottom: 72px;
}

/* 轮播图层：照片 + 深蓝遮罩（首页） */
.hero-slider,
.hero-slide,
.hero-overlay {
  position: absolute;
  inset: 0;
}

@keyframes hero-zoom {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}

.hero-slide {
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.9s ease;
}
.hero-slide.active {
  opacity: 1;
  animation: hero-zoom 7s ease-out forwards;
}

/* 单图页面 banner：单张照片缓慢缩放（只做动画、不切换，无需 JS） */
.hero-slider .hero-slide:only-child {
  opacity: 1;
  animation: hero-zoom 18s ease-in-out infinite alternate;
}

/* 照片为主视觉：仅底部渐变压暗，保证文字可读 */
.hero-overlay {
  background: linear-gradient(180deg, rgba(5, 41, 79, 0.08) 0%, rgba(5, 41, 79, 0.22) 40%, rgba(4, 32, 61, 0.9) 100%);
}

/* 首页轮播文字：每张照片一套标题，与照片同步淡入淡出（共用 .hero > .container 的排版） */
.hero > .container.hero-captions {
  display: grid;
  /* 列宽跟随容器，过长的标题才会换行而不是撑破布局 */
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  justify-items: end;
}

.hero-caption {
  grid-area: 1 / 1;
  visibility: hidden;
  opacity: 0;
  /* 旧标题先快速淡出，避免两张照片的文字重叠 */
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

.hero-caption.active {
  visibility: visible;
  opacity: 1;
  /* 新标题等照片淡入后再缓慢浮现 */
  transition: opacity 0.6s ease 0.4s, visibility 0s;
}

/* 轮播控制：箭头与圆点 */
.hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  background: rgba(5, 41, 79, 0.35);
  color: var(--white);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s, opacity 0.2s;
}
.hero-arrow:hover { background: rgba(5, 41, 79, 0.7); }
.hero-arrow--prev { left: 24px; }
.hero-arrow--next { right: 24px; }

.hero-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 24px;
  z-index: 3;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.hero-dot {
  width: 11px;
  height: 11px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  transition: background 0.25s, width 0.25s;
}
.hero-dot.active {
  width: 30px;
  background: var(--white);
}

.hero-kicker {
  display: block;
  margin-bottom: 16px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 4px;
  color: rgba(255, 255, 255, 0.78);
}

.hero-title { font-size: 58px; font-weight: 700; letter-spacing: 1.5px; }
.hero--page .hero-title { font-size: 46px; }

.hero-sub {
  margin: 18px 0 0;
  max-width: 760px;
  font-size: 20px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
}

.hero-en {
  display: block;
  margin-top: 12px;
  font-size: 15px;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.62);
}

.hero-actions { margin-top: 38px; display: flex; flex-wrap: wrap; gap: 18px; }

/* ============================================================
   首页
   ============================================================ */
/* 图文并排（图片为主视觉，文字为辅） */
.feature {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 56px;
  align-items: center;
}

.feature-media {
  position: relative;
  display: block;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.feature-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.feature-media:hover img { transform: scale(1.04); }

.feature-caption {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 18px;
  color: var(--white);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

.feature-body .btn { margin-top: 30px; }

.intro-text {
  max-width: 900px;
  font-size: 17px;
  color: var(--text);
}
.intro-text strong { color: var(--primary); }

/* 预览卡片 */
.preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 24px;
}

.card {
  display: flex;
  flex-direction: column;
  padding: 26px 28px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
  border-color: var(--primary-border);
}

.card .item-date {
  color: var(--text-secondary);
  font-size: 13.5px;
  font-variant-numeric: tabular-nums;
}

.card .item-title {
  margin: 12px 0 10px;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.5;
}
.card .item-title a { color: var(--text); text-decoration: none; }
.card .item-title a:hover { color: var(--accent); }

.card .item-summary {
  margin: 0;
  color: var(--text-secondary);
  font-size: 15px;
  line-height: 1.7;
}

.card .item-more {
  margin-top: auto;
  padding-top: 14px;
  font-size: 15px;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}
.card .item-more:hover { text-decoration: underline; }

/* 创始成员条 */
.members-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 24px;
}

.member-chip {
  padding: 34px 16px 30px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  text-align: center;
  transition: transform 0.2s, box-shadow 0.2s;
}
.member-chip:hover { transform: translateY(-3px); box-shadow: var(--shadow); }

.member-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  margin: 0 auto 16px;
  border-radius: 14px;
  background: var(--white);
  border: 1px solid var(--border);
  overflow: hidden;
}
.member-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.member-name { font-size: 19px; font-weight: 700; color: var(--primary); }
.member-role { margin-top: 4px; color: var(--text-secondary); font-size: 14px; }

/* 首页 2×2 专栏网格 */
.column-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.column-card {
  display: flex;
  flex-direction: column;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.column-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
  border-color: var(--primary-border);
}

/* 卡片顶部：整幅图片 + 渐变 + 标题叠加（图片为主视觉） */
.column-media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--primary);
}
.column-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.column-card:hover .column-media img { transform: scale(1.05); }
.column-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 41, 79, 0.05) 40%, rgba(5, 41, 79, 0.88) 100%);
}
.column-media-title {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 14px;
  z-index: 1;
  color: var(--white);
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.35;
}

.column-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 24px 28px 28px;
}

.column-desc { margin: 0 0 6px; color: var(--text-secondary); font-size: 14.5px; }

/* 紧凑列表（2×2 卡片内） */
.mini-list { margin-top: 12px; flex: 1; }
.mini-list .article-item { padding: 13px 4px; }
.mini-list .article-item:last-child { border-bottom: none; }
.mini-list .article-date { margin-bottom: 4px; }
.column-card .more-link { margin-top: 16px; }

/* 迷你成员块（2×2 卡片内） */
.mini-members {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 16px;
  flex: 1;
  align-content: start;
}

.mini-member {
  padding: 14px 8px;
  border-radius: 10px;
  background: var(--primary-pale);
  text-align: center;
}
.mini-member .member-logo {
  width: 48px;
  height: 48px;
  margin: 0 auto 7px;
  border-radius: 10px;
}
.mini-member .member-logo img { padding: 5px; }
.mini-member .member-name { font-size: 14px; font-weight: 600; color: var(--primary); }
.mini-member .member-role { font-size: 12px; color: var(--text-secondary); }

/* 友情链接 */
.links-list { display: flex; flex-wrap: wrap; gap: 12px; }

.link-chip {
  padding: 12px 26px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--white);
  color: var(--text);
  font-size: 16px;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s, transform 0.15s;
}
.link-chip:hover {
  border-color: var(--accent);
  color: var(--accent);
  transform: translateY(-2px);
}

/* ============================================================
   关于联盟页
   ============================================================ */
/* 使命宣言（浅色卡片，不使用背景图） */
.mission-block {
  padding: 56px 60px;
  border: 1px solid var(--primary-border);
  border-left: 6px solid var(--accent);
  border-radius: 16px;
  background: linear-gradient(135deg, #F5F9FF 0%, var(--primary-pale) 100%);
  box-shadow: 0 6px 20px rgba(5, 41, 79, 0.06);
  color: var(--text);
}
.mission-kicker { font-size: 14px; font-weight: 700; letter-spacing: 3px; color: var(--accent); }
.mission-quote {
  margin: 16px 0 24px;
  font-size: 27px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: var(--primary);
}
.mission-block p {
  max-width: 900px;
  margin-bottom: 16px;
  color: var(--text-secondary);
  font-size: 16px;
}
.mission-block p:last-child { margin-bottom: 0; }

/* 成立简史时间线 */
.timeline {
  position: relative;
  margin: 8px 0 0 4px;
  padding-left: 34px;
  border-left: 2px solid var(--primary-border);
}

.timeline-item { position: relative; margin-bottom: 30px; }
.timeline-item:last-child { margin-bottom: 0; }

.timeline-item::before {
  content: "";
  position: absolute;
  left: -41px;
  top: 5px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--primary);
  border: 3px solid var(--white);
  box-shadow: 0 0 0 2px var(--primary);
}

.timeline-date {
  font-size: 15px;
  font-weight: 700;
  color: var(--primary-light);
  font-variant-numeric: tabular-nums;
}

.timeline-text { margin-top: 4px; color: var(--text); font-size: 16px; }

/* 合作模式：任何视口下每行最多四列（宽屏下 auto-fill 曾排成 5 + 3 两行） */
.coop-grid {
  display: grid;
  /* 轨道下限取「四列时每列的宽度」，窄屏时退回 250px 的原有行为 */
  grid-template-columns: repeat(auto-fill, minmax(max(250px, calc((100% - 60px) / 4)), 1fr));
  gap: 20px;
}

.coop-card {
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  transition: transform 0.2s, box-shadow 0.2s;
}
.coop-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }

.coop-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 16px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--primary) 100%);
  color: var(--white);
  font-weight: 700;
}

.coop-card h3 { margin-bottom: 8px; font-size: 17px; color: var(--primary); }
.coop-card p { margin: 0; color: var(--text-secondary); font-size: 15px; line-height: 1.7; }

/* 理事会：成员卡片（照片 + 姓名 + 职务） */
.council-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.council-column {
  padding: 26px 24px 24px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.council-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}

.council-uni-logo {
  width: 34px;
  height: 34px;
  object-fit: contain;
  flex-shrink: 0;
}

.council-uni {
  font-size: 18px;
  font-weight: 700;
  color: var(--primary);
}

.council-list {
  list-style: none;
  display: grid;
  gap: 14px;
  padding: 0;
  margin: 0;
}

.council-person {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* 圆形照片位：照片缺失时显示姓名首字占位 */
.council-photo {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(135deg, var(--white) 0%, var(--primary-pale) 100%);
  box-shadow: inset 0 0 0 1px var(--primary-border);
}

.council-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* 照片均为竖版：裁切窗口上移，保证发顶完整不被圆蒙版裁掉 */
  object-position: 50% 10%;
  transition: transform 0.25s;
}
.council-person:hover .council-photo img { transform: scale(1.06); }

.council-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  min-width: 0;
}

.council-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  transition: color 0.2s;
}
.council-person:hover .council-name { color: var(--primary); }

.council-role {
  font-size: 13px;
  line-height: 1.4;
  color: var(--text-secondary);
}
.council-role.is-lead {
  padding: 1px 9px;
  border-radius: 999px;
  background: var(--primary-pale);
  color: var(--primary);
  font-weight: 600;
}

.secretariat-note {
  margin-top: 28px;
  padding: 20px 26px;
  border-left: 4px solid var(--accent);
  background: var(--primary-pale);
  color: var(--text);
  font-size: 16px;
  border-radius: 0 8px 8px 0;
}
.secretariat-note strong { color: var(--primary); }
.secretariat-note p { margin: 0; }

/* 秘书处人员：秘书长 / 秘书 + 联系邮箱 */
.secretariat-contacts {
  margin-top: 12px;
  display: grid;
  gap: 4px;
}
.secretariat-contacts li { overflow-wrap: anywhere; }
.secretariat-contacts a { color: var(--accent); text-decoration: none; }
.secretariat-contacts a:hover { text-decoration: underline; }

/* ============================================================
   成员伙伴页
   ============================================================ */
.member-card {
  display: flex;
  gap: 28px;
  padding: 32px 36px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
}
.member-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }

.member-card .member-logo { margin: 0; flex-shrink: 0; width: 104px; height: 104px; }

.member-card .member-body { flex: 1; }

.member-card h3 {
  font-size: 22px;
  color: var(--primary);
  font-weight: 700;
}
.member-card .member-role { margin: 6px 0 12px; font-size: 15px; color: var(--text-secondary); }
.member-card .member-body > p { margin: 0 0 12px; color: var(--text-secondary); font-size: 15px; line-height: 1.7; }
.member-card .member-more {
  display: inline-block;
  color: var(--accent);
  font-size: 14px;
  font-weight: 500;
}
.member-card:hover .member-more { color: var(--primary); }

.member-card .member-detail { display: none; }

.member-list { display: grid; gap: 20px; }

/* Member detail modal */
.member-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.member-modal[hidden] {
  display: none !important;
}

.member-modal:not([hidden]) {
  display: flex;
}

.member-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(5, 41, 79, 0.6);
  animation: fadeIn 0.2s ease;
}

.member-modal-content {
  position: relative;
  max-width: 900px;
  width: 100%;
  max-height: 85vh;
  background: var(--white);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  animation: slideUp 0.3s ease;
}

.member-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 32px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

.member-modal-header h3 {
  margin: 0;
  font-size: 22px;
  color: var(--primary);
  font-weight: 700;
}

.member-modal-close {
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  font-size: 28px;
  color: var(--text-secondary);
  cursor: pointer;
  border-radius: 50%;
  transition: background 0.2s, color 0.2s;
  flex-shrink: 0;
}
.member-modal-close:hover { background: var(--primary-pale); color: var(--primary); }

.member-modal-body {
  padding: 28px 32px;
  overflow-y: auto;
  flex: 1;
}

.member-modal-body h3 {
  font-size: 20px;
  color: var(--primary);
  font-weight: 700;
  margin-bottom: 16px;
  display: none;
}

.member-modal-body p {
  color: var(--text);
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 14px;
}
.member-modal-body p:last-child { margin-bottom: 0; }

/* --- 成员详情富排版：信息条 / 章节标题 / 方向卡片 / 要点列表 / 高亮框 --- */
.member-modal-body .detail-facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.member-modal-body .detail-facts li {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px 14px;
  background: linear-gradient(160deg, var(--primary-pale) 0%, #F5F9FE 100%);
  border: 1px solid var(--primary-border);
  border-radius: 8px;
}
.member-modal-body .detail-facts span {
  font-size: 12.5px;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
}
.member-modal-body .detail-facts strong {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--primary);
  line-height: 1.35;
}

/* 章节标题；旧版卡片中段首的 <strong>标签：</strong> 自动套用同一标题样式 */
.member-modal-body h4,
.member-modal-body p > strong:first-child {
  display: block;
  margin: 26px 0 10px;
  padding-left: 12px;
  border-left: 4px solid var(--accent);
  font-size: 16.5px;
  font-weight: 700;
  color: var(--primary);
  line-height: 1.35;
}
.member-modal-body p > strong:first-child { margin: 0 0 8px; }

.member-modal-body .detail-sub {
  margin-bottom: 12px;
  color: var(--text-secondary);
}

.member-modal-body .detail-directions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.member-modal-body .detail-direction {
  padding: 14px 16px;
  background: #F8FAFD;
  border: 1px solid var(--border);
  border-radius: 10px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.member-modal-body .detail-direction:hover {
  border-color: var(--primary-border);
  box-shadow: 0 4px 14px rgba(7, 58, 113, 0.08);
}
.member-modal-body .detail-direction:last-child { grid-column: 1 / -1; }
.member-modal-body .detail-direction h5 {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
  color: var(--primary);
  line-height: 1.4;
}
.member-modal-body .detail-direction p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-secondary);
}

.member-modal-body .detail-points {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.member-modal-body .detail-points li {
  position: relative;
  padding-left: 20px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--text);
}
.member-modal-body .detail-points li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.74em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
}
.member-modal-body .detail-points li strong { color: var(--primary); }

.member-modal-body .detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.member-modal-body .detail-tags li {
  padding: 6px 14px;
  background: #EEF4FC;
  border: 1px solid var(--primary-border);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: var(--primary);
}

.member-modal-body .detail-highlight {
  padding: 16px 18px;
  background: linear-gradient(135deg, var(--primary-pale) 0%, #F4F9FF 100%);
  border: 1px solid var(--primary-border);
  border-radius: 10px;
}
.member-modal-body .detail-highlight-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.member-modal-body .detail-highlight-tag {
  padding: 3px 10px;
  background: var(--primary);
  color: var(--white);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 999px;
}
.member-modal-body .detail-highlight-head strong {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--primary);
}
.member-modal-body .detail-highlight p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--text-secondary);
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 加盟办法 */
.rule-list li {
  position: relative;
  margin-bottom: 14px;
  padding-left: 28px;
  font-size: 16px;
}
.rule-list li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 11px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--primary);
}
.rule-list li strong { color: var(--primary); }

/* 成员单位占位 */
.placeholder-box {
  padding: 52px 24px;
  border: 2px dashed var(--primary-border);
  border-radius: var(--radius);
  background: var(--primary-pale);
  text-align: center;
  color: var(--text-secondary);
  font-size: 16px;
}

/* 列表页分页 */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 40px;
}

.page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--white);
  color: var(--text);
  font-size: 15px;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.page-link:hover { border-color: var(--accent); color: var(--accent); }
.page-link.current {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--white);
  font-weight: 600;
  cursor: default;
}
.page-link.disabled {
  opacity: 0.45;
  pointer-events: none;
}

/* ============================================================
   列表页与详情页
   ============================================================ */
/* 列表条目：缩略图 + 文字（图片为主视觉） */
.article-list { border-top: 1px solid var(--border); }

/* 空列表提示：留白式「正在建设中」 */
.list-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 84px 24px 92px;
  text-align: center;
  color: var(--text-secondary);
  font-size: 16px;
}
.list-empty-art {
  display: block;
  width: clamp(184px, 16vw, 560px);
  height: auto;
  margin-bottom: 28px;
  user-select: none;
  pointer-events: none;
}
.list-empty-text { letter-spacing: 0.22em; text-indent: 0.22em; }

/* 首页迷你列表：在卡片剩余空间内垂直居中，保持同类留白语言 */
.mini-list .list-empty {
  height: 100%;
  min-height: 200px;
  padding: 36px 12px;
  font-size: 14.5px;
}
.mini-list .list-empty-art { width: clamp(132px, 8vw, 280px); margin-bottom: 18px; }
.mini-list .list-empty-text { letter-spacing: 0.2em; text-indent: 0.2em; }

.article-item {
  display: flex;
  gap: 26px;
  align-items: flex-start;
  padding: 26px 4px;
  border-bottom: 1px solid var(--border);
  transition: background 0.2s;
}
.article-item:hover { background: rgba(226, 237, 250, 0.6); }

.article-thumb {
  flex-shrink: 0;
  width: 230px;
  aspect-ratio: 16 / 10;
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  background: var(--primary-pale);
}
.article-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.article-item:hover .article-thumb img { transform: scale(1.06); }

.article-text { flex: 1; min-width: 0; }

.article-date {
  display: block;
  margin-bottom: 6px;
  color: var(--text-secondary);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}

.article-title {
  display: inline;
  font-size: 19px;
  font-weight: 600;
  color: var(--text);
  text-decoration: none;
  line-height: 1.5;
}
.article-title:hover { color: var(--accent); }

.article-summary {
  margin: 10px 0 0;
  color: var(--text-secondary);
  font-size: 15.5px;
}

/* 详情页 */
.detail-page { padding: 56px 0 72px; }

.detail-banner {
  margin-bottom: 30px;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 21 / 9;
  background: var(--primary-pale);
  box-shadow: var(--shadow);
}
.detail-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.detail-head {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 30px;
}

.detail-title { font-size: 30px; font-weight: 700; color: var(--primary); }

.detail-meta {
  margin-top: 14px;
  color: var(--text-secondary);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}

.detail-body p { font-size: 17px; margin-bottom: 1.1em; }
.detail-body .detail-h {
  margin: 2em 0 1em;
  padding-left: 12px;
  border-left: 4px solid var(--primary);
  font-size: 21px;
  font-weight: 700;
  color: var(--primary);
}
.detail-body .detail-h:first-child { margin-top: 0; }

/* 详情页附件下载按钮 */
.detail-download {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  padding: 13px 26px;
  border-radius: 999px;
  background: var(--primary);
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(5, 41, 79, 0.16);
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.detail-download:hover {
  background: var(--primary-light);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(5, 41, 79, 0.22);
}
.detail-download svg { width: 19px; height: 19px; flex: none; }

.detail-back {
  display: block;
  margin-top: 40px;
  text-align: right;
  font-size: 16px;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}
.detail-back:hover { text-decoration: underline; }

.detail-empty {
  padding: 60px 24px;
  text-align: center;
  color: var(--text-secondary);
}

/* ============================================================
   制度文件页（管理办法全文）
   ============================================================ */
.doc-section { padding: 56px 0 76px; }

.doc-layout {
  display: grid;
  grid-template-columns: 268px minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}

/* 左侧目录：跟随滚动 */
.doc-aside {
  position: sticky;
  top: calc(var(--header-h) + 24px);
  align-self: start;
}
.doc-aside-inner {
  max-height: calc(100vh - var(--header-h) - 48px);
  overflow-y: auto;
  padding: 22px 20px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
}
.doc-aside-title {
  margin: 0 0 10px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
}
.doc-aside-title--sub {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  color: var(--primary);
}
.doc-toc {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.doc-toc a {
  display: block;
  padding: 6px 8px;
  border-radius: 6px;
  color: var(--text-secondary);
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
}
.doc-toc a:hover { background: var(--primary-pale); color: var(--primary); }
.doc-aside-download {
  display: inline-block;
  margin-top: 20px;
  font-size: 14px;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}
.doc-aside-download:hover { text-decoration: underline; }

.doc-main { min-width: 0; }

/* 文件封面 */
.doc-cover {
  padding: 4px 0 34px;
  border-bottom: 1px solid var(--border);
  text-align: center;
}
.doc-eyebrow {
  display: block;
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 3px;
}
.doc-cover-title {
  margin: 16px 0 12px;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--primary);
}
.doc-cover-sub {
  margin: 0 0 8px;
  color: var(--text-secondary);
  font-size: 19px;
}
.doc-cover-meta {
  margin: 0;
  color: var(--text-secondary);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.doc-cover-note {
  display: inline-block;
  margin: 20px 0 0;
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--primary-pale);
  color: var(--primary);
  font-size: 14px;
}

/* 正文 */
.doc-h2 {
  margin: 46px 0 18px;
  padding-left: 14px;
  border-left: 5px solid var(--primary);
  font-size: 25px;
  font-weight: 700;
  color: var(--primary);
  scroll-margin-top: calc(var(--header-h) + 20px);
}
.doc-h3 {
  margin: 32px 0 12px;
  font-size: 19px;
  font-weight: 700;
  color: var(--primary);
}
.doc-article {
  margin: 0 0 14px;
  font-size: 17px;
  line-height: 1.95;
  text-align: justify;
}
.doc-label,
.doc-tag { color: var(--primary); }
.doc-item {
  margin: 0 0 6px 2.2em;
  color: var(--text-secondary);
  font-size: 16.5px;
  line-height: 1.85;
  text-align: justify;
}
.doc-letter {
  margin: 0 0 14px;
  font-size: 17px;
  line-height: 1.95;
  text-align: justify;
}
.doc-note {
  margin: 0 0 12px;
  padding-left: 12px;
  border-left: 3px solid var(--primary-border);
  color: var(--text-secondary);
  font-size: 14.5px;
  line-height: 1.8;
}

/* 附件标题：整块浅色标识 */
.doc-annex {
  display: block;
  margin-top: 76px;
  padding: 16px 22px;
  border: 0;
  border-left: 5px solid var(--accent);
  border-radius: 0 10px 10px 0;
  background: var(--primary-pale);
}
.doc-annex-label {
  display: block;
  margin-bottom: 4px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
}
.doc-annex-title { display: block; font-size: 21px; line-height: 1.5; }

/* 附件表单表格 */
.doc-table-wrap {
  margin: 0 0 26px;
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow-x: auto;
}
.doc-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.7;
}
.doc-table td {
  padding: 10px 14px;
  border: 1px solid var(--border);
  color: var(--text);
  vertical-align: top;
}
.doc-table tr:first-child td { background: #F2F7FD; }
.doc-table strong { color: var(--primary); font-weight: 600; }

.doc-foot {
  margin-top: 68px;
  padding-top: 32px;
  border-top: 1px solid var(--border);
}
.doc-foot p {
  margin-bottom: 22px;
  color: var(--text-secondary);
  font-size: 15px;
}
.doc-foot .detail-back { margin-top: 18px; }

/* 关于联盟页：制度文件入口卡片 */
.doc-teaser {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 26px 32px;
  border: 1px solid var(--border);
  border-left: 5px solid var(--accent);
  border-radius: var(--radius);
  background: var(--white);
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.doc-teaser:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: var(--primary-border);
}
.doc-teaser-body { display: block; }
.doc-teaser-kicker {
  display: block;
  margin-bottom: 6px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
}
.doc-teaser-title {
  display: block;
  color: var(--primary);
  font-size: 19px;
  font-weight: 700;
}
.doc-teaser-desc {
  display: block;
  margin-top: 6px;
  color: var(--text-secondary);
  font-size: 15px;
}
.doc-teaser-more {
  flex: none;
  color: var(--accent);
  font-size: 15px;
  font-weight: 600;
}

/* ============================================================
   页脚
   ============================================================ */
.site-footer { background: var(--primary-dark); color: rgba(255, 255, 255, 0.78); }

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  padding: 52px 0;
}

.footer-col h3 {
  margin-bottom: 16px;
  color: var(--white);
  font-size: 17px;
  font-weight: 700;
  padding-left: 17px;
}

.footer-col p { margin: 0; font-size: 14.5px; line-height: 1.8; padding-left: 17px; }

.footer-col li { margin-bottom: 10px; font-size: 14.5px; }
.footer-col ul { padding-left: 17px; }
.footer-col a { color: rgba(255, 255, 255, 0.78); text-decoration: none; transition: color 0.2s; }
.footer-col a:hover { color: var(--white); }

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  padding: 20px 0;
  text-align: center;
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.55);
}

.placeholder-note { color: rgba(255, 255, 255, 0.45); font-size: 12px; }

/* 理事会：平板（≤1024px）两列 */
@media (max-width: 1024px) and (min-width: 769px) {
  .council-grid { grid-template-columns: repeat(2, 1fr); }

  /* 制度文件页：目录改为顶部单栏 */
  .doc-layout { grid-template-columns: 1fr; gap: 32px; }
  .doc-aside { position: static; }
  .doc-aside-inner { max-height: none; }
}

/* ============================================================
   响应式（≤768px：单列 + 汉堡菜单）
   ============================================================ */
@media (max-width: 768px) {
  :root { --header-h: 64px; }

  .container { padding: 0 24px; }

  .header-inner { gap: 12px; }

  .brand-logo { width: 44px; height: 44px; padding: 4px; border-radius: 10px; }
  .brand-name { font-size: 18px; letter-spacing: 0.5px; }
  .brand-en { display: none; }

  .nav-toggle { display: flex; }

  .site-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    gap: 2px;
    padding: 10px 16px 18px;
    background: var(--white);
    box-shadow: 0 12px 20px rgba(5, 41, 79, 0.15);
  }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 13px 14px; font-size: 16px; color: var(--text); }
  .site-nav a.active { background: var(--primary); color: var(--white); box-shadow: none; }

  .hero > .container { padding-top: 90px; padding-bottom: 48px; }
  .hero--index { min-height: 520px; }
  .hero--page { min-height: 520px; }
  .hero-arrow { width: 38px; height: 38px; font-size: 22px; }
  .hero-arrow--prev { left: 10px; }
  .hero-arrow--next { right: 10px; }
  .hero-dots { bottom: 16px; }
  .hero-title { font-size: 34px; }
  .hero--page .hero-title { font-size: 30px; }
  .hero--policy .hero-title { font-size: 26px; }
  .hero-sub { font-size: 16.5px; }
  .hero-en { font-size: 12.5px; }
  .hero-actions { margin-top: 26px; gap: 12px; }
  .btn { padding: 12px 24px; font-size: 15px; }

  .section { padding: 40px 0; }
  .section.section--compact { padding: 36px 0; }
  .section-title { font-size: 25px; }
  .section-head { margin-bottom: 28px; }

  .mission-block { padding: 34px 26px; }
  .mission-quote { font-size: 21px; }

  .member-card { flex-direction: column; align-items: flex-start; gap: 14px; padding: 24px; }
  .member-card .member-logo { width: 80px; height: 80px; }
  .member-modal-content { max-height: 90vh; }
  .member-modal-header { padding: 16px 20px; }
  .member-modal-header h3 { font-size: 18px; }
  .member-modal-body { padding: 20px; }
  .member-modal-body .detail-facts { grid-template-columns: repeat(2, 1fr); }
  .member-modal-body .detail-directions { grid-template-columns: 1fr; }

  .footer-grid { grid-template-columns: 1fr; gap: 28px; padding: 44px 0; }
  .footer-col { padding: 0 24px; }

  .column-grid { grid-template-columns: 1fr; }
  .council-grid { grid-template-columns: 1fr; }
  .column-body { padding: 20px 22px 24px; }
  .column-media-title { font-size: 20px; }

  .feature { grid-template-columns: 1fr; gap: 30px; }

  .article-item { flex-direction: column; gap: 14px; }
  .article-thumb { width: 100%; aspect-ratio: 16 / 9; }

  .detail-title { font-size: 24px; }

  /* 制度文件页 */
  .doc-section { padding: 40px 0 56px; }
  .doc-layout { grid-template-columns: 1fr; gap: 28px; }
  .doc-aside { position: static; }
  .doc-aside-inner { max-height: none; padding: 18px 16px; }
  .doc-cover { padding-bottom: 26px; }
  .doc-cover-title { font-size: 24px; }
  .doc-cover-sub { font-size: 16px; }
  .doc-cover-note { font-size: 13px; }
  .doc-h2 { margin-top: 36px; font-size: 21px; }
  .doc-h3 { margin-top: 26px; font-size: 17.5px; }
  .doc-article,
  .doc-letter { font-size: 16px; line-height: 1.85; }
  .doc-item { margin-left: 1em; font-size: 15.5px; }
  .doc-note { font-size: 14px; }
  .doc-annex { margin-top: 52px; padding: 14px 16px; }
  .doc-annex-title { font-size: 18px; }
  .doc-table { min-width: 520px; font-size: 14px; }
  .doc-teaser { flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px 24px; }
  .doc-teaser-title { font-size: 17px; }
}

/* ============================================================
   大屏适配（4K 显示器 / 系统 200% 缩放 ≈ 1920×1080 视口）
   内容区随视口平滑加宽，字号与间距按档放大，避免大屏两侧留白与文字过小
   ============================================================ */

/* ---------- ① ≥1440px：内容区开始加宽（1200 → 1600px 平滑过渡） ---------- */
@media (min-width: 1440px) {
  :root {
    --container-w: clamp(1240px, 82vw, 1600px);
    --header-h: 86px;
  }

  body { font-size: 17.5px; }

  .brand-logo { width: 60px; height: 60px; }
  .brand-name { font-size: 28px; }
  .brand-en { font-size: 16px; }
  .site-nav a { font-size: 17px; }

  .hero--index { min-height: clamp(660px, 66vh, 760px); }
  .hero--page  { min-height: clamp(640px, 64vh, 720px); }
  .hero > .container { padding-top: 150px; padding-bottom: 78px; }
  .hero-title { font-size: 62px; }
  .hero--page .hero-title { font-size: 50px; }
  .hero-sub { max-width: 820px; font-size: 21px; }

  .section { padding: 52px 0; }
  .section-title { font-size: 36px; }

  .section.section--compact { padding: 48px 0; }

  .footer-grid { gap: 48px; padding: 56px 0; }

  .article-thumb { width: 260px; }
  .article-title { font-size: 20px; }
  .article-summary { font-size: 16px; }

  .member-card h3 { font-size: 27px; }
  .member-card .member-logo { width: 112px; height: 112px; }
  .member-card .member-role,
  .member-card .member-body > p { font-size: 17.5px; }
  .member-card .member-more { font-size: 16px; }
  .member-modal-header h3 { font-size: 26px; }
  .member-modal-body p { font-size: 17.5px; }
  .member-modal-body .detail-facts span { font-size: 14px; }
  .member-modal-body .detail-facts strong { font-size: 17.5px; }
  .member-modal-body h4,
  .member-modal-body p > strong:first-child { font-size: 18.5px; }
  .member-modal-body .detail-direction h5 { font-size: 17px; }
  .member-modal-body .detail-direction p,
  .member-modal-body .detail-highlight p { font-size: 16px; }
  .member-modal-body .detail-points li { font-size: 17.5px; }
  .member-modal-body .detail-tags li { font-size: 16px; }
  .member-modal-body .detail-highlight-head strong { font-size: 18px; }
  .rule-list li { font-size: 18px; }
  .placeholder-box { font-size: 18px; }

  /* 合作模式 */
  .coop-card h3 { font-size: 19px; }
  .coop-card p { font-size: 16px; }
  .coop-num { width: 42px; height: 42px; font-size: 18px; }

  /* 理事会 */
  .council-grid { gap: 28px; }
  .council-column { padding: 30px 28px 28px; }
  .council-head { gap: 12px; margin-bottom: 20px; padding-bottom: 16px; }
  .council-uni-logo { width: 38px; height: 38px; }
  .council-uni { font-size: 19px; }
  .council-list { gap: 16px; }
  .council-photo { width: 70px; height: 70px; }
  .council-name { font-size: 17px; }
  .council-role { font-size: 14px; }

  .intro-text,
  .mission-block p { max-width: 1240px; }
  .member-modal-content { max-width: 1000px; }
}

/* ---------- ② ≥1920px：4K + 200% 缩放的典型视口，完整大屏排版 ---------- */
@media (min-width: 1920px) {
  :root {
    --container-w: clamp(1560px, 84vw, 1720px);
    --header-h: 96px;
    --radius: 12px;
    --shadow: 0 10px 32px rgba(5, 41, 79, 0.16);
  }

  body { font-size: 18.5px; }

  /* 页头 */
  .brand-logo { width: 64px; height: 64px; border-radius: 16px; }
  .brand-name { font-size: 32px; }
  .brand-en { font-size: 19px; }
  .site-nav a { padding: 12px 22px; font-size: 19px; }

  /* 横幅：4K 视口下固定 530px（首页轮播与内页横幅一致），不再按 vh 伸缩 */
  .hero--index,
  .hero--page  { min-height: 530px; }
  .hero > .container { padding-top: 160px; padding-bottom: 88px; }
  .hero-kicker { font-size: 16px; }
  .hero-title { font-size: 70px; }
  .hero--page .hero-title { font-size: 56px; }
  .hero-sub { max-width: 880px; font-size: 23px; }
  .hero-en { font-size: 16px; }
  .hero-arrow { width: 56px; height: 56px; font-size: 32px; }
  .hero-arrow--prev { left: 32px; }
  .hero-arrow--next { right: 32px; }
  .hero-dots { bottom: 30px; gap: 12px; }
  .hero-dot { width: 12px; height: 12px; }
  .hero-dot.active { width: 34px; }

  /* 通用组件 */
  .btn { padding: 16px 42px; font-size: 17px; }
  .badge { font-size: 13px; }
  .more-link { font-size: 17px; }
  .link-chip { padding: 14px 30px; font-size: 17px; }
  .section { padding: 56px 0; }
  .section-head { margin-bottom: 44px; }
  .section.section--compact { padding: 56px 0; }
  .section.section--compact .section-head { margin-bottom: 32px; }
  .section-kicker { font-size: 15px; }
  .section-title { font-size: 40px; }
  .section-title::before { width: 7px; height: 38px; }
  .section-desc { font-size: 17px; }

  /* 首页 */
  .feature { gap: 72px; }
  .feature-body .btn { margin-top: 34px; }
  .intro-text { font-size: 18.5px; }
  .column-grid { gap: 28px; }
  .column-media-title { font-size: 26px; }
  .column-body { padding: 28px 32px 32px; }
  .column-desc { font-size: 16px; }
  .mini-list .article-item { padding: 15px 4px; }
  .mini-list .article-date { font-size: 14.5px; }
  .mini-member { padding: 16px 10px; }
  .mini-member .member-logo { width: 54px; height: 54px; }
  .mini-member .member-name { font-size: 19px; }
  .mini-member .member-role { font-size: 17px; }
  .card { padding: 30px 32px; }
  .card .item-date { font-size: 14.5px; }
  .card .item-title { font-size: 21px; }
  .card .item-summary, .card .item-more { font-size: 16px; }

  /* 关于联盟 */
  .mission-block { padding: 68px 72px; }
  .mission-quote { font-size: 31px; }
  .mission-block p { max-width: 1420px; font-size: 17px; }
  .timeline-item { margin-bottom: 34px; }
  .timeline-date { font-size: 16px; }
  .timeline-text { font-size: 17px; }
  .coop-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
  .coop-card { padding: 30px; }
  .coop-card h3 { font-size: 22px; }
  .coop-card p { font-size: 17.5px; }
  .coop-num { width: 46px; height: 46px; font-size: 20px; }
  .council-grid { gap: 28px; }
  .council-column { padding: 34px 32px 32px; }
  .council-head { gap: 12px; margin-bottom: 22px; padding-bottom: 18px; }
  .council-uni-logo { width: 42px; height: 42px; }
  .council-uni { font-size: 21px; }
  .council-list { gap: 18px; }
  .council-photo { width: 80px; height: 80px; }
  .council-name { font-size: 18.5px; }
  .council-role { font-size: 15px; }
  .secretariat-note { padding: 24px 30px; font-size: 17px; }

  /* 成员伙伴 */
  .member-card { gap: 32px; padding: 36px 40px; }
  .member-card .member-logo { width: 120px; height: 120px; border-radius: 16px; }
  .member-card h3 { font-size: 33px; }
  .member-card .member-role,
  .member-card .member-body > p { font-size: 20.5px; }
  .member-card .member-more { font-size: 19px; }
  .member-modal-header { padding: 24px 36px; }
  .member-modal-header h3 { font-size: 31px; }
  .member-modal-body { padding: 32px 36px; }
  .member-modal-body p { font-size: 20.5px; }
  .member-modal-body .detail-facts span { font-size: 16px; }
  .member-modal-body .detail-facts strong { font-size: 20.5px; }
  .member-modal-body h4,
  .member-modal-body p > strong:first-child { font-size: 22px; }
  .member-modal-body .detail-direction h5 { font-size: 20px; }
  .member-modal-body .detail-direction p,
  .member-modal-body .detail-highlight p { font-size: 18.5px; }
  .member-modal-body .detail-points li { font-size: 20.5px; }
  .member-modal-body .detail-tags li { font-size: 18.5px; }
  .member-modal-body .detail-highlight-head strong { font-size: 21px; }
  .member-modal-body .detail-highlight-tag { font-size: 15px; }
  .member-modal-content { max-width: 1100px; }
  .rule-list li { font-size: 20.5px; }
  .placeholder-box { padding: 64px 28px; font-size: 20.5px; }
  .list-empty-text { font-size: 18px; }

  /* 列表与详情 */
  .pagination { gap: 10px; margin-top: 48px; }
  .page-link { min-width: 46px; height: 46px; font-size: 16px; }
  .article-item { gap: 32px; padding: 30px 6px; }
  .article-thumb { width: 300px; }
  .article-date { font-size: 15px; }
  .article-title { font-size: 21px; }
  .article-summary { font-size: 16.5px; }
  .detail-page { padding: 68px 0 88px; }
  .detail-title { font-size: 34px; }
  .detail-meta { font-size: 16px; }
  .detail-body p { font-size: 18.5px; }
  .detail-body .detail-h { font-size: 23px; }
  .detail-download { font-size: 17.5px; padding: 15px 30px; }
  .detail-download svg { width: 21px; height: 21px; }
  .detail-back { font-size: 17px; }

  /* 页脚 */
  .footer-grid { gap: 56px; padding: 60px 0; }
  .footer-col h3 { font-size: 19px; }
  .footer-col p, .footer-col li { font-size: 15.5px; }
  .footer-bottom { font-size: 14.5px; }
}

/* ---------- ③ ≥2400px：4K 原生分辨率等超大视口，内容区封顶 ---------- */
@media (min-width: 2400px) {
  :root { --container-w: clamp(1720px, 60vw, 2000px); --header-h: 100px; }

  .container { padding: 0 32px; }

  body { font-size: 19.5px; }

  .brand-name { font-size: 36px; }
  .brand-en { font-size: 21px; }
  .site-nav a { font-size: 20px; }

  .hero-title { font-size: 78px; }
  .hero--page .hero-title { font-size: 62px; }
  .hero-sub { max-width: 940px; font-size: 24px; }

  .section { padding: 60px 0; }
  .section-title { font-size: 44px; }
  .section.section--compact { padding: 56px 0; }

  .footer-grid { padding: 64px 0; }

  /* 合作模式 */
  .coop-card h3 { font-size: 24px; }
  .coop-card p { font-size: 19px; }
  .coop-num { width: 50px; height: 50px; font-size: 21px; }

  /* 成员伙伴 */
  .member-card h3 { font-size: 36px; }
  .member-card .member-role,
  .member-card .member-body > p { font-size: 22px; }
  .member-card .member-more { font-size: 20px; }
  .member-modal-header h3 { font-size: 34px; }
  .member-modal-body p { font-size: 22px; }
  .member-modal-body .detail-facts span { font-size: 17px; }
  .member-modal-body .detail-facts strong { font-size: 22px; }
  .member-modal-body h4,
  .member-modal-body p > strong:first-child { font-size: 24px; }
  .member-modal-body .detail-direction h5 { font-size: 22px; }
  .member-modal-body .detail-direction p,
  .member-modal-body .detail-highlight p { font-size: 20px; }
  .member-modal-body .detail-points li { font-size: 22px; }
  .member-modal-body .detail-tags li { font-size: 20px; }
  .member-modal-body .detail-highlight-head strong { font-size: 23px; }
  .member-modal-body .detail-highlight-tag { font-size: 16px; }
  .rule-list li { font-size: 22.5px; }
  .placeholder-box { font-size: 22px; }
  .list-empty-text { font-size: 21px; }
  .mini-member .member-name { font-size: 21px; }
  .mini-member .member-role { font-size: 18px; }

  /* 理事会 */
  .council-uni-logo { width: 46px; height: 46px; }
  .council-uni { font-size: 23px; }
  .council-photo { width: 88px; height: 88px; }
  .council-name { font-size: 20px; }
  .council-role { font-size: 16px; }

  .intro-text,
  .mission-block p { max-width: 1620px; }
}


/* ---------- ⑤ 4K 宽屏（≥ 3200px）：空状态插画进一步放大 ---------- */
@media (min-width: 3200px) {
  .list-empty { padding: 100px 32px 112px; }
  .list-empty-art { width: 560px; margin-bottom: 36px; }
  .list-empty-text { font-size: 24px; }
  .mini-list .list-empty { min-height: 320px; }
  .mini-list .list-empty-art { width: 280px; margin-bottom: 22px; }
}

/* ---------- ⑥ 制度文件页：目录栏与正文字号随视口放大 ---------- */
@media (min-width: 1440px) {
  .doc-layout { grid-template-columns: 300px minmax(0, 1fr); gap: 64px; }
  .doc-cover-title { font-size: 38px; }
  .doc-h2 { font-size: 27px; }
  .doc-h3 { font-size: 20px; }
  .doc-article,
  .doc-letter { font-size: 18px; }
  .doc-item { font-size: 17.5px; }
  .doc-table { font-size: 16px; }
  .doc-teaser-title { font-size: 21px; }
}

@media (min-width: 1920px) {
  .doc-layout { grid-template-columns: 320px minmax(0, 1fr); gap: 72px; }
  .doc-aside-inner { padding: 26px 24px; }
  .doc-toc a { font-size: 15.5px; }
  .doc-cover-title { font-size: 42px; }
  .doc-cover-sub { font-size: 22px; }
  .doc-cover-meta { font-size: 17px; }
  .doc-cover-note { font-size: 15.5px; }
  .doc-h2 { font-size: 30px; }
  .doc-h3 { font-size: 22px; }
  .doc-article,
  .doc-letter { font-size: 19.5px; }
  .doc-item { font-size: 19px; }
  .doc-note { font-size: 16px; }
  .doc-annex-title { font-size: 23px; }
  .doc-table { font-size: 17px; }
  .doc-teaser { padding: 30px 36px; }
  .doc-teaser-title { font-size: 23px; }
  .doc-teaser-desc { font-size: 17px; }
  .doc-teaser-more { font-size: 17px; }
}

@media (min-width: 2400px) {
  .doc-layout { grid-template-columns: 340px minmax(0, 1fr); gap: 84px; }
  .doc-cover-title { font-size: 46px; }
  .doc-h2 { font-size: 33px; }
  .doc-h3 { font-size: 24px; }
  .doc-article,
  .doc-letter { font-size: 21px; }
  .doc-item { font-size: 20.5px; }
  .doc-table { font-size: 18px; }
}

/* ---------- ⑦ 打印：只保留文件正文 ---------- */
@media print {
  .site-header,
  .site-footer,
  .hero,
  .doc-aside,
  .doc-foot .detail-back { display: none !important; }

  body { font-size: 11pt; color: #000; }
  .doc-section { padding: 0; }
  .doc-layout { display: block; }
  .doc-cover { border-bottom: 1px solid #999; }
  .doc-h2 { page-break-after: avoid; }
  .doc-table-wrap { overflow: visible; border: 0; }
  .doc-table { min-width: 0; font-size: 9.5pt; }
  .doc-table td { border: 1px solid #999; }
  .doc-table tr:first-child td { background: #F2F7FD; }
  a { color: inherit; text-decoration: none; }
}

/* ---------- ⑧ 窄屏（≤400px）：文件名横幅与正文再收一档 ---------- */
@media (max-width: 400px) {
  .hero--policy .hero-title { font-size: 23px; }
  .doc-item { margin-left: 0.6em; }
}