
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=Source+Sans+3:wght@400;600;700&display=swap');
:root{--paper:#F6F4EF;--sheet:#ffffff;--ink:#1A1F2C;--navy:#1B365D;--mut:#5C6573;
      --rule:#D8DCE3;--bad:#8B2E2E;--good:#2D5A3D;--warm:#EFEDE6;--grey:#B8BEC9;}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
     background:var(--paper);color:var(--ink);font-size:15px;line-height:1.55}
.pack{width:100%}
.topline{height:5px;background:var(--navy);width:100%}
.slide{background:var(--sheet);border-bottom:1px solid var(--rule)}
.slide-in{width:min(1180px, 100% - 64px);margin:0 auto;padding:52px 0}
@media(min-width:1200px){
  .slide{min-height:calc(100vh - 56px);display:flex;align-items:center;margin-bottom:12px}
  .slide-in{padding:56px 0}
}
h2,.t0-ent,.sl-t,.bn b,.ts-c b{font-family:'Source Serif 4',Georgia,serif}
.sl-k{font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--mut);margin-bottom:9px}
.sl-t{font-size:32px;line-height:1.16;font-weight:700;color:var(--navy);letter-spacing:-.01em;
      max-width:24ch;margin-bottom:28px}
.impl{margin-top:24px;padding:15px 19px;background:var(--warm);border-left:3px solid var(--navy);
      font-size:16px;line-height:1.5;max-width:96ch}
.impl.bad{border-left-color:var(--bad)}
.sl-src{margin-top:14px;font-size:11px;color:var(--mut)}
/* Slide 0 — title */
.slide.title{align-items:flex-end}
.t0-ent{font-size:46px;font-weight:700;color:var(--navy);line-height:1.02}
.t0-proj{font-size:20px;color:var(--ink);margin-top:10px}
.t0-rule{width:64px;height:3px;background:var(--navy);margin:28px 0}
.t0-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--mut)}
.t0-conf{color:var(--bad);font-weight:700}
/* Slide 1 — exec bullets */
ul.exec{list-style:none;max-width:100ch}
ul.exec li{position:relative;padding-left:26px;margin-bottom:17px;font-size:17px;line-height:1.5}
ul.exec li:before{content:'';position:absolute;left:0;top:10px;width:9px;height:9px;background:var(--navy)}
ul.exec li b{color:var(--navy)}
/* Slide 2 — situation band */
.band{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--rule);border-left:0}
.bn{padding:30px 26px;border-left:1px solid var(--rule)}
.bn b{display:block;font-size:48px;font-weight:700;color:var(--navy);line-height:1}
.bn span{display:block;margin-top:11px;font-size:12.5px;font-weight:700;letter-spacing:.03em;
         text-transform:uppercase;color:var(--mut)}
/* funnel */
.fnl{width:100%}
.fnl-row{display:grid;grid-template-columns:12rem 1fr max-content max-content;gap:0 18px;
         align-items:center;padding:11px 0;border-bottom:1px solid var(--rule)}
