/* Base tipográfica, reset mínimo e fundo global. Aplicado no <body> de todas as páginas. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--fonte-texto);
  font-weight: 400;
  color: var(--texto-secundario);
  background-color: var(--petroleo-900);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
::selection { background: var(--traco-ciano); color: var(--claro); }

h1, h2, h3, h4, .fonte-titulo {
  font-family: var(--fonte-titulo);
  font-weight: 700;
  color: var(--texto);
  letter-spacing: -0.02em;
  margin: 0;
}
a { color: inherit; text-decoration: none; }
code { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-size: 0.85em; color: var(--ciano-claro); }

/* Fundo animado: canvas (assets/js/fundo-animado.js) desenha orbs de glow à deriva; esta
   camada CSS só cuida do posicionamento fixo, do blur/composição e do véu técnico (malha
   isométrica + vinheta) por cima, igual à Vertex. Substitui a cena WebGL de terceiro
   (UnicornStudio) do template de origem por algo 100% autocontido. */
.fundo-animado-wrap {
  position: fixed;
  inset: 0;
  z-index: -10;
  pointer-events: none;
  overflow: hidden;
  background: var(--petroleo-900);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 12%, black 88%, transparent);
  mask-image: linear-gradient(to bottom, transparent, black 12%, black 88%, transparent);
}
#fundo-animado-canvas {
  position: absolute;
  inset: -10%;
  width: 120%;
  height: 120%;
  filter: blur(38px) saturate(150%);
}
.fundo-animado-wrap::before {
  content: "";
  position: absolute;
  inset: -20%;
  background-image:
    repeating-linear-gradient(60deg, var(--traco) 0 1px, transparent 1px 84px),
    repeating-linear-gradient(-60deg, var(--traco) 0 1px, transparent 1px 84px);
  opacity: 0.3;
  mask-image: radial-gradient(70% 60% at 50% 25%, #000 0%, transparent 75%);
  -webkit-mask-image: radial-gradient(70% 60% at 50% 25%, #000 0%, transparent 75%);
}
.fundo-animado-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 60% at 50% 0%, rgba(5, 11, 20, 0.55) 0%, transparent 60%);
}
