/* ============================================================
   隐域安全官网 · css/style.css
   依据《隐域安全官网设计基准文档.md》v1.5 开发
   分段：Token → 基础 → 00a 进入动画 → 00 导航 → 01 Hero →
         区块通用/占位 → 08 页脚 → 按钮 → 响应式 → 动效降级
   ============================================================ */

/* ===== Design Tokens（§4）===== */
:root {
  --color-primary: #4F46E5;        /* Indigo 600：强调色 */
  --color-primary-dark: #4338CA;   /* Indigo 700：按钮 hover */
  --color-primary-light: #EEF2FF;  /* Indigo 50：图标底/标签底 */
  --color-bg: #FFFFFF;
  --color-bg-alt: #F8FAFC;         /* Slate 50：交替区块背景 */
  --color-text: #0F172A;           /* Slate 900 */
  --color-text-body: #334155;      /* Slate 700 */
  --color-text-muted: #64748B;     /* Slate 500 */
  --color-border: #E2E8F0;         /* Slate 200 */
  --color-code: #4F46E5;           /* 等宽编号文字 */

  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI",
               "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
               "Noto Sans SC", sans-serif;
  --font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Consolas",
               "Liberation Mono", monospace;

  --container: 1140px;
  --section-py: 96px;

  --radius-card: 14px;
  --radius-btn: 999px;          /* v1.15：胶囊形按钮（参考 timelinesec.com，border-radius 30px 同效） */
  --radius-avatar: 50%;
  --radius-tag: 999px;

  --shadow-card: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);
  --shadow-card-hover: 0 12px 24px -8px rgba(79, 70, 229, .18);
  --shadow-nav: 0 1px 0 rgba(15, 23, 42, .06);

  --z-nav: 100;
  --z-intro: 999;
}

/* ===== 基础（§4.2 字体 / §13 可访问性）===== */
* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-text-body);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 { color: var(--color-text); line-height: 1.3; margin: 0; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
img { max-width: 100%; display: block; }

a { color: var(--color-primary); text-decoration: none; }

:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }

.container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }

/* 键盘焦点可见（§13）已由 :focus-visible 覆盖 */

/* ===== 00a 进入动画遮罩（§6-00a）=====
   默认 hidden（无 JS 永不出现）；JS 激活后：
   图案等比放大至完整可见的最大尺寸 → 加速闪烁 → 定格 → 淡出 */
#intro {
  position: fixed; inset: 0; z-index: var(--z-intro);
  background: #0F172A;
  overflow: hidden;                 /* 仅裁切淡出阶段 scale(1.08) 与辉光，不裁图案本体 */
  cursor: pointer;
  display: none;
  transition: opacity .5s ease;
}
#intro:not([hidden]) { display: grid; place-items: center; }
#intro.out { opacity: 0; pointer-events: none; }
#intro.notrans, #intro.notrans * { transition: none !important; }

#intro-pattern {
  /* contain 适配（§6-00a v1.8）：横屏上下贴边 / 竖屏左右贴边，图案完整不裁切
     viewBox 为图案精确边界（0 0 555.08 516.8，h/w=0.93101，贝塞尔极值算法，零透明边） */
  width: min(100vw, 107.41vh);
  width: min(100vw, 107.41svh);
  height: auto;
  display: block;
  transform: scale(.22);
  opacity: 1;
  filter: drop-shadow(0 0 40px rgba(79, 70, 229, .45)); /* 跟随图案轮廓的辉光 */
  transition: transform .6s cubic-bezier(.16, 1, .3, 1), filter .3s ease, opacity 60ms linear;
}
#intro.zoomed #intro-pattern { transform: scale(1); }
#intro.freeze #intro-pattern { filter: drop-shadow(0 0 60px rgba(79, 70, 229, .6)); }
#intro.fading #intro-pattern {
  transform: scale(1.08);
  transition: transform .5s ease, filter .5s ease, opacity 60ms linear;
}

/* 播放期间锁定滚动（§6-00a） */
body.intro-active { overflow: hidden; }

/* ===== 00 导航栏（§6-00 / v1.16：加高 78px + 容器加宽 1280px）===== */
.site-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: var(--z-nav);
  height: 78px;
  display: flex; align-items: center;
  border-bottom: 1px solid transparent;
  transition: background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
