/* ============================================================================
   VOA — site.css · consome só os tokens de tokens.css
   Estética "Sistema": grid modular, alto contraste, raio mínimo, telemetria.
   ============================================================================ */

/* --- Fonte da marca: Bebas Neue Pro Expanded (títulos) ---------------------
   Licenciada (Estúdio Barra). Basta colocar UM arquivo em
   static/fonts/bebas-neue-pro/ que a marca assume sozinha nos títulos.
   Enquanto o arquivo não existe, os títulos caem no fallback (Figtree).

   As faixas de peso cobrem tudo que o CSS pede sem o navegador engordar a
   fonte artificialmente (o "faux bold", que deixa o texto borrado):
   até 749 usa o Bold; de 750 pra cima usa o ExtraBold. */
@font-face {
  font-family: "Bebas Neue Pro Expanded";
  font-weight: 100 749; font-style: normal; font-display: swap;
  src: url("../fonts/bebas-neue-pro/bebas-neue-pro-expanded-700.woff2") format("woff2");
}
@font-face {
  font-family: "Bebas Neue Pro Expanded";
  font-weight: 750 900; font-style: normal; font-display: swap;
  src: url("../fonts/bebas-neue-pro/bebas-neue-pro-expanded-800.woff2") format("woff2");
}

/* --- Reset -----------------------------------------------------------------*/
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  background: var(--voa-black);
  color: var(--voa-ink);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--leading-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button { font: inherit; color: inherit; cursor: pointer; background: none; border: none; }
