/* ============================================================
   The Context Graph & Semantic Layer — Updata CEO Summit deck styles.
   Light LeanScale Modern Design Standard, 16:9 stage.
   ============================================================ */
:root{
  --ls-ink:#1a1420; --ls-dark-gray:#595959; --ls-dark-purple:#301934;
  --ls-light-gray:#E9E9E7; --ls-lime:#E8FFCF; --ls-lime-deep:#C7F59B;
  --ls-medium-purple:#D9AFD0; --ls-off-white:#FFFBFF; --ls-strong-purple:#642585;
  --ls-purple-soft:#F3EAF7; --track:#EDE7EE;
  --good:#3E8E5A; --bad:#B4384F; --warn:#B8791F;
  --font-sans:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --shadow:0 1px 2px rgba(48,25,52,.04),0 8px 30px rgba(48,25,52,.06);
}
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..700&display=swap');

*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{
  font-family:var(--font-sans);background:#EFE9F0;color:var(--ls-ink);
  overflow:hidden;-webkit-font-smoothing:antialiased;
}

/* ---------- deck shell ---------- */
#deck{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}
#stage{
  width:1280px;height:720px;flex:0 0 auto;transform-origin:center center;
  background:var(--ls-off-white);border-radius:16px;box-shadow:0 20px 70px rgba(48,25,52,.20);
  position:relative;overflow:hidden;
}
.slide{
  position:absolute;inset:0;padding:44px 56px 56px;display:none;flex-direction:column;
  animation:fade .28s ease both;
}
.slide.on{display:flex}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- slide chrome ---------- */
.s-kick{
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ls-strong-purple);margin-bottom:7px;display:flex;align-items:center;gap:8px;
}
.s-kick .pip{width:6px;height:6px;border-radius:50%;background:var(--ls-lime-deep);display:inline-block}
.s-title{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 9px;color:var(--ls-dark-purple)}
.s-story{font-size:15px;line-height:1.5;color:var(--ls-dark-gray);max-width:74ch;margin:0 0 18px;font-weight:500}
.s-story b{color:var(--ls-dark-purple);font-weight:800}
.s-body{flex:1;display:grid;grid-template-columns:1fr 300px;gap:26px;min-height:0}
.s-body.solo{grid-template-columns:1fr}
.s-chart{
  background:#fff;border:1px solid var(--ls-light-gray);border-radius:14px;box-shadow:var(--shadow);
  padding:18px 20px;min-height:0;display:flex;flex-direction:column;position:relative;
}
.s-chart h4{margin:0 0 2px;font-size:13px;font-weight:800;color:var(--ls-dark-purple)}
.s-chart .sub{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ls-dark-gray);margin-bottom:10px}
.s-chart svg{flex:1;width:100%;min-height:0;overflow:visible}

