@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--red:#F52F26;--gray:#DDE1E5;--black:#17191C;--ink:#17191C;--paper:#DDE1E5;--white:#FFFFFF;--mute:#6B7177;--line:rgba(23,25,28,.14);--line-inv:rgba(255,255,255,.14)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#0e0f11;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
.deck{display:flex;flex-direction:column;align-items:center;gap:28px;padding:28px 0}
.slide{position:relative;width:min(1440px,100vw);aspect-ratio:16/9;overflow:hidden;background:var(--paper);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.5);
  font-size:clamp(9px,1.1vw,16px);}
.slide.red{background:var(--red);color:var(--black)}
.slide.black{background:var(--black);color:var(--white)}
.slide.white{background:#fff}
.pad{position:absolute;inset:0;padding:5.2% 5.6%}
/* footer */
.foot{position:absolute;left:5.6%;right:5.6%;bottom:3.6%;display:flex;justify-content:space-between;align-items:center;font-size:.72em;letter-spacing:.14em;text-transform:uppercase;color:inherit;opacity:.62}
.foot .num{font-variant-numeric:tabular-nums}
.foot img{height:1.5em;opacity:.9}
/* type */
.eyebrow{font-size:.78em;letter-spacing:.22em;text-transform:uppercase;font-weight:600;opacity:.75}
.eyebrow .dot{display:inline-block;width:.55em;height:.55em;background:var(--red);margin-right:.7em;vertical-align:middle;position:relative;top:-.08em}
.black .eyebrow .dot,.red .eyebrow .dot{background:currentColor}
h1{font-weight:800;letter-spacing:-.035em;line-height:.92;font-size:6.2em}
h2{font-weight:800;letter-spacing:-.03em;line-height:.95;font-size:3.9em}
h3{font-weight:700;letter-spacing:-.02em;line-height:1.05;font-size:1.9em}
.lede{font-size:1.45em;line-height:1.3;font-weight:500;max-width:30em;letter-spacing:-.01em}
.body{font-size:1.05em;line-height:1.45;max-width:36em}
.small{font-size:.86em;line-height:1.4;opacity:.8}
.mute{opacity:.62}
.tag{display:inline-block;font-size:.7em;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:.45em .8em;border:1px solid currentColor;border-radius:2px;opacity:.85}
.tag.fill{background:var(--red);color:#fff;border-color:var(--red);opacity:1}
.black .tag.fill{background:var(--red)}
/* wordmark */
.wm{display:block}
/* grid helpers */
.row{display:flex;gap:4%}
.col{flex:1;min-width:0}
.hr{height:1px;background:var(--line);margin:1.6em 0}
.black .hr{background:var(--line-inv)}
/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(10em,1fr));gap:1.6em 2em}
.stat .v{font-weight:800;font-size:2.6em;letter-spacing:-.03em;line-height:1}
.stat .l{font-size:.8em;letter-spacing:.08em;text-transform:uppercase;margin-top:.5em;opacity:.7}
.stat .t{font-size:.72em;margin-top:.3em;opacity:.55}
/* screenshot frames */
.shot{border-radius:10px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.45);background:#000}
.shot img{display:block;width:100%;height:auto}
.phone{border-radius:2.2em;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.5);background:#000;border:.45em solid #111}
.phone img{display:block;width:100%}
.art{border-radius:6px;overflow:hidden;background:#000}
.art img{display:block;width:100%;height:100%;object-fit:cover}
/* table */
table{border-collapse:collapse;width:100%;font-size:.95em}
th,td{text-align:left;padding:.65em .4em;border-bottom:1px solid var(--line);vertical-align:top}
.black th,.black td{border-color:var(--line-inv)}
th{font-size:.72em;letter-spacing:.14em;text-transform:uppercase;font-weight:600;opacity:.65}
td.n{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
th.n{text-align:right}
/* list */
ul.clean{list-style:none}
ul.clean li{padding:.55em 0;border-bottom:1px solid var(--line);font-size:1em;line-height:1.35}
.black ul.clean li{border-color:var(--line-inv)}
ul.clean li b{font-weight:700}
/* print */
@media print{
  html,body{background:#fff}
  .deck{gap:0;padding:0}
  .slide{width:1440px;height:810px;box-shadow:none;page-break-after:always;break-after:page;font-size:16px}
}
/* cover mosaic */
.mosaic{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr;gap:2px;opacity:.28;filter:saturate(.6)}
.mosaic img{width:100%;height:100%;object-fit:cover;display:block}
.mosaic-fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,25,28,.55),rgba(23,25,28,.92) 70%,#17191C)}
/* partners */
.pname{font-weight:700;font-size:1.5em;letter-spacing:-.02em;border-top:3px solid var(--red);padding-top:.5em}
/* org chart */
.org{padding-left:2%}
.org-parent{display:flex;align-items:center;gap:1.2em;border:1px solid var(--line-inv);padding:1em 1.2em;border-radius:4px}
.org-parent img{height:2.2em}
.org-parent span{font-size:.85em;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.org-line{width:2px;height:1.6em;background:var(--red);margin:0 auto}
.org-subs{display:grid;grid-template-columns:repeat(4,1fr);gap:.6em}
.org-subs div{border:1px solid var(--line-inv);padding:.9em .8em;border-radius:4px;font-weight:600;font-size:.95em;line-height:1.2;min-height:4.6em}
.org-subs small{display:block;font-weight:400;font-size:.72em;opacity:.6;margin-top:.4em;letter-spacing:.04em}
/* portfolio grid */
.grid8{display:grid;grid-template-columns:repeat(4,1fr);gap:1em}
.card{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.card .art{aspect-ratio:16/10;border-radius:0}
.card .art.pf,.card .art.cos{display:flex;align-items:center;justify-content:center;background:var(--black);color:#fff;font-weight:800;font-size:2.6em;letter-spacing:-.04em}
.card .art.cos{background:var(--red)}
.card .ct{padding:.8em .9em .9em}
.card .ct b{display:block;font-size:1.05em;letter-spacing:-.01em}
.card .ct span{display:block;font-size:.8em;opacity:.7;margin-top:.2em;line-height:1.3}
.card .ct em{display:inline-block;font-style:normal;font-size:.66em;letter-spacing:.14em;text-transform:uppercase;margin-top:.6em;padding:.3em .6em;border:1px solid var(--line);border-radius:2px;opacity:.75}
/* connection map */
.map{width:100%;height:auto}
.map .node rect{fill:#fff;stroke:#17191C;stroke-width:1.5;rx:3}
.map .node.hub rect{fill:#17191C}
.map .node text{font-family:Inter,sans-serif;font-weight:700;font-size:17px;text-anchor:middle;fill:#17191C}
.map .node.hub text{fill:#fff}
.map path{fill:none;stroke:#F52F26;stroke-width:2}
.map path.strong{stroke-width:3.5}
.map path.dash{stroke-dasharray:6 5;stroke:#17191C;opacity:.55}
.map .lbl{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;fill:#6B7177;text-anchor:middle}
/* dark lists on red */
ul.clean.dark li{border-color:rgba(23,25,28,.22);color:var(--black)}
/* full-bleed art */
.art.bg{position:absolute;inset:0;border-radius:0}
.fade-l{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,11,10,.97) 36%,rgba(10,11,10,.5) 62%,rgba(10,11,10,0))}
/* modules */
.modules{display:grid;grid-template-columns:1fr 1fr;gap:.9em;padding-left:2%}
.mod{border:1px solid var(--line-inv);border-radius:4px;padding:1em 1.1em;position:relative}
.mod .k{position:absolute;top:1em;right:1.1em;font-size:.72em;letter-spacing:.14em;color:var(--red);font-weight:700}
.mod b{display:block;font-size:1.1em;letter-spacing:-.01em}
.mod p{font-size:.86em;line-height:1.4;opacity:.78;margin-top:.45em}
.mod:last-child{grid-column:span 2}
/* gates */
.gate{border-top:3px solid var(--black);padding-top:1em;color:var(--black)}
.gate b{display:block;font-size:1.1em;letter-spacing:-.01em}
.gate p{font-size:.95em;line-height:1.4;margin-top:.6em;opacity:.85}
/* v3 components */
.cats{display:grid;grid-template-columns:repeat(5,1fr);gap:.9em}
.cat .art{aspect-ratio:4/3;border-radius:4px}
.cat .art.dark{display:flex;align-items:center;justify-content:center;background:var(--black);color:#fff;font-weight:700;font-size:1.1em;letter-spacing:.02em}
.cat b{display:block;margin-top:.8em;font-size:1em;letter-spacing:-.01em}
.cat p{font-size:.82em;line-height:1.4;opacity:.75;margin-top:.4em}
.cat em{display:block;font-style:normal;font-size:.68em;letter-spacing:.14em;text-transform:uppercase;margin-top:.6em;color:var(--red);font-weight:600}
.steps{display:flex;flex-direction:column}
.step{display:grid;grid-template-columns:3em 1fr;gap:.6em;padding:.7em 0;border-bottom:1px solid var(--line);align-items:baseline}
.black .step{border-color:var(--line-inv)}
.step span{font-size:.75em;letter-spacing:.14em;color:var(--red);font-weight:700}
.step b{display:block;font-size:1.02em}
.step p{font-size:.86em;line-height:1.4;opacity:.78;margin-top:.2em;grid-column:2}
.steps.sq .step{border-color:rgba(31,37,35,.18)}
.steps.sq .step span{color:#fd5a1f}
ul.clean.sq li{border-color:rgba(244,241,233,.18);color:#f4f1e9}
.pieces{display:grid;grid-template-columns:1fr 1fr;gap:1em}
.piece{border-top:3px solid var(--red);padding-top:.8em}
.piece span{font-size:.72em;letter-spacing:.14em;color:var(--red);font-weight:700}
.piece b{display:block;font-size:1.25em;letter-spacing:-.01em;margin-top:.2em}
.piece p{font-size:.9em;line-height:1.42;opacity:.8;margin-top:.5em}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:1em}
.tl{border-top:2px solid var(--red);padding-top:.8em}
.tl span{font-size:.72em;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.tl b{display:block;font-size:1.15em;margin-top:.3em}
.tl p{font-size:.86em;line-height:1.4;opacity:.78;margin-top:.5em}
.feats{display:grid;grid-template-columns:1fr 1fr;gap:.9em 1.4em}
.feat{border-top:1px solid var(--line);padding-top:.7em}
.black .feat{border-color:var(--line-inv)}
.feat b{display:block;font-size:1.05em;letter-spacing:-.01em}
.feat p{font-size:.86em;line-height:1.4;opacity:.78;margin-top:.35em}
.castgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9em;padding-left:2%}
.castcard .art{aspect-ratio:3/4;border-radius:4px}
.castcard b{display:block;margin-top:.7em;font-size:1.05em}
.castcard span{display:block;font-size:.8em;opacity:.65;margin-top:.15em}
.cats.big .cat .art{aspect-ratio:3/4}
.cats.big .cat b{font-size:1.15em;margin-top:1em}
.cats.big .cat p{font-size:.92em}
.cats.big .cat em{font-size:.74em}
.org-inv,.org-inv2{font-size:.8em;letter-spacing:.12em;text-transform:uppercase;text-align:center;opacity:.75;border:1px dashed var(--line-inv);padding:.7em;border-radius:4px}
.org-inv2{margin-top:.8em}
/* print: no rasterized shadows (they render as boxes in PDF viewers) */
@media print{
  .shot,.phone,.art,.card{box-shadow:none!important}
  .shot{background:transparent!important;border:1px solid rgba(255,255,255,.12)}
  .white .shot,.slide:not(.black):not(.red) .shot{border-color:rgba(23,25,28,.14)}
  .phone{border-color:#111}
  .mosaic{filter:none}
}