/* 滚动超过 24px：毛玻璃底 + 底边框 + 阴影（§4.4） */
.site-nav.scrolled {
  background: rgba(255, 255, 255, .85);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom-color: var(--color-border);
  box-shadow: var(--shadow-nav);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-nav.scrolled { background: #fff; }
}

/* 三列网格（v1.16）：品牌居左（1fr），菜单右移（右列 0.55fr 窄于左列，
   菜单从正中向右偏移约 90px——用户决策"字体向右移动一些"）；
   导航容器加宽至 1280px（覆盖 .container 的 1140px） */
.site-nav .nav-inner {
  max-width: 1280px;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr auto 0.55fr;
  align-items: center;
  width: 100%;
}
.nav-brand { justify-self: start; }

.nav-brand {
  display: inline-flex; align-items: center; gap: 12px;
  font-weight: 700; font-size: 18px; color: var(--color-text);
}
.nav-brand img { width: 32px; height: 32px; }  /* 白底 logo 直接使用（§3.3） */
.nav-brand:hover { color: var(--color-primary); }

.nav-menu { display: flex; gap: 48px; justify-self: center; }
.nav-menu a {
  position: relative;
  padding: 6px 2px;
  color: var(--color-text-body);
  /* 等宽字体 + 拉开字距：安全团队站典型的技术感导航（用户决策 v1.7） */
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .18em;
  transition: color .2s ease;
}
.nav-menu a:hover { color: var(--color-primary); }
.nav-menu a.active { color: var(--color-primary); }
.nav-menu a.active::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -2px;
  height: 2px; border-radius: 2px;
  background: var(--color-primary);
}

/* 汉堡按钮（移动端，§6-00；桌面隐藏） */
.nav-toggle {
  display: none;
  background: none; border: 0; padding: 8px;
  cursor: pointer; color: var(--color-text);
  border-radius: 8px;
}
.nav-toggle svg { width: 22px; height: 22px; display: block; }
.nav-toggle .icon-close { display: none; }
.nav-toggle[aria-expanded="true"] .icon-open { display: none; }
.nav-toggle[aria-expanded="true"] .icon-close { display: block; }

/* ===== 01 Hero（§6-01 / v1.12：logo 图案水印背景）===== */
.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: flex; align-items: center; justify-content: center;
  text-align: center;
  padding: 96px 24px 96px;
}
/* logo 蓝色图案作水印嵌入背景：大尺寸、低透明度（v1.12 用户决策） */
.hero::before {
  content: "";
  position: absolute; inset: 0;
  background: url("../assets/img/logo-pattern.svg") center center / min(88vh, 820px) auto no-repeat;
  opacity: .05;
  pointer-events: none;
}

.hero-inner { position: relative; display: flex; flex-direction: column; align-items: center; }

.hero h1 { font-size: 48px; font-weight: 800; letter-spacing: .06em; }

.hero-slogan {
  margin-top: 16px;
  font-size: 20px; color: var(--color-text-muted);
  letter-spacing: .42em; text-indent: .42em;  /* 补偿字距造成的偏移 */
}
.hero-tagline { margin-top: 12px; font-size: 14px; color: var(--color-text-muted); letter-spacing: .08em; }

.hero-cta { margin-top: 40px; display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }

/* 微信公众号二维码弹层（v1.14）
   遮罩半透明深色 + 居中白卡；[hidden] 时完全不渲染 */
.wechat-modal {
  position: fixed; inset: 0; z-index: var(--z-intro);
  display: flex; align-items: center; justify-content: center;
  background: rgba(15, 23, 42, .55);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  padding: 24px;
}
.wechat-modal[hidden] { display: none; }
.wechat-card {
  position: relative;
  background: var(--color-bg);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card-hover);
  padding: 40px 40px 32px;
  display: flex; flex-direction: column; align-items: center;
  max-width: 100%;
}
.wechat-close {
  position: absolute; top: 10px; right: 12px;
  background: none; border: 0; padding: 6px;
  font-size: 22px; line-height: 1;
  color: var(--color-text-muted);
  cursor: pointer;
  border-radius: 8px;
  transition: color .2s ease;
}
.wechat-close:hover { color: var(--color-text); }
.wechat-qr {
  width: 240px; height: 240px;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  display: block;
}
.wechat-tip { margin-top: 18px; font-size: 14px; color: var(--color-text-body); }

