/* Livro de marca — camadas acima de tokens.css */
/* ── Barra superior ── */
.topo {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: .65rem clamp(1rem, 4vw, 2.5rem);
  background: color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
  transform: translateY(-110%);
  transition: transform var(--calmo) var(--curva);
}
.topo.visivel { transform: none; }
.topo-marca { font-family: var(--display); letter-spacing: .12em; text-transform: uppercase; font-size: .95rem; color: var(--green-700); }
.topo-links { display: flex; gap: 1.4rem; }
.topo-links a {
  font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink); text-decoration: none;
}
.topo-links a:hover { color: var(--terra-700); }
@media (max-width: 720px) { .topo-links { display: none; } }

/* ── Capa ── */
.capa {
  min-height: 100svh;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: var(--s6) var(--s4);
  position: relative;
}
.capa-alca {
  font-size: .8rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
  color: var(--terra-700); margin-bottom: var(--s5);
}
.capa-no { width: clamp(190px, 26vw, 300px); margin-bottom: var(--s5); }
.capa-no svg { width: 100%; height: auto; display: block; }
.capa-nome {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(2.6rem, 7vw, 4.6rem);
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--green-700); text-wrap: balance; line-height: 1.12;
}
.capa-nome .amp { color: var(--terra-500); }
.capa-advogados {
  font-family: var(--display); font-size: clamp(1rem, 2.4vw, 1.35rem);
  letter-spacing: .55em; text-indent: .55em; text-transform: uppercase;
  color: var(--terra-500); margin-top: var(--s2);
}
.capa-sub { color: var(--green-500); margin-top: var(--s4); font-size: 1.05rem; }
.capa-seta {
  position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%);
  color: var(--green-700); text-decoration: none; font-size: 1.4rem;
}
@media (prefers-reduced-motion: no-preference) {
  .capa-seta { animation: flutua 2.6s ease-in-out infinite; }
  @keyframes flutua { 50% { transform: translate(-50%, 8px); } }
}

/* o nó da capa se ata sozinho (e fica pronto sem JS/motion) */
.knot-base { stroke-dasharray: 1 0; }
.knot-windows { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .js .knot-base { stroke-dasharray: 1 1; stroke-dashoffset: 1; }
  .js .knot-windows { opacity: 0; }
  .js .capa-no.ata .knot-base { animation: atar 2.4s var(--curva) forwards; }
  .js .capa-no.ata .knot-windows { transition: opacity .8s ease 2.2s; opacity: 1; }
  @keyframes atar { to { stroke-dashoffset: 0; } }
}

/* ── Capítulos ── */
.cap { padding: var(--s7) clamp(1rem, 5vw, 3rem); }
.cap > * { max-width: var(--larg); margin-left: auto; margin-right: auto; }
.cap-head { position: relative; margin-bottom: var(--s6); }
.cap-num {
  position: absolute; top: -3.2rem; left: -.5rem; z-index: 0;
  font-family: var(--display); font-size: clamp(7rem, 16vw, 12rem); line-height: 1;
  color: var(--terra-500); opacity: .13; user-select: none;
}
.cap-alca {
  position: relative; font-size: .8rem; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase; color: var(--terra-700);
}
.cap-head h2 {
  position: relative; font-family: var(--display); font-weight: 400;
  font-size: clamp(2rem, 4.5vw, 2.9rem); letter-spacing: .06em; text-transform: uppercase;
  color: var(--green-700); margin-top: var(--s2);
}
.cap-lead { position: relative; max-width: 62ch; margin-top: var(--s3); font-size: 1.1rem; color: var(--ink); }

.cap-escuro { background: var(--green-950); color: var(--paper); }
.cap-escuro .cap-head h2 { color: var(--paper); }
.cap-escuro .cap-alca { color: var(--terra-200); }
.cap-escuro .cap-lead { color: var(--green-200); }
.cap-escuro .cap-num { color: var(--terra-200); opacity: .12; }

.cap-final { background: var(--green-700); color: var(--paper); }
.cap-final .cap-head h2 { color: var(--paper); }
.cap-final .cap-alca { color: var(--terra-200); }
.cap-final .cap-num { color: var(--paper); opacity: .1; }

.bloco-alca {
  font-size: .8rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
  color: var(--terra-700); margin: var(--s6) auto var(--s4);
}
.cap-escuro .bloco-alca { color: var(--terra-200); }

.lead { font-size: 1.1rem; max-width: 62ch; }
.lead + .lead { margin-top: var(--s3); }
.nota { max-width: 68ch; margin-top: var(--s4); font-size: .95rem; color: var(--green-500); }

