/* ============================================================
   理想菇 · 极简设计系统
   参考：苹果 / 豆包 / DeepSeek / Kimi / Vercel / Linear
   白底黑字 + 暖橙红强调 + 大量留白 + 精致噪点质感 + 强对比焦点
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap');

/* ============================================================
   字号层级（字体系统）
   Hero 标题   : clamp(52px, 8.5vw, 104px)  Space Grotesk 700 / -0.05em
   章节标题     : clamp(32px, 5vw, 60px)     Space Grotesk 600 / -0.035em
   卡片标题     : 16-24px                    Inter 600-700 / -0.02em
   正文         : 15px                       Inter 400 / 1.7
   小字/标签    : 11-13px                    JetBrains Mono 400 / +0.03em
   ============================================================ */
:root{
  --bg:          #ffffff;
  --bg-2:        #f5f5f7;
  --bg-3:        #fafafa;
  --bg-dark:     #000000;
  --bg-dark-2:   #111111;
  --text:        #1d1d1f;
  --text-2:      #6e6e73;
  --text-3:      #86868b;
  --text-4:      #a1a1a6;
  --text-inv:    #f5f5f7;
  --text-inv-2:  #a1a1a6;
  --accent:      #ff4d00;
  --accent-2:    #ff6b2b;
  --accent-soft: rgba(255,77,0,.08);
  --line:        #d2d2d7;
  --line-2:      #e8e8ed;
  --card:        #ffffff;
  --shadow-sm:   0 1px 2px rgba(0,0,0,.04);
  --shadow-md:   0 8px 28px -6px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.04);
  --shadow-lg:   0 24px 60px -16px rgba(0,0,0,.16), 0 8px 24px -8px rgba(0,0,0,.06);
  --shadow-xl:   0 40px 100px -24px rgba(0,0,0,.22), 0 16px 40px -12px rgba(0,0,0,.10);
  --radius:      14px;
  --radius-sm:   8px;
  --radius-lg:   20px;
  --ease:        cubic-bezier(.22,1,.36,1);
  /* 苹果式高透玻璃系统 */
  --glass-bg:    rgba(255,255,255,.52);
  --glass-bg-2:  rgba(255,255,255,.30);
  --glass-line:  rgba(255,255,255,.62);
  --glass-line-2:rgba(29,29,31,.08);
  --glass-hi:    rgba(255,255,255,.55);
  --glass-hi-2:  rgba(255,255,255,.25);
  --glass-shadow:0 6px 24px -6px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.03);
  --glass-shadow-hover:0 20px 48px -12px rgba(0,0,0,.12), 0 4px 12px -4px rgba(0,0,0,.05);
  --font-sans:   'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  --font-display:'Space Grotesk', 'Inter', -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-mono:   'JetBrains Mono', 'SF Mono', Consolas, monospace;
}
/* 通用高透玻璃卡片（苹果式：半透明 + 模糊 + 上下厚度渐变 + 光泽边） */
.glass{
  background:rgba(255,255,255,.78);
  -webkit-backdrop-filter:blur(12px) saturate(150%);
  backdrop-filter:blur(12px) saturate(150%);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(255,255,255,.28),
    var(--glass-shadow);
}
.glass-deep{
  background:rgba(255,255,255,.30);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,.45);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(255,255,255,.12),
    var(--glass-shadow);
}
/* 玻璃卡片 hover：透明度降低 + 阴影浮起（更通透） */
.glass:hover, .glass-deep:hover{
  background:rgba(255,255,255,.88);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,1),
    inset 0 -1px 0 rgba(255,255,255,.35),
    var(--glass-shadow-hover);
}
/* 液态玻璃光晕：鼠标经过卡片时，表面浮现一团跟随光（参考液态玻璃交互，纯 CSS） */
.glass, .glass-deep, .about-card, .feature-card, .team-card, .work-card, .process-step, .faq-item{
  position:relative;
}
.glass::after, .glass-deep::after, .about-card::after, .feature-card::after, .team-card::after, .work-card::after, .process-step::after, .faq-item::after{
  content:"";
  position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(140px circle at var(--mx,50%) var(--my,20%), rgba(255,77,0,.10) 0%, rgba(255,77,0,.03) 45%, transparent 70%);
  opacity:0;
  transition:opacity .5s var(--ease);
  pointer-events:none;
  z-index:1;
}
.glass:hover::after, .glass-deep:hover::after, .about-card:hover::after, .feature-card:hover::after, .team-card:hover::after, .work-card:hover::after, .process-step:hover::after, .faq-item:hover::after{
  opacity:1;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{
  background:linear-gradient(180deg, #ffffff 0%, #fcfcfb 55%, #f8f8f7 100%);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:15px;
  line-height:1.6;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--accent);color:#fff}

/* Hero 3D 粒子场 */
#hero-3d{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.9}
/* Hero 内容层保持在 3D 之上 */
.hero-inner{z-index:1}

/* 背景 Canvas */
#bg-canvas{
  position:fixed;inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.4;
}

/* ===== 通用 ===== */
.section{padding:120px 6vw;max-width:1200px;margin:0 auto;position:relative;z-index:1}
/* 浅色区精致淡色层次（供玻璃卡片透出，非堆砌装饰） */
#about{padding-top:64px}
#capabilities{}
#works{}
.team-section{}
/* 分区超大编号（编辑排版感装饰）——置于分区内部，不向上溢出 */
/* .sec-index removed (V103: 去 AI 模板感大数字水印) */
.section-head{margin-bottom:64px;max-width:680px}
.section-label{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--accent);
  margin-bottom:16px;
  display:flex;align-items:center;gap:8px;
  font-weight:500;
}
.section-label::before{content:"";width:20px;height:1.5px;background:var(--accent)}
.section-title{
  font-family:var(--font-display);
  font-size:clamp(32px,5vw,60px);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.035em;
  color:var(--text);
}
.section-desc{
  font-size:16px;color:var(--text-2);
  margin-top:16px;line-height:1.7;
}

