/* ============================================================
   COMUNAS COM LULA
   Vermelho, preto, branco e papel. Mobile-first.
   Mesma família visual do "Baixada Santista" / "Segundo Turno":
   Anybody condensada nos títulos, PP Neue Machina no texto, sombra
   dura, seções que se sobrepõem como cartões empilhados, fita
   inclinada. O que é daqui: o mapa do Brasil em adesivo (hero e
   grupos), os pontos vivos por ação e a estrela da logo como único
   ornamento. Sem amarelo.
   ============================================================ */

/* ---------- Fontes (subset Latin, woff2) ---------- */

@font-face {
  font-family: 'Anybody';
  src: url('fonts/anybody.woff2') format('woff2-variations'), url('fonts/anybody.woff2') format('woff2');
  font-weight: 100 900;
  font-stretch: 50% 200%;
  font-style: oblique 0deg 10deg;
  font-display: block; /* pré-carregada e leve: melhor esperar do que piscar no título */
}

@font-face {
  font-family: 'PP Neue Machina';
  src: url('fonts/neue-machina-500.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: 'PP Neue Machina';
  src: url('fonts/neue-machina-800.woff2') format('woff2');
  font-weight: 800;
  font-display: swap;
}

/* ---------- Variáveis ---------- */

:root {
  --vermelho: #e3001b;
  --vermelho-escuro: #9c0012;
  --vermelho-vivo: #ff4b4b;
  --vermelho-texto: #d4001a; /* vermelho pra texto pequeno sobre papel: 4,8:1 (o da marca dá 4,3:1) */
  --preto: #141210;
  --branco: #ffffff;
  --papel: #f5f0ea;
  --papel-escuro: #e9e1d6;
  --cinza: #5a5550;
  --cinza-claro: #8a847e;

  /* texto de apoio sobre vermelho e sobre preto. Sobre o vermelho só o branco puro passa de
     4,5:1 (o rosa #ffe3e6 dava 4,1:1); a hierarquia vem do peso e do tamanho. */
  --rosa: #ffffff;
  --areia: #d9d4ce;

  /* um tom por tipo de ação: pino, chip, etiqueta (cores de dado, não de marca) */
  --t-bandeiraco: #e3001b;
  --t-panfletagem: #ffffff; /* sem amarelo na identidade: a panfletagem é branca com borda preta */
  --t-reuniao: #1d5fd1;
  --t-caminhada: #159a4b;
  --t-carreata: #141210;

  --display: 'Anybody', 'Arial Narrow', Impact, sans-serif;
  --texto: 'PP Neue Machina', 'Helvetica Neue', Arial, sans-serif;

  --borda: 2px;
  --raio-secao: clamp(1.5rem, 5vw, 2.5rem);
  --sobe: 2rem;            /* quanto cada seção sobe sobre a anterior */
  --gutter: clamp(1.25rem, 5vw, 3rem);

  /* o mapa do Brasil do IBGE: viewBox em graus (x = longitude, y = -latitude) */
  --brasil-x: -73.9833;
  --brasil-y: -5.2718;
  --brasil-w: 39.1806;
  --brasil-h: 39.0157;
}

/* ---------- Base ---------- */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

/* o cartão do mapa e a fita sangram pra fora; clip evita scroll lateral no iOS */
html, body { overflow-x: hidden; overflow-x: clip; }

body {
  background: var(--preto);
  color: var(--preto);
  font-family: var(--texto);
  font-weight: 500;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
svg { display: block; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
fieldset { border: 0; min-width: 0; }
legend { padding: 0; }
img { max-width: 100%; height: auto; }

::selection { background: var(--preto); color: var(--branco); }
.rede ::selection, .grupos ::selection, .rodape ::selection { background: var(--vermelho); color: var(--branco); }
.hero ::selection, .cadastrar ::selection, .quem ::selection { background: var(--branco); color: var(--vermelho); }

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

:focus-visible {
  outline: 3px solid var(--branco);
  outline-offset: 4px;
}
.mapa :focus-visible, .materiais :focus-visible, .form-card :focus-visible, .painel :focus-visible { outline-color: var(--vermelho); }

.wrap {
  width: min(1160px, 100%);
  margin: 0 auto;
  padding-inline: var(--gutter);
}
.wrap-largo { width: min(1400px, 100%); }

/* Tipo display: Anybody preta e condensada — aplicada por lista explícita */
.titulo, .titulo-secao, .fita-trilho, .cta, .btn-vazado, .menu a, .selo,
.mapa-viva b, .brasil-sigla, .brasil-dica,
.passos-faixa .passo-h, .passos-faixa li b, .chip, .filtro-select select, .combo input, .campo select,
.dia-cab, .acao-tipo, .acao-titulo, .acao-zap, .pop-tipo, .pop-titulo, .pop-zap, .pop-share, .legenda, .mapa-cadastrar,
.form-card legend, .campo label, .rotulo, .tipo span, .ajuda span, .btn-mini, .btn-form,
.form-sucesso h3, .grupo-cidade, .grupo-nome, .grupo-status, .grupo-entrar, .grupos-vazio h3, .mapa-vazio h3,
.mat-tipo, .mat-titulo, .mat-novo, .mat-baixar, .mat-zap, .mat-previa, .mat-mais, .materiais-vazio h3,
.quem-fecho, .rodape-marca-txt, .demo-selo, .hero-atalhos a, .etiqueta, .busca-rotulo {
  font-family: var(--display);
  font-weight: 900;
  text-transform: uppercase;
}

/* texto de apoio das seções */
.secao-texto {
  margin-top: clamp(1.1rem, 3.5vw, 1.6rem);
  font-size: clamp(1.02rem, .95rem + .4vw, 1.2rem);
  line-height: 1.5;
  max-width: 54ch;
  text-wrap: pretty;
}
.secao-texto strong { font-weight: 800; }

/* título de seção em duas linhas: apoio pequeno + principal grande */
.titulo-secao { line-height: 1; }

.titulo-secao .apoio {
  display: block;
  font-size: clamp(.95rem, .8rem + .8vw, 1.35rem);
  font-stretch: 70%;
  letter-spacing: .06em;
  line-height: .95;
  color: var(--vermelho);
}

.titulo-secao .apoio { display: none; } /* os títulos carregam a seção sozinhos */
.titulo-secao .principal {
  display: block;
  font-size: clamp(2.5rem, 1.9rem + 4vw, 4.25rem);
  font-stretch: 64%;
  line-height: .9;
  letter-spacing: -.005em;
  margin-top: .2rem;
  text-wrap: balance;
}

/* ============================================================
   HERO — vermelho; texto à esquerda, o Brasil em adesivo à direita
   ============================================================ */

.hero {
  position: relative;
  z-index: 1;
  background: var(--vermelho);
  color: var(--branco);
  padding-top: max(1rem, env(safe-area-inset-top, 0px));
  padding-bottom: calc(var(--sobe) + clamp(3.5rem, 10vw, 6rem));
  isolation: isolate;
  overflow: hidden;
}

/* véu: um vermelho mais fundo embaixo, como cartaz impresso em duas passadas.
   Quando vier a arte do hero, ela entra aqui como background e o véu garante a leitura. */
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 90% at 100% 100%, rgba(156, 0, 18, .55) 0%, rgba(156, 0, 18, 0) 60%);
  pointer-events: none;
  z-index: -1;
}

/* Cabeçalho: navegação disponível em todas as telas. */
.topo-barra {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: .25rem 0 1.5rem;
}

.marca { display: inline-flex; align-items: center; min-height: 2.75rem; }
.marca-logo {
  display: block;
  width: clamp(6.25rem, 24vw, 7.5rem);
  height: auto;
  filter: drop-shadow(0 3px 0 rgba(20, 18, 16, .35));
}

.menu { display: flex; flex-wrap: wrap; gap: .25rem; width: 100%; }
.menu a {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 2.75rem;
  padding: .65rem .9rem;
  font-size: 1rem;
  font-stretch: 78%;
  letter-spacing: .025em;
  border-radius: 999px;
  transition: background .15s ease;
}
.menu a:hover { background: rgba(20, 18, 16, .2); }
.menu a svg { width: 1rem; height: 1rem; }
.menu-toggle { display: none; }
.js .menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 999px;
}
.menu-toggle-ico { display: grid; gap: 5px; width: 20px; }
.menu-toggle-ico i { display: block; height: 2px; background: currentColor; transition: transform .15s ease, opacity .15s ease; }
.menu-toggle[aria-expanded="true"] .menu-toggle-ico i:first-child { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-ico i:last-child { transform: translateY(-7px) rotate(-45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-ico i:nth-child(2) { opacity: 0; }
.js .menu { display: none; }
.js .menu.aberto {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: calc(100% - 1rem);
  inset-inline: 0;
  padding: .6rem;
  background: var(--preto);
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 1rem;
  box-shadow: 0 12px 30px rgba(20, 18, 16, .25);
}
.js .menu.aberto a { min-height: 3rem; border-radius: .6rem; }
.js .menu.aberto a:hover { background: rgba(255, 255, 255, .1); }
.menu-participar svg { width: 1rem; height: 1rem; }

.pular-conteudo {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 10000;
  padding: .8rem 1rem;
  background: var(--branco);
  color: var(--preto);
  border-radius: .5rem;
  transform: translateY(-200%);
}
.pular-conteudo:focus { transform: none; outline-color: var(--preto); }
section[id] { scroll-margin-top: 1.5rem; }

/* ---- Título: três linhas que sobem uma depois da outra quando a fonte chega ---- */
.titulo {
  font-size: clamp(3.4rem, 18.5vw, 11rem);
  font-stretch: 64%;
  line-height: .86;
  letter-spacing: -.012em;
  margin-left: -.03em;
}
.titulo .linha { display: block; }
.js:not(.fontes-ok) .titulo .linha { opacity: 0; }
.fontes-ok .titulo .linha {
  animation: sobe .7s cubic-bezier(.2, .8, .2, 1) both;
  animation-delay: calc(var(--i, 0) * 90ms + 40ms);
}
@keyframes sobe {
  from { transform: translateY(.35em); opacity: 0; }
  to   { transform: none; opacity: 1; }
}

/* "DO BRASIL." sobre a pincelada preta; uma branca desregistrada espia por baixo */
.pincel {
  position: relative;
  display: inline-block;
  padding: .02em .12em .04em .08em;
  margin-left: -.08em;
  z-index: 0;
}

.hero-sub {
  margin-top: clamp(2rem, 7vw, 2.75rem); /* a pincelada desce abaixo do título: precisa de folga */
  max-width: 36ch;
  text-wrap: pretty;
  font-size: clamp(1.05rem, .95rem + .5vw, 1.3rem);
  line-height: 1.4;
}
.hero-sub strong { font-weight: 800; }

/* ============================================================
   CTA (pílula com sombra dura)
   ============================================================ */

.cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  width: 100%;
  min-height: 4.25rem;
  padding: 1rem 1.5rem;
  background: var(--branco);
  color: var(--preto);
  border: var(--borda) solid var(--preto);
  border-radius: 999px;
  box-shadow: 6px 6px 0 var(--preto);
  font-size: clamp(1.15rem, 1rem + .7vw, 1.45rem);
  font-stretch: 68%;
  line-height: 1.05;
  letter-spacing: .01em;
  text-align: left;
  transition: transform .15s ease, box-shadow .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.cta .ico { flex: none; width: 1.5em; height: 1.5em; }
.cta span { text-wrap: balance; }
.cta:hover  { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--preto); }
.cta:active { transform: translate(4px, 4px);   box-shadow: 2px 2px 0 var(--preto); }
.cta-preto { background: var(--preto); color: var(--branco); box-shadow: 6px 6px 0 var(--vermelho-escuro); }
.cta-preto:hover  { box-shadow: 8px 8px 0 var(--vermelho-escuro); }
.cta-preto:active { box-shadow: 2px 2px 0 var(--vermelho-escuro); }
.cta-vermelho { background: var(--vermelho); color: var(--branco); }
.cta .estrela { color: var(--vermelho); }
.cta-vermelho .estrela, .cta-preto .estrela { color: var(--branco); }

/* botão secundário: pílula vazada em branco */
.btn-vazado {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  min-height: 3.6rem;
  justify-content: center;
  padding: .8rem 1.1rem;
  border: var(--borda) solid var(--branco);
  border-radius: 999px;
  color: var(--branco);
  font-size: 1.05rem;
  font-stretch: 70%;
  letter-spacing: .02em;
  line-height: 1;
  transition: background .15s ease, color .15s ease, transform .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.btn-vazado svg { flex: none; width: 1.35rem; height: 1.35rem; }
.btn-vazado:hover  { background: var(--branco); color: var(--vermelho); transform: translateY(-2px); }
.btn-vazado:active { transform: translateY(1px); }

.hero-acoes {
  display: grid;
  gap: .85rem;
  margin-top: clamp(1.5rem, 5vw, 2rem);
  max-width: 30rem;
}
.hero-acoes .cta { min-height: 3.75rem; }

/* atalhos do briefing: no celular o menu está fechado, então eles ficam aqui */
.hero-atalhos {
  display: flex;
  gap: .4rem;
  margin: 1.1rem calc(var(--gutter) * -1) 0;
  padding-inline: var(--gutter);
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.hero-atalhos::-webkit-scrollbar { display: none; }
.hero-atalhos a { flex: none; white-space: nowrap; }
.hero-atalhos a {
  display: inline-flex;
  align-items: center;
  min-height: 2.4rem;
  padding: .45rem .8rem;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  font-size: .78rem;
  font-stretch: 76%;
  letter-spacing: .05em;
  color: var(--branco);
  transition: background .12s ease, color .12s ease;
}
.hero-atalhos a:hover { background: var(--branco); color: var(--vermelho); }

.hero-aviso {
  margin-top: 1.75rem;
  font-size: .82rem;
  line-height: 1.4;
  color: var(--rosa);
  max-width: 40ch;
}

/* ---- O adesivo do Brasil ---- */
.mapa-cartao {
  position: relative;
  margin-top: clamp(2rem, 7vw, 3rem);
  padding: 1rem 1rem 0;
  background: var(--branco);
  color: var(--preto);
  border: var(--borda) solid var(--preto);
  border-radius: 1.5rem;
  box-shadow: 8px 8px 0 var(--preto);
  transform: rotate(-1.5deg);
}
.js:not(.fontes-ok) .mapa-cartao { opacity: 0; }
.fontes-ok .mapa-cartao { animation: cola .7s cubic-bezier(.2, .8, .2, 1) both; animation-delay: .35s; }
@keyframes cola {
  from { transform: rotate(-1.5deg) translateY(1.5rem) scale(.98); opacity: 0; }
  to   { transform: rotate(-1.5deg); opacity: 1; }
}

/* selo torto colado no canto do adesivo */
.selo {
  position: absolute;
  top: -.9rem;
  left: -.6rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem .85rem;
  background: var(--vermelho);
  color: var(--branco);
  border: var(--borda) solid var(--preto);
  border-radius: 999px;
  box-shadow: 3px 3px 0 var(--preto);
  font-size: .72rem;
  font-stretch: 76%;
  letter-spacing: .06em;
  line-height: 1;
  white-space: nowrap;
  transform: rotate(-6deg);
}
.selo svg { width: .85rem; height: .85rem; }

/* a caixa do mapa tem exatamente a proporção do viewBox: as porcentagens batem com os graus */
.brasil-caixa {
  position: relative;
  aspect-ratio: var(--brasil-w) / var(--brasil-h);
  width: 100%;
}
.brasil { width: 100%; height: 100%; overflow: visible; }
.brasil path {
  fill: var(--papel-escuro);
  stroke: var(--preto);
  stroke-width: 1.1px;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  transition: fill .12s ease;
  cursor: pointer;
  outline: none;
}
.brasil path.tem { fill: var(--branco); } /* estado que já tem grupo */
.brasil path:hover, .brasil path:focus-visible { fill: #ffd9dd; }
.brasil path.sel { fill: var(--vermelho); }
.brasil path.sel:hover { fill: var(--vermelho-vivo); }

/* camada HTML por cima do SVG: siglas, pontos e dica (animações só em HTML) */
.brasil-camada {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.brasil-sigla {
  position: absolute;
  transform: translate(-50%, -50%);
  font-size: .55rem;
  font-stretch: 78%;
  letter-spacing: .04em;
  line-height: 1;
  color: var(--cinza);
  opacity: .8;
}
.brasil-ponto {
  position: absolute;
  width: .7rem;
  height: .7rem;
  margin: -.35rem 0 0 -.35rem;
  border-radius: 50%;
  background: var(--vermelho);
  border: 1.5px solid var(--preto);
  box-shadow: 1px 1px 0 var(--preto);
}
.brasil-ponto::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  border: 2px solid var(--vermelho);
  animation: anel 1.8s ease-out infinite;
  animation-delay: calc(var(--i, 0) * 120ms);
}
.js:not(.fontes-ok) .brasil-ponto { opacity: 0; }
.fontes-ok .brasil-ponto {
  animation: estala .45s cubic-bezier(.2, .9, .25, 1.3) both;
  animation-delay: calc(var(--i, 0) * 55ms + .75s);
}
@keyframes estala {
  from { transform: scale(0); opacity: 0; }
  to   { transform: none; opacity: 1; }
}
@keyframes anel {
  from { transform: scale(.7); opacity: .9; }
  to   { transform: scale(2.6); opacity: 0; }
}
.parado .brasil-ponto::after { animation-play-state: paused; }

.brasil-dica {
  position: absolute;
  z-index: 4;
  padding: .45rem .7rem;
  background: var(--preto);
  color: var(--branco);
  border-radius: .6rem;
  font-size: .72rem;
  font-stretch: 76%;
  letter-spacing: .04em;
  white-space: nowrap;
  line-height: 1.3;
  transform: translate(-50%, calc(-100% - .6rem));
  opacity: 0;
  transition: opacity .12s ease;
  pointer-events: none;
}
.brasil-dica.visivel { opacity: 1; }
.brasil-dica b { color: var(--vermelho-vivo); }

/* linha viva embaixo do mapa, dentro do adesivo */
.mapa-viva {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  margin: .75rem -1rem 0;
  padding: .85rem 1rem;
  border-top: var(--borda) solid var(--preto);
  background: var(--papel);
  border-radius: 0 0 calc(1.5rem - var(--borda)) calc(1.5rem - var(--borda));
  font-size: .9rem;
  line-height: 1.3;
  color: var(--cinza);
}
.mapa-viva .num { font-weight: 800; color: var(--preto); }
.mapa-viva b {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin-left: auto;
  color: var(--vermelho-texto);
  font-size: .8rem;
  font-stretch: 74%;
  letter-spacing: .05em;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .3em;
}
.mapa-viva b svg { width: .95rem; height: .95rem; transition: transform .15s ease; }
.mapa-viva:hover b svg { transform: translateX(3px); }

.ponto {
  flex: none;
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: var(--cinza-claro);
  position: relative;
}
.tem .ponto { background: var(--vermelho); }
.tem .ponto::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--vermelho-vivo);
  animation: anel 1.4s ease-out infinite;
}

/* etiqueta de dado de demonstração: aparece só enquanto a API não responde */
.demo-selo {
  display: none;
  align-items: center;
  padding: .25rem .5rem;
  background: var(--preto);
  color: var(--branco);
  border-radius: .4rem;
  font-size: .7rem;
  font-stretch: 78%;
  letter-spacing: .08em;
  line-height: 1;
}
.demo .demo-selo { display: inline-flex; }

/* ============================================================
   SEÇÕES EMPILHADAS
   ============================================================ */

.rede, .mapa, .cadastrar, .grupos, .materiais, .quem, .rodape {
  position: relative;
  border-radius: var(--raio-secao) var(--raio-secao) 0 0;
  margin-top: calc(var(--sobe) * -1);
  padding-top: clamp(2.5rem, 7vw, 4.5rem);
  padding-bottom: calc(var(--sobe) + clamp(2.5rem, 7vw, 4.5rem));
}

.rede      { z-index: 2; background: var(--preto);    color: var(--branco); padding-bottom: calc(var(--sobe) + clamp(2.5rem, 7vw, 4.5rem) + 1.75rem); }
.mapa      { z-index: 3; background: var(--papel);    color: var(--preto); }
.cadastrar { z-index: 4; background: var(--vermelho); color: var(--branco); padding-bottom: calc(var(--sobe) + clamp(2.5rem, 7vw, 4.5rem) + 1.75rem); }
.grupos    { z-index: 5; background: var(--preto);    color: var(--branco); }
.materiais { z-index: 6; background: var(--papel);    color: var(--preto); }
.quem      { z-index: 7; background: var(--vermelho); color: var(--branco); }
.rodape    { z-index: 8; background: var(--preto);    color: var(--branco); }

.rede .titulo-secao .apoio, .grupos .titulo-secao .apoio { color: var(--vermelho-vivo); }
.cadastrar .titulo-secao .apoio, .quem .titulo-secao .apoio { color: var(--branco); }
.mapa .titulo-secao .apoio, .materiais .titulo-secao .apoio { color: var(--vermelho-texto); }
.rede .secao-texto, .grupos .secao-texto { color: var(--areia); }
.cadastrar .secao-texto, .quem .secao-texto { color: var(--rosa); }

/* ============================================================
   FITA — os 27 estados, inclinada sobre a emenda hero/rede
   ============================================================ */

.fita {
  position: relative;
  z-index: 3;
  width: 110vw;
  margin: calc(-1 * clamp(2.5rem, 7vw, 4.5rem) - 1.4rem) 0 clamp(2rem, 6vw, 3.5rem) -5vw;
  padding: .7rem 0;
  background: var(--branco);
  color: var(--preto);
  border-top: var(--borda) solid var(--preto);
  border-bottom: var(--borda) solid var(--preto);
  box-shadow: 0 6px 0 var(--vermelho);
  transform: rotate(-1.6deg);
  overflow: hidden;
  pointer-events: none;
}
.fita-trilho {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  width: max-content;
  font-size: clamp(1rem, .9rem + .8vw, 1.5rem);
  font-stretch: 66%;
  letter-spacing: .04em;
  line-height: 1;
  white-space: nowrap;
  animation: corre 70s linear infinite;
}
.fita-trilho svg { width: .7em; height: .7em; color: var(--vermelho); }
@keyframes corre {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.rede.parado .fita-trilho { animation-play-state: paused; }

/* ============================================================
   REDE — como funciona (faixa) + cadastro
   ============================================================ */

/* a faixa dos três passos: uma fileira só; o passo "aceso" é onde você está */
.passos-faixa {
  display: grid;
  gap: .75rem;
  margin-bottom: clamp(2rem, 6vw, 3.5rem);
}
.passos-faixa li a {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: .25rem .9rem;
  align-items: start;
  padding: 1rem 1rem 1rem .9rem;
  border: var(--borda) solid rgba(255, 255, 255, .25);
  border-radius: 1.1rem;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.passos-faixa li a:hover { border-color: var(--branco); transform: translateY(-2px); }
.passos-faixa li b {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  background: var(--branco);
  color: var(--preto);
  border-radius: .8rem;
  font-size: 1.5rem;
  font-stretch: 66%;
  line-height: 1;
}
.passos-faixa li.aceso a { border-color: var(--vermelho); background: rgba(227, 0, 27, .12); }
.passos-faixa li.aceso b { background: var(--vermelho); color: var(--branco); box-shadow: 3px 3px 0 var(--branco); }
.passos-faixa .passo-h { display: block; font-size: 1.35rem; font-stretch: 66%; line-height: 1; }
.passos-faixa p { font-size: .92rem; line-height: 1.4; color: var(--areia); }

.rede .wrap-cadastro { display: grid; gap: 0; }

/* ============================================================
   FORMULÁRIOS — card branco com sombra dura
   ============================================================ */

.form-card {
  position: relative;
  margin-top: clamp(1.5rem, 5vw, 2.25rem);
  background: var(--branco);
  color: var(--preto);
  border: var(--borda) solid var(--preto);
  border-radius: 1.5rem;
  box-shadow: 8px 8px 0 var(--preto);
  padding: 1.5rem 1.25rem 2.5rem;
}
.form-card-vermelha { box-shadow: 8px 8px 0 var(--vermelho); }
.rede .form-card { border-color: var(--preto); }

.form-card fieldset + fieldset { margin-top: 1.75rem; padding-top: 1.5rem; border-top: var(--borda) solid var(--papel-escuro); }
.form-card legend {
  margin-bottom: 1rem;
  font-size: 1.15rem;
  font-stretch: 66%;
  line-height: 1;
  color: var(--vermelho);
}

.campo { display: grid; gap: .4rem; }
.campo + .campo, .campos-2, .campos-3, .campo + .check, .check + .campo, .campos-2 + .campo, .campos-3 + .campo, .campo + .campos-2, .campos-2 + .campos-2, .campo + .campos-3, .campos-2 + .campo-ponto, .campo-ponto + .campos-3 { margin-top: 1rem; }
.campos-2, .campos-3 { display: grid; gap: 1rem; }
.campos-2 .campo + .campo, .campos-3 .campo + .campo { margin-top: 0; }
.campos-3 { grid-template-columns: 1fr 1fr; }
.campos-3 .campo:first-child { grid-column: 1 / -1; }

.campo label, .rotulo {
  font-size: .88rem;
  font-stretch: 80%;
  letter-spacing: .05em;
  line-height: 1.25;
  padding-left: .25rem;
}

.campo input, .campo select, .campo textarea, .combo input {
  width: 100%;
  height: 3.5rem;
  padding: 0 1.1rem;
  border: var(--borda) solid var(--preto);
  border-radius: 999px;
  background: var(--branco);
  color: var(--preto);
  font-family: var(--texto);
  font-weight: 500;
  font-size: 1rem; /* 16px: iOS não dá zoom no foco */
  -webkit-appearance: none;
  appearance: none;
  caret-color: var(--vermelho);
  transition: box-shadow .15s ease, border-color .15s ease;
}
.campo textarea { height: auto; min-height: 6rem; padding: .9rem 1.1rem; border-radius: 1.25rem; resize: vertical; line-height: 1.4; }
.campo select, .filtro-select select {
  cursor: pointer;
  padding-right: 2.6rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23141210' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1.1rem;
}
.campo select { font-family: var(--display); font-weight: 900; text-transform: uppercase; font-stretch: 72%; letter-spacing: .04em; font-size: .95rem; }
.campo select:invalid, .campo select.vazio { color: var(--cinza); }
.campo input[type="date"], .campo input[type="time"] { min-width: 0; }
.campo input::placeholder, .campo textarea::placeholder, .combo input::placeholder { color: var(--cinza); opacity: 1; }
.campo input:disabled, .combo input:disabled { background: var(--papel); color: var(--cinza-claro); border-color: var(--papel-escuro); cursor: not-allowed; }
.campo input:disabled::placeholder, .combo input:disabled::placeholder { color: var(--cinza-claro); }

.campo input:focus, .campo select:focus, .campo textarea:focus, .combo input:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--branco), 0 0 0 6px var(--vermelho);
}
.campo .invalido, .campo input.invalido, .campo select.invalido, .combo input.invalido { border-color: var(--vermelho); box-shadow: 0 0 0 3px rgba(227, 0, 27, .15); }

/* combobox: input + lista filtrada (cidades do IBGE, bairros) */
.combo { position: relative; }
.combo input { font-family: var(--display); font-weight: 900; text-transform: uppercase; font-stretch: 72%; letter-spacing: .04em; font-size: .95rem; }
.combo input::placeholder { font-family: var(--texto); font-weight: 500; text-transform: none; letter-spacing: 0; font-stretch: 100%; font-size: 1rem; }
.combo-lista {
  position: absolute;
  z-index: 30;
  top: calc(100% + .35rem);
  left: 0; right: 0;
  max-height: 14rem;
  overflow-y: auto;
  background: var(--branco);
  border: var(--borda) solid var(--preto);
  border-radius: 1rem;
  box-shadow: 5px 5px 0 var(--preto);
  scrollbar-width: thin;
  scrollbar-color: var(--preto) var(--papel);
}
.combo-lista[hidden] { display: none; }
.combo-lista li {
  padding: .7rem 1rem;
  font-size: .95rem;
  line-height: 1.2;
  cursor: pointer;
}
.combo-lista li + li { border-top: 1px solid var(--papel-escuro); }
.combo-lista li:hover, .combo-lista li.foco { background: var(--preto); color: var(--branco); }
.combo-lista li.combo-nada { color: var(--cinza); cursor: default; font-size: .85rem; }
.combo-lista li.combo-nada:hover { background: none; color: var(--cinza); }
.combo-dica { margin-top: .4rem; padding-left: .25rem; font-size: .8rem; line-height: 1.35; color: var(--cinza); }
.combo-dica b { font-weight: 800; color: var(--preto); }
.combo-dica:empty { display: none; }

/* tipo de ação / como quer ajudar: pílulas que marcam */
.tipos, .ajudas { display: flex; flex-wrap: wrap; gap: .5rem; }
.tipo input, .ajuda input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tipo span, .ajuda span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.75rem;
  padding: .6rem .95rem;
  border: var(--borda) solid var(--preto);
  border-radius: 999px;
  font-size: .88rem;
  font-stretch: 76%;
  letter-spacing: .05em;
  line-height: 1;
  cursor: pointer;
  transition: background .12s ease, color .12s ease, transform .12s ease;
  -webkit-tap-highlight-color: transparent;
}
.tipo span:hover, .ajuda span:hover { transform: translateY(-1px); }
.tipo input:checked + span, .ajuda input:checked + span { background: var(--preto); color: var(--branco); }
.tipo input:focus-visible + span, .ajuda input:focus-visible + span { outline: 3px solid var(--vermelho); outline-offset: 3px; }
.cor { width: .7rem; height: .7rem; border-radius: 50%; background: var(--c); border: 1.5px solid rgba(20, 18, 16, .25); flex: none; }
.tipo input:checked + span .cor { border-color: rgba(255, 255, 255, .5); }
.tipos.invalido span { border-color: var(--vermelho); }

/* ponto no mapa (mini mapa do formulário) */
.campo-ponto { margin-top: 1rem; }
.ponto-cab { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.btn-mini {
  display: inline-flex; align-items: center; gap: .4rem;
  min-height: 2.5rem; padding: .45rem .9rem .45rem .7rem;
  background: var(--preto); color: var(--branco);
  border-radius: 999px;
  font-size: .74rem; font-stretch: 76%; letter-spacing: .05em; line-height: 1;
  transition: background .12s ease, transform .12s ease;
}
.btn-mini svg { width: 1rem; height: 1rem; }
.btn-mini:hover { background: var(--vermelho); transform: translateY(-1px); }
.btn-mini:disabled { opacity: .6; cursor: wait; transform: none; }
.btn-mini:focus-visible { outline: 3px solid var(--vermelho); outline-offset: 3px; }

.leaflet-form {
  height: 15rem;
  border: var(--borda) solid var(--preto);
  border-radius: 1.1rem;
  overflow: hidden;
  background: #e4ebe6;
}
.dica { font-size: .82rem; line-height: 1.4; color: var(--cinza); }
.dica b { font-weight: 800; color: var(--preto); }
.dica.ok { color: var(--t-caminhada); }
.dica.erro { color: var(--vermelho); }
.pino-form i { cursor: grab; }

/* honeypot fora da tela */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

.turnstile:empty { display: none; }
.turnstile { margin-top: 1.25rem; }

.check {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-top: 1.1rem;
  font-size: .88rem;
  line-height: 1.4;
  color: var(--cinza);
  cursor: pointer;
}
.check input { flex: none; width: 1.35rem; height: 1.35rem; margin: .05rem 0 0; accent-color: var(--vermelho); cursor: pointer; }
.check em { display: block; margin-top: .3rem; font-style: normal; color: var(--cinza); }
.check.invalido { color: var(--vermelho-escuro); }

.form-nota { display: flex; gap: .5rem; align-items: flex-start; margin-top: 1.1rem; font-size: .8rem; line-height: 1.4; color: var(--cinza); }
.form-nota svg { flex: none; width: .9rem; height: .9rem; margin-top: .15rem; color: var(--vermelho); }

.form-status {
  min-height: 1.25rem;
  margin-top: .75rem;
  font-size: .9rem;
  line-height: 1.35;
  color: var(--vermelho-escuro);
  font-weight: 800;
}

/* botão flutua meio pra fora do card */
.btn-form {
  position: absolute;
  left: 50%;
  bottom: -1.75rem;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  min-height: 3.5rem;
  padding: .9rem 2rem;
  background: var(--vermelho);
  color: var(--branco);
  border: var(--borda) solid var(--preto);
  border-radius: 999px;
  font-size: 1.2rem;
  font-stretch: 68%;
  letter-spacing: .02em;
  white-space: nowrap;
  box-shadow: 0 .5rem 1.25rem rgba(20, 18, 16, .35); /* o único com sombra difusa: ele flutua */
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.btn-form svg { width: 1.1em; height: 1.1em; }
.btn-form:hover  { transform: translate(-50%, -2px); box-shadow: 0 .7rem 1.5rem rgba(20, 18, 16, .4); }
.btn-form:active { transform: translate(-50%, 2px);  box-shadow: 0 .25rem .6rem rgba(20, 18, 16, .35); }
.btn-form:disabled { opacity: .7; cursor: wait; transform: translateX(-50%); }
.btn-form:focus-visible { outline: 3px solid var(--vermelho); outline-offset: 3px; }
.btn-form-preto { background: var(--preto); }

.form-sucesso { text-align: center; padding: .75rem 0 .25rem; }
.form-sucesso .selo-ok {
  display: grid; place-items: center;
  width: 4rem; height: 4rem; margin: 0 auto .9rem;
  background: var(--vermelho); color: var(--branco);
  border: var(--borda) solid var(--preto); border-radius: 50%;
  box-shadow: 4px 4px 0 var(--preto);
}
.form-sucesso .selo-ok svg { width: 2rem; height: 2rem; }
.form-sucesso h3 { font-size: clamp(1.9rem, 1.4rem + 3vw, 2.75rem); font-stretch: 66%; line-height: .95; color: var(--vermelho); text-wrap: balance; }
.form-sucesso p { margin: .9rem auto 0; max-width: 36ch; font-size: 1rem; line-height: 1.45; }
.form-sucesso .cta { margin: 1.5rem auto 0; max-width: 22rem; min-height: 3.5rem; font-size: 1.1rem; }

/* ============================================================
   MAPA DE AÇÕES — um painel só: lateral (contagem, filtros, agenda) + mapa
   ============================================================ */

.mapa-cab .secao-texto { margin-top: clamp(1.1rem, 3.5vw, 1.6rem); }

.painel {
  display: grid;
  margin-top: clamp(1.5rem, 5vw, 2.25rem);
  background: var(--branco);
  border: var(--borda) solid var(--preto);
  border-radius: 1.5rem;
  box-shadow: 10px 10px 0 var(--preto);
  overflow: hidden;
}

/* no celular a lateral se desmonta: topo, filtros, mapa, agenda — nessa ordem */
.painel-lado { display: contents; }
.painel-topo  { order: 1; }
.filtros      { order: 2; }
.painel-mapa  { order: 3; }
.agenda       { order: 4; }

.painel-topo {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  padding: .9rem 1rem;
  background: var(--preto);
  color: var(--branco);
}
.mapa-contagem {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: .88rem;
  line-height: 1.3;
}
.mapa-contagem b { font-weight: 800; }
.painel-topo .demo-selo { background: var(--branco); color: var(--preto); margin-left: auto; }

.filtros {
  position: relative;
  z-index: 1100; /* a lista de cidades precisa ficar por cima dos painéis do Leaflet */
  display: grid;
  gap: .65rem;
  padding: 1rem 1rem .9rem;
  border-bottom: var(--borda) solid var(--preto);
}
.filtros-local { display: grid; gap: .5rem; grid-template-columns: 1fr; }
.filtro-select { display: block; position: relative; }
.filtro-select select, .filtros .combo input {
  width: 100%;
  height: 3.1rem;
  padding: 0 2.6rem 0 1.1rem;
  border: var(--borda) solid var(--preto);
  border-radius: 999px;
  background-color: var(--branco);
  color: var(--preto);
  font-size: .95rem;
  font-stretch: 70%;
  letter-spacing: .04em;
  -webkit-appearance: none;
  appearance: none;
}
.filtros .combo input { padding-right: 1.1rem; }
.filtros .combo input::placeholder, .busca .combo input::placeholder { font-size: .9rem; }
.filtro-select select:focus { outline: none; box-shadow: 0 0 0 3px var(--branco), 0 0 0 6px var(--vermelho); }

.filtro-grupo { display: grid; gap: .45rem; }
.filtro-rotulo { font-size: .75rem; font-weight: 800; color: var(--cinza); padding-left: .2rem; }
.filtro-limpar { justify-self: start; font-size: .8rem; font-weight: 800; color: var(--vermelho-texto); text-decoration: underline; text-underline-offset: .25em; min-height: 2rem; }

.chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.chip {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 2.75rem;
  padding: .5rem .8rem;
  border: var(--borda) solid var(--preto);
  border-radius: 999px;
  background: var(--branco);
  font-size: .85rem;
  font-stretch: 76%;
  letter-spacing: .05em;
  line-height: 1;
  white-space: nowrap;
  transition: background .12s ease, color .12s ease, transform .12s ease;
  -webkit-tap-highlight-color: transparent;
}
.chip:hover { transform: translateY(-1px); }
.chip.ativo { background: var(--preto); color: var(--branco); }
.chip .cor { width: .65rem; height: .65rem; }
.chip.ativo .cor { border-color: rgba(255, 255, 255, .5); }

.painel-mapa { position: relative; }

.leaflet-mapa {
  height: clamp(18rem, 48svh, 26rem);
  background: #e4ebe6;
  border-bottom: var(--borda) solid var(--preto);
}

/* legenda e botão flutuam sobre o mapa */
.legenda {
  position: absolute;
  left: .75rem; bottom: .75rem;
  z-index: 500;
  display: none;
  gap: .25rem .75rem;
  flex-wrap: wrap;
  padding: .55rem .8rem;
  background: rgba(255, 255, 255, .94);
  border: var(--borda) solid var(--preto);
  border-radius: .8rem;
  font-size: .7rem;
  font-stretch: 78%;
  letter-spacing: .06em;
  line-height: 1;
}
.legenda li { display: inline-flex; align-items: center; gap: .35rem; }
.legenda .cor { width: .6rem; height: .6rem; }

.mapa-cadastrar {
  position: absolute;
  right: .75rem; top: .75rem;
  z-index: 500;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.6rem;
  padding: .55rem 1rem .55rem .8rem;
  background: var(--vermelho);
  color: var(--branco);
  border: var(--borda) solid var(--preto);
  border-radius: 999px;
  box-shadow: 3px 3px 0 var(--preto);
  font-size: .78rem;
  font-stretch: 74%;
  letter-spacing: .04em;
  line-height: 1;
  transition: transform .15s ease, box-shadow .15s ease;
}
.mapa-cadastrar svg { width: 1rem; height: 1rem; }
.mapa-cadastrar:hover  { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--preto); }
.mapa-cadastrar:active { transform: translate(2px, 2px);   box-shadow: 1px 1px 0 var(--preto); }

/* ---- Leaflet: nossa cara ---- */
.leaflet-container { font-family: var(--texto); }
.leaflet-tile-pane { filter: saturate(.45) contrast(.92) brightness(1.04); } /* base dessaturada: os pinos mandam */
.leaflet-control-zoom { border: var(--borda) solid var(--preto) !important; border-radius: .7rem !important; box-shadow: 3px 3px 0 var(--preto) !important; overflow: hidden; }
.leaflet-control-zoom a { width: 2.2rem !important; height: 2.2rem !important; line-height: 2.2rem !important; color: var(--preto) !important; font-weight: 800; border-bottom-color: var(--preto) !important; }
.leaflet-container .leaflet-control-attribution {
  margin: 0 .4rem .35rem 0;
  padding: .1rem .4rem;
  background: rgba(255, 255, 255, .7);
  border-radius: .3rem;
  font-family: var(--texto);
  font-size: .7rem;
  line-height: 1.4;
  color: var(--cinza);
}
.leaflet-container .leaflet-control-attribution a { color: var(--cinza); text-decoration: none; }
.leaflet-container .leaflet-control-attribution a:hover { color: var(--preto); text-decoration: underline; }

/* dica quando a pessoa tenta rolar/arrastar o mapa do jeito que rola a página */
.mapa-dica {
  position: absolute;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(20, 18, 16, .5);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.mapa-dica.visivel { opacity: 1; }
.mapa-dica span {
  padding: .7rem 1.15rem;
  background: var(--preto);
  color: var(--branco);
  border-radius: 999px;
  font-family: var(--display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: .95rem;
  font-stretch: 72%;
  letter-spacing: .04em;
  line-height: 1.3;
  text-align: center;
}

/* pino: gota com a cor do tipo e borda preta, sombra dura */
.pino { background: none; border: 0; }
.pino i {
  display: block;
  width: 2rem; height: 2rem;
  background: var(--c);
  border: 2.5px solid var(--preto);
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 3px 3px 0 rgba(20, 18, 16, .55);
  transition: transform .15s ease;
}
.pino i::after {
  content: '';
  position: absolute;
  inset: 0;
  margin: auto;
  width: .55rem; height: .55rem;
  border-radius: 50%;
  background: var(--branco);
}
.pino:hover i, .pino.ativo i { transform: rotate(-45deg) scale(1.18); }
.pino.tipo-panfletagem i::after { background: var(--preto); }
.pino.hoje i::before {
  content: '';
  position: absolute;
  inset: -.5rem;
  border-radius: 50%;
  border: 2px solid var(--c);
  animation: anel 1.6s ease-out infinite;
}

.leaflet-popup-content-wrapper {
  border: var(--borda) solid var(--preto);
  border-radius: 1rem;
  box-shadow: 5px 5px 0 var(--preto);
  padding: 0;
  color: var(--preto);
}
.leaflet-popup-content { margin: 0; padding: .9rem 1rem 1rem; width: min(18rem, 78vw) !important; line-height: 1.35; font-size: .88rem; }
.leaflet-popup-tip { border: var(--borda) solid var(--preto); border-top: 0; border-left: 0; box-shadow: none; }
.leaflet-popup-close-button { top: .4rem !important; right: .5rem !important; font-size: 1.3rem !important; color: var(--preto) !important; }
.leaflet-container a.leaflet-popup-close-button { color: var(--preto); }

.pop-tipo { display: inline-flex; align-items: center; gap: .35rem; font-size: .72rem; font-stretch: 78%; letter-spacing: .06em; color: var(--cinza); }
.pop-tipo .cor { width: .6rem; height: .6rem; }
.pop-titulo { display: block; margin-top: .25rem; font-size: 1.15rem; font-stretch: 66%; line-height: .98; }
.pop-linha { display: flex; align-items: flex-start; gap: .4rem; margin-top: .5rem; color: var(--cinza); }
.pop-linha svg { flex: none; width: 1rem; height: 1rem; margin-top: .1rem; }
.pop-linha b { color: var(--preto); font-weight: 800; }
.pop-recado { margin-top: .5rem; color: var(--preto); white-space: pre-line; }
.pop-zap {
  display: flex; align-items: center; justify-content: center; gap: .5rem;
  margin-top: .8rem; min-height: 2.6rem;
  background: var(--vermelho); color: var(--branco);
  border: var(--borda) solid var(--preto); border-radius: 999px;
  box-shadow: 3px 3px 0 var(--preto);
  font-size: .85rem; font-stretch: 72%; letter-spacing: .03em;
}
.pop-zap svg { width: 1.1rem; height: 1.1rem; }
.leaflet-container a.pop-zap { color: var(--branco); }
.pop-share {
  display: flex; align-items: center; justify-content: center; gap: .4rem;
  width: 100%; margin-top: .5rem; min-height: 2.4rem;
  border: var(--borda) solid var(--preto); border-radius: 999px;
  font-size: .78rem; font-stretch: 74%; letter-spacing: .04em;
}
.pop-share svg { width: 1rem; height: 1rem; }
.pop-aviso { margin-top: .6rem; font-size: .72rem; line-height: 1.4; color: var(--cinza); }

/* ---- Agenda: as mesmas ações em lista, por dia; o card inteiro leva ao pino ---- */

.agenda { display: grid; align-content: start; gap: 1.1rem; padding: 1rem; background: var(--papel); scrollbar-width: thin; scrollbar-color: var(--preto) var(--papel); }

.dia { display: grid; align-content: start; gap: .6rem; }
.dia-cab {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  font-size: .78rem;
  font-stretch: 72%;
  letter-spacing: .06em;
  color: var(--cinza);
}
.dia-cab b { font-size: 1.35rem; font-stretch: 64%; letter-spacing: -.01em; color: var(--preto); line-height: 1; }
.dia-cab .hoje { color: var(--vermelho-texto); }
.dia-cab::after { content: ''; flex: 1; height: 2px; background: var(--preto); opacity: .15; align-self: center; }

.acao-card {
  position: relative;
  display: grid;
  gap: .3rem;
  padding: .85rem .9rem .9rem;
  background: var(--branco);
  border: var(--borda) solid var(--preto);
  border-radius: .9rem;
  box-shadow: 4px 4px 0 var(--preto);
  text-align: left;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}
.acao-card:hover  { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--preto); }
.acao-card.ativo  { box-shadow: 6px 6px 0 var(--vermelho); }
.acao-card:focus-visible { outline: 3px solid var(--vermelho); outline-offset: 3px; }

.acao-topo { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.acao-tipo {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .3rem .55rem;
  background: var(--c);
  color: var(--branco);
  border-radius: .4rem;
  font-size: .72rem; font-stretch: 78%; letter-spacing: .06em; line-height: 1;
}
.acao-tipo.clara { color: var(--preto); box-shadow: inset 0 0 0 1.5px var(--preto); }
.acao-cidade { font-size: .78rem; font-weight: 800; color: var(--vermelho-texto); letter-spacing: .02em; }

.acao-titulo { font-size: 1.3rem; font-stretch: 66%; line-height: .98; text-wrap: balance; }

.acao-meta { display: grid; gap: .2rem; margin-top: .1rem; font-size: .82rem; line-height: 1.35; color: var(--cinza); }
.acao-meta > span { display: flex; gap: .4rem; align-items: flex-start; }
.acao-meta svg { flex: none; width: .95rem; height: .95rem; margin-top: .1rem; }
.acao-meta b { color: var(--preto); font-weight: 800; }

.acao-desc { font-size: .82rem; line-height: 1.4; color: var(--preto); margin-top: .2rem; white-space: pre-line; }

.acao-pe { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-top: .45rem; flex-wrap: wrap; }
.acao-org { font-size: .78rem; color: var(--cinza); }
.acao-org b { color: var(--preto); font-weight: 800; }

.acao-zap {
  display: inline-flex; align-items: center; gap: .4rem;
  min-height: 2.75rem; padding: .55rem .85rem .55rem .7rem;
  background: var(--preto); color: var(--branco);
  border-radius: 999px;
  font-size: .85rem; font-stretch: 74%; letter-spacing: .04em;
  transition: background .12s ease, transform .12s ease;
}
.acao-zap svg { width: 1rem; height: 1rem; }
.acao-zap:hover { background: var(--vermelho); transform: translateY(-1px); }

/* nada com esses filtros */
.mapa-vazio, .grupos-vazio, .materiais-vazio {
  padding: 1.5rem 1rem;
  text-align: center;
  background: var(--branco);
  border: var(--borda) dashed var(--preto);
  border-radius: 1.25rem;
}
.mapa-vazio h3, .grupos-vazio h3, .materiais-vazio h3 { font-size: 1.6rem; font-stretch: 66%; line-height: .95; text-wrap: balance; }
.mapa-vazio p, .grupos-vazio p, .materiais-vazio p { margin: .6rem auto 0; font-size: .95rem; color: var(--cinza); max-width: 36ch; }
.mapa-vazio .cta, .grupos-vazio .cta { margin: 1.1rem auto 0; max-width: 20rem; min-height: 3.25rem; font-size: 1.05rem; }

.aviso-legal {
  display: flex;
  gap: .5rem;
  align-items: flex-start;
  margin-top: 1.5rem;
  font-size: .85rem;
  line-height: 1.45;
  color: var(--cinza);
  max-width: 60ch;
}
.aviso-legal svg { flex: none; width: 1rem; height: 1rem; margin-top: .15rem; color: var(--vermelho); }

/* ============================================================
   CADASTRAR AÇÃO — vermelho
   ============================================================ */

.passos {
  display: grid;
  gap: .6rem;
  margin-top: 1.4rem;
}
.passos li { display: flex; align-items: center; gap: .75rem; }
.passos li b {
  flex: none;
  display: grid; place-items: center;
  width: 2.4rem; height: 2.4rem;
  background: var(--preto); color: var(--branco);
  border-radius: .7rem;
  font-family: var(--display); font-weight: 900;
  font-size: 1.25rem; font-stretch: 70%; line-height: 1;
}
.passos li span { font-family: var(--display); font-weight: 900; text-transform: uppercase; font-size: .95rem; font-stretch: 70%; letter-spacing: .03em; }

/* ============================================================
   GRUPOS — preto; o mesmo adesivo do Brasil, agora é o controle
   ============================================================ */

.grupos .wrap { display: grid; gap: 0; }
.grupos-mapa { margin-top: clamp(1.5rem, 5vw, 2.25rem); }
.grupos-mapa .mapa-cartao { transform: rotate(1.2deg); box-shadow: 8px 8px 0 var(--vermelho); margin-top: 0; }
.js:not(.fontes-ok) .grupos-mapa .mapa-cartao { opacity: 1; }
.fontes-ok .grupos-mapa .mapa-cartao { animation: none; }
.grupos-mapa .mapa-viva { color: var(--cinza); }
.grupos-mapa .mapa-viva .num { color: var(--preto); }
.grupos-instrucao {
  display: flex; align-items: center; gap: .5rem;
  margin-top: 1rem;
  font-size: .9rem; color: var(--areia);
}
.grupos-instrucao svg { width: 1.1rem; height: 1.1rem; color: var(--vermelho-vivo); }

.grupos-lista-caixa { margin-top: clamp(1.5rem, 5vw, 2.25rem); }
.busca {
  display: grid;
  gap: .5rem;
  padding: 1rem;
  background: var(--branco);
  color: var(--preto);
  border: var(--borda) solid var(--preto);
  border-radius: 1.25rem;
  box-shadow: 6px 6px 0 var(--vermelho);
}
.busca-rotulo { font-size: .78rem; font-stretch: 76%; letter-spacing: .06em; color: var(--cinza); padding-left: .2rem; }
.busca .filtros-local { grid-template-columns: 1fr; }
.busca .filtro-select select, .busca .combo input {
  width: 100%; height: 3.1rem;
  padding: 0 2.6rem 0 1.1rem;
  border: var(--borda) solid var(--preto); border-radius: 999px;
  background-color: var(--branco); color: var(--preto);
  font-size: .95rem; font-stretch: 70%; letter-spacing: .04em;
  -webkit-appearance: none; appearance: none;
}
.busca .combo input { padding-right: 1.1rem; }
.busca .filtro-select select:focus { outline: none; box-shadow: 0 0 0 3px var(--branco), 0 0 0 6px var(--vermelho); }

.grupos-contagem { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .75rem; margin-top: 1.25rem; font-size: .9rem; color: var(--areia); }
.grupos-contagem b { color: var(--branco); font-weight: 800; }
.grupos .demo-selo { background: var(--branco); color: var(--preto); }

.grupos-lista { display: grid; gap: 1.25rem; margin-top: 1rem; }
.grupo-cidade {
  display: flex; align-items: baseline; gap: .5rem;
  font-size: .78rem; font-stretch: 72%; letter-spacing: .06em; color: var(--areia);
}
.grupo-cidade b { font-size: 1.35rem; font-stretch: 64%; letter-spacing: -.01em; color: var(--branco); line-height: 1; }
.grupo-cidade::after { content: ''; flex: 1; height: 2px; background: var(--branco); opacity: .2; align-self: center; }
.grupo-cards { display: grid; gap: .75rem; margin-top: .6rem; }

.grupo {
  display: grid;
  gap: .4rem;
  align-content: start;
  padding: .9rem 1rem 1rem;
  background: var(--branco);
  color: var(--preto);
  border: var(--borda) solid var(--preto);
  border-radius: 1.1rem;
  box-shadow: 5px 5px 0 var(--vermelho);
  transition: transform .15s ease, box-shadow .15s ease;
}
.grupo:hover  { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--vermelho); }
.grupo-nome { font-size: 1.15rem; font-stretch: 66%; line-height: 1; text-wrap: balance; }
.grupo-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .78rem; color: var(--cinza); }
.grupo-status {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .3rem .5rem;
  border-radius: .4rem;
  background: var(--t-caminhada); color: var(--branco);
  font-size: .7rem; font-stretch: 78%; letter-spacing: .06em; line-height: 1;
}
.grupo-status.lotado { background: var(--papel-escuro); color: var(--cinza); }
.grupo-entrar {
  justify-self: start;
  margin-top: .35rem;
  display: inline-flex; align-items: center; gap: .4rem;
  min-height: 2.75rem; padding: .55rem .9rem .55rem .75rem;
  background: var(--preto); color: var(--branco);
  border-radius: 999px;
  font-size: .82rem; font-stretch: 74%; letter-spacing: .04em;
  white-space: nowrap;
  transition: background .12s ease, transform .12s ease;
}
.grupo-entrar svg { width: 1rem; height: 1rem; }
.grupo-entrar:hover { background: var(--vermelho); transform: translateY(-1px); }
.grupo.lotado .grupo-entrar, .grupo.em-breve .grupo-entrar { background: var(--papel-escuro); color: var(--cinza); pointer-events: none; }
.grupo.lotado:hover, .grupo.em-breve:hover { transform: none; box-shadow: 5px 5px 0 var(--vermelho); }
.grupos-aviso { display: flex; gap: .5rem; align-items: flex-start; margin-top: 1rem; font-size: .82rem; line-height: 1.4; color: var(--areia); }
.grupos-aviso svg { flex: none; width: .9rem; height: .9rem; margin-top: .15rem; color: var(--vermelho-vivo); }
.grupos-vazio { color: var(--preto); }

/* grade dos estados: o que aparece antes de escolher um estado */
.uf-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.uf-pill {
  display: grid;
  gap: .15rem;
  min-height: 3.5rem;
  padding: .65rem .85rem;
  background: var(--branco);
  color: var(--preto);
  border: var(--borda) solid var(--preto);
  border-radius: .9rem;
  box-shadow: 4px 4px 0 var(--vermelho);
  text-align: left;
  transition: transform .15s ease, box-shadow .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.uf-pill b { font-family: var(--display); font-weight: 900; text-transform: uppercase; font-size: 1rem; font-stretch: 68%; letter-spacing: .02em; line-height: 1; }
.uf-pill span { font-size: .75rem; color: var(--cinza); }
.uf-pill:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--vermelho); }
.uf-pill:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--vermelho); }
.uf-pill:focus-visible { outline: 3px solid var(--branco); outline-offset: 3px; }
.js .uf-grade .revela { transition-delay: calc(var(--i, 0) * 30ms); }