.card {
  background: var(--card); border: 1px solid var(--line);
  padding: var(--s5); border-radius: 4px;
}
.card-alca {
  font-size: .75rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: var(--terra-700); margin-bottom: var(--s3);
}

/* ── I · Essência ── */
.ess-titulo {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(1.9rem, 4vw, 2.6rem); color: var(--terra-500);
  margin-bottom: var(--s4);
}
.ess-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--s4); margin-top: var(--s6); }
.voz { list-style: none; display: grid; gap: var(--s3); }
.voz strong { color: var(--green-700); }

/* ── II · Símbolo ── */
.sim-compara { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--s5); }
.sim-moldura {
  background: var(--paper); border-radius: 4px; padding: var(--s5);
  display: flex; align-items: center; justify-content: center; aspect-ratio: 1;
}
.sim-moldura img { width: 78%; }
.sim-moldura-nova { outline: 2px solid var(--terra-500); outline-offset: -2px; }
.sim-compara figcaption { margin-top: var(--s3); font-size: .95rem; color: var(--green-200); max-width: 46ch; }
.sim-compara figcaption strong { color: var(--paper); }

.niveis-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--s4); }
.nivel { text-align: center; background: var(--green-900); border: 1px solid color-mix(in srgb, var(--green-200) 18%, transparent); border-radius: 4px; padding: var(--s5) var(--s4); }
.nivel-arte { height: 130px; display: flex; align-items: center; justify-content: center; margin-bottom: var(--s4); }
.nivel-arte img { height: 100%; width: auto; }
.nivel h3 { font-family: var(--display); font-weight: 400; letter-spacing: .08em; text-transform: uppercase; font-size: 1.05rem; margin-bottom: var(--s2); }
.nivel p { font-size: .92rem; color: var(--green-200); }
.monograma {
  font-family: var(--display); font-size: 2.6rem; color: var(--paper);
  width: 110px; height: 110px; border: 2px solid var(--paper); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 5px var(--green-900), 0 0 0 6px var(--paper);
}
.mono-e { color: var(--terra-200); font-size: 1.5rem; margin: 0 .06em; }

.sim-regras { margin-top: var(--s6); }
.regras { list-style: none; display: grid; gap: var(--s2); max-width: 70ch; }
.regras li { padding-left: 1.4rem; position: relative; }
.regras li::before { content: "—"; position: absolute; left: 0; color: var(--terra-500); }
.cap-escuro .regras li::before { color: var(--terra-200); }
.cap-escuro .regras strong { color: var(--paper); }

/* ── III · Cor ── */
.cor-racional { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--s4); }
.cor-chip { display: block; width: 54px; height: 54px; border-radius: 50%; margin-bottom: var(--s3); }
.cor-racional h3 { font-family: var(--display); font-weight: 400; letter-spacing: .06em; text-transform: uppercase; font-size: 1.15rem; color: var(--green-700); margin-bottom: var(--s2); }

.paleta { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: var(--s3); }
.cor {
  border: none; border-radius: 4px; padding: var(--s4);
  min-height: 150px; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px;
  text-align: left; font: inherit; cursor: copy;
  transition: transform var(--rapido) var(--curva);
}
.cor:hover { transform: translateY(-3px); }
.cor-nome { font-weight: 700; font-size: .95rem; }
.cor-hex { font-size: .85rem; opacity: .85; font-variant-numeric: tabular-nums; }
.cor-uso { font-size: .78rem; opacity: .75; margin-top: 4px; }

.prop-barra { display: flex; height: 46px; border-radius: 4px; overflow: hidden; border: 1px solid var(--line); }
.prop-barra span + span { border-left: 1px solid rgba(0, 0, 0, .1); }
.prop-legenda { font-size: .9rem; color: var(--green-500); margin-top: var(--s2); max-width: 70ch; }

.pares { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--s3); }
.par {
  border-radius: 4px; border: 1px solid var(--line); padding: var(--s4);
  display: flex; flex-direction: column; gap: .4rem;
}
.par b { font-variant-numeric: tabular-nums; }

/* ── IV · Tipografia ── */
.tipo-par { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--s4); }
.tipo-card { background: var(--card); border: 1px solid var(--line); border-radius: 4px; padding: var(--s5); }
.tipo-amostra-display {
  font-family: var(--display); font-size: clamp(1.8rem, 3.6vw, 2.6rem);
  letter-spacing: .08em; text-transform: uppercase; color: var(--green-700);
  margin-bottom: var(--s3);
}
.tipo-abc-display { font-family: var(--display); color: var(--terra-700); letter-spacing: .1em; font-size: .95rem; overflow-wrap: anywhere; margin-bottom: var(--s3); }
.tipo-amostra-body { font-size: 1.25rem; margin-bottom: var(--s3); max-width: 40ch; }
.tipo-abc-body { color: var(--terra-700); font-size: .9rem; overflow-wrap: anywhere; margin-bottom: var(--s3); }

