/* ============ 放映厅（深烘焙棕衬底） ============ */
body.deck-body {
  background: #18100A;
  overflow: hidden;
  height: 100vh;
  width: 100vw;
}

#stage {
  position: fixed;
  inset: 0;
  background:
    radial-gradient(1200px 700px at 50% 42%, #2A1D13 0%, #1E140C 62%, #140D07 100%);
  overflow: hidden;
}

/* ============ 幻灯片本体：960×540 设计坐标 ============ */
.slide {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 960px;
  height: 540px;
  background: var(--bg);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55), 0 4px 18px rgba(0, 0, 0, 0.4);
  border-radius: 8px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transform: scale(var(--s, 1)) translateY(18px);
  transition: opacity 0.38s ease, transform 0.38s ease;
  transform-origin: center center;
}
.slide.active {
  opacity: 1;
  pointer-events: auto;
  transform: scale(var(--s, 1)) translateY(0);
}
.slide.behind {
  transform: scale(var(--s, 1)) translateY(-18px);
}

.slide.dark {
  background: linear-gradient(135deg, #2B1E14 0%, var(--dark-bg) 55%, #1A110A 100%);
  color: var(--light-on-dark);
}

/* ============ 页内元素入场动效（每页只播一次） ============ */
.slide .a {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.slide.played .a {
  opacity: 1;
  transform: translateY(0);
}
/* 封面装饰元素：缩放入场 */
.slide .a-zoom {
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.9, 0.25, 1.15);
}
.slide.played .a-zoom {
  opacity: 1;
  transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .slide, .slide .a, .slide .a-zoom { transition: none !important; }
  .slide .a, .slide .a-zoom { opacity: 1 !important; transform: none !important; }
}

/* ============ 通用版式组件 ============ */
.pad { position: absolute; inset: 0; padding: 34px 60px 40px; }

.kicker {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 8px;
}
.s-title {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.3px;
  color: var(--ink);
  margin: 0 0 0;
  line-height: 1.35;
}
.rule {
  height: 1px;
  background: var(--hairline);
  border: 0;
  margin: 16px 0 0;
}
.slide-foot {
  position: absolute;
  left: 60px;
  bottom: 14px;
  font-size: 10px;
  color: var(--muted);
}
.slide.dark .slide-foot { color: var(--muted-on-dark); }

/* 双栏 */
.cols { display: flex; gap: 0; margin-top: 22px; }
.col-l { width: 470px; flex: none; }
.col-r { width: 310px; flex: none; margin-left: auto; }
.vline { width: 1px; background: var(--hairline); flex: none; margin: 0 29px; }
.col-head { font-size: 13px; font-weight: 700; color: var(--primary-soft); margin: 0 0 12px; }
.body-text { font-size: 14px; line-height: 1.75; margin: 0; }
.body-text p { margin: 0; }
.body-text.sm { font-size: 13px; line-height: 1.7; }

.num-step { color: var(--accent); font-weight: 700; }
.muted { color: var(--muted); }
.accent { color: var(--accent); }

/* 底部要点（takeaway） */
.takeaway-wrap { position: absolute; left: 60px; right: 60px; bottom: 42px; }
.takeaway-wrap .rule { margin: 0 0 14px; }
.takeaway { font-size: 15px; line-height: 1.7; margin: 0; }
.takeaway.strong { font-size: 16px; font-weight: 700; color: var(--primary); }

.small-note { font-size: 11px; color: var(--muted); line-height: 1.5; margin: 0; }

/* ============ 表格（干净细线 + 深棕表头） ============ */
table.st {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  color: var(--ink);
}
table.st th {
  background: var(--primary);
  color: var(--light-on-dark);
  font-weight: 700;
  font-size: 12px;
  text-align: left;
  padding: 9px 12px;
  border-bottom: 1px solid var(--primary);
}
table.st td {
  padding: 8px 12px;
  border-bottom: 1px solid var(--hairline);
  vertical-align: middle;
  line-height: 1.5;
}
table.st td b { font-weight: 700; }
/* 紧凑表格（行数多的页） */
table.st.tight th { padding: 7px 12px; }
table.st.tight td { padding: 6px 12px; }

/* ============ 封面（摄影主导：官网 hero 同款） ============ */
.cover {
  background:
    linear-gradient(102deg,
      rgba(26, 17, 10, 0.94) 0%,
      rgba(26, 17, 10, 0.84) 32%,
      rgba(26, 17, 10, 0.52) 56%,
      rgba(26, 17, 10, 0.12) 80%,
      rgba(26, 17, 10, 0.22) 100%),
    url(/media/hero.jpg) center right / cover no-repeat,
    var(--dark-bg);
  color: var(--light-on-dark);
}
.cover .brand {
  margin-top: 42px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 4px;
  color: #D8C7B5;
}
.cover .brand::before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 2px;
  background: var(--accent);
  margin-right: 12px;
  vertical-align: 3px;
}
.cover h1 {
  margin: 50px 0 0;
  font-size: 46px;
  line-height: 1.32;
  font-weight: 800;
  letter-spacing: -0.5px;
  color: var(--light-on-dark);
  text-shadow: 0 2px 24px rgba(20, 12, 6, 0.45);
}
.cover h1 span { display: block; }
.cover .accent-bar { width: 160px; height: 3px; background: var(--accent); margin: 26px 0 20px; }
.cover .subtitle { font-size: 18px; color: #EFE3D3; margin: 0 0 26px; }
.cover .info { font-size: 13px; color: var(--muted-on-dark); line-height: 1.9; margin: 0; }
.cover .info span { display: block; }
/* 旧圆环装饰隐去，画面留给摄影图 */
.cover .ring, .cover .dot { display: none; }

/* ============ 章节页 / 结尾页（深棕底 + 超大水印英文） ============ */
.chapter::before {
  position: absolute;
  right: -12px;
  bottom: -52px;
  font-size: 196px;
  font-weight: 800;
  letter-spacing: -6px;
  line-height: 1;
  white-space: nowrap;
  color: rgba(196, 149, 106, 0.1);
  pointer-events: none;
}
.slide.chapter:nth-of-type(3)::before { content: "MOMENTUM"; }
.slide.chapter:nth-of-type(10)::before { content: "DEMO"; }
.slide.chapter:nth-of-type(18)::before { content: "ACTION"; }

.chapter .big-num {
  margin-top: 86px;
  font-size: 110px;
  font-weight: 800;
  color: var(--accent);
  line-height: 1;
  letter-spacing: -2px;
  font-variant-numeric: tabular-nums;
}
.chapter .ch-title { font-size: 34px; font-weight: 700; letter-spacing: -0.3px; color: var(--light-on-dark); margin: 20px 0 12px; }
.chapter .ch-desc { font-size: 15px; color: var(--muted-on-dark); margin: 0; }
.chapter .ch-line { width: 120px; height: 3px; background: var(--accent); margin-top: 30px; }

.final .main-line {
  margin-top: 74px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.3px;
  color: var(--light-on-dark);
}
.final .main-line span { display: block; }
.final .accent-bar { width: 120px; height: 3px; background: var(--accent); margin: 30px 0 26px; }
.final .action-head { font-size: 15px; font-weight: 700; color: var(--accent); margin: 0 0 14px; }
.final .actions { font-size: 16px; line-height: 1.9; color: var(--light-on-dark); margin: 0; }
.final .actions b { color: var(--accent); margin-right: 10px; }
.final .tail { position: absolute; left: 60px; bottom: 52px; font-size: 12px; color: var(--muted-on-dark); }

/* ============ 02 议程 ============ */
.agenda-item { display: flex; align-items: baseline; padding: 19px 0 17px; border-bottom: 1px solid var(--hairline); }
.agenda-item .n { width: 70px; flex: none; font-size: 26px; font-weight: 800; color: var(--accent); font-variant-numeric: tabular-nums; }
.agenda-item .nm { width: 300px; flex: none; font-size: 18px; font-weight: 700; }
.agenda-item .ds { flex: 1; font-size: 13px; color: var(--muted); }
.agenda-item .tm { width: 140px; flex: none; text-align: right; font-size: 12px; color: var(--accent); }
.agenda-note { margin-top: 14px; }

/* ============ 04 / 09 三阶段阶梯 ============ */
.steps { position: relative; height: 300px; margin-top: 16px; }
.step { position: absolute; width: 250px; }
.step .tag { font-size: 12px; font-weight: 700; color: var(--muted); margin: 0 0 6px; }
.step .tag.on { color: var(--accent); }
.step .t { font-size: 20px; font-weight: 700; margin: 0 0 8px; }
.step .t.on { color: var(--primary); }
.step .d { font-size: 13px; color: var(--muted); line-height: 1.55; margin: 0 0 12px; }
.step .ln { width: 100%; height: 2px; background: var(--hairline); }
.step .ln.on { background: var(--accent); }
.step .arrow {
  position: absolute; right: -34px; top: 62px; color: var(--muted); font-size: 18px;
}

/* ============ 05 / 19 / 20 条目行 ============ */
.rowline { display: flex; padding: 15px 0 14px; border-bottom: 1px solid var(--hairline); }
.rowline .lb { width: 180px; flex: none; font-size: 17px; font-weight: 700; color: var(--primary); }
.rowline .lb.sm { width: 140px; font-size: 15px; }
.rowline .tx { flex: 1; font-size: 13px; line-height: 1.55; }
.rowline .tx p { margin: 0; }
.rowline .rn { width: 60px; flex: none; font-size: 22px; font-weight: 800; color: var(--accent); font-variant-numeric: tabular-nums; }
.rowline .rt { width: 240px; flex: none; font-size: 16px; font-weight: 700; }
.rowline .rd { flex: 1; font-size: 13px; color: var(--muted); line-height: 1.55; }

/* ============ 07 大数字页（官网"23 年制造经验"手法：大号数字 + 品牌橙） ============ */
.nums { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 26px; }
.nums .cell { padding: 14px 0 18px; }
.nums .cell:nth-child(-n+3) { border-bottom: 1px solid var(--hairline); }
.nums .cell:nth-child(n+4) { padding-top: 20px; }
.nums .v { font-size: 34px; font-weight: 800; color: var(--accent); letter-spacing: -0.5px; font-variant-numeric: tabular-nums; }
.nums .cap { font-size: 12px; color: var(--muted); line-height: 1.5; margin-top: 6px; max-width: 250px; }

/* ============ 13 金蝶数字 ============ */
.kd { display: grid; grid-template-columns: 220px 220px; gap: 12px 20px; margin-top: 14px; }
.kd .v { font-size: 27px; font-weight: 800; color: var(--accent); font-variant-numeric: tabular-nums; }
.kd .cap { font-size: 12px; color: var(--muted); margin-top: 3px; }

/* ============ 22 部门诉求 ============ */
.dept-list { font-size: 12px; line-height: 1.5; }
.dept-list p { margin: 0 0 9px; }
.dept-list b { margin-right: 8px; }

/* ============ 23 流程 ============ */
.flow { margin-top: 10px; }
.flow .fitem { font-size: 14px; padding: 5px 0; }
.flow .farrow { color: var(--accent); font-size: 14px; line-height: 1; padding: 2px 0 2px 14px; }

/* ============ 放映控制 UI ============ */
#hud {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 10px 18px 12px;
  z-index: 50;
  color: #9A8574;
  font-size: 12px;
  user-select: none;
}
#progress-track {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: rgba(255, 255, 255, 0.07);
  z-index: 51;
}
#progress-bar {
  height: 100%;
  width: 0;
  background: var(--accent);
  transition: width 0.35s ease;
}
#hud .keys { letter-spacing: 0.4px; }
#hud .keys b { color: #D8C7B5; font-weight: 600; }
#hud .spacer { flex: 1; }
#hud a {
  color: #D8C7B5;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  padding: 4px 12px;
  transition: background 0.2s, color 0.2s;
}
#hud a:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }

/* ============ 总览模式 ============ */
#stage.overview {
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  padding: 26px;
  align-content: start;
}
#stage.overview .slide {
  position: relative;
  inset: auto;
  margin: 0;
  opacity: 1;
  pointer-events: auto;
  transition: none;
  cursor: pointer;
  border-radius: 4px;
}
#stage.overview .slide.current { outline: 2px solid var(--accent); outline-offset: 3px; }
#stage.overview .slide { transform: none; }
#stage.overview .slide .a,
#stage.overview .slide .a-zoom { opacity: 1 !important; transform: none !important; }