ul { list-style: none; }
::selection { background: var(--voa-lime); color: #000; }
:focus-visible { outline: 2px solid var(--voa-lime); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* --- Skip link (acessibilidade: pula direto pro conteúdo) ------------------*/
.skip {
  position: fixed; top: -100px; left: var(--sp-4); z-index: 1000;
  background: var(--voa-lime); color: #000; font-weight: var(--weight-bold);
  font-size: var(--fs-sm); padding: 0.7rem 1rem; border-radius: var(--radius);
  transition: top var(--dur-fast) var(--ease-out);
}
.skip:focus { top: var(--sp-4); }
#conteudo:focus { outline: none; }

/* Marcador de campo obrigatório */
.req { color: var(--voa-lime); font-weight: var(--weight-bold); }

/* --- Grão fixo (textura de filme, sutilíssima) -----------------------------*/
.grain {
  position: fixed; inset: 0; z-index: var(--z-grain);
  pointer-events: none; opacity: 0.035;
  background-image: url("data:image/png;base64,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");
  background-size: 160px 160px;
}

/* --- Layout base -----------------------------------------------------------*/
.wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: var(--sp-section); }
.section--tight { padding-block: clamp(3rem, 6vw, 5rem); }

/* --- Tipografia utilitária -------------------------------------------------*/
.eyebrow {
  font-family: var(--font-mono); font-size: var(--fs-label);
  letter-spacing: var(--tracking-label); text-transform: uppercase;
  color: var(--voa-lime); display: inline-flex; align-items: center; gap: var(--sp-2);
}
.eyebrow--muted { color: var(--voa-gray-dim); }
.eyebrow::before {
  content: ""; width: 1.4rem; height: 1px; background: currentColor; opacity: .8;
}
.display {
  font-family: var(--font-display);
  font-weight: var(--weight-display); line-height: var(--leading-tight);
  letter-spacing: var(--tracking-display); text-transform: uppercase;
}
h1, h2, h3 { font-family: var(--font-display); font-weight: var(--weight-display); letter-spacing: var(--tracking-tight); line-height: var(--leading-snug); }
.lead { font-size: var(--fs-lead); color: var(--voa-gray); max-width: 52ch; line-height: 1.5; }
.mono { font-family: var(--font-mono); }
.mark { background: var(--voa-lime); color: #000; padding: 0 .12em; }
.tnum { font-variant-numeric: tabular-nums; }

/* --- Botões (sharp, com ícone aninhado — física magnética) -----------------*/
.btn {
  --btn-bg: var(--voa-lime); --btn-fg: #000;
  display: inline-flex; align-items: center; gap: var(--sp-3);
  background: var(--btn-bg); color: var(--btn-fg);
  font-weight: var(--weight-bold); font-size: var(--fs-sm);
  letter-spacing: -0.01em; padding: 0.95rem 1.1rem 0.95rem 1.4rem;
  border-radius: var(--radius); border: 1px solid transparent;
  transition: transform var(--dur-fast) var(--ease-out),
              background var(--dur-fast) var(--ease-out);
  will-change: transform;
}
.btn:hover { background: var(--voa-lime-deep); }
.btn:active { transform: scale(0.98); }
.btn__ico {
  width: 1.65rem; height: 1.65rem; flex: none;
  display: grid; place-items: center; border-radius: var(--radius);
  background: rgba(0,0,0,.14);
  transition: transform var(--dur) var(--ease-out);
}
.btn:hover .btn__ico { transform: translate(3px, -1px); }
.btn--ghost {
  --btn-bg: transparent; --btn-fg: var(--voa-ink);
  border-color: var(--voa-line-strong);
}
.btn--ghost:hover { --btn-bg: transparent; border-color: var(--voa-lime); color: var(--voa-lime); }
.btn--ghost .btn__ico { background: rgba(242,242,239,.08); }
.btn--dark { --btn-bg: var(--voa-black); --btn-fg: var(--voa-lime); }
.btn--dark:hover { --btn-bg: var(--voa-surface-2); }
.btn--lg { font-size: var(--fs-body); padding: 1.15rem 1.3rem 1.15rem 1.7rem; }
.btn--block { display: flex; width: 100%; justify-content: space-between; }

/* --- Header (barra fina, técnica; não é pílula flutuante) ------------------*/
.header {
  position: sticky; top: 0; z-index: var(--z-header);
  background: rgba(0,0,0,.72); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--voa-line);
}
.header__row {
  display: flex; align-items: center; justify-content: space-between;
  height: 68px; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter);
}
.header__brand { display: flex; align-items: center; }
.header__brand svg { height: 20px; width: auto; color: var(--voa-ink); }
.header__brand:hover svg { color: var(--voa-lime); transition: color var(--dur-fast) var(--ease-out); }
.nav { display: flex; align-items: center; gap: clamp(0.5rem, 2vw, 1.8rem); }
.nav__link {
  font-family: var(--font-mono); font-size: var(--fs-label);
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--voa-gray);
  padding: 0.4rem 0; position: relative; transition: color var(--dur-fast) var(--ease-out);
}
.nav__link::after {
  content: ""; position: absolute; left: 0; bottom: -2px; height: 1px; width: 0;
  background: var(--voa-lime); transition: width var(--dur) var(--ease-out);
}
.nav__link:hover, .nav__link[aria-current="page"] { color: var(--voa-ink); }
.nav__link:hover::after, .nav__link[aria-current="page"]::after { width: 100%; }
.nav__cta {
  font-family: var(--font-sans); font-size: var(--fs-sm); font-weight: var(--weight-bold);
  letter-spacing: -0.01em; text-transform: none; color: #000; background: var(--voa-lime);
  padding: 0.5rem 0.9rem; border-radius: var(--radius);
}
.nav__cta:hover { background: var(--voa-lime-deep); }
.nav__cta::after { display: none; }
.header__burger { display: none; }

/* --- Submenu de página (sticky, com scroll suave às seções) ----------------*/
.subnav { position: sticky; top: 68px; z-index: 80;
  background: rgba(0,0,0,.82); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--voa-line); }
.subnav__row { display: flex; align-items: center; gap: var(--sp-2);
  padding-block: 0.6rem; overflow-x: auto; scrollbar-width: none; }
.subnav__row::-webkit-scrollbar { display: none; }
/* pílulas iguais aos filtros de Para Atletas */
.subnav__link { font-family: var(--font-mono); font-size: var(--fs-label);
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--voa-gray);
  border: 1px solid var(--voa-line); padding: 0.5rem 0.9rem; border-radius: var(--radius);
  white-space: nowrap; display: inline-flex; align-items: center;
  transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); }