.escala { display: grid; gap: var(--s3); }
.esc { display: grid; grid-template-columns: 110px 1fr; align-items: baseline; gap: var(--s4); border-bottom: 1px solid var(--line); padding-bottom: var(--s3); }
.esc-tam { font-size: .8rem; color: var(--terra-700); font-variant-numeric: tabular-nums; letter-spacing: .06em; }
.esc-1 { font-family: var(--display); font-size: clamp(2.2rem, 5vw, 3.4rem); letter-spacing: .06em; text-transform: uppercase; color: var(--green-700); }
.esc-2 { font-family: var(--display); font-size: 2rem; letter-spacing: .06em; text-transform: uppercase; color: var(--green-700); }
.esc-3 { font-family: var(--display); font-size: 1.375rem; color: var(--ink); }
.esc-4 { font-size: 1.0625rem; max-width: 65ch; }
.esc-5 { font-size: .8125rem; font-weight: 600; letter-spacing: .2em; color: var(--terra-700); }

/* ── V · Fotografia ── */
.foto-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--s4); }
.foto img { border-radius: 4px; aspect-ratio: 3 / 4; object-fit: cover; width: 100%; }
.foto-duotone { filter: grayscale(1) sepia(1) hue-rotate(95deg) saturate(.85) brightness(.8) contrast(1.08); }
.foto figcaption { margin-top: var(--s2); font-size: .92rem; color: var(--green-200); }
.foto figcaption strong { color: var(--paper); }
#fotografia .regras { margin-top: var(--s5); }

/* ── VI · Aplicações (mockups) ── */
.mock-legenda { font-size: .85rem; color: var(--green-500); margin-top: var(--s2); text-align: center; }

.apx-social { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--s5); align-items: start; }

.avatar-circulo {
  width: 150px; height: 150px; margin: 0 auto; border-radius: 50%;
  background: var(--green-700); display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--line);
}
.avatar-circulo img { width: 62%; }

.post { border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: var(--white); max-width: 340px; margin: 0 auto; }
.post-topo { display: flex; align-items: center; gap: .6rem; padding: .6rem .8rem; }
.post-avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--green-700); display: flex; align-items: center; justify-content: center; flex: none; }
.post-avatar img { width: 60%; }
.post-quem { font-size: .8rem; font-weight: 700; line-height: 1.25; }
.post-quem em { font-style: normal; font-weight: 400; color: var(--green-500); }
.post-arte { aspect-ratio: 1; background: var(--green-700); color: var(--paper); padding: 1.6rem; display: flex; flex-direction: column; justify-content: center; }
.post-aspas { font-family: var(--display); font-size: 3rem; line-height: .6; color: var(--terra-200); }
.post-frase { font-family: var(--display); font-size: 1.16rem; line-height: 1.45; margin-top: .8rem; }
.post-fio { display: block; width: 44px; height: 2px; background: var(--terra-200); margin: 1rem 0 .6rem; }
.post-assina { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--green-200); }

.story {
  aspect-ratio: 9 / 16; max-width: 250px; margin: 0 auto; border-radius: 10px;
  background: linear-gradient(168deg, var(--green-950), var(--green-700) 130%);
  color: var(--paper); padding: 1.4rem; display: flex; flex-direction: column;
  border: 1px solid var(--line);
}
.story-num { font-family: var(--display); font-size: 3rem; color: var(--terra-200); }
.story-titulo { font-family: var(--display); font-size: 1.3rem; letter-spacing: .05em; text-transform: uppercase; margin-top: .4rem; }
.story-texto { font-size: .85rem; color: var(--green-200); margin-top: .7rem; }
.story-cta {
  margin-top: auto; align-self: flex-start;
  background: var(--terra-600); color: var(--white);
  font-size: .74rem; font-weight: 700; letter-spacing: .06em;
  padding: .5rem .9rem; border-radius: 999px;
}
.story-rodape { display: flex; align-items: center; gap: .5rem; margin-top: 1rem; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--green-200); }
.story-rodape img { width: 20px; }

