:root {
  /* Vercel palette */
  --canvas: #ffffff;
  --canvas-soft: #fafafa;
  --canvas-soft-2: #f5f5f5;
  --ink: #171717;
  --body: #4d4d4d;
  --mute: #888888;
  --hairline: #ebebeb;
  --hairline-strong: #d9d9d9;
  --link: #0070f3;
  --link-deep: #0761d1;
  /* 品牌 mark 渐变 & mesh 装饰 */
  --g-blue-a: #007cf0; --g-blue-b: #00dfd8;
  --g-violet-a: #7928ca; --g-pink-b: #ff0080;
  --g-coral-a: #ff4d4d; --g-amber-b: #f9cb28;
  /* 文件类型语义色 */
  --f-ppt: #e8643c; --f-xls: #1aa06b; --f-doc: #3b6fff; --f-img: #c4456e; --f-web: #7a5cff; --f-note: #d89a1a;

  --shadow-2: 0 1px 1px rgba(0,0,0,.02), 0 2px 2px rgba(0,0,0,.04);
  --shadow-3: 0 2px 2px rgba(0,0,0,.04), 0 8px 8px -8px rgba(0,0,0,.04);
  --shadow-4: 0 2px 2px rgba(0,0,0,.04), 0 8px 16px -4px rgba(0,0,0,.05);
  --ring: inset 0 0 0 1px rgba(0,0,0,.06);

  --shell: min(1160px, calc(100% - 48px));
  --ease: cubic-bezier(.22,.61,.36,1);
  --mono: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body {
  margin: 0; color: var(--ink); background: var(--canvas-soft);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  font-feature-settings: "ss01","ss02","cv01","cv11";
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.011em;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
::selection { background: var(--ink); color: #f2f2f2; }

.skip-link { position: fixed; left: 16px; top: -60px; z-index: 100; padding: 10px 14px; background: var(--ink); color: #fff; border-radius: 6px; }
.skip-link:focus { top: 12px; }

/* ============ 通用 ============ */
.section { padding: clamp(72px, 9vw, 118px) 0; }
.section-shell { width: var(--shell); margin: 0 auto; }
.kicker {
  margin: 0 0 20px; font-family: var(--mono); font-size: 12px; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase; color: var(--mute);
}
.kicker.light { color: rgba(255,255,255,.6); }
.section-heading { max-width: 760px; margin-bottom: 52px; }
.section-heading h2, .gallery-head h2, .faq-heading h2, .download-head h2 {
  margin: 0; font-size: clamp(32px, 4.6vw, 56px); line-height: 1.04;
  letter-spacing: -0.035em; font-weight: 600; color: var(--ink);
}
.section-heading > p:last-child { max-width: 600px; margin: 20px 0 0; color: var(--body); font-size: 17px; line-height: 1.6; }

/* 按钮：药丸 */
.button {
  min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 0 22px; border: 1px solid transparent; border-radius: 100px; font-weight: 500; font-size: 15px;
  letter-spacing: -0.01em; transition: transform .18s var(--ease), background-color .18s, border-color .18s, box-shadow .18s, opacity .18s;
}
.button:hover { transform: translateY(-1px); }
.button:focus-visible, .scene-tab:focus-visible, summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.button-primary { background: var(--ink); color: #fff; }
.button-primary:hover { background: #000; box-shadow: var(--shadow-3); }
.button-secondary { background: var(--canvas); color: var(--ink); border-color: var(--hairline-strong); }
.button-secondary:hover { border-color: var(--ink); }
.button.is-disabled,
.button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.45;
  pointer-events: none;
}
.button-ghost { background: var(--canvas); color: var(--ink); border-color: var(--hairline-strong); }
.button-ghost:hover { border-color: var(--ink); }
.button-small { min-height: 34px; padding: 0 15px; font-size: 14px; }
.button-large { min-height: 50px; padding: 0 26px; font-size: 16px; }

/* 滚动渐入（流动性） */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in { opacity: 1; transform: none; }

/* mesh 渐变（唯一装饰，仅 hero） */
.mesh { position: absolute; inset: -20% -10% auto -10%; height: 90%; z-index: 0; pointer-events: none;
  background:
    radial-gradient(40% 55% at 18% 22%, rgba(0,124,240,.28), transparent 60%),
    radial-gradient(38% 52% at 50% 12%, rgba(121,40,202,.22), transparent 62%),
    radial-gradient(42% 55% at 82% 26%, rgba(255,0,128,.20), transparent 60%),
    radial-gradient(46% 60% at 68% 60%, rgba(0,223,216,.20), transparent 62%),
    radial-gradient(40% 55% at 30% 66%, rgba(249,203,40,.16), transparent 60%);
  filter: blur(46px) saturate(1.05);
  opacity: .9;
  animation: meshShift 22s var(--ease) infinite alternate;
}
@keyframes meshShift { to { transform: translate3d(0,-14px,0) scale(1.06); } }

/* ============ Header ============ */
.site-header { position: fixed; inset: 0 0 auto; z-index: 30; transition: background-color .25s, box-shadow .25s, border-color .25s; border-bottom: 1px solid transparent; }
.site-header.scrolled { background: rgba(255,255,255,.8); border-color: var(--hairline); backdrop-filter: blur(14px); }
.nav-shell { position: relative; z-index: 2; width: var(--shell); height: 72px; margin: 0 auto; display: flex; align-items: center; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 10px; cursor: default; user-select: none; -webkit-user-select: none; }
.brand-mark { width: 32px; height: 32px; display: grid; place-items: center; color: #171717; border-radius: 8px; overflow: hidden;
  background: #ffffff; box-shadow: inset 0 0 0 1px var(--hairline-strong); }
.brand-mark svg { width: 32px; height: 32px; display: block; }
.brand-copy { display: grid; gap: 0; }
.brand-copy strong { font-size: 15px; font-weight: 600; }
.brand-copy small { font-size: 11px; color: var(--mute); font-family: "IBM Plex Sans", Inter, ui-sans-serif, -apple-system, sans-serif; font-weight: 500; letter-spacing: 0; }
.desktop-nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.desktop-nav a { font-size: 14px; color: var(--body); padding: 6px 12px; border-radius: 100px; }
.desktop-nav a:hover { color: var(--ink); background: var(--canvas-soft-2); }

/* 顶栏右侧主动作 */
.nav-actions { display: inline-flex; align-items: center; gap: 8px; }

/* 窄屏汉堡按钮(免费下载左侧)+ Kimi 式全屏菜单 */
.nav-toggle { display: none; width: 38px; height: 38px; padding: 0; border: 0; background: transparent; border-radius: 8px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.nav-toggle span { display: block; width: 18px; height: 1.8px; border-radius: 2px; background: var(--ink); transition: transform .25s var(--ease), opacity .2s; }
.nav-toggle.open span:nth-child(1) { transform: translateY(6.8px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-6.8px) rotate(-45deg); }
/* 顶部下拉面板：Kimi 式整幅铺开（占满除滚动条外的全部可视区域），纯白不透明背景；页面可继续滚动 */
.mobile-menu { position: fixed; top: 72px; right: 0; left: 0; bottom: 0; z-index: 28;
  background: #ffffff; border-top: 1px solid var(--hairline);
  padding: 4px 0; overflow-y: auto;
  opacity: 0; visibility: hidden; transform: translateY(-8px); transform-origin: top;
  transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s; }
.mobile-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }
.mobile-menu nav { display: flex; flex-direction: column; }
.mobile-menu a { display: block; padding: 22px calc((100% - var(--shell)) / 2); font-size: 19px; font-weight: 500; letter-spacing: -0.02em; color: var(--ink); border-bottom: 1px solid var(--hairline); }
.mobile-menu a:last-child { border-bottom: 0; }
body.menu-open .site-header { background: var(--canvas); border-color: var(--hairline); }

/* ============ HERO（白底 + mesh · 紧凑首屏构图） ============ */
.hero { position: relative; overflow: hidden; display: flex; align-items: center; min-height: min(800px, 88svh); padding: 112px 0 64px; background: var(--canvas); }
.hero-shell { position: relative; z-index: 2; width: min(1280px, calc(100% - 64px)); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(40px,5vw,84px); }
.hero-copy { max-width: 560px; }
.hero-eyebrow { margin: 0 0 22px; font-family: var(--mono); font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--mute); }
.hero h1 { margin: 0; font-size: clamp(54px, 6.1vw, 88px); line-height: .98; letter-spacing: -0.045em; font-weight: 600; color: var(--ink); }
.hero-lead { margin: 26px 0 0; color: var(--body); font-size: clamp(17px,2vw,20px); line-height: 1.55; }
.hero-actions { display: flex; gap: 12px; margin-top: 34px; }
.hero-note { margin: 22px 0 0; font-family: var(--mono); font-size: 12px; letter-spacing: .02em; color: var(--mute); }

/* Hero 成果卡叠放（白卡 + 发丝 + 堆叠淡阴影） */
.hero-deliverables { position: relative; height: 360px; }
.dcard { position: absolute; width: 246px; border-radius: 12px; background: var(--canvas); color: var(--ink); box-shadow: var(--shadow-4), var(--ring); overflow: hidden; }
.dcard-tag { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 3px 8px; border-radius: 100px; font-family: var(--mono); font-size: 10px; font-weight: 500; letter-spacing: .04em; color: #fff; }
/* 紧凑叠放:PPT 右上 → Excel 左中压住 PPT → 周报下方压住 Excel 右角 */
.dcard-ppt { top: 0; right: 24px; transform: rotate(2deg); z-index: 1; }
.dcard-ppt .dcard-tag { background: var(--f-ppt); }
.dcard-xls { top: 84px; right: 180px; transform: rotate(-3deg); z-index: 2; }
.dcard-xls .dcard-tag { background: var(--f-xls); }
.dcard-doc { top: 158px; right: 44px; transform: rotate(1deg); z-index: 3; }
.dcard-doc .dcard-tag { background: var(--f-doc); }
.dcard-body { height: 128px; padding: 32px 15px 12px; background: linear-gradient(180deg,#fff,#fcfcfd); }
.dcard-foot { height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 13px; border-top: 1px solid var(--hairline); font-family: var(--mono); font-size: 10.5px; color: var(--body); }
.dcard-foot .dl { width: 12px; height: 12px; border: 1.5px solid var(--mute); border-top: 0; border-radius: 0 0 3px 3px; position: relative; }
.dcard-foot .dl::before { content: ""; position: absolute; left: 50%; top: -9px; width: 1.5px; height: 7px; background: var(--mute); transform: translateX(-50%); }
.dcard-foot .dl::after { content: ""; position: absolute; left: 50%; top: -4px; width: 5px; height: 5px; border-right: 1.5px solid var(--mute); border-bottom: 1.5px solid var(--mute); transform: translate(-50%,-50%) rotate(45deg); }
.mini-slide { position: relative; }
.mini-slide-accent { position: absolute; right: -10px; top: 22px; width: 42px; height: 66px; background: var(--f-doc); opacity: .8; transform: rotate(18deg); border-radius: 4px; }
.mini-slide b { font-size: 12px; font-weight: 600; }
.mini-slide em { display: block; height: 5px; margin-top: 7px; width: 70%; background: var(--hairline); border-radius: 3px; }
.mini-slide em.short { width: 45%; }
.mini-sheet { display: grid; grid-template-columns: repeat(4,1fr); align-items: end; gap: 8px; padding-top: 34px; }
.mini-sheet .bar { height: var(--h); background: linear-gradient(var(--f-xls), #8fdcbd); border-radius: 3px 3px 0 0; }
/* 首屏周报卡：一眼可辨的周报结构（标题+日期徽标+完成/计划小节） */
.mini-report { height: auto; padding: 30px 14px 12px; display: flex; flex-direction: column; gap: 4px; }
.mini-report-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 2px; }
.mini-report-head b { font-size: 12px; font-weight: 600; letter-spacing: -.01em; }
.mini-report-head span { font-family: var(--mono); font-size: 8.5px; color: var(--mute); padding: 1px 7px; border: 1px solid var(--hairline); border-radius: 100px; white-space: nowrap; }
.mini-report-sec { font-family: var(--mono); font-style: normal; font-size: 8.5px; font-weight: 500; letter-spacing: .08em; color: var(--mute); margin-top: 4px; }
.mini-report p { margin: 0; display: flex; align-items: center; gap: 5px; font-size: 10px; color: var(--body); line-height: 1.45; }
.mini-report p::before { flex: 0 0 auto; font-size: 9px; line-height: 1; }
.mini-report p.done::before { content: "✓"; color: var(--f-xls); font-weight: 700; }
.mini-report p.todo::before { content: "○"; color: var(--mute); }

/* ============ 成果画廊（白底 + 深色演示 mockup） ============ */
.gallery { position: relative; overflow: hidden; padding: clamp(80px,9vw,120px) 0; background: var(--canvas-soft); }
.gallery .section-shell { position: relative; z-index: 2; }
.gallery-head { text-align: center; max-width: 760px; margin: 0 auto 48px; }
.gallery-head .kicker { text-align: center; }
.demo { max-width: 820px; margin: 0 auto; }
/* 深色 mockup 框：白底上的唯一深色对比 */
.demo-prompt { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 12px 12px 0 0; background: #171717; border: 1px solid #262626; }
.demo-avatar { flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; background: #2b2b2b; color: #fff; font-size: 12px; font-weight: 600; }
.demo-typed { flex: 1; margin: 0; font-size: 15.5px; color: #f2f2f2; line-height: 23px; height: 23px; overflow: hidden; }
.demo-typed::after { content: "▋"; margin-left: 2px; color: var(--g-blue-b); animation: blink 1s steps(1) infinite; }
.demo-typed.done::after { content: ""; }
@keyframes blink { 50% { opacity: 0; } }
.demo-send { flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; background: #333; color: #fff; }
/* 舞台:输入条下一整块均匀深色面板,"正在干活"悬浮居中,不再单独占一条横带 */
.demo-stage { position: relative; height: 244px; background: #0f0f0f; border: 1px solid #262626; border-top: 0; border-radius: 0 0 12px 12px; overflow: hidden; }
.demo-working { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 3; font-family: var(--mono); font-size: 12px; letter-spacing: .04em; color: var(--g-blue-b); opacity: 0; transition: opacity .3s; pointer-events: none; }
.demo-working.show { opacity: 1; }
/* 成果区填满舞台,自身不再带背景与边框 */
.demo-outputs { display: flex; flex-wrap: wrap; justify-content: center; align-content: center; gap: 14px; height: 100%; overflow: hidden; padding: 22px; }
/* position:relative 让绝对定位的 .out-tag 永远锚在卡片上——
   否则卡片入场动画结束 transform 归 none 时,tag 的定位基准会跳回外层容器(乱跑元凶) */
.out-card { position: relative; width: 240px; border-radius: 10px; background: var(--canvas); color: var(--ink); overflow: hidden; box-shadow: var(--shadow-4); opacity: 0; transform: translateY(14px) scale(.97); transition: opacity .5s var(--ease), transform .5s var(--ease); }
.out-card.in { opacity: 1; transform: none; }
/* 退场:原地纯淡出,不回落不位移,小 tag 跟着整卡一起消失 */
.out-card.out { opacity: 0; transform: none; }
.out-preview { position: relative; height: 160px; overflow: hidden; }
.out-tag { position: absolute; top: 10px; left: 10px; padding: 3px 8px; border-radius: 100px; font-family: var(--mono); font-size: 10px; font-weight: 500; color: #fff; z-index: 2; box-shadow: 0 2px 8px rgba(0,0,0,.12); transition: opacity .35s var(--ease); }
.out-tag.hide { opacity: 0; }
.out-foot { height: 40px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border-top: 1px solid var(--hairline); font-family: var(--mono); font-size: 10.5px; color: var(--body); }
.out-foot b { color: var(--f-xls); font-weight: 500; }
.t-ppt{background:var(--f-ppt)} .out-ppt{background:linear-gradient(135deg,#fde8e1,#fff)}
.t-xls{background:var(--f-xls)} .out-xls{background:linear-gradient(135deg,#e2f6ee,#fff)}
.t-doc{background:var(--f-doc)} .out-doc{background:linear-gradient(135deg,#e6edff,#fff)}
.t-img{background:var(--f-img)} .out-img{background:linear-gradient(135deg,#fce4ee,#fff)}
.t-web{background:var(--f-web)} .out-web{background:linear-gradient(135deg,#ece6ff,#fff)}
.t-note{background:var(--f-note)} .out-note{background:linear-gradient(135deg,#fbf0d8,#fff)}

/* 文件类型迷你预览 —— 让 demo 一眼看出交付形态 */
.pv { padding: 22px 18px 14px; box-sizing: border-box; height: 100%; }

/* PPT: 顶部彩条 + 大标题 + 副标 + 页码点 */
.pv-ppt { display: flex; flex-direction: column; gap: 6px; }
.pv-ppt-accent { width: 32px; height: 4px; border-radius: 2px; background: var(--f-ppt); }
.pv-ppt-title { font-size: 15px; font-weight: 700; color: var(--ink); letter-spacing: -.01em; line-height: 1.2; }
.pv-ppt-sub-text { font-size: 10.5px; color: var(--body); letter-spacing: -.005em; line-height: 1.3; }
.pv-ppt-dots { display: flex; gap: 4px; margin-top: auto; }
.pv-ppt-dots i { width: 5px; height: 5px; border-radius: 50%; background: rgba(211,71,32,.35); }
.pv-ppt-dots i:first-child { background: var(--f-ppt); }

/* Excel: 网格表 + 列头 + 真实数据 */
.pv-xls { width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 9.5px; height: calc(100% - 12px); margin-top: 6px; }
.pv-xls th, .pv-xls td { border: 1px solid #d6ecdf; padding: 3px 5px; height: 20px; }
.pv-xls th { background: #e8f6ee; color: #087a47; font-weight: 500; text-align: center; width: 18px; font-size: 9px; }
.pv-xls tr:first-child th { background: #d3eddc; }
.pv-xls td { color: var(--ink); text-align: left; font-size: 9px; background: #fff; }
.pv-xls td:nth-child(n+3) { text-align: right; color: #087a47; font-variant-numeric: tabular-nums; }

/* Word: 一张纸 —— 标题 + 若干灰条 或真实文本行 */
.pv-doc { display: flex; flex-direction: column; gap: 6px; }
.pv-doc-title { font-size: 13px; font-weight: 700; color: var(--ink); margin-bottom: 4px; letter-spacing: -.01em; line-height: 1.2; }
.pv-doc-text { font-size: 10.5px; color: var(--body); line-height: 1.5; letter-spacing: -.003em; }
.pv-doc-line { height: 4px; border-radius: 2px; background: rgba(76,89,140,.18); }
.pv-doc-line.long { width: 90%; }
.pv-doc-line.short { width: 55%; }

/* 图文 (小红书风): 方形图 + 标题 + 话题标签 */
.pv-img { display: flex; flex-direction: column; gap: 6px; }
.pv-img-photo { flex: 1; border-radius: 6px; background: linear-gradient(135deg, #ff8bad, #ffbcd2 55%, #ffd8bf); min-height: 60px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.4); }
.pv-img-title { font-size: 11px; font-weight: 600; color: var(--ink); line-height: 1.3; letter-spacing: -.005em; }
.pv-img-tags { display: flex; gap: 5px; flex-wrap: wrap; }
.pv-img-tags b { font-family: var(--mono); font-size: 8.5px; color: #d63384; font-weight: 500; padding: 1.5px 6px; background: #ffe4ef; border-radius: 100px; }

/* Web: 浏览器 chrome + hero + CTA */
.pv-web { display: flex; flex-direction: column; gap: 8px; padding-top: 12px; }
.pv-web-chrome { display: flex; gap: 3px; margin-bottom: 3px; }
.pv-web-chrome i { width: 6px; height: 6px; border-radius: 50%; background: #ff5f57; }
.pv-web-chrome i:nth-child(2) { background: #febc2e; }
.pv-web-chrome i:nth-child(3) { background: #28c840; }
.pv-web-hero { height: 60px; border-radius: 5px; background: linear-gradient(135deg, var(--f-web), #a78bfa 60%, #c4b5fd); display: flex; align-items: center; justify-content: center; padding: 0 8px; }
.pv-web-hero span { color: #fff; font-size: 11px; font-weight: 600; text-align: center; letter-spacing: -.005em; line-height: 1.3; text-shadow: 0 1px 2px rgba(0,0,0,.15); }
.pv-web-cta { align-self: flex-start; padding: 4px 10px; border-radius: 100px; background: var(--f-web); color: #fff; font-size: 10px; font-weight: 500; }

/* Note: 便签,短标题 + 短线 或真实文本 */
.pv-note { display: flex; flex-direction: column; gap: 5px; }
.pv-note-title { font-size: 12px; font-weight: 700; color: var(--ink); border-left: 2px solid var(--f-note); padding-left: 6px; line-height: 1.3; letter-spacing: -.005em; margin-bottom: 2px; }
.pv-note-text { font-size: 10px; color: var(--body); line-height: 1.5; letter-spacing: -.003em; }
.pv-note-line { height: 4px; border-radius: 2px; background: rgba(224,140,26,.2); }
.pv-note-line.long { width: 88%; }

/* 流动标签条 */
.deliver-marquee { margin-top: 52px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); overflow: hidden; }
.marquee-track { display: inline-flex; gap: 10px; white-space: nowrap; animation: marquee 34s linear infinite; }
.marquee-track span { padding: 9px 16px; border-radius: 100px; border: 1px solid var(--hairline); background: var(--canvas); font-family: var(--mono); font-size: 12.5px; color: var(--body); }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ============ 怎么干活 ============ */
.how-section { background: var(--canvas); }
.flow-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--hairline); }
.flow-steps li { padding: 30px 26px 30px 0; border-right: 1px solid var(--hairline); }
.flow-steps li:last-child { border-right: 0; padding-right: 0; }
.flow-steps span { font-family: var(--mono); font-size: 12px; letter-spacing: .06em; color: var(--mute); }
.flow-steps h3 { margin: 16px 0 10px; font-size: 19px; font-weight: 600; letter-spacing: -0.02em; }
.flow-steps p { margin: 0; color: var(--body); font-size: 14px; line-height: 1.6; }

/* ============ 场景 ============ */
.scene-section { background: var(--canvas-soft); }
.scene-tabs { width: fit-content; display: flex; gap: 4px; padding: 4px; border: 1px solid var(--hairline); border-radius: 100px; background: var(--canvas); }
.scene-tab { min-height: 40px; padding: 0 20px; border: 0; border-radius: 100px; background: transparent; color: var(--body); font-weight: 500; font-size: 14px; }
.scene-tab.active { background: var(--ink); color: #fff; }
.scene-panel { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; margin-top: 44px; }
.scene-intro { align-self: center; }
.scene-number { margin: 0 0 16px; font-family: var(--mono); font-size: 12.5px; letter-spacing: .06em; color: var(--mute); }
.scene-intro h3 { margin: 0; font-size: 30px; line-height: 1.2; letter-spacing: -0.03em; font-weight: 600; }
.scene-intro > p:not(.scene-number) { margin: 16px 0 22px; color: var(--body); line-height: 1.65; }
.text-link { display: inline-flex; gap: 7px; color: var(--link); font-size: 14px; font-weight: 500; }
.text-link:hover { color: var(--link-deep); text-decoration: underline; text-underline-offset: 3px; }
.scene-cases { border-top: 1px solid var(--hairline); }
.case-item { min-height: 112px; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 16px; border-bottom: 1px solid var(--hairline); }
.case-index { font-family: var(--mono); color: var(--mute); font-size: 11px; }
.case-item h4 { margin: 0; font-size: 16px; font-weight: 600; }
.case-item p { margin: 6px 0 0; color: var(--body); font-size: 13px; line-height: 1.55; }
.case-item b { min-width: 46px; padding: 6px 9px; border-radius: 100px; background: var(--canvas-soft-2); border: 1px solid var(--hairline); color: var(--body); font-family: var(--mono); font-size: 10px; font-weight: 500; text-align: center; }

/* ============ 为什么选它 ============ */
.why-section { background: var(--canvas); }
.why-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.why-grid article { padding: 24px; border-radius: 12px; background: var(--canvas); box-shadow: var(--shadow-2), var(--ring); }
.why-grid span { font-family: var(--mono); font-size: 12px; letter-spacing: .06em; color: var(--mute); }
.why-grid h3 { margin: 16px 0 8px; font-size: 18px; font-weight: 600; letter-spacing: -0.02em; }
.why-grid p { margin: 0; color: var(--body); font-size: 13px; line-height: 1.6; }
/* 模型生态：唯一深色极性翻转块 */
.why-eco { margin-top: 20px; padding: 30px; border-radius: 14px; background: #171717; color: #fff; }
.why-eco > p { margin: 0 0 18px; font-size: 16px; font-weight: 500; letter-spacing: -0.02em; }
.eco-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.eco-tags span { padding: 8px 13px; border-radius: 100px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); font-family: var(--mono); font-size: 12.5px; color: rgba(255,255,255,.82); }

/* ============ FAQ ============ */
.faq-section { background: var(--canvas-soft); }
.faq-layout { display: grid; grid-template-columns: .62fr 1fr; gap: 64px; }
.faq-heading { position: sticky; top: 96px; align-self: start; }
.faq-list { border-top: 1px solid var(--hairline); }
.faq-list details { border-bottom: 1px solid var(--hairline); }
.faq-list summary { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 16px; font-weight: 600; letter-spacing: -0.02em; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { width: 15px; height: 15px; position: relative; flex: 0 0 auto; }
.faq-list summary span::before, .faq-list summary span::after { content: ""; position: absolute; background: var(--ink); }
.faq-list summary span::before { width: 13px; height: 1.5px; left: 1px; top: 6.5px; }
.faq-list summary span::after { width: 1.5px; height: 13px; left: 6.5px; top: 1px; transition: transform .2s; }
.faq-list details[open] summary span::after { transform: rotate(90deg); }
.faq-list details p { margin: -2px 36px 22px 0; color: var(--body); font-size: 14px; line-height: 1.65; }

/* ============ 下载区（仿桌面端获取 · FAQ 之前） ============ */
.download-section { background: var(--canvas); }
.download-head { text-align: center; max-width: 720px; margin: 0 auto 52px; }
.download-head p { margin: 18px 0 0; color: var(--body); font-size: 17px; line-height: 1.6; }
.download-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 1000px; margin: 0 auto; }
.download-card { border-radius: 16px; background: var(--canvas); box-shadow: var(--shadow-3), var(--ring); padding: 14px 14px 10px; transition: box-shadow .25s var(--ease), transform .25s var(--ease); }
.download-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-4), var(--ring); }
/* 卡面:渐变光环 Aura——白瓷 glyph 背后一团品牌渐变光晕,黑 logo
   mac = coral→magenta→amber, win = blue→violet→cyan */
.download-cover { position: relative; height: 250px; border-radius: 10px; display: grid; place-items: center; overflow: hidden; background: #fafafa; box-shadow: inset 0 0 0 1px var(--hairline); }
.download-cover::before { content: ""; position: absolute; width: 200px; height: 200px; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; filter: blur(28px); opacity: .8; }
.cover-mac::before { background: conic-gradient(from 40deg, #ff4d4d, #ff0080, #f9cb28, #ff4d4d); }
.cover-win::before { background: conic-gradient(from 220deg, #007cf0, #7928ca, #00dfd8, #007cf0); }
.os-glyph { position: relative; z-index: 2; width: 104px; height: 104px; display: grid; place-items: center; border-radius: 24px; background: #fff; box-shadow: 0 10px 26px -8px rgba(0,0,0,.22), inset 0 0 0 1px rgba(0,0,0,.05); }
.os-glyph svg { width: 46px; height: 46px; fill: var(--ink); }
.download-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 10px 10px; }
.download-meta h3 { margin: 0; font-size: 18px; font-weight: 600; letter-spacing: -0.02em; }
.download-meta p { margin: 6px 0 0; font-family: var(--mono); font-size: 12px; color: var(--mute); }
.download-meta .button { flex: 0 0 auto; }

/* ============ Footer ============ */
.site-footer { padding: 30px 0; background: var(--canvas); border-top: 1px solid var(--hairline); }
.footer-shell { width: var(--shell); margin: 0 auto; display: flex; align-items: center; gap: 28px; }
.footer-brand { margin-right: auto; }
.footer-brand .brand-copy strong { color: var(--ink); }
.footer-brand .brand-copy small { color: var(--mute); }

/* ============ 响应式 ============ */
/* 桌面端:四个锚点区各自撑满一屏、内容垂直居中——
   点击导航后整屏都是该区背景,上下留白天然对称,不露相邻区块 */
@media (min-width: 981px) {
  .gallery, .scene-section, .download-section, .faq-section { min-height: 100vh; min-height: 100svh; display: flex; align-items: center; }
  .gallery .section-shell, .scene-section .section-shell, .download-section .section-shell, .faq-section .section-shell { width: var(--shell); }
}
@media (max-width: 980px) {
  :root { --shell: min(100% - 32px, 760px); }
  .desktop-nav { display: none; }
  .nav-toggle { display: flex; margin-left: auto; }
  .nav-shell > .button { margin-left: 0; }
  /* 窄屏顶栏只留「免费下载」,避免右侧拥挤 */
  .hero { min-height: auto; padding-top: 104px; }
  .hero-shell { width: var(--shell); grid-template-columns: 1fr; gap: 46px; }
  /* 单列后容器需显式宽度，否则绝对定位卡片失去右偏移基准而溢出屏幕 */
  .hero-deliverables { width: 100%; max-width: 360px; height: 360px; margin: 0 auto; }
  .dcard-ppt { right: 8px; }
  .dcard-xls { right: 100px; }
  .dcard-doc { right: 20px; }
  .scene-panel, .faq-layout { grid-template-columns: 1fr; gap: 36px; }
  .faq-heading { position: static; }
  .download-grid { grid-template-columns: 1fr; max-width: 560px; }
  .download-cover { height: 210px; }
  .flow-steps { grid-template-columns: 1fr 1fr; }
  .flow-steps li { border-right: 0; border-bottom: 1px solid var(--hairline); padding: 24px 0; }
  .flow-steps li:nth-child(odd) { padding-right: 24px; border-right: 1px solid var(--hairline); }
  .why-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  :root { --shell: calc(100% - 32px); }
  .nav-shell { height: 64px; }
  .mobile-menu { top: 64px; }
  .hero { padding-top: 88px; }
  .hero h1 { font-size: 46px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-deliverables { height: 340px; margin: 0 auto; }
  .dcard-ppt { right: 4px; }
  .dcard-xls { right: 110px; top: 92px; }
  .dcard-doc { right: 16px; top: 168px; }
  .out-card { width: 200px; }
  .out-preview { height: 130px; }
  /* 移动端两张成果卡纵向堆叠,按最高状态锁高;输入条固定预留两行 */
  .demo-stage { height: 402px; }
  .demo-typed { font-size: 14px; line-height: 21px; height: 42px; }
  .demo-prompt { align-items: flex-start; }
  .demo-prompt .demo-avatar, .demo-prompt .demo-send { margin-top: 7px; }
  .pv { padding: 20px 14px 12px; }
  .pv-ppt-title, .pv-doc-title { font-size: 12px; }
  .flow-steps { grid-template-columns: 1fr; }
  .flow-steps li, .flow-steps li:nth-child(odd) { padding: 22px 0; border-right: 0; }
  .why-grid { grid-template-columns: 1fr; }
  .scene-tabs { width: 100%; display: grid; grid-template-columns: 1fr 1fr 1fr; }
  .scene-tab { padding: 0 8px; font-size: 12px; }
  .scene-intro h3 { font-size: 24px; }
  .case-item { grid-template-columns: 26px 1fr; gap: 10px; padding: 14px 0; }
  .case-item b { grid-column: 2; width: fit-content; }
  .download-cover { height: 180px; }
  .os-glyph { width: 88px; height: 88px; border-radius: 20px; }
  .os-glyph svg { width: 40px; height: 40px; }
  .download-meta { flex-wrap: wrap; }
  .footer-shell { flex-direction: column; align-items: flex-start; gap: 12px; }
}
/* 极窄屏(iPhone SE 等 ≤380px)：整体缩小顶栏，避免品牌文字与按钮换行拥挤 */
@media (max-width: 380px) {
  .nav-shell { height: 58px; gap: 8px; }
  .mobile-menu { top: 58px; }
  .brand { gap: 8px; }
  .brand-mark, .brand-mark svg { width: 28px; height: 28px; }
  .brand-copy strong { font-size: 13.5px; }
  .brand-copy small { font-size: 10px; }
  .nav-toggle { width: 32px; height: 32px; margin-left: auto; }
  .nav-shell > .button-small, .nav-actions .button-small { min-height: 30px; padding: 0 12px; font-size: 13px; white-space: nowrap; }
  /* 首屏成果卡：缩小宽度 232→190px，紧凑重新定位，适应 288px 容器宽度 */
  .hero-deliverables { height: 300px; }
  .dcard { width: 190px; }
  .dcard-body { height: 110px; padding: 28px 13px 10px; }
  .mini-report { height: auto; }
  .dcard-ppt { top: 4px; right: 6px; }
  .dcard-xls { top: 80px; right: 90px; }
  .dcard-doc { top: 148px; right: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
  .mesh { animation: none; }
}
