/* ============================================================
   SLIDES — a apresentação 16:9 dos dois manuais
   ------------------------------------------------------------
   A TERCEIRA FOLHA. O `papel.css` já tem duas camadas — a folha
   A4 solta (docs/25) e o livreto A5 que se apoia nela (docs/27).
   Esta é a terceira, e ela se apoia nas duas pela MESMA razão:
   duplicar a lista do que some na impressão, ou a lista do que
   precisa de `print-color-adjust`, garante que as versões
   divirjam no primeiro ajuste.

   A folha entra pelo atributo do <link>, como as outras:

       <link rel="stylesheet" href="css/slides.css" media="not all" id="folhaSlides">

   e o `js/guia.js` liga o `media` para `print` junto com a classe
   `.slides` no <html>. O `@page{size:338.67mm 190.5mm}` mora num
   `<style id="folhaSlide">` à parte porque `@page` é a única
   regra que a CSS não deixa escopar por seletor (docs/25 §0).

   ------------------------------------------------------------
   A CAIXA, e ela é redonda de propósito:

       338,67 × 190,5 mm  =  13,333 × 7,5 pol  =  1280 × 720 px
       margem 12mm        →  caixa útil 1189 × 629 px  (166,5mm)

   Um slide 16:9 é EXATAMENTE 1280×720 px CSS a 96dpi. É a mesma
   régua em milímetros do livreto (docs/27 §1), noutra caixa.

   ------------------------------------------------------------
   SÃO DUAS SAÍDAS NESTE ARQUIVO, e a diferença entre elas não é
   de estilo, é de CONTEÚDO:

     html.slides        APRESENTAÇÃO COMPLETA — o manual inteiro,
                        projetado. Material de apoio para quem
                        conduz um treinamento. 12 e 14 slides.

     html.slides.deck   DECK — só os blocos marcados com
                        `data-slide` no HTML. Uma ideia por slide,
                        tipografia grande. 10 e 11 slides.

   Documentado em: docs/28
   Ligado por: guia-do-mobilizador.html · guia-do-mobilizador-saude.html
   ============================================================ */

/* ---- 0. A RÉGUA MUDA, E É O PONTO DESTE ARQUIVO ----
   O `docs/25` inteiro gira em torno de "folha custa": uma folha a 26% é uma
   folha desperdiçada, vezes a tiragem, e o `medir-impressao.mjs` marca tudo
   abaixo de 60% como desperdício.

   NADA DISSO TRANSFERE PARA A PROJEÇÃO. Slide não custa nada, e um slide a 45%
   não é desperdício — é respiro. Um deck de 12 slides a 68% é melhor que o
   mesmo conteúdo em 10 a 80%, porque o segundo é mais denso.

   A régua daqui são três perguntas (docs/28 §3):
     1. Todo slide tem título? (senão a plateia perde o fio)
     2. Nenhuma caixa foi partida ao meio?
     3. O corpo é legível a 3–4 metros?

   A ocupação continua sendo medida — mas como DETECTOR DE ÓRFÃO: abaixo de
   ~25% quase sempre há um título sozinho ou uma nota sem cabeça. */

/* ---- 1. O QUE NÃO VAI PARA A PROJEÇÃO ----
   O `papel.css` §1 já esconde cabeçalho, rodapé, CTA, botão flutuante, os
   botões de copiar e de desmarcar, e a seção inteira da ficha. Tudo isso vale
   aqui e não se repete. O que sobra é o que é do PAPEL e não da tela grande. */
html.slides body[data-page^="guia-do-mobilizador"] .livro-anotacoes,
html.slides body[data-page^="guia-do-mobilizador"] .livro-contracapa,
/* o contador "0 de 5" conta cliques de quem lê no celular; projetado, é ruído */
html.slides body[data-page^="guia-do-mobilizador"] .guia-check-conta,
/* botão que leva a OUTRA página — no projetor ninguém clica */
html.slides body[data-page^="guia-do-mobilizador"] .step-extra{display:none !important}