/* listas compactas no celular: os itens .extra ficam escondidos até o botão abrir */
.compacta .extra { display: none; }
.ver-mais {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  min-height: 3.25rem;
  padding: .75rem 1rem;
  border: var(--borda) solid currentColor;
  border-radius: 999px;
  font-family: var(--display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: .95rem;
  font-stretch: 72%;
  letter-spacing: .04em;
  transition: background .12s ease, color .12s ease;
}
.ver-mais svg { width: 1rem; height: 1rem; transform: rotate(90deg); }
.agenda .ver-mais { color: var(--preto); }
.agenda .ver-mais:hover { background: var(--preto); color: var(--branco); }
.grupos-lista .ver-mais { color: var(--branco); margin-top: .25rem; }
.grupos-lista .ver-mais:hover { background: var(--branco); color: var(--preto); }

/* ============================================================
   MATERIAIS — papel
   ============================================================ */

.materiais-cab { display: grid; gap: 0; }
.materiais .chips { margin-top: clamp(1.25rem, 4vw, 1.75rem); }
.materiais-contagem { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .75rem; margin-top: 1rem; font-size: .85rem; color: var(--cinza); }

.mat-grade {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
  margin-top: 1.25rem;
}
.mat {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: var(--branco);
  border: var(--borda) solid var(--preto);
  border-radius: 1.25rem;
  box-shadow: 6px 6px 0 var(--preto);
  overflow: hidden;
  transition: transform .15s ease, box-shadow .15s ease;
}
.mat:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--preto); }