.apx-print { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--s5); align-items: start; }
.cartao {
  aspect-ratio: 85 / 55; max-width: 330px; margin: 0 auto; border-radius: 6px;
  box-shadow: 0 14px 30px -18px rgba(20, 28, 22, .45);
  padding: 1.3rem; position: relative; overflow: hidden;
}
.cartao-frente { background: var(--green-700); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.cartao-no { width: 74px; margin-bottom: .7rem; }
.cartao-nome { font-family: var(--display); color: var(--paper); letter-spacing: .14em; text-transform: uppercase; font-size: 1.02rem; }
.cartao-adv { font-family: var(--display); color: var(--terra-200); letter-spacing: .42em; text-indent: .42em; text-transform: uppercase; font-size: .62rem; margin-top: .3rem; }
.cartao-verso { background: var(--card); border: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; }
.cv-nome { font-family: var(--display); font-size: 1.1rem; letter-spacing: .06em; color: var(--green-700); }
.cv-cargo { font-size: .72rem; color: var(--terra-700); margin: .15rem 0 .7rem; }
.cv-dado { font-size: .78rem; color: var(--ink); }
.cv-canto {
  position: absolute; right: -.55rem; bottom: -1.1rem;
  font-family: var(--display); font-size: 4.6rem; color: var(--paper-2);
}
.cv-canto span { color: var(--terra-200); font-size: 2.4rem; }

.timbrado {
  aspect-ratio: 210 / 297; max-width: 300px; margin: 0 auto;
  background: var(--white); border: 1px solid var(--line); border-radius: 3px;
  padding: 1.5rem 1.3rem; display: flex; flex-direction: column;
  box-shadow: 0 14px 30px -18px rgba(20, 28, 22, .35);
}
.tb-topo { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.4rem; }
.tb-topo img { width: 40px; }
.tb-topo span { font-family: var(--display); font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--green-700); line-height: 1.4; }
.tb-topo em { font-style: normal; color: var(--terra-500); letter-spacing: .3em; font-size: .55rem; }
.tb-linhas { display: grid; gap: .55rem; }
.tb-linhas i { display: block; height: 5px; border-radius: 3px; background: var(--paper-2); }
.tb-pe { margin-top: auto; font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; color: var(--green-500); border-top: 1px solid var(--line); padding-top: .6rem; }

.apx-ooh { max-width: 900px; }
.ooh-cena {
  background: linear-gradient(var(--paper-2), var(--paper) 78%);
  border: 1px solid var(--line); border-radius: 6px;
  padding: clamp(1.5rem, 5vw, 3.5rem) clamp(1rem, 6vw, 4rem) 0;
  perspective: 1100px; overflow: hidden;
}
.outdoor { transform: rotateY(-9deg) rotateX(2deg); transform-style: preserve-3d; }
.outdoor-arte {
  aspect-ratio: 3 / 1; background: var(--green-700); border-radius: 3px;
  box-shadow: 24px 30px 60px -30px rgba(20, 28, 22, .55);
  padding: clamp(1rem, 4vw, 2.4rem) clamp(1.2rem, 5vw, 3rem);
  display: flex; flex-direction: column; justify-content: space-between;
}
.outdoor-frase {
  font-family: var(--display); color: var(--paper);
  font-size: clamp(1.05rem, 3.2vw, 2rem); line-height: 1.3; letter-spacing: .02em;
}
.outdoor-frase em { font-style: normal; color: var(--terra-200); }
.outdoor-marca { display: flex; align-items: center; gap: .6rem; font-size: clamp(.55rem, 1.4vw, .8rem); letter-spacing: .2em; text-transform: uppercase; color: var(--green-200); }
.outdoor-marca img { width: clamp(18px, 3vw, 30px); }
.outdoor-pe { display: block; width: 12px; height: clamp(40px, 8vw, 84px); background: var(--ink); margin: 0 auto; opacity: .82; }
.outdoor-pe2 { transform: translateX(160px); margin-top: calc(clamp(40px, 8vw, 84px) * -1); }

.mock-email { max-width: 620px; }
.email { background: var(--white); border: 1px solid var(--line); border-radius: 6px; padding: var(--s5); }
.email-corpo { color: var(--green-500); font-size: .95rem; border-bottom: 1px solid var(--line); padding-bottom: var(--s4); margin-bottom: var(--s4); }
.email-assina { display: flex; gap: var(--s3); align-items: center; }
.email-no { width: 52px; flex: none; }
.ea-nome { font-family: var(--display); letter-spacing: .06em; color: var(--green-700); font-size: 1.05rem; }
.ea-cargo { font-size: .8rem; color: var(--terra-700); }
.ea-firma { font-size: .8rem; color: var(--green-500); }

/* ── VII · Próximos passos ── */
.passos { list-style: none; counter-reset: passo; display: grid; gap: var(--s4); max-width: 640px; }
.passos li { counter-increment: passo; position: relative; padding-left: 3.4rem; }
.passos li::before {
  content: "0" counter(passo);
  position: absolute; left: 0; top: -.1rem;
  font-family: var(--display); font-size: 1.6rem; color: var(--terra-200);
}
.cap-final .passos strong { color: var(--white); }