/* ===== 导航 ===== */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:16px 6vw;
  transition:all .4s var(--ease);
  background:rgba(255,255,255,.6);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid transparent;
}
#nav.scrolled{
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(28px) saturate(200%);
  -webkit-backdrop-filter:blur(28px) saturate(200%);
  border-bottom-color:var(--line-2);
  padding:12px 6vw;
  box-shadow:0 8px 32px -12px rgba(0,0,0,.08);
}
.nav-inner{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
}
.logo{
  font-size:17px;font-weight:600;
  letter-spacing:-.02em;
  color:var(--text);
  display:flex;align-items:center;gap:8px;
}
.logo-mark{
  width:24px;height:24px;
  background:var(--text);
  color:#fff;
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;
  transition:background .3s var(--ease);
}
.logo:hover .logo-mark{background:var(--accent)}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{
  font-size:13px;font-weight:400;
  color:var(--text-2);
  position:relative;
  padding:4px 0;
  transition:color .2s;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:0;
  width:100%;height:1.5px;
  background:var(--accent);
  transform:scaleX(0);transform-origin:right;
  transition:transform .35s var(--ease);
}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{
  font-size:13px;font-weight:500;
  color:#fff;
  background:var(--text);
  padding:8px 18px;border-radius:var(--radius-sm);
  transition:all .25s var(--ease);
}
.nav-cta:hover{
  background:var(--accent);
  transform:translateY(-1px);
}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;width:36px;height:36px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--text);transition:all .3s}

/* ===== Hero ===== */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;align-items:center;
  padding:140px 6vw 40px;
  z-index:1;
  overflow:hidden;
}
/* 滚动提示（右边缘竖直小字+动线） */
.hero-scroll{
  position:absolute;
  right:2vw;bottom:120px;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:9px;letter-spacing:.24em;
  color:var(--text-3);
  writing-mode:vertical-rl;
  pointer-events:none;
  user-select:none;
  z-index:2;
}
.hero-scroll::after{
  content:"";width:1px;height:42px;
  background:linear-gradient(180deg, var(--text-3), transparent);
  animation:scroll-line 2.2s var(--ease) infinite;
}
@keyframes scroll-line{
  0%{transform:scaleY(0);transform-origin:top}
  45%{transform:scaleY(1);transform-origin:top}
  55%{transform:scaleY(1);transform-origin:bottom}
  100%{transform:scaleY(0);transform-origin:bottom}
}
/* 巨型背景水印字 — 概念主题：把想法做成能摸的东西 */
.hero::before{
  content:"MAKE IT REAL";
  position:absolute;
  bottom:-2%;right:-1%;
  font-family:var(--font-display);
  font-size:clamp(110px,19vw,250px);
  font-weight:700;
  letter-spacing:-.04em;
  line-height:1;
  color:transparent;
  -webkit-text-stroke:1px var(--line-2);
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
  opacity:.7;
  transform:translateY(var(--watermark-y,0px));
  transition:transform .1s linear;
}
/* Hero 顶部柔和光晕（暖橙，极淡，参考 DeepSeek 式呼吸感） */
/* 高对比几何色块 — 左下角深色三角/弧 */
/* .hero::after removed (U31: bottom:-120px 越界制造半圆断层) */
/* 鼠标跟随光斑（全局背景磁吸光，fixed 视口定位——滚动后坐标始终正确，
   所有浅色分区都有鼠标交互；深色分区因其自身不透明背景自然遮盖） */
.hero-cursor-glow{
  position:fixed;top:0;left:0;
  width:560px;height:560px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,77,0,.12) 0%, rgba(255,77,0,.04) 35%, transparent 70%);
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:0;
  opacity:0;
  transition:opacity .6s var(--ease);
  will-change:transform;
}
.hero-cursor-glow.active{opacity:1}
/* 顶部柔和光晕（暖橙呼吸感，参考 DeepSeek 官网） */
.hero-glow{
  position:absolute;top:-220px;left:50%;transform:translateX(-50%);
  width:900px;height:600px;
  background:radial-gradient(ellipse at center, rgba(255,77,0,.08) 0%, rgba(255,77,0,.03) 40%, transparent 70%);
  pointer-events:none;
  z-index:0;
}
.hero-inner{
  max-width:1200px;margin:0 auto;width:100%;
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:56px;
  align-items:center;
  position:relative;
  z-index:1;
}
.hero-left{position:relative}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-mono);font-size:11px;
  color:var(--text-2);
  border:1px solid var(--line-2);
  background:var(--bg-3);
  padding:6px 14px;border-radius:100px;
  margin-bottom:28px;
}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse-dot 2s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.hero-title{
  font-family:var(--font-display);
  font-size:clamp(52px,8vw,104px);
  font-weight:700;
  line-height:1.0;
  letter-spacing:-.05em;
  color:var(--text);
  margin-bottom:32px;
}
.hero-line{display:block;overflow:hidden;white-space:nowrap}
.hero-title .grad{
  color:var(--accent);
  -webkit-text-fill-color:var(--accent);
}
.hero-title .outline{
  color:transparent;
  -webkit-text-stroke:2px var(--accent);
  -webkit-text-fill-color:transparent;
}
.hero-title .outline-dark{
  color:transparent;
  -webkit-text-stroke:2px var(--text);
  -webkit-text-fill-color:transparent;
}
.hero-line{display:block;white-space:nowrap}
/* 标题逐行动画：小位移淡入（对行高不敏感，避免换行裁剪 bug） */
.animate-lines .hero-line{
  opacity:0;
  transform:translateY(18px);
  animation:line-up .8s var(--ease) forwards;
  animation-delay:calc(.1s + var(--i) * .16s);
}
@keyframes line-up{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
.hero-sub{
  font-size:clamp(14px,1.4vw,17px);
  color:var(--text-2);
  line-height:1.75;
  max-width:480px;
  margin-bottom:36px;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-size:14px;font-weight:500;
  padding:12px 24px;border-radius:var(--radius-sm);
  border:1px solid transparent;
  cursor:pointer;
  transition:all .3s var(--ease);
  letter-spacing:-.01em;
  position:relative;
  overflow:hidden;
}
.btn-primary{background:var(--text);color:#fff}
.btn-primary:hover{background:var(--accent);transform:translateY(-2px);box-shadow:0 10px 30px -6px rgba(255,77,0,.35)}
/* 按钮扫光 */
.btn::after{
  content:"";position:absolute;top:0;left:-80%;
  width:50%;height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent);
  transform:skewX(-20deg);
  transition:left .6s var(--ease);
  pointer-events:none;
}
.btn:hover::after{left:130%}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--text);background:var(--bg-3);transform:translateY(-2px);box-shadow:var(--shadow-md)}