/* a prévia é o próprio material em miniatura (enquanto o admin não sobe o arquivo, o texto dele) */
.mat-previa {
  position: relative;
  display: grid;
  align-content: end;
  aspect-ratio: 4 / 3;
  padding: 1rem 1rem 3.25rem; /* espaço pro carimbo do tipo no canto de baixo */
  background: var(--vermelho);
  color: var(--branco);
  border-bottom: var(--borda) solid var(--preto);
  font-size: clamp(1.6rem, 1.2rem + 2vw, 2.2rem);
  font-stretch: 64%;
  line-height: .9;
  letter-spacing: -.005em;
  text-wrap: balance;
  overflow: hidden;
}
.mat-previa img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mat-previa.preta { background: var(--preto); }
.mat-previa.papel { background: var(--papel); color: var(--preto); }
.mat-previa.branca { background: var(--branco); color: var(--vermelho); }
.mat-previa.video .mat-tipo, .mat-previa.texto .mat-tipo { bottom: .75rem; }
.mat-previa .estrela-grande { position: absolute; top: .75rem; right: .75rem; width: 2.2rem; height: 2.2rem; opacity: .9; }
.mat-previa .play {
  position: absolute; inset: 0; margin: auto;
  display: grid; place-items: center;
  width: 3.25rem; height: 3.25rem;
  background: var(--branco); color: var(--preto);
  border: var(--borda) solid var(--preto); border-radius: 50%;
  box-shadow: 3px 3px 0 var(--preto);
}
.mat-previa .play svg { width: 1.3rem; height: 1.3rem; margin-left: .2rem; }
.mat-previa.video { align-content: start; }
.mat-previa .folha {
  position: absolute; left: 50%; bottom: -14%;
  width: 56%; aspect-ratio: 1 / 1.414;
  transform: translateX(-50%) rotate(-3deg);
  background: var(--branco); color: var(--preto);
  border: var(--borda) solid var(--preto); border-radius: .4rem;
  box-shadow: 4px 4px 0 var(--preto);
  padding: .6rem;
  font-size: .55em;
  line-height: .95;
}
.mat-previa.texto { aspect-ratio: 16 / 10; align-content: center; }
.mat-previa .balao {
  position: relative;
  padding: .75rem .9rem;
  background: var(--branco); color: var(--preto);
  border: var(--borda) solid var(--preto); border-radius: 1rem 1rem 1rem .25rem;
  box-shadow: 3px 3px 0 var(--preto);
  font-family: var(--texto); font-weight: 500; text-transform: none; letter-spacing: 0;
  font-size: .78rem; line-height: 1.35; font-stretch: 100%;
}
.mat-novo {
  position: absolute; top: .75rem; left: .75rem; z-index: 2;
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .35rem .6rem;
  background: var(--branco); color: var(--vermelho);
  border: var(--borda) solid var(--preto); border-radius: 999px;
  box-shadow: 2px 2px 0 var(--preto);
  font-size: .7rem; font-stretch: 78%; letter-spacing: .08em; line-height: 1;
  transform: rotate(-4deg);
}
.mat-corpo { display: grid; gap: .35rem; padding: .9rem 1rem .25rem; }
.mat-tipo {
  position: absolute; left: .75rem; bottom: .75rem; z-index: 2;
  display: inline-flex; align-items: center;
  padding: .35rem .6rem;
  background: var(--branco); color: var(--preto);
  border: var(--borda) solid var(--preto); border-radius: .4rem;
  box-shadow: 2px 2px 0 var(--preto);
  font-size: .7rem; font-stretch: 78%; letter-spacing: .08em; line-height: 1;
}
.mat-titulo { font-size: 1.25rem; font-stretch: 66%; line-height: .98; text-wrap: balance; }
.mat-desc { font-size: .85rem; line-height: 1.4; color: var(--cinza); }
.mat-acoes { display: flex; gap: .5rem; padding: .9rem 1rem 1rem; }
.mat-baixar, .mat-zap {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  min-height: 2.75rem; padding: .55rem .9rem;
  border-radius: 999px;
  font-size: .82rem; font-stretch: 74%; letter-spacing: .04em;
  transition: background .12s ease, color .12s ease, transform .12s ease;
}
.mat-baixar { flex: 1; background: var(--preto); color: var(--branco); border: var(--borda) solid var(--preto); }
.mat-baixar:hover { background: var(--vermelho); border-color: var(--vermelho); transform: translateY(-1px); }
.mat-zap { border: var(--borda) solid var(--preto); color: var(--preto); }
.mat-zap:hover { background: var(--preto); color: var(--branco); transform: translateY(-1px); }
.mat-baixar svg, .mat-zap svg { width: 1rem; height: 1rem; }
.mat-mais {
  display: inline-flex; align-items: center; gap: .5rem;
  margin-top: 1.5rem; min-height: 3rem;
  font-size: 1rem; font-stretch: 70%; letter-spacing: .04em;
  color: var(--vermelho-texto);
  text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: .35em;
}
.mat-mais svg { width: 1.1rem; height: 1.1rem; transition: transform .15s ease; }
.mat-mais:hover svg { transform: translateX(3px); }