/* ---- 2. A MEDIDA, PARA CIMA ----
   O `papel.css` §2 promete que `--sp-*` governa todo espaço vertical e o `rem`
   governa todo tamanho de texto, e que redefinir os dois recalcula a página
   inteira sem tocar em regra nenhuma. Aqui isso é usado PARA CRESCER — medido,
   funciona sem exceção nos dois sentidos.

   12,5px (papel) → 17px. É a única saída do projeto em que a tipografia SOBE, e
   o piso de 8,9pt do `docs/25` §8 não tem nada a ver com este caso: lá era
   leitura em pé, na rua; aqui é leitura projetada a 3–4 metros.

   A especificidade empata com a do `papel.css` (`html:has(...)`) e a classe
   `.slides` desempata — é o que faz esta folha vencer sem `!important`. */
html.slides:has(body[data-page^="guia-do-mobilizador"]){font-size:17px}
html.slides body[data-page^="guia-do-mobilizador"]{
  --sp-1:3px;  --sp-2:6px;  --sp-3:10px; --sp-4:14px;
  --sp-5:18px; --sp-6:22px; --sp-7:26px; --sp-8:30px;
  --sp-9:34px; --sp-10:38px;--sp-11:42px;--sp-12:48px;
  line-height:1.4}

/* ---- 3. A CAIXA DEITADA ----
   Esta é a primeira saída do projeto em que a página é mais LARGA que alta:
   1189px contra os 718 da A4 e os 499 do livreto. As grades que a folha nunca
   alcançava (docs/25 §4) cabem aqui com folga — e as `grade-auto` ganham a
   terceira e a quarta coluna que a A4 não tinha como dar. */
html.slides body[data-page^="guia-do-mobilizador"] .guia-notas,
html.slides body[data-page^="guia-do-mobilizador"] .guia-tabela,
html.slides body[data-page^="guia-do-mobilizador"] .guia-lista--duas,
html.slides body[data-page^="guia-do-mobilizador"] .guia-check-itens{grid-template-columns:1fr 1fr}
html.slides body[data-page^="guia-do-mobilizador"] .guia-colunas{grid-template-columns:1fr 1fr}
html.slides body[data-page^="guia-do-mobilizador"] .guia-grade,
html.slides body[data-page^="guia-do-mobilizador"] .guia-exemplos,
html.slides body[data-page^="guia-do-mobilizador"] .guia-rotina{--min:330px}

/* ---- 4. TIPOGRAFIA DE PROJEÇÃO ----
   Os pontos daqui não são os do papel escalados: são medidos contra a distância
   de leitura. 12,5pt de corpo num slide de 1280px projetado a 3 metros equivale,
   grosso modo, ao 11pt de um documento a 40cm. */
html.slides body[data-page^="guia-do-mobilizador"] .cta-title{font-size:40pt;line-height:1.02}
html.slides body[data-page^="guia-do-mobilizador"] .cta-lead{font-size:14pt;max-width:62ch}
html.slides body[data-page^="guia-do-mobilizador"] .section-title{font-size:26pt;line-height:1.05}
html.slides body[data-page^="guia-do-mobilizador"] .section-sub{font-size:13pt}
html.slides body[data-page^="guia-do-mobilizador"] .guia-sub{font-size:18pt;margin:0 0 var(--sp-4)}
html.slides body[data-page^="guia-do-mobilizador"] .guia-lista li,
html.slides body[data-page^="guia-do-mobilizador"] .guia-item p,
html.slides body[data-page^="guia-do-mobilizador"] .step-body p,
html.slides body[data-page^="guia-do-mobilizador"] .guia-bloco-txt,
html.slides body[data-page^="guia-do-mobilizador"] .guia-nota p:not(.guia-nota-rot),
html.slides body[data-page^="guia-do-mobilizador"] .guia-check-itens .check{font-size:12.5pt}
html.slides body[data-page^="guia-do-mobilizador"] .guia-fala-txt,
html.slides body[data-page^="guia-do-mobilizador"] .guia-final-txt{font-size:15pt}
/* ícone de tela é pequeno demais para projetar; aqui ele volta a ter presença */
html.slides body[data-page^="guia-do-mobilizador"] .guia-item svg{width:30px;height:30px}
html.slides body[data-page^="guia-do-mobilizador"] .guia-frente svg{width:26px;height:26px}
html.slides body[data-page^="guia-do-mobilizador"] .step-badge{width:44px;height:44px;border-radius:12px}
html.slides body[data-page^="guia-do-mobilizador"] .step-badge svg{width:24px;height:24px}
html.slides body[data-page^="guia-do-mobilizador"] .step-n{width:22px;height:22px;font-size:.8rem;top:-8px;left:-8px}
/* a caixinha de caneta do papel (§9 de lá) volta a ser marcador de leitura */
html.slides body[data-page^="guia-do-mobilizador"] .guia-check-itens .check input{
  width:14px;height:14px;border-width:2px}