/* —— Hero 终端窗口（浅色主题）—— */
.hero-right{position:relative;min-width:0;overflow:hidden}
.hero-right::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at center, rgba(255,77,0,.12) 0%, rgba(255,77,0,.04) 40%, transparent 70%);
  z-index:-1;
  pointer-events:none;
  animation:glow-pulse 6s ease-in-out infinite;
}
@keyframes glow-pulse{
  0%,100%{opacity:.7;transform:scale(1)}
  50%{opacity:1;transform:scale(1.05)}
}
.terminal{
  background:#0b0b0d;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  overflow:hidden;
  will-change:transform;
  box-shadow:0 28px 60px -24px rgba(0,0,0,.30), 0 16px 40px -16px rgba(0,0,0,.18), 0 0 0 1px rgba(255,255,255,.02) inset;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
  animation:terminal-float 9s ease-in-out infinite;
  position:relative;
}
/* 终端顶部微光（橙色呼吸，精致焦点） */
.terminal::before{
  content:"";position:absolute;top:0;left:16px;right:16px;height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,77,0,.6), transparent);
  z-index:2;
  border-radius:0 0 20px 20px;
}
.terminal::after{
  content:"";position:absolute;top:-60%;left:50%;transform:translateX(-50%);
  width:70%;height:120%;
  background:radial-gradient(ellipse at center, rgba(255,77,0,.10), transparent 70%);
  pointer-events:none;
}
@keyframes terminal-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
.terminal:hover{
  transform:translateY(-6px) scale(1.01);
  box-shadow:0 40px 100px -16px rgba(0,0,0,.45), 0 20px 48px -12px rgba(255,77,0,.12);
}
.terminal-bar{
  display:flex;align-items:center;gap:8px;
  padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.04);
}
.terminal-dot{width:10px;height:10px;border-radius:50%}
.terminal-dot.r{background:#ff5f57}
.terminal-dot.y{background:#febc2e}
.terminal-dot.g{background:#28c840}
.terminal-title{
  font-family:var(--font-mono);font-size:11px;
  color:rgba(255,255,255,.5);margin-left:8px;
  letter-spacing:.02em;
}
.terminal-body{
  padding:22px 24px;
  font-family:var(--font-mono);
  font-size:13px;
  line-height:1.9;
  min-height:440px;
  background:linear-gradient(180deg, #0d0d0f 0%, #0b0b0d 100%);
  min-width:0;
}
.term-line{color:rgba(255,255,255,.55);white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.term-line .prompt{color:var(--accent)}
.term-line .cmd{color:#fff;font-weight:500}
.term-line .out{color:rgba(255,255,255,.55)}
.term-line .ok{color:#4cd964}
.term-cursor{
  display:inline-block;width:7px;height:14px;
  background:var(--accent);
  vertical-align:middle;
  animation:blink 1s step-end infinite;
  margin-left:2px;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* —— Hero 底部指标 —— */
.hero-stats{
  position:absolute;bottom:40px;left:6vw;right:6vw;
  display:flex;gap:0;
  border-top:1px solid var(--line-2);
  padding-top:24px;
  max-width:1200px;margin:0 auto;
}
.stat-item{flex:1;padding-right:24px}
.stat-item strong{
  font-size:clamp(20px,2.5vw,28px);
  font-weight:700;letter-spacing:-.02em;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}
.stat-item span{display:block;font-size:11px;color:var(--text-3);margin-top:4px;letter-spacing:.03em}
.stat-divider{width:1px;background:var(--line-2);margin:0 12px}

/* ===== 关于 ===== */
.about-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.about-card{
  background:#fff;
  border:1px solid rgba(29,29,31,.06);
  border-radius:var(--radius);
  padding:32px 28px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(255,255,255,.28),
    var(--glass-shadow);
  transition:all .35s var(--ease);
}
.about-card:hover{
  border-color:rgba(255,255,255,1);
  transform:translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,1),
    inset 0 -1px 0 rgba(255,255,255,.35),
    var(--glass-shadow-hover);
}
.about-num{
  font-family:var(--font-mono);font-size:12px;
  color:var(--accent);font-weight:500;
  margin-bottom:16px;
}
.about-card h3{
  font-size:18px;font-weight:600;
  margin-bottom:10px;letter-spacing:-.01em;
}
.about-card p{
  font-size:13.5px;color:var(--text-2);line-height:1.75;
}

/* ===== 特性卡片 ===== */
.feature-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1px;
  background:var(--line-2);
  border:1px solid var(--line-2);
  border-radius:var(--radius);
  overflow:hidden;
}
.feature-card{
  background:#fff;
  padding:32px 28px;
  transition:background .3s;
  position:relative;
  overflow:hidden;
  transform-style:preserve-3d;
}
.feature-card:hover{background:rgba(255,255,255,.92)}
.feature-card:hover::before{opacity:1}
.feature-icon{
  width:52px;height:52px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);
  font-size:20px;font-weight:600;
  color:var(--text-3);
  margin-bottom:24px;
  background:var(--bg-3);
  transition:all .35s var(--ease);
  letter-spacing:-.02em;
}
.feature-card:hover .feature-icon{
  border-color:var(--accent);
  color:var(--accent);
  background:var(--accent-soft);
  transform:translateY(-2px);
  box-shadow:0 8px 24px -8px rgba(255,77,0,.2);
}
.feature-card h3{
  font-size:16px;font-weight:600;
  margin-bottom:8px;letter-spacing:-.01em;
}
.feature-card p{
  font-size:13px;color:var(--text-2);line-height:1.7;
}

/* ===== 数据指标 ===== */
.metrics{
  border-top:1px solid var(--line-2);
  border-bottom:1px solid var(--line-2);
  padding:80px 6vw;
  position:relative;z-index:1;
}
.metrics-inner{
  max-width:1200px;margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line-2);
}
.metric{
  padding:32px 28px;
  text-align:left;
}
.metric-num{
  font-size:clamp(32px,4vw,48px);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1;
  margin-bottom:8px;
  color:var(--text);
  font-variant-numeric:tabular-nums;
}
.metric-label{font-size:12px;color:var(--text-3);letter-spacing:.03em}

/* ===== 作品 ===== */
.work-list{display:flex;flex-direction:column;gap:32px}
.work-card{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:0;
  border:1px solid rgba(29,29,31,.06);
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow-md);
  transition:all .45s var(--ease);
}
/* 偶数卡片：视觉区右置（交错排版） */
.work-card:nth-child(even){grid-template-columns:1.2fr 1fr}
.work-card:nth-child(even) .work-visual{order:2;border-right:none;border-left:1px solid var(--line-2)}
/* 视觉区高度交错：不同项目不同比重 */
.work-card[data-work="1"] .work-visual{min-height:320px}
.work-card[data-work="2"] .work-visual{min-height:260px}
.work-card[data-work="3"] .work-visual{min-height:300px}
.work-card[data-work="4"] .work-visual{min-height:280px}
.work-card:hover{
  border-color:rgba(255,255,255,.95);
  transform:translateY(-4px);
  box-shadow:inset 0 1px 0 var(--glass-hi), var(--glass-shadow-hover);
}
.work-visual{
  position:relative;
  background:var(--bg-2);
  min-height:280px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  border-right:1px solid var(--line-2);
}
.work-visual::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 60% at 50% 50%, var(--accent-soft) 0%, transparent 70%);
  opacity:0;
  transition:opacity .5s;
  z-index:2;
}
.work-card:hover .work-visual::before{opacity:1}
/* hover：视觉区背景图形轻微放大（纵深感） */
.work-visual::after{
  transition:transform .7s var(--ease);
}
.work-card:hover .work-visual::after{transform:scale(1.05)}
/* hover 覆盖层：底部滑入 + 内容切换 */
.work-overlay{
  position:absolute;inset:0;z-index:5;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg, rgba(13,13,15,.80), rgba(13,13,15,.92));
  opacity:0;
  transform:translateY(100%);
  transition:opacity .45s var(--ease), transform .5s var(--ease);
}
.work-card:hover .work-overlay{opacity:1;transform:translateY(0)}
.work-overlay span{
  color:#fff;
  font-family:var(--font-display);
  font-size:16px;font-weight:600;letter-spacing:.02em;
  display:inline-flex;align-items:center;gap:10px;
  transform:translateY(12px);
  transition:transform .4s var(--ease);
}
.work-card:hover .work-overlay span{transform:translateY(0)}
.work-overlay span::after{content:"→";font-size:20px;color:var(--accent)}

