/* Perfil do MEI — tema: cores, tipografia e base. Spec: docs/superpowers/specs/2026-10-15-visual-novo-design.md §2 */
:root {
  --azul: #0869B8;
  --azul-escuro: #06508D;
  --azul-claro: #E7F0F9;
  --grafite: #1E2A32;
  --cinza: #4D5D69;
  --nevoa: #EEF3F7;
  --linha: #D9E2EA;
  --borda-campo: #B8C6D1;
  --ok-texto: #0E7A55;
  --ok-ponto: #13A06F;
  --ok-fundo: #E6F5EE;
  --alerta-texto: #9A3412;
  --alerta-fundo: #FFF1EC;
  --branco: #FFFFFF;
  /* visual colorido: faixas de cor alternadas e segunda cor da marca (sol) */
  --azul-ceu: #DCEBFA;
  --texto-no-azul: #E3EFFA;
  --sol: #FFC845;
  --sol-forte: #FFB800;
  --sol-claro: #FFF4D6;
  --verde-claro: #DFF5EC;
  --coral: #FF7A59;
  --r-pilula: 999px;
  --fonte: 'Schibsted Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --r-campo: 10px;
  --r-cartao: 16px;
  --r-bloco: 24px;
  --sombra-celular: 0 30px 60px rgba(30, 42, 50, 0.18);
  --sombra-cartao: 0 1px 2px rgba(30, 42, 50, 0.06);
  --sombra-suave: 0 16px 32px rgba(30, 42, 50, 0.08);
  --texto-no-escuro: #E3EAF0;
  --link-no-escuro: #9CCBF2;
  --linha-no-escuro: #34434E;
  --largura: 1120px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--fonte);
  font-size: 17px;
  line-height: 1.55;
  color: var(--grafite);
  background: var(--branco);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, p, ul, ol, figure { margin: 0; }
h1, h2, h3, h4 { font-weight: 800; line-height: 1.1; letter-spacing: -0.03em; }
.titulo-xl { font-size: clamp(36px, 6vw, 58px); line-height: 1.02; letter-spacing: -0.04em; }
.titulo-l { font-size: clamp(30px, 4.4vw, 40px); }
.titulo-m { font-size: clamp(26px, 3.4vw, 34px); }
.titulo-s { font-size: 24px; }
.titulo-xs { font-size: 20px; letter-spacing: -0.02em; }
.texto-grande { font-size: 20px; }
.texto-sec { color: var(--cinza); }
.texto-pequeno { font-size: 15px; }
a { color: var(--azul); }
a:hover { color: var(--azul-escuro); }
:focus-visible { outline: 3px solid var(--azul); outline-offset: 2px; }
img, svg { max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
.container { width: 100%; max-width: var(--largura); margin: 0 auto; padding: 0 24px; }
.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;
}

@media (max-width: 600px) {
  body { font-size: 16px; }
  .container { padding: 0 16px; }
  .texto-grande { font-size: 18px; }
}

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