/* ---- 5. ONDE O SLIDE VIRA ----
   Uma seção, um slide — e quando a seção não cabe, ela transborda. O `docs/28`
   §2.2 mediu o que isso custa: o segundo slide nasce SEM TÍTULO, cartões
   flutuando no topo, e a plateia sem saber de que seção são. Foram 3 slides
   assim em 10 no manual geral.

   A correção não inventa marcação nenhuma: os `.guia-sub` ("Passo a passo da
   abordagem", "Exemplos de comentários", "No grupo oficial") JÁ SÃO as dobras
   naturais do texto e já são títulos. Quebrar neles custou 2 slides e zerou os
   órfãos — 10 slides a 80,2% viraram 12 a 67,7%, o que nesta régua é melhor. */
html.slides body[data-page^="guia-do-mobilizador"] .apoio-sec{
  break-before:page;padding:0;min-height:0}
html.slides body[data-page^="guia-do-mobilizador"] .guia-sub{break-before:page}
/* ...MENOS quando o subtítulo ABRE a seção. Aí a quebra da seção já virou a
   página, e a segunda deixaria o título da seção sozinho num slide — medido no
   manual da Saúde, onde `.guia-sub` vem colado no `.section-head`: era o slide
   7, com 16,7% e nada além do título. Com esta linha, 15 slides viram 14. */
html.slides body[data-page^="guia-do-mobilizador"] .section-head + .guia-sub{break-before:avoid}

/* NÃO PONHA `break-before:avoid` NUMA CAIXA PARA EVITAR QUE ELA FIQUE ÓRFÃ.
   Medido, e custa tempo redescobrir: o Chrome puxa a caixa para o slide
   anterior, ela NÃO CABE, e ele a PARTE — o rótulo num slide e o corpo no
   outro —, mesmo com o `break-inside:avoid` que o `papel.css` §6 já põe em
   `.guia-nota`. Ao pedir para não quebrar ANTES, o motor prefere quebrar
   DENTRO.

   O caminho certo para a nota órfã é o do `docs/25` §7: apertar a seção até ela
   caber, mexendo nos `--sp-*` — nunca forçar a quebra. */

/* o cabeçalho da seção e o do checklist nunca fecham um slide */
html.slides body[data-page^="guia-do-mobilizador"] .section-head,
html.slides body[data-page^="guia-do-mobilizador"] .guia-check-head{break-after:avoid}

/* ---- 6. A CAPA ----
   A mesma `.cta--hero` da tela, esticada para o slide inteiro. 166mm e não
   166,5: um milímetro é a margem de erro do arredondamento, e uma capa que
   preenche a caixa ao milímetro escorrega para um segundo slide. É a lição de
   193-contra-194 do livreto (`papel.css`, LIVRETO §3). */
html.slides body[data-page^="guia-do-mobilizador"] .cta--hero{
  min-height:166mm;display:flex;align-items:center;break-after:page;break-inside:avoid}

/* ---- 6.1 O AZULEJO DA CAPA SAI MAIS FRACO NO PDF, PARA SAIR IGUAL ----
   Na tela o azulejo é um sussurro; no PDF ele estava gritando. O motivo é que
   a camada do padrão (`styles.css`, .hero::before/.cta::before) se apoia em
   `mix-blend-mode:lighten`, e **o `Page.printToPDF` não honra blend**. Medido:
   forçar `mix-blend-mode:normal` antes de imprimir produz um PDF idêntico ao
   de antes — o blend simplesmente não estava lá.

   Isso muda o desenho, não só a intensidade. O `azulejo-bg.svg` tem TRÊS
   preenchimentos — #fff, #9d9ca0 e #403b47 —, e sob `lighten` sobre roxo
   escuro os dois mais escuros somem: só as formas claras clareiam o fundo.
   Sem o blend, as escuras voltam a pintar, e a capa ganha um xadrez de blocos
   claros e escuros que na tela não existe.

   A compensação é a opacidade, e ela foi CALIBRADA contra a tela, na tira
   esquerda da capa (só padrão, sem texto):

       tela ......................  média 55,4 · desvio 10,8   ← o alvo
       PDF a 0,30 (como estava) ..  média 74,0 · desvio 22,0
       PDF a 0,10 ................  média 55,4 · desvio 11,5   ← bate

   `calc(… / 3)` e não `.10` cravado: `--az-hero-op` é um token que o botão
   "Azulejo" do modo edição sobrescreve (docs/09). Dividir preserva a escolha
   de quem publicar — o papel continua sendo um terço da tela, qualquer que
   ela seja. */