/* 开合过渡：JS 切换 .open（关闭时先过渡后 hidden，见 main.js） */
.wechat-card {
  opacity: 0; transform: translateY(12px) scale(.97);
  transition: opacity .25s ease, transform .25s ease;
}
.wechat-modal.open .wechat-card { opacity: 1; transform: none; }

/* 底部滚动指示（§6-01：细线 + SCROLL，轻浮动） */
.hero-scroll {
  position: absolute; bottom: 28px; left: 50%;
  transform: translateX(-50%);
}
.hero-scroll-inner { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.hero-scroll-line { width: 1px; height: 44px; background: linear-gradient(to bottom, var(--color-text-muted), transparent); }
.hero-scroll-text {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: .3em; text-indent: .3em;
  color: var(--color-text-muted);
}
@keyframes heroFloat { from { transform: translateY(0); } to { transform: translateY(8px); } }
.hero-scroll-inner { animation: heroFloat 1.6s ease-in-out infinite alternate; }

/* Hero 进场编排（§6-01：logo → H1 → slogan → 定位语 → CTA → 指示，80ms 间隔）
   仅在有 JS 时启用初始隐藏（无 JS 直显，§13） */
html.js .h-item { opacity: 0; transform: translateY(16px); transition: opacity .5s ease, transform .5s ease; }
html.js .hero-in .h-item { opacity: 1; transform: none; }
html.js .hero-in .hero-inner > :nth-child(1) { transition-delay: .05s; }
html.js .hero-in .hero-inner > :nth-child(2) { transition-delay: .13s; }
html.js .hero-in .hero-inner > :nth-child(3) { transition-delay: .21s; }
html.js .hero-in .hero-inner > :nth-child(4) { transition-delay: .29s; }
html.js .hero-in .hero-inner > :nth-child(5) { transition-delay: .37s; }
html.js .hero-scroll { opacity: 0; transform: translate(-50%, 16px); transition: opacity .5s ease, transform .5s ease; }
html.js .hero-in .hero-scroll { opacity: 1; transform: translate(-50%, 0); transition-delay: .45s; }

/* ===== 区块通用（§4.2 标题模式 / §4.3 间距）===== */
.section { padding: var(--section-py) 0; scroll-margin-top: 90px; }  /* 锚点跳转预留导航高度（78px bar + 12px 间隙，v1.16） */
.bg-alt { background: var(--color-bg-alt); }

.kicker {
  font-family: var(--font-mono); font-size: 13px; font-weight: 500;
  letter-spacing: .1em; color: var(--color-code);
}
.section h2 { font-size: 32px; font-weight: 700; margin-top: 10px; }
.section-sub { margin-top: 10px; color: var(--color-text-muted); font-size: 16px; }

/* ===== 结构占位（后续逐区开发替换）===== */
.stub-note {
  margin-top: 40px; padding: 28px 24px;
  border: 1.5px dashed var(--color-border);
  border-radius: var(--radius-card);
  color: var(--color-text-muted); font-size: 14px;
  text-align: center;
}

/* ===== 02 团队宗旨（§6-02，v1.13：仅定位陈述段）===== */
.about-statement {
  max-width: 720px;
  margin: 40px auto 0;
  text-align: center;
  font-size: 20px;
  line-height: 1.9;
  color: var(--color-text-body);
}

/* ===== 03 团队成员（§6-03 v1.7：去卡片化，信息直接嵌入页面）=====
   无边框/无底色/无阴影/无 hover 上浮——与页面背景零边界感；
   交互反馈改为头像轻缩放 + 名字着色 */
.member-grid {
  margin-top: 64px;
  display: grid;
  gap: 48px 48px;   /* v1.8：水平间距加大（24→48px） */
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.member-card {
  display: flex; flex-direction: column; align-items: center;
  text-align: center;
}
/* 整卡为链接（§6-03）；link 为空时渲染为非链接态（aria-disabled） */
a.member-card { color: inherit; }

.member-avatar {
  width: 120px; height: 120px;
  border-radius: var(--radius-avatar);
  transition: transform .25s ease;
}
a.member-card:hover .member-avatar { transform: scale(1.05); }   /* 唯一 hover 反馈：头像轻缩放 */

.member-name {
  margin-top: 16px; font-size: 17px; font-weight: 600;
  display: inline-flex; align-items: center; gap: 6px;
  transition: color .2s ease;
}
a.member-card:hover .member-name { color: var(--color-primary); }
.member-card[aria-disabled="true"] { cursor: default; }

/* 方向标签：纯等宽文字（无胶囊底），保持技术感又不产生块面 */
.member-role {
  margin-top: 8px;
  font-family: var(--font-mono); font-size: 12px; letter-spacing: .12em;
  color: var(--color-primary);
}
.member-bio {
  margin-top: 6px; max-width: 100%;
  font-size: 13px; color: var(--color-text-muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;  /* 最多一行 */
}
/* 外链指示：跟随名字内联显示（不再悬浮卡片角落） */
.member-link-icon { width: 14px; height: 14px; color: var(--color-text-muted); }
a.member-card:hover .member-link-icon { color: var(--color-primary); }
.member-card[aria-disabled="true"] .member-link-icon { display: none; }

/* ===== 04 团队能力（§6-04）===== */
/* 统计带：4 项横排（移动端 2×2），大数字 mono Indigo + 标签 */
.stat-band {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  text-align: center;
}
.stat-item .stat-value {
  font-family: var(--font-mono);
  font-size: 36px; font-weight: 600;
  color: var(--color-primary);
  line-height: 1.2;
  font-variant-numeric: tabular-nums;              /* 计数过程数字等宽不抖动 */
}
.stat-item .stat-label {
  margin-top: 6px;
  font-size: 14px; color: var(--color-text-muted);
  letter-spacing: .06em;
}

/* 能力项 6 个（v1.9 嵌入式：同宗旨/成员，信息直接嵌入页面）
   v1.10 用户决策：去除顶部分隔线，仅靠间距与图标组织视觉 */
.cap-grid {
  margin-top: 56px;
  display: grid;
  gap: 48px 48px;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.cap-item {
  display: flex; gap: 18px; align-items: flex-start;
}
.cap-icon {
  flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--color-primary-light);            /* §4.5 图标底座 */
  color: var(--color-primary);
  transition: transform .25s ease;
}
.cap-icon svg { width: 24px; height: 24px; }
.cap-item:hover .cap-icon { transform: scale(1.08); }  /* 唯一 hover 反馈：图标轻缩放 */
.cap-body h3 { font-size: 18px; }
.cap-body p { margin-top: 6px; font-size: 14px; color: var(--color-text-muted); }

/* ===== 05 服务（§6-05，v1.9 嵌入式风格 / v1.10 去分隔线）=====
   与能力项同构（图标+文字），底部加英文 mono 标签 */
.svc-grid {
  margin-top: 56px;
  display: grid;
  gap: 48px 48px;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.svc-item {
  display: flex; gap: 18px; align-items: flex-start;
}
.svc-icon {
  flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  border-radius: 12px;
  border: 1px solid var(--color-border);            /* 描边底座：与服务区视觉区分（§6-05） */
  color: var(--color-primary);
  transition: transform .25s ease;
}
.svc-icon svg { width: 24px; height: 24px; }
.svc-item:hover .svc-icon { transform: scale(1.08); }
.svc-body h3 { font-size: 18px; }
.svc-body p { margin-top: 6px; font-size: 14px; color: var(--color-text-muted); }
.svc-en {
  display: block; margin-top: 10px;
  font-family: var(--font-mono); font-size: 12px;
  letter-spacing: .1em;
  color: var(--color-text-muted);
}

/* ===== 06 团队项目（§6-06，v1.11 嵌入式图文）=====
   无边框/底色/阴影；展示图即视觉主体，hover 图片轻放大 + 名称着色 */
.proj-grid {
  margin-top: 56px;
  display: grid;
  gap: 56px 40px;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));  /* §4.3 */
}
.proj-item { display: flex; flex-direction: column; }
a.proj-item { color: inherit; }

.proj-cover {
  position: relative;
  aspect-ratio: 16 / 10;                            /* §6-06 展示图比例 */
  overflow: hidden;                                 /* 仅裁切 hover 缩放溢出 */
  border-radius: var(--radius-card);
}
.proj-cover img,
.proj-cover svg {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;                    /* §6-06 hover scale(1.03) */
}
a.proj-item:hover .proj-cover img,
a.proj-item:hover .proj-cover svg { transform: scale(1.03); }

.proj-name {
  margin-top: 20px; font-size: 18px; font-weight: 600;
  display: inline-flex; align-items: center; gap: 7px;
  transition: color .2s ease;
}
a.proj-item:hover .proj-name { color: var(--color-primary); }
.proj-name .member-link-icon { width: 15px; height: 15px; color: var(--color-text-muted); }
a.proj-item:hover .member-link-icon { color: var(--color-primary); }
.proj-item[aria-disabled="true"] .member-link-icon { display: none; }

.proj-desc { margin-top: 8px; font-size: 14px; color: var(--color-text-muted); }
.proj-meta {
  margin-top: 10px;
  font-family: var(--font-mono); font-size: 12px;
  letter-spacing: .08em;
  color: var(--color-text-muted);
}

/* ===== 07 联系方式（§6-07，v1.11 嵌入式）=====
   4 渠道：图标 + 标题 + mono 值 + 说明；无卡片，顶留白组织 */
.contact-grid {
  margin-top: 56px;
  display: grid;
  gap: 48px 48px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.contact-item {
  display: flex; gap: 18px; align-items: flex-start;
}
a.contact-item { color: inherit; }
.contact-icon {
  flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  border-radius: 12px;
  border: 1px solid var(--color-border);            /* 描边底座（与服务区一致） */
  color: var(--color-primary);
  transition: transform .25s ease, border-color .25s ease;
}
.contact-icon svg { width: 24px; height: 24px; }
a.contact-item:hover .contact-icon { transform: scale(1.08); border-color: var(--color-primary); }
.contact-item[aria-disabled="true"] { cursor: default; }
.contact-item[aria-disabled="true"] .contact-icon { opacity: .45; }
.contact-body h3 { font-size: 16px; }
.contact-value {
  display: block; margin-top: 4px;
  font-family: var(--font-mono); font-size: 14px;
  color: var(--color-text);
  word-break: break-all;                            /* §6-07 验收：mono 值换行正常 */
  transition: color .2s ease;
}
a.contact-item:hover .contact-value { color: var(--color-primary); }
.contact-desc { display: block; margin-top: 4px; font-size: 13px; color: var(--color-text-muted); }

/* 引导文案 + CTA（§6-07） */
.contact-cta {
  margin-top: 72px;
  display: flex; flex-direction: column; align-items: center; gap: 24px;
  text-align: center;
}
.contact-cta p { font-size: 16px; color: var(--color-text-body); }

/* ===== 08 页脚（§6-08，v1.12：仅品牌 + 版权条，居中）===== */
.site-footer { background: #F1F5F9; border-top: 1px solid var(--color-border); }

.footer-inner {
  display: flex; flex-direction: column; align-items: center;
  padding: 56px 0 40px;
  text-align: center;
}
.footer-brand .brand-row { display: flex; align-items: center; justify-content: center; gap: 10px; }
/* 灰底上的白底 logo：圆角 + 细边框徽章化（§3.3） */
.footer-brand img { width: 32px; height: 32px; border-radius: 8px; border: 1px solid var(--color-border); }
.footer-brand .name { font-weight: 700; font-size: 16px; color: var(--color-text); }
.footer-brand p { margin-top: 12px; color: var(--color-text-muted); font-size: 14px; }

.footer-bottom { border-top: 1px solid var(--color-border); }
.footer-bottom-inner {
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px; flex-wrap: wrap;
  padding: 18px 24px;
  color: var(--color-text-muted); font-size: 13px;
}
.footer-bottom a { color: var(--color-text-muted); }
.footer-bottom a:hover { color: var(--color-primary); }

/* ===== 按钮（§4.4；v1.15 胶囊圆角，参考 timelinesec.com）===== */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 140px; padding: 13px 36px;
  border-radius: var(--radius-btn);        /* 999px 胶囊形 */
  font-size: 15px; font-weight: 600; letter-spacing: .05em;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease,
              transform .2s ease, box-shadow .2s ease;
}
.btn-primary { background: var(--color-primary); color: #fff; }
.btn-primary:hover { background: var(--color-primary-dark); transform: translateY(-2px); box-shadow: var(--shadow-card-hover); }

/* 卡片渐入（§9-1）：进入视口 .reveal→.visible，同网格按索引错峰（JS 设 delay） */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease-out, transform .6s ease-out; }
.reveal.visible { opacity: 1; transform: none; }

/* ===== 响应式（§10）===== */
/* 平板 768–1023px */
@media (max-width: 1023px) {
  :root { --section-py: 80px; }
  .hero h1 { font-size: 40px; }
  .hero-slogan { font-size: 19px; }
  .section h2 { font-size: 30px; }
}

/* 移动 <768px：汉堡菜单 + 单列布局 */
@media (max-width: 767px) {
  body { font-size: 15px; }
  .container { padding: 0 16px; }
  :root { --section-py: 64px; }

  .hero { padding: 80px 16px; }
  .hero h1 { font-size: 32px; }
  .hero-slogan { font-size: 17px; }
  .hero-cta { gap: 12px; }
  .btn { min-width: 128px; padding: 12px 28px; }

  /* 二维码弹层：小屏卡片适配 */
  .wechat-card { padding: 32px 24px 24px; }
  .wechat-qr { width: 200px; height: 200px; }

  .about-statement { font-size: 17px; margin-top: 28px; }
  .member-grid { margin-top: 40px; }
  .member-grid { gap: 36px 16px; }
  .member-avatar { width: 88px; height: 88px; }      /* §6-03：移动端头像 88px */
  .member-name { font-size: 16px; }

  /* 统计带 2×2（§10 移动端检查项）；数字字号缩至 28px */
  .stat-band { grid-template-columns: repeat(2, 1fr); gap: 28px 16px; margin-top: 40px; }
  .stat-item .stat-value { font-size: 28px; }
  .cap-grid, .svc-grid { margin-top: 44px; gap: 32px 24px; }
  .proj-grid { margin-top: 44px; gap: 40px; }
  .contact-grid { margin-top: 44px; gap: 32px 24px; }
  .contact-cta { margin-top: 48px; }

  .kicker { font-size: 12px; }
  .section h2 { font-size: 26px; }

  /* 汉堡按钮显示，菜单收纳为全宽下拉面板（§6-00 / §9-6 max-height 过渡） */
  .nav-toggle { display: inline-flex; }
  .site-nav .nav-inner { max-width: none; padding: 0 16px; display: flex; justify-content: space-between; }  /* 移动端退回两端布局 */
  .nav-menu {
    position: fixed; top: 78px; left: 0; right: 0;   /* 跟随 bar 高度（v1.16） */
    flex-direction: column; gap: 0;
    background: var(--color-bg);
    border-bottom: 1px solid var(--color-border);
    box-shadow: var(--shadow-card-hover);
    max-height: 0; overflow: hidden;
    transition: max-height .3s ease;
  }
  .nav-menu.open { max-height: 420px; }
  .nav-menu li + li { border-top: 1px solid var(--color-bg-alt); }
  .nav-menu a { display: block; padding: 14px 24px; }
  .nav-menu a.active::after { display: none; }

  .footer-inner { padding: 48px 0 32px; }
  .footer-bottom-inner { justify-content: center; text-align: center; }
}

/* ===== 动效降级（§9：prefers-reduced-motion）===== */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    transition-delay: 0s !important;
  }
  html.js .h-item { opacity: 1 !important; transform: none !important; }
  html.js .hero-scroll { opacity: 1 !important; transform: translateX(-50%) !important; }
  .reveal { opacity: 1 !important; transform: none !important; }  /* §9-1 渐入直显 */
}
