:root {
  --purple: #820ad1;
  --purple-deep: #4c0677;
  --purple-bright: #a942e8;
  --lilac: #e9d7f5;
  --ink: #111111;
  --muted: #67616a;
  --paper: #f7f5f2;
  --white: #ffffff;
  --line: rgba(17, 17, 17, 0.14);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-fluid: cubic-bezier(0.16, 1, 0.3, 1);
  --parallax-x: 0;
  --parallax-y: 0;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #0d0d0d;
  color: var(--ink);
  font-family: Inter, "Segoe UI", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a { color: inherit; }

.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.nu-logo { display: block; fill: currentColor; }

.skip-link {
  position: fixed;
  left: 16px;
  top: -80px;
  z-index: 1000;
  padding: 12px 16px;
  border-radius: 8px;
  background: #fff;
  color: #111;
  transition: top .2s;
}
.skip-link:focus { top: 16px; }

.deck {
  position: relative;
  width: 100vw;
  height: 100vh;
  min-height: 560px;
  overflow: hidden;
  background: var(--paper);
}

.topbar {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  right: 0;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(24px, 3.6vw, 60px);
  color: var(--ink);
  transition: color .45s var(--ease);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.brand-mark {
  width: 38px;
  height: 22px;
  overflow: visible;
  color: var(--purple);
}
.brand-label {
  padding-left: 12px;
  border-left: 1px solid currentColor;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
}
.topbar-actions { display: flex; align-items: center; gap: 8px; }
.text-button, .icon-button {
  height: 38px;
  border: 1px solid rgba(17,17,17,.18);
  background: rgba(255,255,255,.18);
  color: inherit;
  backdrop-filter: blur(12px);
  cursor: pointer;
  transition: transform .2s, background .2s, border-color .2s;
}
.text-button:hover, .icon-button:hover { transform: translateY(-1px); background: rgba(255,255,255,.4); }
.text-button { border-radius: 999px; padding: 0 14px; font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.text-button .icon { color: var(--purple); margin-right: 5px; }
.icon-button { width: 38px; display: grid; place-items: center; border-radius: 50%; }
.icon-button svg, .slide-nav svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.chapter-rail {
  position: fixed;
  z-index: 40;
  left: clamp(18px, 2vw, 34px);
  top: 50%;
  width: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  transform: translateY(-50%);
  color: var(--ink);
  transition: color .45s var(--ease);
}
.chapter-label {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.rail-line { position: relative; width: 1px; height: 86px; background: currentColor; opacity: .25; overflow: hidden; }
.rail-line span { position: absolute; left: 0; bottom: 0; width: 1px; height: 0; background: currentColor; opacity: 1; transition: height .6s var(--ease); }

.slides { position: relative; width: 100%; height: 100%; }
.slide {
  position: absolute;
  inset: 0;
  visibility: hidden;
  opacity: 0;
  transform: translate3d(6%, 0, 0) scale(.988);
  filter: blur(7px);
  overflow: hidden;
  background: var(--paper);
  transition: opacity .58s var(--ease-fluid), transform .78s var(--ease-fluid), filter .58s var(--ease-fluid), visibility 0s .78s;
  will-change: transform, opacity, filter;
}
.slide.is-active {
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  transition-delay: 0s;
  z-index: 2;
}
.slide.was-active { transform: translate3d(-4%, 0, 0) scale(.992); filter: blur(5px); }
.deck[data-direction="backward"] .slide:not(.is-active):not(.was-active) { transform: translate3d(-6%, 0, 0) scale(.988); }
.deck[data-direction="backward"] .slide.was-active { transform: translate3d(4%, 0, 0) scale(.992); }
.slide:not(.slide-cover)::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: -12vw;
  top: -18vw;
  width: 40vw;
  height: 40vw;
  border-radius: 42% 58% 64% 36% / 48% 37% 63% 52%;
  background: radial-gradient(circle at 45% 50%, rgba(130,10,209,.12), transparent 66%);
  filter: blur(10px);
  pointer-events: none;
  animation: ambient-shape 14s ease-in-out infinite alternate;
}
.slide::after {
  content: "";
  position: absolute;
  z-index: 20;
  inset: -20%;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(110deg, transparent 38%, rgba(255,255,255,.16) 49%, transparent 60%);
  transform: translate3d(-58%,0,0);
}
.slide.is-active::after { animation: slide-sheen 1.05s .08s var(--ease-fluid) both; }
@keyframes ambient-shape {
  50% { transform: translate3d(-5vw, 4vw, 0) rotate(18deg) scale(1.08); border-radius: 58% 42% 38% 62% / 38% 58% 42% 62%; }
  100% { transform: translate3d(2vw, 7vw, 0) rotate(-10deg) scale(.94); }
}
@keyframes slide-sheen {
  0% { opacity: 0; transform: translate3d(-58%,0,0); }
  18% { opacity: .7; }
  100% { opacity: 0; transform: translate3d(58%,0,0); }
}
.slide-inner {
  position: relative;
  width: min(1180px, calc(100% - clamp(120px, 13vw, 210px)));
  height: 100%;
  margin: 0 auto;
  padding: 100px 0 84px;
}

.eyebrow {
  margin: 0 0 22px;
  font-size: clamp(9px, .72vw, 12px);
  line-height: 1;
  font-weight: 850;
  letter-spacing: .21em;
  text-transform: uppercase;
  color: var(--purple);
}
.slide h2 {
  margin: 0;
  font-size: clamp(40px, 4.35vw, 72px);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 760;
}
.slide h2 em { color: var(--purple); font-style: normal; }
.lead {
  max-width: 670px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: clamp(15px, 1.25vw, 20px);
  line-height: 1.5;
}
.slide-heading.compact { max-width: 520px; }
.row-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.row-heading > div { max-width: 800px; }

.slide.is-active .slide-heading,
.slide.is-active .reveal,
.slide.is-active .equation-card,
.slide.is-active .timeline-item,
.slide.is-active .kpi,
.slide.is-active .founder-card,
.slide.is-active .lessons-list li,
.slide.is-active .source-list article,
.slide.is-active .pain-stack article,
.slide.is-active .country-cards article,
.slide.is-active .moat-stack article,
.slide.is-active .risk-matrix article,
.slide.is-active .legend article,
.slide.is-active .flywheel-step {
  animation: enter .72s var(--ease) both;
}
.slide.is-active .reveal:nth-child(2) { animation-delay: .08s; }
.slide.is-active .reveal:nth-child(3) { animation-delay: .16s; }
.slide.is-active .reveal:nth-child(4) { animation-delay: .24s; }
.slide.is-active .equation-card:nth-of-type(2),
.slide.is-active .timeline-item:nth-child(2),
.slide.is-active .kpi:nth-child(2),
.slide.is-active .founder-card:nth-child(2),
.slide.is-active .lessons-list li:nth-child(2),
.slide.is-active .source-list article:nth-child(2) { animation-delay: .08s; }
.slide.is-active .equation-card:nth-of-type(3),
.slide.is-active .timeline-item:nth-child(3),
.slide.is-active .kpi:nth-child(3),
.slide.is-active .founder-card:nth-child(3),
.slide.is-active .lessons-list li:nth-child(3),
.slide.is-active .source-list article:nth-child(3) { animation-delay: .16s; }
.slide.is-active .timeline-item:nth-child(4),
.slide.is-active .kpi:nth-child(4),
.slide.is-active .lessons-list li:nth-child(4),
.slide.is-active .source-list article:nth-child(4) { animation-delay: .24s; }
.slide.is-active .kpi:nth-child(5), .slide.is-active .lessons-list li:nth-child(5) { animation-delay: .32s; }
.slide.is-active .pain-stack article:nth-child(2),
.slide.is-active .country-cards article:nth-child(2),
.slide.is-active .moat-stack article:nth-child(2),
.slide.is-active .risk-matrix article:nth-child(2),
.slide.is-active .legend article:nth-child(2),
.slide.is-active .flywheel-step:nth-of-type(2) { animation-delay: .1s; }
.slide.is-active .pain-stack article:nth-child(3),
.slide.is-active .country-cards article:nth-child(3),
.slide.is-active .moat-stack article:nth-child(3),
.slide.is-active .risk-matrix article:nth-child(3),
.slide.is-active .legend article:nth-child(3),
.slide.is-active .flywheel-step:nth-of-type(3) { animation-delay: .18s; }
.slide.is-active .moat-stack article:nth-child(4),
.slide.is-active .risk-matrix article:nth-child(4),
.slide.is-active .flywheel-step:nth-of-type(4) { animation-delay: .26s; }
@keyframes enter { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

.motion-enhanced .slide.is-active :is(
  .slide-heading, .reveal, .equation-card, .timeline-item, .kpi,
  .founder-card, .lessons-list li, .source-list article,
  .pain-stack article, .country-cards article, .moat-stack article,
  .risk-matrix article, .legend article, .flywheel-step
) { animation: none; }

/* Cover */
.slide-cover { background: var(--purple); color: #fff; }
.cover-grid {
  position: absolute; inset: 0;
  opacity: .12;
  background-image: linear-gradient(rgba(255,255,255,.24) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.24) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
  animation: grid-drift 18s linear infinite;
}
.cover-glow { position: absolute; width: 56vw; height: 56vw; right: -18vw; top: -18vw; border-radius: 50%; background: rgba(232,192,255,.26); filter: blur(20px); }
.cover-content { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.slide-cover .eyebrow { color: rgba(255,255,255,.7); }
.cover-title { position: relative; z-index: 2; margin: 0; font-size: clamp(70px, 8.1vw, 138px); line-height: .83; letter-spacing: -.07em; font-weight: 800; }
.cover-title span { color: #dcb6f3; }
.cover-subtitle { position: relative; z-index: 2; max-width: 610px; margin: 34px 0 0; font-size: clamp(16px, 1.35vw, 22px); line-height: 1.5; color: rgba(255,255,255,.84); }
.cover-meta { position: absolute; left: 0; bottom: 92px; display: flex; align-items: center; gap: 14px; font-size: 10px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.meta-dot { width: 4px; height: 4px; border-radius: 50%; background: #fff; opacity: .6; }
.cover-qr { position: absolute; z-index: 8; right: clamp(82px, 9vw, 140px); bottom: 82px; display: flex; align-items: center; gap: 13px; padding: 9px 15px 9px 9px; border: 1px solid rgba(255,255,255,.34); border-radius: 17px; background: rgba(255,255,255,.94); color: #2f003d; text-decoration: none; box-shadow: 0 22px 55px rgba(29,0,42,.26); backdrop-filter: blur(14px); transition: transform .4s var(--ease-fluid), box-shadow .4s var(--ease-fluid); }
.cover-qr:hover, .cover-qr:focus-visible { transform: translateY(-5px) rotate(-1deg); box-shadow: 0 28px 65px rgba(29,0,42,.36); }
.cover-qr-code { width: 72px; height: 72px; padding: 3px; overflow: hidden; border-radius: 10px; background: #fff; }
.cover-qr-code img { display: block; width: 100%; height: 100%; }
.cover-qr-copy { display: flex; flex-direction: column; gap: 5px; }
.cover-qr-copy strong { max-width: 145px; font-size: 9px; line-height: 1.25; letter-spacing: .14em; }
.cover-qr-copy small { color: #6f5b75; font-size: 9px; white-space: nowrap; }
.slide-cover.is-active .cover-qr { animation: qr-enter .8s .72s var(--ease) both, qr-pulse 3.8s 1.7s ease-in-out infinite; }
@keyframes qr-enter { from { opacity: 0; transform: translateY(18px) scale(.94); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes qr-pulse { 0%, 100% { box-shadow: 0 22px 55px rgba(29,0,42,.26); } 50% { box-shadow: 0 22px 55px rgba(29,0,42,.26), 0 0 0 7px rgba(255,255,255,.11); } }
.card-stage { position: absolute; right: 5vw; top: 50%; width: min(34vw, 540px); aspect-ratio: 1; transform: translateY(-50%); translate: calc(var(--parallax-x) * 12px) calc(var(--parallax-y) * 12px); perspective: 1400px; transition: translate .7s var(--ease-fluid); }
.purple-card { position: absolute; z-index: 3; left: 11%; top: 22%; width: 74%; aspect-ratio: 1.58; padding: 8%; border-radius: 8%; background: linear-gradient(135deg, #a743e3 0%, #651096 66%, #460368 100%); box-shadow: 0 60px 80px rgba(29,0,42,.45), inset 0 1px rgba(255,255,255,.35); transform: rotate(-8deg) rotateY(-14deg) rotateX(10deg); animation: float-card 6s ease-in-out infinite; }
.card-nu { width: clamp(44px, 4.8vw, 72px); height: auto; color: #fff; }
.card-chip { position: absolute; left: 9%; top: 54%; width: 13%; aspect-ratio: 1.25; border-radius: 5px; background: linear-gradient(135deg, #f5d987, #ad7f1e); opacity: .82; }
.card-name { position: absolute; left: 9%; bottom: 10%; font-size: clamp(9px, .75vw, 13px); letter-spacing: .08em; text-transform: uppercase; }
.orbit { position: absolute; inset: 5%; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; transform: rotate(-28deg) scaleY(.46); }
.orbit-a::after { content: ""; position: absolute; left: 12%; top: 18%; width: 10px; height: 10px; border-radius: 50%; background: #fff; box-shadow: 0 0 24px #fff; }
.orbit-b { inset: 14%; transform: rotate(28deg) scaleY(.55); opacity: .55; }
@keyframes float-card { 50% { transform: translateY(-12px) rotate(-5deg) rotateY(-10deg) rotateX(8deg); } }
@keyframes grid-drift { to { background-position: 72px 72px; } }
.slide-cover.is-active .card-stage { animation: stage-enter 1s .18s var(--ease) both; }
@keyframes stage-enter { from { opacity: 0; transform: translateY(-46%) scale(.9); } to { opacity: 1; transform: translateY(-50%) scale(1); } }

/* Thesis */
.split-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(48px, 7vw, 110px); align-items: center; }
.equation { display: grid; grid-template-columns: 1fr; gap: 11px; }
.equation-card { position: relative; padding: 22px 28px 22px 76px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.68); }
.equation-card h3 { margin: 0 0 5px; font-size: 18px; }
.equation-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.45; }
.equation-number { position: absolute; left: 24px; top: 24px; font-size: 11px; font-weight: 850; color: var(--purple); }
.accent-card { background: var(--ink); color: #fff; border-color: var(--ink); }
.accent-card p { color: rgba(255,255,255,.65); }
.accent-card .equation-number { color: #c474f1; }
.equation-operator { height: 14px; display: grid; place-items: center; font-size: 18px; line-height: 1; color: var(--purple); font-weight: 500; }

/* Problem */
.slide-dark { background: #121212; color: #fff; }
.light-heading h2, .slide-dark h2 { color: #fff; }
.slide-dark h2 em { color: #c86ff5; }
.problem-layout { display: flex; flex-direction: column; justify-content: center; }
.problem-visual { margin-top: clamp(28px, 4vw, 60px); display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(26px, 4vw, 60px); }
.concentration-card { padding: clamp(24px, 3vw, 44px); border: 1px solid rgba(255,255,255,.15); border-radius: 20px; background: linear-gradient(145deg, rgba(130,10,209,.32), rgba(255,255,255,.03)); }
.metric-label { font-size: 10px; font-weight: 800; letter-spacing: .17em; color: rgba(255,255,255,.6); }
.metric-row { margin-top: 16px; display: flex; align-items: flex-end; justify-content: space-between; }
.metric-row strong { font-size: clamp(64px, 7vw, 110px); line-height: .85; letter-spacing: -.07em; }
.metric-row span { font-size: 12px; color: rgba(255,255,255,.6); }
.bar-chart { height: 8px; margin: 30px 0 18px; background: rgba(255,255,255,.12); border-radius: 99px; overflow: hidden; }
.bar-fill { display: block; width: var(--bar); height: 100%; background: linear-gradient(90deg, #8f1bdd, #d481ff); border-radius: inherit; }
.slide.is-active .bar-fill { transform-origin: left center; animation: bar-grow 1.25s .28s var(--ease) both; }
@keyframes bar-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.concentration-card small { font-size: 10px; color: rgba(255,255,255,.45); }
.concentration-card small a { color: #d993ff; text-decoration: none; }
.pain-stack { display: grid; gap: 12px; }
.pain-stack article { display: flex; align-items: center; gap: 18px; padding: 15px 20px; border-bottom: 1px solid rgba(255,255,255,.13); }
.pain-icon { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: rgba(130,10,209,.25); color: #d98cff; font-size: 20px; }
.pain-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.pain-stack h3 { margin: 0 0 3px; font-size: 17px; }
.pain-stack p { margin: 0; font-size: 13px; color: rgba(255,255,255,.55); }
.insight-line { margin: 26px 0 0; font-size: 13px; color: rgba(255,255,255,.68); }
.insight-line span { margin-right: 12px; padding: 6px 8px; border-radius: 4px; background: var(--purple); color: white; font-size: 9px; font-weight: 850; letter-spacing: .13em; }

/* Founders */
.origin-layout { display: grid; grid-template-columns: .8fr 1.2fr; grid-template-rows: 1fr auto; gap: 38px 76px; align-items: center; }
.founder-cards { display: grid; gap: 12px; }
.founder-card { display: flex; align-items: center; gap: 18px; min-height: 106px; padding: 11px 20px 11px 11px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.58); overflow: hidden; }
.founder-photo-wrap { position: relative; width: 124px; height: 82px; flex: 0 0 auto; overflow: hidden; border-radius: 11px; background: #ddd5e1; }
.founder-photo-wrap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(145deg, transparent 45%, rgba(130,10,209,.2)); pointer-events: none; }
.founder-photo { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.86) contrast(1.04); }
.founder-david { object-position: 43% 26%; }
.founder-cristina { object-position: 50% 24%; }
.founder-edward { object-position: 49% 34%; }
.founder-card h3 { margin: 0 0 4px; font-size: 18px; }
.founder-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.35; }
.founder-purple { background: var(--purple); color: #fff; border-color: var(--purple); transform: translateX(-18px); box-shadow: 0 18px 50px rgba(130,10,209,.18); }
.founder-purple .founder-photo-wrap { box-shadow: 0 0 0 1px rgba(255,255,255,.18); }
.founder-purple p { color: rgba(255,255,255,.65); }
blockquote { grid-column: 1 / -1; margin: 0; padding: 20px 0 0 54px; border-top: 1px solid var(--line); position: relative; }
blockquote .quote-mark { position: absolute; left: 0; top: 12px; color: var(--purple); font-size: 56px; font-family: Georgia, serif; }
blockquote p { margin: 0 0 8px; max-width: 900px; font-size: clamp(18px, 1.65vw, 26px); line-height: 1.35; letter-spacing: -.02em; }
blockquote cite { font-style: normal; color: var(--muted); font-size: 10px; }
blockquote a { color: var(--purple); text-decoration: none; }

/* Timeline */
.slide-timeline { background: #ebe7ee; }
.slide-timeline .slide-inner { display: flex; flex-direction: column; justify-content: center; }
.timeline-intro { flex: 0 0 auto; margin: 0 0 6px; padding-left: 22px; border-left: 2px solid var(--purple); color: var(--muted); font-size: 12px; line-height: 1.55; }
.timeline { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: clamp(48px, 7vh, 84px); }
.timeline::before { content: ""; position: absolute; left: 0; right: 0; top: 59px; height: 1px; background: #c3bbc8; }
.timeline-item { position: relative; min-height: 245px; padding: 0 28px 28px 0; }
.timeline-year { font-size: 12px; font-weight: 850; letter-spacing: .08em; color: var(--purple); }
.timeline-node { position: relative; z-index: 2; width: 14px; height: 14px; margin: 27px 0 30px; border: 3px solid #ebe7ee; border-radius: 50%; background: var(--purple); box-shadow: 0 0 0 1px var(--purple); }
.timeline-item h3 { margin: 0 0 12px; font-size: 23px; }
.timeline-item p { max-width: 220px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.timeline-item.highlight { margin-top: -24px; padding: 24px; border-radius: 18px; background: var(--purple); color: #fff; box-shadow: 0 20px 48px rgba(130,10,209,.22); }
.timeline-item.highlight .timeline-year { color: #e5baf9; }
.timeline-item.highlight .timeline-node { border-color: var(--purple); background: #fff; box-shadow: 0 0 0 1px #fff; }
.timeline-item.highlight p { color: rgba(255,255,255,.68); }
.timeline-source { margin: 24px 0 0; font-size: 10px; color: var(--muted); }
.timeline-source a { color: var(--purple); text-decoration: none; }

/* Flywheel */
.flywheel-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: center; }
.flywheel { position: relative; width: min(46vw, 570px); aspect-ratio: 1; justify-self: end; translate: calc(var(--parallax-x) * -7px) calc(var(--parallax-y) * -7px); transition: translate .8s var(--ease-fluid); }
.flywheel-center { position: absolute; z-index: 4; inset: 37%; display: grid; place-items: center; align-content: center; border-radius: 50%; background: var(--ink); color: white; box-shadow: 0 20px 50px rgba(0,0,0,.18); }
.flywheel-logo { width: 54px; height: auto; color: #fff; }
.flywheel-center small { margin-top: 8px; font-size: 7px; letter-spacing: .18em; color: #c77bf0; }
.flywheel-ring { position: absolute; inset: 10%; width: 80%; height: 80%; overflow: visible; }
.flywheel-ring circle { fill: none; stroke: #d3cbd7; stroke-width: 1.2; stroke-dasharray: 7 5; }
.flywheel-ring path { fill: var(--purple); transform-origin: center; }
.slide.is-active .flywheel-ring { animation: ring-spin 28s linear infinite; transform-origin: center; }
@keyframes ring-spin { to { transform: rotate(360deg); } }
.flywheel-step { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.88); box-shadow: 0 10px 28px rgba(20,10,24,.07); }
.flywheel-step strong { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--lilac); color: var(--purple); font-size: 10px; }
.flywheel-step span { font-size: 11px; line-height: 1.25; font-weight: 720; }
.step-1 { left: 40%; top: 3%; }
.step-2 { right: 1%; top: 31%; }
.step-3 { right: 10%; bottom: 8%; }
.step-4 { left: 6%; bottom: 9%; }
.step-5 { left: 0; top: 29%; }

/* Revenue */
.slide-purple { color: #fff; background: var(--purple); }
.slide-purple .eyebrow { color: #e2b6f8; }
.slide-purple .lead { color: rgba(255,255,255,.65); }
.revenue-layout { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 70px; }
.revenue-chart { display: grid; grid-template-columns: 1fr .6fr; gap: 34px; align-items: center; }
.donut { position: relative; width: min(30vw, 390px); aspect-ratio: 1; border-radius: 50%; background: conic-gradient(#fff 0 calc(var(--credit)*1%), #c273ee calc(var(--credit)*1%) calc((var(--credit) + var(--float))*1%), #4b056f calc((var(--credit) + var(--float))*1%) 100%); box-shadow: 0 26px 80px rgba(32,0,48,.3); }
.slide.is-active .donut { animation: donut-reveal 1s .16s var(--ease) both; }
@keyframes donut-reveal { from { opacity: 0; transform: rotate(-34deg) scale(.72); clip-path: circle(0 at 50% 50%); } to { opacity: 1; transform: none; clip-path: circle(52% at 50% 50%); } }
.donut::after { content: ""; position: absolute; inset: 19%; border-radius: 50%; background: var(--purple); box-shadow: inset 0 0 0 1px rgba(255,255,255,.15); }
.donut-center { position: absolute; z-index: 2; inset: 25%; display: grid; place-items: center; align-content: center; text-align: center; }
.donut-center strong { font-size: clamp(26px, 2.4vw, 40px); letter-spacing: -.05em; }
.donut-center span { margin-top: 6px; font-size: 9px; line-height: 1.3; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.legend { display: grid; gap: 22px; }
.legend article { position: relative; padding-left: 20px; }
.legend-dot { position: absolute; left: 0; top: 7px; width: 8px; height: 8px; border-radius: 50%; }
.dot-credit { background: #fff; }
.dot-float { background: #c273ee; }
.dot-fees { background: #4b056f; }
.legend strong { display: block; font-size: 25px; }
.legend p { margin: 2px 0 0; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: rgba(255,255,255,.58); }
.chart-note { grid-column: 1 / -1; margin: 0; font-size: 10px; color: rgba(255,255,255,.52); }
.chart-note a { color: white; text-decoration: none; }

/* KPIs */
.scale-layout { display: flex; flex-direction: column; justify-content: center; }
.data-stamp { padding: 9px 13px; border: 1px solid var(--line); border-radius: 999px; font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.kpi-grid { display: grid; grid-template-columns: 1.12fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; margin-top: 40px; }
.kpi { position: relative; min-height: 138px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.58); }
.kpi strong { font-size: clamp(30px, 3vw, 50px); line-height: 1; letter-spacing: -.055em; }
.kpi p { margin: 9px 0 0; font-size: 13px; font-weight: 720; }
.kpi small { position: absolute; left: 24px; bottom: 22px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.kpi-hero { grid-row: 1 / 3; padding: 34px; background: var(--ink); color: white; }
.kpi-hero strong { display: block; margin-top: 64px; font-size: clamp(50px, 5.4vw, 88px); }
.kpi-hero p { font-size: 18px; }
.kpi-hero small { left: 34px; color: rgba(255,255,255,.5); }
.kpi-icon { position: absolute; right: 28px; top: 24px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--purple); font-size: 18px; }
.kpi-wide { display: flex; align-items: center; justify-content: space-between; grid-column: 2 / 4; }
.activity-bars { width: 48%; height: 48px; display: flex; align-items: flex-end; gap: 5px; }
.activity-bars i { flex: 1; height: 30%; border-radius: 3px 3px 0 0; background: #d8cddd; }
.activity-bars i:nth-child(2), .activity-bars i:nth-child(9) { height: 48%; }
.activity-bars i:nth-child(3), .activity-bars i:nth-child(8) { height: 62%; }
.activity-bars i:nth-child(4), .activity-bars i:nth-child(7) { height: 75%; background: #c17ae7; }
.activity-bars i:nth-child(5), .activity-bars i:nth-child(6) { height: 100%; background: var(--purple); }
.slide.is-active .activity-bars i { transform-origin: bottom; animation: activity-rise .7s var(--ease) both; }
.slide.is-active .activity-bars i:nth-child(2) { animation-delay: .04s; }
.slide.is-active .activity-bars i:nth-child(3) { animation-delay: .08s; }
.slide.is-active .activity-bars i:nth-child(4) { animation-delay: .12s; }
.slide.is-active .activity-bars i:nth-child(5) { animation-delay: .16s; }
.slide.is-active .activity-bars i:nth-child(6) { animation-delay: .20s; }
.slide.is-active .activity-bars i:nth-child(7) { animation-delay: .24s; }
.slide.is-active .activity-bars i:nth-child(8) { animation-delay: .28s; }
.slide.is-active .activity-bars i:nth-child(9) { animation-delay: .32s; }
.slide.is-active .activity-bars i:nth-child(10) { animation-delay: .36s; }
@keyframes activity-rise { from { opacity: 0; transform: scaleY(0); } to { opacity: 1; transform: scaleY(1); } }
.footnote { margin: 18px 0 0; color: var(--muted); font-size: 9px; }
.footnote a { color: var(--purple); text-decoration: none; }

/* Map */
.slide-map { background: #211126; color: #fff; }
.map-background { position: absolute; inset: 0; overflow: hidden; opacity: .16; }
.map-background svg { position: absolute; right: -2%; top: 8%; width: 67%; height: 86%; }
.map-background path { fill: none; stroke: #d493f5; stroke-width: 1.1; stroke-dasharray: 4 6; }
.slide.is-active .map-background path { animation: map-dash 18s linear infinite; }
@keyframes map-dash { to { stroke-dashoffset: -200; } }
.map-background { translate: calc(var(--parallax-x) * -9px) calc(var(--parallax-y) * -6px); transition: translate .9s var(--ease-fluid); }
.map-layout { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 70px; }
.slide-map .lead { color: rgba(255,255,255,.6); }
.country-cards { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.country-cards article { min-height: 250px; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; background: rgba(255,255,255,.06); backdrop-filter: blur(8px); }
.country-cards .country-accent { background: var(--purple); transform: translateY(-22px); box-shadow: 0 30px 50px rgba(0,0,0,.2); }
.flag-code { position: absolute; top: 22px; padding: 6px 8px; border-radius: 5px; background: rgba(255,255,255,.13); font-size: 9px; font-weight: 850; letter-spacing: .1em; }
.country-cards strong { font-size: clamp(28px, 3vw, 47px); letter-spacing: -.055em; white-space: nowrap; }
.country-cards p { margin: 6px 0 20px; font-size: 12px; }
.country-cards small { font-size: 8px; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.5); }
.map-note { grid-column: 2; margin: 8px 0 0; color: rgba(255,255,255,.38); font-size: 9px; }
.map-note a { color: #d993ff; text-decoration: none; }

/* Moat */
.moat-layout { display: grid; grid-template-columns: .72fr 1.28fr; grid-template-rows: 1fr auto; align-items: center; gap: 30px 80px; }
.moat-stack { display: grid; gap: 8px; }
.moat-stack article { display: grid; grid-template-columns: 40px 1fr 1.2fr; align-items: center; gap: 16px; padding: 16px 22px; margin-left: calc((var(--level) - 1) * 16px); border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.58); }
.moat-stack article:nth-child(4) { background: var(--purple); color: #fff; border-color: var(--purple); }
.moat-stack span { font-size: 9px; font-weight: 850; color: var(--purple); }
.moat-stack article:nth-child(4) span { color: #e1b4f7; }
.moat-stack h3 { margin: 0; font-size: 15px; }
.moat-stack p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
.moat-stack article:nth-child(4) p { color: rgba(255,255,255,.65); }
.moat-callout { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.moat-callout strong { color: var(--purple); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.moat-callout p { margin: 0; color: var(--muted); font-size: 13px; }

/* Purpose */
.slide-purpose { background: linear-gradient(135deg, #f7f4f8 0%, #eee8f1 100%); }
.purpose-layout { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: clamp(52px, 7vw, 110px); }
.purpose-board { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.purpose-card { min-height: 178px; padding: 26px; border: 1px solid rgba(17,17,17,.1); border-radius: 18px; background: rgba(255,255,255,.66); box-shadow: 0 22px 60px rgba(50,25,58,.06); }
.purpose-card > span { display: block; margin-bottom: 28px; color: var(--purple); font-size: 8px; font-weight: 850; letter-spacing: .14em; }
.purpose-card h3 { margin: 0; font-size: clamp(20px, 1.9vw, 30px); line-height: 1.08; letter-spacing: -.035em; }
.purpose-mission { color: #fff; background: linear-gradient(145deg, #9f32df, #650596); border-color: transparent; box-shadow: 0 28px 66px rgba(130,10,209,.22); }
.purpose-mission > span { color: #e7c2fa; }
.purpose-vision { transform: translateY(18px); }
.values-cloud { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; padding: 19px 20px; border: 1px solid rgba(17,17,17,.1); border-radius: 16px; background: rgba(255,255,255,.42); }
.values-cloud::before { content: "VALORES"; display: grid; place-items: center; padding-right: 12px; color: var(--purple); font-size: 8px; font-weight: 850; letter-spacing: .14em; }
.values-cloud span { padding: 9px 12px; border-radius: 999px; background: #fff; font-size: 10px; font-weight: 720; box-shadow: 0 5px 14px rgba(41,22,47,.06); }
.purpose-source { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.purpose-source a { color: var(--purple); text-decoration: none; }

/* Strategy */
.slide-strategy { background: linear-gradient(160deg, #f7f5f8 0%, #ece7ef 100%); }
.strategy-layout { display: flex; flex-direction: column; justify-content: center; }
.strategy-lanes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 34px; }
.strategy-lanes article { min-height: 190px; padding: 24px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.7); box-shadow: 0 18px 45px rgba(42,21,48,.05); }
.strategy-lanes article > span { color: var(--purple); font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.strategy-lanes h3 { margin: 35px 0 9px; font-size: 20px; letter-spacing: -.025em; }
.strategy-lanes p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.strategy-lanes small { display: block; margin-top: 20px; padding-top: 12px; border-top: 1px solid rgba(17,17,17,.09); color: var(--purple); font-size: 8px; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.strategy-lanes .strategy-accent { color: #fff; background: #171319; border-color: #171319; transform: translateY(-10px); box-shadow: 0 26px 62px rgba(18,10,21,.2); }
.strategy-lanes .strategy-accent p { color: rgba(255,255,255,.58); }
.strategy-lanes .strategy-accent small { color: #d993ff; border-color: rgba(255,255,255,.13); }
.strategy-proof { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.strategy-proof > div { padding: 16px 18px; border-right: 1px solid var(--line); }
.strategy-proof > div:last-child { border-right: 0; }
.strategy-proof strong { display: block; color: var(--purple); font-size: clamp(19px, 2vw, 30px); letter-spacing: -.04em; }
.strategy-proof span { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }

/* Products */
.slide-products { color: #fff; background: #110e12; }
.product-glow { position: absolute; inset: -20% 0 auto 34%; height: 84%; background: radial-gradient(circle, rgba(130,10,209,.34), transparent 62%); filter: blur(6px); }
.products-layout { display: flex; flex-direction: column; justify-content: center; }
.product-thesis { max-width: 260px; margin: 0; color: rgba(255,255,255,.52); font-size: 12px; line-height: 1.5; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin-top: 34px; }
.product-card { position: relative; min-height: 145px; padding: 21px; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.055); box-shadow: 0 18px 45px rgba(0,0,0,.15); }
.product-card::after { content: ""; position: absolute; width: 100px; height: 100px; right: -45px; top: -45px; border: 1px solid rgba(213,145,255,.18); border-radius: 50%; }
.product-card > span { color: #d993ff; font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.product-card h3 { margin: 28px 0 7px; font-size: 18px; }
.product-card p { margin: 0; color: rgba(255,255,255,.5); font-size: 10px; line-height: 1.4; }
.product-card i { position: absolute; right: 17px; bottom: 14px; color: rgba(255,255,255,.28); font-size: 7px; font-style: normal; font-weight: 850; letter-spacing: .13em; }
.product-hero { background: linear-gradient(145deg, #a334e2, #5f078d); border-color: transparent; transform: translateY(-7px); }
.product-hero > span, .product-hero p { color: rgba(255,255,255,.74); }
.product-premium { background: linear-gradient(145deg, rgba(211,147,245,.16), rgba(255,255,255,.05)); }
.product-note { margin: 15px 0 0; color: rgba(255,255,255,.34); font-size: 9px; }
.product-note a { color: #d993ff; text-decoration: none; }

/* Competition */
.slide-compare { background: #f3f0f4; }
.compare-layout { display: flex; flex-direction: column; justify-content: center; }
.compare-intro { max-width: 300px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.compare-table { margin-top: 34px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: rgba(255,255,255,.54); box-shadow: 0 24px 60px rgba(46,25,52,.07); }
.compare-row { display: grid; grid-template-columns: .55fr 1.15fr 1.2fr 1.6fr; align-items: center; min-height: 69px; border-bottom: 1px solid var(--line); }
.compare-row:last-child { border-bottom: 0; }
.compare-row > * { min-width: 0; padding: 0 20px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.compare-row > * + * { border-left: 1px solid var(--line); }
.compare-row strong { color: var(--ink); font-size: 16px; letter-spacing: -.02em; }
.compare-head { min-height: 38px; background: #171319; }
.compare-head span { color: rgba(255,255,255,.54); font-size: 7px; font-weight: 850; letter-spacing: .13em; }
.compare-nu { color: #fff; background: linear-gradient(90deg, #870fd1, #6a079d); }
.compare-nu strong, .compare-nu span { color: #fff; }
.compare-nu > * + * { border-color: rgba(255,255,255,.16); }
.compare-note { margin: 14px 0 0; color: var(--muted); font-size: 9px; }

/* ESG */
.slide-esg { background: linear-gradient(145deg, #eff1ed 0%, #eee9f1 100%); }
.esg-layout { display: flex; flex-direction: column; justify-content: center; }
.esg-seal { display: grid; place-items: center; width: 100px; aspect-ratio: 1; border: 1px solid rgba(17,17,17,.13); border-radius: 50%; color: var(--muted); font-size: 7px; line-height: 1.25; letter-spacing: .14em; text-align: center; }
.esg-seal b { color: var(--purple); font-size: 22px; letter-spacing: -.04em; }
.esg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
.esg-card { min-height: 288px; overflow: hidden; display: flex; flex-direction: column; border: 1px solid rgba(17,17,17,.1); border-radius: 18px; background: rgba(255,255,255,.72); box-shadow: 0 18px 45px rgba(40,30,40,.07); transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.esg-card:hover { transform: translateY(-5px); box-shadow: 0 25px 55px rgba(40,30,40,.12); }
.esg-visual { position: relative; height: 118px; flex: 0 0 118px; overflow: hidden; background: #171319; }
.esg-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 34%, rgba(16,12,18,.72)); pointer-events: none; }
.esg-visual img { width: 100%; height: 100%; display: block; object-fit: cover; transform: scale(1.025); filter: saturate(.88) contrast(1.04); transition: transform 1.1s var(--ease), filter .7s var(--ease); }
.slide-esg.is-active .esg-visual img { animation: esg-visual-in 1.15s var(--ease) both; }
.slide-esg.is-active .esg-card:nth-child(2) .esg-visual img { animation-delay: .09s; }
.slide-esg.is-active .esg-card:nth-child(3) .esg-visual img { animation-delay: .18s; }
@keyframes esg-visual-in { from { opacity: .35; transform: scale(1.14); filter: saturate(.45) contrast(.92) blur(3px); } to { opacity: 1; transform: scale(1.025); filter: saturate(.88) contrast(1.04) blur(0); } }
.slide.is-active .esg-card:hover .esg-visual img { transform: scale(1.09); filter: saturate(1.04) contrast(1.06); }
.esg-visual > span { position: absolute; z-index: 1; left: 17px; bottom: 13px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; background: rgba(17,19,18,.78); color: #fff; font-size: 20px; font-weight: 820; box-shadow: 0 8px 24px rgba(0,0,0,.24); backdrop-filter: blur(8px); }
.esg-s .esg-visual > span { background: rgba(130,10,209,.82); }
.esg-g .esg-visual > span { color: #171319; background: rgba(214,239,202,.88); }
.esg-copy { display: flex; flex: 1; flex-direction: column; padding: 17px 20px 18px; }
.esg-card h3 { margin: 0 0 8px; font-size: 20px; }
.esg-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.46; }
.esg-card small { display: block; margin-top: auto; padding-top: 11px; border-top: 1px solid rgba(17,17,17,.09); color: var(--purple); font-size: 7px; font-weight: 760; line-height: 1.4; text-transform: uppercase; letter-spacing: .06em; }
.esg-lens { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; margin-top: 16px; padding: 15px 18px; border-radius: 12px; color: #fff; background: #171319; }
.esg-lens span { color: #d993ff; font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.esg-lens p { margin: 0; color: rgba(255,255,255,.64); font-size: 10px; line-height: 1.4; }
.esg-lens a { color: #d993ff; text-decoration: none; font-size: 9px; }

/* Video */
.slide-video { color: #fff; background: #0f0d10; }
.video-grid { position: absolute; inset: 0; opacity: .1; background-image: linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(90deg, transparent 5%, #000 60%, transparent); animation: grid-drift 24s linear infinite; }
.video-layout { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: clamp(50px, 7vw, 100px); }
.video-cue { margin-top: 34px; padding: 18px 20px; border-left: 2px solid #c66ff3; background: rgba(255,255,255,.055); }
.video-cue span, .video-cue small { display: block; color: rgba(255,255,255,.45); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.video-cue strong { display: block; margin: 8px 0 6px; color: #d993ff; font-size: 24px; letter-spacing: -.035em; }
.video-stage { position: relative; }
.video-stage::before { content: ""; position: absolute; inset: -26px; border: 1px solid rgba(204,111,243,.18); border-radius: 24px; transform: rotate(-2deg); }
.video-frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; background: #000; box-shadow: 0 34px 90px rgba(0,0,0,.45), 0 0 70px rgba(130,10,209,.18); }
.video-frame iframe { width: 100%; height: 100%; border: 0; }
.video-link { position: relative; display: inline-flex; align-items: center; gap: 9px; margin-top: 18px; color: rgba(255,255,255,.7); font-size: 9px; font-weight: 780; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.video-link span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: #fff; background: var(--purple); }

/* Risks */
.risk-layout { display: flex; flex-direction: column; justify-content: center; }
.risk-summary { max-width: 330px; margin: 0; color: rgba(255,255,255,.52); font-size: 13px; line-height: 1.5; }
.risk-matrix { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 45px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.14); }
.risk-matrix article { position: relative; min-height: 120px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 14px; padding: 22px 24px; background: #121212; }
.risk-matrix article > span { font-size: 9px; font-weight: 850; color: #b760e9; }
.risk-matrix h3 { margin: 0 0 6px; font-size: 16px; }
.risk-matrix p { margin: 0; max-width: 340px; color: rgba(255,255,255,.5); font-size: 11px; line-height: 1.45; }
.risk-level { padding: 6px 8px; border-radius: 4px; font-size: 7px; font-style: normal; font-weight: 850; letter-spacing: .1em; }
.risk-level.high { background: #541c68; color: #efc6ff; }
.risk-level.med { background: #2e2731; color: #bfb4c3; }
.risk-note { margin: 18px 0 0; color: rgba(255,255,255,.34); font-size: 9px; }

/* Lessons */
.lessons-layout { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 80px; }
.lessons-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.lessons-list li { display: grid; grid-template-columns: 46px 1fr; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.lessons-list li > span { padding-top: 3px; color: var(--purple); font-size: 9px; font-weight: 850; }
.lessons-list h3 { margin: 0 0 4px; font-size: 17px; }
.lessons-list p { margin: 0; color: var(--muted); font-size: 11px; }
.slide-conclusion { background: linear-gradient(150deg, #f8f6f8 0%, #eee9f1 100%); }
.lesson-thesis { max-width: 480px; margin: 28px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.55; }

/* Finale */
.slide-finale { color: #fff; background: #0d0d0d; }
.finale-content { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.finale-logo { width: 74px; height: auto; margin-bottom: 26px; color: #fff; }
.slide.is-active .finale-logo { animation: logo-arrive 1s var(--ease) both, logo-breathe 4s 1s ease-in-out infinite; }
@keyframes logo-arrive { from { opacity: 0; transform: scale(.6) rotate(-8deg); } to { opacity: 1; transform: none; } }
@keyframes logo-breathe { 50% { transform: scale(1.08); filter: drop-shadow(0 0 20px rgba(194,107,236,.65)); } }
.finale-content h2 { font-size: clamp(47px, 5.5vw, 88px); }
.finale-content h2 em { color: #c26bec; }
.finale-content > p:not(.eyebrow) { margin: 28px 0 0; font-size: 16px; color: rgba(255,255,255,.6); }
.finale-question { margin-top: 64px; padding-top: 20px; width: min(780px, 80%); border-top: 1px solid rgba(255,255,255,.18); display: flex; justify-content: center; gap: 22px; align-items: baseline; }
.finale-question span { flex: 0 0 auto; font-size: 8px; font-weight: 850; letter-spacing: .16em; color: #c26bec; }
.finale-question strong { font-size: 13px; font-weight: 560; color: rgba(255,255,255,.78); }
.finale-orb { position: absolute; width: 42vw; height: 42vw; border-radius: 50%; filter: blur(1px); opacity: .36; }
.orb-left { left: -30vw; top: 28%; background: radial-gradient(circle at 70% 50%, #820ad1, transparent 60%); }
.orb-right { right: -30vw; top: 0; background: radial-gradient(circle at 30% 50%, #820ad1, transparent 60%); }

/* Team */
.slide-team { background: #151217; color: #fff; }
.slide-team::before { background: radial-gradient(circle at 45% 50%, rgba(180,82,235,.24), transparent 66%) !important; }
.team-layout { display: flex; flex-direction: column; justify-content: center; }
.team-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; }
.team-heading h2 { margin: 0; max-width: 680px; color: #fff; font-size: clamp(44px, 4.4vw, 70px); }
.team-heading h2 em { color: #ca73f4; }
.team-heading > p { margin: 0 0 8px; max-width: 280px; padding-left: 18px; border-left: 1px solid rgba(255,255,255,.24); color: rgba(255,255,255,.58); font-size: 12px; line-height: 1.55; }
.group-meta { display: grid; grid-template-columns: 1fr 1fr; min-width: 330px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; overflow: hidden; }
.group-meta span { padding: 12px 15px; color: rgba(255,255,255,.72); font-size: 10px; font-weight: 700; }
.group-meta span + span { border-left: 1px solid rgba(255,255,255,.14); }
.group-meta small { display: block; margin-bottom: 5px; color: #c66ff3; font-size: 7px; font-weight: 850; letter-spacing: .13em; }
.team-orbit { position: relative; width: min(930px, 82vw); height: clamp(310px, 39vh, 410px); margin: clamp(8px, 1.8vh, 20px) auto 0; isolation: isolate; }
.team-orbit::before,
.team-orbit::after { content: ""; position: absolute; z-index: -2; border-radius: 50%; pointer-events: none; }
.team-orbit::before { inset: 9% 3%; border: 1px solid rgba(218,153,255,.22); transform: rotate(-4deg); }
.team-orbit::after { inset: 26% 23%; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 0 70px rgba(130,10,209,.16), inset 0 0 40px rgba(130,10,209,.12); }
.team-orbit-path { position: absolute; z-index: -1; inset: 9% 3%; border: 1px dashed rgba(213,133,255,.28); border-radius: 50%; transform: rotate(4deg); animation: team-ring-turn 24s linear infinite; animation-play-state: paused; }
.team-orbit-path::before,
.team-orbit-path::after { content: ""; position: absolute; border-radius: 50%; background: #d993ff; box-shadow: 0 0 16px #c66ff3; }
.team-orbit-path::before { width: 8px; height: 8px; left: 12%; top: 12%; }
.team-orbit-path::after { width: 5px; height: 5px; right: 16%; bottom: 9%; }
.team-pulse { position: absolute; z-index: 4; width: 7px; height: 7px; border-radius: 50%; background: #fff; box-shadow: 0 0 9px #fff, 0 0 22px #c66ff3; offset-path: ellipse(46% 38% at 50% 50%); offset-rotate: 0deg; animation: team-pulse-travel 9s linear infinite; animation-play-state: paused; }
.team-pulse.pulse-b { width: 4px; height: 4px; opacity: .55; animation-duration: 13s; animation-delay: -5s; }
.team-core { position: absolute; z-index: 2; left: 50%; top: 50%; width: clamp(128px, 12vw, 168px); aspect-ratio: 1; display: grid; place-items: center; align-content: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: radial-gradient(circle at 38% 28%, rgba(210,122,255,.44), rgba(130,10,209,.22) 42%, rgba(15,11,17,.92) 75%); box-shadow: 0 24px 70px rgba(0,0,0,.32), 0 0 42px rgba(130,10,209,.24); transform: translate(-50%, -50%); }
.team-core::before { content: ""; position: absolute; inset: -12px; border: 1px solid rgba(209,130,247,.24); border-radius: 50%; border-left-color: transparent; animation: team-core-spin 11s linear infinite; animation-play-state: paused; }
.team-core span { color: #fff; font-size: clamp(38px, 4vw, 58px); line-height: .9; font-weight: 820; letter-spacing: -.07em; }
.team-core strong { margin-top: 9px; color: #d993ff; font-size: 9px; letter-spacing: .18em; }
.team-core small { margin-top: 5px; color: rgba(255,255,255,.48); font-size: 7px; letter-spacing: .16em; }
.team-grid { position: absolute; inset: 0; }
.team-card { --float-y: -7px; --tilt: .45deg; position: absolute; z-index: 3; width: clamp(158px, 14vw, 190px); min-width: 0; display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 11px; padding: 9px 13px 9px 9px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: rgba(38,32,41,.86); box-shadow: 0 18px 44px rgba(0,0,0,.22); backdrop-filter: blur(12px); animation: team-member-float 5.2s ease-in-out infinite; animation-play-state: paused; transition: border-color .4s, background .4s, box-shadow .4s; }
.slide-team.is-active .team-card,
.slide-team.is-active .team-orbit-path,
.slide-team.is-active .team-pulse,
.slide-team.is-active .team-core::before,
.slide-team.is-active .member-photo,
.slide-team.is-active .member-avatar::before,
.slide-team.is-active .member-avatar::after { animation-play-state: running; }
.team-card:hover { z-index: 5; border-color: rgba(217,147,255,.56); background: rgba(83,32,110,.86); box-shadow: 0 22px 54px rgba(0,0,0,.32), 0 0 30px rgba(130,10,209,.16); }
.team-card-1 { left: 7%; top: 7%; animation-delay: -1.1s; }
.team-card-2 { left: 40%; top: 0; --float-y: -9px; --tilt: -.35deg; animation-delay: -3.8s; background: linear-gradient(145deg, rgba(130,10,209,.7), rgba(48,31,53,.9)); border-color: rgba(207,130,246,.38); }
.team-card-3 { right: 4%; top: 14%; --float-y: -6px; --tilt: -.5deg; animation-delay: -2.4s; }
.team-card-4 { right: 15%; bottom: 1%; --float-y: -8px; --tilt: .35deg; animation-delay: -4.5s; }
.team-card-5 { left: 15%; bottom: 0; --float-y: -6px; --tilt: -.4deg; animation-delay: -2.9s; }
.member-media { position: relative; width: 64px; height: 64px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: #28222b; box-shadow: 0 8px 22px rgba(0,0,0,.24); }
.member-media::after { content: ""; position: absolute; inset: 48% 0 0; background: linear-gradient(transparent, rgba(21,18,23,.48)); pointer-events: none; }
.member-photo { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.84) contrast(1.04); animation: team-photo-drift 7s ease-in-out infinite alternate; animation-play-state: paused; transition: filter .5s; }
.team-card:hover .member-photo { filter: saturate(1) contrast(1.02); }
.member-nicole { object-position: 49% 31%; }
.member-luis { object-position: 50% 35%; }
.member-pedro { object-position: 50% 29%; }
.member-manuela { object-position: 50% 24%; }
.member-avatar { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 70% 22%, #c56af2, transparent 28%), linear-gradient(145deg, #9e25e4, #48056f); }
.member-avatar::before, .member-avatar::after { content: ""; position: absolute; width: 150%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.22); border-radius: 42%; animation: team-avatar-turn 10s linear infinite; animation-play-state: paused; }
.member-avatar::after { width: 96%; animation-direction: reverse; animation-duration: 7s; }
.member-avatar span { position: relative; z-index: 2; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; background: rgba(15,9,18,.22); font-size: 22px; font-weight: 820; letter-spacing: -.06em; box-shadow: 0 8px 20px rgba(0,0,0,.18); }
.member-info { position: relative; min-width: 0; padding: 0; }
.member-info > span { position: absolute; right: 0; top: 1px; color: #c776f1; font-size: 7px; font-weight: 850; letter-spacing: .12em; }
.member-info h3 { margin: 0 0 7px; padding-right: 20px; font-size: 17px; }
.member-info p { margin: 0; color: rgba(255,255,255,.52); font-size: 8px; font-weight: 720; letter-spacing: .1em; }
@keyframes team-member-float { 0%, 100% { transform: translate3d(0, 0, 0) rotate(0); } 50% { transform: translate3d(0, var(--float-y), 0) rotate(var(--tilt)); } }
@keyframes team-photo-drift { from { transform: scale(1.03) translate3d(-1%, 1%, 0); } to { transform: scale(1.12) translate3d(2%, -2%, 0); } }
@keyframes team-ring-turn { to { transform: rotate(364deg); } }
@keyframes team-core-spin { to { transform: rotate(360deg); } }
@keyframes team-pulse-travel { to { offset-distance: 100%; } }
@keyframes team-avatar-turn { to { transform: rotate(360deg); } }

/* Sources */
.slide-sources { background: #ebe7ee; }
.sources-layout { display: grid; grid-template-columns: .64fr 1.36fr; grid-template-rows: 1fr auto; gap: 32px 70px; align-items: center; }
.source-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.source-list article { min-height: 160px; display: grid; grid-template-columns: 26px 1fr; gap: 12px; padding: 20px; border-radius: 14px; background: rgba(255,255,255,.58); border: 1px solid var(--line); }
.source-list-extended { grid-template-columns: repeat(3, 1fr); gap: 9px; }
.source-list-extended article { min-height: 126px; padding: 15px; }
.source-list-extended h3 { margin-bottom: 5px; font-size: 13px; }
.source-list-extended p { margin-bottom: 8px; font-size: 8.5px; }
.source-list-extended a { font-size: 7.5px; }
.source-list article > span { color: var(--purple); font-size: 9px; font-weight: 850; }
.source-list h3 { margin: 0 0 8px; font-size: 15px; }
.source-list p { margin: 0 0 12px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.source-list a { font-size: 9px; font-weight: 800; color: var(--purple); text-decoration: none; text-transform: uppercase; letter-spacing: .06em; }
.method-note { grid-column: 1 / -1; margin: 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; line-height: 1.5; }
.method-note a { color: var(--purple); font-weight: 750; text-decoration: none; }

[data-count] { font-variant-numeric: tabular-nums; }
[data-count].is-counting { color: var(--purple); }
.slide-dark [data-count].is-counting, .slide-purple [data-count].is-counting, .slide-map [data-count].is-counting { color: #dda1fb; }

/* Notes, footer, nav */
.speaker-notes {
  position: fixed;
  z-index: 100;
  right: 22px;
  bottom: 78px;
  width: min(370px, calc(100vw - 44px));
  padding: 20px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 14px;
  background: rgba(17,17,17,.92);
  color: #fff;
  box-shadow: 0 28px 70px rgba(0,0,0,.28);
  backdrop-filter: blur(16px);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: .25s var(--ease);
}
.speaker-notes strong { display: block; margin-bottom: 8px; color: #ca7cf3; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.speaker-notes p { margin: 0; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.55; }
.notes-open .slide.is-active .speaker-notes { opacity: 1; visibility: visible; transform: none; }

.deck-footer {
  position: fixed;
  z-index: 50;
  bottom: 0;
  left: 0;
  right: 0;
  height: 58px;
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  align-items: center;
  padding: 0 clamp(24px, 3.6vw, 60px);
  font-size: 9px;
  font-weight: 780;
  letter-spacing: .12em;
  color: var(--ink);
  transition: color .45s var(--ease);
}
.progress-track { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(127,127,127,.18); }
.progress-track span { display: block; width: 0; height: 100%; background: var(--purple); transition: width .55s var(--ease); }
.progress-track span { position: relative; overflow: hidden; transition: width .72s var(--ease-fluid); }
.progress-track span::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.8), transparent); transform: translateX(-100%); animation: progress-shimmer 2.6s ease-in-out infinite; }
@keyframes progress-shimmer { 58%, 100% { transform: translateX(140%); } }
.footer-left { display: flex; align-items: center; gap: 10px; }
.kbd-hint { padding: 4px 7px; border: 1px solid currentColor; border-radius: 5px; opacity: .5; }
.footer-center { text-align: center; opacity: .5; }
.footer-right { display: flex; justify-content: flex-end; align-items: baseline; gap: 6px; }
.footer-right #currentSlide { font-size: 15px; color: var(--purple); }
.counter-separator { opacity: .3; }
.footer-right #totalSlides { opacity: .5; }

.slide-nav { position: fixed; z-index: 55; right: clamp(24px, 3.6vw, 60px); bottom: 78px; display: flex; gap: 8px; }
.slide-nav button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(17,17,17,.18); border-radius: 50%; background: rgba(255,255,255,.58); color: #111; backdrop-filter: blur(10px); cursor: pointer; transition: .2s; }
.slide-nav button { transition: transform .45s var(--ease-fluid), background .3s, border-color .3s; }
.slide-nav button:hover:not(:disabled) { background: #fff; transform: translateY(-3px) scale(1.08); }
.slide-nav button:active:not(:disabled) { transform: translateY(0) scale(.94); transition-duration: .12s; }
.slide-nav button:disabled { opacity: .25; cursor: default; }

.deck.on-dark .topbar, .deck.on-dark .chapter-rail, .deck.on-dark .deck-footer { color: #fff; }
.deck.on-dark .brand-mark { color: #fff; }
.deck.on-dark .topbar button { border-color: rgba(255,255,255,.22); background: rgba(0,0,0,.1); }
.deck.on-dark .slide-nav button { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.12); color: #fff; }
.deck.on-dark .progress-track span { background: #c66ff3; }
.deck.on-dark .footer-right #currentSlide { color: #d993ff; }

@media (max-width: 980px) {
  .slide-inner { width: calc(100% - 100px); }
  .split-layout, .origin-layout, .flywheel-layout, .revenue-layout, .map-layout, .moat-layout, .lessons-layout, .sources-layout, .purpose-layout, .video-layout { gap: 32px; }
  .compare-row > * { padding-inline: 13px; }
  .product-card { padding: 17px; }
  .team-card .member-info { padding-inline: 0; }
  .card-stage { opacity: .5; right: -6vw; }
  .country-cards article { padding: 18px; }
  .country-cards strong { font-size: 28px; }
}

@media (max-width: 760px), (max-height: 620px) {
  .deck { min-height: 0; }
  .topbar { height: 52px; padding: 0 18px; }
  .brand-label, .text-button { display: none; }
  .brand-mark { width: 30px; height: 18px; }
  .chapter-rail { display: none; }
  .slide { overflow-y: auto; }
  .slide-inner { width: calc(100% - 38px); min-height: 100%; height: auto; padding: 72px 0 78px; }
  .slide h2 { font-size: clamp(36px, 10vw, 54px); }
  .split-layout, .origin-layout, .flywheel-layout, .revenue-layout, .map-layout, .moat-layout, .lessons-layout, .sources-layout, .purpose-layout, .video-layout { grid-template-columns: 1fr; align-content: start; gap: 28px; }
  .cover-content { justify-content: center; }
  .cover-title { font-size: 21vw; }
  .cover-subtitle { max-width: 88%; }
  .cover-meta { left: 0; bottom: 82px; }
  .cover-qr { right: 68px; bottom: 125px; padding: 7px 11px 7px 7px; }
  .cover-qr-code { width: 58px; height: 58px; }
  .cover-qr-copy strong { max-width: 120px; font-size: 8px; }
  .cover-qr-copy small { font-size: 8px; }
  .card-stage { width: 74vw; right: -38vw; opacity: .28; }
  .equation-card { padding: 16px 18px 16px 56px; }
  .equation-number { left: 18px; top: 18px; }
  .problem-visual, .risk-matrix { grid-template-columns: 1fr; }
  .problem-visual { margin-top: 28px; }
  .origin-layout blockquote, .moat-callout, .method-note { grid-column: 1; }
  .timeline { grid-template-columns: 1fr 1fr; gap: 24px 10px; margin-top: 32px; }
  .timeline::before { display: none; }
  .timeline-item { min-height: 160px; padding: 0 12px 12px 0; }
  .timeline-node { margin: 12px 0 16px; }
  .timeline-item.highlight { margin-top: -12px; }
  .flywheel { width: min(90vw, 470px); justify-self: center; }
  .revenue-chart { grid-template-columns: 1fr 1fr; }
  .donut { width: min(54vw, 300px); }
  .kpi-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .kpi-hero { grid-row: auto; }
  .kpi-hero strong { margin-top: 35px; }
  .kpi-wide { grid-column: 1 / 3; }
  .country-cards { grid-template-columns: repeat(3, 1fr); }
  .country-cards article { min-height: 180px; }
  .map-note { grid-column: 1; }
  .moat-stack article { margin-left: 0; grid-template-columns: 34px 1fr; }
  .moat-stack article p { grid-column: 2; }
  .purpose-board { grid-template-columns: 1fr; }
  .purpose-vision { transform: none; }
  .values-cloud, .purpose-source { grid-column: 1; }
  .strategy-lanes, .esg-grid { grid-template-columns: 1fr; }
  .strategy-lanes .strategy-accent, .product-hero { transform: none; }
  .strategy-proof { grid-template-columns: 1fr 1fr; }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .compare-table { overflow-x: auto; }
  .compare-row { min-width: 760px; }
  .source-list-extended { grid-template-columns: 1fr 1fr; }
  .group-meta { min-width: 0; margin-top: 18px; }
  .finale-question { margin-top: 40px; flex-direction: column; align-items: center; }
  .team-heading { display: block; }
  .team-heading > p { display: none; }
  .team-orbit { width: 100%; height: auto; margin-top: 28px; }
  .team-orbit::before, .team-orbit::after, .team-orbit-path, .team-pulse, .team-core { display: none; }
  .team-grid { position: relative; inset: auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .team-card { position: relative; inset: auto; width: auto; }
  .member-media { width: 58px; height: 58px; }
  .source-list { grid-template-columns: 1fr 1fr; }
  .deck-footer { height: 48px; padding: 0 18px; grid-template-columns: 1fr auto; }
  .footer-left, .footer-center { display: none; }
  .footer-right { grid-column: 2; }
  .slide-nav { right: 18px; bottom: 62px; }
  .slide-nav button { width: 38px; height: 38px; }
}

@media (max-width: 520px) {
  .row-heading { display: block; }
  .data-stamp, .timeline-intro, .risk-summary { display: none; }
  .timeline { grid-template-columns: 1fr; }
  .timeline-item { min-height: auto; }
  .revenue-chart { grid-template-columns: 1fr; }
  .donut { justify-self: center; }
  .legend { grid-template-columns: repeat(3,1fr); }
  .chart-note { grid-column: 1; }
  .country-cards { grid-template-columns: 1fr; }
  .country-cards article { min-height: 140px; }
  .country-cards .country-accent { transform: none; }
  .kpi-grid { grid-template-columns: 1fr; }
  .kpi-wide { grid-column: 1; }
  .source-list { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
  .product-grid, .source-list-extended { grid-template-columns: 1fr; }
  .strategy-proof { grid-template-columns: 1fr; }
  .group-meta { grid-template-columns: 1fr; }
  .group-meta span + span { border-left: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .flywheel-step { padding: 7px 9px; }
  .flywheel-step span { font-size: 9px; }
}

@page { size: 13.333333in 7.5in; margin: 0; }

@media print {
  html, body { overflow: visible; background: white; }
  .deck { height: auto; overflow: visible; }
  .skip-link, .topbar, .chapter-rail, .deck-footer, .slide-nav, .speaker-notes { display: none !important; }
  .slides { height: auto; }
  .slide { position: relative; visibility: visible; opacity: 1; transform: none; filter: none; width: 100vw; height: 56.25vw; max-height: 100vh; page-break-after: always; overflow: hidden; }
  .slide-inner { padding-top: 6vw; padding-bottom: 5vw; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .card-stage, .flywheel, .map-background { translate: none !important; }
}