/* —— 项目1：VR 仙侠场景 —— */
.work-visual-1{
  background:linear-gradient(180deg, #19191c 0%, #1e1e22 50%, #232327 100%);
}
.work-visual-1::after{
  content:"";position:absolute;
  bottom:0;left:0;right:0;height:60%;
  background:
    /* 远山 */
    linear-gradient(135deg, transparent 40%, rgba(255,255,255,.06) 40%, rgba(255,255,255,.06) 45%, transparent 45%),
    linear-gradient(45deg, transparent 55%, rgba(255,255,255,.04) 55%, rgba(255,255,255,.04) 60%, transparent 60%),
    /* 近山 */
    linear-gradient(160deg, transparent 30%, rgba(0,0,0,.3) 30%, rgba(0,0,0,.3) 50%, transparent 50%),
    /* 月亮/光晕 */
    radial-gradient(circle at 70% 30%, rgba(255,77,0,.3) 0%, rgba(255,77,0,.1) 30%, transparent 50%);
}
.work-visual-1 .vr-scene{
  position:relative;z-index:2;
  width:120px;height:80px;
  border:2px solid rgba(255,255,255,.2);
  border-radius:40px;
  background:rgba(0,0,0,.3);
  backdrop-filter:blur(4px);
  animation:float 6s ease-in-out infinite;
}
.work-visual-1 .vr-scene::before{
  content:"";position:absolute;
  top:50%;left:50%;transform:translate(-50%,-50%);
  width:50px;height:30px;
  border:1.5px solid rgba(255,77,0,.6);
  border-radius:6px;
  box-shadow:0 0 20px rgba(255,77,0,.3);
}

/* —— 项目2：3D 产品展示浏览器 —— */
.work-visual-2{
  background:linear-gradient(180deg, #f8f8f8 0%, #f0f0f0 100%);
}
.work-visual-2::after{
  content:"";position:absolute;
  top:0;left:0;right:0;height:32px;
  background:rgba(255,255,255,.9);
  border-bottom:1px solid var(--line-2);
}
.work-visual-2 .browser-dots{
  position:absolute;top:10px;left:12px;z-index:3;
  display:flex;gap:5px;
}
.work-visual-2 .browser-dots span{
  width:8px;height:8px;border-radius:50%;
}
.work-visual-2 .browser-dots span:nth-child(1){background:#ff5f57}
.work-visual-2 .browser-dots span:nth-child(2){background:#febc2e}
.work-visual-2 .browser-dots span:nth-child(3){background:#28c840}
.work-visual-2 .product-3d{
  position:relative;z-index:2;
  width:100px;height:100px;
  transform-style:preserve-3d;
  transform:perspective(600px) rotateX(-20deg) rotateY(30deg);
  animation:product-rotate 8s ease-in-out infinite;
}
@keyframes product-rotate{
  0%,100%{transform:perspective(600px) rotateX(-20deg) rotateY(30deg)}
  50%{transform:perspective(600px) rotateX(-20deg) rotateY(-30deg)}
}
.work-visual-2 .product-3d::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg, var(--accent) 0%, #ff8c5a 100%);
  border-radius:12px;
  box-shadow:0 20px 40px rgba(255,77,0,.3);
}
.work-visual-2 .product-3d::after{
  content:"";position:absolute;
  top:10%;left:10%;width:80%;height:80%;
  border:2px solid rgba(255,255,255,.4);
  border-radius:8px;
}

/* —— 项目3：AI 工作流仪表盘 —— */
.work-visual-3{
  background:linear-gradient(180deg, #17171a 0%, #1e1e22 100%);
}
.work-visual-3::after{
  content:"";position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:20px 20px;
}
.work-visual-3 .flow-nodes{
  position:relative;z-index:2;
  width:140px;height:80px;
}
.work-visual-3 .flow-nodes .node{
  position:absolute;
  width:32px;height:32px;
  border-radius:6px;
  background:rgba(255,77,0,.15);
  border:1px solid rgba(255,77,0,.5);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-size:9px;
  color:rgba(255,77,0,.8);
}
.work-visual-3 .flow-nodes .node:nth-child(1){top:0;left:0}
.work-visual-3 .flow-nodes .node:nth-child(2){top:0;left:54px}
.work-visual-3 .flow-nodes .node:nth-child(3){top:0;left:108px}
.work-visual-3 .flow-nodes .node:nth-child(4){top:48px;left:27px}
.work-visual-3 .flow-nodes .node:nth-child(5){top:48px;left:81px}
.work-visual-3 .flow-nodes .line{
  position:absolute;
  height:1px;
  background:linear-gradient(90deg, rgba(255,77,0,.6), rgba(255,77,0,.2));
}
.work-visual-3 .flow-nodes .line:nth-child(6){top:16px;left:32px;width:22px}
.work-visual-3 .flow-nodes .line:nth-child(7){top:16px;left:86px;width:22px}
.work-visual-3 .flow-nodes .line:nth-child(8){top:32px;left:16px;width:1px;height:16px;background:linear-gradient(180deg, rgba(255,77,0,.6), rgba(255,77,0,.2))}
.work-visual-3 .flow-nodes .line:nth-child(9){top:32px;left:70px;width:1px;height:16px;background:linear-gradient(180deg, rgba(255,77,0,.6), rgba(255,77,0,.2))}
.work-visual-3 .flow-nodes .line:nth-child(10){top:64px;left:59px;width:22px}

/* —— 项目4：像素游戏 —— */
.work-visual-4{
  background:linear-gradient(180deg, #17171a 0%, #202024 100%);
}
.work-visual-4::after{
  content:"";position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:8px 8px;
}
.work-visual-4 .pixel-scene{
  position:relative;z-index:2;
  width:96px;height:64px;
  display:grid;
  grid-template-columns:repeat(12,8px);
  grid-template-rows:repeat(8,8px);
  gap:0;
}
.work-visual-4 .pixel-scene span{
  width:8px;height:8px;
}
.work-visual-4 .pixel-scene .wall{background:#555558}
.work-visual-4 .pixel-scene .floor{background:#303034}
.work-visual-4 .pixel-scene .player{background:var(--accent)}
.work-visual-4 .pixel-scene .enemy{background:#ff5f57}
.work-visual-4 .pixel-scene .coin{background:#febc2e}
.work-visual-4 .pixel-scene .torch{background:#ff8c5a;animation:torch-flicker .5s ease-in-out infinite alternate}
@keyframes torch-flicker{0%{opacity:.7}100%{opacity:1}}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.work-tag{
  position:absolute;top:16px;left:16px;
  font-family:var(--font-mono);font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-2);
  border:1px solid var(--line-2);
  background:rgba(255,255,255,.8);
  padding:4px 10px;border-radius:4px;
  backdrop-filter:blur(8px);
}
.work-body{padding:32px 28px;display:flex;flex-direction:column;justify-content:center}
.work-cat{
  font-family:var(--font-mono);font-size:11px;
  color:var(--accent);letter-spacing:.1em;
  margin-bottom:12px;font-weight:500;
}
.work-body h3{
  font-size:clamp(20px,2.5vw,26px);
  font-weight:700;letter-spacing:-.02em;
  margin-bottom:12px;line-height:1.25;
}
.work-body p{
  font-size:14px;color:var(--text-2);line-height:1.75;
  margin-bottom:20px;
}
.work-meta{display:flex;flex-wrap:wrap;gap:6px}
.work-meta span{
  font-family:var(--font-mono);font-size:10px;
  color:var(--text-3);
  border:1px solid var(--line-2);
  padding:4px 10px;border-radius:4px;
}

/* ===== 技术栈 ===== */
.stack-section{
  border-top:1px solid var(--line-2);
  background:var(--bg-2);
  max-width:none;margin:0;
}
.stack-cloud{
  display:flex;flex-wrap:wrap;gap:8px;
  max-width:1000px;
}
.stack-tag{
  font-family:var(--font-mono);font-size:12px;
  color:var(--text-2);
  border:1px solid var(--line-2);
  background:var(--bg);
  padding:7px 14px;border-radius:6px;
  transition:all .25s var(--ease);
  cursor:default;
}
.stack-tag:hover{
  color:var(--text);
  border-color:var(--accent);
  background:var(--accent-soft);
  transform:translateY(-1px);
}

/* ===== 工作流程 ===== */
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line-2);
  border:1px solid var(--line-2);
  border-radius:var(--radius);
  overflow:hidden;
}
.process-step{
  background:#fff;
  padding:32px 28px;
  position:relative;
  transition:background .3s;
}
.process-step:hover{background:var(--bg-3)}
.step-num{
  font-family:var(--font-mono);font-size:11px;
  color:var(--accent);letter-spacing:.1em;
  margin-bottom:16px;font-weight:500;
}
.process-step h4{
  font-size:15px;font-weight:600;margin-bottom:8px;
}
.process-step p{
  font-size:13px;color:var(--text-2);line-height:1.7;
}

/* ===== CTA（深色对比区） ===== */
.cta{
  background:var(--bg-dark);
  color:var(--text-inv);
  padding:120px 6vw;
  text-align:center;
  position:relative;z-index:1;
  overflow:hidden;
}
.cta::before{
  content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:600px;height:400px;
  background:radial-gradient(ellipse, rgba(255,77,0,.1) 0%, transparent 70%);
  pointer-events:none;
}
/* 顶部浅色渐变过渡：消除 FAQ 浅灰 → 黑底的硬切 */
.cta::after{
  content:"";position:absolute;top:0;left:0;right:0;height:56px;
  background:linear-gradient(180deg, rgba(250,250,250,1) 0%, rgba(0,0,0,1) 100%);
  pointer-events:none;
}
.cta-inner{position:relative;max-width:640px;margin:0 auto}
.cta-title{
  font-family:var(--font-display);
  font-size:clamp(36px,5.5vw,64px);
  font-weight:700;letter-spacing:-.035em;
  line-height:1.05;margin-bottom:16px;
}
.cta-sub{
  font-size:16px;color:var(--text-inv-2);
  margin-bottom:36px;line-height:1.7;
}
.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cta .btn-primary{background:var(--accent);color:#fff}
.cta .btn-primary:hover{background:var(--accent-2);box-shadow:0 4px 20px rgba(255,77,0,.3)}
.cta .btn-ghost{color:var(--text-inv);border-color:rgba(255,255,255,.2)}
.cta .btn-ghost:hover{border-color:var(--text-inv);background:rgba(255,255,255,.05)}

/* ===== 页脚 ===== */
.footer{
  border-top:1px solid var(--line-2);
  background:var(--bg-2);
  padding:64px 6vw 32px;
  position:relative;z-index:1;
}
.footer-inner{
  max-width:1200px;margin:0 auto;
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:40px;
  margin-bottom:48px;
}
.footer-brand .logo{color:var(--text);margin-bottom:14px;display:inline-flex}
.footer-brand p{font-size:12px;line-height:1.8;color:var(--text-3)}
.footer-col h5{
  font-size:11px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--text);margin-bottom:16px;
}
.footer-col a{
  display:block;font-size:13px;
  color:var(--text-3);
  padding:4px 0;
  transition:color .2s;
}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{
  max-width:1200px;margin:0 auto;
  padding-top:24px;
  border-top:1px solid var(--line-2);
  display:flex;justify-content:space-between;align-items:center;
  font-size:11px;color:var(--text-4);
  flex-wrap:wrap;gap:8px;
}
.footer-tech{font-family:var(--font-mono)}

/* ===== 滚动渐入（模糊→清晰，自然柔和） ===== */
.reveal{
  opacity:0;
  transform:translateY(14px) scale(.99);
  filter:blur(4px);
  transition:
    opacity .9s var(--ease),
    transform .9s var(--ease),
    filter .9s var(--ease);
  transition-delay:var(--d,0s);
  will-change:opacity,transform,filter;
}
.reveal.visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}

/* ===== 响应式 ===== */
@media (max-width:960px){
  .section{padding:80px 5vw}
  .nav-links{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(20px);
    border-bottom:1px solid var(--line-2);
    flex-direction:column;
    padding:20px 5vw 24px;
    gap:0;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:14px 0;border-bottom:1px solid var(--line-2);font-size:15px}
  .nav-toggle{display:flex}
  .nav-cta{display:none}
  .hero-inner{grid-template-columns:1fr;gap:32px}
  .hero-scroll{display:none}
  /* 移动端：hero 纵向排列，Hero 文字在前 */
  .hero{flex-direction:column;align-items:stretch}
  .hero-left{order:0;min-width:0}
  .hero-right{order:1}
  .terminal{max-width:100%;width:100%;min-width:0;margin:0}
  .terminal-body{min-height:auto;max-height:260px;overflow:hidden}
  .hero-stats{
    position:static;
    margin-top:28px;
    padding-top:20px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    width:100%;
  }
  .stat-divider{display:none}
  .stat-item{padding-right:0}
  .about-grid{grid-template-columns:1fr}
  .work-card,.work-card:nth-child(even){grid-template-columns:1fr}
  .work-card:nth-child(even) .work-visual{order:0;border-right:none;border-left:none}
  .work-visual{min-height:200px}
  .metrics-inner{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .testimonials-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width:600px){ .hero-glow{display:none !important} .hero::before{display:none !important} .hero-scroll{display:none} 
  .hero{padding:88px 5vw 32px;min-height:auto}
  .hero-title{font-size:clamp(30px,9vw,44px)}
  .hero-line{white-space:normal}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%}
  .hero-trust{margin-top:24px}
  .hero-trust-logos{font-size:12px}
  .terminal-body{font-size:11px;line-height:1.8;padding:16px}
  .metrics-inner{grid-template-columns:1fr 1fr}
  .metric{padding:24px 18px}
  .metric-num{font-size:clamp(26px,9vw,36px)}
  .process-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .cta-actions{flex-direction:column}
  .cta-actions .btn{width:100%}
}

/* ===== 技术栈分类 ===== */
.stack-groups{display:flex;flex-direction:column;gap:32px;max-width:1000px}
.stack-group{}
.stack-group-title{
  font-family:var(--font-mono);font-size:11px;
  color:var(--text-3);letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:12px;
  font-weight:500;
}
.stack-cloud{
  display:flex;flex-wrap:wrap;gap:8px;
}
.stack-tag{
  font-family:var(--font-mono);font-size:12px;
  color:var(--text-2);
  border:1px solid var(--line-2);
  background:var(--bg);
  padding:7px 14px;border-radius:6px;
  transition:all .25s var(--ease);
  cursor:default;
}
.stack-tag:hover{
  color:var(--text);
  border-color:var(--accent);
  background:var(--accent-soft);
  transform:translateY(-1px);
}

/* ===== 导航 active 状态 ===== */
.nav-links a.active{color:var(--text);font-weight:500}
.nav-links a.active::after{
  content:"";display:block;
  width:100%;height:1.5px;
  background:var(--accent);
  margin-top:2px;
}

/* ===== 作品卡片 hover 增强 ===== */
.work-card{position:relative;overflow:hidden}
.work-card::after{
  content:"→";position:absolute;
  right:28px;bottom:28px;
  font-size:20px;color:var(--text-4);
  opacity:0;transform:translateX(-8px);
  transition:all .35s var(--ease);
  pointer-events:none;
}
.work-card:hover::after{
  opacity:1;transform:translateX(0);
  color:var(--accent);
}
.work-body{position:relative}
.work-body h3{transition:color .3s}
.work-card:hover .work-body h3{color:var(--accent)}
.work-visual{transition:transform .4s var(--ease)}
.work-card:hover .work-visual{transform:scale(1.02)}

/* ===== 回到顶部（带进度环） ===== */
.back-to-top{
  position:fixed;bottom:28px;right:28px;
  width:48px;height:48px;
  border-radius:50%;
  background:var(--text);color:#fff;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(12px) scale(.9);
  transition:all .35s var(--ease);
  z-index:90;
  box-shadow:var(--shadow-md);
  overflow:visible;
}
.back-to-top.visible{opacity:1;transform:translateY(0) scale(1)}
.back-to-top:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:var(--shadow-lg);
}
.bt-progress{
  position:absolute;inset:-3px;
  width:calc(100% + 6px);height:calc(100% + 6px);
  transform:rotate(-90deg);
}
.bt-track,.bt-fill{
  fill:none;
  stroke-width:2.5;
}
.bt-track{stroke:rgba(255,255,255,.18)}
.bt-fill{
  stroke:var(--accent);
  stroke-linecap:round;
  stroke-dasharray:125.6;
  stroke-dashoffset:125.6;
  transition:stroke-dashoffset .1s linear;
}
.bt-arrow{
  font-size:18px;font-weight:600;
  line-height:1;position:relative;z-index:1;
}

/* ===== 背景装饰层（V9 精简：去堆砌，保精致焦点）===== */
.bg-decor{
  position:fixed;inset:0;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}
/* 右上角暖橙光带 — 极淡的结构性斜光 */
/* 暖橙光带已移除（V9.8：避免每页右侧漏色） */
/* 噪点纹理 — 全页 film grain，消"纯白 AI 感"，提升材质真实度 */
.bg-decor::after{
  content:"";
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.028;
  pointer-events:none;
}
/* 点阵网格 — 更细更淡，仅顶部区域（hero 视觉轻纹理） */
.bg-grid{
  position:absolute;inset:0;
  background-image:radial-gradient(circle, rgba(29,29,31,.35) 1px, transparent 1px);
  background-size:34px 34px;
  opacity:.22;
  mask-image:linear-gradient(180deg, black 0%, black 18%, transparent 45%);
  -webkit-mask-image:linear-gradient(180deg, black 0%, black 18%, transparent 45%);
}
/* 橙色光晕 — 右上角大焦点，缓慢漂浮 */
.bg-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(120px);
}
.bg-blob-1{
  width:680px;height:680px;
  background:var(--accent);
  opacity:.05;
  top:-220px;right:-220px;
  animation:blob-float 28s ease-in-out infinite;
}
/* 深色光晕 — 左下角极淡 */
.bg-blob-2{
  width:520px;height:520px;
  background:#1a1a1a;
  opacity:.05;
  bottom:8%;left:-160px;
  animation:blob-float 34s ease-in-out infinite reverse;
}
@keyframes blob-float{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(40px,-30px) scale(1.06)}
  66%{transform:translate(-30px,25px) scale(.96)}
}
/* 大几何装饰 — Hero 超大抽象太阳（艺术焦点，柔光渐变+双环+旋转弧线） */
.bg-ring{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.bg-ring-1{
  width:820px;height:820px;
  top:-60px;right:-140px;
  background:
    radial-gradient(circle at 34% 30%, rgba(255,77,0,.14) 0%, rgba(255,77,0,.07) 38%, rgba(255,77,0,.03) 60%, transparent 72%),
    radial-gradient(circle, transparent 61%, rgba(29,29,31,.13) 61.5%, transparent 62.5%),
    radial-gradient(circle, transparent 76%, rgba(255,77,0,.16) 76.5%, transparent 77.5%);
  opacity:.95;
}
/* 旋转的精细弧线（缓慢、克制，增加有机感） */
.bg-ring-1::after{
  content:"";
  position:absolute;inset:9%;
  border-radius:50%;
  border:1px dashed rgba(29,29,31,.15);
  animation:ring-spin 70s linear infinite;
}
@keyframes ring-spin{
  to{transform:rotate(360deg)}
}
.bg-ring-2{
  width:360px;height:360px;
  top:56%;left:-140px;
  background:
    radial-gradient(circle at 60% 40%, rgba(255,77,0,.10) 0%, rgba(255,77,0,.03) 45%, transparent 70%),
    radial-gradient(circle, transparent 70%, rgba(29,29,31,.10) 70.5%, transparent 71.5%);
  opacity:.8;
}

/* ===== Hero 信任标识 ===== */
.hero-trust{
  margin-top:32px;
  padding-top:20px;
  border-top:1px solid var(--line-2);
}
.hero-trust > span{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-4);
  display:block;
  margin-bottom:8px;
}
.hero-trust-logos{
  display:flex;align-items:center;gap:12px;
  flex-wrap:wrap;
}
.hero-trust-logos span{
  font-size:13px;
  font-weight:500;
  color:var(--text-3);
}
.hero-trust-logos span:nth-child(even){
  color:var(--text-4);
  font-weight:400;
}

/* ===== 关于区数据条 ===== */
.about-stats{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line-2);
  border:1px solid var(--line-2);
  border-radius:var(--radius);
  overflow:hidden;
}
.about-stat{
  background:rgba(255,255,255,.82);
  -webkit-backdrop-filter:blur(10px) saturate(150%);
  backdrop-filter:blur(10px) saturate(150%);
  padding:24px 20px;
  text-align:center;
}
.about-stat-num{
  font-size:clamp(20px,2.5vw,28px);
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--text);
  margin-bottom:4px;
}
.about-stat-label{
  font-size:11px;
  color:var(--text-3);
  letter-spacing:.03em;
}

/* ===== 能力区标签 ===== */
.feature-tags{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-top:16px;
}
.feature-tags span{
  font-family:var(--font-mono);
  font-size:10px;
  color:var(--text-3);
  border:1px solid var(--line-2);
  padding:3px 8px;
  border-radius:4px;
}

/* ===== 作品区年份和结果 ===== */
.work-year{
  position:absolute;
  top:16px;right:16px;
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--text-3);
  background:rgba(255,255,255,.8);
  backdrop-filter:blur(8px);
  border:1px solid var(--line-2);
  padding:4px 10px;
  border-radius:4px;
}
.work-result{
  display:flex;flex-wrap:wrap;gap:16px;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--line-2);
}
.work-result span{
  font-size:12px;
  color:var(--text-2);
}
.work-result strong{
  color:var(--accent);
  font-weight:700;
  font-size:15px;
  margin-right:2px;
}

