/* ============================================================
   Revisão 23/10 · legibilidade no telão + slides novos
   Carregado por último. Só aumenta textos pequenos e define
   os componentes novos (prefixo .rv-).
   ============================================================ */

/* ---------- legibilidade: nada de texto miúdo no telão ---------- */
.kicker { font-size: calc(var(--u) * .98); }
.src { font-size: calc(var(--u) * .9); line-height: 1.45; }
.term { font-size: calc(var(--u) * 1.15); }
.band b { font-size: calc(var(--u) * .84); }
.band span { font-size: calc(var(--u) * 1.3); }
.card strong { font-size: calc(var(--u) * 1.55); }
.card span, .card p { font-size: calc(var(--u) * 1.25); }
.card b.n { font-size: calc(var(--u) * .95); }
.journey span { font-size: calc(var(--u) * 1.12); }
.act-out small { font-size: calc(var(--u) * .84); }
.act-out span { font-size: calc(var(--u) * 1.32); }
.act-meta span { font-size: calc(var(--u) * .9); }
.stats3 p { font-size: calc(var(--u) * 1.25); }
.news2 small { font-size: calc(var(--u) * .9); }
.news2 p { font-size: calc(var(--u) * 1.5); }
.pipe span { font-size: calc(var(--u) * 1.15); }
.pipe code { font-size: calc(var(--u) * .98); }
.vs p { font-size: calc(var(--u) * 1.2); }
.vs .tag { font-size: calc(var(--u) * .9); }
.recap span { font-size: calc(var(--u) * 1); }
.cva p { font-size: calc(var(--u) * 1.2); }
.cva .end { font-size: calc(var(--u) * .9); }
.part { width: calc(var(--u) * 23); }
.part code { font-size: calc(var(--u) * .9); }
.part strong { font-size: calc(var(--u) * 1.28); }
.part span { font-size: calc(var(--u) * 1); }
.types p { font-size: calc(var(--u) * 1.12); }
.types small { font-size: calc(var(--u) * .92); }
.types strong { font-size: calc(var(--u) * 1.4); }
.levels b { font-size: calc(var(--u) * .86); }
.levels span { font-size: calc(var(--u) * 1.12); }
.levels small { font-size: calc(var(--u) * .9); }
.stairs b { font-size: calc(var(--u) * .9); }
.stairs span { font-size: calc(var(--u) * 1.1); }
.stairs .you-tag { font-size: calc(var(--u) * .9); }
.gloss code { font-size: calc(var(--u) * 1.1); }
.gloss span { font-size: calc(var(--u) * 1.02); }
.shift ul { font-size: calc(var(--u) * 1.22); }
.compare2 ul { font-size: calc(var(--u) * 1.25); }
.steps3 span { font-size: calc(var(--u) * 1.2); }
.car small { font-size: calc(var(--u) * 1); }
.logos figcaption { font-size: calc(var(--u) * 1); }
.chart text { font-size: 17px; }
.chart text.lbl { font-size: 22px; }

/* ---------- logos: as 18 implementações num slide só ---------- */
.rv-logos18 { row-gap: calc(var(--u) * 1.2); }
.rv-logos18 div { height: calc(var(--u) * 8.2); padding: calc(var(--u) * .7); }
.rv-logos18 figcaption { font-size: calc(var(--u) * .95); }

