/* Heading sizes: 92.5% of the previous scale, 2026-10-24. */

:root{
  --bg:#2b2e2a; --slide:#ffffff; --ink:#17180f; --muted:#6c7064;
  --line:#e6e3da; --frame:#f3f1ea; --hair:#c9c6bc; --accent:#3f5d3a; --amber:#a9762f;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;}
.deck{display:flex;flex-direction:column;align-items:center;gap:28px;padding:36px 16px 80px;}
.slide{position:relative;width:1180px;max-width:100%;min-height:812px;background:var(--slide);
  padding:44px 56px 34px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35);
  display:flex;flex-direction:column;}
.vlabel{position:absolute;right:14px;top:52px;writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.foot{position:absolute;left:56px;right:56px;bottom:20px;display:flex;justify-content:space-between;
  font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);
  border-top:1px solid var(--line);padding-top:9px;}

/* ---- cover ---- */
.cover{justify-content:space-between;}
.cover .kicker{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.cover h1{font-size:109.15px;line-height:.9;letter-spacing:-.03em;text-transform:uppercase;font-weight:800;margin:14px 0 0;}
.cover .apos{color:var(--amber);}
.cover .lead{max-width:52ch;font-size:15px;line-height:1.6;color:#3a3c33;margin-top:26px;}
.cover .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 44px;margin-top:30px;max-width:820px;}
.cover .grid div{display:flex;gap:12px;font-size:13px;border-top:1px solid var(--line);padding-top:9px;}
.cover .grid b{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);min-width:26px;}
.cover .grid span{color:#3a3c33;}
.cover .yr{font-size:12px;letter-spacing:.24em;color:var(--muted);}

/* ---- section header ---- */
.hd{display:flex;align-items:flex-start;gap:22px;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:20px;}
.hd .no{font-size:34px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.hd .tt{flex:1;}
.hd .cat{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.hd h2{font-size:30.525px;line-height:.98;text-transform:uppercase;font-weight:800;letter-spacing:-.015em;margin:5px 0 0;}
.hd .sub{font-size:12.5px;color:#3a3c33;margin-top:8px;max-width:78ch;line-height:1.5;}

.body{flex:1;min-height:0;}

/* ---- big statement / callout ---- */
.state{background:var(--ink);color:#fff;padding:20px 26px;margin-bottom:20px;display:flex;gap:20px;align-items:baseline;}
.state .n{font-size:40px;font-weight:800;line-height:.9;color:var(--amber);font-variant-numeric:tabular-nums;white-space:nowrap;}
.state .t{font-size:15px;line-height:1.45;}
.state .t b{color:#cdd8c2;}

/* ---- role grid ---- */
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.role{border:1px solid var(--line);border-top:3px solid var(--accent);padding:14px 16px 16px;background:var(--frame);}
.role .rk{display:flex;align-items:baseline;gap:8px;margin-bottom:7px;}
.role .rk b{font-size:22px;font-weight:800;color:var(--accent);line-height:1;}
.role .rk span{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.01em;}
.role p{margin:0;font-size:11px;line-height:1.4;color:#2c2e26;}

/* ---- competitor cards ---- */
.cards2{columns:2;column-gap:28px;}
.ccard{display:grid;grid-template-columns:66px 1fr;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px;break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;}
.ccard.best{border-left:3px solid var(--accent);padding-left:10px;background:linear-gradient(90deg,#f4f6f1,transparent 60%);}
.ph{width:66px;height:106px;background:var(--frame);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;}
.ph img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;}
.ph .fb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:8px;color:var(--muted);padding:6px;line-height:1.3;letter-spacing:.02em;}
.cbody{min-width:0;padding-top:1px;}
.c-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.c-brand{font-size:13px;font-weight:800;text-transform:uppercase;line-height:1.05;}
.c-brand .tag{display:inline-block;font-size:7.5px;letter-spacing:.1em;background:var(--accent);color:#fff;padding:1px 5px;margin-left:5px;vertical-align:middle;font-weight:700;}
.c-fmt{font-size:9.5px;color:var(--muted);font-style:italic;margin:2px 0 5px;line-height:1.3;}
.crow{display:grid;grid-template-columns:50px 1fr;gap:7px;font-size:9.5px;line-height:1.3;margin-top:1px;}
.crow dt{font-size:7.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-top:1px;}
.crow dd{margin:0;color:#2c2e26;}
.crow dd b{font-variant-numeric:tabular-nums;}

/* ---- generic table ---- */
table.t{width:100%;border-collapse:collapse;font-size:12px;}
table.t th{text-align:left;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  font-weight:700;border-bottom:2px solid var(--ink);padding:0 12px 8px;}
table.t td{border-bottom:1px solid var(--line);padding:9px 12px;vertical-align:top;line-height:1.4;color:#2c2e26;}
table.t td:first-child{font-weight:700;color:var(--ink);}
table.t td b{font-variant-numeric:tabular-nums;color:var(--ink);}
table.t tr.hi td{background:var(--frame);}
.num{font-variant-numeric:tabular-nums;white-space:nowrap;}

/* ---- two column split ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.split.w{grid-template-columns:1.15fr .85fr;}
.blk h3{font-size:10.175px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;
  border-bottom:1px solid var(--line);padding-bottom:6px;}
.blk p{font-size:12px;line-height:1.55;color:#2c2e26;margin:0 0 10px;}

/* ---- ordered solution list ---- */
.steps{counter-reset:s;list-style:none;margin:0;padding:0;}
.steps li{counter-increment:s;position:relative;padding:0 0 12px 40px;font-size:12.5px;line-height:1.5;color:#2c2e26;}
.steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:26px;height:26px;
  background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;}
.steps li b{color:var(--ink);}

/* ---- checklist ---- */
.check{list-style:none;margin:0;padding:0;columns:1;}
.check li{position:relative;padding:11px 0 11px 34px;font-size:13px;line-height:1.45;color:#2c2e26;border-bottom:1px solid var(--line);}
.check li::before{content:"";position:absolute;left:0;top:12px;width:16px;height:16px;border:2px solid var(--accent);border-radius:3px;}
.check li b{color:var(--ink);}

.note{font-size:10.5px;color:var(--muted);line-height:1.5;margin-top:14px;border-top:1px solid var(--line);padding-top:9px;}
.pgh{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:-6px 0 14px;}
.warn{background:#fbf4ea;border-left:3px solid var(--amber);padding:14px 18px;margin-top:16px;font-size:12px;line-height:1.5;color:#4a3b24;}
.warn b{color:var(--amber);text-transform:uppercase;letter-spacing:.04em;font-size:11px;}

@media print{
  @page{size:1180px 812px;margin:0;}
  html,body{background:#fff;}
  .deck{gap:0;padding:0;}
  .slide{box-shadow:none;break-after:page;page-break-after:always;min-height:812px;}
}
@media (max-width:1220px){
  .slide{padding:34px 24px 40px;}
  .cover h1{font-size:68.45px;}
  .roles{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr;gap:18px;}
}