/* ── Rodapé ── */
.rodape { background: var(--green-950); color: var(--green-200); text-align: center; padding: var(--s6) var(--s4); }
.rodape-no { width: 56px; margin: 0 auto var(--s3); }
.rodape-marca { font-family: var(--display); letter-spacing: .18em; text-transform: uppercase; color: var(--paper); }
.rodape-micelize { font-size: .85rem; margin-top: var(--s2); }
.rodape-micelize strong { color: var(--terra-200); font-weight: 600; }

/* ── Revelação ao rolar ── */
.reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  .js .reveal { opacity: 0; transform: translateY(22px); transition: opacity var(--calmo) var(--curva), transform var(--calmo) var(--curva); }
  .js .reveal.em { opacity: 1; transform: none; }
}

/* ── Nós inline (<use>): tamanho herda do contexto; cor via tokens ── */
.sim-moldura svg, .nivel-arte svg { width: 78%; height: auto; }
.nivel-arte svg { width: auto; height: 100%; }
.nivel-arte { --knot-ink: var(--paper); --knot-paper: var(--green-900); }
.avatar-circulo svg { width: 62%; height: auto; }
.avatar-circulo, .post-avatar, .cartao-frente, .outdoor-arte { --knot-ink: var(--paper); --knot-paper: var(--green-700); }
.post-avatar svg { width: 60%; height: auto; }
.story-rodape svg { width: 20px; height: 20px; }
.story-rodape, .rodape { --knot-ink: var(--paper); --knot-paper: transparent; }
.cartao-no { width: 74px; height: 74px; margin-bottom: .7rem; }
.tb-topo svg { width: 40px; height: 40px; flex: none; }
.outdoor-marca svg { width: clamp(18px, 3vw, 30px); height: auto; }
.email-no svg { width: 100%; height: auto; }
.rodape-no { width: 56px; height: 56px; margin: 0 auto var(--s3); display: block; }

/* nós via <use>: quadrados por natureza */
.uso { aspect-ratio: 1; height: auto; display: block; }
.nivel-arte .uso { height: 100%; width: auto; }
.story-rodape .uso { height: 20px; }
.tb-topo .uso { height: 40px; }


/* ── Usos incorretos do símbolo (capítulo II) ── */
.sim-nao { margin-top: var(--s6); }
.nao-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--s3); }
.nao-celula { text-align: center; }
.nao-arte {
  position: relative; aspect-ratio: 1; border-radius: 4px;
  background: var(--green-900); border: 1px solid color-mix(in srgb, var(--green-200) 18%, transparent);
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  --knot-ink: var(--paper); --knot-paper: var(--green-900);
}
.nao-arte svg { width: 58%; height: auto; }
.nao-arte::after {
  content: "✕"; position: absolute; top: 6px; right: 10px;
  color: #E4574B; font-size: 1.1rem; font-weight: 700;
}
.nao-arte-fundo { background: var(--terra-600); }
.nao-arte-caixa svg { outline: 3px solid var(--terra-200); outline-offset: 8px; }
.nao-celula figcaption { margin-top: var(--s2); font-size: .85rem; color: var(--green-200); }

/* ── A voz (capítulo V) ── */
.voz-pares { display: grid; gap: var(--s4); max-width: 900px; }
.voz-par { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); }
@media (max-width: 720px) { .voz-par { grid-template-columns: 1fr; } }
.voz-certo, .voz-evita { border-radius: 4px; padding: var(--s4); }
.voz-certo { background: var(--card); border: 1px solid var(--line); }
.voz-evita { background: var(--paper-2); border: 1px dashed var(--line); color: var(--ink); }
.voz-tag {
  display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; margin-bottom: var(--s2);
}
.voz-certo .voz-tag { color: var(--green-500); }
.voz-evita .voz-tag { color: var(--terra-700); }
.voz-certo p { font-family: var(--display); font-size: 1.05rem; color: var(--green-700); }
.voz-evita p { font-size: .98rem; text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--terra-500) 55%, transparent); }
.voz-evita em { display: block; margin-top: var(--s2); font-size: .82rem; color: var(--terra-700); font-style: normal; }
.voz-canais { margin-top: var(--s6); }

/* ── Sistema vivo (capítulo final) ── */
.vivo { max-width: 640px; margin-bottom: var(--s6); }
.vivo-texto { color: var(--green-200); margin-bottom: var(--s4); }
.cap-final .vivo .regras strong { color: var(--white); }