/* página /materiais/: sem hero; a barra do topo vira cabeçalho preto */
.pagina-materiais { background: var(--papel); }
.pagina-materiais .cabecalho { background: var(--preto); color: var(--branco); padding-top: max(1rem, env(safe-area-inset-top, 0px)); padding-bottom: 1rem; position: relative; z-index: 2; }
.pagina-materiais .cabecalho .topo-barra { padding-bottom: 0; }
.pagina-materiais .materiais { margin-top: 0; border-radius: 0; z-index: 1; min-height: 70svh; }
.pagina-materiais .rodape { margin-top: calc(var(--sobe) * -1); }
.volta { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.75rem; font-size: .85rem; color: var(--vermelho-texto); font-weight: 800; }
.volta svg { width: 1rem; height: 1rem; transform: rotate(180deg); }

/* ============================================================
   QUEM SOMOS — vermelho
   ============================================================ */

.quem .wrap { display: grid; gap: 0; }
.quem-fecho {
  margin-top: clamp(1.75rem, 6vw, 3rem);
  font-size: clamp(2.6rem, 1.6rem + 7vw, 6.5rem);
  font-stretch: 64%;
  line-height: .9;
  letter-spacing: -.01em;
  max-width: 12ch;
  text-wrap: balance;
}
.quem-fecho .risco { position: relative; display: inline-block; }
.quem-fecho .risco::after {
  content: '';
  position: absolute;
  left: -.04em; right: -.04em; bottom: .02em;
  height: .14em;
  background: var(--preto);
  border-radius: .1em;
  transform: rotate(-1.2deg);
  z-index: -1;
}
.quem .cta { margin-top: clamp(1.5rem, 5vw, 2.25rem); max-width: 22rem; }

