/* Aldaria Reborn — tokens visuais v0.2 (direção de arte do mockup aprovado em 14/11/2026):
 * azul quase preto, molduras douradas, botões azul profundo com ouro.
 * Os pares de contraste usados no site são verificados em tests/acessibilidade.test.mjs (WCAG AA). */
:root {
  --cor-fundo: #060a14;
  --cor-fundo-2: #0a1020;
  --cor-superficie: #0e1628;
  --cor-superficie-2: #141e35;
  --cor-borda: #283350;
  --cor-borda-forte: #a07a36;
  --cor-ouro: #e2b867;
  --cor-ouro-claro: #f6d995;
  --cor-ouro-escuro: #9c7330;
  --cor-texto: #eef1f7;
  --cor-texto-suave: #aab4c8;
  --cor-texto-mudo: #8792a8;
  --cor-azul: #2f63dd;
  --cor-azul-escuro: #16337f;
  --cor-azul-claro: #8ab8ff;
  --cor-texto-botao: #fff6dc;
  --cor-aviso: #f0bf73;
  --cor-foco: #ffd98a;

  --grad-ouro: linear-gradient(145deg, #f8dea0 0%, #a87b34 32%, #ecc778 58%, #8a6226 100%);
  --grad-texto-ouro: linear-gradient(180deg, #fff3cc 0%, #f3cf80 38%, #c38c3a 72%, #f0cd80 100%);
  --grad-cartao: linear-gradient(180deg, rgba(22, 32, 58, .97), rgba(10, 16, 32, .98));

  --fonte-titulo: "Palatino Linotype", Palatino, "Book Antiqua", "URW Palladio L", "P052", Georgia, "Times New Roman", serif;
  --fonte-texto: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;
  --fonte-mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, "Liberation Mono", monospace;

  --largura: 72rem;
  --largura-larga: 90rem;
  --largura-estreita: 52rem;
  --raio: 10px;
  --raio-pequeno: 6px;
  --sombra: 0 14px 40px rgba(0, 0, 0, .5);
  --altura-topo: 4.75rem;
  --transicao: .18s ease;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--altura-topo) + 1rem);
  background: var(--cor-fundo);
  color-scheme: dark;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(47, 99, 221, .08), rgba(47, 99, 221, 0) 70%),
    var(--cor-fundo);
  color: var(--cor-texto);
  font-family: var(--fonte-texto);
  font-size: 1.0625rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
}

h1, h2, h3 {
  font-family: var(--fonte-titulo);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .01em;
  margin: 0 0 .6em;
  color: var(--cor-texto);
}
h3 { font-size: 1.25rem; }

p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

a { color: var(--cor-ouro); text-underline-offset: .18em; text-decoration-thickness: 1px; transition: color var(--transicao); }
a:hover { color: var(--cor-ouro-claro); }

img, svg { display: block; max-width: 100%; }
img { height: auto; }

code, pre { font-family: var(--fonte-mono); font-size: .92em; }

:where(ul[class], ol[class]) { margin: 0; padding: 0; list-style: none; }

:focus-visible {
  outline: 3px solid var(--cor-foco);
  outline-offset: 3px;
  border-radius: 4px;
}
main:focus { outline: none; }

