/* Tokens compartilhados — site público e painel do agente */
:root {
  --ceu: #0b2a5b;        /* azul profundo, fundo do hero e rodapé */
  --leonor: #015ca2;     /* azul da marca */
  --orbita: #f29b1d;     /* laranja da órbita do logo — só para destaque */
  --orbita-escuro: #b8690a;
  --papel: #f3f7fb;      /* fundo frio claro */
  --branco: #ffffff;
  --tinta: #142033;
  --tinta-2: #4a5a72;
  --linha: #d8e2ee;
  --ok: #1f8a5b;

  --f-display: "Bricolage Grotesque", system-ui, sans-serif;
  --f-corpo: "Figtree", system-ui, sans-serif;
  --f-bilhete: "IBM Plex Mono", ui-monospace, monospace;

  --raio: 14px;
  --sombra: 0 1px 2px rgba(11, 42, 91, .06), 0 12px 32px -12px rgba(11, 42, 91, .25);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--f-corpo);
  font-size: 16px;
  line-height: 1.55;
  color: var(--tinta);
  background: var(--papel);
}
[hidden] { display: none !important; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }

:focus-visible { outline: 3px solid var(--orbita); outline-offset: 2px; border-radius: 4px; }

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

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  padding: .8em 1.3em; border-radius: 999px; border: 0; cursor: pointer;
  font-weight: 700; text-decoration: none; line-height: 1.1;
  transition: transform .15s ease, background-color .15s ease;
}
.btn:active { transform: translateY(1px); }
.btn-orbita { background: var(--orbita); color: var(--ceu); }
.btn-orbita:hover { background: #ffb13d; }
.btn-azul { background: var(--leonor); color: #fff; }
.btn-azul:hover { background: #0870bf; }
.btn-linha { background: transparent; color: inherit; box-shadow: inset 0 0 0 1.5px currentColor; }
.btn-zap { background: #1ea952; color: #fff; }
.btn-zap:hover { background: #179446; }

.ico { width: 1.15em; height: 1.15em; flex: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