/* ============================================================
   RODAPÉ
   ============================================================ */

.rodape { padding-bottom: calc(clamp(2rem, 6vw, 3rem) + 5rem + env(safe-area-inset-bottom, 0px)); }
.rodape-marca { display: flex; align-items: center; gap: 1rem; }
.rodape-marca img { width: 7rem; height: auto; filter: drop-shadow(0 3px 0 rgba(227, 0, 27, .6)); }
.rodape-marca-txt { font-size: .8rem; font-stretch: 74%; letter-spacing: .05em; line-height: 1.3; color: var(--areia); max-width: 16ch; }
.rodape-info { margin-top: 1.75rem; display: grid; gap: 1rem; }
.cta-rodape { display: none; }
.rodape-aviso, .rodape-lgpd { font-size: .85rem; line-height: 1.45; color: var(--areia); max-width: 60ch; }
.rodape-aviso { display: flex; gap: .5rem; align-items: flex-start; }
.rodape-aviso svg { flex: none; width: 1rem; height: 1rem; margin-top: .15rem; color: var(--vermelho-vivo); }
.rodape-links { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin-top: 1.5rem; padding-top: .75rem; border-top: 1px solid #48413c; }
.rodape-links a { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: .8rem; color: var(--branco); }
.rodape-links a:hover { text-decoration: underline; text-decoration-color: var(--vermelho-vivo); text-underline-offset: .3em; }
.rodape-links .seta-cima { width: .9rem; height: .9rem; margin-left: .35rem; transform: rotate(-90deg); }

/* ============================================================
   BARRA FIXA — polegar
   ============================================================ */

.barra-fixa {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 50;
  display: flex;
  gap: .6rem;
  padding: .75rem var(--gutter) calc(.75rem + env(safe-area-inset-bottom, 0px));
  background: rgba(20, 18, 16, .92);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  transform: translateY(110%);
  transition: transform .3s cubic-bezier(.2, .75, .25, 1);
  pointer-events: none;
}
.barra-fixa.visivel { transform: none; pointer-events: auto; }
.cta-barra {
  flex: 1;
  min-height: 3.5rem;
  font-size: 1.05rem;
  box-shadow: 4px 4px 0 var(--vermelho);
  border-color: var(--preto);
}
.cta-barra:hover  { box-shadow: 6px 6px 0 var(--vermelho); }
.cta-barra:active { box-shadow: 1px 1px 0 var(--vermelho); }
.cta-barra-sec { flex: 0 0 3.5rem; width: 3.5rem; padding: 0; background: var(--vermelho); color: var(--branco); }
.cta-barra-sec .ico { width: 1.6rem; height: 1.6rem; }

/* ============================================================
   REVELAÇÃO AO ROLAR — só com JS; sem JS tudo aparece parado
   ============================================================ */

.js .revela { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s cubic-bezier(.2, .75, .25, 1); }
.js .revela.visto { opacity: 1; transform: none; }
.js .mat-grade .revela, .js .grupo-cards .revela { transition-delay: calc(var(--i, 0) * 45ms); }

/* ============================================================
   404
   ============================================================ */

.pagina-404 { background: var(--vermelho); }
.pagina-404 .hero { min-height: 100svh; display: flex; align-items: center; }
.pagina-404 .titulo { font-size: clamp(3.5rem, 16vw, 9rem); }
.pagina-404 .cta { margin-top: 2rem; max-width: 22rem; }

/* ============================================================
   Telas largas
   ============================================================ */

@media (min-width: 640px) {
  .hero .titulo { font-size: clamp(7rem, 15vw, 8.5rem); }
  .hero-acoes { display: flex; flex-wrap: wrap; max-width: none; }
  .hero-acoes .cta { width: auto; padding-inline: 1.4rem; }
  .campos-2 { grid-template-columns: 1fr 1fr; }
  .campos-3 { grid-template-columns: 1.3fr 1fr 1fr; }
  .campos-3 .campo:first-child { grid-column: auto; }
  .passos-faixa { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .passos { grid-template-columns: repeat(3, auto); justify-content: start; gap: 1.25rem; }
  .filtros-local, .busca .filtros-local { grid-template-columns: 1.15fr 1fr; }
  .grupo-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mat-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brasil-sigla { font-size: .62rem; }
}

@media (min-width: 900px) {

  .js .menu-toggle { display: none; }
  .menu, .js .menu, .js .menu.aberto { display: flex; flex-direction: row; position: static; width: auto; gap: .3rem; padding: .4rem; background: rgba(156, 0, 18, .28); border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; box-shadow: none; }
  .menu a {
    display: inline-flex; align-items: center;
    min-height: 2.75rem; padding: .65rem 1rem;
    border-radius: 999px;
    font-size: 1rem; font-stretch: 78%; letter-spacing: .025em;
    transition: background .12s ease, color .12s ease;
  }
  .menu a:hover, .menu a:focus-visible { text-decoration: underline; text-decoration-color: var(--branco); text-decoration-thickness: 3px; text-underline-offset: .45em; }
  .menu .menu-participar { background: var(--branco); color: var(--vermelho); }
  .menu .menu-participar:hover { background: var(--preto); color: var(--branco); text-decoration: none; }

  /* ---------- Hero: texto à esquerda, o adesivo do Brasil à direita ---------- */
  .hero { min-height: min(100svh, 900px); display: flex; flex-direction: column; padding-top: 1.25rem; padding-bottom: calc(var(--sobe) + clamp(3rem, 5vw, 4.5rem)); }
  .hero .wrap { position: relative; flex: 1; width: min(1360px, 100%); display: flex; flex-direction: column; }
  .hero .topo-barra { align-items: center; padding-bottom: clamp(1.25rem, 2.5vw, 2rem); }
  .marca-logo { width: clamp(7rem, 9vw, 9rem); }
  .hero-miolo {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    column-gap: clamp(2rem, 5vw, 4.5rem);
    align-items: center;
  }
  .hero-texto { max-width: 46rem; }
  .hero .titulo { font-size: clamp(5.4rem, 8.6vw, 8.4rem); letter-spacing: -.015em; }
  .hero-sub { margin-top: 2.25rem; max-width: 34ch; font-size: clamp(1.1rem, .95rem + .4vw, 1.3rem); line-height: 1.45; }
  .hero-acoes { align-items: center; gap: .9rem; margin-top: 1.75rem; }
  .hero-acoes .cta { min-height: 3.75rem; padding: .8rem 1.6rem; font-size: 1.15rem; gap: .7rem; }
  .btn-vazado { min-height: 3.75rem; padding: .8rem 1.4rem; font-size: 1.1rem; }
  .hero-atalhos { display: none; }
  .hero-aviso { grid-column: 1; margin-top: .5rem; align-self: start; }
  .mapa-cartao { margin-top: 0; padding: 1.25rem 1.25rem 0; border-radius: 1.75rem; box-shadow: 10px 10px 0 var(--preto); }
  .mapa-viva { margin: 1rem -1.25rem 0; padding: .9rem 1.25rem; border-radius: 0 0 calc(1.75rem - var(--borda)) calc(1.75rem - var(--borda)); }
  .selo { top: -1rem; left: -1rem; font-size: .78rem; padding: .55rem .95rem; }
  .brasil-sigla { font-size: .66rem; }
  .brasil-ponto { width: .8rem; height: .8rem; margin: -.4rem 0 0 -.4rem; }

  /* ---------- Rede: faixa em cima, título à esquerda e card à direita ---------- */
  .rede .wrap-cadastro {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr);
    column-gap: clamp(3rem, 6vw, 5rem);
    align-items: start;
  }
  .rede-txt { position: sticky; top: 2rem; }
  .rede .form-card { margin-top: 0; padding: 2rem 2rem 2.75rem; }
  .passos-faixa li a { padding: 1.1rem 1.1rem 1.1rem 1rem; }

  /* ---------- Mapa: lateral de 25rem com filtros e agenda rolando; o mapa toma o resto ---------- */
  .mapa-cab { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); column-gap: clamp(3rem, 6vw, 5rem); align-items: end; }
  .mapa-cab .secao-texto { margin-top: 0; }
  .painel {
    grid-template-columns: 26rem minmax(0, 1fr);
    height: min(80vh, 50rem); /* sobra página em volta: dá pra rolar por fora do painel */
    margin-top: 2rem;
    border-radius: 1.75rem;
  }
  .painel-lado { display: flex; flex-direction: column; min-height: 0; border-right: var(--borda) solid var(--preto); }
  .painel-topo, .filtros, .agenda, .painel-mapa { order: 0; }
  .agenda { flex: 1; min-height: 0; overflow-y: auto; } /* sem overscroll contain: no fim da lista a página continua */
  .painel-mapa { height: 100%; }
  .leaflet-mapa { height: 100%; border-bottom: 0; }
  .legenda { display: flex; max-width: calc(100% - 2rem); left: 1rem; bottom: 1.5rem; }
  .mapa-cadastrar { right: 1rem; top: 1rem; }
  .leaflet-bottom.leaflet-right { bottom: 0; }
  .fita { margin-left: -5vw; }

  /* ---------- Cadastrar ação: texto à esquerda, card à direita ---------- */
  .cadastrar .wrap {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr);
    column-gap: clamp(3rem, 6vw, 5rem);
    align-items: start;
  }
  .cadastrar-txt { position: sticky; top: 2rem; }
  .cadastrar .form-card { margin-top: 0; padding: 2rem 2rem 2.75rem; }
  .passos { grid-template-columns: 1fr; gap: .8rem; }
  .leaflet-form { height: 17rem; }

  /* ---------- Grupos: mapa à esquerda (gruda), lista à direita em duas colunas de cidades ---------- */
  .grupos .wrap {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    column-gap: clamp(3rem, 6vw, 5rem);
    align-items: start;
  }
  .grupos-lado { position: sticky; top: 2rem; }
  .grupos-lista-caixa { margin-top: 0; }
  .grupos-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1rem; align-items: start; }
  .grupos-lista .grupos-vazio, .grupos-lista .ver-mais, .grupos-lista .uf-grade { grid-column: 1 / -1; }
  .uf-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grupo-cards { grid-template-columns: 1fr; }

  /* ---------- Materiais: cabeçalho em duas colunas, grade de três ---------- */
  .materiais-cab { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); column-gap: clamp(3rem, 6vw, 5rem); align-items: end; }
  .materiais-cab .secao-texto { margin-top: 0; }
  .mat-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }

  /* ---------- Quem somos: texto à esquerda, fecho grande à direita ---------- */
  .quem .wrap { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(3rem, 6vw, 5rem); align-items: center; }
  .quem-fecho { margin-top: 0; }

  /* ---------- Rodapé: marca à esquerda, botão + avisos à direita ---------- */
  .rodape { padding-bottom: clamp(2.5rem, 6vw, 4rem); }
  .rodape .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); column-gap: clamp(3rem, 6vw, 5rem); align-items: start; }
  .rodape-marca { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
  .rodape-marca img { width: 11rem; }
  .rodape-marca-txt { font-size: .95rem; max-width: 22ch; }
  .rodape-info { margin-top: 0; }
  .cta-rodape { display: flex; max-width: 24rem; }
  .rodape-links { grid-column: 1 / -1; margin-top: 2.5rem; justify-content: space-between; }

  /* no desktop o rodapé já tem o botão; a barra fixa só atrapalha */
  .barra-fixa { display: none; }
}

@media (min-width: 1200px) {
  .hero-miolo { column-gap: clamp(3rem, 6vw, 6rem); }
}