.sr {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

.pular {
  position: absolute;
  left: 1rem; top: -4rem;
  z-index: 100;
  padding: .7rem 1.1rem;
  background: var(--cor-ouro);
  color: #17120a;
  font-weight: 700;
  border-radius: var(--raio-pequeno);
  text-decoration: none;
}
.pular:focus { top: 1rem; color: #17120a; }

.icone { width: 1.25em; height: 1.25em; flex: none; }

/* Texto dourado com gradiente; em alto contraste do sistema, volta à cor normal. */
.texto-ouro, .logo-hero__reborn, .titulo-ornamento__texto, .faixa__titulo {
  background: var(--grad-texto-ouro);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@media (forced-colors: active) {
  .texto-ouro, .logo-hero__reborn, .titulo-ornamento__texto, .faixa__titulo {
    background: none; color: CanvasText;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

.container, .container-largo {
  width: 100%;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2rem);
}
.container { max-width: var(--largura); }
.container-largo { max-width: var(--largura-larga); }

/* ---- Cabeçalho ---- */
.topo {
  position: sticky; top: 0; z-index: 50;
  background: rgba(6, 10, 20, .95);
}
@supports (backdrop-filter: blur(6px)) {
  .topo { background: rgba(6, 10, 20, .84); backdrop-filter: blur(12px); }
}
.topo::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, rgba(226, 184, 103, 0), rgba(226, 184, 103, .75) 20%, #f6d995 50%, rgba(226, 184, 103, .75) 80%, rgba(226, 184, 103, 0));
}
.topo__barra { display: flex; align-items: center; gap: 1.25rem; min-height: var(--altura-topo); }

.marca { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; margin: 0 auto 0 0; flex: none; }
.marca__reborn { font-size: .78rem; font-weight: 600; letter-spacing: .5em; color: var(--cor-texto); margin-top: .2rem; padding-left: .12em; }

.topo__nav { display: flex; align-items: center; gap: 1rem; flex: 1; justify-content: flex-end; }
.nav-lista, .nav-futuro { display: flex; align-items: center; gap: .25rem; }
.nav-lista { margin-right: auto; margin-left: auto; }
.nav-lista a {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .5rem .85rem;
  color: var(--cor-texto);
  text-decoration: none;
  font-size: 1rem; font-weight: 500;
  border: 1px solid transparent;
  border-radius: 8px;
  transition: color var(--transicao), background-color var(--transicao), border-color var(--transicao);
}
.nav-lista a .icone { color: var(--cor-ouro); }
.nav-lista a:hover { color: var(--cor-ouro-claro); background: rgba(226, 184, 103, .07); }
.nav-lista a[aria-current="page"] {
  color: var(--cor-ouro-claro);
  border-color: var(--cor-borda-forte);
  background: linear-gradient(180deg, rgba(226, 184, 103, .16), rgba(226, 184, 103, .04));
  box-shadow: inset 0 0 12px rgba(226, 184, 103, .12);
}

.nav-futuro__item {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .45rem .6rem;
  color: var(--cor-texto-mudo);
  font-size: .95rem;
  cursor: default;
}
.nav-futuro__item small {
  font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--cor-ouro-escuro);
  border: 1px solid rgba(160, 122, 54, .5);
  border-radius: 999px;
  padding: .05rem .4rem;
  color: #c9a560;
}

.idiomas { display: flex; gap: .1rem; padding: 0 .25rem 0 .75rem; border-left: 1px solid var(--cor-borda); }
.idiomas a {
  display: inline-block;
  padding: .35rem .45rem;
  font-size: .8rem; font-weight: 700; letter-spacing: .08em;
  color: var(--cor-texto-suave);
  text-decoration: none;
  border-radius: 4px;
}
.idiomas a:hover { color: var(--cor-ouro-claro); }
.idiomas a[aria-current="true"] { color: var(--cor-ouro); box-shadow: inset 0 -2px 0 var(--cor-ouro); }

.topo__menu {
  display: none;
  align-items: center; gap: .45rem;
  padding: .55rem .85rem;
  background: rgba(14, 22, 40, .8);
  color: var(--cor-texto);
  border: 1px solid var(--cor-borda-forte);
  border-radius: 8px;
  font: inherit; font-size: .95rem;
  cursor: pointer;
}
.topo__menu .icone { color: var(--cor-ouro); }

@media (max-width: 1279.98px) {
  .js .topo__menu { display: inline-flex; }
  .topo__barra { flex-wrap: wrap; }
  .topo__nav { flex-basis: 100%; flex-direction: column; align-items: stretch; gap: .9rem; padding-bottom: 1.1rem; }
  .nav-lista, .nav-futuro { flex-direction: column; align-items: stretch; margin: 0; }
  .nav-lista a { padding: .75rem .6rem; font-size: 1.05rem; }
  .nav-futuro { border-top: 1px solid var(--cor-borda); padding-top: .6rem; }
  .nav-futuro__item { padding: .55rem .6rem; }
  .idiomas { border-left: 0; padding: .6rem 0 0; justify-content: center; border-top: 1px solid var(--cor-borda); }
  .idiomas a { padding: .5rem .9rem; }
  .topo__cta { width: 100%; }
  .js .topo__nav { display: none; }
  .js .topo__nav.aberto { display: flex; }
}
@media (max-width: 480px) {
  .topo__barra { gap: .5rem; }
  .marca__reborn { font-size: .66rem; letter-spacing: .42em; }
  .topo__menu { padding: .5rem .65rem; font-size: .9rem; }
}

/* ---- Aviso de idioma ---- */
.aviso-idioma { background: var(--cor-superficie-2); border-bottom: 1px solid var(--cor-borda); font-size: .95rem; }
.aviso-idioma__conteudo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding-block: .6rem; }
.botao-texto { background: none; border: 0; padding: .3rem .4rem; color: var(--cor-texto-suave); font: inherit; text-decoration: underline; cursor: pointer; }
.botao-texto:hover { color: var(--cor-texto); }

/* ---- Rodapé ---- */
.rodape {
  position: relative;
  background: linear-gradient(180deg, #070b16, #04070e);
  color: var(--cor-texto-suave);
  font-size: .95rem;
}
.rodape::before {
  content: "";
  position: absolute; left: 0; right: 0; top: 0; height: 1px;
  background: linear-gradient(90deg, rgba(226, 184, 103, 0), rgba(226, 184, 103, .7) 25%, rgba(226, 184, 103, .7) 75%, rgba(226, 184, 103, 0));
}
.rodape__grade { display: grid; gap: 2rem 2.5rem; grid-template-columns: 1.5fr 1fr 1fr 1fr; padding-block: 3.5rem 2.5rem; }
.marca--rodape { margin-bottom: 1rem; }
.rodape__titulo { font-size: 1.05rem; color: var(--cor-ouro); letter-spacing: .04em; margin-bottom: .9rem; }
.rodape__oficial { display: flex; gap: .5rem; align-items: flex-start; color: var(--cor-ouro); }
.rodape__oficial .icone { margin-top: .15em; }
.rodape__nav ul { display: grid; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.rodape a { color: var(--cor-texto-suave); }
.rodape a:hover { color: var(--cor-ouro-claro); }
.rodape__info p { margin-bottom: .55rem; }
.rodape__base { border-top: 1px solid #141c30; }
.rodape__base p { margin: 0; padding-block: 1.1rem; font-size: .88rem; color: var(--cor-texto-mudo); text-align: center; }

@media (max-width: 1100px) { .rodape__grade { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .rodape__grade { grid-template-columns: 1fr; } }

/* Cabeçalho em larguras intermediárias (ex.: 1366 px): sem quebras de linha. */
.nav-lista a, .nav-futuro__item, .topo__cta { white-space: nowrap; }
@media (min-width: 1280px) and (max-width: 1599.98px) {
  .topo__barra { gap: .9rem; }
  .topo__nav { gap: .6rem; }
  .nav-lista a { padding: .5rem .65rem; }
  .nav-futuro__item { padding: .45rem .4rem; font-size: .9rem; }
  .nav-futuro__item .icone { display: none; }
  .topo__cta { padding-inline: 1.1rem; font-size: 1rem; min-height: 2.6rem; }
  .topo__cta .botao__nota { display: none; }
}

/* ---- Moldura dourada (cards, painéis) ---- */
.moldura {
  position: relative;
  background: var(--grad-cartao) padding-box, var(--grad-ouro) border-box;
  border: 1.5px solid transparent;
  border-radius: var(--raio);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .45), inset 0 0 28px rgba(226, 184, 103, .05);
}
.moldura::before {
  content: "";
  position: absolute; inset: 4px;
  border: 1px solid rgba(226, 184, 103, .16);
  border-radius: calc(var(--raio) - 3px);
  pointer-events: none;
}
@media (hover: hover) {
  .recurso, .noticia, .classe, .galeria__item { transition: transform var(--transicao), box-shadow var(--transicao); }
  .recurso:hover, .noticia:hover, .classe:hover, .galeria__item:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .55), 0 0 0 1px rgba(246, 217, 149, .25), 0 0 26px rgba(226, 184, 103, .14);
  }
}

/* ---- Botões ---- */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  min-height: 2.9rem;
  padding: .7rem 1.4rem;
  border-radius: 999px;
  border: 2px solid transparent;
  font-family: var(--fonte-titulo);
  font-size: 1.05rem; font-weight: 700; letter-spacing: .02em;
  line-height: 1.15;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--transicao), box-shadow var(--transicao), filter var(--transicao), color var(--transicao);
}
.botao--grande { min-height: 3.4rem; padding: .85rem 1.9rem; font-size: 1.15rem; }
.botao--primario {
  color: var(--cor-texto-botao);
  background: linear-gradient(180deg, #2f63dd 0%, #2350c4 52%, #16337f 100%) padding-box,
              linear-gradient(180deg, #fff0c0 0%, #c99033 48%, #f8dc98 100%) border-box;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .6), 0 10px 26px rgba(40, 90, 220, .35), inset 0 1px 0 rgba(255, 255, 255, .3);
  text-shadow: 0 1px 1px rgba(0, 0, 0, .55);
}
.botao--primario:hover:not(:disabled) {
  color: #fff;
  transform: translateY(-1px);
  filter: brightness(1.08);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .6), 0 12px 30px rgba(60, 110, 240, .45), 0 0 22px rgba(246, 217, 149, .3), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.botao--secundario {
  color: var(--cor-ouro-claro);
  background: linear-gradient(180deg, rgba(14, 22, 40, .92), rgba(6, 10, 20, .92)) padding-box, var(--grad-ouro) border-box;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .55), 0 8px 22px rgba(0, 0, 0, .35);
}
.botao--secundario:hover { color: #fff3cc; transform: translateY(-1px); box-shadow: 0 0 0 1px rgba(0, 0, 0, .55), 0 10px 26px rgba(0, 0, 0, .4), 0 0 20px rgba(226, 184, 103, .22); }
.botao:disabled, .botao--desativado {
  cursor: not-allowed;
  color: #cfd5e2;
  filter: saturate(.3) brightness(.82);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .55);
  text-shadow: none;
}
.botao__nota {
  font-family: var(--fonte-texto);
  font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: .12rem .5rem;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 999px;
}
.botao .icone { width: 1.2em; height: 1.2em; }

.botao-copiar {
  display: inline-flex; align-items: center; gap: .4rem;
  margin-top: .5rem;
  padding: .4rem .8rem;
  background: rgba(6, 10, 20, .6);
  color: var(--cor-ouro);
  border: 1px solid var(--cor-borda-forte);
  border-radius: 999px;
  font: inherit; font-size: .88rem; font-weight: 600;
  cursor: pointer;
  transition: border-color var(--transicao), color var(--transicao);
}
.botao-copiar:hover { border-color: var(--cor-ouro); color: var(--cor-ouro-claro); }
.botao-copiar.copiado { border-color: var(--cor-ouro); background: rgba(226, 184, 103, .12); }

/* ---- Títulos de seção com ornamento ---- */
.titulo-ornamento {
  display: flex; align-items: center; justify-content: center; gap: .8rem;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  margin: 0 0 1.4rem;
  text-align: center;
}
.titulo-ornamento__icone { width: 1.05em; height: 1.05em; color: var(--cor-ouro); flex: none; }
.titulo-ornamento__linha {
  position: relative;
  flex: 0 1 11rem; height: 1px;
  background: linear-gradient(90deg, rgba(226, 184, 103, 0), var(--cor-ouro));
}
.titulo-ornamento__linha:last-child { background: linear-gradient(90deg, var(--cor-ouro), rgba(226, 184, 103, 0)); }
.titulo-ornamento__linha::after {
  content: "";
  position: absolute; right: -4px; top: -4px;
  width: 9px; height: 9px;
  background: var(--cor-ouro-claro);
  transform: rotate(45deg);
  box-shadow: 0 0 8px rgba(246, 217, 149, .6);
}
.titulo-ornamento__linha:last-child::after { right: auto; left: -4px; }
.titulo-ornamento--esquerda { justify-content: flex-start; text-align: left; }
.titulo-ornamento--esquerda .titulo-ornamento__linha:first-child { display: none; }
.titulo-ornamento--esquerda .titulo-ornamento__linha:last-child { flex-basis: 4rem; }
.titulo-ornamento--esquerda .titulo-ornamento__texto { flex: 0 1 auto; }

.subtitulo { display: flex; align-items: center; gap: .5rem; font-size: 1.3rem; color: var(--cor-ouro); margin: 0 0 .5rem; }
.intro-secao { text-align: center; color: var(--cor-texto-suave); max-width: 46rem; margin: -.5rem auto 2.25rem; }
.destaque-texto { font-size: 1.15rem; color: var(--cor-texto); }

.nota { display: flex; gap: .6rem; align-items: flex-start; color: var(--cor-texto-suave); font-size: .97rem; }
.nota .icone { color: var(--cor-ouro); margin-top: .15em; }

.selo {
  display: inline-block;
  vertical-align: middle;
  font-family: var(--fonte-texto);
  font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--cor-aviso);
  border: 1px dashed rgba(240, 191, 115, .7);
  border-radius: 999px;
  padding: .1rem .5rem;
  margin-left: .3rem;
}