html.slides body[data-page^="guia-do-mobilizador"] .cta--hero{
  --az-op:calc(var(--az-hero-op) / 3)}
html.slides body[data-page^="guia-do-mobilizador"] .guia-frentes{margin-top:var(--sp-8)}
html.slides body[data-page^="guia-do-mobilizador"] .guia-frente{
  flex:1 1 0;min-width:0;padding:var(--sp-4) var(--sp-3)}

/* ---- 7. COR: AQUI TUDO SE PINTA, E É O INVERSO DA DECISÃO DO PAPEL ----
   O `papel.css` §3 mantém a lista de `print-color-adjust:exact` na MENOR
   possível, e o argumento é toner: cada bloco ali é área pintada vezes a
   tiragem inteira. `--papel` é creme, e forçá-lo no `body` daria um banho de
   creme em toda folha.

   NINGUÉM TIRA 300 CÓPIAS DE UM DECK. O argumento se inverte: aqui o fundo é o
   que separa um slide do outro na projeção, e um slide sem fundo é um slide
   branco com texto solto. Então pinta tudo.

   Isto também é o que faz o botão da página funcionar: o diálogo do Chrome vem
   com "gráficos de plano de fundo" DESLIGADO, e `print-color-adjust:exact` é
   honrado mesmo com a caixinha desmarcada (medido, docs/28 §5.2). */
html.slides body[data-page^="guia-do-mobilizador"],
html.slides body[data-page^="guia-do-mobilizador"] .apoio-sec,
html.slides body[data-page^="guia-do-mobilizador"] .card,
html.slides body[data-page^="guia-do-mobilizador"] .guia-bloco,
html.slides body[data-page^="guia-do-mobilizador"] .guia-checklist,
html.slides body[data-page^="guia-do-mobilizador"] .guia-fala,
html.slides body[data-page^="guia-do-mobilizador"] .guia-item,
html.slides body[data-page^="guia-do-mobilizador"] .step{
  -webkit-print-color-adjust:exact;print-color-adjust:exact}

/* ---- 8. O RESPIRO DA CAIXA DEITADA ----
   O `.apoio-sec` perdeu o `padding` no §5 (o slide já é a moldura), e o
   `.container` NÃO ganha um no lugar: os 12mm do `@page` já são o respiro, e
   cada pixel a mais aqui é um pixel a menos na caixa útil — o que, com blocos
   de altura fixa lá embaixo (§10), custa uma PÁGINA EM BRANCO por slide.
   Medido: com 10px em cima e 10 embaixo, o deck de 10 blocos saía com 18
   páginas, uma vazia entre cada duas cheias. */
html.slides body[data-page^="guia-do-mobilizador"] .apoio-sec > .container{padding-block:0}
html.slides body[data-page^="guia-do-mobilizador"] .section-head{margin-bottom:var(--sp-4)}
html.slides body[data-page^="guia-do-mobilizador"] .guia-item,
html.slides body[data-page^="guia-do-mobilizador"] .guia-bloco,
html.slides body[data-page^="guia-do-mobilizador"] .guia-col,
html.slides body[data-page^="guia-do-mobilizador"] .guia-nota,
html.slides body[data-page^="guia-do-mobilizador"] .guia-fala,
html.slides body[data-page^="guia-do-mobilizador"] .guia-checklist,
html.slides body[data-page^="guia-do-mobilizador"] .step{padding:var(--sp-4)}
/* ESTES TRÊS VALORES SÃO CALIBRAGEM, NÃO GOSTO, e o medidor mostra por quê.
   Com `--sp-5` de moldura e `--sp-2` entre itens de lista, duas seções do
   manual geral passavam da caixa por **29px** e por **5px** — e cada uma
   custava um slide inteiro, ocupado por um cartão solto sem título. Cinco
   pixels. `node tools/medir-impressao.mjs --slides` diz a sangria de cada
   seção e reclama sozinho quando alguma volta a passar. */
