/* ============================================================
   DOBETTER 德佰特官网 · 设计系统样式表
   方向：铜色勋章（Copper Standard）
   规则：全站只允许使用本文件中的设计令牌与组件；
        新组件必须先在此文件定义，再到页面引用。
   ============================================================ */

/* ---------- 设计令牌（唯一可信来源） ---------- */
@font-face{font-family:"Big Shoulders Display";src:url("../assets/fonts/big-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Big Shoulders Display";src:url("../assets/fonts/big-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Big Shoulders Display";src:url("../assets/fonts/big-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Saira";src:url("../assets/fonts/saira-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Saira";src:url("../assets/fonts/saira-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Saira";src:url("../assets/fonts/saira-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  /* 色板：石墨黑底 + 铜色强调（铜色全站可见面积控制在5%以内） */
  --ink:#15171A;        /* 主背景 */
  --steel:#1D2024;      /* 分区背景 */
  --panel:#2A2E33;      /* 面板/轨道 */
  --line:#33383E;       /* 描边/分隔线 */
  --copper:#B87333;     /* 主强调：关键数字、CTA、分隔短线 */
  --copper-hi:#D4915D;  /* 亮铜：hover、渐变端点 */
  --chrome:#C9CDD2;     /* 次强调：呼应镜面缸杆 */
  --text:#E6E1DA;       /* 正文（暖白） */
  --muted:#9A958D;      /* 辅助文字 */
  --credit:#6D6861;     /* 版权/署名小字 */

  /* 字体栈：中文标题正文用系统苹方/雅黑过渡，正式部署自托管子集化字体
     英文展示字体 Big Shoulders Display（大数字/英文标题）
     英文正文辅助 Saira（眉题、标签、字间距拉开使用） */
  --cn:"PingFang SC","Hiragino Sans GB","Source Han Sans SC","Microsoft YaHei",sans-serif;
  --en:"Saira",var(--cn);
  --disp:"Big Shoulders Display",var(--cn);

  /* 间距体系：8px 基数 */
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px;
  --sp-6:48px; --sp-8:64px; --sp-12:96px; --sp-16:130px;

  /* 版心 */
  --max-w:1380px; --pad-x:56px;
}

/* ---------- 基础 ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--text);font-family:var(--cn);line-height:1.85;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:var(--cn)}
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-x)}
.wrap,.sword-feature,.sword-copy,.craft-video .inner,.craft-video .tlist,.ti,.narr{min-width:0}
section{padding:var(--sp-16) 0}
section[id]{scroll-margin-top:92px}

@media (min-width:1024px) and (prefers-reduced-motion:no-preference){
  html.cinematic-snap{height:100%;overflow:hidden;scroll-behavior:smooth}
  body.cinematic-snap{height:100%;overflow-x:hidden;overflow-y:scroll;scroll-snap-type:y mandatory;scroll-padding-top:0;overscroll-behavior-y:contain}
  body.cinematic-snap section[id]{scroll-margin-top:0}
  body.cinematic-snap .prologue,
  body.cinematic-snap .interlude,
  body.cinematic-snap .chapter,
  body.cinematic-snap .video-band,
  body.cinematic-snap .epilogue,
  body.cinematic-snap .inquiry,
  body.cinematic-snap .coda{height:100svh;min-height:100svh;max-height:100svh;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}
  body.cinematic-snap .chapter{padding:clamp(74px,8vh,96px) 0 clamp(44px,6vh,72px)}
  body.cinematic-snap .chapter:not(.craft-video):not(.proof){display:flex;align-items:center}
  body.cinematic-snap .chapter>.wrap,
  body.cinematic-snap .video-band>.wrap,
  body.cinematic-snap .inquiry>.wrap{width:100%}
  body.cinematic-snap .interlude{display:flex;align-items:center}
  body.cinematic-snap .prologue .inner{padding-bottom:clamp(58px,8vh,86px)}
  body.cinematic-snap .villain-grid{gap:clamp(36px,5vw,64px)}
  body.cinematic-snap .villain-art{height:min(62vh,520px)}
  body.cinematic-snap .villain .num{margin-top:clamp(28px,5vh,52px)}
  body.cinematic-snap .sword-feature{gap:clamp(34px,5vw,60px);margin-top:0}
  body.cinematic-snap .ph-frame img{max-height:42vh;object-fit:cover}
  body.cinematic-snap .band{margin-top:clamp(22px,4vh,42px)}
  body.cinematic-snap .band img{height:min(24vh,220px);object-fit:contain;object-position:center;background:#090b0d}
  body.cinematic-snap .craft-video,
  body.cinematic-snap .people-band.video-band{height:100svh;min-height:100svh}
  body.cinematic-snap .craft-video .inner,
  body.cinematic-snap .video-band .inner{padding-top:clamp(88px,13vh,130px);padding-bottom:clamp(52px,8vh,82px)}
  body.cinematic-snap .craft-video .tlist{margin-top:clamp(24px,4vh,38px)}
  body.cinematic-snap .proof.chapter{display:flex;align-items:center;padding:clamp(56px,7vh,78px) 0}
  body.cinematic-snap .proof.chapter .proof-grid{margin-top:clamp(24px,4vh,42px);gap:18px}
  body.cinematic-snap .evidence-card figure{aspect-ratio:16/9}
  body.cinematic-snap .evidence-card .body{padding:18px 20px 22px}
  body.cinematic-snap .evidence-card .n{font-size:clamp(46px,5vw,76px)}
  body.cinematic-snap .evidence-card h4{font-size:16px;line-height:1.45}
  body.cinematic-snap .evidence-card p{font-size:13.2px;line-height:1.72}
  body.cinematic-snap .account .bars{margin-top:clamp(28px,5vh,54px);gap:28px}
  body.cinematic-snap .savings{margin-top:clamp(30px,5vh,54px)}
  body.cinematic-snap .epilogue{height:100svh;min-height:100svh}
  body.cinematic-snap .coda{display:flex;align-items:center}
  body.cinematic-snap .coda .facts{padding:0 0 clamp(22px,4vh,34px)}
  body.cinematic-snap .qual-strip{margin-top:clamp(24px,4vh,38px)}
  body.cinematic-snap .inquiry{display:flex;align-items:center;padding:clamp(58px,7vh,80px) 0 clamp(28px,4vh,44px)}
  body.cinematic-snap .inquiry-grid{margin-top:clamp(28px,4vh,44px);gap:40px}
  body.cinematic-snap .contact .ci{padding:10px 0}
  body.cinematic-snap .form{padding:28px 30px}
  body.cinematic-snap .form textarea{height:92px}
  body.cinematic-snap .inquiry-footer{margin-top:clamp(20px,3vh,32px)}
  body.cinematic-snap .site-footer{display:none}
}

/* 移动端按屏切换：纯CSS scroll-snap（触摸滚动原生吸附，无需JS）。
   内容比一屏高的章节按规范可在章节内自由滑动，到章节边界时吸附对齐。 */
@media (max-width:1023px){
  html.cinematic-snap{scroll-snap-type:y mandatory}
  body.cinematic-snap .prologue,
  body.cinematic-snap .interlude,
  body.cinematic-snap .chapter,
  body.cinematic-snap .video-band,
  body.cinematic-snap .epilogue,
  body.cinematic-snap .coda,
  body.cinematic-snap .inquiry{scroll-snap-align:start}
  /* 短区块撑满一屏，保证"一屏一幕"的节奏 */
  body.cinematic-snap .interlude{min-height:100svh;display:flex;align-items:center;justify-content:center}
  body.cinematic-snap .epilogue{min-height:100svh}
}

/* ---------- 排版组件 ---------- */
/* 眉题：铜色短线 + 全大写英文，每个区块的开场白 */
.eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.eyebrow .rule{width:44px;height:1px;background:var(--copper)}
.eyebrow span{font-family:var(--en);font-size:12.5px;letter-spacing:.4em;color:var(--copper-hi);text-transform:uppercase}

h1{font-size:clamp(40px,4.8vw,72px);line-height:1.22;color:#fff;font-weight:700;letter-spacing:.02em}
h2{font-size:clamp(30px,3vw,46px);color:#fff;font-weight:700;line-height:1.3;letter-spacing:.02em}
.lead{font-size:17px;color:#c9c2b8;max-width:660px;margin-top:24px}
.credit{font-size:11.5px;color:var(--credit);margin-top:10px;letter-spacing:.06em;text-align:right}

/* ---------- 顶栏 ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(#15171af2,#15171a00);padding:6px 0;transition:background .3s}
.site-header.scrolled{background:#15171af2;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;height:78px}
.brand{display:flex;align-items:center;gap:14px;margin-right:auto}
/* logo 雾面底板：浅灰承托黑色商标部件，避免纯白块突兀 */
.logo-chip{background:linear-gradient(135deg,#d9d4c9e8,#bdb7ade0);border:1px solid #ffffff26;border-radius:7px;padding:4px;display:flex;box-shadow:0 10px 28px #0008,inset 0 1px 0 #ffffff55}
.logo-chip img{width:36px;height:36px;object-fit:contain}
.brand b{font-family:var(--en);font-weight:600;font-size:19px;letter-spacing:.22em;color:#d7d0c7}
.nav .item{font-size:14.5px;color:var(--text);opacity:.75;margin-left:38px;letter-spacing:.12em}
.nav a.item:hover{opacity:1;color:var(--copper-hi)}
.nav .nav-disabled{cursor:default;pointer-events:none}
.nav a.nav-cta{margin-left:42px;color:var(--copper-hi);border:1px solid var(--copper);padding:10px 24px;font-size:14.5px;letter-spacing:.14em}
.nav a.nav-cta:hover{background:var(--copper);color:var(--ink)}
/* 移动端汉堡菜单（默认隐藏，仅小屏且展开时显示） */
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--text);width:44px;height:44px;font-size:20px;cursor:pointer}
.mobile-menu{display:none}

/* ---------- 首屏（Ken Burns 缓慢推近，禁止快切） ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}
.hero .bg{position:absolute;inset:-4%;background-position:center 64%;background-size:cover;background-repeat:no-repeat;
  filter:brightness(.78) contrast(1.04) saturate(1.05);
  animation:kenburns 26s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(100% 86% at 72% 50%,transparent 20%,#15171A88 62%,#15171Af2 100%),linear-gradient(90deg,#15171Af2 0%,#15171Acf 28%,#15171A66 58%,#15171Ae8 100%),linear-gradient(180deg,#15171A66,transparent 34%,#15171Af2 92%)}
.hero.story-hero .bg{background-position:center center;filter:brightness(.62) contrast(1.08) saturate(.9)}
.hero .inner{position:relative;z-index:2;padding-top:160px;padding-bottom:104px;width:100%}
.hairline{display:flex;align-items:center;gap:16px;margin-bottom:30px}
.hairline .rule{width:72px;height:1px;background:var(--copper)}
.hairline span{font-family:var(--en);font-size:13px;letter-spacing:.42em;color:var(--copper-hi);text-transform:uppercase}
.hero p.sub{margin-top:26px;font-size:clamp(15.5px,1.25vw,19px);color:#cfc8be;max-width:640px}
.hero p.sub b{color:var(--copper-hi);font-weight:600}
.hero .mission-line{margin-top:28px;max-width:740px;border-left:1px solid var(--copper);padding:12px 0 12px 22px;color:#d7d0c7;font-size:16px;line-height:1.8}
.hero .meta{display:flex;gap:68px;margin-top:60px;flex-wrap:wrap}
.hero .m .n{font-family:var(--disp);font-weight:600;font-size:clamp(38px,3vw,54px);color:var(--chrome);line-height:1;letter-spacing:.03em}
.hero .m .n i{font-style:normal;color:var(--copper);font-size:.55em;margin-left:3px}
.hero .m .l{font-size:13.5px;color:var(--muted);margin-top:8px;letter-spacing:.18em}

/* ---------- 客户名称条（只放名称，不放logo） ---------- */
.clients-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--steel)}
.clients-line .wrap{display:flex;flex-wrap:wrap;gap:0 48px;padding:24px var(--pad-x);font-size:15px;color:#cfc8bd;letter-spacing:.08em;align-items:baseline}
.clients-line b{color:var(--copper-hi);font-weight:500;margin-right:36px;letter-spacing:.3em;font-size:13px}

/* ---------- 故事版首页 v3 ---------- */
.prologue{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}
.prologue .bg{position:absolute;inset:-4%;background:url("../assets/hero-miner.jpg") center 40%/cover no-repeat;filter:brightness(.82) contrast(1.04);animation:kenburns 30s ease-in-out infinite alternate}
.prologue::before{content:"";position:absolute;inset:0;background:#000;opacity:0;animation:lights 3s ease-out forwards;z-index:1}
@keyframes lights{from{opacity:.92}to{opacity:0}}
.prologue::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(110% 80% at 50% 45%,transparent 30%,#15171A88 80%,#15171A 100%),linear-gradient(180deg,#15171A55,transparent 30%,#15171Aee 92%)}
.prologue .inner{position:relative;z-index:2;width:100%;padding-bottom:96px;text-align:left}
.prologue .line1{font-size:clamp(15px,1.3vw,19px);color:#b8b2a8;letter-spacing:.32em;margin-bottom:26px;opacity:0;animation:fadeup 1.2s ease .6s forwards}
.prologue h1{font-size:clamp(38px,4.6vw,68px);line-height:1.35;color:#f2eee7;font-weight:700;letter-spacing:.04em;opacity:0;animation:fadeup 1.2s ease 1.4s forwards}
.prologue .line3{margin-top:30px;font-family:var(--en);font-size:13px;letter-spacing:.42em;color:var(--copper-hi);text-transform:uppercase;opacity:0;animation:fadeup 1.2s ease 2.4s forwards}
@keyframes fadeup{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.scroll-cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:fadeup 1.2s ease 3.2s forwards}
.scroll-cue span{font-size:11.5px;color:var(--credit);letter-spacing:.3em}
.scroll-cue i{display:block;width:1px;height:44px;background:linear-gradient(var(--copper),transparent);animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.3}50%{opacity:1}}

.interlude{padding:170px 0;text-align:center;background:var(--ink)}
.interlude .mark{width:1px;height:52px;background:linear-gradient(transparent,var(--copper));margin:0 auto 44px}
.interlude p{font-size:clamp(20px,2.2vw,30px);line-height:2.1;color:#d8d2c8;font-weight:500;letter-spacing:.06em;text-wrap:balance}
.interlude p b{color:var(--copper-hi);font-weight:600}
.typed-interlude{position:relative;overflow:hidden}
.typed-interlude::before{content:"";position:absolute;left:50%;top:50%;width:min(720px,72vw);height:1px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#b873335c,transparent)}
.typed-copy{position:relative;z-index:1}
.type-line{display:block;width:100%;max-width:max-content;margin:0 auto;overflow:hidden;white-space:nowrap}
/* 打字字卡：一字一字出现（每字0.12s，全段约4秒内完成）。--chars=字数 --delay=本行开始时刻
   --caret-end=本行光标熄灭时刻（最后一行不设此变量，光标常驻闪烁=全段唯一光标） */
.js .typed-copy .type-line{width:0;border-right:1px solid transparent}
.js .typed-copy.in .type-line{animation:typeIn calc(var(--chars) * .12s) steps(var(--chars)) var(--delay) forwards,cursorBlink .62s step-end var(--delay) infinite,caretOff 1ms linear var(--caret-end,9999s) forwards}
/* 1.06em = 1字宽 + .06em字间距，否则最后一个字（句号）会被裁掉 */
@keyframes typeIn{from{width:0}to{width:calc(var(--chars) * 1.06em)}}
@keyframes cursorBlink{0%,49%{border-right-color:#d4915d}50%,100%{border-right-color:transparent}}
@keyframes caretOff{to{border-right-color:transparent}}

.chapter{padding:150px 0}
.ch-head{display:flex;align-items:center;gap:18px;margin-bottom:30px}
.ch-head .rule{width:48px;height:1px;background:var(--copper)}
.ch-head .no{font-size:14px;color:var(--copper-hi);letter-spacing:.45em;white-space:nowrap}
.ch-head .en{font-family:var(--en);font-size:11.5px;letter-spacing:.34em;color:var(--credit);text-transform:uppercase;margin-left:6px}
.narr{font-size:clamp(16px,1.4vw,19px);color:#c9c2b8;max-width:680px;margin-top:30px}
.narr b{color:var(--copper-hi);font-weight:600}
.villain{background:var(--steel)}
.villain-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(420px,1.04fr);gap:72px;align-items:center;margin-top:10px}
.villain-copy{min-width:0}
.villain .num{margin-top:64px;display:flex;align-items:baseline;gap:22px;flex-wrap:wrap}
.villain .num .n{font-family:var(--disp);font-weight:700;font-size:clamp(76px,9vw,150px);line-height:.95;color:var(--chrome)}
.villain .num .u{font-family:var(--en);font-size:15px;color:var(--muted);letter-spacing:.2em}
.villain .cap{margin-top:18px;font-size:14.5px;color:var(--muted);max-width:560px}
.villain-art{position:relative;height:560px;overflow:hidden;border:1px solid #ffffff14;background:#0b0d0f;box-shadow:0 44px 100px -52px #000}
.villain-art::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#15171A22 0%,transparent 24%,#15171A 100%),radial-gradient(86% 82% at 50% 46%,transparent 52%,#15171Ab0 100%)}
.villain-art::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:2;height:1px;background:linear-gradient(90deg,transparent,var(--copper),transparent)}
.villain-art img{width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:brightness(.92) contrast(1.05) saturate(.9);transform:scale(1.01)}
.leak-wall{display:grid;grid-template-columns:minmax(0,.9fr) minmax(260px,1.1fr);gap:12px;padding:12px}
.leak-wall::before{background:linear-gradient(180deg,#15171A00 0%,#15171A44 62%,#15171Adc 100%),radial-gradient(95% 92% at 50% 46%,transparent 48%,#15171A99 100%)}
.leak-main,.leak-stack,.leak-pair{min-width:0;min-height:0}
.leak-stack{display:grid;grid-template-rows:minmax(0,1.55fr) minmax(0,.7fr);gap:12px}
.leak-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.leak-tile{position:relative;overflow:hidden;background:#090b0d;border:1px solid #ffffff14}
.leak-tile::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,#090b0de0);z-index:1}
.leak-wall .leak-tile img,.leak-wall .leak-tile video{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.82) contrast(1.08) saturate(.82) sepia(.08);transform:none}
.leak-main img{object-position:center 54%}
.leak-video{border-color:#b8733368;box-shadow:inset 0 0 0 1px #b8733328,0 28px 80px -52px #d4915d}
.leak-video::before{content:"FIELD LEAKAGE";position:absolute;top:10px;left:10px;z-index:3;padding:5px 8px;background:#15171ad8;border-left:2px solid var(--copper);font-family:var(--en);font-size:10px;letter-spacing:.18em;color:var(--copper-hi)}
.leak-video video{object-position:center 38%;filter:sepia(.12) saturate(1.02) hue-rotate(-8deg) brightness(.9) contrast(1.12)}
.leak-label{position:absolute;left:10px;bottom:10px;z-index:3;padding:4px 8px;background:#15171ad8;border-left:2px solid var(--copper);font-size:11.5px;letter-spacing:.12em;color:#e8dfd4;text-shadow:0 1px 12px #000}
.leak-note{position:absolute;left:10px;right:10px;bottom:10px;z-index:4;padding:12px 16px;background:#15171ad9;border-top:1px solid #b8733375;color:#cfc8bd;font-size:13px;line-height:1.65;letter-spacing:.06em;backdrop-filter:blur(4px)}
.leak-main .leak-label{bottom:66px}
/* 右下两张小图的标签放到图顶部，避免被底部leak-note横幅盖住 */
.leak-pair .leak-label{bottom:auto;top:8px}
.sword-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:68px;align-items:center;margin-top:28px}
.sword-copy{max-width:620px}

.craft-video{position:relative;min-height:92vh;display:flex;align-items:flex-end;overflow:hidden;padding:0;background:var(--steel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.craft-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.12) saturate(1.08) hue-rotate(-8deg) brightness(.92) contrast(1.04)}
.craft-video::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#15171Ad8 0%,#15171A90 42%,#15171A1a 72%,#15171Ac2 100%),linear-gradient(180deg,#15171A70 0%,transparent 42%,#15171Acc 92%)}
.craft-video .inner{position:relative;z-index:2;width:100%;padding-top:150px;padding-bottom:92px}
.craft-video .tlist{max-width:820px;margin-top:44px;background:#15171aa8;border:1px solid #ffffff18;padding:4px 26px;backdrop-filter:blur(2px)}
.craft-video .ti:last-child,.tlist .ti:last-child{border-bottom:none}

/* 第四章文案垂直居中，与其他章节的视觉重心保持一致（基类是flex-end会把文案压到底部） */
.people-band.video-band{min-height:92vh;align-items:center}
.people-band.video-band .inner{padding-top:64px;padding-bottom:64px}
body.cinematic-snap .people-band.video-band .inner{padding-top:clamp(40px,6vh,64px);padding-bottom:clamp(40px,6vh,64px)}
.people-band.video-band video{filter:brightness(.9) saturate(1.04) contrast(1.03);object-position:58% center}
.people-band.video-band::after{background:linear-gradient(90deg,#15171Ae8 0%,#15171Ab0 44%,#15171A34 74%,#15171Ad4 100%),linear-gradient(180deg,#15171A78 0%,transparent 40%,#15171Ae8 90%)}
.people-band .narr{max-width:760px}
.people-band .chain{max-width:1120px}

.proof.chapter{padding:130px 0;background:var(--ink)}
.proof.chapter .proof-grid{margin-top:70px}
.account{background:var(--steel)}
.account .bars{margin-top:70px}

.epilogue{position:relative;min-height:96vh;display:flex;align-items:center;overflow:hidden;text-align:center}
.epilogue .bg{position:absolute;inset:0;background:url("../assets/hero-miner.jpg") center 30%/cover no-repeat;filter:brightness(.38) contrast(1.06)}
.epilogue::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 70% at 50% 50%,transparent 20%,#15171Acc 75%,#15171A 100%)}
.epilogue .inner{position:relative;z-index:2;width:100%}
.epilogue .vision{font-size:clamp(24px,2.6vw,38px);color:#f2eee7;font-weight:700;line-height:1.9;letter-spacing:.06em}
.epilogue .mission{margin-top:26px;font-size:clamp(15.5px,1.4vw,19px);color:#c9c2b8;letter-spacing:.08em}
.epilogue .final{margin-top:54px;font-size:clamp(16px,1.5vw,20px);color:var(--copper-hi);letter-spacing:.2em}
.epilogue .cta-big{display:inline-block;margin-top:64px;background:var(--copper);color:var(--ink);font-weight:700;font-size:16.5px;letter-spacing:.12em;padding:18px 52px}
.epilogue .cta-big:hover{background:var(--copper-hi)}

.coda{position:relative;overflow:hidden;border-top:1px solid var(--line);background:var(--steel)}
.coda video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45) saturate(.86) contrast(1.04)}
.coda::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#15171af1 0%,#15171ab8 45%,#15171a80 100%),linear-gradient(180deg,#15171a88 0%,transparent 42%,#15171af0 100%)}
.coda .wrap{position:relative;z-index:1;width:100%}
.coda .facts{display:flex;gap:64px;flex-wrap:wrap;padding:54px 0 10px}
.coda .f .n{font-family:var(--disp);font-weight:600;font-size:46px;color:#f2eee7;line-height:1}
.coda .f .n i{font-style:normal;color:var(--copper-hi);font-size:.5em}
.coda .f .l{font-size:13px;color:var(--muted);letter-spacing:.15em;margin-top:8px}
.coda .row{display:flex;flex-wrap:wrap;gap:10px 28px;padding:26px 0;align-items:baseline;border-bottom:1px solid var(--line)}
.coda .row:last-child{border-bottom:none}
.coda .row b{color:var(--copper-hi);font-weight:500;letter-spacing:.3em;font-size:13px;margin-right:22px}
.coda .row span{font-size:15px;color:#cfc8bd;letter-spacing:.08em}
.coda .row .qchip{font-size:13.5px;border:1px solid var(--line);padding:6px 16px;margin:4px 0}
.coda .row .qchip.hl{border-color:#b8733366;color:var(--copper-hi)}
.qual-strip{position:relative;overflow:hidden;border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1a;padding:22px 0 24px;margin-top:28px}
.qual-strip>b{display:block;color:var(--copper-hi);font-weight:500;letter-spacing:.3em;font-size:13px;margin-bottom:18px}
.qual-track{display:flex;gap:16px;width:max-content;animation:qualMove 64s linear infinite}
/* 证书已离线做过透视校正与匀光，整图展示（contain），不再裁切 */
.qual-track img{width:176px;height:118px;object-fit:contain;background:#0e1012;padding:5px;border:1px solid #ffffff24;filter:brightness(.94) saturate(.9);box-shadow:0 18px 40px -30px #000}
.qual-strip:hover .qual-track{animation-play-state:paused}
@keyframes qualMove{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 8px))}}

/* ---------- 首页故事系统 ---------- */
.story-opening{background:var(--steel);border-bottom:1px solid var(--line)}
.story-copy{display:grid;grid-template-columns:1fr 1.15fr;gap:82px;align-items:start}
.story-kicker{font-family:var(--en);font-size:12.5px;letter-spacing:.3em;color:var(--copper-hi);text-transform:uppercase}
.story-copy .statement{font-size:clamp(25px,2.4vw,38px);line-height:1.45;color:#fff;margin-top:18px}
.story-copy .statement b{color:var(--copper-hi);font-weight:600}
.story-copy p{color:var(--muted);font-size:15.5px;line-height:1.9}
.motto-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
.motto{border:1px solid var(--line);background:#15171Aaa;padding:24px}
.motto .k{font-family:var(--en);font-size:12px;letter-spacing:.24em;color:var(--copper-hi);text-transform:uppercase}
.motto .v{font-size:18px;color:#fff;line-height:1.7;margin-top:10px}
.story-steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:72px}
.story-step{padding:28px 26px;border-right:1px solid var(--line)}
.story-step:last-child{border-right:none}
.story-step .n{font-family:var(--disp);font-size:34px;color:var(--chrome);line-height:1}
.story-step h3{font-size:16.5px;color:#fff;margin:12px 0 8px}
.story-step p{font-size:13.5px;color:var(--muted);line-height:1.7}
.section-title-row{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:56px}
.section-title-row .lead{margin-top:0}

/* ---------- 图文叙事（材料故事等） ---------- */
.story{background:var(--steel);overflow:hidden}
.story-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}
.story p.big{font-size:clamp(17px,1.5vw,21px);color:#d8d2c8;margin-top:30px}
.story p.big b{color:var(--copper-hi);font-weight:600}
.story p.small{font-size:15.5px;color:var(--muted);margin-top:18px;max-width:520px}
.ph-frame{position:relative}
.ph-frame img{box-shadow:0 40px 100px -30px #000;width:100%}
.artifact-caption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:stretch;background:#15171Ad8;border-top:1px solid #b8733370;box-shadow:0 -18px 46px #0008;backdrop-filter:blur(6px)}
.ph-frame .plate{display:flex;align-items:center;background:linear-gradient(90deg,#15171A,#15171A88);padding:13px 20px;font-family:var(--en);font-size:12.5px;letter-spacing:.16em;color:var(--chrome)}
.ph-frame .plate b{color:var(--copper-hi)}
.artifact-credit{display:flex;align-items:center;justify-content:flex-end;max-width:52%;padding:10px 16px;border-left:1px solid #ffffff14;color:var(--credit);font-size:11px;line-height:1.5;letter-spacing:.06em;text-align:right}
/* 全宽横幅图（如全剑图） */
.band{margin-top:var(--sp-12);position:relative}
.band img{width:100%;border-top:1px solid var(--line);border-bottom:1px solid var(--copper)}
.band .cap{display:flex;justify-content:space-between;margin-top:14px;font-size:13.5px;color:var(--muted);letter-spacing:.1em;flex-wrap:wrap;gap:8px}
.band .cap b{color:var(--chrome);font-weight:500}
.band-credit{margin-left:auto;color:var(--credit);font-size:11.5px;letter-spacing:.08em;text-align:right}

/* ---------- 参数列表（键值行） ---------- */
.craft-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}
.tlist{margin-top:30px;border-top:1px solid var(--line)}
.ti{display:flex;justify-content:space-between;align-items:baseline;padding:17px 0;border-bottom:1px solid var(--line);gap:24px}
.ti .k{font-size:15px;color:#d6d0c6}
.ti .v{font-family:var(--disp);font-size:22px;color:var(--copper-hi);white-space:nowrap;letter-spacing:.05em}

/* ---------- 大数字实证带 ---------- */
.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:110px 0;background:var(--ink)}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:72px}
.pf .n{font-family:var(--disp);font-weight:700;font-size:clamp(72px,7vw,120px);line-height:.95;color:#fff}
.pf .n i{font-style:normal;font-size:.34em;color:var(--copper);letter-spacing:.05em;margin-left:6px}
.pf .bar{width:56px;height:2px;background:var(--copper);margin:22px 0 16px}
.pf h4{font-size:17px;color:#fff;font-weight:600;margin-bottom:8px}
.pf p{font-size:14.5px;color:var(--muted)}
.evidence-grid{gap:24px}
.evidence-card{background:var(--steel);border:1px solid var(--line);min-width:0}
.evidence-card figure{aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid var(--line);background:#0d0f11}
.evidence-card figure img{width:100%;height:100%;object-fit:cover;filter:brightness(.88) contrast(1.04) saturate(.92);transition:none}
.evidence-card:nth-child(3) figure img{filter:sepia(.12) saturate(1.08) hue-rotate(-8deg) brightness(.92) contrast(1.04)}
.evidence-card:hover figure img{transform:none}
.compare-figure{position:relative}
.compare-figure::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,#b87333cc,transparent);z-index:2}
.compare-figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#15171a44 0%,transparent 24%,transparent 48%,#15171a35 50%,transparent 72%,#15171a70 100%);z-index:1;pointer-events:none}
/* 四宫格小标签：与第一章leak-label同款；未电镀=银灰、电镀=铜色，对比一眼可分 */
.pf-label{position:absolute;z-index:3;padding:4px 8px;background:#15171ad8;font-size:11px;letter-spacing:.1em;line-height:1.3;text-shadow:0 1px 10px #000}
.pf-label.bare{color:#d8dbdf;border-left:2px solid #9aa0a8}
.pf-label.plated{color:#e2a169;border-left:2px solid var(--copper)}
.pf-tl{left:10px;top:10px}
.pf-tr{right:10px;top:10px}
.pf-bl{left:10px;bottom:10px}
.pf-br{right:10px;bottom:10px}
.evidence-card .body{padding:30px 28px 34px}
.evidence-card .n{font-size:clamp(66px,6vw,98px)}
.evidence-card h4{font-size:18px;line-height:1.55;margin-bottom:12px}
.evidence-card p{line-height:1.85}

/* ---------- 质量门 ---------- */
.quality{background:var(--steel)}
.gates{display:grid;grid-template-columns:repeat(6,1fr);counter-reset:g;border:1px solid var(--line);margin-top:var(--sp-8)}
.gate{position:relative;padding:30px 24px 34px;border-right:1px solid var(--line)}
.gate:last-child{border-right:none}
.gate::before{counter-increment:g;content:"QG·0" counter(g);font-family:var(--en);font-size:12px;color:var(--copper-hi);letter-spacing:.18em;display:block;margin-bottom:14px}
.gate h4{font-size:16.5px;color:#fff;margin-bottom:8px;font-weight:600}
.gate p{font-size:13px;color:var(--muted);line-height:1.65}
.gate:hover{background:var(--ink)}
.sys-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.sys{font-family:var(--en);font-size:13px;border:1px solid var(--line);padding:8px 16px;color:var(--text);letter-spacing:.04em}
.sys b{color:var(--copper-hi);font-weight:600}
.note{margin-top:34px;font-size:15px;color:var(--muted);max-width:760px}
.note b{color:var(--chrome)}

/* ---------- 视频带（长镜头缓慢画面专用，禁止快切素材） ---------- */
.video-band{position:relative;padding:0;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.video-band video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.75)}
.video-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#15171A 0%,transparent 34%,#15171Af0 90%)}
.video-band .inner{position:relative;z-index:2;width:100%;padding-top:var(--sp-16);padding-bottom:90px}
.cards-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:var(--sp-8)}
.card-dark{background:#15171Ad9;border:1px solid var(--line);padding:24px 26px;backdrop-filter:blur(4px)}
.card-dark::before{content:"";display:block;width:30px;height:2px;background:var(--copper);margin-bottom:16px}
.card-dark h4{font-size:16.5px;color:#fff;font-weight:600;margin-bottom:6px}
.card-dark p{font-size:13px;color:var(--muted);line-height:1.65}
/* 流程追溯链 */
.chain{display:flex;align-items:center;margin-top:56px;flex-wrap:wrap;border-top:1px solid #ffffff1c;padding-top:34px}
.chain .c{font-size:14px;color:#d6d0c6;letter-spacing:.06em;white-space:nowrap}
.chain .sep{color:var(--copper);margin:0 18px;font-family:var(--en)}
.chain .tail{margin-left:auto;font-family:var(--en);font-size:12.5px;color:var(--copper-hi);letter-spacing:.22em}

/* ---------- 对比条/算账模块 ---------- */
.bars{display:grid;gap:44px;max-width:980px}
.bar-row .cap{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.bar-row .cap .t{font-size:16.5px;color:#fff;font-weight:600;letter-spacing:.04em}
.bar-row .cap .v{font-family:var(--disp);font-size:26px;color:var(--chrome);letter-spacing:.05em}
.bar-row .cap .v.cu{color:var(--copper-hi)}
.track{height:14px;background:var(--panel);position:relative;overflow:hidden}
.fill{height:100%;background:linear-gradient(90deg,#6e6a64,#9a958d);transform-origin:left;transition:transform 1.2s ease}
.fill.cu{background:linear-gradient(90deg,var(--copper),var(--copper-hi))}
.bar-note{font-size:13.5px;color:var(--muted);margin-top:10px}
.savings{margin-top:80px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.sv{padding:40px 36px;border-right:1px solid var(--line)}
.sv:last-child{border-right:none}
.sv .n{font-family:var(--disp);font-weight:600;font-size:46px;color:var(--copper-hi);line-height:1}
.sv p{font-size:14px;color:var(--muted);margin-top:10px}

/* ---------- 满幅图规模带 ---------- */
.scale{position:relative;padding:0;height:70vh;min-height:520px;display:flex;align-items:flex-end;overflow:hidden}
.scale .bg{position:absolute;inset:0;background-position:center 60%;background-size:cover;filter:brightness(.5) saturate(.85)}
.scale::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#15171A 0%,transparent 36%,#15171Aeb 88%)}
.scale .inner{position:relative;z-index:2;width:100%;padding-bottom:64px}
.scale-grid{display:flex;gap:64px;flex-wrap:wrap;align-items:flex-end}
.scale h2{max-width:420px}
.scale .facts{display:flex;gap:56px;flex-wrap:wrap;margin-left:auto}
.scale .f .n{font-family:var(--disp);font-weight:600;font-size:44px;color:#fff;line-height:1}
.scale .f .n i{font-style:normal;color:var(--copper-hi);font-size:.5em}
.scale .f .l{font-size:13px;color:#b5aea4;letter-spacing:.15em;margin-top:8px}
/* 资质条 */
.quals{border-top:1px solid var(--line);background:var(--steel)}
.quals .wrap{display:flex;flex-wrap:wrap;gap:10px;padding-top:30px;padding-bottom:30px;align-items:center}
.quals b{color:var(--copper-hi);font-weight:500;letter-spacing:.3em;font-size:13px;margin-right:26px}
.qchip{font-size:14px;color:#cfc8bd;border:1px solid var(--line);padding:8px 18px}
.qchip.hl{border-color:#b8733366;color:var(--copper-hi)}

/* ---------- 询盘区 ---------- */
.inquiry{background:var(--ink)}
/* 询盘区：左右两块同为面板、等高、与标题同轴对齐，消除"左散右重"的不协调感 */
.inquiry-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(400px,1fr);gap:48px;align-items:stretch;margin:54px 0 0}
.contact{background:var(--steel);border:1px solid var(--line);padding:30px 36px;box-shadow:0 36px 90px -58px #000;display:flex;flex-direction:column;justify-content:center}
.contact h3{color:#fff;font-size:20px;margin-bottom:14px;font-weight:600}
.contact .ci{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.contact .ci:last-child{border-bottom:none}
.contact .ci.lead .v{color:var(--copper-hi);font-size:19px}
.contact .ci .k{font-size:13px;letter-spacing:.2em;color:var(--muted);width:88px;flex:none}
.contact .ci .v{font-family:var(--en);font-size:17px;color:#fff;font-weight:500;letter-spacing:.04em}
.contact .ci .v.cnv{font-family:var(--cn);font-size:15.5px;font-weight:400}
.form{background:var(--steel);border:1px solid var(--line);padding:36px;align-self:stretch;box-shadow:0 36px 90px -58px #000}
.form h3{color:#fff;font-size:20px;margin-bottom:24px;font-weight:600}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form input,.form select,.form textarea{width:100%;background:var(--ink);border:1px solid var(--line);color:var(--text);padding:13px 14px;font-size:15px;font-family:var(--cn);margin-bottom:14px;outline:none}
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--copper)}
.form .hp{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.form button{width:100%;background:var(--copper);border:none;color:var(--ink);font-weight:700;font-size:16px;padding:15px;cursor:pointer;letter-spacing:.1em}
.form button:hover{background:var(--copper-hi)}
.form .hint{font-size:12.5px;color:var(--muted);margin-top:12px}
/* 底部只保留.legal自带的一条分隔线，避免双横线显乱 */
.inquiry-footer{margin-top:42px}
.inquiry-footer .legal{margin-top:0;padding-top:20px}

/* ---------- 内页组件：只复用首页视觉语言 ---------- */
.page-hero{padding:170px 0 86px;background:var(--ink);border-bottom:1px solid var(--line)}
.page-hero .lead{max-width:760px}
.page-hero .source{margin-top:22px;font-size:12.5px;color:var(--credit);letter-spacing:.08em}
.section-steel{background:var(--steel)}
.section-tight{padding-top:100px;padding-bottom:100px}
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.split.rev{grid-template-columns:1fr 1.05fr}
.source-note{font-size:12.5px;color:var(--credit);margin-top:18px;letter-spacing:.06em}
.cards-row.products{grid-template-columns:repeat(3,1fr)}
.product-card{background:#15171Ad9;border:1px solid var(--line);display:flex;flex-direction:column;min-height:100%}
.product-card figure{position:relative;aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid var(--line)}
.product-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.82) saturate(.9)}
.product-card .body{padding:26px}
.product-card h3{font-size:20px;color:#fff;margin-bottom:10px}
.product-card p{font-size:14px;color:var(--muted);line-height:1.75}
.product-card .spec{font-family:var(--disp);font-size:25px;color:var(--copper-hi);line-height:1.05;margin:16px 0 12px;letter-spacing:.03em}
.text-link{display:inline-flex;margin-top:22px;color:var(--copper-hi);font-size:14px;letter-spacing:.12em}
.text-link:hover{color:#fff}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
.compare .box{border:1px solid var(--line);background:#15171Acc;padding:26px}
.compare .box h3{font-size:18px;color:#fff;margin-bottom:12px}
.compare .box p,.bullet-list li{font-size:14.5px;color:var(--muted);line-height:1.8}
.bullet-list{list-style:none;display:grid;gap:12px;margin-top:24px}
.bullet-list li{border-bottom:1px solid var(--line);padding-bottom:12px}
.bullet-list b{color:var(--chrome);font-weight:500}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}
.case{border:1px solid var(--line);background:var(--steel);padding:24px}
.case .n{font-family:var(--disp);font-size:34px;color:var(--chrome);line-height:1}
.case h3{font-size:17px;color:#fff;margin:12px 0 6px}
.case p{font-size:13.5px;color:var(--muted);line-height:1.65}
.mini-hero-img{margin-top:52px}
.line-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:48px}
.line-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#15171Acc;min-height:280px}
.line-card figure{overflow:hidden}
.line-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.82) saturate(.9)}
.line-card .body{padding:28px}
.line-card h3{font-size:19px;color:#fff;margin-bottom:12px}
.line-card p{font-size:14px;color:var(--muted);line-height:1.75}
.qual-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.qual-card{background:#111316;border:1px solid var(--line);padding:14px}
.qual-card img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#0d0f11}
.qual-card span{display:block;margin-top:10px;font-size:12.5px;color:var(--muted);text-align:center;letter-spacing:.08em}
.timeline{border-left:1px solid var(--line);margin-top:42px}
.time-item{position:relative;padding:0 0 34px 34px}
.time-item::before{content:"";position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--copper)}
.time-item .year{font-family:var(--disp);font-size:34px;color:var(--chrome);line-height:1}
.time-item p{font-size:15px;color:var(--muted);margin-top:6px}
.map-shot{display:block;border:1px solid var(--line);position:relative;overflow:hidden}
.map-shot img{width:100%;filter:brightness(.75) saturate(.85)}
.map-shot span{position:absolute;left:24px;bottom:20px;background:#15171Aee;border-top:1px solid var(--copper);padding:12px 18px;color:#fff;font-size:14px}
.mobile-call{display:none}

/* ---------- CTA 按钮 ---------- */
.cta-big{display:inline-block;background:var(--copper);color:var(--ink);font-weight:700;font-size:17px;letter-spacing:.12em;padding:20px 56px}
.cta-big:hover{background:var(--copper-hi)}
.cta-sub{display:block;margin-top:26px;font-family:var(--en);font-size:14px;color:var(--chrome);letter-spacing:.1em}
.cta-sub b{color:#fff}

/* ---------- 页脚 ---------- */
.site-footer{border-top:1px solid var(--line);padding:64px 0 48px;background:var(--steel)}
.f-row{display:flex;flex-wrap:wrap;gap:28px 64px;align-items:baseline}
.f-row .ci{font-size:15px;color:#cfc8bd}
.f-row .ci b{font-family:var(--en);color:#fff;font-weight:500;letter-spacing:.04em}
.f-row .ci span{color:var(--muted);font-size:12.5px;letter-spacing:.2em;margin-right:10px}
.legal{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--credit);font-size:13px;flex-wrap:wrap;gap:10px}

/* ---------- 滚动入场（克制：仅淡入上移12px） ---------- */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform .8s ease}
.js .reveal.in{opacity:1;transform:none}

/* ---------- 动效与可达性 ---------- */
@media (prefers-reduced-motion:reduce){
  .hero .bg,.prologue .bg,.prologue::before,.prologue .line1,.prologue h1,.prologue .line3,.scroll-cue,.qual-track,.js .typed-copy.in .type-line{animation:none}
  .prologue .line1,.prologue h1,.prologue .line3,.scroll-cue{opacity:1}
  .js .typed-copy .type-line{width:auto;border-right:none}
  .js .reveal,.reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  :root{--pad-x:32px}
  .story-grid,.craft-grid{gap:56px}
  .villain-grid{grid-template-columns:1fr;gap:56px}
  .villain-art{height:460px}
  .leak-wall{grid-template-columns:minmax(0,1.05fr) minmax(190px,.95fr)}
  .sword-feature{gap:56px}
  .artifact-caption{position:static;display:grid;background:#15171A;border:1px solid var(--line);border-top-color:var(--copper);box-shadow:none}
  .ph-frame .plate{justify-content:flex-start;background:transparent}
  .artifact-credit{max-width:none;justify-content:flex-start;text-align:left;border-left:none;border-top:1px solid var(--line);padding:12px 20px}
  .story-copy{grid-template-columns:1fr;gap:40px}
  .story-steps{grid-template-columns:repeat(2,1fr)}
  .story-step:nth-child(2){border-right:none}
  .story-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .cards-row.products{grid-template-columns:repeat(2,1fr)}
  .line-grid,.split,.split.rev{grid-template-columns:1fr;gap:48px}
  .qual-wall{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  :root{--pad-x:24px}
  section{padding:84px 0}
  .prologue .inner{padding-bottom:86px}
  .prologue .line1{letter-spacing:.18em}
  .prologue .line3{letter-spacing:.24em}
  .interlude{padding:110px 0}
  .chapter{padding:96px 0}
  .villain-art{height:420px}
  .leak-wall{height:auto;grid-template-columns:1fr;grid-template-rows:280px 300px;padding:10px}
  .leak-stack{grid-template-rows:1fr 1fr}
  .leak-main .leak-label{bottom:58px}
  .leak-note{font-size:12.5px}
  .sword-feature{grid-template-columns:1fr;gap:48px}
  .craft-video,.people-band.video-band{min-height:78vh}
  .craft-video .inner,.video-band .inner{padding-top:110px;padding-bottom:74px}
  .craft-video .tlist{padding:2px 18px}
  .epilogue{min-height:82vh}
  .coda .facts{gap:36px}
  .nav .item,.nav a.nav-cta{display:none}
  .nav-toggle{display:block}
  /* 移动端展开菜单 */
  .site-header.menu-open{background:#15171a}
  .menu-open .mobile-menu{display:flex;flex-direction:column;border-top:1px solid var(--line)}
  .mobile-menu a,.mobile-menu .disabled{padding:16px var(--pad-x);border-bottom:1px solid var(--line);font-size:16px;color:var(--text)}
  .mobile-menu .disabled{display:block;opacity:.55;cursor:default}
  .mobile-menu a:last-child{color:var(--copper-hi)}
  .story-grid,.craft-grid,.inquiry-grid{grid-template-columns:1fr;gap:48px;margin-top:42px}
  .proof-grid{grid-template-columns:1fr;gap:48px}
  .gates{grid-template-columns:repeat(2,1fr)}
  .gate{border-bottom:1px solid var(--line)}
  .cards-row{grid-template-columns:1fr 1fr}
  .savings{grid-template-columns:1fr}
  .sv{border-right:none;border-bottom:1px solid var(--line)}
  .scale{height:auto;padding:80px 0 0}
  .chain .tail{margin-left:0;width:100%;margin-top:12px}
  .video-band{min-height:70vh}
  .hero .meta{gap:36px}
  .page-hero{padding:136px 0 70px}
  .case-grid{grid-template-columns:1fr}
  .compare{grid-template-columns:1fr}
  .line-card{grid-template-columns:1fr}
  .qual-wall{grid-template-columns:repeat(2,1fr)}
  .mobile-call{position:fixed;left:0;right:0;bottom:0;z-index:60;display:block;background:var(--copper);color:var(--ink);text-align:center;padding:12px 18px;font-weight:700;letter-spacing:.12em}
  body{padding-bottom:48px}
}
@media (max-width:600px){
  .wrap{width:100%;max-width:100%;overflow:visible}
  .sword-feature,.sword-copy,.craft-video .inner,.craft-video .tlist,.ti,.narr{max-width:100%}
  .narr,.sword-copy p{overflow-wrap:break-word;word-break:normal}
  .ti .k,.ti .v{overflow-wrap:anywhere;word-break:break-word}
  /* 手机端同样逐字打字：字号压到18px，17字一行在390px屏上放得下（17×1.06×18≈324px） */
  .interlude p{font-size:18px}
  .type-line{max-width:calc(100vw - (var(--pad-x) * 2))}
  .brand{gap:10px}
  .logo-chip{padding:3px;border-radius:6px}
  .logo-chip img{width:34px;height:34px}
  .brand b{font-size:16px;letter-spacing:.18em}
  .hairline{gap:12px}
  .hairline .rule{width:44px}
  .hairline span{font-size:11.5px;letter-spacing:.22em}
  .prologue h1{font-size:34px;line-height:1.36;letter-spacing:0}
  .prologue .line1{font-size:14px;line-height:1.9}
  .prologue .line3{font-size:11.5px;line-height:1.8}
  .scroll-cue{display:none}
  .ch-head{gap:12px;align-items:flex-start;flex-wrap:wrap}
  .ch-head .rule{width:40px;margin-top:12px}
  .ch-head .no{font-size:13px;letter-spacing:.28em}
  .ch-head .en{width:100%;margin-left:52px;font-size:10.5px;letter-spacing:.18em}
  .narr{font-size:15.5px}
  .villain .num{gap:10px}
  .villain .num .n{font-size:82px}
  .villain .num .u{font-size:12px;letter-spacing:.12em}
  .villain-art{height:360px}
  .villain-art img{object-position:center 58%}
  .leak-wall{height:auto;grid-template-rows:220px 270px;gap:8px;padding:8px}
  .leak-stack,.leak-pair{gap:8px}
  .leak-label{left:9px;bottom:8px;font-size:9.5px;letter-spacing:.14em}
  .leak-note{left:8px;right:8px;bottom:8px;padding:10px 12px;font-size:12px}
  .leak-main .leak-label{bottom:54px}
  .craft-video::after,.people-band.video-band::after{background:linear-gradient(180deg,#15171A 0%,#15171A88 28%,#15171Af2 86%)}
  .ti{display:block}
  .ti .v{display:block;margin-top:4px;white-space:normal}
  .chain .sep{margin:0 10px}
  .epilogue .cta-big{padding:15px 26px;width:100%;max-width:320px}
  .coda .row b{width:100%;margin-right:0}
  .qual-track{animation:none;width:100%;overflow-x:auto}
  .qual-track img{width:138px;height:92px;flex:none}
  .motto-grid{grid-template-columns:1fr}
  .story-steps{grid-template-columns:1fr}
  .story-step,.story-step:nth-child(2){border-right:none}
  .story-step{border-bottom:1px solid var(--line)}
  .story-step:last-child{border-bottom:none}
  .cards-row{grid-template-columns:1fr}
  .cards-row.products{grid-template-columns:1fr}
  .gates{grid-template-columns:1fr}
  .form .row2{grid-template-columns:1fr}
  .qual-wall{grid-template-columns:1fr}
  .pf-label{font-size:10px;letter-spacing:.06em;padding:3px 6px}
  .pf-tl,.pf-bl{left:8px}
  .pf-tr,.pf-br{right:8px}
  .product-card .body,.line-card .body{padding:22px}
}