.subnav__link:hover { border-color: var(--voa-line-strong); color: var(--voa-ink); }
.subnav__link.is-active { background: var(--voa-lime); color: #000; border-color: var(--voa-lime); }
/* compensa header + submenu ao pular para uma âncora */
.sec-anchor { scroll-margin-top: 128px; }

/* --- Ticker de telemetria --------------------------------------------------*/
.ticker {
  border-block: 1px solid var(--voa-line); background: var(--voa-black-2); overflow: hidden;
  position: relative;
}
.ticker__track {
  display: flex; white-space: nowrap; width: max-content;
  animation: ticker var(--dur-ticker) linear infinite;
  font-family: var(--font-mono); font-size: var(--fs-label);
  letter-spacing: 0.08em; text-transform: uppercase;
}
.ticker:hover .ticker__track { animation-play-state: paused; }
.ticker__item { padding: 0.85rem 1.6rem; color: var(--voa-gray); border-right: 1px solid var(--voa-line); display: inline-flex; gap: 0.6rem; }
.ticker__item b { color: var(--voa-lime); font-weight: 700; }
.ticker__item .dot { color: var(--voa-lime); }
@keyframes ticker { to { transform: translateX(-50%); } }

/* --- Marquee do wordmark (pontuação entre seções) --------------------------*/
.marquee { overflow: hidden; border-block: 1px solid var(--voa-line); background: var(--voa-black); }
.marquee--lime { background: var(--voa-lime); border-color: #000; }
.marquee__track { display: flex; align-items: center; width: max-content; animation: marquee var(--dur-marquee) linear infinite; }
.marquee__track svg { height: clamp(3.5rem, 8vw, 7rem); width: auto; margin-inline: 2vw; flex: none; }
.marquee--lime .marquee__track svg { color: #000; }
.marquee__track svg.is-outline { color: transparent; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* --- Reveal on scroll ------------------------------------------------------*/
.reveal { opacity: 0; transform: translateY(24px); filter: blur(6px);
  transition: opacity var(--dur-slow) var(--ease-out),
              transform var(--dur-slow) var(--ease-out),
              filter var(--dur-slow) var(--ease-out); }
.reveal.is-in { opacity: 1; transform: none; filter: none; }
.reveal[data-d="1"] { transition-delay: 0.08s; }
.reveal[data-d="2"] { transition-delay: 0.16s; }
.reveal[data-d="3"] { transition-delay: 0.24s; }

/* --- Footer ----------------------------------------------------------------*/
.footer { border-top: 1px solid var(--voa-line); background: var(--voa-black-2); }
.footer__cap { padding-block: var(--sp-section); }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: var(--sp-10); }
.footer__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); }
.footer h4 { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: var(--tracking-label);
  text-transform: uppercase; color: var(--voa-gray-dim); font-weight: 400; margin-bottom: var(--sp-4); }
.footer__link { display: block; color: var(--voa-gray); padding: 0.3rem 0; font-size: var(--fs-sm);
  transition: color var(--dur-fast) var(--ease-out); }
.footer__link:hover { color: var(--voa-lime); }
.footer__social { display: flex; gap: var(--sp-4); margin-top: var(--sp-3); }
.footer__social a { display: inline-flex; color: var(--voa-lime);
  transition: opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.footer__social a:hover { opacity: .75; transform: translateY(-2px); }
.footer__social svg { width: 22px; height: 22px; }
.footer__brand svg { height: 34px; color: var(--voa-ink); margin-bottom: var(--sp-5); }
.footer__bar { border-top: 1px solid var(--voa-line); padding-block: var(--sp-6);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-4);
  font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--voa-gray-dim); }
.footer__legal { padding-bottom: var(--sp-8); font-family: var(--font-mono);
  font-size: var(--fs-label); letter-spacing: 0.05em; color: var(--voa-gray-dim);
  text-transform: uppercase; opacity: .8; }