html.slides body[data-page^="guia-do-mobilizador"] .guia-lista{gap:var(--sp-1)}

/* ---- 8.1 O "PODE / NÃO PODE" É DENSO NOS DOIS MODOS ----
   16 itens em duas colunas é o bloco mais pesado dos dois manuais, e no da
   Saúde os itens são mais longos (quase todos quebram em duas linhas). Medido:
   595px no manual geral, **664px** no da Saúde, numa caixa de 629 — sangrando
   35px, o bastante para gastar um slide inteiro com a nota que fecha a seção.

   12pt é o piso do que se lê num slide, e é o mesmo piso que o §13 usa para os
   passos: abaixo disso a projeção deixa de ser legível a 3–4 metros, que é a
   terceira pergunta da régua do §0. */
html.slides body[data-page^="guia-do-mobilizador"] .guia-tabela .guia-col{padding:var(--sp-3)}
html.slides body[data-page^="guia-do-mobilizador"] .guia-tabela .guia-lista li{
  font-size:12pt;line-height:1.3}

/* ============================================================
   O DECK — uma ideia por slide
   ------------------------------------------------------------
   A camada de cima projeta o manual INTEIRO: 12 e 14 slides, todo
   o conteúdo, material de apoio para quem conduz. É honesto, e é
   o que sai de graça da folha de papel — mas continua sendo, como
   diz o docs/28 §7.3, "páginas de documento numa tela".

   O deck é outra coisa, e a diferença NÃO é de CSS: é de seleção.
   Aqui o padrão se inverte — **nada aparece, exceto o que foi
   marcado com `data-slide` no HTML**.

   POR QUE UM ATRIBUTO, E NÃO UMA CLASSE OU UM BLOCO NOVO:
   `data-edit-key` é um caminho de índices de filho (docs/13 §4.1),
   então marcação nova no meio do <main> desassociaria tudo que
   estivesse publicado no KV. Atributo não desloca nada. E o modo
   edição só reescreve `innerHTML` de FOLHAS de texto (main.js,
   `isLeafText`), nunca o `outerHTML` de um contêiner — conferido:
   o atributo sobrevive a qualquer publicação.

   O VALOR DO ATRIBUTO É O TÍTULO DO SLIDE. Blocos que já têm
   rótulo próprio (`.guia-nota-rot`, `.guia-fala-rot`) levam
   `data-slide=""` e não ganham segundo título.
   ============================================================ */

/* ---- 9. NADA APARECE, EXCETO O MARCADO ----
   Três linhas, e a terceira é a que não é óbvia: um bloco marcado que mora
   dentro de outro (a "Regra de ouro" vive num `.guia-notas` de duas colunas)
   sumiria junto com o pai. Então o pai de um marcado também fica — e aí os
   IRMÃOS não-marcados dele precisam sumir, senão a nota vem acompanhada.

   `:has()` já é usado 3× nesta base (papel.css §2, §7 daqui). Onde ele não
   existir, o deck degrada para a apresentação completa — que é uma saída
   válida, não uma página quebrada. */
html.slides.deck body[data-page^="guia-do-mobilizador"] .apoio-sec > .container > *{display:none}
html.slides.deck body[data-page^="guia-do-mobilizador"] .apoio-sec > .container > [data-slide],
html.slides.deck body[data-page^="guia-do-mobilizador"] .apoio-sec > .container > :has([data-slide]){display:block}
html.slides.deck body[data-page^="guia-do-mobilizador"] .apoio-sec > .container > :has([data-slide]) > *:not([data-slide]){display:none}
/* a seção que não tem nenhum marcado não deixa nem a casca (e o padding dela) */
html.slides.deck body[data-page^="guia-do-mobilizador"] .apoio-sec:not(:has([data-slide])){display:none}