.aviso {
  display: flex; gap: .6rem; align-items: flex-start;
  padding: .85rem 1rem;
  background: rgba(240, 191, 115, .07);
  border: 1px solid rgba(240, 191, 115, .3);
  border-radius: var(--raio-pequeno);
  color: var(--cor-aviso);
  font-size: .95rem;
}
.aviso .icone { margin-top: .12em; }

.lista-selos { display: grid; gap: .7rem; margin: 1.25rem 0 0; }
.lista-selos li { display: flex; gap: .65rem; align-items: flex-start; color: var(--cor-texto-suave); }
.lista-selos .icone { color: var(--cor-ouro); margin-top: .15em; }

/* Selo que identifica arte provisória */
.selo-placeholder {
  position: absolute; right: 1rem; bottom: 1rem; z-index: 2;
  padding: .3rem .65rem;
  background: rgba(6, 10, 20, .8);
  border: 1px dashed var(--cor-borda-forte);
  border-radius: 4px;
  color: var(--cor-texto-suave);
  font-size: .74rem; letter-spacing: .08em; text-transform: uppercase;
}

/* ---- Cartão de download ---- */
.cartao-download {
  position: relative;
  background: var(--grad-cartao) padding-box, var(--grad-ouro) border-box;
  border: 1.5px solid transparent;
  border-radius: 12px;
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: var(--sombra), 0 0 40px rgba(47, 99, 221, .12);
}
.cartao-download::before {
  content: "";
  position: absolute; inset: 5px;
  border: 1px solid rgba(226, 184, 103, .16);
  border-radius: 9px;
  pointer-events: none;
}
.cartao-download > * { position: relative; }
.cartao-download__cabeca { margin-bottom: 1rem; }
.cartao-download__plataforma {
  display: inline-flex; align-items: center; gap: .45rem;
  margin-bottom: .5rem;
  color: var(--cor-ouro);
  font-size: .85rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.cartao-download__titulo { font-size: 1.6rem; margin: 0; }
.cartao-download__versao { color: var(--cor-ouro); }
.cartao-download__acao { margin: 1.25rem 0; }
.cartao-download__acao .botao { width: 100%; }
.cartao-download > p:not([class]) { color: var(--cor-texto-suave); }
.cartao-download__mais { margin-top: 1.1rem; font-weight: 600; }
.cartao-download .aviso { margin-top: 1rem; }

.dados { margin: 1rem 0; display: grid; border-top: 1px solid var(--cor-borda); }
.dados > div { display: grid; grid-template-columns: minmax(7.5rem, 32%) 1fr; gap: .75rem; padding: .6rem 0; border-bottom: 1px solid var(--cor-borda); }
.dados dt { color: var(--cor-texto-suave); font-size: .92rem; }
.dados dd { margin: 0; color: var(--cor-texto); }
.dados__hash dd { min-width: 0; }
.hash { display: block; word-break: break-all; color: var(--cor-ouro-claro); font-size: .85rem; line-height: 1.5; }

.assinatura { display: flex; gap: .55rem; align-items: flex-start; color: var(--cor-texto-suave); font-size: .92rem; margin-top: .75rem; }
.assinatura .icone { color: var(--cor-ouro); margin-top: .1em; }

.comando {
  margin: 0 0 1rem;
  padding: 1rem 1.15rem;
  background: #03060d;
  border: 1px solid var(--cor-borda);
  border-left: 3px solid var(--cor-ouro);
  border-radius: var(--raio-pequeno);
  overflow-x: auto;
  color: var(--cor-ouro-claro);
}

.passos { counter-reset: passo; display: grid; gap: .85rem; margin-bottom: 1.25rem; }
.passos li { counter-increment: passo; position: relative; padding: .2rem 0 .2rem 3rem; min-height: 2.2rem; }
.passos li::before {
  content: counter(passo);
  position: absolute; left: 0; top: 0;
  width: 2.1rem; height: 2.1rem;
  display: grid; place-items: center;
  border: 1px solid var(--cor-borda-forte);
  border-radius: 50%;
  color: var(--cor-ouro);
  font-family: var(--fonte-titulo); font-weight: 700;
  background: var(--cor-superficie);
}

.tabela-rolagem { overflow-x: auto; border: 1px solid var(--cor-borda); border-radius: var(--raio-pequeno); }
.tabela { width: 100%; border-collapse: collapse; min-width: 34rem; }
.tabela th, .tabela td { padding: .75rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--cor-borda); }
.tabela thead th { background: var(--cor-superficie-2); color: var(--cor-ouro); font-size: .9rem; letter-spacing: .05em; text-transform: uppercase; }
.tabela tbody th { color: var(--cor-texto-suave); font-weight: 600; }
.tabela tbody tr:last-child > * { border-bottom: 0; }