/* --- WhatsApp flutuante ----------------------------------------------------*/
.wa {
  position: fixed; right: clamp(1rem, 3vw, 2rem); bottom: clamp(1rem, 3vw, 2rem);
  z-index: var(--z-float); display: inline-flex; align-items: center; gap: 0.6rem;
  background: var(--voa-lime); color: #000; font-weight: var(--weight-bold); font-size: var(--fs-sm);
  padding: 0.8rem 1.1rem; border-radius: var(--radius);
  box-shadow: 0 8px 30px rgba(0,0,0,.5);
  transition: transform var(--dur) var(--ease-out), background var(--dur-fast) var(--ease-out);
}
.wa:hover { transform: translateY(-3px); background: var(--voa-lime-deep); }
.wa__dot { width: 8px; height: 8px; border-radius: 50%; background: #000; animation: pulse 1.6s ease-in-out infinite; }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .3; } }

/* --- Badge de estado da prova ---------------------------------------------*/
.badge {
  display: inline-flex; align-items: center; gap: 0.45rem;
  font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.1em;
  text-transform: uppercase; padding: 0.35rem 0.6rem; border-radius: var(--radius);
  border: 1px solid var(--voa-line-strong); color: var(--voa-gray);
}
.badge__dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.badge--aberta { background: var(--voa-lime); color: #000; border-color: var(--voa-lime); }
.badge--aberta .badge__dot { animation: pulse 1.4s ease-in-out infinite; }
.badge--em_breve { color: var(--voa-lime); border-color: rgba(221,251,5,.4); }
.badge--encerrada { color: var(--voa-gray-dim); }

/* ============================================================================
   Componentes de página (herói, grid de stats, cards, etc.)
   ============================================================================ */

/* --- Acessibilidade: conteúdo só para leitor de tela ----------------------*/
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* --- Key visual (testeira) como banner de topo da prova --------------------*/
.kvhero { padding-top: var(--sp-8); }
.kvhero img { width: 100%; height: auto; display: block;
  border: 1px solid var(--voa-line); border-radius: var(--radius); }
.kvhero__meta { margin-top: var(--sp-6); display: flex; align-items: center;
  gap: var(--sp-4); flex-wrap: wrap; }

/* --- Herói -----------------------------------------------------------------*/
.hero { position: relative; border-bottom: 1px solid var(--voa-line); overflow: hidden; }
.hero__media { position: absolute; inset: 0; z-index: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; opacity: .55; filter: grayscale(1) contrast(1.05); }
.hero__scrim { position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.1) 30%, rgba(0,0,0,.85) 88%, #000 100%),
    linear-gradient(90deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.2) 55%, transparent 100%); }
.hero__outline { position: absolute; z-index: 1; inset: 0; display: grid; place-items: center;
  color: rgba(221,251,5,.15); pointer-events: none; overflow: hidden; }
.hero__outline svg { width: 116%; height: auto; }
.hero__inner { position: relative; z-index: 2; max-width: var(--maxw); margin-inline: auto;
  padding-inline: var(--gutter); padding-block: clamp(6rem, 16vh, 12rem);
  min-height: min(84vh, 780px); display: flex; flex-direction: column; justify-content: flex-end; gap: var(--sp-6); }
.hero__title { font-size: var(--fs-mega); max-width: 15ch; }
.hero__title em { font-style: normal; color: var(--voa-lime); }
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--sp-4); margin-top: var(--sp-2); }
.hero__b2c {
  position: absolute; top: 90px; right: var(--gutter); z-index: 3;
  display: inline-flex; align-items: center; gap: 0.55rem;
  background: var(--voa-lime); color: #000; font-family: var(--font-mono);
  font-size: var(--fs-label); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 0.7rem 0.95rem; border-radius: var(--radius);
  transition: transform var(--dur) var(--ease-out); }
.hero__b2c:hover { transform: translateY(-2px); }
.hero__b2c .badge__dot { background: #000; animation: pulse 1.4s ease-in-out infinite; }

/* --- Painel de números (grid modular com linhas de 1px) --------------------*/
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--voa-line); border: 1px solid var(--voa-line); }
.stats--auto { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }  /* preenche exatamente o nº de métricas */
.stat { background: var(--voa-black); padding: var(--sp-8) var(--sp-6); transition: background var(--dur) var(--ease-out); }
.stat:hover { background: var(--voa-lime-wash); }
.stat__n { font-size: clamp(2.2rem, 3.6vw, 3.4rem); font-weight: var(--weight-display);
  color: var(--voa-lime); letter-spacing: -0.03em; line-height: 1; }
.stat__l { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--voa-gray); margin-top: var(--sp-3); }

/* --- Cabeçalho de seção ----------------------------------------------------*/
.sec-head { display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--sp-8); margin-bottom: var(--sp-12); flex-wrap: wrap; }
.sec-head h2 { font-size: var(--fs-display); max-width: 16ch; }
.sec-head p { color: var(--voa-gray); max-width: 40ch; }

