

.marca-simbolo { width: 46px; height: 34px; color: var(--accent); }
.marca-nome { font-size: 1.45rem; }
@media (max-width: 900px) { .marca-simbolo { width: 36px; height: 26px; } }

.onda-1420 {
  display: block; width: min(100%, 30rem); height: 24px;
  color: var(--onda); opacity: .55; margin-top: 1.6rem;
}
.heroi .onda-1420 { opacity: .35; }
.rodape .onda-1420 { width: 12rem; height: 16px; margin: 0 0 .9rem; opacity: .45; }
.texto .onda-1420 { width: 9rem; height: 16px; margin: 2.6em 0; color: var(--onda-fim); opacity: .7; }

.heroi-in { grid-template-columns: minmax(0, 1fr) !important; }
.heroi-texto { max-width: 52rem; }
.heroi .lead { font-size: 1.3rem; }
.heroi-selo { width: clamp(3.25rem, 7vw, 4.5rem); height: clamp(3.25rem, 7vw, 4.5rem); color: var(--accent); margin-bottom: 1rem; }

.migalhas { font-size: .95rem; color: var(--muted); }
.migalhas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem .5rem; }
.migalhas li + li::before { content: "/"; margin-inline-end: .5rem; color: var(--rule-strong); }
.migalhas a { color: var(--muted); }
.migalhas a:hover { color: var(--accent); }

.texto { max-width: var(--texto); font-size: 1.16rem; line-height: 1.75; color: var(--ink); }
.texto > * + * { margin-top: 1.15em; }
.texto h2 {
  font-family: var(--f-display); font-size: clamp(1.7rem, 3vw, 2.2rem); line-height: 1.15;
  margin-top: 2.2em;
}
.texto h3 { font-size: 1.2rem; font-weight: 600; margin-top: 1.8em; }
.texto h2 + *, .texto h3 + * { margin-top: .7em; }
.texto strong { color: var(--ink); }
.texto ul, .texto ol { padding-inline-start: 1.3em; }
.texto li + li { margin-top: .35em; }
.texto blockquote {
  margin-inline: 0; padding: .2em 0 .2em 1.2em;
  border-left: 2px solid var(--ouro);
  font-family: var(--f-display); font-size: 1.45rem; line-height: 1.35; color: var(--ink-2);
}
.texto hr { border: 0; height: 1px; background: var(--rule); margin-block: 2.5em; }
.texto a { font-weight: 500; }

.capitulo-num {
  display: block; font-family: var(--f-display); font-size: 1.15rem; color: var(--muted);
  margin-top: .9rem;
}

.capitulos { list-style: none; margin: 0; padding: 0; max-width: 50rem; border-top: 1px solid var(--rule); }
.capitulos li { border-bottom: 1px solid var(--rule); }
.capitulos a {
  display: grid; grid-template-columns: 3.2rem 1fr; gap: .2rem 1rem;
  padding: 1.3rem 0; text-decoration: none; color: var(--ink);
}
.capitulos a:hover .capitulos-tit { color: var(--accent); }
.capitulos-num { grid-row: span 2; font-family: var(--f-display); font-size: 2.2rem; line-height: 1; color: var(--ouro); }
.capitulos-tit { font-family: var(--f-display); font-size: 1.6rem; line-height: 1.15; transition: color var(--dur) ease; }
.capitulos-desc { color: var(--ink-2); font-size: 1.02rem; }

.cap-nav { display: grid; gap: 1rem; margin-top: 3rem; max-width: 50rem; }
@media (min-width: 640px) { .cap-nav { grid-template-columns: 1fr 1fr; } }
.cap-nav a {
  display: block; padding: 1.1rem 1.25rem; text-decoration: none;
  background: var(--surface); border: 1px solid var(--rule); border-radius: 14px; color: var(--ink);
}
.cap-nav a:hover { border-color: var(--accent); background: var(--wash); }
.cap-nav small { display: block; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.cap-nav span { display: block; font-family: var(--f-display); font-size: 1.4rem; line-height: 1.2; margin-top: .3rem; }
.cap-nav .proximo { text-align: end; }
@media (min-width: 640px) { .cap-nav .proximo:only-child { grid-column: 2; } }

.rodape-in { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 901px) { .rodape-in { grid-template-columns: 1.6fr 1fr 1fr; } }

@media (max-width: 420px) {
  .topo-in { gap: .5rem; }
  .marca { gap: .4rem; }
  .marca-nome { font-size: 1.2rem; }
  .marca-sufixo { letter-spacing: .2em; }
  .idiomas a { padding: .3rem .28rem; font-size: .75rem; }
}

.manifesto { margin: 0 0 2.5rem; max-width: 56rem; }
.manifesto img {
  width: 100%; height: auto; border-radius: 14px;
  border: 1px solid var(--rule); background: var(--surface-2);
}
.manifesto figcaption { margin-top: .7rem; color: var(--muted); font-size: .95rem; }

.temas { list-style: none; margin: 0 0 2.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.temas a {
  display: inline-flex; align-items: center; min-height: 40px; padding: .35rem .9rem;
  border: 1px solid var(--rule); border-radius: 100px; background: var(--surface);
  color: var(--ink-2); text-decoration: none; font-size: .95rem; font-weight: 600;
}
.temas a:hover { border-color: var(--accent); color: var(--accent); }
.tema { max-width: 50rem; }
.tema + .tema { margin-top: 2.75rem; }
.tema h2, .relacionadas h2 {
  font-family: var(--f-display); font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.15;
  padding-bottom: .6rem; border-bottom: 1px solid var(--rule);
}
.perguntas-lista { list-style: none; margin: 0; padding: 0; }
.perguntas-lista li { padding: 1rem 0; border-bottom: 1px solid var(--rule-soft); }
.perguntas-lista a { font-size: 1.12rem; font-weight: 600; color: var(--ink); text-decoration: none; }
.perguntas-lista a:hover { color: var(--accent); text-decoration: underline; }
.perguntas-lista p { margin-top: .3rem; color: var(--ink-2); font-size: 1.02rem; }
.relacionadas { max-width: 50rem; margin-top: 3rem; }

:lang(zh-Hans) .kicker, :lang(zh-Hans) .cap-nav small, :lang(zh-Hans) .rodape-tit { letter-spacing: .06em; }
:lang(zh-Hans) .heroi h1, :lang(zh-Hans) .pagina-cab h1 { line-height: 1.25; letter-spacing: 0; }
:lang(zh-Hans) .texto { line-height: 1.9; line-break: strict; overflow-wrap: break-word; }
:lang(zh-Hans) .texto h2, :lang(zh-Hans) .capitulos-tit, :lang(zh-Hans) .cap-nav span { line-height: 1.35; }
:lang(zh-Hans) .lead { line-height: 1.75; }
:lang(zh-Hans) em, :lang(zh-Hans) i { font-style: normal; text-emphasis: filled dot; text-emphasis-position: under right; }
:lang(zh-Hans) .texto blockquote { line-height: 1.6; }