/* ===== 团队区 ===== */
.team-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.team-card{
  background:#fff;
  border:1px solid rgba(29,29,31,.06);
  border-radius:var(--radius);
  padding:32px;
  display:flex;
  gap:24px;
  box-shadow:var(--shadow-md);
  transition:all .35s var(--ease);
}
.team-card:hover{
  border-color:rgba(255,255,255,1);
  transform:translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,1),
    inset 0 -1px 0 rgba(255,255,255,.35),
    var(--glass-shadow-hover);
}
.team-avatar{
  flex-shrink:0;
  width:72px;height:72px;
  border-radius:50%;
  background:var(--text);
  display:flex;align-items:center;justify-content:center;
  position:relative;
  overflow:hidden;
}
.avatar-initials{
  font-size:28px;
  font-weight:700;
  color:#fff;
}
.team-avatar::after{
  content:"";
  position:absolute;
  bottom:4px;right:4px;
  width:14px;height:14px;
  border-radius:50%;
  background:#28c840;
  border:2px solid var(--bg);
}
.team-info h3{
  font-size:20px;
  font-weight:700;
  margin-bottom:4px;
  letter-spacing:-.01em;
}
.team-role{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--accent);
  letter-spacing:.08em;
  margin-bottom:12px;
  font-weight:500;
}
.team-info p{
  font-size:13.5px;
  color:var(--text-2);
  line-height:1.75;
  margin-bottom:14px;
}
.team-tags{
  display:flex;flex-wrap:wrap;gap:6px;
}
.team-tags span{
  font-family:var(--font-mono);
  font-size:10px;
  color:var(--text-3);
  border:1px solid var(--line-2);
  padding:3px 8px;
  border-radius:4px;
}