/* --- Grid de "o que fazemos" -----------------------------------------------*/
.services { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--voa-line);
  border: 1px solid var(--voa-line); }
.service { background: var(--voa-black); padding: var(--sp-10) var(--sp-8); min-height: 300px;
  display: flex; flex-direction: column; transition: background var(--dur) var(--ease-out);
  text-decoration: none; color: inherit; }
.service:hover { background: var(--voa-surface); }
.service:hover .service__arrow { transform: translateX(5px); }
.service__num { font-family: var(--font-mono); font-size: var(--fs-label); color: var(--voa-gray-dim); letter-spacing: 0.1em; }
.service h3 { font-size: var(--fs-h2); margin-top: auto; }
.service p { color: var(--voa-gray); margin-top: var(--sp-4); font-size: var(--fs-sm); }
.service__arrow { margin-top: var(--sp-6); color: var(--voa-lime); font-size: 1.2rem;
  transition: transform var(--dur-fast) var(--ease-out); }

/* --- Cards (prova / case) --------------------------------------------------*/
/* Cards sempre da mesma altura: esticam na célula do grid e o rodapé
   fica ancorado embaixo, mesmo com título de 1 ou 2 linhas. */
.card { display: flex; flex-direction: column; height: 100%;
  background: var(--voa-surface); border: 1px solid var(--voa-line);
  overflow: hidden; transition: border-color var(--dur) var(--ease-out), transform var(--dur) var(--ease-out); }
.card:hover { border-color: var(--voa-line-strong); }
.card__media { position: relative; aspect-ratio: 16/10; overflow: hidden; background: #111; flex: none; }
.card__media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05);
  transition: transform var(--dur-slow) var(--ease-out), filter var(--dur) var(--ease-out); }
.card:hover .card__media img { transform: scale(1.05); filter: none; }   /* P&B no repouso, cor no hover */
.card__badge { position: absolute; top: var(--sp-3); left: var(--sp-3); z-index: 2; }
.card__body { padding: var(--sp-6); flex: 1; display: flex; flex-direction: column; }
.card__meta { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--voa-gray-dim); display: flex; gap: 0.6rem; flex-wrap: wrap; }
.card__title { font-size: var(--fs-h3); font-weight: var(--weight-bold); margin-top: var(--sp-3); line-height: 1.2; }
.card:hover .card__title { color: var(--voa-lime); transition: color var(--dur-fast) var(--ease-out); }
.card__foot { margin-top: auto; padding-top: var(--sp-5); display: flex; align-items: center; justify-content: space-between;
  font-family: var(--font-mono); font-size: var(--fs-label); text-transform: uppercase; letter-spacing: 0.08em; color: var(--voa-gray); }
.card__chips { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-top: var(--sp-4); }
.chip { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.06em;
  color: var(--voa-gray); border: 1px solid var(--voa-line); padding: 0.25rem 0.5rem; border-radius: var(--radius); }

.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-5); }
/* Trilho de cards que se centraliza e se ajusta a qualquer quantidade
   (1, 2, 3+). Cards da mesma linha esticam para a mesma altura. */
.cards { display: flex; flex-wrap: wrap; gap: var(--sp-5); align-items: stretch; }
.cards > * { flex: 1 1 300px; max-width: 420px; min-width: 0; }
.cards--center { justify-content: center; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-5); }

/* --- Faixa de case em destaque (foto grande) -------------------------------*/
.feature { display: grid; grid-template-columns: 1.1fr 1fr; border: 1px solid var(--voa-line); background: var(--voa-surface); }
.feature__media { position: relative; min-height: 420px; overflow: hidden; background: #111; }
.feature__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); }
.feature__body { padding: clamp(2rem, 4vw, 3.5rem); display: flex; flex-direction: column; justify-content: center; gap: var(--sp-5); }
.feature__metrics { display: flex; gap: var(--sp-8); flex-wrap: wrap; margin-top: var(--sp-2); }
.feature__metric .n { font-size: var(--fs-h1); font-weight: var(--weight-display); color: var(--voa-lime); line-height: 1; letter-spacing: -0.02em; }
.feature__metric .l { font-family: var(--font-mono); font-size: var(--fs-label); text-transform: uppercase; letter-spacing: 0.08em; color: var(--voa-gray); margin-top: var(--sp-2); }