.botao--desativado {
  background: linear-gradient(180deg, #1b2439, #111829) padding-box, linear-gradient(180deg, #6b6f7b, #3a3f4a) border-box;
}

/* ---- Seções ---- */
.secao { padding: clamp(3.25rem, 7vw, 5.5rem) 0; }
.secao--alternada {
  background:
    radial-gradient(ellipse 70% 60% at 50% 0%, rgba(226, 184, 103, .05), rgba(226, 184, 103, 0) 70%),
    var(--cor-fundo-2);
  border-block: 1px solid #111a2e;
}
.secao--estreita > .container { max-width: var(--largura-estreita); }
.secao--estreita { padding: clamp(2.5rem, 6vw, 4rem) 0; }
.secao--estreita + .secao--estreita { padding-top: 0; }
.secao--estreita .titulo-secao { font-size: clamp(1.6rem, 3vw, 2.1rem); }
.titulo-secao { position: relative; padding-bottom: .55em; margin-bottom: .8em; }
.titulo-secao::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 4.5rem; height: 2px;
  background: linear-gradient(90deg, var(--cor-ouro), rgba(226, 184, 103, 0));
}

/* ---- Destaque (hero) ---- */
.hero {
  position: relative;
  min-height: clamp(540px, 74vh, 780px);
  display: flex; align-items: center;
  overflow: hidden;
  isolation: isolate;
}
.hero__fundo, .faixa__fundo, .cabecalho-pagina__fundo { position: absolute; inset: 0; z-index: -1; }
.hero__imagem, .faixa__imagem, .cabecalho-pagina__fundo img { width: 100%; height: 100%; object-fit: cover; object-position: 55% 72%; }
.hero__fundo::after {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 34% 50% at 50% 48%, rgba(6, 10, 20, .58), rgba(6, 10, 20, .12) 72%, rgba(6, 10, 20, 0)),
    linear-gradient(180deg, rgba(6, 10, 20, .4) 0%, rgba(6, 10, 20, 0) 18%, rgba(6, 10, 20, 0) 70%, var(--cor-fundo) 100%);
}
.hero__grade {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 46rem) minmax(0, 1fr);
  align-items: center;
  gap: 2rem;
  padding-block: 4.5rem 4rem;
}
.hero__conteudo { grid-column: 2; text-align: center; }
.hero__selo {
  display: inline-block;
  margin-bottom: 1.1rem;
  padding: .35rem .9rem;
  border: 1px solid var(--cor-borda-forte);
  border-radius: 999px;
  background: rgba(6, 10, 20, .65);
  color: var(--cor-ouro-claro);
  font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
.logo-hero {
  display: grid; justify-items: center;
  margin: 0 0 1.1rem;
  font-weight: 700;
  line-height: .95;
  text-transform: uppercase;
  filter: drop-shadow(0 4px 2px rgba(0, 0, 0, .65)) drop-shadow(0 0 30px rgba(6, 10, 20, .6));
}
.logo-hero__reborn {
  display: flex; align-items: center; gap: .6em;
  font-size: clamp(1.25rem, 2.6vw, 2.2rem); letter-spacing: .48em;
  margin-top: .2em; padding-left: .48em;
}
.logo-hero__reborn::before, .logo-hero__reborn::after {
  content: ""; width: 2.4em; height: 1px;
  background: linear-gradient(90deg, rgba(246, 217, 149, 0), #f6d995);
}
.logo-hero__reborn::after { background: linear-gradient(90deg, #f6d995, rgba(246, 217, 149, 0)); margin-left: -.48em; }
.hero__lema {
  max-width: 40rem; margin: 0 auto 1.8rem;
  font-size: clamp(1.05rem, 1.6vw, 1.22rem);
  color: var(--cor-texto);
  text-shadow: 0 2px 8px rgba(0, 0, 0, .85);
}
.hero__acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: .9rem; }

/* Estado do projeto */
.estado {
  grid-column: 3; justify-self: end;
  width: 100%; max-width: 20rem;
  padding: 1.25rem 1.3rem 1.1rem;
  background: linear-gradient(180deg, rgba(14, 22, 40, .88), rgba(6, 10, 20, .9)) padding-box, var(--grad-ouro) border-box;
  font-size: .92rem;
}
@supports (backdrop-filter: blur(6px)) { .estado { backdrop-filter: blur(8px); } }
.estado__titulo { font-size: .8rem; font-family: var(--fonte-texto); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--cor-ouro); margin-bottom: .8rem; }
.estado__servidor { display: flex; align-items: center; gap: .6rem; font-size: .98rem; line-height: 1.35; padding-bottom: .8rem; margin-bottom: .2rem; border-bottom: 1px solid rgba(226, 184, 103, .22); }
.estado__servidor strong { color: var(--cor-aviso); }
.estado__ponto { width: .7rem; height: .7rem; border-radius: 50%; background: var(--cor-aviso); box-shadow: 0 0 0 3px rgba(240, 191, 115, .18), 0 0 10px rgba(240, 191, 115, .6); flex: none; }
.estado__lista { margin: 0; }
.estado__lista > div { padding: .55rem 0; border-bottom: 1px solid rgba(40, 51, 80, .8); }
.estado__lista dt { display: flex; align-items: center; gap: .5rem; color: var(--cor-texto-suave); font-size: .82rem; }
.estado__lista dt .icone { color: var(--cor-ouro); width: 1.05em; height: 1.05em; }
.estado__lista dd { margin: .1rem 0 0 1.55rem; color: var(--cor-texto); font-weight: 600; }
.estado__nota { margin: .75rem 0 0; font-size: .8rem; color: var(--cor-texto-mudo); }

/* ---- Notícias ---- */
.noticias { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.noticia { display: grid; grid-template-columns: 40% 1fr; overflow: hidden; min-height: 11rem; }
.noticia__arte { display: grid; place-items: center; margin: 6px 0 6px 6px; border-radius: 6px; }
.noticia__arte--dev { background: radial-gradient(circle at 50% 60%, #b8643e 0%, #4d2848 50%, #1a1430 100%); }
.noticia__arte--site { background: radial-gradient(circle at 50% 55%, #4f8fff 0%, #1b3d8f 45%, #0b1430 100%); }
.noticia__arte--cliente { background: radial-gradient(circle at 50% 55%, #f1c46f 0%, #8a5a20 45%, #241808 100%); }
.noticia__arte--padrao { background: radial-gradient(circle at 50% 55%, #3a5aa8 0%, #16233f 60%, #0b1224 100%); }
.noticia__icone { width: 3.2rem; height: 3.2rem; color: #fff3d0; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .6)); }
.noticia__corpo { padding: 1.1rem 1.2rem 1rem; display: flex; flex-direction: column; }
.noticia__etiqueta { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--cor-azul-claro); margin-bottom: .3rem; }
.noticia__titulo { font-size: 1.2rem; color: var(--cor-ouro-claro); margin-bottom: .45rem; }
.noticia__corpo > p:not([class]) { color: var(--cor-texto-suave); font-size: .95rem; line-height: 1.55; }
.noticia__data { display: flex; align-items: center; gap: .45rem; margin-top: auto; padding-top: .7rem; font-size: .82rem; color: var(--cor-texto-mudo); }
.noticia__data .icone { color: var(--cor-ouro); width: 1em; height: 1em; }

/* ---- Recursos ---- */
.recursos { display: grid; gap: 1.1rem; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.recurso { display: grid; grid-template-columns: auto 1fr; column-gap: .9rem; align-items: center; padding: 1.25rem 1.2rem 1.3rem; }
.recurso__icone { width: 2.8rem; height: 2.8rem; color: var(--cor-ouro); filter: drop-shadow(0 0 10px rgba(226, 184, 103, .3)); }
.recurso__titulo { font-size: 1.2rem; color: var(--cor-ouro-claro); margin: 0; }
.recurso p { grid-column: 1 / -1; margin-top: .8rem; color: var(--cor-texto-suave); font-size: .95rem; line-height: 1.55; }
.recurso--planejado { background: linear-gradient(180deg, rgba(22, 32, 58, .8), rgba(10, 16, 32, .9)) padding-box, linear-gradient(145deg, #8f8a7c, #4b4a48 50%, #8a8476) border-box; }
.recurso--planejado .recurso__icone { color: #b9b4a5; filter: none; }

/* ---- Classes ---- */
.classes { display: grid; gap: 1.25rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.classe { display: flex; flex-direction: column; overflow: hidden; }
.classe__retrato { position: relative; aspect-ratio: 16 / 10; display: grid; place-items: center; margin: 6px 6px 0; border-radius: 6px 6px 0 0; overflow: hidden; }
.classe__retrato img { width: 100%; height: 100%; object-fit: cover; }
.classe--guerreiro .classe__retrato { background: radial-gradient(circle at 50% 45%, #b5463a 0%, #4a1a1e 48%, #120b14 100%); }
.classe--arqueiro .classe__retrato { background: radial-gradient(circle at 50% 45%, #4f9a5a 0%, #1d3d27 48%, #0a140f 100%); }
.classe--mago .classe__retrato { background: radial-gradient(circle at 50% 45%, #5b7dff 0%, #2a2a7a 48%, #0c0e26 100%); }
.classe--clerigo .classe__retrato { background: radial-gradient(circle at 50% 45%, #f2cf7d 0%, #7a5a26 48%, #1c140a 100%); }
.classe__medalhao {
  display: grid; place-items: center;
  width: 6rem; height: 6rem; border-radius: 50%;
  background: radial-gradient(circle at 50% 35%, rgba(255, 255, 255, .14), rgba(6, 10, 20, .65) 70%) padding-box, var(--grad-ouro) border-box;
  border: 2px solid transparent;
  box-shadow: 0 0 0 4px rgba(6, 10, 20, .45), 0 10px 26px rgba(0, 0, 0, .5);
  color: #fff3d0;
}
.classe__icone { width: 3rem; height: 3rem; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .6)); }
.classe__corpo { padding: 1.05rem 1.2rem 1.3rem; }
.classe__nome { display: flex; align-items: center; gap: .45rem; font-size: 1.35rem; color: var(--cor-ouro-claro); margin-bottom: .15rem; }
.classe__escudo { width: 1.05em; height: 1.05em; color: var(--cor-ouro); }
.classe__papel { font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--cor-azul-claro); margin-bottom: .55rem; }
.classe__corpo > p:not([class]) { color: var(--cor-texto-suave); font-size: .96rem; }

/* ---- Mundo e galeria ---- */
.mundo { display: grid; gap: clamp(2rem, 4vw, 3.5rem); grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); align-items: start; }
.mundo__texto p:not(.destaque-texto) { color: var(--cor-texto-suave); }
.mundo__galeria .nota { margin-bottom: 1rem; }
.galeria { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.galeria__item { margin: 0; aspect-ratio: 16 / 9; overflow: hidden; }
.galeria__item img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; }
.galeria__item--placeholder {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem;
  padding: 1rem; text-align: center;
  background:
    repeating-linear-gradient(135deg, rgba(226, 184, 103, .04) 0 12px, rgba(226, 184, 103, 0) 12px 24px),
    linear-gradient(180deg, #121b30, #0a1020) padding-box,
    var(--grad-ouro) border-box;
}
.galeria__icone { width: 2.3rem; height: 2.3rem; color: var(--cor-borda-forte); }
.galeria__item--placeholder figcaption { color: var(--cor-texto-suave); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

/* ---- Faixa final ---- */
.faixa { position: relative; isolation: isolate; overflow: hidden; padding: clamp(4rem, 9vw, 6.5rem) 0; text-align: center; }
.faixa__imagem { object-position: 50% 78%; }
.faixa__fundo::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, var(--cor-fundo) 0%, rgba(6, 10, 20, .55) 30%, rgba(6, 10, 20, .6) 70%, var(--cor-fundo) 100%),
              radial-gradient(ellipse 50% 70% at 50% 50%, rgba(6, 10, 20, .55), rgba(6, 10, 20, 0));
}
.faixa__emblema { width: 3.6rem; height: 3.6rem; margin: 0 auto .8rem; }
.faixa__titulo { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: .5rem; filter: drop-shadow(0 3px 2px rgba(0, 0, 0, .7)); }
.faixa__conteudo > p { max-width: 38rem; margin: 0 auto 1.8rem; font-size: 1.1rem; text-shadow: 0 2px 8px rgba(0, 0, 0, .9); }

/* ---- Cabeçalho de página interna ---- */
.cabecalho-pagina { position: relative; isolation: isolate; overflow: hidden; padding: clamp(3rem, 7vw, 5rem) 0; }
.cabecalho-pagina__fundo::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(6, 10, 20, .94) 0%, rgba(6, 10, 20, .72) 50%, rgba(6, 10, 20, .55) 100%),
              linear-gradient(180deg, rgba(6, 10, 20, 0) 60%, var(--cor-fundo) 100%);
}
.cabecalho-pagina__grade { display: grid; gap: clamp(2rem, 5vw, 3.5rem); grid-template-columns: 1fr minmax(0, 32rem); align-items: center; }
.cabecalho-pagina__titulo { font-size: clamp(2rem, 4.5vw, 3.1rem); }

/* ---- 404 ---- */
.nao-encontrada__conteudo { max-width: 36rem; text-align: center; }
.nao-encontrada__emblema { width: 4.5rem; height: 4.5rem; color: var(--cor-ouro); margin: 0 auto 1rem; }
.nao-encontrada__codigo { font-family: var(--fonte-titulo); font-size: 4.5rem; line-height: 1; color: var(--cor-borda-forte); margin-bottom: .2em; }

/* ---- Responsivo ---- */
@media (max-width: 1499.98px) {
  .recursos { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .recurso { grid-column: span 2; }
  .recurso:nth-child(4) { grid-column: 2 / span 2; }
}
@media (max-width: 1199.98px) {
  .hero__grade { grid-template-columns: 1fr; padding-block: 4rem 3rem; }
  .hero__conteudo, .estado { grid-column: 1; }
  .estado { justify-self: center; max-width: 30rem; }
  .noticias { grid-template-columns: 1fr; max-width: 46rem; margin-inline: auto; }
  .classes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mundo, .cabecalho-pagina__grade { grid-template-columns: 1fr; }
}
@media (max-width: 899.98px) {
  .recursos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recurso, .recurso:nth-child(4) { grid-column: auto; }
  .recurso:last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .hero { min-height: 0; }
  .hero__grade { padding-block: 3rem 2.5rem; }
  .hero__acoes .botao { width: 100%; }
  .hero__fundo::after { background: linear-gradient(180deg, rgba(6, 10, 20, .5) 0%, rgba(6, 10, 20, .78) 45%, var(--cor-fundo) 100%); }
  .hero__imagem { object-position: 30% 60%; }
  .titulo-ornamento__linha { flex-basis: 2.5rem; }
  .noticia { grid-template-columns: 1fr; }
  .noticia__arte { margin: 6px 6px 0; min-height: 7rem; }
  .recursos, .classes { grid-template-columns: 1fr; }
  .galeria { gap: .7rem; }
  .galeria__item--placeholder figcaption { font-size: .68rem; }
  .recurso:last-child { grid-column: auto; }
  .dados > div { grid-template-columns: 1fr; gap: .15rem; }
  .selo-placeholder { right: .75rem; bottom: auto; top: .75rem; }
}
@media (max-width: 480px) {
  .titulo-ornamento { font-size: 1.6rem; gap: .55rem; }
  .titulo-ornamento__linha { display: none; }
  .titulo-ornamento::after {
    content: ""; position: absolute; left: 50%; bottom: -.7rem; transform: translateX(-50%);
    width: 6rem; height: 1px; background: linear-gradient(90deg, rgba(226, 184, 103, 0), var(--cor-ouro), rgba(226, 184, 103, 0));
  }
  .titulo-ornamento { position: relative; margin-bottom: 2rem; }
  .titulo-ornamento--esquerda::after { left: 0; transform: none; }
}

/* ==========================================================================
 * Acabamento v0.2 (refinamento pedido em 14/11/2026): logo com relevo, botões dourados com bisel, molduras com
 * cantoneiras e luz nas bordas, separadores ornamentais, cards com mais presença, identidade por classe e menos
 * espaço vazio. Só apresentação: nenhuma regra aqui muda conteúdo, links ou segurança.
 * ========================================================================== */

:root {
  --cantoneira: #f6d995;
  --grad-ouro-botao: linear-gradient(180deg, #fff2c6 0%, #e7bd68 22%, #a8762c 52%, #e6bc6a 78%, #fff0c2 100%);
  --grad-ouro-mudo: linear-gradient(180deg, #d9c69a 0%, #a48b55 40%, #6e5a32 70%, #b9a274 100%);
}

/* ---------- Ritmo vertical ---------- */
.secao { padding: clamp(2.75rem, 5vw, 4.25rem) 0; position: relative; }
.intro-secao { margin: -.35rem auto 1.75rem; }
.titulo-ornamento { font-size: clamp(1.8rem, 3.2vw, 2.55rem); margin-bottom: 1.1rem; letter-spacing: .02em; }

/* ---------- Separadores ornamentais entre seções ---------- */
.secao--alternada::before, .secao--alternada + .secao::before, .faixa::before {
  content: "";
  position: absolute; left: 50%; top: -1px; transform: translateX(-50%);
  width: min(70rem, 92%); height: 1px;
  background: linear-gradient(90deg, rgba(226, 184, 103, 0), rgba(226, 184, 103, .55) 30%, #f6d995 50%, rgba(226, 184, 103, .55) 70%, rgba(226, 184, 103, 0));
  z-index: 1;
}
.secao--alternada::after, .secao--alternada + .secao::after, .faixa::after {
  content: "";
  position: absolute; left: 50%; top: -6px;
  width: 11px; height: 11px;
  transform: translateX(-50%) rotate(45deg);
  background: linear-gradient(135deg, #fff2c6, #c9913a);
  box-shadow: 0 0 0 3px var(--cor-fundo), 0 0 0 4px rgba(246, 217, 149, .6), 0 0 14px rgba(246, 217, 149, .55);
  z-index: 2;
}
.secao--alternada { border-block: 0; }

/* ---------- Molduras: cantoneiras e luz nas bordas ---------- */
.moldura {
  box-shadow:
    0 14px 34px rgba(0, 0, 0, .5),
    0 0 0 1px rgba(0, 0, 0, .55),
    inset 0 1px 0 rgba(255, 236, 190, .22),
    inset 0 0 30px rgba(226, 184, 103, .06);
}
.moldura::after {
  content: "";
  position: absolute; inset: -2px;
  pointer-events: none;
  border-radius: calc(var(--raio) + 1px);
  background:
    linear-gradient(var(--cantoneira), var(--cantoneira)) top left / 18px 2px no-repeat,
    linear-gradient(var(--cantoneira), var(--cantoneira)) top left / 2px 18px no-repeat,
    linear-gradient(var(--cantoneira), var(--cantoneira)) top right / 18px 2px no-repeat,
    linear-gradient(var(--cantoneira), var(--cantoneira)) top right / 2px 18px no-repeat,
    linear-gradient(var(--cantoneira), var(--cantoneira)) bottom left / 18px 2px no-repeat,
    linear-gradient(var(--cantoneira), var(--cantoneira)) bottom left / 2px 18px no-repeat,
    linear-gradient(var(--cantoneira), var(--cantoneira)) bottom right / 18px 2px no-repeat,
    linear-gradient(var(--cantoneira), var(--cantoneira)) bottom right / 2px 18px no-repeat;
  opacity: .85;
}
@media (hover: hover) {
  .recurso:hover, .noticia:hover, .classe:hover, .galeria__item:hover {
    box-shadow: 0 20px 44px rgba(0, 0, 0, .6), 0 0 0 1px rgba(246, 217, 149, .35), 0 0 30px rgba(226, 184, 103, .2), inset 0 1px 0 rgba(255, 236, 190, .3);
  }
}

/* ---------- Botões: moldura dourada com bisel, profundidade e estados ---------- */
.botao {
  border-width: 2.5px;
  position: relative;
  letter-spacing: .03em;
}
.botao--primario {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(160, 200, 255, .35), rgba(160, 200, 255, 0) 70%) padding-box,
    linear-gradient(180deg, #2f63dd 0%, #2350c4 52%, #16337f 100%) padding-box,
    var(--grad-ouro-botao) border-box;
  box-shadow:
    0 0 0 1px #2a1906,
    inset 0 0 0 1px rgba(255, 238, 190, .35),
    inset 0 -4px 8px rgba(5, 12, 40, .5),
    0 10px 24px rgba(30, 70, 200, .38),
    0 2px 0 rgba(0, 0, 0, .5);
}
.botao--primario:hover:not(:disabled) {
  filter: brightness(1.1);
  transform: translateY(-2px);
  box-shadow:
    0 0 0 1px #2a1906,
    inset 0 0 0 1px rgba(255, 238, 190, .5),
    inset 0 -4px 8px rgba(5, 12, 40, .45),
    0 14px 30px rgba(50, 100, 240, .5),
    0 0 26px rgba(246, 217, 149, .4);
}
.botao--primario:active:not(:disabled) { transform: translateY(0); filter: brightness(.96); }
.botao--secundario {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(246, 217, 149, .14), rgba(246, 217, 149, 0) 70%) padding-box,
    linear-gradient(180deg, #121c33 0%, #080d1a 100%) padding-box,
    var(--grad-ouro-botao) border-box;
  box-shadow: 0 0 0 1px #2a1906, inset 0 0 0 1px rgba(255, 238, 190, .22), inset 0 -4px 8px rgba(0, 0, 0, .45), 0 8px 20px rgba(0, 0, 0, .45);
}
.botao--secundario:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 0 1px #2a1906, inset 0 0 0 1px rgba(255, 238, 190, .4), inset 0 -4px 8px rgba(0, 0, 0, .4), 0 12px 26px rgba(0, 0, 0, .5), 0 0 22px rgba(246, 217, 149, .3);
}
.botao--secundario:active { transform: translateY(0); }
/* Desabilitado: mantém a moldura dourada (atenuada) e o fundo azul escurecido — consistente, mas claramente inativo. */
.botao:disabled, .botao--desativado {
  filter: none;
  color: #c3cad8;
  text-shadow: none;
  background:
    linear-gradient(180deg, #1d2944 0%, #121a2e 100%) padding-box,
    var(--grad-ouro-mudo) border-box;
  box-shadow: 0 0 0 1px #1a1206, inset 0 0 0 1px rgba(255, 238, 190, .12), inset 0 -3px 6px rgba(0, 0, 0, .4);
  cursor: not-allowed;
}
.botao:disabled .icone { opacity: .7; }
.botao__nota { border-color: rgba(246, 217, 149, .55); color: #f0d9a0; }

/* ---------- Destaque: menos véu, logo com relevo ---------- */
.hero { min-height: clamp(540px, 72vh, 760px); }
.hero__fundo::after {
  background:
    radial-gradient(ellipse 40% 26% at 50% 74%, rgba(6, 10, 20, .62), rgba(6, 10, 20, 0) 100%),
    linear-gradient(180deg, rgba(6, 10, 20, .35) 0%, rgba(6, 10, 20, 0) 16%, rgba(6, 10, 20, 0) 74%, var(--cor-fundo) 100%);
}
.hero__imagem { object-position: 50% 62%; }
.hero__grade { padding-block: 3.25rem 2.5rem; }
.hero__selo { background: rgba(6, 10, 20, .72); box-shadow: 0 4px 14px rgba(0, 0, 0, .4); }
.logo-hero {
  position: relative;
  filter:
    drop-shadow(0 0 1px #1c1104)
    drop-shadow(0 2px 0 #3b2508)
    drop-shadow(0 4px 0 #24160a)
    drop-shadow(0 8px 14px rgba(0, 0, 0, .6));
}
.logo-hero__reborn { font-size: clamp(1.35rem, 2.8vw, 2.4rem); }
.logo-hero__reborn::before, .logo-hero__reborn::after { height: 2px; width: 3em; }
.hero__lema { font-size: clamp(1.08rem, 1.6vw, 1.25rem); font-weight: 500; text-shadow: 0 1px 2px rgba(0, 0, 0, .95), 0 2px 12px rgba(0, 0, 0, .9); }

/* Estado do projeto com moldura e cantoneiras */
.estado { box-shadow: 0 16px 40px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 236, 190, .2); }

/* ---------- Notícias ---------- */
.noticias { gap: 1.4rem; }
.noticia { min-height: 12.5rem; }
.noticia__arte { position: relative; overflow: hidden; }
.noticia__arte::before {
  content: ""; position: absolute; inset: 0;
  background:
    repeating-conic-gradient(from 0deg at 50% 55%, rgba(255, 255, 255, .07) 0deg 6deg, rgba(255, 255, 255, 0) 6deg 18deg),
    radial-gradient(circle at 50% 55%, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0) 55%);
}
.noticia__selo {
  position: relative;
  display: grid; place-items: center;
  width: 5.2rem; height: 5.2rem; border-radius: 50%;
  background: radial-gradient(circle at 50% 35%, rgba(255, 255, 255, .16), rgba(6, 10, 20, .55) 72%) padding-box, var(--grad-ouro-botao) border-box;
  border: 2px solid transparent;
  box-shadow: 0 0 0 4px rgba(6, 10, 20, .35), 0 10px 24px rgba(0, 0, 0, .5);
}
.noticia__icone { width: 2.6rem; height: 2.6rem; }
.noticia__titulo { font-size: 1.28rem; }

/* ---------- Recursos ---------- */
.recursos { gap: 1.2rem; }
.recurso { padding: 1.35rem 1.25rem 1.4rem; align-items: center; }
.recurso__selo {
  display: grid; place-items: center;
  width: 3.4rem; height: 3.4rem; border-radius: 50%;
  background: radial-gradient(circle at 50% 30%, #23314f, #0b1222 75%) padding-box, var(--grad-ouro-botao) border-box;
  border: 2px solid transparent;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .45), 0 0 16px rgba(226, 184, 103, .18);
}
.recurso__icone { width: 1.75rem; height: 1.75rem; filter: none; color: var(--cor-ouro-claro); }
.recurso__titulo { font-size: 1.25rem; }
.recurso--planejado .recurso__selo { background: radial-gradient(circle at 50% 30%, #262b38, #0d1220 75%) padding-box, var(--grad-ouro-mudo) border-box; box-shadow: none; }
.recurso--planejado { --cantoneira: #c9bfa8; }

/* ---------- Classes: identidade própria ---------- */
.classe { --classe-a: #e2b867; --classe-b: #8a6226; }
.classe--guerreiro { --classe-a: #ff8a6a; --classe-b: #8e2420; --cantoneira: #ffc8a0; }
.classe--arqueiro { --classe-a: #9fe0a2; --classe-b: #1f6a3a; --cantoneira: #d6f2c4; }
.classe--mago { --classe-a: #a9c2ff; --classe-b: #3a3cb0; --cantoneira: #d4deff; }
.classe--clerigo { --classe-a: #fff0c0; --classe-b: #b48a34; --cantoneira: #fff4d4; }
.classe { background: var(--grad-cartao) padding-box, linear-gradient(160deg, var(--classe-a), #8a6226 40%, var(--classe-b) 70%, #e2b867) border-box; }
.classe__retrato { aspect-ratio: 16 / 10.5; isolation: isolate; }
.classe__arte { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.classe__medalhao { position: relative; z-index: 1; width: 6.6rem; height: 6.6rem; box-shadow: 0 0 0 5px rgba(6, 10, 20, .4), 0 0 34px color-mix(in srgb, var(--classe-a) 45%, transparent), 0 12px 28px rgba(0, 0, 0, .55); }
.classe__retrato::after {
  content: ""; position: absolute; inset: auto 0 0; height: 40%;
  background: linear-gradient(180deg, rgba(10, 16, 32, 0), rgba(10, 16, 32, .75));
  z-index: 0;
}
.classe__nome { font-size: 1.45rem; }
.classe__escudo { color: var(--classe-a); }
.classe__papel { color: var(--classe-a); }
.classe__corpo { border-top: 1px solid color-mix(in srgb, var(--classe-a) 35%, transparent); }

/* ---------- Galeria ---------- */
.galeria__item--placeholder { gap: .6rem; }
.galeria__icone { width: 2.6rem; height: 2.6rem; color: var(--cor-ouro); opacity: .75; }

/* ---------- Faixa final ---------- */
.faixa { padding: clamp(3.5rem, 7vw, 5.5rem) 0; }
.faixa__fundo::after {
  background:
    linear-gradient(180deg, var(--cor-fundo) 0%, rgba(6, 10, 20, .35) 28%, rgba(6, 10, 20, .4) 72%, var(--cor-fundo) 100%),
    radial-gradient(ellipse 42% 60% at 50% 55%, rgba(6, 10, 20, .65), rgba(6, 10, 20, 0));
}
.faixa__titulo { font-size: clamp(2.2rem, 4.4vw, 3.3rem); filter: drop-shadow(0 2px 0 #3b2508) drop-shadow(0 6px 12px rgba(0, 0, 0, .8)); }
.faixa__emblema { width: 4.4rem; height: 4.4rem; filter: drop-shadow(0 0 18px rgba(77, 155, 255, .6)); }

@media (max-width: 640px) {
  .noticia__arte { min-height: 8rem; }
  .classe__medalhao { width: 5.8rem; height: 5.8rem; }
}

/* ---------- Ilustrações (ComfyUI): retratos, regiões, mundo ---------- */

.classe__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; }
.classe__retrato picture { display: contents; }

.noticia__arte--com-imagem { position: relative; }
.noticia__imagem { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }
.noticia__arte picture { display: contents; }
.noticia__arte--com-imagem::before { z-index: 1; background: radial-gradient(circle at 50% 55%, rgba(6, 10, 20, .05), rgba(6, 10, 20, .55) 80%); }
.noticia__arte--com-imagem .noticia__selo { z-index: 2; width: 4.2rem; height: 4.2rem; }
.noticia__arte--com-imagem .noticia__icone { width: 2.1rem; height: 2.1rem; }

.mundo--com-imagem { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); align-items: center; margin-bottom: 2.5rem; }
.mundo__figura { position: relative; margin: 0; overflow: hidden; padding: 0; aspect-ratio: 16 / 9; }
.mundo__figura picture { display: contents; }
.mundo__imagem { width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--raio) - 2px); }

.subtitulo--regioes { margin-top: .5rem; }
.regioes { display: grid; gap: 1.2rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1rem 0 2.75rem; }
.regiao { display: flex; flex-direction: column; overflow: hidden; }
.regiao__figura { position: relative; margin: 6px 6px 0; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 6px 6px 0 0; }
.regiao__figura picture { display: contents; }
.regiao__imagem { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
@media (hover: hover) { .regiao:hover .regiao__imagem { transform: scale(1.04); } }
.regiao__corpo { padding: .9rem 1.1rem 1.15rem; }
.regiao__nome { font-family: var(--fonte-titulo); font-size: 1.25rem; color: var(--cor-ouro-claro); margin: 0 0 .3rem; }
.regiao__corpo p { color: var(--cor-texto-suave); font-size: .94rem; line-height: 1.5; margin: 0; }
.mundo__galeria .galeria { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.rodape__ilustracoes { font-size: .82rem; color: var(--cor-texto-mudo); margin-top: .75rem; }

@media (max-width: 1199.98px) {
  .mundo--com-imagem { grid-template-columns: 1fr; }
  .regioes, .mundo__galeria .galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .regioes { grid-template-columns: 1fr; }
}

/* Textura ornamental (ilustração gerada com IA) muito atenuada no fundo das seções alternadas. */
.secao--alternada {
  background:
    linear-gradient(180deg, rgba(10, 16, 32, .9), rgba(10, 16, 32, .95)),
    image-set(url("/images/arte/textura-1024.avif") type("image/avif"), url("/images/arte/textura-1024.webp") type("image/webp")) center / 640px repeat,
    var(--cor-fundo-2);
}

/* <picture> dentro de fundos absolutos ocupa a área inteira. */
.hero__fundo > picture, .faixa__fundo > picture, .cabecalho-pagina__fundo > picture { display: block; width: 100%; height: 100%; }
.hero__fundo > picture img, .faixa__fundo > picture img, .cabecalho-pagina__fundo > picture img { width: 100%; height: 100%; object-fit: cover; }
.faixa__fundo .selo-placeholder, .cabecalho-pagina__fundo .selo-placeholder { top: auto; bottom: 1rem; right: 1rem; }
@media (max-width: 640px) {
  .hero__fundo > picture img { object-position: 18% 50%; }
  .faixa__fundo > picture img { object-position: 45% 50%; }
}

/* ---------- Logo oficial (14/11/2026): arquivo oficial transparente, sem redesenho ---------- */
.marca { gap: .5rem; }
.marca__logo { display: block; width: auto; height: 56px; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .65)); transition: transform var(--transicao), filter var(--transicao); }
.marca:hover .marca__logo { transform: scale(1.03); filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .65)) drop-shadow(0 0 10px rgba(246, 217, 149, .25)); }
.marca picture { display: block; }
.marca--rodape { flex-direction: column; align-items: flex-start; gap: .1rem; }
.marca--rodape .marca__logo { height: 72px; }
.marca--rodape .marca__reborn {
  margin-left: 2.1rem;
  font-family: var(--fonte-titulo); font-size: .82rem; font-weight: 600; letter-spacing: .55em; text-transform: uppercase;
  color: var(--cor-ouro-claro);
}
@media (max-width: 480px) { .marca__logo { height: 40px; } }

.logo-hero { filter: none; gap: 0; isolation: isolate; }
/* Véu escuro só atrás da logo: o céu da ilustração é claro e o dourado precisa de fundo escuro para ler bem. */
.logo-hero::before {
  content: ''; position: absolute; z-index: -1; inset: -14% -10% -6%; pointer-events: none;
  background: radial-gradient(ellipse 56% 54% at 50% 46%, rgba(6, 10, 20, .68) 0%, rgba(6, 10, 20, .5) 55%, rgba(6, 10, 20, 0) 100%);
}
.logo-hero picture { display: block; }
.logo-hero__img {
  display: block; width: min(600px, 88vw); height: auto; margin: 0 auto;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .7)) drop-shadow(0 0 28px rgba(6, 10, 20, .55));
}
.logo-hero__reborn {
  margin-top: -.15em;
  filter: drop-shadow(0 2px 0 #3b2508) drop-shadow(0 4px 10px rgba(0, 0, 0, .8));
}
.faixa__emblema, .nao-encontrada__emblema { display: block; width: 4.6rem; height: 4.6rem; margin: 0 auto .6rem; filter: drop-shadow(0 0 16px rgba(77, 155, 255, .45)); }
.nao-encontrada__emblema { width: 5.5rem; height: 5.5rem; }