/* ===== 客户评价区（深色视觉锚点，柔和渐变过渡而非死黑贴片） ===== */
.testimonials-section{
  background:linear-gradient(180deg, #141417 0%, #0b0b0d 55%, #101013 100%);
  color:var(--text-inv);
  max-width:none;
  margin:0;
  padding:140px 6vw;
  position:relative;
}
/* 上下边缘柔和过渡，消除"纯黑贴片"感 */
.testimonials-section::before{
  content:"";position:absolute;top:0;left:0;right:0;height:72px;
  background:linear-gradient(180deg, rgba(248,248,247,1) 0%, rgba(20,20,23,1) 100%);
  pointer-events:none;
}
.testimonials-section::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:72px;
  background:linear-gradient(180deg, rgba(16,16,19,1) 0%, rgba(248,248,247,1) 100%);
  pointer-events:none;
}
.testimonials-section /* .sec-index removed (V103: 去 AI 模板感大数字水印) */
.testimonials-section .section-label{color:var(--accent-2)}
.testimonials-section .section-title{color:var(--text-inv)}
.testimonials-section .section-desc{color:var(--text-inv-2)}
.testimonials-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.testimonial-card{
  background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(22px) saturate(180%);
  backdrop-filter:blur(22px) saturate(180%);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);
  padding:28px;
  position:relative;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09), 0 20px 50px -14px rgba(0,0,0,.55);
  transition:all .35s var(--ease);
}
.testimonial-card:hover{
  border-color:rgba(255,255,255,.28);
  transform:translateY(-3px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 28px 64px -18px rgba(0,0,0,.6);
}
.testimonial-quote{
  font-size:48px;
  font-weight:900;
  color:var(--accent);
  line-height:1;
  margin-bottom:8px;
  opacity:.55;
}
.testimonial-card p{
  font-size:13.5px;
  color:rgba(255,255,255,.72);
  line-height:1.8;
  margin-bottom:20px;
}
.testimonial-author{
  display:flex;align-items:center;gap:12px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.12);
}
.author-avatar{
  width:40px;height:40px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:600;
  color:var(--text-inv);
}
.author-name{
  font-size:13px;
  font-weight:600;
  color:var(--text-inv);
}
.author-role{
  font-size:11px;
  color:rgba(255,255,255,.5);
  margin-top:2px;
}

