/* Site oficial: cartaz construtivista (vermelho, preto e amarelo). */
:root {
  --vermelho: #b3121b;
  --vermelho-escuro: #7a0a10;
  --amarelo: #ffe066;
  --preto: #120c10;
  --cinza: #1e1820;
  --texto: #fff6ea;
  --suave: #ffd0d0;
  --fonte: "Jersey 10", "Trebuchet MS", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--preto);
  color: var(--texto);
  font: 22px/1.35 var(--fonte);
  letter-spacing: .02em;
}
a { color: var(--amarelo); }
img, canvas { image-rendering: pixelated; }

/* ---------- topo ---------- */
.topo {
  position: sticky; top: 0; z-index: 10;
  display: flex; align-items: center; gap: 16px;
  padding: 8px 20px;
  background: var(--preto);
  border-bottom: 4px solid var(--amarelo);
}
.marca { color: var(--texto); text-decoration: none; font-size: 28px; white-space: nowrap; }
.estrela { color: var(--vermelho); }
.marca .estrela { color: var(--amarelo); }
.menu { display: flex; gap: 18px; margin-left: auto; flex-wrap: wrap; }
.menu a { color: var(--texto); text-decoration: none; font-size: 20px; }
.menu a:hover { color: var(--amarelo); }
.idiomas { display: flex; border: 2px solid var(--amarelo); }
.idiomas button {
  font: 20px var(--fonte); color: var(--texto); background: none;
  border: 0; padding: 2px 10px; cursor: pointer;
}
.idiomas button[aria-pressed="true"] { background: var(--amarelo); color: var(--preto); }

/* ---------- capa ---------- */
.capa {
  position: relative;
  display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 24px;
  padding: 48px 6vw 56px;
  background:
    repeating-conic-gradient(from 0deg at 78% 55%, #c8202a 0 11.25deg, #9e0f17 11.25deg 22.5deg),
    var(--vermelho);
  overflow: hidden;
}
.capa-texto { position: relative; z-index: 1; background: var(--preto); padding: 28px 32px; border-top: 6px solid var(--amarelo); border-bottom: 6px solid var(--amarelo); }
.selo { display: inline-block; margin: 0 0 8px; padding: 2px 10px; background: var(--amarelo); color: var(--preto); font-size: 20px; }
h1 { margin: 0; line-height: .9; }
.h1-lula { display: block; font-size: 64px; }
.h1-hipo {
  display: block;
  font-size: clamp(64px, 11vw, 168px);
  color: var(--amarelo);
  text-shadow: 6px 6px 0 #000, -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000;
}
.nao-e { margin: 8px 0 0; color: #ff9e9e; font-size: 24px; }
.sub { margin: 14px 0 0; font-size: 30px; }
.sub strong { color: #ff4d4d; font-weight: normal; }
.acoes { display: flex; gap: 14px; margin-top: 22px; flex-wrap: wrap; }
.nota { color: var(--suave); font-size: 18px; margin: 12px 0 0; }
#cena { width: 100%; max-width: 560px; height: auto; justify-self: center; background: transparent; }
/* Itens de grid não podem crescer além da coluna por causa do conteúdo (canvas, títulos). */
.capa > *, .cards > *, .galeria > *, .mapa > * { min-width: 0; }

.botao {
  display: inline-block; padding: 10px 26px;
  font: 30px var(--fonte); text-decoration: none;
  border: 4px solid #000; box-shadow: 6px 6px 0 #000;
  transition: transform .08s, box-shadow .08s;
}
.botao:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 #000; }
.botao:active { transform: translate(4px, 4px); box-shadow: 2px 2px 0 #000; }
.botao-jogar { background: var(--amarelo); color: var(--preto); }
.botao-sec { background: var(--preto); color: var(--texto); border-color: var(--amarelo); }
.botao-apoio { background: #32bcad; color: #031a17; }

/* ---------- seções ---------- */
.faixa { padding: 56px 6vw; background: var(--vermelho); }
.faixa.escura { background: var(--cinza); }
h2 {
  display: inline-block; margin: 0 0 18px; padding: 4px 18px;
  font: 52px var(--fonte); background: var(--preto); color: var(--amarelo);
  transform: rotate(-2deg); box-shadow: 6px 6px 0 rgba(0,0,0,.4);
}
.escura h2 { background: var(--vermelho); color: var(--texto); }
.intro { max-width: 900px; font-size: 26px; margin: 0 0 24px; }
.centro { text-align: center; }

.cards { display: grid; gap: 20px; }
.cards.tres { grid-template-columns: repeat(3, 1fr); }
.cards.dois { grid-template-columns: repeat(2, 1fr); }
.card { background: var(--preto); padding: 20px 22px; border-left: 6px solid var(--amarelo); }
.card h3 { margin: 0 0 6px; font: 32px var(--fonte); color: var(--amarelo); }
.card p { margin: 0 0 12px; }
.icone { font-size: 44px; color: var(--vermelho); }

.galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 18px; }
.ficha { background: var(--preto); border: 4px solid #000; box-shadow: 6px 6px 0 rgba(0,0,0,.4); }
.ficha canvas { display: block; width: 100%; aspect-ratio: 1; background: linear-gradient(#2a1d2c, #120c10); }
.ficha .info { padding: 10px 14px 14px; }
.ficha h3 { margin: 0; font: 28px var(--fonte); color: var(--amarelo); }
.ficha .papel { margin: 0 0 6px; color: #ff9e9e; font-size: 18px; }
.ficha p { margin: 0; font-size: 19px; }
.ficha.chefe { border-color: var(--amarelo); }

.mapa { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; counter-reset: area; }
.mapa li { background: var(--preto); padding: 16px; position: relative; counter-increment: area; }
.mapa li::before { content: counter(area); position: absolute; top: -14px; left: -10px; width: 40px; height: 40px; display: grid; place-items: center; background: var(--amarelo); color: var(--preto); font-size: 30px; }
.mapa h3 { margin: 10px 0 6px; font: 28px var(--fonte); color: var(--amarelo); }
.mapa p { margin: 0 0 8px; font-size: 19px; }
.mapa .chefe-area { color: #ff9e9e; font-size: 18px; }

.teclas { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 0; }
.teclas dt { color: var(--amarelo); }
.teclas dd { margin: 0; }
.dicas { margin: 0; padding-left: 22px; }
.dicas li { margin-bottom: 6px; }

.aviso { max-width: 980px; background: var(--preto); padding: 20px 26px; border-left: 6px solid var(--amarelo); }
.aviso p { margin: 0 0 8px; }
.aviso p:first-child { color: var(--amarelo); font-size: 26px; }

.rodape { padding: 26px 6vw 40px; background: #000; text-align: center; }
.rodape p { margin: 4px 0; }

/* ---------- celular ---------- */
@media (max-width: 900px) {
  body { font-size: 20px; }
  .topo { flex-wrap: wrap; padding: 8px 16px; gap: 8px; }
  .menu { order: 3; width: 100%; margin: 0; gap: 12px; overflow-x: auto; flex-wrap: nowrap; }
  .menu a { white-space: nowrap; }
  .idiomas { margin-left: auto; }
  .capa { grid-template-columns: 1fr; padding: 24px 16px 32px; }
  .capa-texto { padding: 20px 18px; }
  .h1-lula { font-size: 44px; }
  .sub { font-size: 24px; }
  .faixa { padding: 40px 16px; }
  h2 { font-size: 42px; }
  .cards.tres, .cards.dois { grid-template-columns: 1fr; }
  .mapa { grid-template-columns: 1fr; gap: 22px; }
}