/* insight rail */
.rail{display:flex;flex-direction:column;gap:10px;min-height:0}
.rail h5{
  margin:0;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ls-dark-gray);
}
.ins{
  background:var(--ls-purple-soft);border-radius:11px;padding:12px 13px;font-size:12.5px;line-height:1.45;color:var(--ls-dark-purple);
}
.ins b{font-weight:800}
.ins.hot{background:var(--ls-lime);}
.ins.bad{background:#FCEDF0}
.ins .n{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em;margin-bottom:2px}

/* ---------- title / transition slides ---------- */
.slide.cover,.slide.trans{justify-content:center;align-items:flex-start}
.slide.cover{background:linear-gradient(150deg,var(--ls-dark-purple),var(--ls-strong-purple));color:#fff;padding:70px}
.slide.cover .s-kick{color:var(--ls-lime-deep)}
.cover h1{font-size:60px;font-weight:800;letter-spacing:-.04em;line-height:1.02;margin:0 0 18px}
/* thin lime underline bar — sits below the letterforms so white type stays readable */
.cover h1 em{font-style:normal;background:linear-gradient(transparent 78%,var(--ls-lime-deep) 0);padding:0 4px}
.cover p{font-size:17px;line-height:1.55;color:rgba(255,255,255,.82);max-width:62ch;margin:0 0 30px;font-weight:500}
.cover .meta{display:flex;gap:34px;flex-wrap:wrap}
.cover .meta div{font-size:12px;color:rgba(255,255,255,.6);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.cover .meta b{display:block;font-size:19px;color:#fff;letter-spacing:-.02em;text-transform:none;margin-top:3px}
/* Section dividers. Deliberately full-bleed dark so a chapter break is unmistakable
   when flipping through: cover (dark) → content (light) → divider (dark) → content… */
.slide.trans{
  background:linear-gradient(150deg,var(--ls-dark-purple) 0%,var(--ls-strong-purple) 100%);
  padding:70px;overflow:hidden;
}
/* oversized ghosted numeral bleeding off the right edge */
.trans .ghost{
  position:absolute;right:-18px;top:50%;transform:translateY(-50%);
  font-size:330px;font-weight:800;line-height:.8;letter-spacing:-.06em;
  color:rgba(255,255,255,.055);pointer-events:none;user-select:none;
}
.trans .num{
  position:relative;font-size:11px;font-weight:800;color:var(--ls-lime-deep);letter-spacing:.16em;
  margin-bottom:14px;display:flex;align-items:center;gap:10px;
}
.trans .num:after{content:"";flex:0 0 54px;height:2px;background:var(--ls-lime-deep);opacity:.55}
.trans h2{
  position:relative;font-size:66px;font-weight:800;letter-spacing:-.04em;line-height:1.03;
  margin:0 0 28px;color:#fff;max-width:19ch;
}
.trans h2 em{font-style:normal;padding:0 4px 11px;
  background:linear-gradient(transparent calc(100% - 11px),var(--ls-lime-deep) 0)}
.trans p{
  position:relative;font-size:17px;line-height:1.6;color:rgba(255,255,255,.78);
  max-width:60ch;margin:0;font-weight:500;
}
.trans p em{font-style:normal;color:var(--ls-lime-deep);font-weight:700}
.trans .tags{position:relative;display:flex;gap:9px;margin-top:28px;flex-wrap:wrap}
.trans .tags span{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.9);
  font-size:12px;font-weight:800;padding:7px 15px;border-radius:100px;
}

/* ---------- KPI strip ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--ls-light-gray);border-radius:13px;padding:15px 16px;box-shadow:var(--shadow)}
.kpi .v{font-size:27px;font-weight:800;letter-spacing:-.035em;line-height:1;color:var(--ls-strong-purple)}
.kpi .k{margin-top:8px;font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ls-dark-gray)}
.kpi .s{margin-top:5px;font-size:11.5px;color:var(--ls-dark-gray);font-weight:600;line-height:1.35}
.kpi .s .up{color:var(--good);font-weight:800}
.kpi .s .dn{color:var(--bad);font-weight:800}
.kpi.attn{border-color:var(--ls-medium-purple);background:linear-gradient(180deg,var(--ls-purple-soft),#fff 65%)}

/* ---------- exec summary two-col ---------- */
.gr{display:grid;grid-template-columns:1fr 1fr;gap:18px;flex:1;min-height:0}
.gcol{background:#fff;border:1px solid var(--ls-light-gray);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:9px;overflow:hidden}
.gcol h4{margin:0 0 3px;font-size:13px;font-weight:800;display:flex;align-items:center;gap:8px}
.gcol h4 .dot{width:9px;height:9px;border-radius:50%}
.gcol.good h4{color:var(--good)} .gcol.good .dot{background:var(--good)}
.gcol.risk h4{color:var(--bad)} .gcol.risk .dot{background:var(--bad)}
.gitem{font-size:12.5px;line-height:1.45;color:var(--ls-dark-gray);padding-left:15px;position:relative}
.gitem:before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:2px;background:var(--ls-medium-purple)}
.gitem b{color:var(--ls-dark-purple);font-weight:800}
.gcol.good .gitem:before{background:var(--ls-lime-deep)}
.gcol.risk .gitem:before{background:#E8A3B0}

/* ---------- tables ---------- */
table.dt{width:100%;border-collapse:collapse;font-size:12px}
table.dt th{text-align:left;font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ls-dark-gray);padding:8px 10px;border-bottom:2px solid var(--ls-strong-purple);white-space:nowrap}
table.dt td{padding:7px 10px;border-bottom:1px solid var(--ls-light-gray);vertical-align:top}
table.dt td.n{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
table.dt tr:last-child td{border-bottom:none}
table.dt .co{font-weight:800;color:var(--ls-dark-purple)}
.pos{color:var(--good);font-weight:800}.neg{color:var(--bad);font-weight:800}

/* ---------- drill-through ---------- */
.drill{
  position:absolute;top:14px;right:16px;background:var(--ls-purple-soft);border:1px solid var(--ls-medium-purple);
  color:var(--ls-strong-purple);font-family:inherit;font-size:10.5px;font-weight:800;letter-spacing:.04em;
  padding:5px 11px;border-radius:100px;cursor:pointer;transition:.15s;z-index:3;
}
.drill:hover{background:var(--ls-strong-purple);color:#fff;border-color:var(--ls-strong-purple)}
#modal{position:fixed;inset:0;background:rgba(26,20,32,.55);display:none;align-items:center;justify-content:center;z-index:60;padding:40px}
#modal.on{display:flex}
.mbox{background:#fff;border-radius:16px;max-width:900px;width:100%;max-height:82vh;display:flex;flex-direction:column;
  box-shadow:0 30px 80px rgba(48,25,52,.35);overflow:hidden}
.mhead{padding:20px 24px 14px;border-bottom:1px solid var(--ls-light-gray);display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.mhead h3{margin:0 0 4px;font-size:18px;font-weight:800;color:var(--ls-dark-purple);letter-spacing:-.02em}
.mhead p{margin:0;font-size:12.5px;color:var(--ls-dark-gray);line-height:1.45;max-width:70ch}
.mclose{background:none;border:none;font-size:26px;line-height:1;color:var(--ls-dark-gray);cursor:pointer;padding:0 4px;font-family:inherit}
.mbody{padding:6px 24px 24px;overflow:auto}
.mnote{margin-top:14px;font-size:11.5px;color:var(--ls-dark-gray);line-height:1.5;background:var(--ls-purple-soft);padding:11px 13px;border-radius:9px}

/* ---------- footer / nav ---------- */
.s-foot{
  position:absolute;left:56px;right:56px;bottom:18px;display:flex;justify-content:space-between;align-items:center;
  font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#A99DAE;pointer-events:none;
}
.slide.cover .s-foot{color:rgba(255,255,255,.45);left:70px;right:70px}
.slide.trans .s-foot{color:rgba(255,255,255,.42);left:70px;right:70px}
#nav{
  position:fixed;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;
  background:rgba(255,255,255,.94);border:1px solid var(--ls-light-gray);border-radius:100px;padding:6px 8px;
  box-shadow:0 8px 30px rgba(48,25,52,.14);z-index:60;
}
#nav button{
  background:none;border:none;font-family:inherit;font-size:15px;color:var(--ls-strong-purple);cursor:pointer;
  width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.15s;
}
#nav button:hover{background:var(--ls-purple-soft)}
#nav .cnt{font-size:11.5px;font-weight:800;color:var(--ls-dark-purple);min-width:62px;text-align:center;font-variant-numeric:tabular-nums}
#nav .jump{font-size:11px;font-weight:700;color:var(--ls-dark-gray);border-left:1px solid var(--ls-light-gray);padding-left:10px;margin-left:2px}
#nav select{font-family:inherit;font-size:11.5px;font-weight:700;color:var(--ls-dark-purple);border:none;background:none;cursor:pointer;max-width:190px}
#bar{position:fixed;top:0;left:0;height:3px;background:var(--ls-lime-deep);z-index:50;transition:width .28s}

.conf{
  position:fixed;top:12px;right:14px;z-index:45;background:rgba(255,255,255,.92);border:1px solid var(--ls-medium-purple);
  color:var(--ls-strong-purple);font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 11px;border-radius:100px;
}

/* ---------- SVG chart bits ---------- */
.ax{stroke:var(--ls-light-gray);stroke-width:1}
.gl{stroke:var(--track);stroke-width:1;stroke-dasharray:3 3}
.lbl{font-size:10px;font-weight:700;fill:var(--ls-dark-gray);font-family:var(--font-sans)}
.lbl.sm{font-size:9px}
.val{font-size:10px;font-weight:800;fill:var(--ls-dark-purple);font-family:var(--font-sans)}
.val.w{fill:#fff}
.planline{stroke:var(--ls-strong-purple);stroke-width:1.5;stroke-dasharray:5 4}
.mark{font-size:9.5px;font-weight:800;fill:var(--ls-strong-purple);font-family:var(--font-sans)}

/* email slide */
.mail{background:#fff;border:1px solid var(--ls-light-gray);border-radius:14px;box-shadow:var(--shadow);
  padding:20px 24px;flex:1;overflow:auto;min-height:0}
.mail .hdr{border-bottom:1px solid var(--ls-light-gray);padding-bottom:11px;margin-bottom:13px}
.mail .hdr div{font-size:12px;color:var(--ls-dark-gray);margin-bottom:3px}
.mail .hdr b{color:var(--ls-dark-purple);font-weight:800}
.mail p{font-size:12.5px;line-height:1.6;color:var(--ls-ink);margin:0 0 10px}
.mail p b{color:var(--ls-dark-purple);font-weight:800}
.mail ul{margin:0 0 10px;padding-left:18px}
.mail li{font-size:12.5px;line-height:1.6;color:var(--ls-ink);margin-bottom:5px}
.copy{background:var(--ls-strong-purple);color:#fff;border:none;font-family:inherit;font-size:11.5px;font-weight:800;
  padding:8px 16px;border-radius:100px;cursor:pointer}
.copy.done{background:var(--ls-lime-deep);color:var(--ls-dark-purple)}

/* definitions */
.defs{display:grid;grid-template-columns:1fr 1fr;gap:14px;flex:1;min-height:0;overflow:auto}
.def{background:#fff;border:1px solid var(--ls-light-gray);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}
.def h5{margin:0 0 5px;font-size:12px;font-weight:800;color:var(--ls-dark-purple)}
.def p{margin:0;font-size:11.5px;line-height:1.5;color:var(--ls-dark-gray)}
.def code{background:var(--ls-purple-soft);padding:1px 5px;border-radius:4px;font-size:10.5px;color:var(--ls-strong-purple);font-weight:700}

@media (max-width:700px){ #nav .jump{display:none} }

/* ============================================================
   SUMMIT DECK — additional components
   ============================================================ */

/* ---------- big-statement slide ---------- */
.slide.big{justify-content:center}
.big .huge{font-size:112px;font-weight:800;letter-spacing:-.05em;line-height:.9;color:var(--ls-strong-purple)}
.big .huge small{font-size:44px;letter-spacing:-.03em;color:var(--ls-dark-purple);font-weight:800}
.big .cap{font-size:19px;line-height:1.5;color:var(--ls-dark-gray);max-width:60ch;margin-top:18px;font-weight:500}
.big .cap b{color:var(--ls-dark-purple);font-weight:800}
.twin{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.twin .unit{background:#fff;border:1px solid var(--ls-light-gray);border-radius:16px;padding:26px 28px;box-shadow:var(--shadow)}
.twin .unit .n{font-size:64px;font-weight:800;letter-spacing:-.045em;line-height:1;color:var(--ls-strong-purple)}
.twin .unit .l{margin-top:10px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ls-dark-gray)}
.twin .unit .d{margin-top:9px;font-size:13.5px;line-height:1.5;color:var(--ls-dark-gray);font-weight:500}
.twin .unit .d b{color:var(--ls-dark-purple);font-weight:800}

/* ---------- before / after ---------- */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:20px;flex:1;min-height:0}
.ba .side{border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;min-height:0;
  overflow:hidden;justify-content:space-between}
.ba .before{background:#F6F4F3;border:1px solid #E2DDDE}
.ba .after{background:#fff;border:1px solid var(--ls-medium-purple);box-shadow:var(--shadow)}
.ba h4{margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.ba .before h4{color:#8B7F86}
.ba .after h4{color:var(--ls-strong-purple)}
.ba h4 .tag{font-size:9px;letter-spacing:.06em;padding:3px 8px;border-radius:100px;font-weight:800}
.ba .before h4 .tag{background:#E7E2E3;color:#7A6E75}
.ba .after h4 .tag{background:var(--ls-lime);color:#41631F}
.ba .row{font-size:12.8px;line-height:1.5;padding-left:16px;position:relative}
.ba .before .row{color:#7C7078}
.ba .after .row{color:var(--ls-dark-gray)}
.ba .row:before{content:"";position:absolute;left:0;top:.52em;width:6px;height:6px;border-radius:2px}
.ba .before .row:before{background:#CFC7CA}
.ba .after .row:before{background:var(--ls-lime-deep)}
.ba .row b{font-weight:800}
.ba .before .row b{color:#5E545A}
.ba .after .row b{color:var(--ls-dark-purple)}
.ba .cap{padding-top:10px;border-top:1px dashed #DED7DF;font-size:11.5px;line-height:1.45;font-weight:700}
.ba .before .cap{color:#8B7F86}
.ba .after .cap{color:var(--ls-strong-purple)}

/* ---------- definition card ---------- */
.dfn{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;flex:1;min-height:0}
.dfn .formal{background:linear-gradient(165deg,var(--ls-dark-purple),var(--ls-strong-purple));color:#fff;
  border-radius:14px;padding:22px 24px;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.dfn .formal .lab{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ls-lime-deep);margin-bottom:10px}
.dfn .formal p{margin:0 0 12px;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.92);font-weight:500}
.dfn .formal p b,.dfn .formal p em{color:var(--ls-lime-deep);font-weight:800;font-style:normal}
.dfn .formal .parts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.dfn .formal .parts div{background:rgba(255,255,255,.09);border-radius:9px;padding:9px 11px;font-size:11.5px;line-height:1.4;color:rgba(255,255,255,.85)}
.dfn .formal .parts b{display:block;color:#fff;font-weight:800;font-size:11.5px;margin-bottom:2px}
.props{display:flex;flex-direction:column;gap:9px;min-height:0;overflow:hidden;justify-content:space-between}
.props h5{margin:0;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ls-dark-gray)}
.prop{background:#fff;border:1px solid var(--ls-light-gray);border-radius:11px;padding:11px 13px;box-shadow:var(--shadow)}
.prop b{display:block;font-size:12px;font-weight:800;color:var(--ls-dark-purple);margin-bottom:3px}
.prop span{font-size:11.5px;line-height:1.45;color:var(--ls-dark-gray)}

/* ---------- architecture stack ---------- */
.arch{display:flex;flex-direction:column;gap:5px;flex:1;min-height:0}
.layer{display:grid;grid-template-columns:132px 1fr 118px;gap:14px;align-items:center;
  background:#fff;border:1px solid var(--ls-light-gray);border-radius:11px;padding:7px 14px;box-shadow:var(--shadow)}
.layer .no{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ls-strong-purple)}
.layer .no b{display:block;font-size:13px;letter-spacing:-.01em;text-transform:none;color:var(--ls-dark-purple);margin-top:2px}
.layer .what{font-size:11.8px;line-height:1.4;color:var(--ls-dark-gray)}
.layer .what b{color:var(--ls-dark-purple);font-weight:800}
.layer .pick{font-size:10.5px;font-weight:800;color:var(--ls-strong-purple);background:var(--ls-purple-soft);
  border-radius:8px;padding:6px 9px;text-align:center;line-height:1.3}
.layer.key{border-color:var(--ls-medium-purple);background:linear-gradient(90deg,var(--ls-lime) 0%,#fff 42%)}
.layer.key .pick{background:var(--ls-lime-deep);color:#3D5C1D}
.arch .brace{display:flex;align-items:center;gap:10px;padding-left:4px}
.arch .brace span{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ls-dark-gray)}
.arch .brace i{flex:1;height:1px;background:var(--ls-light-gray)}

/* ---------- generic card grid ---------- */
.cards{display:grid;gap:13px;flex:1;min-height:0}
/* hug: cards size to content instead of stretching — for centred .big slides */
.cards.hug{flex:0 0 auto}
.cards.c2{grid-template-columns:1fr 1fr}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--ls-light-gray);border-radius:13px;padding:14px 16px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:6px;min-height:0;overflow:hidden}
.card .ix{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ls-strong-purple)}
.card h5{margin:0;font-size:13.5px;font-weight:800;color:var(--ls-dark-purple);letter-spacing:-.015em;line-height:1.25}
.card p{margin:0;font-size:11.8px;line-height:1.48;color:var(--ls-dark-gray)}
.card p b{color:var(--ls-dark-purple);font-weight:800}
.card .verdict{margin-top:auto;padding-top:9px;border-top:1px solid var(--ls-light-gray);
  font-size:11.2px;line-height:1.4;font-weight:800;color:var(--ls-strong-purple)}
.card.hot{border-color:var(--ls-medium-purple);background:linear-gradient(180deg,var(--ls-lime) 0%,#fff 46%)}
.card.dark{background:linear-gradient(160deg,var(--ls-dark-purple),var(--ls-strong-purple));border:none}
.card.dark .ix{color:var(--ls-lime-deep)} .card.dark h5{color:#fff}
.card.dark p{color:rgba(255,255,255,.84)} .card.dark p b{color:var(--ls-lime-deep)}
.card.dark .verdict{color:var(--ls-lime-deep);border-top-color:rgba(255,255,255,.18)}

/* ---------- agent catalog ---------- */
.ag{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:11px;flex:1;min-height:0}
.agent{background:#fff;border:1px solid var(--ls-light-gray);border-radius:11px;padding:11px 13px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:5px}
.agent .top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.agent h6{margin:0;font-size:12.3px;font-weight:800;color:var(--ls-dark-purple);line-height:1.25;letter-spacing:-.01em}
.agent p{margin:0;font-size:11px;line-height:1.42;color:var(--ls-dark-gray)}
.agent .pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.pill{font-size:8.6px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;padding:3px 7px;border-radius:100px;white-space:nowrap}
.pill.cv{background:var(--ls-lime);color:#41631F}
.pill.ct{background:#E4EDFA;color:#2A5182}
.pill.sem{background:var(--ls-purple-soft);color:var(--ls-strong-purple)}
.pill.gph{background:#FBEDE4;color:#96541F}
.agent .live{font-size:8.6px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#3E8E5A;
  background:#E8F5EC;border-radius:100px;padding:3px 8px;white-space:nowrap}
.aglegend{display:flex;gap:16px;align-items:center;margin-top:12px;font-size:10.5px;font-weight:700;color:var(--ls-dark-gray)}
.aglegend .g{display:flex;align-items:center;gap:6px}

/* ---------- gantt / project plan ---------- */
.gantt{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}
.gantt .wk{display:grid;grid-template-columns:246px 1fr;gap:14px;align-items:center;
  font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ls-dark-gray)}
.gantt .wk .scale{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}
.gantt .wk .scale span{text-align:center;background:var(--ls-purple-soft);border-radius:5px;padding:4px 0;color:var(--ls-strong-purple)}
.gantt .prow{display:grid;grid-template-columns:246px 1fr;gap:14px;align-items:center}
.gantt .pname{background:#fff;border:1px solid var(--ls-light-gray);border-radius:10px;padding:8px 11px;box-shadow:var(--shadow)}
.gantt .pname b{display:block;font-size:12px;font-weight:800;color:var(--ls-dark-purple);line-height:1.2}
.gantt .pname span{display:block;font-size:10.3px;color:var(--ls-dark-gray);margin-top:2px;line-height:1.3}
.gantt .track{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;align-items:center;position:relative}
.gantt .track i{height:26px;border-radius:6px;background:var(--track)}
.gantt .track i.on{background:linear-gradient(90deg,var(--ls-strong-purple),#8A3FAF)}
.gantt .track i.on.lime{background:linear-gradient(90deg,#7FBF3F,var(--ls-lime-deep))}
.gantt .out{display:grid;grid-template-columns:246px 1fr;gap:14px;margin-top:4px}
.gantt .out .o{grid-column:2;background:var(--ls-lime);border-radius:9px;padding:9px 13px;font-size:11.5px;
  line-height:1.4;color:#3D5C1D;font-weight:700}
.gantt .out .o b{color:var(--ls-dark-purple);font-weight:800}

/* ---------- compounding matrix ---------- */
.mx{border-collapse:separate;border-spacing:5px;width:100%;font-size:15px}
.mx th{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ls-dark-gray);padding:4px 6px;text-align:center}
.mx th.rh{text-align:right;white-space:nowrap}
.mx td{text-align:center;padding:19px 6px;border-radius:9px;font-weight:800;font-variant-numeric:tabular-nums;
  color:var(--ls-dark-purple);background:#fff;border:1px solid var(--ls-light-gray)}
.mx td.rh{background:none;border:none;text-align:right;font-size:12.5px;color:var(--ls-dark-gray);letter-spacing:.02em;white-space:nowrap}
.mx td.base{background:#F4F1F5;color:#8B7F86;border-style:dashed}
.mx td.t1{background:#F7FBEF} .mx td.t2{background:#EEF8DD} .mx td.t3{background:#E2F4C4}
.mx td.t4{background:var(--ls-lime-deep);color:var(--ls-dark-purple)}
.mx td.t5{background:linear-gradient(150deg,var(--ls-strong-purple),#8A3FAF);color:#fff;border-color:transparent}
.mx td small{display:block;font-size:9.5px;font-weight:800;opacity:.62;margin-top:2px;letter-spacing:.02em}
.mxcap{display:flex;gap:24px;margin-top:auto;padding-top:12px;font-size:11.5px;color:var(--ls-dark-gray);font-weight:600}
.mxcap b{color:var(--ls-dark-purple);font-weight:800}

/* ---------- numbered fight list ---------- */
.fights{display:grid;grid-template-columns:1fr 1fr;gap:11px;flex:1;min-height:0;align-content:start}
.fight{display:grid;grid-template-columns:30px 1fr;gap:11px;background:#fff;border:1px solid var(--ls-light-gray);
  border-radius:11px;padding:11px 13px;box-shadow:var(--shadow)}
.fight .n{width:26px;height:26px;border-radius:50%;background:var(--ls-purple-soft);color:var(--ls-strong-purple);
  font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.fight b{display:block;font-size:12.2px;font-weight:800;color:var(--ls-dark-purple);margin-bottom:3px;line-height:1.25}
.fight p{margin:0;font-size:11.2px;line-height:1.45;color:var(--ls-dark-gray)}
.fight p em{font-style:normal;font-weight:800;color:var(--ls-strong-purple)}

/* ---------- use-case table ---------- */
table.uc{width:100%;border-collapse:collapse;font-size:11.8px}
table.uc th{text-align:left;font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ls-dark-gray);padding:8px 11px;border-bottom:2px solid var(--ls-strong-purple)}
table.uc td{padding:10px 11px;border-bottom:1px solid var(--ls-light-gray);vertical-align:top;line-height:1.42;color:var(--ls-dark-gray)}
table.uc tr:last-child td{border-bottom:none}
table.uc td.who{font-weight:800;color:var(--ls-dark-purple);white-space:nowrap}
table.uc td b{color:var(--ls-dark-purple);font-weight:800}
table.uc .chip{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:3px 8px;border-radius:100px;background:var(--ls-purple-soft);color:var(--ls-strong-purple);white-space:nowrap}
table.uc .chip.g{background:#FBEDE4;color:#96541F}
table.uc .chip.b{background:var(--ls-lime);color:#41631F}
/* conversion / cycle chips — kept in step with the agent-catalog pill palette */
table.uc .chip.cv{background:var(--ls-lime);color:#41631F}
table.uc .chip.cyc{background:#E4EDFA;color:#2A5182}
table.uc .chip.both{background:var(--ls-strong-purple);color:#fff}
table.uc tr.alt td{background:#FCFAFC}
table.uc tr.total td{background:var(--ls-lime);border-bottom:none;font-weight:800;color:var(--ls-dark-purple);
  padding-top:8px;padding-bottom:8px}
/* the roles table carries six rows — it needs tighter leading than the 5-row use-case table */
.roles-tight table.uc td{padding:6.5px 11px}
.roles-tight table.uc th{padding:5px 11px}
.roles-tight tr.total td{padding-top:7px;padding-bottom:7px}

/* ---------- flow / anti-pattern diagram ---------- */
.flow{display:grid;grid-template-columns:1fr 1fr;gap:20px;flex:1;min-height:0}
.flowbox{border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:11px;min-height:0}
.flowbox.wrong{background:#FCF3F5;border:1px solid #F0D3DA}
.flowbox.right{background:#fff;border:1px solid var(--ls-medium-purple);box-shadow:var(--shadow)}
.flowbox h4{margin:0;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;display:flex;gap:8px;align-items:center}
.flowbox.wrong h4{color:var(--bad)} .flowbox.right h4{color:var(--ls-strong-purple)}
.node{border-radius:10px;padding:10px 13px;font-size:12px;font-weight:700;line-height:1.35;position:relative}
.flowbox.wrong .node{background:#fff;border:1px solid #EFD9DE;color:#8A5462}
.flowbox.right .node{background:var(--ls-purple-soft);color:var(--ls-dark-purple)}
.flowbox.right .node.lime{background:var(--ls-lime);color:#3D5C1D}
.node small{display:block;font-size:10.3px;font-weight:600;opacity:.8;margin-top:3px}
.arw{text-align:center;font-size:14px;line-height:1;color:#C7BCCB;margin:-3px 0}
.flowbox .why{margin-top:auto;padding-top:11px;border-top:1px dashed #E2D7E4;font-size:11.5px;line-height:1.45;font-weight:700}
.flowbox.wrong .why{color:var(--bad)} .flowbox.right .why{color:var(--ls-strong-purple)}

/* ---------- close / action list ---------- */
.acts{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}
.act{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;background:#fff;
  border:1px solid var(--ls-light-gray);border-radius:12px;padding:13px 16px;box-shadow:var(--shadow)}
.act .n{width:36px;height:36px;border-radius:10px;background:linear-gradient(150deg,var(--ls-dark-purple),var(--ls-strong-purple));
  color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center}
.act b{display:block;font-size:14px;font-weight:800;color:var(--ls-dark-purple);letter-spacing:-.015em}
.act span{display:block;font-size:12px;line-height:1.45;color:var(--ls-dark-gray);margin-top:2px}
.act span em{font-style:normal;font-weight:800;color:var(--ls-strong-purple)}

/* ---------- quote band ---------- */
.band{background:linear-gradient(135deg,var(--ls-dark-purple),var(--ls-strong-purple));border-radius:14px;
  padding:22px 26px;color:#fff}
.band p{margin:0;font-size:19px;line-height:1.45;font-weight:700;letter-spacing:-.015em}
.band p em{font-style:normal;color:var(--ls-lime-deep)}
.band .src{margin-top:9px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* ---------- speaker notes ---------- */
#notes{position:fixed;left:0;right:0;bottom:0;max-height:38vh;overflow:auto;background:rgba(26,20,32,.96);
  color:#EDE7EE;padding:18px 26px 62px;font-size:13.5px;line-height:1.6;z-index:55;display:none;
  border-top:2px solid var(--ls-lime-deep)}
#notes.on{display:block}
#notes h6{margin:0 0 8px;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ls-lime-deep)}
#notes p{margin:0 0 8px} #notes p:last-child{margin:0}
#notes b{color:#fff;font-weight:800}

/* ============================================================
   GIVEAWAY SLIDE — Claude-orange CTAs, plugin pills, QR codes
   ============================================================ */
:root{
  --claude:#D97757;          /* Claude orange */
  --claude-deep:#B4552F;     /* pressed / dark orange type */
  --claude-ink:#8A3F22;      /* orange type on a tint — passes contrast */
  --claude-tint:#FBEEE8;
  --claude-line:#F1D6C8;
}
.give{display:grid;grid-template-columns:1.34fr 1fr;gap:18px;flex:1;min-height:0}
.gpanel{
  background:#fff;border:1px solid var(--ls-light-gray);border-radius:14px;padding:17px 19px;
  box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0;
}
.gpanel.accent{border-color:var(--claude-line);background:linear-gradient(180deg,var(--claude-tint) 0%,#fff 34%)}
.gstep{display:flex;align-items:center;gap:9px}
.gstep i{
  width:23px;height:23px;flex:0 0 auto;border-radius:7px;background:var(--claude);color:#fff;
  font-style:normal;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center;
}
.gstep h4{margin:0;font-size:15px;font-weight:800;color:var(--ls-dark-purple);letter-spacing:-.015em}
.glede{margin:7px 0 9px;font-size:11.7px;line-height:1.45;color:var(--ls-dark-gray)}
.glede b{color:var(--ls-dark-purple);font-weight:800}

/* plugin download pills */
.plugs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.plug{
  background:var(--claude-tint);border:1px solid var(--claude-line);color:var(--claude-ink);
  font-size:11px;font-weight:800;padding:6px 10px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;
}
.plug:before{content:"↓";font-size:10px;font-weight:800;opacity:.55}

/* terminal line */
.cmd{
  background:var(--ls-dark-purple);border-radius:9px;padding:9px 13px;margin-bottom:10px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.3px;line-height:1.6;color:#D8CFDD;
}
.cmd div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmd .p{color:var(--ls-lime-deep);font-weight:700}
.cmd .c{color:#fff}
.cmd .note{color:#9C8FA3;font-size:10.3px}

/* the big Claude-orange call to action */
.cta{
  background:var(--claude);border-radius:11px;padding:12px 16px;display:flex;align-items:center;
  justify-content:space-between;gap:14px;color:#fff;
}
.cta .t b{display:block;font-size:14.5px;font-weight:800;letter-spacing:-.012em;line-height:1.2}
.cta .t span{display:block;font-size:10.8px;margin-top:3px;color:rgba(255,255,255,.92);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.cta .go{font-size:19px;font-weight:800;line-height:1}
.cta.ghost{background:#fff;border:1.5px solid var(--claude);color:var(--claude-ink)}
.cta.ghost .t span{color:var(--claude-deep)}
.cta.ghost .go{color:var(--claude)}

/* MCP payload counts */
.mstats{display:flex;flex-direction:column;gap:6px;margin:2px 0 13px}
.mstat{display:flex;align-items:baseline;gap:9px;font-size:11.7px;line-height:1.35;color:var(--ls-dark-gray)}
.mstat b{font-size:15px;font-weight:800;color:var(--claude-ink);min-width:36px;text-align:right;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.mtotal{border-top:1px dashed var(--claude-line);margin-top:3px;padding-top:7px}
.mtotal b{color:var(--claude)}

/* QR block */
.qrow{margin-top:auto;display:flex;align-items:center;gap:13px;padding-top:11px;
  border-top:1px solid var(--ls-light-gray)}
.qr{flex:0 0 auto;background:#fff;border:1px solid var(--ls-light-gray);border-radius:9px;padding:4px;line-height:0}
.qr svg{display:block;width:88px;height:88px;shape-rendering:crispEdges}
.qrl{font-size:10.4px;line-height:1.45;color:var(--ls-dark-gray)}
.qrl b{display:block;font-size:11.5px;color:var(--ls-dark-purple);font-weight:800;margin-bottom:3px}
.qrl code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.2px;color:var(--claude-ink);
  background:var(--claude-tint);padding:1px 5px;border-radius:4px}

/* ============================================================
   V2 COMPONENTS
   Added for the rebuilt Section 2/3: the maturity curve, the
   effort split, the grouped definition list, the two "how it
   gets built" slides and the agent build-time chart.
   NOTE: the base section above defines a bare `.gr` class.
   Before adding any new class here, diff it against that list —
   a collision inherits `display:grid;flex:1` silently.
   ============================================================ */

/* ---------- maturity curve ---------- */
.curve{
  background:#fff;border:1px solid var(--ls-light-gray);border-radius:14px;box-shadow:var(--shadow);
  padding:8px 12px 2px;margin-bottom:12px;flex:0 0 auto;
}
.curve svg{display:block;width:100%;height:198px;overflow:visible}
.mlevels{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;flex:1;min-height:0}
.mlv{
  background:#fff;border:1px solid var(--ls-light-gray);border-radius:11px;padding:10px 12px;
  box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px;min-height:0;overflow:hidden;
}
.mlv .lv{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ls-strong-purple)}
.mlv b{font-size:13px;font-weight:800;color:var(--ls-dark-purple);letter-spacing:-.015em;line-height:1.2}
.mlv p{margin:0;font-size:10.6px;line-height:1.4;color:var(--ls-dark-gray)}
.mlv p b{font-size:inherit;letter-spacing:0}
.mlv .ceil{
  margin-top:auto;padding-top:7px;border-top:1px solid var(--ls-light-gray);
  font-size:10.2px;line-height:1.35;font-weight:800;color:var(--ls-strong-purple);
}
.mlv .tell{font-size:10.2px;line-height:1.38;color:var(--ls-dark-gray);
  border-top:1px dashed var(--ls-light-gray);padding-top:6px;margin:2px 0 0}
.mlv .tell em{font-style:normal;font-weight:800;color:var(--ls-dark-gray);letter-spacing:.02em}
.mlv.key{border-color:var(--ls-medium-purple);background:linear-gradient(180deg,var(--ls-lime) 0%,#fff 42%)}

/* ---------- effort split bar ---------- */
.splitbar{display:flex;gap:6px;height:76px;margin-bottom:14px;flex:0 0 auto}
.seg{border-radius:12px;padding:12px 18px;display:flex;flex-direction:column;justify-content:center;
  min-width:0;overflow:hidden}
.seg b{display:block;font-size:27px;font-weight:800;letter-spacing:-.04em;line-height:1}
.seg span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-top:6px}
.seg.a{background:linear-gradient(135deg,var(--ls-dark-purple),var(--ls-strong-purple));color:#fff}
.seg.a span{color:var(--ls-lime-deep)}
.seg.b{background:var(--ls-purple-soft);color:var(--ls-strong-purple)}
.seg.b span{color:var(--ls-dark-gray)}
.seg.c{background:var(--ls-lime);color:#41631F}
.seg.c span{color:#5E7A3C}

/* ---------- grouped definition list ---------- */
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:11px;flex:1;min-height:0}
.dgroup{
  background:#fff;border:1px solid var(--ls-light-gray);border-radius:12px;padding:11px 13px;
  box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;min-height:0;overflow:hidden;
}
.dgroup h5{
  margin:0;font-size:12.5px;font-weight:800;color:var(--ls-dark-purple);letter-spacing:-.01em;
  display:flex;align-items:center;gap:7px;
}
.dgroup h5 i{
  width:19px;height:19px;flex:0 0 auto;border-radius:6px;background:var(--ls-purple-soft);
  color:var(--ls-strong-purple);font-style:normal;font-size:10px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.dchips{display:flex;flex-wrap:wrap;gap:4px}
.dchip{
  background:var(--ls-light-gray);color:var(--ls-dark-gray);font-size:9.4px;font-weight:800;
  padding:3px 7px;border-radius:6px;white-space:nowrap;
}
.dgroup p{margin:0;font-size:10.7px;line-height:1.42;color:var(--ls-dark-gray)}
.dgroup p em{font-style:normal;font-weight:800;color:var(--ls-strong-purple)}
.dgroup .dft{
  margin-top:auto;padding-top:7px;border-top:1px solid var(--ls-light-gray);
  font-size:10.5px;line-height:1.42;color:var(--ls-dark-gray);
}
.dgroup .dft b{color:var(--ls-dark-purple);font-weight:800}

/* ---------- "how it gets built" columns ---------- */
.build{display:grid;grid-template-columns:1fr 1.04fr .96fr;gap:14px;flex:1;min-height:0;align-items:start}
.bcol{
  background:#fff;border:1px solid var(--ls-light-gray);border-radius:13px;padding:13px 15px;
  box-shadow:var(--shadow);display:flex;flex-direction:column;gap:9px;min-height:0;overflow:hidden;
}
.bcol h6{
  margin:0;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ls-strong-purple);
}
.kode{
  background:var(--ls-dark-purple);border-radius:10px;padding:11px 13px;flex:0 0 auto;overflow:hidden;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.1px;line-height:1.55;
  color:#D8CFDD;white-space:pre;
}
.kode .k{color:var(--ls-lime-deep)}
.kode .s{color:#F0C9E4}
.kode .c{color:#9C8FA3;font-style:italic}
.kode .w{color:#fff;font-weight:700}
.bnote{margin:0;font-size:10.7px;line-height:1.45;color:var(--ls-dark-gray)}
.bnote b{color:var(--ls-dark-purple);font-weight:800}
.bnote code,.stp code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.7px;font-weight:700;
  background:var(--ls-purple-soft);color:var(--ls-strong-purple);padding:1px 5px;border-radius:4px;
}
.steps{display:flex;flex-direction:column;gap:8px;min-height:0}
.stp{display:grid;grid-template-columns:19px 1fr;gap:9px;align-items:start}
/* direct child only — a bare `.stp i` also caught inline <i> italics in the copy */
.stp > i{
  width:19px;height:19px;border-radius:6px;background:var(--ls-purple-soft);color:var(--ls-strong-purple);
  font-style:normal;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;
  margin-top:1px;
}
.stp b{display:block;font-size:11px;font-weight:800;color:var(--ls-dark-purple);line-height:1.3}
.stp span{display:block;font-size:10.2px;line-height:1.4;color:var(--ls-dark-gray);margin-top:2px}
.stp span b{display:inline;font-size:inherit}

/* ============================================================
   v3 additions — picture slides, pillars, donut, hub & spoke,
   grouped agent catalog, role blocks, single-QR giveaway.
   NOTE: never name a new class `.gr` (see the base section) and
   scope badge rules to the direct child (`.stp > i`).
   ============================================================ */

/* ---------- plain question slide ---------- */
.slide.qs{justify-content:center;align-items:flex-start;padding:70px 90px}
.qs .qmark{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ls-strong-purple);margin-bottom:26px;display:flex;align-items:center;gap:10px}
.qs .qmark:after{content:"";flex:0 0 54px;height:2px;background:var(--ls-lime-deep)}
.qs h2{font-size:62px;font-weight:800;letter-spacing:-.045em;line-height:1.06;margin:0;
  color:var(--ls-dark-purple);max-width:20ch}
.qs h2 em{font-style:normal;padding:0 5px 10px;
  background:linear-gradient(transparent calc(100% - 10px),var(--ls-lime-deep) 0)}
.qs .qsub{margin:30px 0 0;font-size:16px;font-weight:600;color:var(--ls-dark-gray);max-width:56ch;line-height:1.55}

/* ---------- picture slides ---------- */
.pics{display:grid;gap:20px;flex:1;min-height:0;align-items:stretch}
.pics.p2{grid-template-columns:1fr 1fr}
.pics.p3{grid-template-columns:1fr 1fr 1fr}
.pic{background:#fff;border:1px solid var(--ls-light-gray);border-radius:16px;box-shadow:var(--shadow);
  padding:18px 20px 16px;display:flex;flex-direction:column;min-height:0;position:relative;overflow:hidden}
.pic .art{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:4px 0 10px}
.pic .art svg{width:100%;height:100%;max-height:100%;overflow:visible}
.pic .plab{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ls-strong-purple);margin-bottom:4px}
.pic .pttl{font-size:19px;font-weight:800;letter-spacing:-.025em;color:var(--ls-dark-purple);line-height:1.2}
.pic .psub{margin:6px 0 0;font-size:12.4px;line-height:1.45;color:var(--ls-dark-gray);font-weight:500}
.pic .psub b{color:var(--ls-dark-purple);font-weight:800}
.pic.muted{background:#F6F4F7;border-style:dashed;border-color:#DED5E1;box-shadow:none}
.pic.muted .plab{color:#8B7F86}
.pic.solo{align-items:center;text-align:center}
.pic.solo .pttl{font-size:26px}
.pic.solo .psub{max-width:62ch;font-size:14px}
.picfoot{margin-top:16px;font-size:14.5px;line-height:1.5;color:var(--ls-dark-gray);font-weight:600;text-align:center}
.picfoot b{color:var(--ls-dark-purple);font-weight:800}
.picfoot em{font-style:normal;color:var(--ls-strong-purple);font-weight:800}

/* ---------- two pillars on a foundation ---------- */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:22px;flex:1;min-height:0}
.plr{border-radius:18px;padding:26px 28px;display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--ls-medium-purple);box-shadow:var(--shadow)}
.plr .pn{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ls-strong-purple)}
.plr h4{margin:10px 0 0;font-size:32px;font-weight:800;letter-spacing:-.035em;line-height:1.08;color:var(--ls-dark-purple)}
.plr .pv{margin-top:auto;padding-top:18px;border-top:1px solid var(--ls-light-gray);
  font-size:46px;font-weight:800;letter-spacing:-.045em;line-height:1;color:var(--ls-strong-purple)}
.plr .pv span{display:block;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ls-dark-gray);margin-top:9px}
.plr ul{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.plr li{font-size:13px;line-height:1.4;color:var(--ls-dark-gray);font-weight:600;padding-left:16px;position:relative}
.plr li:before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:2px;background:var(--ls-lime-deep)}
.base{margin-top:18px;border-radius:16px;padding:20px 28px;display:flex;align-items:center;gap:26px;
  background:linear-gradient(135deg,var(--ls-dark-purple),var(--ls-strong-purple));color:#fff}
.base .bt{flex:0 0 auto}
.base .bt b{display:block;font-size:24px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.base .bt span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ls-lime-deep);margin-bottom:5px}
.base p{margin:0;font-size:14px;line-height:1.5;color:rgba(255,255,255,.82);font-weight:500}
.base p b{color:var(--ls-lime-deep);font-weight:800}

/* ---------- ceiling visual ---------- */
.ceilviz{background:#fff;border:1px solid var(--ls-light-gray);border-radius:16px;box-shadow:var(--shadow);
  padding:16px 22px 8px;flex:1;min-height:0;display:flex;flex-direction:column}
.ceilviz svg{flex:1;width:100%;min-height:0;overflow:visible}
.ceilrow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px;flex:0 0 auto}
.crd{border-radius:13px;padding:14px 17px;background:#fff;border:1px solid var(--ls-light-gray);box-shadow:var(--shadow)}
.crd .k{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--ls-strong-purple)}
.crd b{display:block;font-size:17px;font-weight:800;letter-spacing:-.025em;color:var(--ls-dark-purple);margin-top:5px}
.crd span{display:block;font-size:12.2px;line-height:1.45;color:var(--ls-dark-gray);margin-top:5px;font-weight:500}
.crd.hot{border-color:var(--ls-medium-purple);background:linear-gradient(180deg,var(--ls-lime) 0%,#fff 52%)}
.crd.dark{background:linear-gradient(160deg,var(--ls-dark-purple),var(--ls-strong-purple));border:none}
.crd.dark .k{color:var(--ls-lime-deep)} .crd.dark b{color:#fff} .crd.dark span{color:rgba(255,255,255,.82)}

/* ---------- maturity curve: six columns + extra credit ---------- */
.mlevels.six{grid-template-columns:repeat(6,1fr)}
.mlv.xc{border-color:#F0C08A;background:linear-gradient(180deg,#FFF3E4 0%,#fff 46%);border-style:dashed}
.mlv.xc .lv{color:#B8791F}
.mlv.xc .ceil{color:#B8791F;border-top-color:#F0DCC2}

/* ---------- donut ---------- */
.donut{display:grid;grid-template-columns:400px 1fr;gap:38px;flex:1;min-height:0;align-items:center}
.donut .dchart{position:relative;display:flex;align-items:center;justify-content:center}
.donut .dchart svg{width:380px;height:380px;overflow:visible}
.donut .dctr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.donut .dctr b{font-size:52px;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--ls-dark-purple)}
.donut .dctr span{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ls-dark-gray);margin-top:7px}
.dlegend{display:flex;flex-direction:column;gap:13px}
.dleg{display:grid;grid-template-columns:82px 1fr;gap:20px;align-items:center;background:#fff;
  border:1px solid var(--ls-light-gray);border-radius:14px;padding:19px 22px;box-shadow:var(--shadow)}
.dleg .pc{font-size:37px;font-weight:800;letter-spacing:-.04em;line-height:1;text-align:right}
.dleg b{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--ls-dark-purple);line-height:1.15}
.dleg span{display:block;font-size:12.4px;line-height:1.45;color:var(--ls-dark-gray);margin-top:5px;font-weight:500}
.dleg.a{border-color:var(--ls-medium-purple)} .dleg.a .pc{color:var(--ls-strong-purple)}
.dleg.b .pc{color:#A98CB4}
.dleg.c .pc{color:#7FBF3F}

/* ---------- hub & spoke ---------- */
.hub{position:relative;flex:1;min-height:0;display:grid;
  grid-template-columns:1fr 236px 1fr;grid-template-rows:1fr 1fr;gap:16px 26px}
.hub .wire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.spoke{position:relative;background:#fff;border:1px solid var(--ls-light-gray);border-radius:14px;
  box-shadow:var(--shadow);padding:13px 16px;display:flex;flex-direction:column;min-height:0}
.spoke h5{margin:0 0 8px;font-size:13.5px;font-weight:800;color:var(--ls-dark-purple);letter-spacing:-.015em;
  display:flex;align-items:center;gap:8px}
.spoke h5 i{width:9px;height:9px;border-radius:3px;background:var(--ls-strong-purple);font-style:normal;flex:0 0 auto}
.spoke.s2 h5 i{background:#A98CB4} .spoke.s3 h5 i{background:#7FBF3F} .spoke.s4 h5 i{background:var(--ls-dark-purple)}
.spoke .dchips{gap:5px}
.spoke .own{margin-top:auto;padding-top:9px;font-size:10.6px;line-height:1.4;color:var(--ls-dark-gray);
  border-top:1px dashed #E2D7E4;font-weight:600}
.spoke .own b{color:var(--ls-dark-purple);font-weight:800}
.hubctr{position:relative;grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;border-radius:50%;aspect-ratio:1;
  align-self:center;justify-self:center;width:236px;padding:26px;
  background:linear-gradient(150deg,var(--ls-dark-purple),var(--ls-strong-purple));color:#fff;
  box-shadow:0 12px 40px rgba(48,25,52,.28)}
.hubctr b{font-size:23px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.hubctr span{font-size:9.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ls-lime-deep);margin-bottom:8px}
.hubctr p{margin:9px 0 0;font-size:11.4px;line-height:1.42;color:rgba(255,255,255,.8);font-weight:500}

/* ---------- grouped agent catalog ---------- */
.aggroups{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;flex:1;min-height:0}
.agcol{display:flex;flex-direction:column;gap:8px;min-height:0}
.agcol > h5{margin:0;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
  color:#fff;background:var(--ls-strong-purple);border-radius:8px;padding:7px 11px;display:flex;
  align-items:center;justify-content:space-between;gap:8px}
.agcol > h5 em{font-style:normal;font-size:9.5px;opacity:.72;letter-spacing:.06em}
.agcol.g2 > h5{background:#8A3FAF} .agcol.g3 > h5{background:#4E7A2C} .agcol.g4 > h5{background:var(--ls-dark-purple)}
.agcard{background:#fff;border:1px solid var(--ls-light-gray);border-radius:10px;padding:9px 11px;
  box-shadow:var(--shadow);display:flex;flex-direction:column;gap:5px;flex:1;min-height:0}
.agcard .top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
.agcard h6{margin:0;font-size:11.6px;font-weight:800;color:var(--ls-dark-purple);line-height:1.22;letter-spacing:-.01em}
.agcard p{margin:0;font-size:10.2px;line-height:1.35;color:var(--ls-dark-gray)}
.agcard .pills{display:flex;gap:4px;flex-wrap:wrap;margin-top:auto}
.agcard .live{font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#3E8E5A;
  background:#E9F6ED;border-radius:100px;padding:2px 6px;white-space:nowrap;flex:0 0 auto}

/* ---------- simplified role blocks ---------- */
.roleblocks{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;flex:1;min-height:0}
.rb{background:#fff;border:1px solid var(--ls-light-gray);border-radius:16px;box-shadow:var(--shadow);
  padding:20px 18px;display:flex;flex-direction:column;min-height:0}
.rb .rn{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ls-strong-purple)}
.rb h4{margin:9px 0 0;font-size:21px;font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--ls-dark-purple)}
.rb .owns{margin:13px 0 0;font-size:12.6px;line-height:1.45;color:var(--ls-dark-gray);font-weight:500}
.rb .owns b{color:var(--ls-dark-purple);font-weight:800}
.rb .must{margin:14px 0 0;padding-top:13px;border-top:1px dashed #E2D7E4;font-size:11.6px;line-height:1.42;
  color:var(--ls-dark-gray);font-weight:500}
.rb .must em{font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:9.5px;
  color:var(--ls-strong-purple);display:block;margin-bottom:4px}
.rb .src{margin-top:auto;padding-top:13px}
.rb .src span{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  padding:5px 10px;border-radius:100px;background:var(--ls-purple-soft);color:var(--ls-strong-purple)}
.rb.hire{border-color:var(--ls-medium-purple);background:linear-gradient(180deg,var(--ls-lime) 0%,#fff 34%)}
.rb.hire .src span{background:var(--ls-lime-deep);color:#3D5C1D}

/* ---------- single-panel giveaway ---------- */
.give.one{grid-template-columns:1fr 300px}
.give.one .cta{margin-top:auto}
.gres{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 0}
.gres .r{background:#fff;border:1px solid var(--claude-line);border-radius:11px;padding:11px 13px}
.gres .r b{display:block;font-size:12.6px;font-weight:800;color:var(--ls-dark-purple);line-height:1.2;
  display:flex;align-items:center;gap:7px}
.gres .r b i{width:19px;height:19px;border-radius:6px;background:var(--claude);color:#fff;font-style:normal;
  font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.gres .r span{display:block;font-size:10.8px;line-height:1.42;color:var(--ls-dark-gray);margin-top:6px}
.qbig{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  background:#fff;border:1.5px solid var(--claude-line);border-radius:16px;padding:22px 20px;
  box-shadow:var(--shadow);min-height:0}
.qbig .qr{border:none;padding:0}
.qbig .qr svg{width:216px;height:216px}
.qbig .qcap{text-align:center}
.qbig .qcap b{display:block;font-size:14px;font-weight:800;color:var(--ls-dark-purple);letter-spacing:-.015em}
.qbig .qcap span{display:block;font-size:12px;font-weight:800;color:var(--claude-ink);margin-top:5px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.qbig .qcap em{display:block;font-style:normal;font-size:10.8px;color:var(--ls-dark-gray);margin-top:8px;
  line-height:1.42;font-weight:600}

/* six-column maturity row is tighter than the five-column original */
.mlevels.six .mlv{padding:9px 11px;gap:3px}
.mlevels.six .mlv b{font-size:12.2px}
.mlevels.six .mlv p{font-size:9.9px;line-height:1.35}
.mlevels.six .mlv .tell{font-size:9.5px;line-height:1.32;padding-top:5px}
.mlevels.six .mlv .ceil{font-size:9.7px;line-height:1.3;padding-top:6px}
/* four grouped agent columns run five cards deep */
.agcard p{font-size:10px;line-height:1.33}

/* ---------- print: one slide per page, for "Save as PDF" ---------- */
@page{size:1280px 720px;margin:0}
@media print{
  html,body{height:auto;overflow:visible;background:#fff}
  #bar,#nav,#notes,.conf{display:none!important}
  #deck{position:static;display:block;inset:auto}
  #stage{transform:none!important;width:1280px;height:auto;overflow:visible;
    box-shadow:none;border-radius:0;background:none}
  .slide{display:flex!important;position:relative;inset:auto;width:1280px;height:720px;
    animation:none!important;break-after:page;page-break-after:always;
    background-color:var(--ls-off-white)}
  .slide.cover,.slide.trans{background:linear-gradient(150deg,var(--ls-dark-purple),var(--ls-strong-purple))}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ---------- the relay split (slide 5) ---------- */
.relay{display:flex;gap:6px;height:60px;margin-top:16px;flex:0 0 auto}
.relay .leg{border-radius:12px;padding:0 20px;display:flex;flex-direction:column;
  justify-content:center;overflow:hidden;min-width:0}
.relay .leg b{font-size:14.5px;font-weight:800;letter-spacing:-.02em;line-height:1.15;white-space:nowrap}
.relay .leg span{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
  margin-top:5px;white-space:nowrap}
.relay .l1{flex:0 0 232px;background:var(--ls-lime);color:#41631F}
.relay .l1 span{color:#5E7A3C}
.relay .l2{flex:1;background:linear-gradient(135deg,var(--ls-dark-purple),var(--ls-strong-purple));color:#fff}
.relay .l2 span{color:var(--ls-lime-deep)}

/* ---------- agenda slide (2) ---------- */
.agenda{display:flex;flex-direction:column;gap:9px;flex:1;min-height:0}
.arow{display:grid;grid-template-columns:46px 1fr;gap:18px;align-items:center;flex:1;min-height:0;
  background:#fff;border:1px solid var(--ls-light-gray);border-radius:14px;padding:12px 18px;
  box-shadow:var(--shadow)}
.arow .an{width:46px;height:46px;border-radius:13px;background:var(--ls-purple-soft);
  color:var(--ls-strong-purple);font-size:15px;font-weight:800;letter-spacing:-.01em;
  display:flex;align-items:center;justify-content:center}
.arow b{display:block;font-size:19px;font-weight:800;letter-spacing:-.025em;
  color:var(--ls-dark-purple);line-height:1.15}
.arow span{display:block;font-size:13px;line-height:1.45;color:var(--ls-dark-gray);margin-top:3px}
.arow span em{font-style:normal;font-weight:800;color:var(--ls-strong-purple)}
.arow.key{border-color:var(--ls-medium-purple);background:linear-gradient(100deg,var(--ls-lime) 0%,#fff 34%)}
.arow.key .an{background:var(--ls-lime-deep);color:#3D5C1D}

/* the giveaway, flagged up front in Claude orange so it matches the last slide */
.gband{display:grid;grid-template-columns:48px 1fr;gap:18px;align-items:center;margin-top:13px;
  flex:0 0 auto;background:linear-gradient(120deg,var(--claude-tint) 0%,#fff 58%);
  border:1.5px solid var(--claude-line);border-radius:14px;padding:14px 18px}
.gband .gi{width:48px;height:48px;border-radius:13px;background:var(--claude);color:#fff;
  font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center}
.gband b{display:block;font-size:18px;font-weight:800;letter-spacing:-.025em;color:var(--ls-dark-purple);
  line-height:1.15}
.gband p{margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--ls-dark-gray)}
.gband p b{display:inline;font-size:inherit;letter-spacing:0}
.gtags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.gtag{font-size:10.5px;font-weight:800;letter-spacing:.05em;background:#fff;
  border:1px solid var(--claude-line);color:var(--claude-ink);padding:4px 11px;border-radius:100px}

/* ---------- the fifth giveaway: the diagnostic ---------- */
/* Deliberately NOT Claude orange. The other four are downloads; this one is a
   conversation, and the colour change is what says so before anyone reads it. */
.gtag.hot{background:var(--ls-lime);border-color:var(--ls-medium-purple);color:#3D5C1D}
.gdiag{margin-top:10px;display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;
  background:linear-gradient(115deg,var(--ls-lime) 0%,#fff 54%);
  border:1.5px solid var(--ls-medium-purple);border-radius:12px;padding:12px 15px}
.gdiag .gn{width:36px;height:36px;border-radius:11px;background:var(--ls-strong-purple);color:#fff;
  font-size:13.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.gdiag .lab{font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ls-strong-purple);margin-bottom:4px}
.gdiag b{display:block;font-size:14.5px;font-weight:800;color:var(--ls-dark-purple);line-height:1.2;
  letter-spacing:-.015em}
.gdiag span{display:block;font-size:10.9px;line-height:1.45;color:var(--ls-dark-gray);margin-top:5px}
.gdiag span b{display:inline;font-size:inherit;letter-spacing:0}