/* ===== FAQ 区 ===== */
.faq-section{
  background:linear-gradient(180deg, #ffffff 0%, var(--bg-3) 100%);
}
.faq-list{
  max-width:800px;
  display:flex;flex-direction:column;gap:12px;
}
.faq-item{
  background:#fff;
  border:1px solid rgba(29,29,31,.06);
  border-radius:var(--radius-sm);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:border-color .3s;
}
.faq-item.open{border-color:var(--accent)}
.faq-question{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;
  background:none;
  border:none;
  cursor:pointer;
  font-size:15px;
  font-weight:500;
  color:var(--text);
  text-align:left;
  font-family:var(--font-sans);
  transition:color .3s;
}
.faq-item.open .faq-question{color:var(--accent)}
.faq-icon{
  font-size:20px;
  font-weight:300;
  color:var(--text-3);
  transition:transform .3s var(--ease), color .3s;
  flex-shrink:0;
  margin-left:16px;
}
.faq-item.open .faq-icon{
  transform:rotate(45deg);
  color:var(--accent);
}
.faq-answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .5s var(--ease);
}
.faq-answer > div{overflow:hidden}
.faq-item.open .faq-answer{
  grid-template-rows:1fr;
}
.faq-answer p{
  padding:0 22px 20px;
  font-size:13.5px;
  color:var(--text-2);
  line-height:1.8;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .4s var(--ease) .1s, transform .4s var(--ease) .1s;
}
.faq-item.open .faq-answer p{
  opacity:1;
  transform:translateY(0);
}