/* --- Bloco B2C (provas abertas) — leve inversão para chamar atenção --------*/
.b2c-band { background: var(--voa-lime); color: #000; }
.b2c-band .eyebrow { color: #000; }
.b2c-band .sec-head h2 { color: #000; }
.b2c-band .sec-head p { color: rgba(0,0,0,.7); }

/* --- As duas casas (logos CWB + Gosh Sports na página A VOA) ----------------*/
.casas { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--voa-line); border: 1px solid var(--voa-line); }
.casa { background: var(--voa-black); padding: clamp(2.5rem, 6vw, 4rem) var(--sp-8);
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--sp-6);
  transition: background var(--dur) var(--ease-out); }
.casa:hover { background: var(--voa-surface); }
.casa__logo { height: clamp(64px, 9vw, 96px); display: flex; align-items: center; justify-content: center; }
.casa__logo img { max-height: 100%; max-width: 100%; width: auto; object-fit: contain; }
.casa__cap { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--voa-gray); }
@media (max-width: 640px) { .casas { grid-template-columns: 1fr; } }

/* --- Prova social (logos) — tom único em repouso, cor original no hover ----*/
.logos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--voa-line); border: 1px solid var(--voa-line); }
.logo-cell { background: var(--voa-black); min-height: 130px; display: grid; place-items: center; padding: var(--sp-6);
  font-family: var(--font-mono); font-size: var(--fs-sm); letter-spacing: 0.04em; color: var(--voa-gray); text-align: center;
  transition: background var(--dur) var(--ease-out), color var(--dur) var(--ease-out); }
.logo-cell img { max-height: 46px; max-width: 82%; width: auto; object-fit: contain;
  filter: brightness(0) invert(0.72); opacity: 0.9;   /* silhueta cinza uniforme, preserva vazados */
  transition: filter var(--dur) var(--ease-out), opacity var(--dur) var(--ease-out); }
/* hover: a tile acende clara e o logo volta às cores originais */
.logo-cell:hover { background: var(--voa-lit); color: var(--voa-ink); }
.logo-cell:hover img { filter: none; opacity: 1; }

/* --- CTA final -------------------------------------------------------------*/
.cta-final { border: 1px solid var(--voa-line); background:
  radial-gradient(120% 140% at 50% 0%, rgba(221,251,5,.08), transparent 55%), var(--voa-surface);
  padding: clamp(3rem, 8vw, 6rem) var(--gutter); text-align: center; }
.cta-final h2 { font-size: var(--fs-display); max-width: 18ch; margin-inline: auto; }
.cta-final .hero__actions { justify-content: center; }

/* --- Formulários (mockup) --------------------------------------------------*/
.form { display: grid; gap: var(--sp-4); }
.field { display: grid; gap: var(--sp-2); }
.field label { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.1em; text-transform: uppercase; color: var(--voa-gray); }
.field input, .field select, .field textarea {
  background: var(--voa-surface); border: 1px solid var(--voa-line-strong); color: var(--voa-ink);
  padding: 0.85rem 1rem; border-radius: var(--radius); font: inherit; font-size: var(--fs-sm);
  transition: border-color var(--dur-fast) var(--ease-out); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--voa-lime); outline: none; }
.field textarea { resize: vertical; min-height: 120px; }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
.consent { display: flex; align-items: flex-start; gap: var(--sp-3); font-size: var(--fs-sm); color: var(--voa-gray); }
.consent input { margin-top: 0.2rem; accent-color: var(--voa-lime); }
.form__note { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--voa-gray-dim); }
.form__ok { display: none; background: rgba(221,251,5,.1); border: 1px solid var(--voa-lime);
  padding: var(--sp-4); border-radius: var(--radius); color: var(--voa-lime); font-size: var(--fs-sm); }
.form.is-sent .form__ok { display: block; }
/* Mensagem de sucesso "solta" (contato, avise-me): renderizada só no sucesso,
   fora de um .form.is-sent — precisa ser visível por conta própria. */
.form__ok.is-shown { display: block; }

