/* Adesões FCI — fundações: tokens, reset, tipografia e layout base.
   Identidade "Institucional Escuro": verde-carvão como marca, miolo claro.
   Componentes ficam em portal.css. */

@font-face {
  font-family: "Lora";
  src: url("/static/fonts/Lora-Variable.ttf") format("truetype");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

* { box-sizing: border-box; }

body {
  color-scheme: light;
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.55;
}

img { max-width: 100%; }
a { color: inherit; }
h1, h2, h3 { margin: 0 0 12px; line-height: 1.18; }
p { margin: 0 0 14px; }

.container { width: min(1280px, calc(100% - 64px)); margin-inline: auto; }

/* Voz solene: aplicada a títulos de hero, páginas de processo e confirmações. */
.page-title {
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: -0.01em;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--green);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.lead { color: var(--muted); font-size: 1.06rem; max-width: 560px; }

.skip-link {
  position: fixed;
  left: 12px;
  top: -80px;
  z-index: 50;
  padding: 10px 14px;
  color: #fff;
  background: var(--green-dark);
  border-radius: 4px;
}
.skip-link:focus { top: 12px; }

:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.site-header :focus-visible,
.site-footer :focus-visible,
.hero :focus-visible { outline-color: var(--mint); }

@media (max-width: 900px) { .container { width: calc(100% - 40px); } }
@media (max-width: 560px) { .container { width: calc(100% - 28px); } }