/* ============================================================
   Movimento reduzido
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .fontes-ok .titulo .linha, .fontes-ok .mapa-cartao, .fontes-ok .brasil-ponto { animation: none; }
  .js .titulo .linha, .js .mapa-cartao, .js .brasil-ponto { opacity: 1; }
  .brasil-ponto::after, .tem .ponto::after, .fita-trilho, .pino.hoje i::before { animation: none; }
  .btn-vazado, .mapa-viva b svg, .mapa-dica, .menu a, .menu-toggle-ico i, .brasil path, .brasil-dica { transition: none; }
  .js .revela { opacity: 1; transform: none; transition: none; }
  .cta, .chip, .acao-card, .acao-zap, .barra-fixa, .btn-form, .btn-mini, .campo input, .tipo span, .ajuda span, .pino i, .grupo, .mat, .passos-faixa li a { transition: none; }
}

/* ============================================================
   Pincelada atrás de "DO BRASIL." — PNG embutido como máscara
   (arquivo externo não carrega em file://). Veio do segundo-turno.
   A linha :root { --pincel-mascara: url('data:...') } é anexada abaixo.
   ============================================================ */

.pincel::before, .pincel::after {
  content: '';
  position: absolute;
  -webkit-mask: var(--pincel-mascara) center / 100% 100% no-repeat;
          mask: var(--pincel-mascara) center / 100% 100% no-repeat;
  transform: rotate(-1.2deg);
}
.pincel::before { inset: 4% -4% 2% -5%; background: var(--preto); z-index: -1; }
/* a pincelada branca desregistrada espia por baixo da preta, como cartaz impresso em duas passadas */
.pincel::after  { inset: 12% -2% -6% -3%; background: var(--branco); z-index: -2; transform: rotate(-1.8deg) translateX(.03em); opacity: .9; }