/* ===== CTA 备注 ===== */
.cta-note{
  margin-top:28px;
  display:flex;align-items:center;justify-content:center;
  gap:12px;flex-wrap:wrap;
  font-size:12px;
  color:var(--text-inv-2);
}

/* ===== 页脚社交 ===== */
.footer-social{
  display:flex;gap:16px;
  margin-top:16px;
}
.footer-social a{
  font-size:12px;
  color:var(--text-3);
  border-bottom:1px solid transparent;
  padding-bottom:2px;
  transition:all .2s;
}
.footer-social a:hover{
  color:var(--accent);
  border-bottom-color:var(--accent);
}

/* ===== 响应式补充 ===== */
@media (max-width:960px){
  .about-stats{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .hero-trust-logos{gap:8px}
  .hero-trust-logos span{font-size:12px}
}
@media (max-width:600px){
  .about-stats{grid-template-columns:1fr 1fr}
  .team-card{flex-direction:column;gap:16px;padding:24px}
  .team-avatar{width:56px;height:56px}
  .avatar-initials{font-size:22px}
  .work-result{gap:12px}
  .work-result span{font-size:11px}
  .faq-question{font-size:14px;padding:16px 18px}
  .bg-blob{display:none}
  .bg-ring{display:none}
  .bg-square{display:none}
  .bg-grid{background-size:22px 22px;opacity:.4}
}

/* ===== 减少动效 ===== */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* V103: 移除大数字水印（AI 模板感） */
.sec-index{display:none !important}

/* V103: 作品视觉图 */
.work-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:1;
  transition:transform .5s var(--ease), opacity .4s var(--ease);
}
.work-card:hover .work-img{transform:scale(1.05)}