/* ---------- notícia sem imagem (Erdős) ---------- */
.rv-newsart { height: calc(var(--u) * 13); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--u) * .3); background: radial-gradient(70% 90% at 30% 20%, #3A1E8C, #120A28 70%); color: #fff; padding: 0 !important; }
.rv-newsart b { font: 900 calc(var(--u) * 7)/.9 var(--head); letter-spacing: -.05em; background: linear-gradient(115deg, #B79CFF, #FF9AD8); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rv-newsart span { font: 700 calc(var(--u) * 1) var(--deck-mono); letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }

/* ---------- gráficos novos ---------- */
.rv-chart svg { width: 100%; height: auto; overflow: visible; }
.rv-cap { margin: calc(var(--u) * .8) 0 0; font-size: calc(var(--u) * 1.05); line-height: 1.4; color: var(--ink-3); text-align: center; }

/* ---------- dicas com ícone ---------- */
.rv-tips { display: grid; gap: calc(var(--u) * .6); margin-top: calc(var(--u) * 1.4); }
.rv-tips p { margin: 0; display: flex; align-items: center; gap: .55em; font: 700 calc(var(--u) * 1.3)/1.3 var(--head); color: var(--ink); }
.rv-tips i { color: var(--mint); font-size: 1.2em; flex: 0 0 auto; }

/* ---------- linha do tempo dos agentes ---------- */
.rv-timeline { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: calc(var(--u) * 1); margin-top: calc(var(--u) * 1); }
.rv-timeline::before { content: ''; position: absolute; left: 4%; right: 4%; top: calc(var(--u) * 1.9); height: 3px; border-radius: 3px; background: linear-gradient(90deg, #E4DAFF, #7040F6 55%, #FF6BC8); }
.rv-timeline article { position: relative; display: flex; flex-direction: column; gap: calc(var(--u) * .55); padding: calc(var(--u) * 4.4) calc(var(--u) * 1.2) calc(var(--u) * 1.3); background: var(--paper); border: 1px solid var(--line); border-radius: calc(var(--u) * 1.2); box-shadow: var(--shadow); text-align: left; }
.rv-timeline b { position: absolute; top: calc(var(--u) * .5); left: calc(var(--u) * 1.2); padding: .2em .6em; border-radius: 999px; background: var(--ink); color: #fff; font: 700 calc(var(--u) * 1.15) var(--deck-mono); }
.rv-timeline article.hot { background: var(--grad-solid); color: #fff; border: 0; }
.rv-timeline article.hot b { background: #fff; color: var(--deep); }
.rv-timeline strong { font: 800 calc(var(--u) * 1.5)/1.1 var(--head); letter-spacing: -.02em; }
.rv-timeline span { font-size: calc(var(--u) * 1.12); line-height: 1.38; color: var(--ink-2); }
.rv-timeline small { margin-top: auto; padding-top: calc(var(--u) * .5); font: 700 calc(var(--u) * .88)/1.35 var(--deck-mono); color: var(--violet); }
.rv-timeline article.hot span, .rv-timeline article.hot small { color: rgba(255, 255, 255, .92); }

/* ---------- trilho ou volante ---------- */
.rv-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(var(--u) * 1.6); text-align: left; }
.rv-duo article { display: flex; flex-direction: column; gap: calc(var(--u) * .7); padding: calc(var(--u) * 1.6) calc(var(--u) * 1.8); background: var(--paper); border: 1px solid var(--line); border-radius: calc(var(--u) * 1.4); box-shadow: var(--shadow); }
.rv-duo article > i { font-size: calc(var(--u) * 3); color: var(--ink-3); }
.rv-duo article.hot { background: var(--grad-solid); color: #fff; border: 0; }
.rv-duo article.hot > i { color: #fff; }
.rv-duo h3 { margin: 0; font: 800 calc(var(--u) * 1.8) var(--head); letter-spacing: -.02em; }
.rv-duo p { margin: 0; font-size: calc(var(--u) * 1.25); line-height: 1.4; color: var(--ink-2); }
.rv-duo .rv-good b { display: block; margin-bottom: .2em; font: 700 calc(var(--u) * .84) var(--deck-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--violet); }
.rv-duo small { margin-top: auto; font: 700 calc(var(--u) * .9)/1.35 var(--deck-mono); color: var(--ink-3); }
.rv-duo article.hot p, .rv-duo article.hot small, .rv-duo article.hot .rv-good b { color: rgba(255, 255, 255, .92); }
.rv-duo + .band { margin-top: calc(var(--u) * 1.4); }

/* ---------- vários agentes ---------- */
.rv-team { display: flex; flex-direction: column; align-items: center; }
.rv-ask { align-self: center; margin-bottom: calc(var(--u) * 1.2); padding: .7em 1.1em; border-radius: calc(var(--u) * 1.2) calc(var(--u) * 1.2) calc(var(--u) * 1.2) .3em; background: var(--ink); color: #fff; font: 700 calc(var(--u) * 1.2)/1.3 var(--head); display: flex; gap: .5em; align-items: center; }
.rv-boss { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * .3); padding: calc(var(--u) * 1.2) calc(var(--u) * 2); border-radius: calc(var(--u) * 1.4); background: var(--grad-solid); color: #fff; box-shadow: var(--shadow); text-align: center; }
.rv-boss i { font-size: calc(var(--u) * 2.6); }
.rv-boss strong { font: 800 calc(var(--u) * 1.6) var(--head); }
.rv-boss span { font-size: calc(var(--u) * 1.1); opacity: .92; }
.rv-team svg { width: 80%; height: calc(var(--u) * 5); }
.rv-team svg path { fill: none; stroke: var(--line-2); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-dasharray: 6 6; }
.rv-crew { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--u) * 1); }
.rv-crew article { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * .35); padding: calc(var(--u) * 1.2) calc(var(--u) * .9); background: var(--paper); border: 1px solid var(--line); border-radius: calc(var(--u) * 1.2); box-shadow: var(--shadow); text-align: center; }
.rv-crew i { width: calc(var(--u) * 3.4); height: calc(var(--u) * 3.4); border-radius: calc(var(--u) * .9); display: grid; place-items: center; background: var(--tint); color: var(--violet); font-size: calc(var(--u) * 1.8); }
.rv-crew strong { font: 800 calc(var(--u) * 1.35) var(--head); }
.rv-crew span { font-size: calc(var(--u) * 1.08); line-height: 1.35; color: var(--ink-2); }

/* ---------- prova com seis peças ---------- */
.proof-media.rv-six { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--u) * .9); }
.proof-media.rv-six img { width: 100%; max-height: calc(var(--u) * 19); object-fit: cover; object-position: top; }
.proof-media.two img { max-height: calc(var(--u) * 30); }

/* ---------- correções de layout herdadas do preview ---------- */
/* o motor zera "transform" nos itens revelados; o centralizado das peças da anatomia passa para "translate" */
.part { translate: -50% -50%; }
/* a classe .p4 colidia com o papel da mesa (context window) e jogava o fluxo do RAG para fora da tela */
.pipe.rv-p4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* duas capturas largas, uma em cima da outra */
.proof-media.rv-stack { flex-direction: column; gap: calc(var(--u) * 1.2); }
.proof-media.rv-stack img { max-height: calc(var(--u) * 21); max-width: 100%; }

/* ---------- mais legibilidade nas ilustrações com texto ---------- */
.msg, .reply { font-size: calc(var(--u) * 1.2); }
.sp .rule { font-size: calc(var(--u) * 1.05); }
.paper { font-size: calc(var(--u) * 1.08); }
.paper small { font-size: calc(var(--u) * .85); }
.day header { font-size: calc(var(--u) * .9); }
.day .read { font-size: calc(var(--u) * 1.08); }
.day p { font-size: calc(var(--u) * 1.12); }
.fan small { font-size: calc(var(--u) * .9); }
.fan p { font-size: calc(var(--u) * 1.25); }
.receipt { font-size: calc(var(--u) * 1.05); }
.exam .q { font-size: calc(var(--u) * 1.3); }
/* "Serve para" entra na frase, não como etiqueta solta */
.rv-duo .rv-good b { display: inline; margin: 0 .25em 0 0; font: 800 1em var(--head); letter-spacing: 0; text-transform: none; color: var(--ink); }
.rv-duo article.hot .rv-good b { color: #fff; }
/* sem a dica "avance com clique" no rodapé */
#hint { display: none !important; }
.metaphor p { font-size: calc(var(--u) * 1.2); }
.ruler-marks span { font-size: calc(var(--u) * 1.08); }
.ruler-ends { font-size: calc(var(--u) * .92); }
.loop-node { font-size: calc(var(--u) * 1.05); }

/* ============================================================
   Revisão 24/10 · comentários sobre a 5ª edição revisada
   ============================================================ */

/* títulos com gradiente: o texto recortado não come a última letra (letter-spacing negativo) */
.em, .grad-text { -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0 .07em .06em; margin: 0 -.07em -.06em; }
.module-num { padding: .16em .1em .04em; margin-top: -.16em; }
.price { padding-right: .08em; }

/* logos de implementação: todos no mesmo quadrado, 9 por slide */
.rv-logos9 { display: flex; flex-wrap: wrap; justify-content: center; gap: calc(var(--u) * 2) calc(var(--u) * 2.2); max-width: calc(var(--u) * 78); margin-inline: auto; }
.rv-logos9 figure { width: calc(var(--u) * 13); margin: 0; text-align: center; }
.rv-logos9 figure > div { aspect-ratio: 1; overflow: hidden; border-radius: calc(var(--u) * 1.6); background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
.rv-logos9 img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rv-logos9 img.fit { object-fit: contain; padding: 6%; }
.rv-logos9 figcaption { margin-top: .7em; font: 800 calc(var(--u) * 1.05)/1.2 var(--head); text-wrap: balance; }

/* celular do autocompletar */
.rv-phone { width: calc(var(--u) * 23); padding: calc(var(--u) * .7); border-radius: calc(var(--u) * 3.2); background: #121214; box-shadow: 0 0 0 2px #2b2b30 inset, 0 calc(var(--u)*1.5) calc(var(--u)*4) rgba(40, 20, 90, .28); }
.rv-phone .phone-screen { border-radius: calc(var(--u) * 2.6); background: #EFE7DE; }
.phone-status { display: flex; justify-content: space-between; align-items: center; padding: calc(var(--u) * .7) calc(var(--u) * 1.5) calc(var(--u) * .4); background: #075E54; color: #fff; font: 700 calc(var(--u) * .8) var(--deck-font); }
.phone-status i { margin-left: .3em; }
.rv-phone .phone-top { padding: calc(var(--u) * .5) calc(var(--u) * 1) calc(var(--u) * .8); }
.rv-phone .phone-top .avatar { width: calc(var(--u) * 2.2); height: calc(var(--u) * 2.2); border-radius: 50%; display: grid; place-items: center; background: #F3B4D6; color: #6B1D47; font-weight: 800; }
.rv-phone .phone-top b { display: block; font-size: calc(var(--u) * 1); }
.rv-phone .phone-top small { display: block; font-weight: 400; font-size: calc(var(--u) * .75); opacity: .8; }
.rv-phone .phone-chat { min-height: calc(var(--u) * 11); padding: calc(var(--u) * .9); }
.rv-phone .bubble { font-size: calc(var(--u) * 1); }
.rv-phone .typing { justify-content: space-between; margin: 0 calc(var(--u) * .7) calc(var(--u) * .7); }
.rv-phone .typing > span { display: flex; align-items: center; gap: .25em; }
.rv-phone .typing > i { color: #075E54; }
.rv-phone .suggest { background: #D3D6DD; border-top: 1px solid #C2C6CE; }
.kb { display: grid; gap: calc(var(--u) * .45); padding: calc(var(--u) * .5) calc(var(--u) * .35) calc(var(--u) * 1.1); background: #D3D6DD; }
.kb-row { display: flex; justify-content: center; gap: calc(var(--u) * .3); }
.kb-row span { flex: 0 0 calc(var(--u) * 1.85); height: calc(var(--u) * 2.3); display: grid; place-items: center; border-radius: calc(var(--u) * .3); background: #fff; box-shadow: 0 1px 0 #9EA3AD; font: 400 calc(var(--u) * .95) var(--deck-font); color: #111; }
.kb-row .fn { flex-basis: calc(var(--u) * 2.6); background: #ADB3BE; }
.kb-row.r4 .fn { flex-basis: calc(var(--u) * 3.6); font-size: calc(var(--u) * .8); }
.kb-row .space { flex: 1 1 auto; font-size: calc(var(--u) * .8); color: #555; }

/* janela de contexto: o que está dentro e o que fica fora */
.ctxwin { position: relative; padding: calc(var(--u) * 1.2); border: 3px solid var(--violet); border-radius: calc(var(--u) * 1.4); background: var(--paper); box-shadow: var(--shadow); display: grid; gap: calc(var(--u) * .6); }
.ctxwin header { display: flex; justify-content: space-between; align-items: center; margin-bottom: calc(var(--u) * .3); font: 700 calc(var(--u) * .9) var(--deck-mono); color: var(--violet); text-transform: uppercase; letter-spacing: .06em; }
.ctxwin header i { vertical-align: -.1em; }
.ctx-item { display: grid; grid-template-columns: calc(var(--u) * 10) 1fr auto; align-items: center; gap: calc(var(--u) * .9); padding: calc(var(--u) * .75) calc(var(--u) * 1); border-radius: calc(var(--u) * .7); background: #F7F5FB; border-left: 6px solid var(--c); text-align: left; }
.ctx-item code { font: 700 calc(var(--u) * .9) var(--deck-mono); color: var(--c); }
.ctx-item span { font: 700 calc(var(--u) * 1.15)/1.25 var(--head); }
.ctx-item small { font: 400 calc(var(--u) * .85) var(--deck-mono); color: var(--ink-3); white-space: nowrap; }
.ctx-free { height: calc(var(--u) * 4.5); display: grid; place-items: center; border: 2px dashed var(--line-2); border-radius: calc(var(--u) * .7); font: 700 calc(var(--u) * .85) var(--deck-mono); color: var(--ink-3); }
.ctx-out { display: flex; flex-wrap: wrap; align-items: center; gap: calc(var(--u) * .6); margin-top: calc(var(--u) * 1.2); }
.ctx-out b { width: 100%; font: 700 calc(var(--u) * .9) var(--deck-mono); color: var(--ink-3); text-transform: uppercase; letter-spacing: .05em; text-align: left; }
.ctx-out span { padding: .45em .9em; border-radius: 99px; background: #EEECF1; color: var(--ink-3); font-size: calc(var(--u) * 1); text-decoration: line-through; text-decoration-color: rgba(117, 112, 127, .5); }

/* memória: o que entra no contexto de cada conversa */
.memchat { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--u) * 1.3); align-items: start; }
.memchat article { display: flex; flex-direction: column; gap: calc(var(--u) * .7); padding: calc(var(--u) * 1.2); background: var(--paper); border: 1px solid var(--line); border-radius: calc(var(--u) * 1.3); box-shadow: var(--shadow); text-align: left; }
.memchat header { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: calc(var(--u) * .5); border-bottom: 1px solid var(--line); }
.memchat header b { font: 800 calc(var(--u) * 1.35) var(--head); }
.memchat header span { font: 700 calc(var(--u) * .8) var(--deck-mono); color: var(--ink-3); text-transform: uppercase; letter-spacing: .05em; }
.memchat .msg, .memchat .reply { font-size: calc(var(--u) * 1.1); }
.memchat .reply.bad { background: #FDECEE; color: var(--ink); }
.ctx-in { display: flex; align-items: center; gap: .5em; padding: .55em .8em; border-radius: calc(var(--u) * .6); background: var(--tint); color: var(--deep); font: 700 calc(var(--u) * .95)/1.3 var(--deck-font); }
.ctx-in.empty { background: #F1F0F4; color: var(--ink-3); }
.mem-save { display: flex; align-items: center; gap: .5em; padding: .55em .8em; border-radius: calc(var(--u) * .6); border: 2px dashed var(--mint); color: var(--mint); font: 700 calc(var(--u) * .95)/1.3 var(--deck-font); }
.memchat article.off { background: #FBFAFC; }

/* alucinação no chat */
.halluc { position: relative; width: calc(var(--u) * 34); margin: 0 auto; padding: calc(var(--u) * 1.6); display: flex; flex-direction: column; gap: calc(var(--u) * .9); background: var(--paper); border: 1px solid var(--line); border-radius: calc(var(--u) * 1.4); box-shadow: var(--shadow); text-align: left; }
.halluc .msg, .halluc .reply { font-size: calc(var(--u) * 1.3); }
.halluc .reply b { background: #FFF3B0; color: var(--ink); }

/* data de corte em linha do tempo */
.cutline { display: grid; grid-template-columns: 52fr auto 30fr auto; align-items: center; margin: calc(var(--u) * 3) 0 calc(var(--u) * .8); }
.cut-train { height: calc(var(--u) * 5); display: grid; place-items: center; border-radius: calc(var(--u) * 1) 0 0 calc(var(--u) * 1); background: var(--grad-solid); color: #fff; font: 800 calc(var(--u) * 1.3) var(--head); }
.cut-mark { position: relative; z-index: 1; display: grid; justify-items: center; gap: .2em; padding: calc(var(--u) * .8) calc(var(--u) * 1.1); border-radius: calc(var(--u) * .7); background: var(--ink); color: #fff; }
.cut-mark b { font: 700 calc(var(--u) * 1) var(--deck-mono); }
.cut-mark small { font: 400 calc(var(--u) * .8) var(--deck-mono); opacity: .75; }
.cut-blind { height: calc(var(--u) * 5); display: grid; place-items: center; border: 3px dashed var(--red); border-left: 0; border-right: 0; background: repeating-linear-gradient(135deg, #FDF0F1 0 12px, #fff 12px 24px); color: var(--red); font: 700 calc(var(--u) * 1) var(--deck-mono); }
.cut-today { width: calc(var(--u) * 6); height: calc(var(--u) * 6); display: grid; place-items: center; border-radius: 50%; background: var(--tint-mint); border: 3px solid var(--mint); color: var(--mint); font: 800 calc(var(--u) * 1.15) var(--head); }
.cut-labels { display: grid; grid-template-columns: 52fr 18fr 30fr; gap: calc(var(--u) * 1); margin-bottom: calc(var(--u) * 2.4); font: 700 calc(var(--u) * .9) var(--deck-mono); color: var(--ink-3); }
.cut-labels span:nth-child(2) { text-align: center; }
.cut-labels span:nth-child(3) { text-align: right; }

/* com e sem busca na web */
.search2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(var(--u) * 1.6); margin-bottom: calc(var(--u) * 1.6); }
.search2 article { display: flex; flex-direction: column; gap: calc(var(--u) * .8); padding: calc(var(--u) * 1.5); background: var(--paper); border: 1px solid var(--line); border-radius: calc(var(--u) * 1.4); box-shadow: var(--shadow); text-align: left; }
.search2 article.hot { border: 2px solid var(--mint); }
.search2 h3 { margin: 0; display: flex; align-items: center; gap: .45em; font: 800 calc(var(--u) * 1.5) var(--head); }
.search2 article h3 i { color: var(--ink-3); }
.search2 article.hot h3 i { color: var(--mint); }
.search2 p { margin: 0; font-size: calc(var(--u) * 1.15); line-height: 1.4; color: var(--ink-2); }
.search2 .cites { display: flex; gap: calc(var(--u) * .5); }
.search2 .cites span { padding: .3em .7em; border-radius: 99px; background: var(--tint-mint); color: var(--mint); font: 700 calc(var(--u) * .85) var(--deck-mono); }

/* os três pilares */
.pillars { width: calc(var(--u) * 70); margin: calc(var(--u) * 1) auto calc(var(--u) * 1.6); }
.pillars-top { padding: calc(var(--u) * 1.1); border-radius: calc(var(--u) * 1.1) calc(var(--u) * 1.1) calc(var(--u) * .3) calc(var(--u) * .3); background: var(--grad-solid); color: #fff; font: 800 calc(var(--u) * 1.6) var(--head); text-align: center; box-shadow: 0 calc(var(--u) * .5) calc(var(--u) * 1.6) rgba(91, 45, 224, .3); }
.pillars-top i { vertical-align: -.12em; }
.pillars-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--u) * 3); padding: 0 calc(var(--u) * 2.5); }
.pillars-cols article { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * .5); min-height: calc(var(--u) * 19); padding: calc(var(--u) * 1.6) calc(var(--u) * 1.2); background: linear-gradient(90deg, #F2EEFB, #fff 45%, #F2EEFB); border: 1px solid var(--line); border-top: 0; text-align: center; }
.pillars-cols b { font: 700 calc(var(--u) * .9) var(--deck-mono); color: var(--violet); }
.pillars-cols i { font-size: calc(var(--u) * 2.6); color: var(--violet); }
.pillars-cols strong { font: 800 calc(var(--u) * 1.8) var(--head); }
.pillars-cols p { margin: 0; font-size: calc(var(--u) * 1.15); line-height: 1.4; color: var(--ink-2); }
.pillars-base { height: calc(var(--u) * 1.4); border-radius: calc(var(--u) * .3); background: linear-gradient(#E3DCF3, #D3C9EC); }

/* pitch consolidado: 4 etapas e 3 frentes */
.slide.pitch-steps .capability-card { flex-basis: calc((100% - var(--u) * 3.3) / 4); }
.capability-card .step-n { display: block; font: 700 calc(var(--u) * .9) var(--deck-mono); color: var(--card-accent, #7040f6); margin-bottom: .3em; }
.slide.pitch-steps .capability-card:nth-child(4n) { --card-accent: #7040f6; }
.capability-card ul { margin: calc(var(--u) * .6) 0 0; padding-left: 1.1em; color: #51445d; font-size: calc(var(--u) * 1.25); line-height: 1.38; }
.capability-card li + li { margin-top: .35em; }

/* preço: total e parcelamento */
.slide.pitch-refined .pricing .final em { font-size: calc(var(--u) * 1.15); }

@media (prefers-reduced-motion: no-preference) {
  body.js-anim .slide.active .ctx-item, body.js-anim .slide.active .ctx-free { animation: popIn .5s var(--deck-ease) both; }
  body.js-anim .slide.active .ctx-item:nth-of-type(1) { animation-delay: .5s; }
  body.js-anim .slide.active .ctx-item:nth-of-type(2) { animation-delay: .8s; }
  body.js-anim .slide.active .ctx-item:nth-of-type(3) { animation-delay: 1.1s; }
  body.js-anim .slide.active .ctx-item:nth-of-type(4) { animation-delay: 1.4s; }
  body.js-anim .slide.active .ctx-free { animation-delay: 1.7s; }
  body.js-anim .slide.active .memchat .mem-save, body.js-anim .slide.active .memchat .ctx-in { animation: popIn .5s var(--deck-ease) 1s both; }
  body.js-anim .slide.active .cut-train { transform-origin: left; animation: growX 1.2s var(--deck-ease) .4s both; }
  body.js-anim .slide.active .cut-blind, body.js-anim .slide.active .cut-today { animation: popIn .5s var(--deck-ease) 1.6s both; }
}

/* lado "desastrado" do slide Gênio e desastrado */
.rv-newsbad { background: radial-gradient(70% 90% at 30% 20%, #8C1E3A, #280A12 70%); }
.rv-newsbad b { font-size: calc(var(--u) * 5.6); background: linear-gradient(115deg, #FFB3BE, #FF9AD8); -webkit-background-clip: text; background-clip: text; }
.slide.pitch-steps .capability-card p { font-size: calc(var(--u) * 1.15); }
.slide.pitch-steps .capability-card strong { font-size: calc(var(--u) * 1.5); }
.crowd { flex-wrap: nowrap; gap: calc(var(--u) * .5); }
.crowd i { font-size: calc(var(--u) * 3.6); }

/* Vídeo clicável: abre no centro da tela, com som, desde o início */
.video-open { position: relative; padding: 0; border: 0; background: none; cursor: pointer; border-radius: calc(var(--u) * 1.2); }
.video-open video { pointer-events: none; }
.video-play { position: absolute; inset: 0; margin: auto; width: calc(var(--u) * 6); height: calc(var(--u) * 6); border-radius: 50%; display: grid; place-items: center; background: rgba(20, 10, 45, .55); color: #fff; font-size: calc(var(--u) * 2.8); backdrop-filter: blur(6px); transition: transform .2s ease, background .2s ease; }
.video-open:hover .video-play { transform: scale(1.08); background: rgba(20, 10, 45, .75); }
.video-modal { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; background: rgba(8, 4, 20, .88); }
.video-modal[hidden] { display: none; }
.video-modal video { max-height: 92vh; max-width: 92vw; border-radius: 16px; box-shadow: 0 20px 80px rgba(0, 0, 0, .6); background: #000; }
.video-close { position: absolute; top: 24px; right: 28px; width: 52px; height: 52px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .14); color: #fff; font-size: 26px; cursor: pointer; display: grid; place-items: center; }
.video-close:hover { background: rgba(255, 255, 255, .26); }

/* Revisão 24/10 (2): texto em gradiente não corta acima nem abaixo da linha */
.rv-newsart b, .stats3 .big, .step-big > b, .growth .now strong { padding: .12em .1em .16em; margin: -.12em -.1em -.16em; }
.price { padding: .1em .12em .18em; }
.slide.pitch-refined .price { margin-top: calc(var(--u) * .2); }

/* Robôs entram juntos, logo depois das pessoas */
@media (prefers-reduced-motion: no-preference) {
  body.js-anim .slide.active .crowd i.ghost { animation: robotIn .5s cubic-bezier(.16, 1, .3, 1) backwards; }
  body.js-anim .slide.active .crowd i.ghost:nth-of-type(8) { animation-delay: .9s; }
  body.js-anim .slide.active .crowd i.ghost:nth-of-type(9) { animation-delay: .98s; }
  body.js-anim .slide.active .crowd i.ghost:nth-of-type(10) { animation-delay: 1.06s; }
  body.js-anim .slide.active .crowd i.ghost:nth-of-type(11) { animation-delay: 1.14s; }
  body.js-anim .slide.active .crowd i.ghost:nth-of-type(12) { animation-delay: 1.22s; }
  body.js-anim .slide.active .crowd i.ghost:nth-of-type(7) { animation-delay: .82s; }
}
@keyframes robotIn { from { opacity: 0; transform: translateY(.4em) scale(.6); } }
.crowd i.ghost { opacity: 1; color: var(--violet-2, #a855f7); }

/* Anatomia do agente: componentes com exemplo em volta do núcleo */
.anat2 { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: calc(var(--u) * 2.4); width: 100%; margin-top: calc(var(--u) * 1); }
.anat2-col { display: flex; flex-direction: column; gap: calc(var(--u) * 1); }
.anat2-card { position: relative; display: grid; grid-template-columns: auto 1fr; gap: calc(var(--u) * 1); align-items: start; text-align: left; padding: calc(var(--u) * 1) calc(var(--u) * 1.2); background: var(--paper); border: 1px solid var(--line); border-radius: calc(var(--u) * 1.1); box-shadow: var(--shadow); }
.anat2-card > i { width: calc(var(--u) * 3.2); height: calc(var(--u) * 3.2); border-radius: calc(var(--u) * .9); display: grid; place-items: center; background: var(--tint); color: var(--violet); font-size: calc(var(--u) * 1.7); }
.anat2-card code { display: block; font: 700 calc(var(--u) * .8) var(--deck-mono); color: var(--violet); }
.anat2-card strong { display: block; font: 800 calc(var(--u) * 1.3)/1.15 var(--head); }
.anat2-card span { display: block; margin-top: .2em; font-size: calc(var(--u) * .92); line-height: 1.3; color: var(--ink-2); }
.anat2-card em { display: block; margin-top: .5em; padding: .35em .7em; border-radius: calc(var(--u) * .6); background: color-mix(in srgb, var(--violet) 8%, transparent); color: #4b2aa8; font-style: normal; font-weight: 600; font-size: calc(var(--u) * .88); line-height: 1.3; }
.anat2-card::after { content: ''; position: absolute; top: 50%; width: calc(var(--u) * 2.4); border-top: 2px dashed var(--line-2); }
.anat2-col:first-child .anat2-card::after { left: 100%; }
.anat2-col:last-child .anat2-card::after { right: 100%; }
.anat2-center { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * 1.6); width: calc(var(--u) * 17); }
.anat2-core { width: calc(var(--u) * 11); height: calc(var(--u) * 11); border-radius: 50%; background: var(--grad-solid); color: #fff; display: grid; place-content: center; text-align: center; box-shadow: 0 0 0 calc(var(--u) * 1.2) rgba(112, 64, 246, .12), 0 0 0 calc(var(--u) * 2.4) rgba(112, 64, 246, .06); }
.anat2-core i { font-size: calc(var(--u) * 4); }
.anat2-core b { font: 900 calc(var(--u) * 1.4) var(--head); }
.anat2-task { margin: 0; padding: calc(var(--u) * .8) calc(var(--u) * 1); border-radius: calc(var(--u) * .9); background: var(--paper); border: 1px dashed var(--violet); font-size: calc(var(--u) * .95); line-height: 1.35; color: var(--ink); }
.anat2-task small { display: block; font: 700 calc(var(--u) * .75) var(--deck-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--violet); margin-bottom: .3em; }
@media (prefers-reduced-motion: no-preference) {
  body.js-anim .slide.active .anat2-core { animation: corePulse 3s ease-in-out infinite; }
}

/* O que o agente faz: um slide por frente, uma imagem por entrega */
.slide.pitch-does .wrap { max-width: calc(var(--u) * 88); }
.slide.pitch-does .title { font-size: calc(var(--u) * 3.4); }
.slide.pitch-does .lead { margin: calc(var(--u) * .6) auto 0; max-width: 60ch; }
.does-grid { display: grid; gap: calc(var(--u) * 1.1); width: 100%; margin-top: calc(var(--u) * 2); text-align: left; }
.does-grid.does-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.does-grid.does-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.does-tile { margin: 0; display: flex; flex-direction: column; border-radius: calc(var(--u) * 1.1); overflow: hidden; background: #fff; border: 1px solid rgba(112, 64, 246, .18); box-shadow: 0 calc(var(--u) * .55) calc(var(--u) * 1.8) rgba(36, 18, 79, .09); }
.does-media { height: calc(var(--u) * 20); background: #f1ecfb; overflow: hidden; display: grid; }
.does-5 .does-media { height: calc(var(--u) * 22); }
.does-media > img, .does-media > video { width: 100%; height: 100%; object-fit: cover; display: block; }
.does-tile figcaption { display: flex; gap: .6em; align-items: flex-start; padding: calc(var(--u) * .9) calc(var(--u) * 1); font: 700 calc(var(--u) * 1.05)/1.3 var(--deck-font); color: #211432; }
.does-tile figcaption i { flex: none; font-size: 1.3em; color: #7040f6; }
.pitch-does .does-tile:nth-child(3n+2) figcaption i { color: #b353d9; }
.pitch-does .does-tile:nth-child(3n) figcaption i { color: #d23c8e; }
.pitch-does .capability-footer { margin-top: calc(var(--u) * 1.4); }
.mock-ad { padding: calc(var(--u) * .9); display: flex; flex-direction: column; gap: calc(var(--u) * .55); font-size: calc(var(--u) * .78); line-height: 1.35; color: #211432; }
.mock-ad-head { display: flex; align-items: center; gap: .5em; }
.mock-ad-head span { width: 2.2em; height: 2.2em; border-radius: 50%; background: var(--grad-solid); }
.mock-ad-head small { margin-left: auto; color: #8a7f96; }
.mock-ad p { margin: 0; }
.mock-ad-img { flex: 1; min-height: calc(var(--u) * 7); border-radius: calc(var(--u) * .5); background: linear-gradient(135deg, #d9ccff, #ffc6e8); display: grid; place-items: center; color: #fff; font-size: calc(var(--u) * 2.4); }
.mock-ad-cta { display: flex; justify-content: space-between; align-items: center; }
.mock-ad-cta small { color: #8a7f96; }
.mock-ad-cta b { padding: .35em .8em; border-radius: .4em; background: #7040f6; color: #fff; }
.mock-cal { padding: calc(var(--u) * .9); font-size: calc(var(--u) * .78); color: #211432; }
.mock-cal-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: calc(var(--u) * .3); margin-top: calc(var(--u) * .6); }
.mock-cal-grid div { aspect-ratio: 3 / 4.6; border-radius: calc(var(--u) * .35); background: #fff; border: 1px solid #e3dcf3; padding: 2px; display: flex; flex-direction: column; overflow: hidden; }
.mock-cal-grid small { font-size: calc(var(--u) * .6); color: #8a7f96; padding-left: 2px; }
.mock-cal-grid img { width: 100%; flex: 1; min-height: 0; object-fit: cover; border-radius: 2px; }
.anat2-card::after { width: calc(var(--u) * 4.6); }
.does-3 .does-media { height: calc(var(--u) * 24); }
.mock-chat { background: #0b141a; padding: calc(var(--u) * 1); display: flex; flex-direction: column; justify-content: center; gap: calc(var(--u) * .7); }
.mock-chat-msg { background: #202c33; color: #e9edef; border-radius: calc(var(--u) * .6); padding: calc(var(--u) * .8) calc(var(--u) * .9); font-size: calc(var(--u) * .85); line-height: 1.4; }
.mock-chat-msg b { color: #ff7ab2; display: block; margin-bottom: .2em; }
.mock-chat-msg p { margin: 0 0 .5em; }
.mock-chat-msg small { display: block; text-align: right; color: #8696a0; font-size: .8em; }
.mock-chat-note { margin: 0; color: #8696a0; font-size: calc(var(--u) * .8); text-align: center; }

/* Capas de transição: pilares e "por dentro de um pedido" */
.pc-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--u) * 2); width: calc(var(--u) * 56); margin: calc(var(--u) * 2.6) auto calc(var(--u) * 2.2); }
.pc-pillars article { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * .5); padding: calc(var(--u) * 1.8) calc(var(--u) * 1); border-radius: calc(var(--u) * 1.2); background: var(--paper); border: 1px solid var(--line); opacity: .45; transition: transform .4s ease; }
.pc-pillars b { font: 700 calc(var(--u) * .85) var(--deck-mono); letter-spacing: .08em; color: var(--violet); text-transform: uppercase; }
.pc-pillars article > i { font-size: calc(var(--u) * 3); color: var(--violet); }
.pc-pillars strong { font: 800 calc(var(--u) * 1.8) var(--head); }
.pc-pillars article.done { opacity: .8; }
.pc-pillars article.done b { color: #1b9a7c; }
.pc-pillars article.now { opacity: 1; background: var(--grad-solid); border-color: transparent; color: #fff; transform: scale(1.08); box-shadow: 0 calc(var(--u) * .8) calc(var(--u) * 2.4) rgba(91, 45, 224, .35); }
.pc-pillars article.now b, .pc-pillars article.now > i { color: #fff; }
.pc-question { margin: 0 auto; max-width: 34ch; font: 700 calc(var(--u) * 2.1)/1.25 var(--head); color: var(--ink); }
.rc-flow { display: flex; align-items: center; justify-content: center; gap: calc(var(--u) * 1.6); margin: calc(var(--u) * 3) auto calc(var(--u) * 2.4); }
.rc-flow article { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * .5); width: calc(var(--u) * 13); padding: calc(var(--u) * 1.6) calc(var(--u) * 1); border-radius: calc(var(--u) * 1.2); background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow); }
.rc-flow article i { font-size: calc(var(--u) * 3); color: var(--violet); }
.rc-flow article strong { font: 800 calc(var(--u) * 1.5) var(--head); }
.rc-arrow { font-size: calc(var(--u) * 2.4); color: var(--ink-3); }
.rc-box { width: calc(var(--u) * 16); height: calc(var(--u) * 11); border-radius: calc(var(--u) * 1.4); border: 3px dashed var(--violet); background: color-mix(in srgb, var(--violet) 6%, transparent); display: grid; place-items: center; }
.rc-box i { font-size: calc(var(--u) * 6); color: var(--violet); }
@media (prefers-reduced-motion: no-preference) {
  body.js-anim .slide.active .rc-box i { animation: rcPulse 2.4s ease-in-out infinite; }
}
@keyframes rcPulse { 50% { transform: scale(1.12); opacity: .7; } }