/* --- Prosa (detalhe de prova/case) -----------------------------------------*/
.prose p { color: var(--voa-gray); margin-bottom: var(--sp-4); max-width: 62ch; }
.prose h3 { font-size: var(--fs-h3); margin: var(--sp-8) 0 var(--sp-3); }
.split { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--sp-12); align-items: start; }
.aside { border: 1px solid var(--voa-line); background: var(--voa-surface); }
.aside__row { display: flex; justify-content: space-between; gap: var(--sp-4); padding: var(--sp-4) var(--sp-5);
  border-bottom: 1px solid var(--voa-line); font-size: var(--fs-sm); }
.aside__row:last-child { border-bottom: none; }
.aside__row .k { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--voa-gray-dim); }
.aside__row .v { color: var(--voa-ink); text-align: right; }

.pagehead { border-bottom: 1px solid var(--voa-line); padding-block: clamp(3rem, 8vw, 6rem) var(--sp-12); }
.pagehead h1 { font-size: var(--fs-display); max-width: 18ch; }
.filters { display: flex; gap: var(--sp-2); flex-wrap: wrap; margin-top: var(--sp-8); }
.filter { font-family: var(--font-mono); font-size: var(--fs-label); letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--voa-gray); border: 1px solid var(--voa-line); padding: 0.5rem 0.9rem; border-radius: var(--radius);
  min-height: 44px; display: inline-flex; align-items: center;   /* alvo de toque ≥44px (WCAG/HIG) */
  transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); }
.filter:hover { border-color: var(--voa-line-strong); color: var(--voa-ink); }
.filter.is-active { background: var(--voa-lime); color: #000; border-color: var(--voa-lime); }

/* --- Utilitários -----------------------------------------------------------*/
.stack > * + * { margin-top: var(--sp-5); }
.divider { height: 1px; background: var(--voa-line); border: none; }
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
.gallery img { aspect-ratio: 4/3; object-fit: cover; width: 100%; filter: grayscale(1) contrast(1.05); border: 1px solid var(--voa-line); }

/* ============================================================================
   Responsivo
   ============================================================================ */
@media (max-width: 900px) {
  .stats { grid-template-columns: repeat(2, 1fr); }
  .services { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: 1fr 1fr; }
  .feature { grid-template-columns: 1fr; }
  .feature__media { min-height: 260px; }
  .split { grid-template-columns: 1fr; gap: var(--sp-8); }
  .footer__grid { grid-template-columns: 1fr; gap: var(--sp-8); }
  .logos { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .header__burger { display: inline-grid; place-items: center; width: 40px; height: 40px; }
  .nav { position: fixed; inset: 68px 0 auto 0; flex-direction: column; align-items: stretch;
    background: rgba(0,0,0,.96); backdrop-filter: blur(12px); border-bottom: 1px solid var(--voa-line);
    padding: var(--sp-4) var(--gutter) var(--sp-8); gap: 0;
    transform: translateY(-8px); opacity: 0; pointer-events: none;
    transition: opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out); }
  .nav.is-open { transform: none; opacity: 1; pointer-events: auto; }
  .nav__link { padding: var(--sp-4) 0; border-bottom: 1px solid var(--voa-line); font-size: var(--fs-sm); }
  .nav__cta { text-align: center; margin-top: var(--sp-4); padding: var(--sp-4); }
  .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr 1fr; }
  .logos { grid-template-columns: repeat(2, 1fr); }
  .form__row { grid-template-columns: 1fr; }
  .hero__b2c { top: auto; bottom: var(--sp-4); right: var(--gutter); }
  .sec-head { flex-direction: column; align-items: flex-start; }
}

/* --- Banner de consentimento (LGPD) ---------------------------------------*/
.lgpd { position: fixed; left: 0; right: 0; bottom: 0; z-index: 300;
  display: flex; align-items: center; gap: var(--sp-6); flex-wrap: wrap;
  background: rgba(10,10,10,.96); backdrop-filter: blur(10px);
  border-top: 1px solid var(--voa-line); padding: var(--sp-5) var(--gutter); }
.lgpd[hidden] { display: none; }
.lgpd p { color: var(--voa-gray); font-size: var(--fs-sm); max-width: 70ch; margin: 0; }
.lgpd p a { color: var(--voa-lime); }
.lgpd__acts { margin-left: auto; display: flex; gap: var(--sp-3); }
@media (max-width: 640px) { .lgpd__acts { margin-left: 0; width: 100%; } .lgpd__acts .btn { flex: 1; justify-content: center; } }