/* ---- 10. UM MARCADO = UM SLIDE ----
   `min-height` para encher o slide e `break-after:page` para fechá-lo. O
   `break-inside:avoid` é o que garante a promessa: se um bloco marcado não
   couber, ele SANGRA para o slide seguinte em vez de ser partido — e isso
   aparece na contagem em vez de passar despercebido na projeção.

   162mm NUMA CAIXA DE 166,5, e os 4,5mm de folga não são desleixo: qualquer
   margem que sobreviva num ancestral entra nesta conta, e altura que passa da
   caixa por um fio custa uma PÁGINA INTEIRA em branco. Medido: com 166mm o
   deck de 10 blocos fechava em 18 páginas, alternando cheia e vazia. É a mesma
   lição do 193-contra-194 da capa do livreto, num lugar onde o erro se repete
   dez vezes em vez de uma.

   Por isso as linhas seguintes também zeram a margem dos ancestrais diretos: a
   "Regra de ouro" mora num `.guia-notas`, que traz `margin-top` do papel.css.

   `margin-block`, E NÃO `margin`. A primeira versão zerava as quatro, e levou
   junto o `margin-inline:auto` que centra a `.guia-final` (styles.css:1557):
   a mensagem final saía encostada à esquerda do slide, num cartão de 760px
   numa caixa de 1189. Quem empurra o bloco para fora da caixa é a margem
   VERTICAL; a horizontal é o que o mantém no meio. */
html.slides.deck body[data-page^="guia-do-mobilizador"] .apoio-sec > .container > *{margin-block:0}
html.slides.deck body[data-page^="guia-do-mobilizador"] [data-slide]{
  min-height:162mm;break-after:page;break-inside:avoid;margin-block:0}
/* Centrar na vertical: bloco vira coluna flex; GRADE não pode virar flex (as
   duas colunas do "Pode / não pode" empilhariam), e grade centra por
   `align-content`. */
html.slides.deck body[data-page^="guia-do-mobilizador"] [data-slide]:not(.guia-tabela):not(.grade-auto):not(.manual):not(.guia-colunas){
  display:flex;flex-direction:column;justify-content:center}
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-tabela[data-slide],
html.slides.deck body[data-page^="guia-do-mobilizador"] .grade-auto[data-slide],
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-colunas[data-slide],
html.slides.deck body[data-page^="guia-do-mobilizador"] .manual[data-slide]{align-content:center}

/* ---- 11. O TÍTULO DO SLIDE VEM DO ATRIBUTO ----
   `content:attr(data-slide)` — nenhum nó novo na DOM, e o texto do título mora
   no HTML, junto do bloco que ele nomeia. Os que já têm rótulo próprio levam
   `data-slide=""` e o `:not([data-slide=""])` os deixa em paz. */
html.slides.deck body[data-page^="guia-do-mobilizador"] [data-slide]:not([data-slide=""])::before{
  content:attr(data-slide);
  font-family:var(--font-titulo);text-transform:uppercase;letter-spacing:.03em;
  font-size:19pt;line-height:1.1;color:var(--petroleo-900);
  margin-bottom:var(--sp-6);padding-bottom:var(--sp-3);
  border-bottom:2px solid var(--petroleo-200)}
/* dentro de uma grade o ::before é uma CÉLULA: sem isto ele vira a primeira
   coluna e empurra o conteúdo para o lado */
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-tabela[data-slide]::before,
html.slides.deck body[data-page^="guia-do-mobilizador"] .grade-auto[data-slide]::before,
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-colunas[data-slide]::before,
html.slides.deck body[data-page^="guia-do-mobilizador"] .manual[data-slide]::before{
  grid-column:1/-1;display:block}

/* ---- 12. O DECK FALA MAIS ALTO ----
   No deck cada bloco tem o slide inteiro só para si — então o corpo sobe de
   novo. Estes números não valem na apresentação completa, onde o mesmo bloco
   divide a página com outros três. */
html.slides.deck body[data-page^="guia-do-mobilizador"] .section-title{font-size:34pt}
html.slides.deck body[data-page^="guia-do-mobilizador"] .section-sub{font-size:16pt;max-width:80ch}
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-lista li,
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-item p,
html.slides.deck body[data-page^="guia-do-mobilizador"] .step-body p,
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-nota p:not(.guia-nota-rot),
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-check-itens .check{font-size:14pt}
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-fala-txt,
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-final-txt{font-size:17pt}
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-nota-rot,
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-fala-rot,
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-bloco-rot,
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-col-rot{font-size:15pt}
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-check-title{font-size:15pt}
html.slides.deck body[data-page^="guia-do-mobilizador"] .step-title{font-size:14pt}