.fnl-row:last-child{border-bottom:0}
.fnl-lab{font-weight:600;font-size:15px}
.fnl-bar{position:relative;background:#ececf0;height:30px}
.fnl-fill{position:absolute;left:0;top:0;bottom:0;background:var(--navy);display:flex;align-items:center;justify-content:flex-end}
.fnl-on{color:#fff;font-size:13px;font-weight:700;padding-right:10px;white-space:nowrap}
.fnl-num{font-size:14px;color:var(--mut);white-space:nowrap}
.fnl-num b{color:var(--navy);font-weight:700}
.fnl-drop{font-size:13px;color:var(--mut);white-space:nowrap;text-align:right}
.fnl-drop.bad{color:var(--bad);font-weight:700}
/* horizontal bar chart */
.hb{width:100%}
.hb-row{display:grid;grid-template-columns:13rem 1fr max-content;gap:0 18px;align-items:center;
        padding:11px 0;border-bottom:1px solid var(--rule)}
.hb-row:last-child{border-bottom:0}
.hb-lab{font-weight:600;font-size:15px}
.hb-track{position:relative;background:#ececf0;height:28px}
.hb-fill{position:absolute;left:0;top:0;bottom:0;background:var(--navy)}
.hb-fill.hb-good{background:var(--good)}.hb-fill.hb-bad{background:var(--bad)}.hb-fill.hb-warn{background:#9a6a16}
.hb-val{font-size:13.5px;color:var(--mut);white-space:nowrap}
/* stacked bar */
.stk{width:100%}
.stk-bar{display:flex;height:46px;border:1px solid var(--rule);overflow:hidden}
.stk-seg{display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;min-width:0}
.stk-seg.seg-good{background:var(--good)}.stk-seg.seg-navy{background:var(--navy)}
.stk-seg.seg-grey{background:var(--grey);color:var(--ink)}
.stk-leg{display:flex;gap:24px;flex-wrap:wrap;margin-top:15px;font-size:14.5px}
.stk-key{display:inline-flex;align-items:center;gap:8px}
.stk-key i{width:13px;height:13px;display:inline-block}
.stk-key i.seg-good{background:var(--good)}.stk-key i.seg-navy{background:var(--navy)}.stk-key i.seg-grey{background:var(--grey)}
/* three-step */
.ts{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ts-c{flex:1 1 180px;border:1px solid var(--rule);padding:30px 22px;text-align:center;background:#fbfbf9}
.ts-c b{display:block;font-size:42px;font-weight:700;color:var(--navy);line-height:1}
.ts-c span{display:block;margin-top:9px;font-size:14px;color:var(--mut)}
.ts-c.bad b{color:var(--bad)}
.ts-x{color:var(--mut);font-size:26px}
.vel{margin-top:20px;background:var(--warm);border-left:3px solid var(--navy);padding:13px 17px;font-size:15px}
/* tables */
.tbl-wrap{overflow-x:auto;width:100%}
table.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
table.tbl th{text-align:left;color:var(--navy);font-weight:700;font-size:12px;letter-spacing:.03em;
             text-transform:uppercase;padding:10px 12px;border-bottom:2px solid var(--navy)}
table.tbl td{padding:10px 12px;border-bottom:1px solid var(--rule)}
table.tbl th.r,table.tbl td.r{text-align:right;font-variant-numeric:tabular-nums}
table.tbl td.bad{color:var(--bad);font-weight:700}table.tbl td.warn{color:#8a5a12;font-weight:700}
table.tbl .muted{color:var(--mut);font-size:12.5px;font-weight:400}
table.rec td:nth-child(2){font-weight:600}
.caveats{margin:0 0 14px 20px;font-size:15px}.caveats li{margin-bottom:9px}
/* print — landscape, one slide per page */
@media print{
  @page{size:A4 landscape;margin:12mm}
  body{background:#fff}
  .topline{display:none}
  .slide{min-height:auto;page-break-after:always;border:0;margin:0;display:block}
  .slide:last-child{page-break-after:auto}
  .slide-in{width:100%;padding:0}
  .ex,.slide,table.tbl tr{break-inside:avoid}
}
/* phone — stack, drop 100vh */
@media(max-width:800px){
  .slide{min-height:0;margin-bottom:10px}
  .slide-in{width:calc(100% - 32px);padding:30px 0}
  .t0-ent{font-size:34px}
  .sl-t{font-size:25px;max-width:none;margin-bottom:22px}
  .band{grid-template-columns:repeat(2,1fr)}
  .bn{padding:20px 16px}.bn b{font-size:34px}
  .bn:nth-child(1),.bn:nth-child(2){border-bottom:1px solid var(--rule)}
  ul.exec li{font-size:15.5px}
  .fnl-row,.hb-row{grid-template-columns:1fr;gap:3px 0}
  .fnl-num,.fnl-drop,.hb-val{text-align:left}
  .ts{flex-direction:column;align-items:stretch}.ts-x{transform:rotate(90deg)}
  .impl{font-size:15px}
  table.tbl,table.tbl thead,table.tbl tbody,table.tbl tr,table.tbl th,table.tbl td{display:block}
  table.tbl thead{display:none}
  table.tbl tr{border-bottom:1px solid var(--rule);padding:9px 0}
  table.tbl td{border:0;padding:2px 0}
  table.tbl td.r{text-align:left}
  table.tbl td:first-child{font-weight:700;color:var(--navy)}
}