:root { --pincel-mascara: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABJMAAAGSCAYAAABXF4CGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+5pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDEwLjAtYzAwMCA3OS5kMjBlNDY2MzAsIDIwMjUvMTIvMDktMDI6MTE6MjMgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI3LjggKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDI2LTA3LTIzVDEzOjAyOjM1LTAzOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNi0wNy0yM1QxNjowNToyMy0wMzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNi0wNy0yM1QxNjowNToyMy0wMzowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODQxQTA3QTg3RUQ0MTFGMUE0RUM5RTUxNzI0RDM2MTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODQxQTA3QTk3RUQ0MTFGMUE0RUM5RTUxNzI0RDM2MTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NDFBMDdBNjdFRDQxMUYxQTRFQzlFNTE3MjREMzYxMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4NDFBMDdBNzdFRDQxMUYxQTRFQzlFNTE3MjREMzYxMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pmf5SGsAADcgSURBVHja7N0HnOVleS/wZxcWls5SBRUpSxERSywomlUEDXaxRWyxxR41llhyo7l6xWhMSLCQ6EUlscQCYiEaRQUUpcNSlt573b7LsuU+r/93LsdxypmZMzNnzvl+P5/n8549fd//mTPn/OYtszZs2BAAAETce+qBs7J5VdbLss6stWjegoU36R0AgMYsYRIAQAwOlV6dzfEtZy3PuiLr8qxral2ddWUGTbfoMQAghEkAANHvgdKx2by5jasuybos69KsC7LOyjovQ6Y1ehEACGESAED0S5j04GxuLJ+XxnHzVVlnZP0w6/sZLF2vRwGAECYBAESvB0oLs3lkB+7qtKwvZX3biCUAIIRJAADRq2HSb7J5cgfvsox0+nTWsRkqre2S/+PG2WyVtU1tS21W23LZlllzsrbI2iRr86y5tcr1Nq3nbVLvcpshRnNtWq872DbDjPwqgdvKNv8LZT2rtS0jwu4b4j7W1usVG+rUxGJd1rLxtHn8lvkJASCESQAAxAMhSwlTbosmKOm0ssbSWzOQ+FUHn28Jc3bI2qnWDi3tvGFq62iCHsZndTQB1tJowqpyekX998r67yUtp5fVWlWvv7RevryevzxfE8t1KwAhTAIAiJkWJG1cp6X9xSQ+TPkQdnTWB0eb+pbPpwRau9d6WFZZz2mX2u5aa3tHrmcsGQiXWtrW4Gng9FDt4oHT+bpapysBCGESAEC0GwjNzubpWU/Mmh9N2LLNEFcdmLq0sk6NKlOinpa11xQ91dOzjqiPvXfWfln7ZO2btWc0AdKOjijjsGKIwGnY8GmoNgOplboRgBAmAQDR+0FSCV9+lbX/DHnKa1rWHIJusm5QyLR4lJFRg4Mro6QAetDGugAA6EFvjZkTJIUgiS62UdZ2tWICAe+KNsKnxS3T+lbUdnHL6RUZSi11SABCmAQAMAkO0wXQVbaotUtMLJSKGjitiAdCpoFd/ErQdH+9fHWtcnpRhlDfcAgAwjQ3AIBhvmw+OZvf6AkgmoDp3VnXxAPT7pbVqXdrdA9ACJMAgOj3IOm52XwtJjglB+gLA6OZltaAqXWB8tbzl7bsoreyjoRaUk+vHNh1z7pQQAiTAABipgRI22bznKy/ynqCHgGmyf01XFpcA6eVLWtArarT8pbU0wOB1Ip6ennL9LyB9aVW1/sou+r50gaEMAkAIMYdHj04mz/JekzW07MODutAAr1tTUsAtaoGTYtbTreGVK0jqAbWl1rdEmytbgmvVmVQtVL3AiFMAgBi5gdGm2dzQNbDs/Zsqb2zdtRDAB01eNre0pbRVQMjqFa2jK5a2RJcLW+57eKB0xlSLdetPfV7eSNTOQlhEkBP/pLfPZuPZd2cdW3WDVm3Zt1RyhB5ujQwekjWQ7P2yppf2wPq6dl6CWBGaw2ahgqlBnbkW96yTlXreUtaTi8XUE3b7+syCvjfs16Sx+DCSXqMnbLZNu//Cj0ewiQApuyX/OOzOSmG33J5fcvCokvqXw4XD/r3iroY6Yq67sPSerty2bo6HP7+enm0nPd7+ct/sSPRt6+/LbPZqtbWtd2m5fSOtXbI2j5r11rb6D0AYuyjqFoDp2XDBFPLWoOoQcHUwI5+y3TnqL/jy7TyX9Tf6aXv3pX9dtwkPdZbsnlc1mfzMRbp/RAmATCpv+TflM0xWZtGd/0lct2gHXNWxdCLla4Y4vy19T5iiFBs6RjOH+5xBwKzwRaP4TkOZXWtblCCmlkt/95s0Gtkdv1g+P8/E7SEO9vWdut6vS3rmkRbZM2p9zW3JTCa5ScRgJi54dTgnfyGO714qMsz+FgdvfkZc59sfhPNH4NanZL1gfx/n9fhxyufJ07LekrWmVnfzzo964J8rBVeqiFMAqAjv3DLyI4vZj1fbwAAxHTu5NcaPrWGU61tCaPuHaq6bTmC/JxZpqGfEc1U9OGU4OebWT/K539Thx73udn8cIiLbotmKYeB0WVr44HF6VfWPyzenXVd1tlZ5+RzWu+lGcIkAP7/L9kyIuQdWX8XzRQiAABmtqGCpnuiCUjurmtg3t1Sd2ZYsmSSPmuWqemnRrMJRruuyyrrKV2SdVnW5VlX5nO8d4yPvUnti80m+N+4MevTWcfmc1g7FZ/Pe3WEWgiTAGKmh0hlitEbst4XI/+VCACA6IsRUa1h0x11BM9tdROW21rqznZG6tR1EMs0tid06DneHs1IobPrlLnT83msGeU5LMzmkR16/J9mPX+0xxzjZ/ISdD0761lZj8l6RDwQfi2pgVoJ407Mxz27g4/7jGw+Ek1Q9p6873tCmATACL84nhhNiPSKaNauAQCAsShrWd4ZzVSx61rqhpbTZWTNj7MOjcldV/PErK9kGPLLIT73zq6h2PYderxzsx7fiWmEdTHyMjvg5dH+yKmyrtTHs04a73PIxy073f5rNAHWgKuznpn3eU0IkwBoGYH01KznZD0v62F6BQCASba6brAxVc7POirruwNBS34O/qts/qWDj/GsvO//meCi4GUE0oey/nQCz6OsL/XyfC63jXEE1IezPpC1yRBXKSOgHtvJUVdjsbGfF4CY7i3V9886oPwyyHpy1oFZG+kdAACm0NwpfrwyRezbWWfkZ+LvZvuM+sfU6OAoqFvH+Rm9jJB6cTRhzqM78FxKEDU/mimH7Tz+C7L556w9RrhamV73+qxjw8gkgOi1sKj8Itq1ji4qtXtWGaq6Z/2F8hC9BAAAk6Isvv2FrE/lCJ5b2/jsvl02r836q/q5vZNOyHrjSIuS5+M/PZtPRPMH5nackvd3aAiTAGKmhkYPqSOK9o0mJNonmr8k7JY1Rw8BAEBM52LlP8g6KevMrOszhLkvP8NvVUf4PD7r8KzDYnJncJXF0o/J+lHWVVmz63eHp2UdGWMfBXVH/j92DmESQMyE4GjTbJ4UzbpGpR6XNU/PAAAAU2hdhkkbC5MAonvConxj/lXLeZtn8/ysI6LZSWELPQUAAEyzrfN7y7KwADdATHV4VIa3Piqa4a0Lsspc5a9n/SovK1PV3h7N4nZGHwEAAN2k7PomTAKIyds1bbe6kN5udW7yvnUntRIYzRp0kxPyNl/N9lVhZzUAAKA7PSjrjkHffbbP5kXRbPZzc9Zvc/TSxSFMAviD6We7ZO1U30gHaufa7lZr+zHc7apoFufbXA8DAABd7KCshS3fj8rarj8c/P0nz788m29kfamdne3CmklAzJyRQ/Pqm16p7eq/t2upoS7fTO8BAAB96uysJ2ZAtKF+p7oymj+qD2dt1glZX8w6tdwujEwCYvrCoNk13Nl2hJo36HRrWDRHLwIAAIxJWff1Q1mfjGat1wfF6DnQy2pdkd/jvpLtCRkqXRFGJgEx/ilj84ao7YYIgwbXVnoQAABgWnw66zlZjxjhOkuzzs1alHVjNOspLannX5yB0l0hTILo92Box2x2iCYIKu2O9fTANLEdarVOGTM6CAAAoHdcl/WlaNaEvXS809rCNDeImRwQ7VAXm35wPLDI9I71vB3qv3eup/18AwAA9KdlWe/N+koGSGs7fee+bEJ0TVC0U922vtTD4oHQqNSutTbVUwAAAIygTF97eoZIV07WA5jmRvRYIFPClsOyLsgfnJu67LmV8HbPrIdn7ZO1RzwQHu1uVzIAAAAmaF3Wwfl9+MzJfBBhEtGDO4qtyJobzYJi3886Pn+QzpnC57BRNvtlPbq2+9d277AmEQAAAJPn2/n99+Vtfnct31U/kPWn0SyjsiqaUU1nZf24VN7XmhAmEf0RKF2YzYGDzv5l1ofzB+F3k/B4ZY2ip2QdnPXk+thGGQEAADDVXpDfe3/Q5nfZv8/m70a4ym1Zn8j6Yt7n+rBmEj3u3iHOe3rWb/OH5cvZ/nX+ICybYIBURh29LOvwaEYgAQAAwHRbOIbrbjPo36sGDYwoo5U+l/WS/A780vwefdfABbP1M33mjVkX5A/C42L8QVJZHPsjWR8MQRIAAADdY/EYrrvRoH8/O5oNoP6sfuf97zpY42lZP8/vwpsJk+hlo+14VhbB/nX+ILxhPHeeaez1WS/Nk2/V1QAAAHSRt+d33Vdm7dXGdbca4vvuLVk/zfpkVgmXdsw6JOuqrI+FaW70sN2jvcDpy/kDVtY4ekf+kKyK9kcmPTSbf4xmmhsAAAB0i0+0fHf9UTava52eNsjGbQymWFfXIP5l3t8hYWQS0ZuLb28XzbzOdr0+67y83VPbuO/5Wf+WJ68MQRIAAADd7blZ3xnh8i1jbLN0fhFGJtGjnjaO2+yXdVoGRT/L9risX0ezan0ZvbRPNDu1HRHNdokCWAAAAGbMd+QyeCKDoNOHuGzOeO9UmESvefYEbntYLQAAAOgVr8waKkzaYrx3aJQF0UNT3LYw/QwAAAD+wMtbd2KL4TevWh3CJPrQa2KI1egBAACgj22b9fkMlLasAzHmZJXlXB4c4wyTZm3YsEG3Ej0wKmluNldkPVRvAAAAwB9Zk3VP1o5ZGw1x+fxcW+nqsGYSfeTdIUgCAACA4WwSI+9+fn+Y5kb0z6ik+dn8nZ4AAACAcVsawiSiP4KkspXhf2RtpjcAAAAgJjINLoRJ9IPPZB2kGwAAAGD8cr2klSFMInp/VNLbs3mXngAAAIAJWTmWKwuTiBkaJL0ym3/VEwAAADBh94cwiejtIOlV2Rzv9QsAAAAdsTiESUTvBknvi2bBba9dAAAAiKkfmbSx/iJmRohUdms7Nus1egMAAAA6ankYmUTM3NDoeVkfGHTeo7I5MwRJAAAAMBmWhJFJxMwLkeZn8/msZ2ad0DIa6SNZ78/aRC8BAADApFgWwiRi5oRIZXTce7L+T9am9eyt8vy3RRMk7aqXAAAAILpmmpswiZjGIGnvbI7Lesqgiw6rBQAAAIQwiej7EGlWNm/P+nTWZnoEAAAAQpgEMXSQtHM2X836M70BAAAAMeMW4LabGzGFQdJzsrkoBEkAAAAQFuCGGDZEmhvNlLZ36g0AAAAI09wghg+SDsjmG1mP1BsAAAAQwiSIkRfZ/sesTfUIAAAAhDAJYuggaadsvpL1bL0BAAAAYQFuiOGDpGfXRbYFSQAAABAW4IYYJkTaIpvPZr1ZbwAAAECY5gYxfJB0UDb/kTVfbwAAAEAIkyCGDpHmZPO/sj6ctZEeAQAAgOj5MGnWhg0bdBkxjiDpsdn836xH6w0AAACYueYtWDgrjEwi2l/naJt80dwyhtvMzeajWe8Po5EAAAAg+mlUUtjNLfo5SNopm19mPWYMt3lqNhdmfTAESQAAABD9GCYZmRR9GSQ9MZv/ynpY1pw2rr9dNv8n6y16DwAAAEKYRPRLiDS7Tk/7RMux33KU678h66is7fUgAAAAhDBJn0W/BEllOtsXs57Yzmsgr39oNp8JC2wDAABAL1sSwiTiD0OhXbL5SDRT1IZa52jrQdc/KJu/z3qm3gMAAICetyyESUQTCu2YzXuz3pm1eYyyCHtef0E2H8p6lt4DAACAMM0thEnRJyHSvtm8J+u1WXPbuMnz8javNZ0NAAAAwsikECZFnwRIm2bzoqw3ZR0yxpsfogcBAAAgjEwKYVL0wc5sf5p1ZNZLsubpFQAAAGCMloYwKXp9BNLTohmF9IKsB+kVAAAAIIRJxAMB0p7ZPDua3dWeESMvpg0AAAAQprlFX4VH20Uz+uiQurPafL0CAAAAhDCJaMKjrbJZkPX0aEYeHZg1S88AAAAAIUwiw6PS5wdnHRrN6KMnZm2kZwAAAICwZhLRBEhbRzN17Yis54ed1wAAAIAQJkWfBEPbZDNcbZ+1Y9YOtXbL2jVraz0HAAAAdKFlIUyKsUw32ynrIVk719NlxNB2teYNarergREAAABAr1gSwqRoDYzKKKFHZu1Za4+svaIZMbSTha4BAACAMM0t+i5MytCohEL7RbOY9WOzDogmRNrBawIAAABgSGvmLVi4OsYTJmUYU6ZwbZx3cEfMjPCo7H72pKxnZB1Ua1uvAQAAAICYtFFJ0TIy6ZisQzOk+YsMlP47ujNAemg2f1brGdYvAgAAAIgpXS+p2DhDmhdme2T998n576Oz/WCGSvfF9AdIZV2jl2S9IuvgsMYRAAAAQEz3yKRjB5337qxDMsj58wyUFsXUB0ibZPPirNdmHZq1kWMLAAAAEF0RJs2OZlezwQ7MOjeDnTfH1IVIu2Z9Mk/elPWNrGeFIAkAAABgsiyOcY5MWjrM+kObZR2bAU9Zo+iNOUrp7picEGl+Nh/OelXWHMcRAAAAILp2zaTZbQxpKmsqXZihz9OjsyHSXllfzZOXZb0uBEkAAAAAMRPWTFrRxvUenHVKhj9HZfvRHKW0NsYfIm2Xzd9lvS0ESAAAAAAx00YmLW/zurPqdLRTMxDaLcYeIs3OelOevCLrXSFIAgAAAIiZuAD38jHe5slZF2Qw9KJoP0jaL5vfZP171vaOFQAAAEDM2JFJ47nhvKwTMiT6XNamMXyINCvrfXnygqyDHCMAAACA6LuRSa3ennVmBkb7xh8HSQ/K5qdZn8na1PEBAAAAiL4Pk4pHZZ2b4dFr4oEgaUE2F2Yd5rgAAAAARM9Mc9u4A2FSsUXW1zJEOjTb87M+Xe8bAAAAgOidkUkl8FnWwSfx6loAAAAAhAW4AQAAAIj+DpMW6zsAAACAECZFe2HSUn0HAAAA0FeWzVuwcEMIkwAAAACISVp8O6yZBAAAABDCpDAyCQAAAIDo7HpJYWQSAAAAQBiZFEYmAQAAABCTMDIpV+5eme1afQgAAAAQRibF6COTwugkAAAAgDAyKdoPk6ybBAAAABBGJoUwCQAAAIDo8MikxfoQAAAAIIRJ0V6YdK8+BAAAAAhhUhiZBAAAAEB0ds0kI5MAAAAAwsikMDIJAAAAgOjwyCRhEgAAAEAYmRSmuQEAAAAQRiYBAAAAMA7r5i1YuDKMTAIAAAAgJnGKWxiZBAAAABCmuIWRSQAAAACEkUkAAAAATMziCYdJddGlNfoSAAAAIExzi9FHJoXRSQAAAABhmlu0HyZZNwkAAAAgTHMLI5MAAAAAiA6PTLpHXwIAAACEMCmESQAAAABEZ6e5CZMAAAAAwsikaDNMulNfAgAAAIQwKYxMAgAAACBMcwMAAAAgpmdk0t36EgAAACCESWFkEgAAAABhmhsAAAAA7bt/3oKFq8JubgAAAADEJE9xi9YwKVOpZdms1acAAAAAYYpbjD4yKUx1AwAAAAgjk6L9MMmObgAAAAAhTAojkwAAAADCNLcwMgkAAACAmJ6RSXfpUwAAAIAQJoVpbgAAAABhmlsIkwAAAAAIu7kBAAAAEEYmAQAAABA9MTLpNn0KAAAAEEYmhd3cAAAAAMLIpBAmAQAAABBTHybNW7CwhEnr9CsAAABAmOYWo49MCqOTAAAAAMLIpGg/TLpbvwIAAAD0nJU5K21tTEKYdLu+BQAAAAhT3KK9MOlOfQsAAAAQpriFNZMAAAAAQpgUprkBAAAAEKa5AQAAABCmuQEAAAAQprkBAAAAEKa5AQAAABBGJoVpbgAAAAAhTIoJhUnr9S8AAABAmOYWo4RJ8xYs3BBGJwEAAACEkUnR1sikECYBAAAAhDAp2g+T7OgGAAAAEKa5RZthkh3dAAAAAMLIpGgzTLpb/wIAAACEMCnaC5Nu078AAAAAvSM3XbNmEgAAAAAxZaOSYoQw6RZ9DAAAABAW3w4jkwAAAADCyKQwMgkAAACAmJaRSXfoYwAAAIAwMinaCJNyde812dylnwEAAADCyKQYfWRScad+BgAAAAhhUrQXJt2snwEAAABCmBTthUnWTQIAAAAIYVIYmQQAAAAQwqQwMgkAAACAmOLd3Kpb9DMAAABAGJkU7YVJt+tnAAAAgBAmhZFJAAAAACFMCmsmAQAAABBTHybNW7Dw7mzW6GsAAACAECbF6COTwrpJAAAAADPe8hw0tC6mKEy6VX8DAAAAzGhLOnlno4VJt+lvAAAAgDDFLYxMAgAAAAhhUhiZBAAAAEAIkwAAAAAI09wAAAAACGESAAAAANFXu7ndqL8BAAAAwsikaC9MuiNrnT4HAAAACGFSjBImzVuwsARJt+tzAAAAgBAmxegjk4qb9DkAAABACJOivTDpZn0OAAAAEMKkaC9MukWfAwAAAIQwKUxzAwAAAOh1S8I0NwAAAADCNDcAAAAAOmjVvAUL14SRSQAAAADEFI9KCmsmAQAAAIQwKToYJuVQqOXZLNX3AAAAACFMavN6N+p7AAAAgOjrndxCmAQAAAAQRiZF58OkG/Q9AAAAQAiT2ryeRbgBAAAAQphkZBIAAABACJPCyCQAAACAECaFMAkAAACA6O4w6Xp9DwAAADDjLInpCJPmLVi4Opu79D8AAABAGJkUproBAAAAhDAphEkAAAAAIUyK6QiTbtD/AAAAACFMCotwAwAAAPSa++o62CFMAgAAACCmeie3ECYBAAAAhCluIUwCAAAACGFSTGuYdFvWGscBAAAAIIRJo8kFmzZkc6PjAAAAABDCpDZd5zgAAAAAhDCpTTc4DgAAAAAhTAqLcAMAAAD0kiUhTAIAAAAgjEwCAAAAIIRJAAAAAEQfh0k3Zq13LAAAAABCmDSaeQsW3p/NTY4FAAAAQAiT2nStYwEAAAAQdnNr0zWOBQAAAEAYmdSm6xwLAAAAgK62NpcrWhFGJgEAAAAQ0zQqKayZBAAAABDCpBAmAQAAAIQwKboiTLo16z7HBAAAACCESaPJxZs2hNFJAAAAAN1sSXTRyKQQJgEAAACEkUkhTAIAAAAIYVJ0PEy6xjEBAAAACGFSm652TAAAAABCmBTCJAAAAIAQJkVHw6SrHBMAAACAsJtbO+YtWLgqm1scFwAAAIAwMimMTgIAAAAIYVIIkwAAAABCmBTTESZd47gAAAAAhDCpTVc4LgAAAABdZ32ud70sujBMutqxAQAAAIi+GZUUwiQAAACAnrMkujFMyuFS5Ynd5fgAAAAAhJFJYUc3AAAAgBAmRUfDJItwAwAAAIQwqV1XOj4AAAAAIUxq02WODwAAAEAIk8LIJAAAAIAQJkXH10za4BgBAAAAdI0l0a1h0rwFC1dlc6NjBAAAABBGJoUd3QAAAABCmBQdDZMswg0AAAAQwqSwCDcAAABACJOis2HS5Y4RAAAAQAiTQpgEAAAAEHZzi46GSTdk3ec4AQAAAEy/eQsWdvfIpHyC68OObgAAAADR66OSokMjk4pLHSsAAACA6On1kqKDYdJljhUAAABACJPadIljBQAAABDCpDYtcqwAAAAAQpjUprIA9zrHCwAAACCESTH6jm5rsrnK8QIAAAAIu7mFqW4AAAAAYWRSZ8OkSx0vAAAAgBAmhTAJAAAAIIRJprkBAAAAhDAppiVMuixrg2MGAAAAEMKkGH1Ht5XZXOeYAQAAAIQwqU0LHTMAAKCLfSfrNN0A9LAlMcPCpIscMwAAoAtdm3V4zqh4WbaP0B1AGJkUwiQAAIA/tjbrqKwDMkj6yb2nHrhXnt5etwAhTBq3jUOYBAAA9KYzsv4yQ6RLWs57vG4BetiyfM9bHzNsZNKVWfc5dgAAwDS6N+tNWU8ZFCQVf6J7gDAqKbomTMo36jKEdJFjBwAATJOvZ+2X302+nLVhiMv31UVACJOim6a5FRdmPdrxAwAAplgJkN40ynUsvg2EMCm6appbWDcJAACYJq/OBbbnD3dhXjY3m911E9DDloQwCQAAoG2bZh07wuX7TtJ3IIAwMimESQAAwIz0jByB9OphLnu47gFCmBRdFyblHOVbs7nb8QMAAKbJP2WgtH0Ik4AQJsUMGZlULHT8AACAabJD1meGOH9/XQOEMCm6NUw61/EDAACm0etydNKCQeftp1uAECZFt4ZJFzh+AADANPu3DJQ2rTu5bRzNAtwAIUwKI5MAAABi6N3bPlRP75E1R5cAPW5JzOAw6cqslY4hAAAwzT6Uo5L2DotvA2FkUnRzmJQ7uq3L5kLHEAAAmGa/zLo5rJcEhDApunxkUnG+YwgAAEyT9VlHZT03/9i90sgkIIRJHbPxJN73eY4hAAAwDcosiXdkiPTrlvOESUBYMymMTAIAAGhxddbrsx7bGiTlmkmzsjlA9wA9blW+990fM3xk0sVZayf5MQAAAEpw9Lms79b1WwfbM2sL3QSEUUnR1WFSvomvyb8AXJQnH+N4AgAAHXZr1reyjsvvHhePct1H6i6gDyyNmR4mVReEMAkAAOiMW7JOyvpe1i8zRFrf5u0epeuAMDIpZkqYdFbW6xxPAAAgxrcjW/lO8ZOs/846OwOkDeO4nyfqSiCESTGTwiQAAIBoMzwqG/mcmnV6aTM8uncid5hLb8zJ5mBdC4QwKWZKmLQwa3XWXMcUAAAYZHUNj06LJkA6I8OjTn8ZekTWcVnbtNS2g/69iUMBhDCpbbM2bNgwqQ+Qfwn4TTZPdkwBAKCvlS8ei6KZvXBm1tlZC6dqG+tRvrPMHSFoGnz+cJfbxRqYbkfne+p7ogdGJkX9ZSFMAgCA/rEu6/JoRh2VOi/rnPySs6wbn2w+r9V1lNTtMf5AaosYPoSa19IOroHzZ3vZAGGaW1g3CQAAet+KrEuiCY0uqMHRRRnQrOqnTsj/74raF7fE+MKorWuotF2MHjwNLqOigGJxCJMAAIAuc00066JemHVRba/JIGW9romJhlFLsyl1fYw9iNoqmx2zto8mjBpod6jVev729bwt9Tot7q8/03fU10pZa2wL3RJGJsU0rZlU39zuqm9aAABEz6+LM0s3zHgrW8KiCwbCo26dpsa4vqNtMihk2nFQELX9EAHV9qbj9ZzyXf0TWV9tXfw+Xx9l4MkhWS/LemrWPrpqRnhxHscToofCpJOzOdxxBQDoeWWq02N0w4xyczRhUWtwdKXRRgzxvW5Wy2inEjTtPMrpHYRPXa3soPiS/Fm/q41j/6BoQqWDsp5Y3+c314Vd59A8nqdED4VJH8vmo44rAEDP+69ops88R1d0nbVZl8YDgdHvw6P84nG3rmGSvgfOruHSTlm71NO71naXev6Davi0o+BpSv0w66X583/fOI9tGbn08KxHRjMlrtSBWbsbnTqtnpDH9OzooTCpjEo62XEFAOh5F0fzl+vyReXp0/xcltUFkcuXpTnRrP+xadbcPjgOq+uxOLfW+XWa2n1eokR3B08718Bp1xo4PaS2A6fL5RvpsZjoCNKn5PvBykk4jpu3hEvzs/bM2itrj3p8iUkNCP98Mo5rTGOYVHYduEdCCQDQ8xbnB9l59QvFd7KePY3P5RtZr8nns27QZ9Oy+9X+WQdnvTjrCTO8z9fV4OjMWudkXZr/77VejkRvhk47tQROD6710KzdWtpNe/C/v75+p541wZD9kfn+cP00HLsta7hU6mEtx23gGJawcBOv8jFbnvWRrGPyuG6IXlqAu75wFtYhcAAA9K6ys9de9fNfGT1wTNZbp/H5/HvWW0b6gJ3P88nZHJ31+BnSx7dn/SZawqO6LT3wwM/1ToMCpoHTu9UwY6cZGho8tI76eWw06xaVOiDa36n9Dfl+cVwXH7cda7C0S20f1PLvgfN2nqKd6cfi0joK9PJo1qFb3HLZZlllgM28GpgNvA73mOCuimWKcjmWn8ljeudU/4enMkz6YvlF7m0NAKCnfS8/1L5k0OfA92bz6Zi+9VCOzXrbKIFS+WLyT1nvjO4Mj341UPn/uMzLDDo6SmavlnavOmpmTpc+9Sfle8DvhtiZ74BBAdOj4o8XyP5t1sFTOXplEheCH1hva5c6Qu1BLVMiH1bDmsneUf7MGuaclH16+wTCs9bX4MNa1hXbsWUUWhlpekc0QVUZiXpa1q/zce+fruMwlWHSkdl83dsWAEBPW5Afbk8b4rPgEdl8axq/oB2dz+s9bXxmLSOU3jXNfXhf3WWprDl6Sj7vi72sIKYyrNioBhP7RjMltowE2q+286b56b0j3xM+3+b/4cL6nAc8Pm97Th8dx81rOPOwloBp73pc964jhsbj9Ky/yb78bT//nExlmFQO3PXemgAApkX562UZIfSvMfy6O9/LOjHr1qynRbMGQ7vhz4b64fozI3wefF4234/pG6H0yXx+H2njC9jPYuoXDy/T1H4UzTpTPzFtDaJbA4oH1V3M9q/16FqbT9FT+Fy+P7yzzed6bTS7qxXfydu9zBH8g9FNJaPYJ5qgcP82ZlItq39s+OpMH90VMylMqgfshmjmeAIADGflFH4o7ydlTYUP5Oexq6MZSh8tu359Oeuzefl1gz67fSCbf4jRQ6RTsj6atz+jjc+DZbrb+6epD96Zz/FzbTzHPer6F1Ox69vpdZrEdwRIEDN5JNM+dZpZWdj/SVkHxuQE5yVsPrzN53VbNOsLlffpA/J2lzpaw/bVPnW9o+Esynph9uEVeqsx1YtWlYUC/1y3AwDDKAtI/nPWJ3VFx32/tq/P+pdoRiKVbYS/OMJaD1/I+mg04d5d0Sz2eWcdbX5dVtlg5dQxrhVx7KAw6dx6vNfXKQdbRxN2za/rfuzRof//R9sJkoq83rX5xeKYSQy9yhe7b2d9Oh/rPC9NmNnqjpGLan29ZU2mBVnPzDosmtFMnTB/DNcdmMZ1vCBpVIeOcNlZWYdnH96jm2LaRia9LZvP63YA6Fu/rduWr63Dyp/QskDmmqwXRjPF6nxd1XGPyQ/CF4xzqYI78rarO/R5sEwluGTQ2b/Iek0+xs1DXH/7OuXu0Frzx/iQ5Xn/Vd73l8axKOpN0fltqn9dn4/XOERfjXzZrw6seMcEF4a+L98/5rb5mBvq79uH522uchSG7ae59Y8jew9xcXmvfnr23xI9FdMaJh1YFwEDAPrL7+r27BcOsWbBvnVhzItLmJDnza6B0k66raNekf37rS5Yo+K7WUcMcXH5i+8b8zmeOMp9PKyGSuWv/Ydk7TDMVdfUNaA+PHj63hie739m88oOdsHldbRTWVD7+nxe670sIfotuNitrk332Anczbx8/1jcxuLTZersv+Z136XnR+yrMuDlbcNcfGT23zf1Ukx7mDS7flDYRtcDQN84PusN+WFs7Rg+M3TDjlq95j/zGLx6mj+wfzFGX+C0jCB6ezvbHddwan5dm2S3+hmzrLl1WdbpeR/3TvD5PiObn09CV5RpgUfVL3kbvDQh+i28KO9V/xPN6Nzx2D/fOxaN8hhl9NOvsg7O6y7V68PmE5+um1MM57jsvzforZjeMKkesDI3/7m6HgD6QvmgsXN+ELtzHAthLprGXb96Udlufu88FjdO8wf3h9cvUI+v9eiWdTzLiJ1P5XP8epd80ZhTg59ObQV+Y13QvHw5WeUlCdHPQcau2VyUtd04bn5ovoec0sb77UbtBPN92v+7ZPOVrGcNuqhMb/5B1plZv8n+u1pvRdeESe+OZmFNAKA/vCM/jH1+HJ8ZygiVN+q+cSlTvE7NOjuaBbNLWPO4aAKlv+im0TD1C0/5MrWimwKWfF4H1dffkfHAIrbjPRY/qF9afloX6gUo7zNvjWajg7F6Zb6XfEMPjqvPN64jZD8Rfzxj6pN1s4a1eiq6bje3qFvHAgD94+1letM41od5f10XZzddGGMZ+fLPdeTLkiE+RJdQZPesa6N7dkFaX3eK64YvGWX9pTIVsExpeMQE7mpx/cz7k6wT8/94t5cmMISvZn0qml0sx+LBum5c7/EviGZa2z5DXHxL1t+aehxdHSZdXP9CtqPuB4C+UKY1vSSardBjDCHD4vzg95z6pdxi3CMra1J+POsL2W9rRujTVd0UJHXRyKhn1FFILxzH7m1L6xpNC2uV0WBnG4EEtPF7blW+B5VRpM8b40131Xvj2gDivKzXZO1Sa6+sg7PKSNT7BUnR3dPc6oH8Zt0WEYDutWqCUzug1c11wdCl4/jc8JBs/i3r2boxhlqT6t+j2bHsHt0xrs+lm9e/Upf3u7kt0x62HXTVEg4tq+09dS2lW7LfV+pFYALvQZ/J5n1jvNmP873HOsSdOwZlJOqxWW/Ofr1Uj0TXjkyK+hdGYRJAdyoLDn4s66ys/47x7zQCMWhI/n/kB7YjxjpiI69fFsN8Tl3D5h3RjB7ZQpf+/me07Hp2jq6IiYwMKGHQBXoCiOn7491Iyu/MjQadt69u6+jvgUvyM8bTolmMW5jUptnTGCYBEF0XIh2ev1APyvpJHeVQ1qu5QtfQIc/P+mZ+YNt0nB/2fpf1qjxZtjs+LOuzWZf3YT+W9Xf+MutJgiSAGW+XYc4/Omu3fJ8vA0DKzpJ7Zw0sur17XQOP6FigtK6uc0d08TS3aIaSXVsXgAQgpn8kUgmQhnm/fnI2v9FNdNAlWW/J19yvO/SZ4sBoRiyVdRBGCqrKCJTNO/R/WFdHBpUpUftPUb+V7Z2PyfpE9t29XkYA0QtTrH4bzZo9rb6V7/OvGOK65Y8pd0QzKORP8zqn60Giz0YmhdFJANFVI5Fi+L/UnJHND3UXHVTWJjg9PxSfkvWirDkxsb8mLsz6y7rQ9y9GuOpRWTdN8LmXn4e3Z+2aj/nkrPJ/KbvDnDPJIVJZM2p+Pt57BUkA0StBUvmDxJ8MOnt11geG+X13d127LerocYh+HJlU1kz6pkMAMC0WlS/07e5ake/Zr2gZWg2ddnvdHvlzdX2kie7WUhYzfe8QFz+vLrL87THe7Y1Zx2d9LZ/flSM89mOyeWl9nAOiM4uWl8W1v5SPe6uXCUD0Wpj0umyOG3T2P+R7/geHuf6W2SyOZg2lq7P2tgMZ0YdhUusQPQCm3vvzA8g/tvmeXbZOvUqXMclW1yDo4/navH+CnzP+KZv3DDp7nxIG5WU/y9OHjnIXK7JOiCZE+kXebv04Puc8NetxWY/KKlPxdmvjpmWL+f/J+m7WGbaXB4heDpPOrr8nBpyfdXC+968a5vrPHTRa/IV53ZP0JNFPYVL9YShrJRzsMABMm1fnh5D/bOP9uiwOeYvuYor8POsFE9lyPV+zG9X7eVo8sMbRZiWkysv2y9MLo1nQtNXaaHYwLKPwThruw/wEntPW2ezVUnuWs7Ouj+YvzGebwgYQ/RIkDV6Tsvyh48j8PXDXCLcpf+R4UctZ12Q9Om+zTI8SfRYmfSibTzoMANOmjLZ44mg7QuX79eHZnKy7mELfyNflKyf4OWOPaLb4nVs+cOf97dVy2aey+Zus8kHo1zVA+nbdxRAAJvu7cBlhVEYa/S6rjKb97khT1vL6j41mfb5Zgy76adYRE/kDDIzHxtP8+D8OYRJATHBHqY1iYhsxPGWkxYPzw0vZ/ervdTVT7Mh87X09PxyfPIGFua/N+/iXaEKjwWsdfTzrrhog3aC7AYipC5LKZ7cTs96dv4OubuP6Zb2//xt/HCQVz8p6fNapepbolzCp7L6SPxg3tLmGAMBU+kHWrXUNlx2imc++bxc+z7/O2jWa3aW2HOd9XDzCh5ctsnl/NFPcTqrbrm82zNW3HmYdvDKVaIthbrPlML+LNprA/4eZY03WPbVurQtOl7o2mjW6Lu3AY/xD1juzLh/0GaSsifSPDgEA0/A9eN0QC2+P5CHR/GFvm/p59OAaIJXPZNdlnaVXiX6a5la/qHwhm7c6FECX2SN/0V836P2qBErHZB00wfu+tP716Ia6vWsZ+bNz1t5Z+2fNj/YDrxeVhYHzuW2bp9+WVXb/2KrlOsuj2V72lGjCnv3q45QQv2wve0Le/oyYWX/NK/21yVC/0+qHrKHMrTWUbYb5S98m9dhEh4KzYtuRfieP8PzbuXx2fV7jvXyjQa+dwZbVkXCtlkQzTaxYWcOhssvMfVllvaGl9bzldUHrxfV1V0YE3V0Dnan6rLEoH+8Yb20ARG+MbiqfOXYqv1Pz99t9eoTowzDpOdn8yKEAosvDpPqeVQKG72cdPo77vCTrbXm/p43yvlgCgz+p9chothh/cNZ29cv7dXWHqc8P3ukpb7tb3QXq8fWsEjZ93+Gkzz9wlyB4h/xZ+IneAACIngiTNqvD2+c6HEAX2S+/eF4+zPtWCXWuyNp+DPf3y6znTcVIjHx+87K5IGtJPt6BDiX8/udiy/x5WK4nAAAmbnZM/3zRVXXrXoBustkI71v31HVY2nV9HSG0YoreV8vW4v87mjWOgObnQpAEABA9EiZVpmAAM82Xo1kXph3vyi+yS6b4+f3QYowAAED0eJi03uEAYuaMcri3zZE/l+Z1T5qG53dHNuc6UgAAQPRimJRfesrOLr9yOIAZ5qttXOe4mL731lscIgAAIHp0ZFLxHYcDmGF+Gs1C3CM5UTcBAAAhTJoUJ4SpbkDMqKlu5T3r7SO8d92S17lGTwEAACFMmrT1PezqBnSLTdt87yrvW8/LOi+aUKnsGLUw6+isF+tGAACg12zcZc/nm1nPdFiALrBZtB+Gn5zNyboMAAAII5Om3Ilj2GobAAAAgOjjkUn51/0l95564A/y5EsdGmCSlN0j78wqU2tvr6dvq+3qrMX1vfFKXQUAABBdP80t6lbbwiRgPEoodG3WDVk3Zt1U64ba3pWh9f26CQAAIHoqTCpbbd+StavDAwxSFri+LuvyrCuyrqlVAqRrMihapYsAAAAm16wNGzZ03ZPKqW6fyuZvHB6Ifp6KtiiaqWYDwVGpKzMwWqN7AAAAQpgUfxgmza9fHGc5RNARt2bt0oXP6/qshVkX1Z/5EhxdnoHRvQ4ZAABACJNibIHS/2RzmEME47Ys6ztZx2edlvXKrOOy5kzDc1medX7WBdEERxeXytBomcMEAAAQ1kzqkC+EMAnGakXWT7JOyDpx0BpC/5khbQl1vpc1exKfQxlVdG7WedEESOX01flc1js8AAAAYWTSJI5M2rgurPtQhwlitClsP8o6KeuUDG1Wj/Kz9cFsjurQY6+LZqTR71rqinwOGxwWAACAECbF1AdK78vmMw4T/IGVWb/K+nnWzzK4uXiMP1ez6rS3p4zjse/POqs+fqnf5uOvcEgAAABCmBTdESZtk81NWVs6VPSxMlXtjHggwDlrojua5c/WI7O5sM1F7suuaj/M+ll5HvnYKx0SAACAECZF9wZKn83mrx0q+sh90UwXOyXrl9GB8GiYn62ydtIRQ1xU3hR+k3Vi1g/zsa90SAAAAIgZFCbtUrcPn+NwMUPcXF+vO7V5/bIw9dlZZQfDX2T9brR1jzr0s/WYaBbJHnBH1hezvpqPf53DCAAAQMzEMKl+6T02mzc7XHTjyzOaIOjsupZQGUV0W75m/zJP/9sIt7sl6+RoAqSf523unaafrfL4C7I+lnX0oN3fAAAA4I9sPEOe5yezXh9GJxHTHhxdEM1onrLd/TkjTAE7d4jzLs/6fjTTx87qkh3Pjo4mRDrZ4QUAACB6JUzKL7o35AiKz+fJdztkTJFbamh0/kCNcerX82t7Y9bxWV/P2y/qwv/nT0JICwAAQPTYNLdopuNsn83VWds4bHRQ2ZnskqyLai0slcHPXRN4rT4nmz/P+lrWL/K+1utmAAAAQpgU0xEovS+bzzhsjMP9WZfVujTrwmjCo2s6Hfbk63RO3uf9uhwAAIAQJsV0h0lz6po1+zt0DKMsIH1FNKONSmi0qLZXZcCzVvcAAABA9E+YFE2gdHA2v3bo+tq6rOujGWVUgqMr6+LW5fRNXbKwNQAAAIQwKbomUCqLcb/N4et5t0YTFF1Rg6OrogmNrjaNDAAAAMJubmNQ1k46JGs/h3BGK0nmzdEsrF7qmtr+PkDKwGiZLgIAAIAwMik6Mzrp0dmckbWZw9jVVscDIdHg9toMjO7TRQAAABDCpJiaQOnl2XzLYZx2S6OZgjYwJW0gMCo7pd2sewAAACCESdE9gdIXsnnrOG76vayLsz7qZdCWldEERVe1tL9f+DoDozt1DwAAAIQ1k2aIi8Zxm49HEyLtOEKYdG/Wj7JuzHpINGv7bJf1qqwtevT1cF8NiK5q2SGtnL7KCCMAAAAgeiRMunsM1y0LOr85g5FvRjOq6d66ps/cQdc7JuvDeb3l8ccjob6Uze9meN/dFM3oostrXVb/fX3+n9f7sQAAAACih6e5lV3dThnlaiuyvp71v+u/D896dtahWVu1XK8EKa/PQOVrozzmV7N5bZd3zYpBgdFAaHTlUCEZAAAAQPTJyKQ7hjnvY1klNLku6/6sP8v6cdajRriv12XQcny0t95St4RJd2VdUuvSrEXRBEY3enkDAAAAIUyKkaa5rcsqC3L/r2hG5jwh6wVZL87aa5T7+XibQVJxWjSjmGZP4f9zSdaF0SwafulAgGTxawAAACBMc4uxTHPbJJqFo8s6Rm/JcOXCIa5TQp+vZL1mmLs5Oet5Y1kvKO/z7GweNwn/pXV1StrCWmWB8QuNNAIAAABCmBSdCpSOzOabGbhsGOE6L8rmhCEuKruUPSpve/cYH7PsCPe3E3zqq2tYdF7WubXKaKP7vDQBAACAMM1tcmT48o02rrbnEOeV8OnVYw2Sqm/H2MKkEhCdn1VGNF2QdU7WpfnYa70MAQAAgBAmdZ3nD3HepzPM+WWML8C6KEcnHZsn3zLMVa7KOivrt7U9P29zv5ccAAAAEMKk6PZpcGXx7acOOvuculD3RLwtmilqh0UzymlRDY7OyuDoLi8vAAAAIKyZFDMxTDo6m3e1npX12Ax8rvMSAAAAAGjf7Oj9IGleNm8cdHaZ2naPww8AAAAQwqT446loWww674ismzNoOspLAAAAACBMc4tmVNKcbK7L2nWEq+2e092u91IAAAAAiL5fgHuXrL/Puizr9qwVWSVg2iOaBblfmbXUywAAAACgPf9PgAEAIju13dLAKkoAAAAASUVORK5CYII='); }
