*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#2b2b2b;overflow:hidden;
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
.wrap{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#2b2b2b}
.stage{width:1920px;height:1080px;position:relative;flex-shrink:0;overflow:hidden;background:#fff;
  box-shadow:0 12px 40px rgba(0,0,0,.35)}

.slide{position:absolute;inset:0;display:none;flex-direction:column;background:#fff;color:#1a1a1a}
.slide.on{display:flex}
.slide.cover{background:#1a1a1a;color:#fff}

.bar{height:6px;flex-shrink:0;background:#FFD100}

.tt{margin:0;padding:28px 64px 0;font-size:30px;font-weight:700;line-height:1.35;letter-spacing:0;flex-shrink:0;color:#1a1a1a}
.tt em{font-style:normal;font-weight:700;border-bottom:3px solid #FFD100;padding-bottom:1px}
.rule{height:1px;background:#e5e5e5;margin:16px 64px 0;flex-shrink:0}
.body{flex:1;min-height:0;padding:20px 64px 12px;display:flex;flex-direction:column;gap:16px}
.ft{height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;
  padding:0 64px;font-size:13px;color:#8a8a8a;border-top:1px solid #eee}

/* cover — classic title slide */
.cover-inner{flex:1;padding:140px 80px 64px;display:flex;flex-direction:column}
.cover-facts{margin-top:auto;margin-bottom:28px;font-size:18px;color:#FFD100;letter-spacing:.04em}
.cover-meta{margin-top:0;display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid #333;padding-top:22px;font-size:16px;color:#9a9a9a}
.cover .kicker{font-size:16px;letter-spacing:.12em;color:#FFD100;font-weight:700;margin:0 0 36px}
.cover h1{font-size:56px;line-height:1.18;margin:0 0 20px;font-weight:700;letter-spacing:-.02em;max-width:1200px}
.cover .sub{font-size:26px;margin:0 0 18px;font-weight:400;color:#eee}
.cover .lead{font-size:20px;line-height:1.55;color:#b3b3b3;max-width:980px;margin:0}
.cover-meta a{color:#FFD100;text-decoration:none;font-weight:700;border-bottom:1px solid #FFD100;padding-bottom:2px}

/* panels */
.cols{display:grid;gap:16px;flex:1;min-height:0}
.cols.c2{grid-template-columns:1fr 1fr}
.cols.c3{grid-template-columns:1fr 1fr 1fr}
.cols.c5{grid-template-columns:repeat(5,1fr)}
.box{background:#fff;border:1px solid #e6e6e6;padding:18px 20px;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}
.box.ink{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
.box.hi{border-left:4px solid #FFD100}
.box.fill{background:#f7f7f7;border-color:#ececec}
.box .k{font-size:12px;font-weight:700;color:#8a8a8a;margin:0 0 6px;letter-spacing:.06em}
.box.ink .k{color:#FFD100}
.box h3{margin:0 0 10px;font-size:20px;font-weight:700;line-height:1.3}
.box p{margin:0;font-size:16px;line-height:1.5;color:#444}
.box.ink p{color:#d0d0d0}
.box ul{margin:0;padding:0;list-style:none}
.box li{margin:0;padding:7px 0;border-bottom:1px solid #f0f0f0;font-size:16px;line-height:1.45;color:#333}
.box li:last-child{border-bottom:0}
.box.ink li{color:#d6d6d6;border-bottom-color:#2c2c2c}
.box .end{margin-top:auto;padding-top:12px;border-top:1px solid #e6e6e6;font-size:14px;font-weight:700;line-height:1.45;color:#1a1a1a}
.box.ink .end{border-top-color:#333;color:#FFD100}
.num{font-size:36px;font-weight:700;letter-spacing:-.03em;line-height:1.15;margin:4px 0 10px}

/* table — consulting exhibit */
table.ppt{width:100%;height:100%;border-collapse:collapse;table-layout:fixed;flex:1;min-height:0}
table.ppt th{background:#1a1a1a;color:#fff;text-align:left;padding:14px 18px;font-size:14px;font-weight:700}
table.ppt td{padding:16px 18px;font-size:16px;line-height:1.45;border-bottom:1px solid #ececec;vertical-align:middle;color:#333;background:#fff}
table.ppt tr:last-child td{border-bottom:1px solid #1a1a1a}
table.ppt .bad{color:#c62828;font-weight:700}
table.ppt .ok{color:#1b7a4e;font-weight:700}
table.ppt .blank{font-weight:700}
table.ppt .blank em{display:inline-block;background:#FFD100;color:#1a1a1a;padding:2px 8px;font-style:normal;font-weight:700}
table.ppt tr.hi td{background:#fffbe6}

/* gantt */
.gantt{border:1px solid #e6e6e6;padding:14px 18px 10px;flex:0 0 auto}
.g-head,.g-row{display:grid;grid-template-columns:132px 1fr;gap:12px;align-items:center}
.g-head{padding-bottom:8px;font-size:12px;color:#8a8a8a;font-weight:700}
.g-months{display:grid;grid-template-columns:1fr 1fr 1fr;text-align:center}
.g-row{height:52px}
.g-lab{font-size:15px;font-weight:700;line-height:1.2}
.g-lab small{display:block;font-size:11px;font-weight:400;color:#8a8a8a;margin-top:2px}
.g-track{position:relative;height:28px;background:#f3f3f3}
.g-bar{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;padding:0 8px;white-space:nowrap;overflow:hidden}
.g-bar.yw{background:#FFD100;color:#1a1a1a}
.g-bar.dk{background:#1a1a1a;color:#FFD100}
.g-bar.mu{background:#ddd;color:#555}
.g-bar.dash{background:transparent;border:1px dashed #1a1a1a;color:#1a1a1a}

/* stacked bar */
.bar3{display:flex;height:44px;flex-shrink:0;font-weight:700;font-size:15px}
.bar3 span{display:flex;align-items:center;justify-content:center}
.bar3 .a{width:70%;background:#1a1a1a;color:#fff}
.bar3 .b{width:15%;background:#FFD100;color:#1a1a1a}
.bar3 .c{width:15%;background:#c62828;color:#fff}

/* takeaway */
.so{flex-shrink:0;border-left:4px solid #FFD100;background:#f7f7f7;padding:12px 18px;font-size:16px;font-weight:700;line-height:1.45}
.so b{font-weight:700}

/* flow */
.flow{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;gap:0;align-items:stretch;flex:1;min-height:0}
.arrow{display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#1a1a1a}

/* nav — discreet, like presenter tools */
.nav{position:fixed;right:18px;bottom:18px;z-index:9;display:flex;gap:4px}
.nav button{width:34px;height:34px;border:0;background:#1a1a1a;color:#fff;cursor:pointer;font-size:14px;opacity:.28}
.nav button:hover{opacity:.85}

@media print{
  html,body{background:#fff;overflow:visible}
  .wrap{display:block}
  .stage{transform:none!important;box-shadow:none;width:13.33in;height:7.5in}
  .slide{position:relative;display:flex!important;page-break-after:always;height:7.5in}
  .nav{display:none}
}