/* A nota e a mensagem final ganham a página inteira: são as duas coisas do
   manual que existem para serem LIDAS EM VOZ ALTA. */
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-nota[data-slide],
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-fala[data-slide]{
  padding:var(--sp-10) var(--sp-11)}
/* A mensagem final é o único slide que fecha o deck, e ela é um cartão roxo de
   760px (styles.css:1557) numa caixa de 1189: fica centrado, e cresce um pouco
   — num slide de encerramento a margem lateral é o que dá o peso. */
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-final[data-slide]{
  padding:var(--sp-11);text-align:center;max-width:900px;margin-inline:auto;
  /* o §10 tornou este bloco uma coluna flex, e aí o `text-align:center` não
     alcança o coração: SVG vira item de flex e obedece ao `align-items`, que
     por padrão é `stretch` — o ícone saía encostado à esquerda do cartão. */
  align-items:center}
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-final[data-slide] svg{
  width:44px;height:44px}

/* ---- 13. OS DOIS BLOCOS DENSOS ----
   O §12 subiu o corpo do deck para 14pt porque cada bloco tem o slide só para
   si. Dois blocos não têm essa folga, e a medição diz exatamente quanto falta:

     passo a passo (7 passos, geral) ....... 689px numa caixa de 629  (−60)
     passo a passo (8 passos, Saúde) ....... 750px                    (−121)
     pode / não pode (8+8 itens) ........... 710px                    (−81)

   Estourar aqui não é um bloco feio: é uma PÁGINA EM BRANCO atrás dele, porque
   o que sangra são 60px numa caixa de 629. Foi o que levou o deck geral a 12
   páginas em vez de 10.

   A ordem do aperto é a do `docs/25` §7 — primeiro o vazio (respiro entre
   cartões, moldura, tamanho do disco do número), e só depois o que se lê. E o
   que se lê para em 12pt, que ainda é o corpo da apresentação completa: abaixo
   disso o slide deixa de ser projetável, que é o único piso que importa aqui. */
html.slides.deck body[data-page^="guia-do-mobilizador"] .manual[data-slide],
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-tabela[data-slide]{gap:var(--sp-3)}
html.slides.deck body[data-page^="guia-do-mobilizador"] .manual[data-slide]::before,
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-tabela[data-slide]::before{
  margin-bottom:var(--sp-3);padding-bottom:var(--sp-2)}
/* os 7 (ou 8) passos */
html.slides.deck body[data-page^="guia-do-mobilizador"] .manual[data-slide] .step{padding:var(--sp-3)}
html.slides.deck body[data-page^="guia-do-mobilizador"] .manual[data-slide] .step-body p{
  font-size:12pt;line-height:1.3}
html.slides.deck body[data-page^="guia-do-mobilizador"] .manual[data-slide] .step-title{font-size:13pt}
html.slides.deck body[data-page^="guia-do-mobilizador"] .manual[data-slide] .step-badge{
  width:34px;height:34px;border-radius:10px}
html.slides.deck body[data-page^="guia-do-mobilizador"] .manual[data-slide] .step-badge svg{width:19px;height:19px}
/* as duas colunas de 8 itens já vêm apertadas do §8.1 — que vale nos dois
   modos, porque o bloco é denso nos dois. Aqui sobra só o rótulo da coluna. */
html.slides.deck body[data-page^="guia-do-mobilizador"] .guia-tabela[data-slide] .guia-col-rot{
  margin-bottom:var(--sp-2);padding-bottom:var(--sp-1)}

/* O capítulo que abre o deck é um `.section-head` marcado: no manual ele já é
   título + a frase que resume a seção. Centrado, é a página de abertura que um
   deck pede — e não custou um bloco novo no HTML. */
html.slides.deck body[data-page^="guia-do-mobilizador"] .section-head[data-slide]{
  text-align:center;align-items:center}
html.slides.deck body[data-page^="guia-do-mobilizador"] .section-head[data-slide] .section-sub{
  margin-left:auto;margin-right:auto}
