/* ============================================================================
   VIDERE DUE DILIGENCE — folha de estilo do site
   Direção "Signal Cobalt": inteligência investigativa, alto contraste e sinais
   visíveis. HTML + CSS estáticos; fontes auto-hospedadas em /assets/fonts.
   ========================================================================== */

@font-face {
  font-family: "IBM Plex Mono";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/ibm-plex-mono-400-italico-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/ibm-plex-mono-400-italico-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/ibm-plex-mono-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/ibm-plex-mono-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/ibm-plex-mono-500-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/ibm-plex-mono-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/ibm-plex-mono-600-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/ibm-plex-mono-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Public Sans";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/public-sans-variavel-italico-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Public Sans";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/public-sans-variavel-italico-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Public Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/public-sans-variavel-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Public Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/public-sans-variavel-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================================
   TOKENS — Signal Cobalt, aprovado em 03/09/2026.
   Cool white e midnight estruturam a interface; cobalt indica ação; cyan é o
   sinal revelado. Estados nunca dependem apenas de cor.
   ========================================================================== */
:root {
  color-scheme: light;
  --cor-papel: #F6F8FC;
  --cor-papel-2: #EAF0FF;
  --cor-papel-3: #DCE7FF;
  /* W19 (T2, 27/09/2026): um fundo escuro único para o site inteiro, o de Na prática,
     com duas variações para camadas. Os tokens antigos de papel escuro apontam para eles. */
  /* Raia FUNDO (29/09, pedido de Tiago "MAIS ESTRELAS E MAIS ESCURO"): o fundo desce de
     #03060D para #010309 e as camadas acompanham; os contrastes anotados contra #03060D
     nos comentários só sobem. */
  --cor-fundo-escuro: #010309;
  --cor-fundo-escuro-elevado: #050B16;
  --cor-fundo-escuro-cartao: #0A1526;
  --cor-papel-escuro: var(--cor-fundo-escuro);
  --cor-papel-escuro-2: var(--cor-fundo-escuro-cartao);

  --cor-filete: #C8D4E6;
  --cor-filete-forte: #71809A;
  --cor-filete-invertido: #55708F;

  --cor-tinta: #0B1220;
  --cor-tinta-suave: #42526B;
  --cor-tinta-tenue: #53637B;
  --cor-tinta-invertida: #F6F8FC;
  --cor-tinta-invertida-suave: #B2C0D4;

  --cor-marca: #0B5CE8;
  --cor-marca-clara: #5B8CFF;
  --cor-marca-escura: #0746C8;

  --cor-acento: #006B8A;
  --cor-acento-escuro: #00627F;
  --cor-acento-claro: #38E8FF;
  --cor-acento-lavado: #DDF8FF;
  --cor-sinal: #38E8FF;

  --cor-sucesso: #137A4B;
  --cor-alerta: #8A5A00;
  --cor-erro: #C92A3A;
  --cor-indeterminado: #596579;
  --cor-sucesso-lavado: #E2F4EA;
  --cor-alerta-lavado: #FFF2D6;
  --cor-erro-lavado: #FFE5E8;
  --cor-indeterminado-lavado: #E8EDF5;
  --cor-sucesso-claro: #54E39B;
  --cor-alerta-claro: #FFD166;
  --cor-erro-claro: #FF8290;
  --cor-indeterminado-claro: #AAB7C9;

  --hachura-indeterminado: repeating-linear-gradient(45deg, transparent 0 5px, rgba(89, 101, 121, .10) 5px 6px);
  --hachura-indeterminado-invertida: repeating-linear-gradient(45deg, transparent 0 5px, rgba(170, 183, 201, .14) 5px 6px);

  --fonte-titulo: "Public Sans", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --fonte-corpo: "Public Sans", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --fonte-mono: "IBM Plex Mono", "Cascadia Mono", Consolas, "SFMono-Regular", ui-monospace, monospace;

  --peso-normal: 400;
  --peso-medio: 600;
  --peso-forte: 700;

  --t-mini: 0.75rem;
  --t-menor: 0.875rem;
  --t-base: 1rem;
  --t-corpo: 1.125rem;
  --t-lead: 1.375rem;
  --t-h4: 1.5rem;
  --t-h3: 1.9375rem;
  --t-h2: 2.4375rem;
  --t-h1: clamp(2.5rem, 1.9rem + 2.4vw, 3.5rem);
  --t-display: clamp(3rem, 2.1rem + 3.6vw, 5.25rem);

  --entrelinha-display: 1;
  --entrelinha-titulo: 1.12;
  --entrelinha-corpo: 1.65;
  --entrelinha-tabela: 1.55;

  --tracking-versalete: 0.09em;
  --tracking-display: -0.045em;
  --tracking-titulo: -0.025em;

  --medida: 66ch;
  --medida-curta: 46ch;
  --coluna-max: 76rem;
  --margem-pagina: clamp(1.25rem, 5vw, 6rem);

  --esp-1: 0.25rem; --esp-2: 0.5rem; --esp-3: 0.75rem; --esp-4: 1rem;
  --esp-5: 1.5rem; --esp-6: 2rem; --esp-7: 3rem; --esp-8: 4rem;
  --esp-9: 6rem; --esp-10: 8rem;

  --raio: 8px;
  --traco-svg: 1.75;
  --sombra: 0 20px 55px rgba(7, 17, 31, .12);

  --anel-foco: 2px solid var(--cor-acento);
  --anel-foco-invertido: 2px solid var(--cor-acento-claro);
  --anel-foco-recuo: 3px;
  --transicao: 140ms ease-out;
  --alvo-minimo: 44px;
}

@media (prefers-reduced-motion: reduce) {
  :root { --transicao: 0ms; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  html { scroll-behavior: auto !important; }
}

/* ============================================================================
   BASE
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 7rem; scroll-padding-bottom: 6rem; }
body {
  margin: 0;
  background: var(--cor-papel);
  color: var(--cor-tinta);
  font-family: var(--fonte-corpo);
  font-size: var(--t-corpo);
  line-height: var(--entrelinha-corpo);
  font-variant-numeric: tabular-nums lining-nums;
  -webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; height: auto; }
h1, h2, h3, h4 {
  font-family: var(--fonte-titulo);
  font-optical-sizing: auto;
  line-height: var(--entrelinha-titulo);
  letter-spacing: var(--tracking-titulo);
  margin: 0 0 var(--esp-4);
  overflow-wrap: break-word;
}
h1 { font-size: var(--t-h1); font-weight: 720; letter-spacing: var(--tracking-display); max-width: 22ch; }
h2 { font-size: var(--t-h2); font-weight: 680; max-width: 26ch; }
h3 { font-size: var(--t-h3); font-weight: 650; max-width: 30ch; }
h4 { font-size: var(--t-h4); font-weight: var(--peso-forte); }
p, ul, ol, dl { margin: 0 0 var(--esp-4); }
p { max-width: var(--medida); }
ul, ol { padding-left: 1.25rem; max-width: var(--medida); }
li { margin-bottom: var(--esp-2); }
strong, b { font-weight: var(--peso-forte); }
em, i { font-style: italic; }
hr { border: 0; border-top: 1px solid var(--cor-filete); margin: var(--esp-6) 0; }
code, kbd, samp, pre { font-family: var(--fonte-mono); font-size: 0.92em; }
abbr[title] { text-decoration: none; border-bottom: 1px dotted var(--cor-tinta-tenue); cursor: help; }
blockquote { margin: 0 0 var(--esp-5); padding: 0 0 0 var(--esp-5); border-left: 2px solid var(--cor-tinta); max-width: var(--medida); }
figure { margin: 0 0 var(--esp-5); }
figcaption { font-family: var(--fonte-corpo); font-size: var(--t-base); color: var(--cor-tinta-suave); margin-top: var(--esp-3); }
small { font-size: var(--t-menor); }
::selection { background: var(--cor-acento-claro); color: var(--cor-papel-escuro); }

:focus-visible {
  outline: 2px solid var(--cor-papel);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--cor-marca-escura);
}
.heroi :focus-visible, .sup-prova :focus-visible, .rodape :focus-visible, .chamada-final :focus-visible {
  outline-color: var(--cor-papel-escuro);
  box-shadow: 0 0 0 5px var(--cor-acento-claro);
}

.sr-apenas {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.pular {
  position: absolute; left: var(--esp-4); top: -100px; z-index: 100;
  background: var(--cor-tinta); color: var(--cor-papel); padding: var(--esp-3) var(--esp-4);
  text-decoration: none; font-weight: var(--peso-forte); border-radius: var(--raio);
}
.pular:focus { top: var(--esp-4); }

.env { width: 100%; max-width: var(--coluna-max); margin: 0 auto; padding: 0 var(--margem-pagina); }
.env--estreito { max-width: 52rem; }
.topo .env, .rodape .env { max-width: 90rem; }

/* ============================================================================
   TIPOS UTILITÁRIOS
   ========================================================================== */
.versalete {
  display: block;
  font-family: var(--fonte-mono);
  font-size: var(--t-mini);
  font-weight: var(--peso-forte);
  letter-spacing: var(--tracking-versalete);
  text-transform: uppercase;
  color: var(--cor-tinta-tenue);
  margin: 0 0 var(--esp-3);
}
h2 .versalete, h3 .versalete { margin-bottom: var(--esp-2); }
.dado, .mono { font-family: var(--fonte-mono); font-variant-numeric: tabular-nums; font-size: 0.92em; }
.lead { font-size: var(--t-lead); line-height: 1.5; color: var(--cor-tinta-suave); max-width: 56ch; }
.suave { color: var(--cor-tinta-suave); }
.tenue { color: var(--cor-tinta-tenue); }
.menor { font-size: var(--t-menor); }
.display {
  font-family: var(--fonte-titulo); font-weight: 740;
  font-size: var(--t-display); line-height: var(--entrelinha-display);
  letter-spacing: var(--tracking-display); max-width: 19ch; margin: 0 0 var(--esp-6);
}
.sinal-revelacao { width: 96px; height: 4px; border-radius: 999px; background: linear-gradient(90deg, var(--cor-marca), var(--cor-sinal)); margin: 0 0 var(--esp-6); }

/* Product statement como peça tipográfica de dobra */
.citacao-canonica {
  border: 0; padding: 0; margin: 0;
  font-family: var(--fonte-titulo); font-weight: 680;
  font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.25rem); line-height: 1.12;
  letter-spacing: var(--tracking-display); max-width: 24ch; color: var(--cor-tinta);
}
.citacao-canonica p { font: inherit; max-width: none; margin: 0; }
.citacao-canonica footer { font-family: var(--fonte-mono); font-size: var(--t-mini); color: var(--cor-tinta-tenue); letter-spacing: .04em; margin-top: var(--esp-4); text-transform: uppercase; }

/* ============================================================================
   PROSA — links com sublinhado permanente
   ========================================================================== */
.prosa a, .rodape__institucional a { color: var(--cor-marca); text-decoration: underline; text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
.prosa a:hover { color: var(--cor-acento); text-decoration-thickness: 2px; }
.prosa a:visited { color: var(--cor-marca-escura); }
.prosa > * + h2 { margin-top: var(--esp-8); }
.prosa > * + h3 { margin-top: var(--esp-7); }
.prosa > * + h4 { margin-top: var(--esp-6); }
.prosa table { margin-bottom: var(--esp-5); }
.link-externo::after { content: " \2197"; font-size: .8em; }
.link-peso { font-family: var(--fonte-mono); font-size: var(--t-mini); color: var(--cor-tinta-tenue); }
.link-seta { display: inline-block; font-weight: var(--peso-forte); color: var(--cor-marca); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.link-seta:hover { color: var(--cor-acento); text-decoration-thickness: 2px; }
.link-seta::after { content: " \2192"; }

/* ============================================================================
   BOTÕES — cobalt para ação; feedback rápido e contorno de alto contraste
   ========================================================================== */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--esp-2);
  min-height: 48px; padding: 14px 28px;
  font-family: var(--fonte-corpo); font-size: var(--t-base); line-height: 1.2;
  font-weight: var(--peso-forte); letter-spacing: .01em;
  border-radius: var(--raio); border: 1px solid transparent;
  cursor: pointer; text-decoration: none; text-align: center;
  box-shadow: 0 8px 24px rgba(11, 95, 255, .14);
  transition: background-color var(--transicao), border-color var(--transicao), color var(--transicao), transform var(--transicao), box-shadow var(--transicao);
}
.botao--primario { background: var(--cor-marca); color: var(--cor-papel); border-bottom: 2px solid transparent; }
.botao--primario:hover { background: var(--cor-marca-escura); border-bottom-color: var(--cor-acento-claro); color: var(--cor-papel); transform: translateY(-1px); box-shadow: 0 12px 30px rgba(11, 95, 255, .22); }
.botao--primario:active { background: var(--cor-marca-escura); }
/* W19, ACS-01/02: a sombra decorativa do .botao apagava o anel de foco (WCAG 2.4.7). O anel volta
   nos botões; nas molduras escuras e nas páginas escuras ele é ciano (1.4.11, ≥ 3:1). */
.botao:focus-visible { box-shadow: 0 0 0 5px var(--cor-marca-escura); }
:is(.heroi, .sup-prova, .rodape, .chamada-final) .botao:focus-visible { box-shadow: 0 0 0 5px var(--cor-acento-claro); }
body.tema-escuro :focus-visible { box-shadow: 0 0 0 5px var(--cor-acento-claro); }
/* Lançador flutuante nas páginas claras: a regra de .site-clean apaga a sombra do anel global. */
body.tema-claro .videre-assistant-launcher:focus-visible { outline: 3px solid var(--cor-marca-escura); outline-offset: 2px; box-shadow: 0 0 0 2px var(--cor-acento-claro); }
.prosa a.botao--primario,
.prosa a.botao--primario:visited { color: var(--cor-papel); text-decoration: none; }
.prosa a.botao--primario:hover { color: var(--cor-papel); }
.botao--secundario { background: transparent; color: var(--cor-tinta); border-color: var(--cor-filete-forte); }
.botao--secundario:hover { border-color: var(--cor-tinta); background: var(--cor-papel-2); color: var(--cor-tinta); }
.botao--texto {
  background: none; border: 0; padding: 14px 0; min-height: auto; color: var(--cor-marca);
  text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px;
}
.botao--texto:hover { color: var(--cor-acento); text-decoration-thickness: 2px; }
.botao[disabled], .botao[aria-disabled="true"] {
  background: var(--cor-papel-2); color: var(--cor-tinta-tenue); border-color: var(--cor-filete-forte); cursor: not-allowed;
}
.botao-motivo { display: block; font-size: var(--t-menor); color: var(--cor-tinta-suave); margin-top: var(--esp-2); max-width: 40ch; }
.acoes { display: flex; flex-wrap: wrap; gap: var(--esp-4); align-items: center; }

/* Na camada de prova o primário inverte */
.sup-prova .botao--primario { background: var(--cor-papel); color: var(--cor-marca); }
.sup-prova .botao--primario:hover { background: var(--cor-tinta-invertida); color: var(--cor-marca-escura); border-bottom-color: var(--cor-acento-claro); }
.sup-prova .botao--secundario { color: var(--cor-tinta-invertida); border-color: var(--cor-filete-invertido); }
.sup-prova .botao--secundario:hover { border-color: var(--cor-tinta-invertida); background: var(--cor-papel-escuro-2); color: var(--cor-tinta-invertida); }

/* ============================================================================
   CABEÇALHO E NAVEGAÇÃO
   ========================================================================== */
.topo {
  position: sticky; top: 0; z-index: 50;
  background: rgba(1, 3, 9, .97);
  border-bottom: 1px solid rgba(56, 232, 255, .52);
  box-shadow: 0 10px 34px rgba(2, 7, 14, .24);
}
.topo__env { display: flex; align-items: center; justify-content: space-between; gap: var(--esp-4); min-height: 84px; padding-top: var(--esp-3); padding-bottom: var(--esp-3); }

/* Ativos canônicos: nunca reconstruir a assinatura tipograficamente no HTML. */
.marca { display: inline-flex; align-items: center; color: var(--cor-tinta-invertida); text-decoration: none; flex-shrink: 0; }
.marca__assinatura { display: block; width: 12.5rem; height: auto; }
.marca__simbolo { display: none; width: 48px; height: 48px; overflow: visible; }
.marca__micro { display: none; width: 32px; height: 32px; overflow: visible; }

.nav { display: flex; min-width: 0; align-items: center; gap: var(--esp-4); }
.nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; gap: var(--esp-4); max-width: none; }
.nav li { margin: 0; }
.nav ul a {
  display: inline-block; color: var(--cor-tinta-invertida-suave); text-decoration: none; font-size: .875rem; font-weight: var(--peso-medio);
  padding: 6px 0 4px; border-bottom: 2px solid transparent; white-space: nowrap; transition: border-color var(--transicao);
}
.nav ul a:hover { color: var(--cor-tinta-invertida); border-bottom-color: var(--cor-acento-claro); }
.nav ul a[aria-current="page"] { color: var(--cor-tinta-invertida); border-bottom-color: var(--cor-acento-claro); font-weight: var(--peso-forte); }
.topo__instagram {
  display: none; align-items: center; justify-content: center; flex: 0 0 var(--alvo-minimo);
  width: var(--alvo-minimo); min-height: var(--alvo-minimo); color: var(--cor-acento-claro);
  border: 1px solid var(--cor-filete-invertido); border-radius: var(--raio); background: var(--cor-papel-escuro-2); text-decoration: none;
  transition: color var(--transicao), border-color var(--transicao), background var(--transicao);
}
/* Tiago, 29/09 ~22h40: o ícone fica sempre azul, com a moldura que antes só aparecia no hover; o hover acende a moldura. */
.topo__instagram:hover { border-color: var(--cor-acento-claro); }
.topo__instagram svg, .nav__instagram svg { display: block; width: 20px; height: 20px; }
.nav ul a.nav__instagram {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: var(--alvo-minimo); min-height: var(--alvo-minimo); padding: 0; line-height: 1;
}
.nav__cta { padding: 10px 18px; min-height: 40px; font-size: .9375rem; white-space: nowrap; }
.nav__cta[disabled], .nav__cta[disabled]:hover {
  background: var(--cor-papel-escuro-2); color: var(--cor-tinta-invertida-suave); border-color: var(--cor-filete-invertido);
  transform: none; box-shadow: none; opacity: 1;
}

.nav-alternar {
  display: none; align-items: center; gap: var(--esp-2);
  min-height: var(--alvo-minimo); padding: 8px 14px;
  background: transparent; color: var(--cor-tinta-invertida); border: 1px solid var(--cor-filete-invertido); border-radius: var(--raio);
  font-family: var(--fonte-corpo); font-size: var(--t-menor); font-weight: var(--peso-forte); cursor: pointer;
}
.nav-alternar[aria-expanded="true"] { border-color: var(--cor-acento-claro); background: var(--cor-papel-escuro-2); }
.nav-alternar__icone { width: 18px; height: 14px; display: block; }

@media (max-width: 1320px) {
  .nav ul { gap: var(--esp-3) var(--esp-4); }
  .nav ul a { font-size: .875rem; }
}
/* Ponto de troca do menu compacto: 1200/1201 px (também em nav.js). Medição W19 (27/09), nove
   itens com "Contratação" ativa (o pior caso, em negrito): menu de 601 px; o cabeçalho completo
   cabe a partir de ~1163 px, folga de ~38 px em 1201 px. Rever a medida ao mudar rótulos. */
@media (max-width: 1200px) {
  .topo .marca__assinatura { display: none; }
  .topo .marca__simbolo { display: block; }
  .topo__env { flex-wrap: wrap; row-gap: var(--esp-4); }
  .topo__instagram { display: inline-flex; margin-right: auto; }
  .nav__instagram-item { display: none; }
  .js .nav-alternar { display: inline-flex; }
  .js .nav { display: none; width: 100%; flex-direction: column; align-items: stretch; gap: var(--esp-4); padding: var(--esp-2) 0 var(--esp-4); border-top: 1px solid var(--cor-filete-invertido); }
  .js .nav.nav--aberta { display: flex; }
  .js .nav ul { flex-direction: column; gap: 0; }
  .js .nav ul a { display: block; padding: 12px 0; border-bottom: 1px solid var(--cor-filete-invertido); font-size: var(--t-base); }
  .js .nav ul a:hover, .js .nav ul a[aria-current="page"] { border-bottom-color: var(--cor-acento-claro); }
  .js .nav__cta { align-self: flex-start; }
  html:not(.js) .nav { width: 100%; flex-wrap: wrap; }
  html:not(.js) .nav ul { flex-wrap: wrap; }
}

@media (min-width: 1201px) {
  .topo__env, .nav, .nav ul { gap: var(--esp-3); }
}

/* ============================================================================
   SEÇÕES E GRADES
   ========================================================================== */
main { display: block; counter-reset: videre-secao; }
.secao { position: relative; padding: clamp(4rem, 8vw, 7rem) 0; border-bottom: 1px solid var(--cor-filete); counter-increment: videre-secao; }
.secao::after {
  position: absolute;
  top: -1px;
  left: max(0px, calc((100% - var(--coluna-max)) / 2));
  width: clamp(5rem, 12vw, 10rem);
  height: 2px;
  background: var(--cor-marca);
  content: "";
  pointer-events: none;
}
.secao > .env { position: relative; }
.secao:not(.estudo-secao) > .env::before {
  position: absolute;
  z-index: 0;
  top: clamp(-1.75rem, -2vw, -.75rem);
  right: var(--margem-pagina);
  color: var(--cor-marca);
  content: "[" counter(videre-secao, decimal-leading-zero) "]";
  font-family: var(--fonte-mono);
  font-size: clamp(2.75rem, 6vw, 5rem);
  font-weight: var(--peso-medio);
  letter-spacing: -.08em;
  line-height: 1;
  opacity: .075;
  pointer-events: none;
}
.secao > .env > * { position: relative; z-index: 1; }
.secao--papel2 { background: var(--cor-papel-2); }
.secao--papel2 .card { background: var(--cor-papel); }
.secao--compacta { padding: clamp(3rem, 5vw, 4.5rem) 0; }
.secao--sem-filete { border-bottom: 0; }
.secao__cabeca { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.secao__cabeca .lead { margin-bottom: 0; }
.secao__cabeca h2 { margin-bottom: var(--esp-4); }
.secao__rodape { margin-top: clamp(2rem, 4vw, 3rem); }

.grade { display: grid; gap: var(--esp-6) var(--esp-6); }
.grade > *, .heroi__grade > * { min-width: 0; }
.grade--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grade--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grade--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .grade--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .grade--3 { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .grade--2, .grade--4 { grid-template-columns: 1fr; } }
.grade--lado { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
.grade--lado-inverso { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
@media (max-width: 860px) { .grade--lado, .grade--lado-inverso { grid-template-columns: minmax(0, 1fr); } }

/* ============================================================================
   HERÓI
   ========================================================================== */
.heroi {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(4rem, 9vw, 7.5rem) 0 clamp(3rem, 6vw, 5rem);
  border-bottom: 1px solid var(--cor-filete-invertido);
  /* Os dois anéis finos do fundo saíram com os fundos de linhas (raia FUNDO, 29/09). */
  background: var(--cor-papel-escuro);
  color: var(--cor-tinta-invertida);
}
.heroi::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  /* A grade de 48 px saiu com os fundos de linhas (raia FUNDO, 29/09): o pseudo fica vazio. */
  content: none;
  pointer-events: none;
}
.heroi::after {
  position: absolute;
  z-index: -1;
  top: -32%;
  right: clamp(-20rem, -14vw, -7rem);
  width: clamp(22rem, 42vw, 40rem);
  height: 168%;
  border: 1px solid rgba(56, 232, 255, .16);
  border-radius: 0;
  background: linear-gradient(180deg, rgba(56, 232, 255, .04), rgba(11, 92, 232, .34) 48%, rgba(7, 70, 200, .08));
  clip-path: polygon(60% 0, 100% 0, 40% 100%, 0 100%);
  content: "";
  pointer-events: none;
  transform: rotate(2deg);
}
.heroi:not(.heroi--pagina) { padding-top: clamp(3rem, 5vw, 4.5rem); }
.heroi .env { position: relative; z-index: 1; }
.heroi h1 { margin-bottom: var(--esp-6); color: var(--cor-tinta-invertida); }
.heroi .lead { margin-bottom: var(--esp-7); }
.heroi .lead { color: var(--cor-tinta-invertida-suave); }
.heroi .versalete { color: var(--cor-acento-claro); }
.heroi .sinal-revelacao { background: var(--cor-acento-claro); border-radius: 0; }
.heroi .link-seta { color: var(--cor-tinta-invertida); text-decoration-color: var(--cor-acento-claro); }
.heroi--pagina { padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.heroi--pagina h1 { font-size: var(--t-h1); }
.heroi--pagina .env { padding-right: max(var(--margem-pagina), 8rem); }
.heroi--pagina .env::after {
  position: absolute;
  top: 0;
  right: var(--margem-pagina);
  color: rgba(56, 232, 255, .72);
  content: "[ DA EVIDÊNCIA À CLAREZA ]";
  font-family: var(--fonte-mono);
  font-size: var(--t-mini);
  font-weight: var(--peso-medio);
  letter-spacing: .09em;
  line-height: 1;
  text-transform: uppercase;
  transform: rotate(90deg) translateX(100%);
  transform-origin: top right;
}
.heroi__figura { margin-top: clamp(3rem, 6vw, 5rem); }
.heroi__grade { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(19rem, .75fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.heroi__mensagem .display { max-width: 17ch; font-size: clamp(3rem, 1.95rem + 3vw, 4.65rem); }
.heroi__mensagem .lead { max-width: 50ch; }
.heroi__lateral { display: grid; width: 100%; max-width: 27rem; gap: var(--esp-4); justify-self: end; }
.painel-caso__cabeca { display: flex; justify-content: space-between; gap: var(--esp-3); padding-bottom: var(--esp-2); color: var(--cor-acento-claro); font-family: var(--fonte-mono); font-size: var(--t-mini); letter-spacing: .07em; }
.painel-caso__rodape { margin: var(--esp-4) 0 0; padding-left: var(--esp-3); border-left: 3px solid var(--cor-acento-claro); color: var(--cor-tinta-invertida-suave); font-family: var(--fonte-mono); font-size: var(--t-menor); line-height: 1.55; }
@media (max-width: 900px) { .heroi__grade { grid-template-columns: 1fr; align-items: start; } .heroi__lateral { max-width: 30rem; justify-self: start; } }
@media (max-width: 520px) { .heroi__lateral { max-width: 100%; } .painel-caso__cabeca { flex-direction: column; gap: .2rem; } }

/* ============================================================================
   LINGUAGEM EDITORIAL — herdada do estudo de governança metodológica.
   Número, tese e prova organizam páginas longas sem transformar o site em
   apresentação. O corpo permanece acessível; mono é reservado a metadados.
   ========================================================================== */
.heroi--capa {
  display: grid;
  min-height: clamp(42rem, 78vh, 50rem);
  align-items: center;
}
.heroi--capa .heroi__mensagem .display,
.heroi--metodologia .heroi__mensagem .display { max-width: 13ch; }
.heroi--capa .display em,
.heroi--metodologia .display em {
  display: block;
  color: var(--cor-acento-claro);
  font-style: normal;
  font-weight: 500;
}
.meta-capacidade {
  display: inline-flex;
  align-items: center;
  gap: var(--esp-2);
  margin: 0 0 var(--esp-5);
  padding: 6px 10px;
  border: 1px solid rgba(56, 232, 255, .34);
  background: rgba(56, 232, 255, .08);
  color: var(--cor-acento-claro);
  font-family: var(--fonte-mono);
  font-size: var(--t-mini);
  font-weight: var(--peso-medio);
  letter-spacing: .07em;
  line-height: 1.35;
  text-transform: uppercase;
}
.meta-capacidade::before { width: 6px; height: 6px; background: currentColor; content: ""; }
.tese-heroi {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--esp-5);
  max-width: 42rem;
  margin: 0 0 var(--esp-6);
  padding: var(--esp-2) 0 var(--esp-2) var(--esp-4);
  border-left: 2px solid var(--cor-acento-claro);
}
.tese-heroi span {
  padding-top: .3rem;
  color: #8FA2BB;
  font-family: var(--fonte-mono);
  font-size: var(--t-mini);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tese-heroi strong { color: var(--cor-tinta-invertida); font-size: 1.25rem; line-height: 1.35; }
.heroi__caso-contexto { margin: var(--esp-3) 0 0; max-width: 35rem; color: #b4c5da; font-size: .875rem; line-height: 1.5; }
.heroi__mensagem .heroi__caso-contexto + .tese-heroi { margin-top: var(--esp-6); }

.indice-estudo { padding: var(--esp-6) 0; border-bottom: 1px solid var(--cor-filete); background: #FFF; }
.indice-estudo__grade { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: var(--esp-5); }
.indice-estudo__rotulo {
  color: var(--cor-marca);
  font-family: var(--fonte-mono);
  font-size: var(--t-mini);
  font-weight: var(--peso-medio);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.indice-estudo ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--esp-3) var(--esp-5); max-width: none; margin: 0; padding: 0; list-style: none; }
.indice-estudo li { margin: 0; }
.indice-estudo a { display: flex; min-height: var(--alvo-minimo); align-items: center; gap: var(--esp-2); padding: var(--esp-1) 0; color: var(--cor-tinta-suave); font-size: var(--t-menor); line-height: 1.35; text-decoration: none; }
.indice-estudo a:hover { color: var(--cor-marca); text-decoration: underline; text-underline-offset: .18em; }
.indice-estudo a[aria-current="location"] { color: var(--cor-marca); font-weight: var(--peso-forte); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .22em; }
.indice-estudo a span { color: var(--cor-marca); font-family: var(--fonte-mono); font-size: var(--t-mini); font-weight: var(--peso-medio); }

.estudo-secao { scroll-margin-top: 7rem; }
.cabeca-editorial {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 53rem);
  gap: var(--esp-5);
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.cabeca-editorial__numero {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border: 1px solid var(--cor-marca);
  color: var(--cor-marca);
  font-family: var(--fonte-mono);
  font-size: 1rem;
  font-weight: var(--peso-medio);
}
.cabeca-editorial h2 { max-width: 22ch; margin-bottom: var(--esp-4); font-size: clamp(2.25rem, 4.7vw, 3.65rem); line-height: 1.04; }
.cabeca-editorial .lead { margin-bottom: 0; }
.secao--editorial-escura .cabeca-editorial__numero, .sup-prova .cabeca-editorial__numero { border-color: var(--cor-acento-claro); color: var(--cor-acento-claro); }

.abertura-estudo { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(17rem, .7fr); gap: clamp(2.5rem, 7vw, 6rem); align-items: start; }
.abertura-estudo__texto p { font-size: var(--t-corpo); }
.abertura-estudo__texto .lead { color: var(--cor-tinta); font-size: 1.25rem; }

.rotas-metodo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--esp-5); }
.rota-metodo {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  margin: 0;
  padding: var(--esp-6);
  border: 1px solid var(--cor-filete);
  border-top: 4px solid var(--cor-marca);
  background: #FFF;
  box-shadow: 0 20px 50px rgba(7, 17, 31, .07);
}
.rota-metodo--destaque { border-top-color: var(--cor-acento); background: var(--cor-papel-2); }
.rota-metodo__topo { display: flex; align-items: center; justify-content: space-between; gap: var(--esp-3); margin-bottom: var(--esp-6); }
.rota-metodo__numero { color: var(--cor-marca); font-family: var(--fonte-mono); font-size: 1.25rem; font-weight: var(--peso-medio); }
.selo {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid rgba(11, 92, 232, .24);
  background: var(--cor-papel-2);
  color: var(--cor-marca-escura);
  font-family: var(--fonte-mono);
  font-size: var(--t-mini);
  font-weight: var(--peso-medio);
  letter-spacing: .045em;
  line-height: 1.2;
  text-transform: uppercase;
}
.selo--cyan { border-color: rgba(0, 107, 138, .28); background: var(--cor-acento-lavado); color: var(--cor-acento-escuro); }
.selo--grafite { border-color: var(--cor-filete); background: var(--cor-indeterminado-lavado); color: var(--cor-indeterminado); }
.rota-metodo h3 { max-width: none; font-size: var(--t-h4); }
.rota-metodo > p { color: var(--cor-tinta-suave); }
.rota-metodo dl { margin: auto 0 0; padding-top: var(--esp-5); border-top: 1px solid var(--cor-filete); }
.rota-metodo dl div + div { margin-top: var(--esp-4); }
.rota-metodo dt { color: var(--cor-tinta-tenue); font-family: var(--fonte-mono); font-size: var(--t-mini); font-weight: var(--peso-medio); letter-spacing: .06em; text-transform: uppercase; }
.rota-metodo dd { margin: var(--esp-1) 0 0; color: var(--cor-tinta); font-size: var(--t-menor); line-height: 1.5; }

.linhagem-metodo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: var(--esp-7); border: 1px solid var(--cor-filete); background: #FFF; }
.linhagem-metodo > div { min-width: 0; padding: var(--esp-5); border-right: 1px solid var(--cor-filete); }
.linhagem-metodo > div:last-child { border-right: 0; }
.linhagem-metodo span { display: block; margin-bottom: var(--esp-2); color: var(--cor-tinta-tenue); font-family: var(--fonte-mono); font-size: var(--t-mini); font-weight: var(--peso-medio); letter-spacing: .055em; text-transform: uppercase; }
.linhagem-metodo strong { display: block; font-size: var(--t-base); line-height: 1.45; }
.alerta-metodo { display: flex; gap: var(--esp-3); margin: var(--esp-5) 0 0; padding: var(--esp-4); border-left: 3px solid var(--cor-alerta); background: var(--cor-alerta-lavado); color: var(--cor-tinta); }
.alerta-metodo strong { flex: 0 0 auto; color: var(--cor-alerta); font-family: var(--fonte-mono); font-size: var(--t-mini); letter-spacing: .05em; text-transform: uppercase; }
.alerta-metodo p { margin: 0; font-size: var(--t-base); }

.secao--editorial-escura {
  background-color: var(--cor-papel-escuro);
  background-image: radial-gradient(circle at 90% 12%, rgba(56, 232, 255, .10), transparent 24rem);
  color: var(--cor-tinta-invertida);
}
.secao--editorial-escura::after, .sup-prova::after { background: var(--cor-acento-claro); }
.secao--editorial-escura:not(.estudo-secao) > .env::before,
.sup-prova:not(.estudo-secao) > .env::before { color: var(--cor-acento-claro); opacity: .12; }
.secao--editorial-escura h2, .secao--editorial-escura h3 { color: var(--cor-tinta-invertida); }
.secao--editorial-escura p, .secao--editorial-escura li { color: var(--cor-tinta-invertida-suave); }
.secao--editorial-escura .versalete { color: var(--cor-acento-claro); }
.secao--editorial-escura .card { border-color: var(--cor-filete); background: var(--cor-papel); }
.secao--editorial-escura .card h3 { color: var(--cor-tinta); }
.secao--editorial-escura .card p { color: var(--cor-tinta-suave); }
.secao--editorial-escura hr, .secao--editorial-escura .lista-filete li { border-color: var(--cor-filete-invertido); }
.secao--editorial-escura .lista-filete li:first-child { border-top-color: var(--cor-tinta-invertida); }
.principios-governanca { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--cor-filete-invertido); }
.principio-governanca { min-width: 0; padding: var(--esp-6) var(--esp-5) var(--esp-6) 0; border-right: 1px solid var(--cor-filete-invertido); }
.principio-governanca + .principio-governanca { padding-left: var(--esp-5); }
.principio-governanca:last-child { border-right: 0; }
.principio-governanca > span { display: block; margin-bottom: var(--esp-6); color: var(--cor-acento-claro); font-family: var(--fonte-mono); font-size: var(--t-mini); }
.principio-governanca h3 { max-width: none; font-size: var(--t-h4); }
.principio-governanca p { margin: 0; font-size: var(--t-base); }
.linha-governanca { margin: var(--esp-6) 0 0; padding: var(--esp-5); border: 1px solid rgba(56, 232, 255, .35); color: var(--cor-tinta-invertida); font-size: 1.25rem; }

.fluxo-historico { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; counter-reset: historico; }
.fluxo-historico li { counter-increment: historico; min-width: 0; min-height: 11rem; margin: 0; padding: var(--esp-5) var(--esp-4) var(--esp-4) 0; border-top: 2px solid var(--cor-marca); }
.fluxo-historico li::before { display: block; margin-bottom: var(--esp-5); color: var(--cor-marca); font-family: var(--fonte-mono); font-size: var(--t-mini); content: counter(historico, decimal-leading-zero); }
.fluxo-historico li:last-child { border-top-color: var(--cor-acento); }
.fluxo-historico strong { display: block; margin-bottom: var(--esp-2); font-size: var(--t-base); }
.fluxo-historico span { display: block; color: var(--cor-tinta-suave); font-size: var(--t-menor); line-height: 1.45; }

.blueprint-metodo { margin: 0; border: 1px solid #294461; border-top: 4px solid var(--cor-acento-claro); background: var(--cor-papel-escuro); color: var(--cor-tinta-invertida); box-shadow: 0 28px 70px rgba(7, 17, 31, .22); }
.blueprint-metodo figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--esp-3); margin: 0; padding: var(--esp-3) var(--esp-4); border-bottom: 1px solid var(--cor-filete-invertido); color: var(--cor-tinta-invertida-suave); font-family: var(--fonte-mono); font-size: var(--t-mini); letter-spacing: .045em; text-transform: uppercase; }
.blueprint-metodo__abas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid var(--cor-filete-invertido); }
.blueprint-metodo__abas span { padding: var(--esp-4); border-right: 1px solid var(--cor-filete-invertido); color: var(--cor-tinta-invertida-suave); font-size: var(--t-menor); text-align: center; }
.blueprint-metodo__abas span:first-child { box-shadow: inset 0 -3px var(--cor-acento-claro); color: var(--cor-acento-claro); }
.blueprint-metodo__abas span:last-child { border-right: 0; }
.blueprint-metodo__corpo { display: grid; grid-template-columns: minmax(13rem, .55fr) minmax(0, 1.45fr); min-height: 25rem; }
.blueprint-metodo__menu { padding: var(--esp-5); border-right: 1px solid var(--cor-filete-invertido); }
.blueprint-metodo__menu p { margin-bottom: var(--esp-5); color: var(--cor-tinta-invertida); font-weight: var(--peso-forte); }
.blueprint-metodo__menu ol { max-width: none; margin: 0; padding: 0; list-style: none; }
.blueprint-metodo__menu li { margin: 0; padding: var(--esp-3) 0; border-bottom: 1px solid var(--cor-filete-invertido); color: var(--cor-tinta-invertida-suave); font-size: var(--t-menor); }
.blueprint-metodo__menu li:first-child { color: var(--cor-acento-claro); }
.blueprint-metodo__painel { padding: var(--esp-6); background: var(--cor-papel); color: var(--cor-tinta); }
.blueprint-metodo__painel h3 { max-width: none; color: var(--cor-tinta); }
.blueprint-metodo__painel > p { color: var(--cor-tinta-suave); }
.blueprint-metodo__metricas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: var(--esp-5) 0; border: 1px solid var(--cor-filete); }
.blueprint-metodo__metrica { padding: var(--esp-4); border-right: 1px solid var(--cor-filete); }
.blueprint-metodo__metrica:last-child { border-right: 0; }
.blueprint-metodo__metrica strong { display: block; color: var(--cor-marca); font-family: var(--fonte-mono); font-size: 1.25rem; }
.blueprint-metodo__metrica span { color: var(--cor-tinta-suave); font-size: var(--t-menor); }
.blueprint-metodo__regra { display: grid; grid-template-columns: 1fr auto; gap: var(--esp-4); padding: var(--esp-4) 0; border-top: 1px solid var(--cor-filete); }
.blueprint-metodo__regra strong { display: block; }
.blueprint-metodo__regra span { color: var(--cor-tinta-suave); font-size: var(--t-menor); }

.papeis-metodo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--cor-tinta); }
.papel-metodo { padding: var(--esp-5); border-right: 1px solid var(--cor-filete); }
.papel-metodo:last-child { border-right: 0; }
.papel-metodo h3 { max-width: none; font-size: var(--t-h4); }
.papel-metodo ul { margin: 0; padding-left: 1.1rem; font-size: var(--t-base); }

.estado-oferta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--esp-5); }
.estado-oferta article { padding: var(--esp-5); border-top: 3px solid var(--cor-filete-forte); background: #FFF; }
.estado-oferta article:nth-child(2) { border-top-color: var(--cor-marca); }
.estado-oferta article:nth-child(3) { border-top-color: var(--cor-acento); }
.estado-oferta h3 { max-width: none; margin-top: var(--esp-4); font-size: var(--t-h4); }
.estado-oferta p { margin: 0; color: var(--cor-tinta-suave); font-size: var(--t-base); }

.fontes-estudo { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: var(--esp-5); }
.fontes-estudo h2 { color: var(--cor-marca); font-family: var(--fonte-mono); font-size: var(--t-mini); letter-spacing: .08em; text-transform: uppercase; }
.fontes-estudo ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--esp-6); max-width: none; margin: 0; padding: 0; list-style: none; counter-reset: fonte; }
.fontes-estudo li { counter-increment: fonte; margin: 0; border-top: 1px solid var(--cor-filete); }
.fontes-estudo a { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--esp-2); padding: var(--esp-3) 0; color: var(--cor-tinta); font-size: var(--t-menor); text-decoration: none; }
.fontes-estudo a::before { color: var(--cor-marca); font-family: var(--fonte-mono); font-size: var(--t-mini); content: counter(fonte, decimal-leading-zero); }
.fontes-estudo a:hover { color: var(--cor-marca); text-decoration: underline; text-underline-offset: .18em; }

@media (max-width: 1000px) {
  .indice-estudo ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rotas-metodo, .estado-oferta { grid-template-columns: 1fr; }
  .linhagem-metodo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .linhagem-metodo > div:nth-child(2) { border-right: 0; }
  .linhagem-metodo > div:nth-child(-n + 2) { border-bottom: 1px solid var(--cor-filete); }
  .principios-governanca { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .principio-governanca:nth-child(2) { border-right: 0; }
  .principio-governanca:nth-child(-n + 2) { border-bottom: 1px solid var(--cor-filete-invertido); }
  .fluxo-historico { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fluxo-historico li { min-height: 0; }
  .blueprint-metodo__abas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .blueprint-metodo__abas span:nth-child(3) { border-right: 0; }
  .blueprint-metodo__abas span:nth-child(n + 4) { border-top: 1px solid var(--cor-filete-invertido); }
}

@media (max-width: 720px) {
  .heroi--capa { min-height: 0; }
  .tese-heroi { grid-template-columns: 1fr; gap: var(--esp-2); margin-bottom: var(--esp-5); }
  .tese-heroi strong { font-size: 1.0625rem; }
  .indice-estudo__grade, .fontes-estudo { grid-template-columns: 1fr; }
  .indice-estudo ul { grid-template-columns: 1fr; }
  .cabeca-editorial { grid-template-columns: 3rem minmax(0, 1fr); gap: var(--esp-3); }
  .cabeca-editorial__numero { width: 2.5rem; height: 2.5rem; font-size: var(--t-menor); }
  .cabeca-editorial h2 { font-size: var(--t-h2); }
  .abertura-estudo { grid-template-columns: 1fr; }
  .rota-metodo { padding: var(--esp-5); }
  .linhagem-metodo, .principios-governanca, .papeis-metodo { grid-template-columns: 1fr; }
  .linhagem-metodo > div { border-right: 0; border-bottom: 1px solid var(--cor-filete); }
  .linhagem-metodo > div:last-child { border-bottom: 0; }
  .principio-governanca, .principio-governanca + .principio-governanca { padding: var(--esp-5) 0; border-right: 0; border-bottom: 1px solid var(--cor-filete-invertido); }
  .principio-governanca:last-child { border-bottom: 0; }
  .principio-governanca > span { margin-bottom: var(--esp-4); }
  .fluxo-historico { grid-template-columns: 1fr; border-left: 2px solid var(--cor-marca); padding-left: var(--esp-4); }
  .fluxo-historico li { padding: 0 0 var(--esp-5); border-top: 0; }
  .fluxo-historico li::before { margin-bottom: var(--esp-2); }
  .blueprint-metodo__abas { grid-template-columns: 1fr; }
  .blueprint-metodo__abas span, .blueprint-metodo__abas span:nth-child(3) { border-right: 0; border-top: 1px solid var(--cor-filete-invertido); text-align: left; }
  .blueprint-metodo__abas span:first-child { border-top: 0; box-shadow: inset 3px 0 var(--cor-acento-claro); }
  .blueprint-metodo__corpo { grid-template-columns: 1fr; }
  .blueprint-metodo__menu { border-right: 0; border-bottom: 1px solid var(--cor-filete-invertido); }
  .blueprint-metodo__menu ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--esp-4); }
  .blueprint-metodo__painel { padding: var(--esp-5); }
  .blueprint-metodo__metricas { grid-template-columns: 1fr; }
  .blueprint-metodo__metrica { border-right: 0; border-bottom: 1px solid var(--cor-filete); }
  .blueprint-metodo__metrica:last-child { border-bottom: 0; }
  .blueprint-metodo__regra { grid-template-columns: 1fr; }
  .papel-metodo { border-right: 0; border-bottom: 1px solid var(--cor-filete); }
  .papel-metodo:last-child { border-bottom: 0; }
  .fontes-estudo ol { grid-template-columns: 1fr; }
}

/* ============================================================================
   FILMES E PRODUTO EM AÇÃO — mídia de abertura, filme institucional e a
   seção escura do Enterprise (.secao--demo-produto). A antiga demonstração
   por etapas saiu na higiene do turno 16 (COD-01).
   ========================================================================== */
.secao--demo-produto {
  overflow: hidden;
  border-bottom: 0;
  /* A grade de 48 px saiu com os fundos de linhas (raia FUNDO, 29/09). */
  background:
    radial-gradient(circle at 92% 8%, rgba(11, 92, 232, .24), transparent 30rem),
    var(--cor-papel-escuro);
  color: var(--cor-tinta-invertida);
}
.secao--demo-produto h2, .secao--demo-produto h3 { color: var(--cor-tinta-invertida); }
.secao--demo-produto .lead { color: var(--cor-tinta-invertida-suave); }
.secao--demo-produto .versalete, .secao--demo-produto .cabeca-editorial__numero { color: var(--cor-acento-claro); }
.secao--demo-produto .cabeca-editorial__numero { border-color: rgba(56, 232, 255, .55); }

.video-apresentacao {
  max-width: none;
  margin: 0;
}
.video-apresentacao--lateral {
  overflow: hidden;
  border: 1px solid #294461;
  border-top: 4px solid var(--cor-acento-claro);
  background: rgba(12, 25, 43, .94);
  box-shadow: 0 20px 50px rgba(0, 0, 0, .32);
}
.video-apresentacao__quadro {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #02070E;
}
.video-apresentacao__midia {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #02070E;
}
/* O quadro corta o anel externo: o contorno de foco fica dentro do vídeo. */
body.site-clean main .video-apresentacao .video-apresentacao__quadro > .video-apresentacao__midia:focus-visible { outline: 3px solid var(--cor-acento-claro); outline-offset: -3px; box-shadow: none; }
.video-apresentacao figcaption {
  margin: 0;
  padding: var(--esp-3) var(--esp-5) var(--esp-4);
  border-top: 1px solid var(--cor-filete-invertido);
  color: var(--cor-tinta-invertida-suave);
  font-family: var(--fonte-corpo);
  font-size: var(--t-menor);
  line-height: 1.55;
}
.video-apresentacao figcaption strong { color: var(--cor-tinta-invertida); }
.video-apresentacao--lateral figcaption { padding: var(--esp-3) var(--esp-4); background: rgba(12, 25, 43, .96); }
.video-transcricao {
  border-top: 1px solid var(--cor-filete-invertido);
  color: var(--cor-tinta-invertida-suave);
  font-family: var(--fonte-corpo);
  font-size: var(--t-menor);
  line-height: 1.6;
}
.video-transcricao summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding: var(--esp-3) var(--esp-5);
  color: var(--cor-acento-claro);
  cursor: pointer;
  font-family: var(--fonte-mono);
  font-size: var(--t-mini);
  font-weight: 700;
  letter-spacing: .045em;
  line-height: 1.45;
  text-transform: uppercase;
}
.video-transcricao summary:hover, .video-transcricao summary:focus-visible { color: #fff; }
.video-transcricao__corpo {
  max-width: 76ch;
  padding: 0 var(--esp-5) var(--esp-5);
}
.video-transcricao__corpo > :first-child { margin-top: 0; }
.video-transcricao__corpo > :last-child { margin-bottom: 0; }
.video-transcricao__corpo ol { display: grid; gap: var(--esp-3); margin: var(--esp-4) 0; padding-left: 1.35rem; }
.video-transcricao__corpo li { padding-left: var(--esp-2); }
.video-transcricao__corpo strong { color: var(--cor-tinta-invertida); }
.video-transcricao__nota { padding-top: var(--esp-3); border-top: 1px solid var(--cor-filete-invertido); }
.video-transcricao--lateral { border: 1px solid #294461; background: rgba(12, 25, 43, .92); }
.video-transcricao--lateral summary { padding: var(--esp-2) var(--esp-4); }
.video-transcricao--lateral .video-transcricao__corpo { padding: 0 var(--esp-4) var(--esp-4); }

.video-institucional {
  display: grid;
  grid-template-columns: minmax(17rem, .72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  margin-top: clamp(4rem, 8vw, 7rem);
  padding-top: clamp(3rem, 6vw, 5rem);
  border-top: 1px solid var(--cor-filete-invertido);
}
.video-institucional__texto h3 {
  max-width: 17ch;
  margin: 0 0 var(--esp-4);
  font-size: clamp(1.6rem, 1.2rem + 1vw, 2.4rem);
}
.video-institucional__texto > p:not(.video-institucional__meta) {
  max-width: 38ch;
  color: var(--cor-tinta-invertida-suave);
}
.video-institucional__meta {
  margin: var(--esp-5) 0 0;
  padding-top: var(--esp-3);
  border-top: 1px solid var(--cor-filete-invertido);
  color: var(--cor-acento-claro);
  font-family: var(--fonte-mono);
  font-size: var(--t-mini);
  letter-spacing: .045em;
  line-height: 1.5;
  text-transform: uppercase;
}
.video-apresentacao--institucional {
  overflow: hidden;
  border: 1px solid #294461;
  background: rgba(12, 25, 43, .94);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .3);
}

/* Revelação editorial: progressiva, curta e executada uma única vez. */
.motion-ready [data-revelar] { opacity: 0; transform: translateY(14px); }
.motion-ready [data-revelar].em-vista { opacity: 1; transform: none; transition: opacity 520ms ease-out, transform 520ms cubic-bezier(.2, .72, .2, 1); }
.motion-ready .sinal-revelacao.em-vista { transform-origin: left center; animation: sinal-entrada 720ms cubic-bezier(.2, .72, .2, 1) both; }

@keyframes sinal-entrada {
  from { opacity: 0; transform: scaleX(.08); }
  to { opacity: 1; transform: scaleX(1); }
}

@media (max-width: 1000px) {
  .video-institucional { grid-template-columns: 1fr; }
  .video-institucional__texto h3, .video-institucional__texto > p:not(.video-institucional__meta) { max-width: 32ch; }
}

@media (max-width: 720px) {
  .video-apresentacao--institucional { margin-inline: calc(var(--margem-pagina) * -.45); }
  .video-apresentacao figcaption { padding: var(--esp-3) var(--esp-4); }
  .video-transcricao summary { padding-inline: var(--esp-4); }
  .video-transcricao__corpo { padding-inline: var(--esp-4); }
  .video-institucional { gap: var(--esp-5); }
}

@media (prefers-reduced-motion: reduce) {
  .motion-ready [data-revelar] { opacity: 1; transform: none; }
}

/* ============================================================================
   CARDS — superfícies técnicas, borda precisa e profundidade discreta
   ========================================================================== */
.card { position: relative; overflow: hidden; background: var(--cor-papel); border: 1px solid var(--cor-filete); border-top: 3px solid var(--cor-marca); border-radius: 12px; padding: var(--esp-5); max-width: var(--medida-curta); margin: 0; box-shadow: 0 12px 34px rgba(7, 17, 31, .06); }
.grade > .card, .grade > a.card { max-width: none; }
.card .versalete { margin-bottom: var(--esp-2); color: var(--cor-marca); }
.card__titulo { font-family: var(--fonte-titulo); font-weight: var(--peso-medio); font-size: var(--t-h4); line-height: var(--entrelinha-titulo); margin: var(--esp-2) 0 var(--esp-3); max-width: none; }
.card__corpo { color: var(--cor-tinta-suave); font-size: var(--t-base); margin: 0 0 var(--esp-3); }
.card__corpo:last-child { margin-bottom: 0; }
.card--destaque { background: var(--cor-papel-2); border-top-color: var(--cor-acento); padding: var(--esp-5); }
.secao--papel2 .card--destaque { background: var(--cor-papel); }
a.card { display: block; text-decoration: none; color: inherit; }
a.card { transition: background-color var(--transicao), border-color var(--transicao), transform var(--transicao), box-shadow var(--transicao); }
a.card:hover { background: var(--cor-papel-2); border-color: var(--cor-marca); transform: translateY(-2px); box-shadow: 0 18px 42px rgba(7, 17, 31, .10); }
a.card:hover .card__titulo { text-decoration: underline; text-underline-offset: .12em; }
.card--estado { border-top: 0; border-left: 4px solid var(--cor-indeterminado); padding: var(--esp-4) var(--esp-5); }
.card--estado.e-ok { border-left-color: var(--cor-sucesso); }
.card--estado.e-alerta { border-left-color: var(--cor-alerta); }
.card--estado.e-erro { border-left-color: var(--cor-erro); }
.card--estado.e-indeterminado { background-image: var(--hachura-indeterminado); }
.card__codigo { font-family: var(--fonte-mono); font-size: .9375rem; font-weight: var(--peso-medio); margin: 0 0 var(--esp-2); letter-spacing: .02em; }
.e-ok .card__codigo { color: var(--cor-sucesso); }
.e-alerta .card__codigo { color: var(--cor-alerta); }
.e-erro .card__codigo { color: var(--cor-erro); }
.e-indeterminado .card__codigo { color: var(--cor-indeterminado); }
.card__efeito { font-size: var(--t-menor); color: var(--cor-tinta-suave); margin: 0; }

/* Módulos conceituais empilhados, separados por divisor. */
.verbetes { display: grid; gap: 0; }
.verbetes .card { max-width: none; }
.verbetes .card:first-child { border-top-color: var(--cor-marca); }

/* ============================================================================
   ESTADOS — cor + glifo + código literal, sempre os três
   ========================================================================== */
.estado {
  display: inline-flex; align-items: center; gap: .4rem;
  font-family: var(--fonte-mono); font-size: var(--t-mini); font-weight: var(--peso-medio);
  text-transform: uppercase; letter-spacing: .04em; line-height: 1.4;
  padding: 3px 8px; border-radius: var(--raio); border: 1px solid currentColor; white-space: nowrap;
}
.estado--ok { color: var(--cor-sucesso); background: var(--cor-sucesso-lavado); }
.estado--alerta { color: var(--cor-alerta); background: var(--cor-alerta-lavado); }
.estado--erro { color: var(--cor-erro); background: var(--cor-erro-lavado); }
.estado--indeterminado { color: var(--cor-indeterminado); background-color: var(--cor-indeterminado-lavado); background-image: var(--hachura-indeterminado); }
.estado--neutro { color: var(--cor-tinta-suave); background: var(--cor-papel-2); }

/* ============================================================================
   TABELAS — leitura operacional. Sem zebra nem bordas verticais.
   Toda tabela declara a própria base e a data de corte no <tfoot>.
   ========================================================================== */
.tabela-rolagem { overflow-x: auto; margin: 0 0 var(--esp-5); -webkit-overflow-scrolling: touch; }
.tabela-dica { display: none; margin: var(--esp-2) 0 0; color: var(--cor-tinta-suave); font-family: var(--fonte-mono); font-size: var(--t-mini); }
@media (max-width: 720px) { .tabela-dica { display: block; } }
.tabela-rolagem:focus-visible { outline: var(--anel-foco); outline-offset: 4px; }
table { border-collapse: collapse; width: 100%; font-size: var(--t-base); line-height: var(--entrelinha-tabela); margin: 0 0 var(--esp-5); }
.tabela-rolagem table { min-width: 640px; margin-bottom: 0; }
.doc table { margin-bottom: var(--esp-3); }
caption {
  caption-side: top; text-align: left;
  font-family: var(--fonte-titulo); font-style: italic; font-size: var(--t-base);
  color: var(--cor-tinta); padding: 0 0 var(--esp-3);
}
thead th {
  font-family: var(--fonte-corpo); font-size: 0.8125rem; font-weight: var(--peso-forte);
  text-transform: uppercase; letter-spacing: 0.08em; color: var(--cor-tinta-tenue);
  text-align: left; vertical-align: bottom; padding: var(--esp-3) var(--esp-4) var(--esp-3) 0;
  border-bottom: 2px solid var(--cor-tinta);
}
tbody td, tbody th { padding: 14px var(--esp-4) 14px 0; border-bottom: 1px solid var(--cor-filete); text-align: left; vertical-align: top; }
tbody th[scope="row"] { font-weight: var(--peso-forte); }
tbody tr:last-child td, tbody tr:last-child th { border-bottom: 2px solid var(--cor-tinta); }
th.num, td.num { font-family: var(--fonte-mono); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
thead th.num { text-align: right; }
td.cod { font-family: var(--fonte-mono); font-size: .9375rem; }
.vazio { color: var(--cor-tinta-tenue); }
.nao-apurado { color: var(--cor-indeterminado); font-family: var(--fonte-mono); font-size: .8125rem; }
tfoot td { padding: var(--esp-3) var(--esp-4) 0 0; font-family: var(--fonte-mono); font-size: var(--t-mini); color: var(--cor-tinta-tenue); border: 0; line-height: 1.5; }
.linha-destaque th[scope="row"] { box-shadow: inset 3px 0 0 var(--cor-acento); padding-left: 12px; }
.tabela-rolagem--sticky th[scope="row"] { position: sticky; left: 0; background: var(--cor-papel); z-index: 1; }
.secao--papel2 .tabela-rolagem--sticky th[scope="row"] { background: var(--cor-papel-2); }

/* Tabela de fontes: vira lista rotulada em tela estreita (o ponto não é comparar) */
@media (max-width: 720px) {
  .tabela--empilha thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tabela--empilha, .tabela--empilha tbody, .tabela--empilha tr, .tabela--empilha td, .tabela--empilha th { display: block; }
  .tabela--empilha tr { border-bottom: 1px solid var(--cor-filete); padding: var(--esp-3) 0; }
  .tabela--empilha tbody tr:last-child { border-bottom: 2px solid var(--cor-tinta); }
  .tabela--empilha tbody th, .tabela--empilha tbody td { border: 0; padding: 4px 0; }
  .tabela--empilha tbody td::before { content: attr(data-rotulo); display: block; font-size: var(--t-mini); font-weight: var(--peso-forte); letter-spacing: var(--tracking-versalete); text-transform: uppercase; color: var(--cor-tinta-tenue); }
  .tabela--empilha tfoot, .tabela--empilha tfoot tr, .tabela--empilha tfoot td { display: block; }
  .tabela--empilha caption { display: block; }
  .tabela-rolagem .tabela--empilha { min-width: 0; }
}

/* ============================================================================
   LISTAS
   ========================================================================== */
.lista-filete { list-style: none; padding: 0; margin: 0 0 var(--esp-5); max-width: var(--medida); }
.lista-filete li { padding: var(--esp-3) 0; border-bottom: 1px solid var(--cor-filete); margin: 0; }
.lista-filete li:first-child { border-top: 2px solid var(--cor-tinta); }
.lista-numerada { list-style: none; padding: 0; margin: 0 0 var(--esp-5); counter-reset: item; max-width: var(--medida); }
.lista-numerada li { counter-increment: item; display: grid; grid-template-columns: 3rem 1fr; gap: var(--esp-3); padding: var(--esp-3) 0; border-bottom: 1px solid var(--cor-filete); margin: 0; }
.lista-numerada li:first-child { border-top: 2px solid var(--cor-tinta); }
.lista-numerada li::before { content: counter(item, decimal-leading-zero); font-family: var(--fonte-mono); font-size: var(--t-menor); color: var(--cor-tinta-tenue); padding-top: 3px; }
.lista-marcas { list-style: none; padding: 0; margin: 0 0 var(--esp-5); max-width: var(--medida); }
.lista-marcas li { position: relative; padding-left: 1.25rem; margin-bottom: var(--esp-3); }
.lista-marcas li::before { content: "\2014"; position: absolute; left: 0; color: var(--cor-tinta-tenue); }
.definicoes { max-width: var(--medida); margin: 0 0 var(--esp-5); }
.definicoes dt { font-weight: var(--peso-forte); margin-top: var(--esp-4); }
.definicoes dd { margin: var(--esp-1) 0 0; color: var(--cor-tinta-suave); }
.definicoes dt:first-child { margin-top: 0; }
.definicoes--filete dt { border-top: 1px solid var(--cor-filete); padding-top: var(--esp-3); }
.definicoes--filete dt:first-child { border-top: 2px solid var(--cor-tinta); }

/* Fluxo em mono: alvo → caso → coleta ... */
.fluxo { font-family: var(--fonte-mono); font-size: var(--t-menor); letter-spacing: .02em; text-transform: uppercase; color: var(--cor-tinta); line-height: 2; margin: 0 0 var(--esp-5); max-width: none; }
.fluxo span { white-space: nowrap; }
.fluxo .seta { color: var(--cor-tinta-tenue); padding: 0 .35em; }
.fluxo .gate { color: var(--cor-acento); font-weight: var(--peso-medio); }

/* A assinatura e a escada de profundidade do produto */
.fatos-assinatura { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--esp-6); list-style: none; margin: 0; padding: 0; }
.fatos-assinatura > div { border-top: 2px solid var(--cor-tinta); padding-top: var(--esp-4); margin: 0; }
.fatos-assinatura dt { font-family: var(--fonte-titulo); font-size: var(--t-h4); font-weight: var(--peso-medio); margin-bottom: var(--esp-2); }
.fatos-assinatura dd { color: var(--cor-tinta-suave); margin: 0; }
.fatos-assinatura__item { border-top: 2px solid var(--cor-tinta); padding-top: var(--esp-4); margin: 0; }
.fatos-assinatura__item strong { display: block; font-family: var(--fonte-titulo); font-size: var(--t-h4); font-weight: var(--peso-medio); margin-bottom: var(--esp-2); }
.fatos-assinatura__item span { color: var(--cor-tinta-suave); }

.escalada-caso { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; counter-reset: escalada; }
.escalada-caso > li { counter-increment: escalada; position: relative; border-top: 2px solid var(--cor-marca); padding: var(--esp-5) var(--esp-4) 0 0; margin: 0; min-height: 9rem; }
.escalada-caso > li::before { content: counter(escalada, decimal-leading-zero); display: block; font-family: var(--fonte-mono); font-size: var(--t-mini); color: var(--cor-tinta-tenue); margin-bottom: var(--esp-3); }
.escalada-caso > li:last-child { border-top-color: var(--cor-acento); }
.escalada-caso > li strong { display: block; margin-bottom: var(--esp-2); }
.escalada-caso > li span { color: var(--cor-tinta-suave); font-size: var(--t-menor); }
.escalada-caso__passo { counter-increment: escalada; position: relative; border-top: 2px solid var(--cor-marca); padding: var(--esp-5) var(--esp-4) 0 0; margin: 0; min-height: 9rem; }
.escalada-caso__passo::before { content: counter(escalada, decimal-leading-zero); display: block; font-family: var(--fonte-mono); font-size: var(--t-mini); color: var(--cor-tinta-tenue); margin-bottom: var(--esp-3); }
.escalada-caso__passo:last-child { border-top-color: var(--cor-acento); }
.escalada-caso__passo strong { display: block; margin-bottom: var(--esp-2); }
.escalada-caso__passo span { color: var(--cor-tinta-suave); font-size: var(--t-menor); }

.faixa-criterios { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: clamp(2.5rem, 7vw, 6rem); align-items: start; }
.faixa-criterios .citacao-canonica { max-width: 18ch; }
.faixa-criterios__fluxo { font-family: var(--fonte-mono); text-transform: uppercase; letter-spacing: .04em; font-size: var(--t-menor); line-height: 2.2; max-width: none; }

@media (max-width: 900px) {
  .escalada-caso { grid-template-columns: 1fr; border-left: 2px solid var(--cor-marca); padding-left: var(--esp-5); }
  .escalada-caso > li { border-top: 0; min-height: 0; padding: 0 0 var(--esp-6); }
  .escalada-caso > li:last-child { border-top: 0; }
  .escalada-caso__passo { border-top: 0; min-height: 0; padding: 0 0 var(--esp-6); }
  .escalada-caso__passo:last-child { border-top: 0; }
  .faixa-criterios { grid-template-columns: 1fr; }
}
@media (max-width: 720px) { .fatos-assinatura { grid-template-columns: 1fr; } }
@media (max-width: 520px) {
  .topo__env { gap: var(--esp-3); min-height: 72px; }
  .marca { gap: 10px; }
  .marca__simbolo { width: 34px; height: 34px; }
  .marca__wordmark { width: 6.75rem; border-top-width: 2px; padding-top: 4px; }
  .marca__nome { font-size: 1.125rem; }
  .marca__descritor { font-size: .55rem; margin-top: 5px; }
  .nav-alternar { padding-inline: 11px; }
  .heroi:not(.heroi--pagina) { padding-top: var(--esp-5); }
  .heroi__mensagem .display { font-size: clamp(2.5rem, 12.5vw, 3rem); margin-bottom: var(--esp-4); }
  .heroi__mensagem .lead { font-size: 1.0625rem; line-height: 1.5; margin-bottom: var(--esp-5); }
  .heroi .acoes { align-items: stretch; flex-direction: column; }
  .heroi .botao { width: 100%; }
  .heroi .link-seta { align-self: flex-start; }
}

/* ============================================================================
   NOTA (aside) e CHAMADAS
   ========================================================================== */
.nota { border-left: 3px solid var(--cor-marca); padding: var(--esp-2) 0 var(--esp-2) var(--esp-5); margin: 0 0 var(--esp-5); max-width: var(--medida); font-size: var(--t-base); color: var(--cor-tinta-suave); }
.nota strong { color: var(--cor-tinta); }
.nota p:last-child { margin-bottom: 0; }
.aviso-exemplo { display: inline-block; font-family: var(--fonte-mono); font-size: var(--t-mini); letter-spacing: .06em; text-transform: uppercase; color: var(--cor-tinta-tenue); border: 1px solid var(--cor-filete-forte); padding: 3px 8px; border-radius: var(--raio); }

.chamada-final {
  position: relative;
  padding: clamp(4rem, 8vw, 7rem) 0;
  background-color: var(--cor-papel-escuro);
  /* A grade de 48 px e a faixa diagonal saíram com os fundos de linhas (raia FUNDO, 29/09). */
  background-image: radial-gradient(circle at 85% 15%, rgba(56, 232, 255, .14), transparent 24rem);
  color: var(--cor-tinta-invertida);
  border-top: 1px solid var(--cor-acento-claro);
  border-bottom: 1px solid var(--cor-filete-invertido);
}
.chamada-final h2 { margin-bottom: var(--esp-4); }
.chamada-final h2 { color: var(--cor-tinta-invertida); }
.chamada-final .lead { color: var(--cor-tinta-invertida-suave); margin-bottom: var(--esp-6); }
.chamada-final .versalete { color: var(--cor-acento-claro); }
.chamada-final .botao--primario { background: var(--cor-tinta-invertida); color: var(--cor-marca-escura); }
.chamada-final .botao--primario:hover { background: #FFFFFF; color: var(--cor-marca-escura); }
.chamada-final .link-seta { color: var(--cor-tinta-invertida); text-decoration-color: var(--cor-acento-claro); }

/* ============================================================================
   PENDÊNCIA — marcador de decisão que falta. Nunca vai ao ar.
   Usa a semântica do INDETERMINADO: grafite + hachura, porque é ausência de base.
   ========================================================================== */
mark.pendente {
  display: inline; color: var(--cor-indeterminado);
  background-color: var(--cor-indeterminado-lavado); background-image: var(--hachura-indeterminado);
  font-family: var(--fonte-mono); font-size: .8125rem; font-weight: var(--peso-medio); line-height: 1.5;
  padding: 2px 8px 2px 6px; border-left: 3px solid var(--cor-indeterminado); border-radius: var(--raio);
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
mark.pendente::before { content: "\25C7 "; }
mark.pendente--bloco { display: block; padding: var(--esp-3) var(--esp-4); margin: var(--esp-4) 0; max-width: var(--medida); }
.sup-prova mark.pendente, .rodape mark.pendente { color: var(--cor-indeterminado-claro); background-color: transparent; background-image: var(--hachura-indeterminado-invertida); border-left-color: var(--cor-indeterminado-claro); }

/* ============================================================================
   CAMADA DE EVIDÊNCIA — superfície invertida para concentração:
   hash, trilha de auditoria e §12 de limitações moram aqui.
   ========================================================================== */
.sup-prova {
  background-color: var(--cor-papel-escuro);
  background-image: radial-gradient(circle at 88% 12%, rgba(56, 232, 255, .09), transparent 28rem);
  color: var(--cor-tinta-invertida);
  border-bottom: 0;
}
.sup-prova h1, .sup-prova h2, .sup-prova h3, .sup-prova h4 { color: var(--cor-tinta-invertida); }
.sup-prova p, .sup-prova li, .sup-prova dd { color: var(--cor-tinta-invertida-suave); }
.sup-prova strong { color: var(--cor-tinta-invertida); }
.sup-prova .versalete { color: var(--cor-tinta-invertida-suave); }
.sup-prova .lead { color: var(--cor-tinta-invertida-suave); }
.sup-prova a { color: var(--cor-tinta-invertida); text-decoration: underline; text-decoration-color: var(--cor-acento-claro); text-underline-offset: .18em; }
.sup-prova a:hover { text-decoration-thickness: 2px; }
.sup-prova .link-seta { color: var(--cor-tinta-invertida); }
.sup-prova .card { background: var(--cor-papel-escuro-2); border-top-color: var(--cor-acento-claro); padding: var(--esp-5); }
.sup-prova .card .versalete { color: var(--cor-acento-claro); }
.sup-prova .card__corpo, .sup-prova .card__efeito { color: var(--cor-tinta-invertida-suave); }
.sup-prova .estado { background: transparent; }
.sup-prova .estado--ok { color: var(--cor-sucesso-claro); }
.sup-prova .estado--alerta { color: var(--cor-alerta-claro); }
.sup-prova .estado--erro { color: var(--cor-erro-claro); }
.sup-prova .estado--indeterminado { color: var(--cor-indeterminado-claro); background-image: var(--hachura-indeterminado-invertida); }
.sup-prova .estado--neutro { color: var(--cor-tinta-invertida-suave); }
.sup-prova hr, .sup-prova .lista-filete li { border-color: var(--cor-filete-invertido); }
.sup-prova .lista-filete li:first-child { border-top-color: var(--cor-tinta-invertida); }
.sup-prova .nota { border-left-color: var(--cor-tinta-invertida); color: var(--cor-tinta-invertida-suave); }
.sup-prova tbody td, .sup-prova tbody th, .sup-prova .lista-numerada li { border-bottom-color: var(--cor-filete-invertido); }
.sup-prova thead th, .sup-prova tbody tr:last-child td, .sup-prova tbody tr:last-child th { border-bottom-color: var(--cor-tinta-invertida); }
.sup-prova thead th, .sup-prova tfoot td, .sup-prova caption { color: var(--cor-tinta-invertida-suave); }
.sup-prova th, .sup-prova td { color: var(--cor-tinta-invertida); }

.caixa-prova { border: 1px solid var(--cor-filete-invertido); border-top: 3px solid var(--cor-acento-claro); border-radius: 12px; background: var(--cor-papel-escuro-2); padding: var(--esp-5); margin: 0 0 var(--esp-5); }
.caixa-prova .versalete { margin-bottom: var(--esp-3); }
.hash { font-family: var(--fonte-mono); font-size: .9375rem; overflow-wrap: anywhere; color: var(--cor-tinta-invertida); margin: 0 0 var(--esp-3); max-width: none; }
.hash__elipse { color: var(--cor-tinta-invertida-suave); }
.trilha { list-style: none; padding: 0; margin: var(--esp-4) 0 0; font-family: var(--fonte-mono); font-size: var(--t-menor); max-width: none; }
.trilha li { padding: .6rem 0; border-bottom: 1px solid var(--cor-filete-invertido); display: flex; justify-content: space-between; gap: var(--esp-5); flex-wrap: wrap; color: var(--cor-tinta-invertida-suave); margin: 0; }
.trilha li:last-child { border-bottom: 0; }
.trilha .quem { color: var(--cor-tinta-invertida); }

/* ============================================================================
   AMOSTRA DO ARTEFATO — recortes do entregável, redesenhados em HTML.
   Todo dado é sintético e rotulado como EXEMPLO. Tarja sólida, nunca blur.
   ========================================================================== */
.doc { background: var(--cor-papel); color: var(--cor-tinta); border: 1px solid var(--cor-filete-forte); border-radius: 12px; box-shadow: var(--sombra); padding: clamp(1.25rem, 3vw, 2.5rem); max-width: 46rem; margin: 0; font-size: var(--t-base); position: relative; }
.doc__cabeca { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--esp-4); flex-wrap: wrap; border-bottom: 2px solid var(--cor-tinta); padding-bottom: var(--esp-3); margin-bottom: var(--esp-4); }
.doc__cabeca .versalete { margin: 0; }
.doc__meta { font-family: var(--fonte-mono); font-size: var(--t-mini); color: var(--cor-tinta-tenue); letter-spacing: .02em; margin: 0; max-width: none; }
.doc__secao { font-family: var(--fonte-titulo); font-weight: var(--peso-forte); font-size: var(--t-h4); margin: var(--esp-5) 0 var(--esp-3); max-width: none; }
.doc__secao:first-of-type { margin-top: 0; }
.doc p { font-size: var(--t-base); max-width: none; }
.doc .versalete { margin-bottom: var(--esp-2); }
.doc table { font-size: var(--t-menor); }
.doc thead th { font-size: .6875rem; padding: var(--esp-2) var(--esp-3) var(--esp-2) 0; }
.doc tbody td, .doc tbody th { padding: 8px var(--esp-3) 8px 0; }
.doc tfoot td { padding-top: var(--esp-2); }
.doc__veredito { display: flex; flex-wrap: wrap; align-items: center; gap: var(--esp-3); padding: var(--esp-3) 0; border-top: 1px solid var(--cor-filete); border-bottom: 1px solid var(--cor-filete); margin: 0 0 var(--esp-4); }
.doc__veredito .rotulo { font-weight: var(--peso-forte); }
.doc__veredito .mono { font-size: var(--t-menor); color: var(--cor-tinta-suave); }
.tarja { display: inline-block; background: var(--cor-papel-3); color: transparent; border-radius: 1px; vertical-align: baseline; user-select: none; }
.doc__marca-agua { position: absolute; top: var(--esp-3); right: var(--esp-4); font-family: var(--fonte-mono); font-size: var(--t-mini); letter-spacing: .1em; text-transform: uppercase; color: var(--cor-tinta-tenue); border: 1px solid var(--cor-filete-forte); padding: 2px 6px; }
.doc .lista-marcas li { font-size: var(--t-menor); margin-bottom: var(--esp-2); }
.doc .lista-marcas { margin-bottom: var(--esp-3); }
.doc .sup-prova { padding: var(--esp-4); margin: var(--esp-4) 0 0; }
.doc .sup-prova .hash { font-size: var(--t-menor); }
.doc .sup-prova p { color: var(--cor-tinta-invertida-suave); }
.doc .sup-prova .versalete { color: var(--cor-tinta-invertida-suave); }

/* A amostra permanece clara sobre a superfície de evidência. */
.doc, .doc p, .doc li, .doc th, .doc td, .doc strong, .doc caption { color: var(--cor-tinta); }
.doc .versalete, .doc tfoot td, .doc thead th, .doc__meta { color: var(--cor-tinta-tenue); }
.doc tbody td, .doc tbody th { border-bottom-color: var(--cor-filete); }
.doc thead th, .doc tbody tr:last-child td, .doc tbody tr:last-child th { border-bottom-color: var(--cor-tinta); }
.doc .estado--ok { color: var(--cor-sucesso); background: var(--cor-sucesso-lavado); }
.doc .estado--alerta { color: var(--cor-alerta); background: var(--cor-alerta-lavado); }
.doc .estado--erro { color: var(--cor-erro); background: var(--cor-erro-lavado); }
.doc .estado--indeterminado { color: var(--cor-indeterminado); background-color: var(--cor-indeterminado-lavado); background-image: var(--hachura-indeterminado); }
.doc .sup-prova { background: var(--cor-papel-escuro); color: var(--cor-tinta-invertida); }
.doc .sup-prova p, .doc .sup-prova .versalete { color: var(--cor-tinta-invertida-suave); }
.doc .sup-prova .hash, .doc .sup-prova strong { color: var(--cor-tinta-invertida); }
.doc .sup-prova .estado--ok { color: var(--cor-sucesso-claro); background: transparent; }
.doc .sup-prova .estado--erro { color: var(--cor-erro-claro); background: transparent; }
.doc .sup-prova .estado--indeterminado { color: var(--cor-indeterminado-claro); background-color: transparent; background-image: var(--hachura-indeterminado-invertida); }

/* Número grande como peça tipográfica (o "25" das fontes) */
.numero-grande { font-family: var(--fonte-titulo); font-weight: 740; font-size: var(--t-display); line-height: 1; letter-spacing: var(--tracking-display); margin: 0 0 var(--esp-2); color: var(--cor-tinta); max-width: none; font-variant-numeric: lining-nums; }
.numero-grande + .versalete { margin-bottom: var(--esp-5); }

/* ============================================================================
   DIAGRAMA DO MÉTODO — SVG inline, uma espessura, ângulos 0/90 e sinais vivos.
   ========================================================================== */
.diagrama { overflow-x: auto; margin: 0; padding-bottom: var(--esp-2); }
.diagrama:focus-visible { outline: var(--anel-foco); outline-offset: 4px; }
.diagrama svg { display: block; min-width: 980px; width: 100%; height: auto; font-family: var(--fonte-mono); }
.diagrama .no { fill: var(--cor-papel); stroke: var(--cor-tinta); stroke-width: var(--traco-svg); }
.diagrama .no--gate { stroke: var(--cor-acento); stroke-width: 2.5; }
.diagrama .liga { stroke: var(--cor-marca); stroke-width: var(--traco-svg); fill: none; }
.diagrama .ponta { fill: var(--cor-marca); }
.diagrama .liga--gate { stroke: var(--cor-acento); }
.diagrama .rot { fill: var(--cor-tinta); font-size: 11.5px; font-weight: 500; letter-spacing: .04em; text-anchor: middle; }
.diagrama .rot--sub { fill: var(--cor-tinta-suave); font-size: 9.5px; font-weight: 400; letter-spacing: .03em; }
.diagrama .rot--gate { fill: var(--cor-acento); }
.diagrama .rot--faixa { fill: var(--cor-marca); font-size: 9.5px; letter-spacing: .08em; }
.diagrama .faixa { stroke: var(--cor-marca); stroke-width: 1.25; fill: none; }
.diagrama .rot--hash { fill: var(--cor-tinta-suave); font-size: 9px; letter-spacing: .02em; }
.diagrama__legenda { font-family: var(--fonte-mono); font-size: var(--t-mini); color: var(--cor-tinta-tenue); letter-spacing: .03em; text-transform: uppercase; margin: var(--esp-3) 0 0; font-style: normal; }
.secao--papel2 .diagrama .no { fill: var(--cor-papel-2); }

/* ============================================================================
   CONTATO — fluxo direto, claro e sem fricção
   ========================================================================== */
.formulario { max-width: 34rem; }
.campo { display: block; margin-bottom: var(--esp-5); max-width: 34rem; }
.campo > label { display: block; font-size: var(--t-menor); font-weight: var(--peso-forte); color: var(--cor-tinta); margin-bottom: var(--esp-2); }
.campo input, .campo textarea, .campo select {
  width: 100%; min-height: 48px; padding: 12px 14px;
  font-family: var(--fonte-corpo); font-size: var(--t-base); color: var(--cor-tinta);
  background: var(--cor-papel); border: 1px solid var(--cor-filete-forte); border-radius: var(--raio);
}
.campo textarea { min-height: 9rem; resize: vertical; }
.campo input:focus-visible, .campo textarea:focus-visible, .campo select:focus-visible { border-color: var(--cor-marca); outline: var(--anel-foco); outline-offset: 2px; }
.ajuda { display: block; font-size: var(--t-menor); color: var(--cor-tinta-tenue); margin-top: var(--esp-2); }
.campo--erro input, .campo--erro textarea { border: 2px solid var(--cor-erro); }
.msg-erro { display: block; font-size: var(--t-menor); color: var(--cor-erro); margin-top: var(--esp-2); font-weight: var(--peso-medio); }
.resumo-erros { border-left: 4px solid var(--cor-erro); background: var(--cor-erro-lavado); padding: var(--esp-4); margin-bottom: var(--esp-5); max-width: 34rem; }
.resumo-erros p { margin: 0; font-size: .9375rem; font-weight: var(--peso-forte); color: var(--cor-erro); }
.nota-privacidade { font-size: var(--t-menor); color: var(--cor-tinta-suave); max-width: 34rem; margin-bottom: var(--esp-4); }

/* ============================================================================
   RODAPÉ
   ========================================================================== */
.rodape {
  background-color: var(--cor-papel-escuro);
  /* A grade de 48 px saiu com os fundos de linhas (raia FUNDO, 29/09). */
  background-image: linear-gradient(145deg, rgba(7, 16, 29, .55), rgba(1, 3, 9, .96));
  color: var(--cor-tinta-invertida-suave);
  padding: clamp(3rem, 6vw, 5rem) 0 var(--esp-7);
  border-top: 1px solid rgba(56, 232, 255, .52);
  font-size: .9375rem;
}
.rodape__grade { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: var(--esp-7) var(--esp-6); padding-bottom: var(--esp-7); border-bottom: 1px solid var(--cor-filete-invertido); }
.rodape .versalete { color: var(--cor-tinta-invertida-suave); margin-bottom: var(--esp-4); }
.rodape ul { list-style: none; padding: 0; margin: 0; }
.rodape li { margin: 0 0 var(--esp-3); }
.rodape a { color: var(--cor-tinta-invertida); text-decoration: none; border-bottom: 1px solid transparent; }
.rodape a:hover { border-bottom-color: var(--cor-acento-claro); }
.rodape p { color: var(--cor-tinta-invertida-suave); max-width: 40ch; }
.rodape__marca .marca { margin-bottom: var(--esp-4); }
.rodape .marca__assinatura { width: 15rem; }
.rodape__acessos p { margin-bottom: var(--esp-3); }
.rodape__acessos span { color: var(--cor-tinta-invertida); }
.rodape__institucional { padding-top: var(--esp-5); font-size: var(--t-menor); max-width: none; line-height: 2; }
.rodape__institucional a { color: var(--cor-tinta-invertida); text-decoration: underline; text-decoration-color: var(--cor-acento-claro); text-underline-offset: .18em; border: 0; }
.rodape__institucional .sep { color: var(--cor-tinta-invertida-suave); padding: 0 .5em; }
.rodape__institucional mark.pendente { display: inline-block; max-width: 100%; vertical-align: middle; line-height: 1.4; margin: 2px 0; }
.rodape__topo { display: block; margin-top: var(--esp-4); font-size: var(--t-menor); }
@media (max-width: 900px) { .rodape__grade { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .rodape__grade { grid-template-columns: 1fr; } }

/* Faixa de rascunho: inserida por nav.js só em *.pages.dev */
.faixa-rascunho { margin: 0; max-width: none; background: var(--cor-acento-lavado); color: var(--cor-tinta); font-family: var(--fonte-mono); font-size: var(--t-menor); line-height: 1.5; text-align: center; padding: 10px var(--margem-pagina); border-bottom: 1px solid var(--cor-marca); }

/* ============================================================================
   MOBILE — composição própria para leitura, toque e decisão em tela estreita.
   O desktop permanece intacto; abaixo de 720 px, tipo, ritmo e componentes
   deixam de apenas empilhar a versão ampla.
   ========================================================================== */
@media (max-width: 1200px) {
  .js .topo__env { flex-wrap: nowrap; row-gap: 0; }
  .js .nav {
    position: absolute; top: 100%; left: 0; right: 0; width: auto;
    max-height: calc(100dvh - 84px); overflow-y: auto; overscroll-behavior: contain;
    padding: var(--esp-4) var(--margem-pagina) var(--esp-5);
    background: rgba(1, 3, 9, .985); border-top: 1px solid var(--cor-filete-invertido);
    border-bottom: 1px solid var(--cor-acento-claro);
    box-shadow: 0 22px 45px rgba(2, 7, 14, .34); backdrop-filter: blur(18px);
  }
  .js .nav ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--esp-5); }
  .js .nav ul a { min-height: var(--alvo-minimo); padding: 9px 0; line-height: 1.4; }
  .js .nav__cta { align-self: stretch; width: 100%; }
}

@media (max-width: 720px) {
  :root {
    --margem-pagina: 1.125rem;
    --t-corpo: 1rem;
    --t-lead: 1.125rem;
    --t-h4: 1.25rem;
    --t-h3: 1.5rem;
    --t-h2: clamp(1.875rem, 8vw, 2.125rem);
    --t-h1: clamp(2.125rem, 9vw, 2.5rem);
    --t-display: clamp(2.375rem, 10.5vw, 2.75rem);
    --entrelinha-corpo: 1.58;
  }

  body { line-height: var(--entrelinha-corpo); }
  h1, h2, h3, h4 { overflow-wrap: anywhere; }
  p, ul, ol, dl { margin-bottom: var(--esp-3); }
  blockquote { padding-left: var(--esp-4); }
  .lead { line-height: 1.5; }
  .citacao-canonica { font-size: clamp(1.75rem, 7.5vw, 2rem); }
  .versalete { font-size: .6875rem; line-height: 1.4; }
  .mono, .dado { overflow-wrap: anywhere; }

  .topo__env { min-height: 64px; gap: var(--esp-3); padding-top: var(--esp-2); padding-bottom: var(--esp-2); }
  .marca { gap: 9px; }
  .topo .marca__simbolo { display: none; }
  .topo .marca__micro { display: block; }
  .nav-alternar { flex: 0 0 auto; min-width: 44px; min-height: 44px; padding: 8px; gap: 7px; font-size: 0; }
  .nav-alternar::after { content: "Menu"; font-size: .8125rem; line-height: 1; }
  .nav-alternar[aria-expanded="true"]::after { content: "Fechar"; }
  .nav-alternar__icone { width: 19px; height: 15px; }
  .nav-alternar__icone rect { transform-box: fill-box; transform-origin: center; transition: transform var(--transicao), opacity var(--transicao); }
  .nav-alternar[aria-expanded="true"] .nav-alternar__icone rect:first-child { transform: translateY(6px) rotate(45deg); }
  .nav-alternar[aria-expanded="true"] .nav-alternar__icone rect:nth-child(2) { opacity: 0; }
  .nav-alternar[aria-expanded="true"] .nav-alternar__icone rect:last-child { transform: translateY(-6px) rotate(-45deg); }
  .js .nav { max-height: calc(100dvh - 64px); gap: var(--esp-3); padding-top: var(--esp-3); }
  .js .nav ul { column-gap: var(--esp-4); }
  .js .nav ul a { font-size: .9375rem; }

  .secao { padding: 3rem 0; }
  .secao:not(.estudo-secao) > .env::before { top: -.75rem; font-size: 2.25rem; opacity: .06; }
  .secao--compacta { padding: 2.5rem 0; }
  .secao__cabeca { margin-bottom: var(--esp-5); }
  .secao__cabeca h2 { margin-bottom: var(--esp-3); }
  .secao__rodape { margin-top: var(--esp-5); }
  .grade { gap: var(--esp-4); }
  .prosa > * + h2 { margin-top: var(--esp-7); }
  .prosa > * + h3 { margin-top: var(--esp-6); }
  .prosa > * + h4 { margin-top: var(--esp-5); }

  .heroi, .heroi--pagina { padding: 2.5rem 0 3rem; background-position: 78% 0; }
  .heroi--pagina .env { padding-right: var(--margem-pagina); }
  .heroi--pagina .env::after { display: none; }
  .heroi:not(.heroi--pagina) { padding-top: 2rem; }
  .heroi h1 { margin-bottom: var(--esp-4); }
  .heroi .lead { margin-bottom: var(--esp-5); }
  .heroi__grade { gap: var(--esp-6); }
  .heroi__mensagem .display { font-size: clamp(2.25rem, 10.5vw, 2.75rem); line-height: 1.02; margin-bottom: var(--esp-4); }
  .heroi__mensagem .lead { font-size: var(--t-lead); line-height: 1.5; margin-bottom: var(--esp-5); }
  .sinal-revelacao { width: 72px; height: 3px; margin-bottom: var(--esp-5); }
  .painel-caso__cabeca { font-size: .6875rem; letter-spacing: .045em; }
  .painel-caso__rodape { margin-top: var(--esp-3); font-size: .8125rem; }

  .botao { min-height: 46px; padding: 12px 16px; font-size: 1rem; line-height: 1.35; }
  .acoes { gap: var(--esp-3); }
  .heroi .acoes, .chamada-final .acoes { flex-direction: column; align-items: stretch; }
  .heroi .botao, .chamada-final .botao { width: 100%; }
  .heroi .link-seta, .chamada-final .link-seta { align-self: flex-start; }
  /* Alvo de toque de 44 px (W19): 1rem × 1,45 + 2 × 0,65rem. */
  .link-seta { font-size: 1rem; line-height: 1.45; padding: .65rem 0; }

  .card, .card--destaque, .sup-prova .card, .caixa-prova { padding: 1.125rem; border-radius: 10px; box-shadow: 0 7px 20px rgba(7, 17, 31, .055); }
  .card__titulo { margin: .375rem 0 .625rem; }
  .card__corpo { line-height: 1.55; margin-bottom: var(--esp-2); }
  .card--estado { padding: var(--esp-4); }
  .verbetes { gap: var(--esp-3); }

  .fatos-assinatura { gap: var(--esp-5); }
  .fatos-assinatura > div, .fatos-assinatura__item { padding-top: var(--esp-3); }
  .lista-numerada li { grid-template-columns: 2rem minmax(0, 1fr); gap: var(--esp-3); }
  .escalada-caso { padding-left: var(--esp-4); }
  .escalada-caso > li, .escalada-caso__passo { padding-bottom: var(--esp-5); }
  .nota { padding-left: var(--esp-4); }

  .tabela-dica { display: block; border-left: 3px solid var(--cor-marca); padding: var(--esp-2) var(--esp-3); background: var(--cor-papel); }
  .tabela-rolagem--empilha { overflow: visible; }
  .tabela-rolagem .tabela--empilha { min-width: 0; }
  .tabela--empilha tbody { display: grid; gap: var(--esp-3); }
  .tabela--empilha tbody tr {
    margin: 0; padding: var(--esp-4); background: var(--cor-papel);
    border: 1px solid var(--cor-filete); border-top: 3px solid var(--cor-marca);
    border-radius: 10px; box-shadow: 0 7px 20px rgba(7, 17, 31, .055);
  }
  .tabela--empilha tbody tr:last-child { border-bottom: 1px solid var(--cor-filete); border-top-color: var(--cor-acento); }
  .tabela--empilha tbody th[scope="row"] { position: static; left: auto; margin-bottom: var(--esp-3); padding: 0 0 var(--esp-3); background: transparent; border-bottom: 1px solid var(--cor-filete); }
  .tabela--empilha tbody td { padding: var(--esp-2) 0; text-align: left; white-space: normal; }
  .tabela--empilha tbody td::before { margin-bottom: 2px; }
  .tabela--empilha tfoot { margin-top: var(--esp-4); }
  .tabela--empilha tfoot td { padding-right: 0; }

  .chamada-final { padding: 3rem 0; }
  .chamada-final h2 { margin-bottom: var(--esp-3); }
  .chamada-final .lead { margin-bottom: var(--esp-5); }

  mark.pendente { overflow-wrap: anywhere; font-size: .75rem; }
  mark.pendente--bloco { padding: var(--esp-3); margin: var(--esp-3) 0; }
  .campo { margin-bottom: var(--esp-4); }
  .campo textarea { min-height: 7.5rem; }

  .rodape { padding: 2.75rem 0 var(--esp-5); font-size: .875rem; }
  .rodape__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--esp-6) var(--esp-4); padding-bottom: var(--esp-6); }
  .rodape__marca, .rodape__acessos { grid-column: 1 / -1; }
  .rodape__marca .marca { margin-bottom: var(--esp-3); }
  .rodape__marca p { line-height: 1.55; }
  .rodape .versalete { margin-bottom: var(--esp-3); }
  .rodape li { margin: 0; }
  /* Alvos de toque de 44 px (W19). */
  .rodape li a { display: block; padding: .75rem 0; line-height: 1.45; }
  /* Empresa ocupa a fileira inteira, com a lista em duas colunas alinhadas às de cima. */
  .rodape__grade > nav:last-child { grid-column: 1 / -1; }
  .rodape__grade > nav:last-child ul { columns: 2; column-gap: var(--esp-4); }
  .rodape__grade > nav:last-child li { break-inside: avoid; }
  .rodape__acessos p { margin-bottom: var(--esp-2); }
  .rodape__institucional { padding-top: var(--esp-4); line-height: 1.6; }
  .rodape__institucional .sep { display: none; }
  /* Nome e cidade continuam separados na mesma linha. */
  .rodape__institucional .sep:first-of-type { display: inline; }
  .rodape__institucional mark.pendente { display: block; margin-top: var(--esp-3); }
  .rodape__institucional > a:not(.rodape__topo) { display: block; width: fit-content; margin-top: var(--esp-2); padding-block: .7rem; }
  .rodape__topo { width: fit-content; margin-top: var(--esp-2); padding-block: .7rem; }

  .faixa-rascunho { padding: 7px var(--margem-pagina); font-size: .75rem; line-height: 1.35; text-align: left; }
  .erro-404 { padding: 3.5rem 0; }
}

@media (max-width: 360px) {
  :root { --margem-pagina: 1rem; }
  .topo__env { gap: var(--esp-2); }
  .topo .marca { gap: 7px; }
  .topo .marca__micro { width: 30px; height: 30px; }
  .secao, .chamada-final { padding: 2.5rem 0; }
  .secao--compacta { padding: 2.25rem 0; }
  .heroi, .heroi--pagina { padding: 2rem 0 2.5rem; }
  .heroi:not(.heroi--pagina) { padding-top: 1.75rem; }
  .card, .card--destaque, .sup-prova .card, .caixa-prova { padding: var(--esp-4); }
}

/* ============================================================================
   PÁGINA 404 e utilitários
   ========================================================================== */
.erro-404 { padding: clamp(5rem, 12vw, 10rem) 0; }
.oculto { display: none !important; }

@media print {
  .topo, .rodape, .topo__instagram, .nav-alternar, .pular, .chamada-final { display: none !important; }
  body { background: #fff; color: #000; font-size: 11pt; }
  a { color: #000; }
  .heroi, .sup-prova, .secao--editorial-escura, .blueprint-metodo, .blueprint-metodo__menu {
    border-color: #000;
    background: #fff !important;
    box-shadow: none;
    color: #000;
  }
  .heroi::before, .heroi::after { display: none; }
  .heroi h1, .heroi .lead, .heroi .versalete, .heroi .link-seta,
  .sup-prova h1, .sup-prova h2, .sup-prova h3, .sup-prova p, .sup-prova li,
  .sup-prova .versalete, .sup-prova .hash, .hash__elipse,
  .secao--editorial-escura h1, .secao--editorial-escura h2,
  .secao--editorial-escura h3, .secao--editorial-escura p,
  .secao--editorial-escura li, .secao--editorial-escura .versalete,
  .secao--editorial-escura .principio-governanca > span,
  .blueprint-metodo figcaption, .blueprint-metodo__abas span,
  .blueprint-metodo__menu p, .blueprint-metodo__menu li { color: #000 !important; }
  .blueprint-metodo, .blueprint-metodo *, .secao--editorial-escura * { border-color: #666 !important; }
}

/* W9 — experiências e conexões. Geometria documental, conteúdo progressivo. */
.experiencias { background: #edf2fa; padding: 3.5rem 0 0; }
.x-env { max-width: 90rem; }
.x-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.8rem; }
.x-heading h1 { font-size: clamp(2rem, 4vw, 3.65rem); letter-spacing: -.055em; line-height: 1.08; margin: .65rem 0 0; }
.x-heading h1 span { color: #2858c9; }
.x-heading > p { color: #455671; max-width: 23rem; font-size: 1rem; }
.x-eyebrow { font: 500 .75rem/1.6 "IBM Plex Mono", monospace; letter-spacing: .09em; margin: 0 0 .75rem; }
.x-disclosure { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem .5rem; font-size: .82rem; color: #435470; padding: .9rem 0; border-top: 1px solid #c9d4e7; }
.x-dot { width: .45rem; height: .45rem; background: #2460d9; border-radius: 50%; display: inline-block; flex-shrink: 0; }
.x-tabs { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #bac9de; border-radius: .8rem .8rem 0 0; overflow: hidden; }
.x-tabs a { display: grid; grid-template-columns: 2.2rem 1fr; column-gap: .55rem; padding: 1.2rem 1.5rem; background: #e3eaf6; color: #344863; text-decoration: none; border-right: 1px solid #bac9de; position: relative; }
.x-tabs a:last-child { border: 0; }
.x-tabs a > span { grid-row: span 2; color: #3260b4; font: 400 1rem "IBM Plex Mono", monospace; }
.x-tabs strong { font-size: 1rem; }
.x-tabs small { font-size: .8rem; margin-top: .25rem; }
.x-tabs a[aria-selected="true"] { background: #071322; color: #fff; border-color: #071322; }
.x-tabs a[aria-selected="true"] > span { color: #7bdfff; }
.x-tabs a[aria-selected="true"]::after { content: ""; position: absolute; bottom: 0; left: 1.5rem; right: 1.5rem; height: 2px; background: #70ddff; }
.x-panel { background: #071322; color: #e9f1ff; padding: 2rem; margin-bottom: 1rem; scroll-margin-top: 6rem; border-radius: 0 0 .8rem .8rem; }
.x-panel[hidden], .experiencias [hidden] { display: none; }
.x-panel h2, .x-panel h3, .x-panel h4 { color: inherit; }
.x-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.x-panel-heading h2 { font-size: clamp(1.6rem, 2.7vw, 2.5rem); line-height: 1.12; letter-spacing: -.04em; margin: 0; }
.x-panel-heading p:not(.x-eyebrow) { color: #aebed6; margin: .8rem 0 0; }
.x-panel .x-eyebrow { color: #83d8f9; }
.x-text-button { border: 0; color: #b6c9e6; background: transparent; font: inherit; font-size: .85rem; cursor: pointer; padding: .8rem .25rem; }
.x-text-button span { margin-left: .75rem; }
.x-intro { display: grid; grid-template-columns: 1.05fr 1fr; border: 1px solid #2c4564; border-radius: .5rem; overflow: hidden; }
.x-company { color: #122747; padding: 2.4rem 2.8rem; background: radial-gradient(ellipse at 90% 0, #dce7ff, transparent 65%), #f3f7ff; }
.x-company-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.8rem; }
.x-company-monogram { display: grid; place-items: center; border: 1px solid #bccde8; width: 3.3rem; height: 3.3rem; border-radius: 50%; font-size: 1.6rem; font-weight: 700; }
.x-chip { font: 500 .7rem/1.5 "IBM Plex Mono", monospace; letter-spacing: .04em; border: 1px solid currentColor; padding: .25rem .6rem; border-radius: 2rem; white-space: nowrap; }
.x-company .x-eyebrow { color: #49638b; }
.x-company h3 { color: #142e55; font-size: 2.5rem; letter-spacing: -.05em; margin: 0 0 .6rem; }
.x-company-line { font-size: 1.1rem; color: #49607e; line-height: 1.6; }
.x-company dl { margin: 1.7rem 0 1.1rem; }
.x-company dl > div { border-top: 1px solid #cfdaeb; display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; font-size: .85rem; }
.x-company dt { color: #4a617e; }
.x-company dd { margin: 0; text-align: right; font-weight: 600; }
.x-company-foot { font: 400 .72rem/1.6 "IBM Plex Mono", monospace; color: #526888; margin-bottom: 0; }
.x-first-choice { padding: 2.4rem 2.8rem; background: radial-gradient(circle at 100% 0, #183a68, transparent 66%); border-top:3px solid #38e8ff; }
.x-start-badge { display:inline-block; margin:0 0 1.5rem; padding:.5rem .75rem; border-radius:.25rem; background:#38e8ff; color:#081525; font:600 .75rem/1.4 "IBM Plex Mono",monospace; letter-spacing:.05em; }
.x-start-instruction { display:none; }
.experiencias.x-ready .x-start-instruction { display:block; }
.x-orbit-mark { display: block; font: 400 .8rem "IBM Plex Mono", monospace; color: #6ed5fa; margin-bottom: 2rem; }
.x-first-choice h3 { font-size: clamp(1.6rem, 2.4vw, 2.4rem); line-height: 1.2; letter-spacing: -.04em; margin: 0 0 1rem; }
.x-first-choice > p { color: #aebed6; }
.x-choice-list { gap: .55rem; flex-direction: column; margin: 1.5rem 0; }
.x-choice-list button { display: flex; justify-content: space-between; align-items: center; gap:1rem; min-height:64px; border: 1px solid #557caa; border-radius: .5rem; padding: 1rem; color: #f1f7ff; background: #15345c; cursor: pointer; font: 600 1rem "Public Sans", sans-serif; text-align: left; transition: border-color .2s, background .2s, transform .2s; }
.x-choice-list button:hover,.x-choice-list button:focus-visible { border-color: #6fd9ff; background: #204e86; transform: translateX(4px); }
.x-choice-start { display:inline-flex; align-items:center; gap:.5rem; flex-shrink:0; color:#8ee5f0; font-size:.8rem; }
.x-choice-start > span { font-size:1.2rem; }
.x-small { font-size: .8rem; color: #aabbd3; line-height: 1.6; }
.x-discovery-top, .x-discovery-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.x-discovery-top { margin-bottom: 1.1rem; }
.x-discovery-top p { margin: 0; color: #c5d4e9; font-size: .9rem; max-width: 38rem; }
.x-counter { color: #85def9; font: 400 .75rem/1.6 "IBM Plex Mono", monospace; white-space: nowrap; }
.x-workspace { display: grid; grid-template-columns: 1.8fr 1fr; border: 1px solid #294564; border-radius: .5rem; overflow: hidden; }
.x-map-wrap { background: #071523; min-width: 0; }
.x-map-label, .x-map-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.2rem; font: 400 .7rem/1.5 "IBM Plex Mono", monospace; color: #a6bad5; }
.x-map-label { border-bottom: 1px solid #223c59; }
.x-map-label > span:first-child { color: #77d5fb; letter-spacing: .09em; }
.x-map-footer { border-top: 1px solid #223c59; }
.x-map-key { display: flex; align-items: center; gap: .5rem; }
.x-map-key i { width: 1.2rem; height: 1px; background: #6194c7; }
.x-graph-toolbar { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: .7rem 1rem; }
.x-graph-toolbar p { font-size: .75rem; color: #b2c4df; margin: 0; }
.x-graph-toolbar > div { display: flex; gap: .3rem; }
.x-graph-toolbar button { color: #cdeaff; background: #0f2944; border: 1px solid #355777; border-radius: .25rem; min-width: 2.3rem; min-height: 2.3rem; padding: .3rem .5rem; font: 400 .78rem "Public Sans", sans-serif; cursor: pointer; }
.x-graph-toolbar button:disabled { opacity: .55; cursor: default; }
.x-graph-viewport { overflow: auto; scrollbar-color: #416c9e #081826; }
.x-constellation { display: block; width: 100%; min-width: 530px; height: auto; overflow: visible; }
.x-orbits ellipse { stroke: #284261; stroke-width: 1; stroke-dasharray: 2 9; fill: none; }
.x-edge-hit { fill: none; stroke: transparent; stroke-width: 22; }
.x-edge-line { fill: none; stroke: #4c719b; stroke-width: 1.4; transition: stroke .25s, opacity .25s; }
.x-edges a text { font: 400 11px "IBM Plex Mono", monospace; fill: #c1d4eb; text-anchor: middle; paint-order: stroke; stroke: #071523; stroke-width: 6; stroke-linejoin: round; }
.x-edges a { cursor: pointer; }
.x-edges a:hover .x-edge-line, .x-edges a:focus .x-edge-line, .x-edges a.is-active .x-edge-line { stroke: #79e1ff; stroke-width: 3; }
.x-edge--comparison .x-edge-line { stroke-dasharray: 4 7; stroke: #9a9fba; }
.x-edge--discarded .x-edge-line { opacity: .3; stroke-dasharray: 2 12; }
.x-edge--discarded text { fill: #b1d9ce; }
.x-particles circle { fill: #87e3ff; pointer-events: none; }
.x-stars a { cursor: grab; touch-action: none; }
.x-stars a:active { cursor: grabbing; }
.x-star-halo { fill: #122b47; fill-opacity: .45; stroke: #305d8e; stroke-width: 1; }
.x-star-core { fill: #17468b; stroke: #75cfff; stroke-width: 1.2; }
.x-stars a[data-x-star="aurora"] .x-star-core { fill: #2965ef; }
.x-star-symbol { font: 600 20px "Public Sans", sans-serif; text-anchor: middle; fill: #fff; pointer-events: none; }
.x-star-symbol--doc { font: 500 11px "IBM Plex Mono", monospace; }
.x-star-label { font: 600 15px "Public Sans", sans-serif; text-anchor: middle; fill: #edf7ff; pointer-events: none; }
.x-star-sub { font: 400 10px "IBM Plex Mono", monospace; text-anchor: middle; fill: #a8c3e4; pointer-events: none; }
.x-stars a:hover .x-star-halo, .x-stars a:focus .x-star-halo, .x-stars a.is-active .x-star-halo { stroke: #92e9ff; fill: #205287; fill-opacity: .65; }
.x-stars a:focus { outline: none; }
.x-stars a:focus .x-star-core { stroke-width: 3; stroke: #fff; }
.x-star--comparison .x-star-core { fill: #2f3555; stroke: #abaac6; }
.x-star--discarded .x-star-core { fill: #153d3e; stroke: #9adbcc; }
.x-node-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4rem; padding: .7rem; }
.x-node-list button { padding: .65rem .35rem; color: #bccee6; border: 1px solid #36506e; border-radius: .2rem; font: 400 .7rem "IBM Plex Mono", monospace; background: #102138; cursor: pointer; }
.x-node-list button[aria-pressed="true"] { border-color: #79dbff; color: #b5eeff; background: #193451; }
.x-node-list button.is-visited span { color: #91e7ce; }
.x-inspector { padding: 1.8rem; background: #f4f7fe; color: #213652; }
.x-inspector .x-eyebrow { color: #3860a2; }
.x-inspector h3 { color: #112d54; font-size: 1.7rem; line-height: 1.2; letter-spacing: -.035em; margin: .8rem 0 1.1rem; }
.x-inspector > p:not(.x-eyebrow) { color: #465d7b; font-size: .95rem; line-height: 1.65; }
.x-inspector blockquote, .x-answer blockquote { margin: 1.25rem 0; padding: .25rem 0 .25rem 1rem; border-left: 2px solid #3f72dc; font-size: .95rem; color: #233d61; line-height: 1.65; }
.x-inspector .x-inspector-note { font-size: .85rem; border-top: 1px solid #cfdbea; padding-top: 1rem; }
.x-source { color: #2155b1; font-size: .85rem; font-weight: 600; text-underline-offset: 4px; }
.x-clue-questions, .x-questions { display: flex; flex-wrap: wrap; gap: .45rem; }
.x-clue-questions button, .x-questions button { color: #375275; background: transparent; border: 1px solid #aec1de; padding: .5rem .65rem; border-radius: 1.5rem; cursor: pointer; font: 500 .78rem "Public Sans", sans-serif; }
.x-clue-questions button[aria-pressed="true"], .x-questions button[aria-pressed="true"] { color: #fff; background: #2258c2; border-color: #2258c2; }
.x-discovery-bottom { margin-top: 1.2rem; }
.x-button { display: inline-flex; justify-content: center; align-items: center; gap: 1rem; background: #2c62de; color: #fff; padding: .85rem 1.2rem; border: 1px solid #6588e0; border-radius: .3rem; font: 600 .9rem/1.4 "Public Sans", sans-serif; text-decoration: none; cursor: pointer; transition: background .2s; }
.x-button:hover { background: #255ad2; color: #fff; }
.x-button:disabled { background: #203550; color: #a0b2cc; border-color: #38506f; cursor: default; }
.x-synthesis { margin-top: 2rem; padding: 2rem; background: #102840; border: 1px solid #365d7e; border-radius: .5rem; }
.x-synthesis h3 { font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.15; letter-spacing: -.035em; }
.x-findings { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 1.5rem 0 2rem; }
.x-findings article { border-top: 1px solid #4d6b8c; padding-top: 1rem; }
.x-findings article > span { font: 400 .7rem "IBM Plex Mono", monospace; color: #8edcff; }
.x-findings h4 { font-size: 1.1rem; margin: .8rem 0; }
.x-findings p { color: #bacbe0; font-size: .9rem; line-height: 1.6; margin: 0; }
.x-version { color: #abcae9; font: 400 .7rem/1.6 "IBM Plex Mono", monospace; border: 1px solid #375775; padding: .5rem .75rem; border-radius: .25rem; }
.x-method-note { color: #b5c6df; font-size: .82rem; border-left: 2px solid #557ba5; padding-left: 1rem; margin: 0 0 1.5rem; }
.x-dossier { display: grid; grid-template-columns: 1fr 1.25fr; gap: 1.5rem; }
.x-claims > .x-eyebrow { color: #9db4d3; }
.x-claim { grid-template-columns: 1.5rem 1fr 1rem; gap: .7rem; text-align: left; width: 100%; background: #10253f; border: 1px solid #304b6d; border-radius: .3rem; color: #f0f5ff; padding: 1.05rem; margin-bottom: .65rem; font: inherit; cursor: pointer; }
.x-claim[aria-pressed="true"] { border-color: #7fd8ff; background: #19395f; }
.x-claim-number { color: #88cbee; font: 400 .8rem "IBM Plex Mono", monospace; }
.x-claim small { display: block; color: #acc7e3; font: 400 .65rem/1.5 "IBM Plex Mono", monospace; margin-bottom: .45rem; }
.x-claim strong { display: block; font-size: 1.05rem; line-height: 1.4; }
.x-claim em { display: block; margin-top: .5rem; font: 400 .75rem "IBM Plex Mono", monospace; color: #91bbdd; }
.x-new-evidence { margin-top: 1.4rem; border: 1px dashed #527295; padding: 1.3rem; border-radius: .35rem; }
.x-new-evidence h3 { font-size: 1.2rem; margin: .65rem 0; }
.x-new-evidence p { font-size: .9rem; color: #b7cae2; }
.x-new-evidence .x-small { margin-bottom: 0; font-size: .78rem; }
.x-answer { display: flex; flex-direction: column; padding: 1.8rem; background: #f2f6fd; color: #28415f; border-radius: .4rem; }
.x-answer-head { display: flex; justify-content: space-between; align-items: center; gap: .6rem; }
.x-answer .x-eyebrow { color: #3c619b; margin: 0; }
.x-answer h3 { color: #19365e; font-size: clamp(1.6rem, 2.4vw, 2rem); letter-spacing: -.03em; line-height: 1.2; margin: 1.5rem 0; }
.x-answer-content { font-size: 1rem; line-height: 1.7; padding: 1rem 0; }
.x-answer-content .x-source { display: inline-block; margin: 0 0 .3rem; }
.x-answer-content blockquote { font-size: .9rem; margin: .5rem 0 1.25rem; }
.x-answer-bottom { display: flex; gap: .6rem; align-items: start; margin-top: auto; border-top: 1px solid #bdcde3; padding-top: 1rem; }
.x-answer-bottom .x-dot { margin-top: .4rem; }
.x-answer-bottom p { color: #4b6589; font-size: .82rem; margin: 0; }
.x-revision { margin-top: 1.5rem; padding: 1.5rem; background: #12313c; border: 1px solid #396b76; border-radius: .3rem; }
.x-revision h3 { font-size: 1.4rem; margin: .7rem 0 1rem; }
.x-revision ol { list-style: none; padding: 0; margin: 0; }
.x-revision li { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid #305961; font-size: .9rem; }
.x-revision p:last-child { color: #bddee1; font-size: .85rem; margin: 1rem 0 0; }
.x-panel-next { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #294763; display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; }
.x-panel-next > span { font-size: .85rem; color: #aec4df; max-width: 37rem; }
.x-panel-next a { font-size: .9rem; color: #9de4ff; text-underline-offset: 5px; }
.x-lab { display: grid; grid-template-columns: .8fr 1.45fr; gap: 1.5rem; }
.x-lab fieldset { border: 0; padding: 0; margin: 0 0 1.7rem; min-width: 0; }
.x-lab legend { font: 400 .78rem "IBM Plex Mono", monospace; color: #a6c2e0; margin-bottom: .85rem; }
.x-context label, .x-policy label { display: flex; align-items: start; gap: .8rem; padding: .9rem 1rem; background: #0e233c; border: 1px solid #355170; border-radius: .3rem; margin-bottom: .5rem; cursor: pointer; }
.x-context label:has(input:checked), .x-policy label:has(input:checked) { background: #1a3c63; border-color: #8ddfff; }
.x-lab input { accent-color: #3779f8; flex-shrink: 0; width: 1.15rem; height: 1.15rem; margin: .12rem 0 0; }
.x-lab label strong { display: block; font-size: .95rem; line-height: 1.4; }
.x-lab label small { display: block; color: #b6c9e2; margin-top: .25rem; font-size: .8rem; }
.x-evidence-check { display: flex; gap: .8rem; align-items: start; font-size: .9rem; cursor: pointer; }
.x-lab-result { border: 1px solid #517494; background: radial-gradient(ellipse at 100% 0, #204b74, transparent 75%), #10273e; border-radius: .4rem; padding: 1.8rem; }
.x-lab-result-top { display: flex; justify-content: space-between; align-items: center; gap: .8rem; }
.x-lab-result-top .x-eyebrow { margin: 0; }
.x-lab-result h3 { font-size: clamp(1.5rem, 2.4vw, 2.1rem); letter-spacing: -.035em; line-height: 1.2; margin: 1.5rem 0 1rem; }
.x-lab-summary { color: #bfd3eb; line-height: 1.6; }
.x-rule-flow > div { display: flex; gap: 1.1rem; padding: 1.1rem 0; border-top: 1px solid #355371; }
.x-rule-flow > div > span { display: grid; place-items: center; align-self: start; flex-shrink: 0; width: 2rem; height: 2rem; border-radius: 50%; border: 1px solid #7cadd8; font: 400 .7rem "IBM Plex Mono", monospace; color: #a3e9ff; }
.x-rule-flow h4 { font-size: .92rem; margin: 0 0 .45rem; }
.x-rule-flow p { color: #bfd0e6; font-size: .92rem; line-height: 1.65; margin: 0; }
.x-lab-reason { padding: 1.1rem; background: #082037; border-left: 2px solid #7edcff; }
.x-lab-reason strong { font-size: .9rem; color: #b9edff; }
.x-lab-reason p { margin: .5rem 0 0; font-size: .9rem; color: #b8cce6; line-height: 1.6; }
.x-lab-limit { color: #b1c6e0; font-size: .78rem; margin: 1.1rem 0 0; }
.x-rules { margin-top: 1.5rem; border: 1px solid #375572; border-radius: .3rem; }
.x-rules summary { padding: 1rem 1.2rem; font-size: .9rem; cursor: pointer; }
.x-rule-matrix { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; padding: 1.2rem; }
.x-rule-matrix article { border-top: 1px solid #3e5c77; padding-top: 1rem; }
.x-rule-matrix h3 { font-size: 1rem; margin: 0 0 .5rem; }
.x-rule-matrix p { font-size: .9rem; color: #baccdf; margin: 0; line-height: 1.6; }
.x-ask { grid-template-columns: .8fr 1.2fr; gap: 2rem; padding: 2rem; margin: 1.5rem 0; background: #dce7f8; border: 1px solid #b5c9e5; border-radius: .6rem; }
.x-ask .x-eyebrow { color: #42608e; }
.x-ask h2 { font-size: 1.7rem; letter-spacing: -.04em; line-height: 1.15; color: #213b63; margin: .5rem 0 .8rem; }
.x-ask p { font-size: .88rem; color: #485f7d; line-height: 1.6; margin: 0; }
.x-ask form label { font-size: .83rem; color: #304966; display: block; margin-bottom: .6rem; }
.x-ask-input { display: flex; gap: .5rem; }
.x-ask-input input { width: 100%; min-width: 0; color: #183a69; background: #f9fbff; border: 1px solid #879fc5; border-radius: .3rem; padding: .8rem; font: 400 1rem "Public Sans", sans-serif; }
.x-ask-input input::placeholder { color: #596d89; }
.x-ask-input .x-button { flex-shrink: 0; }
.x-suggested { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .7rem; }
.x-suggested button { background: transparent; color: #315b94; padding: .5rem .6rem; font: 400 .78rem "Public Sans", sans-serif; border: 1px solid #8ea9ce; border-radius: 1rem; cursor: pointer; }
.x-ask-result { margin-top: 1rem; padding: 1rem; background: #f5f8fe; border-left: 2px solid #2d65d5; }
.x-ask-result h3 { font-size: 1rem; color: #1c3a63; margin: 0 0 .7rem; }
.x-ask-result .x-source { display: inline-block; margin: .75rem .7rem 0 0; }
.x-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.x-documents { background: #f5f8fe; border: 1px solid #bccde5; border-radius: .5rem; margin: 1.5rem 0 0; scroll-margin-top: 6rem; }
.x-documents > summary { padding: 1.3rem 1.5rem; cursor: pointer; color: #274a7b; }
.x-documents > summary > span:first-child { font-weight: 600; margin-right: 1.5rem; }
.x-documents > summary > span:last-child { font-size: .85rem; }
/* Resumo sem descrição (Alertas da análise): mesmo peso do título de Documentos. */
.x-documents > summary:not(:has(> span)) { font-weight: 600; }
.x-document-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1.7rem; padding: 1.5rem; }
.x-document-list article { padding: 1.5rem; border: 1px solid #c6d4e8; background: #fff; scroll-margin-top: 6rem; }
.x-document-list article:last-child { grid-column: 1 / -1; }
.x-document-list h2 { font-size: 1.25rem; color: #203f6c; margin: .8rem 0; }
.x-document-list .x-eyebrow { color: #46649a; }
.x-document-list blockquote { font-size: 1rem; line-height: 1.7; margin: 1rem 0; padding-left: 1rem; border-left: 2px solid #7296d2; color: #314d72; }
.x-document-list article > p:last-child { font-size: .8rem; color: #596c84; margin: 0; }
.x-closing { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 3rem 0; }
.x-closing > p { font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.3; color: #345578; letter-spacing: -.035em; margin: 0; }
.x-closing strong { color: #162d4f; }
.experiencias .x-controls { display: none; }
.experiencias.x-ready .x-controls { display: inline-flex; }
.experiencias.x-ready .x-choice-list { display: flex; }
.experiencias.x-ready .x-claim { display: grid; }
.experiencias.x-ready .x-lab-controls { display: block; }
.experiencias.x-ready .x-ask { display: grid; }
.experiencias.x-ready .x-static { display: none; }
.experiencias:not(.x-ready) .x-dossier, .experiencias:not(.x-ready) .x-lab { grid-template-columns: 1fr; }
.experiencias a:focus-visible, .experiencias button:focus-visible, .experiencias input:focus-visible, .experiencias summary:focus-visible { outline: 3px solid #f8ac55; outline-offset: 4px; }
@media (prefers-reduced-motion: no-preference) {
  .x-panel.is-entering, .x-discovery.is-entering, .x-synthesis.is-entering, .x-revision.is-entering { animation: x-enter .45s ease-out both; }
  .x-inspector.is-updated, .x-answer-content.is-updated, .x-lab-result.is-updated { animation: x-enter .3s ease-out both; }
  @keyframes x-enter { from { opacity: .3; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width: 1050px) {
  .x-workspace { grid-template-columns: 1.45fr 1fr; }
  .x-panel { padding: 1.4rem; }
  .x-inspector { padding: 1.25rem; }
  .x-company, .x-first-choice { padding: 2rem; }
  .x-tabs a { padding: 1rem; }
}
@media (max-width: 780px) {
  .x-heading { display: block; }
  .x-heading > p { margin: 1rem 0 0; max-width: none; }
  .x-tabs a { display: flex; flex-direction: column; gap: .45rem; padding: .9rem .7rem; }
  .x-tabs strong { font-size: .85rem; }
  .x-tabs small { display: none; }
  .x-tabs a > span { font-size: .75rem; }
  .x-intro, .x-workspace, .x-dossier, .x-lab { grid-template-columns: 1fr; }
  .x-company, .x-first-choice { padding: 1.5rem; }
  .x-company-top { margin-bottom: 1.2rem; }
  .x-first-choice h3 br { display: none; }
  .x-orbit-mark { margin-bottom: 1rem; }
  .x-inspector { border-top: 1px solid #405a7c; }
  .x-panel-heading { align-items: start; flex-direction: column; }
  .x-findings { grid-template-columns: 1fr; gap: 1rem; }
  .x-discovery-top, .x-discovery-bottom, .x-panel-next { align-items: start; flex-direction: column; }
  .x-synthesis { padding: 1.3rem; }
  .experiencias.x-ready .x-ask { grid-template-columns: 1fr; gap: 1rem; padding: 1.3rem; }
  .x-rule-matrix, .x-document-list { grid-template-columns: 1fr; }
  .x-revision li { flex-direction: column; gap: .4rem; }
  .x-closing { align-items: start; flex-direction: column; gap: 1.3rem; }
  .x-lab fieldset { margin-bottom: 1rem; }
  .x-context, .x-policy { display: grid; gap: .35rem; }
  .x-context label, .x-policy label { margin: 0; }
}
@media (max-width: 450px) {
  .experiencias { padding-top: 2rem; }
  .x-env { padding-inline: 1rem; }
  .x-panel { padding: 1rem; }
  .x-tabs a { padding: .8rem .6rem; }
  .x-heading h1 { font-size: 2rem; }
  .x-disclosure { font-size: .75rem; }
  .x-company, .x-first-choice, .x-answer, .x-lab-result { padding: 1.2rem; }
  .x-company h3 { font-size: 2rem; }
  .x-company dl > div { flex-direction: column; gap: .2rem; }
  .x-company dd { text-align: left; }
  .x-node-list { grid-template-columns: 1fr 1fr; }
  .x-ask-input { flex-direction: column; }
  .x-document-list { padding: 1rem; }
  .x-document-list article { padding: 1rem; }
  /* O marcador fica na linha do título; só a descrição desce (auditoria 15k). */
  .x-documents > summary > span:first-child { display: inline; margin: 0; }
  .x-documents > summary > span:last-child { display: block; margin: .35rem 0 0; }
  .x-lab-result-top { align-items: start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .experiencias *, .experiencias *::before, .experiencias *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}


/* Uma linguagem conectada em todo o site, com superfícies de leitura estáveis. */
.site-conectado .topo { border-bottom: 1px solid #284760; background: var(--cor-fundo-escuro); }
.site-conectado .heroi { background: radial-gradient(ellipse at 76% 36%, #123251 0, transparent 52%), var(--cor-fundo-escuro); }
/* Os pontos do .heroi::before (vazio desde a raia FUNDO), a tela .heroi__estrelas e o
   .has-starfield saíram: as estrelas são as do fundo de espaço (fundo-espaco.css, FM-10). */
.site-conectado .heroi::after { opacity: .35; border-color: #476e9c; border-radius: 50%; transform: rotate(-18deg); }
.site-conectado .heroi--pagina .env::after { border-radius: 50%; border-color: #5585b2; box-shadow: 0 0 0 2rem #1e41622b, 0 0 0 4rem #1e416216; }
.site-conectado .secao::after { width: 7px; height: 7px; border-radius: 50%; box-shadow: 0 0 0 5px #0b5ce80e; }
.site-conectado .card { transition: border-color .2s, box-shadow .2s, transform .2s; }
.site-conectado .card:focus-within { border-color: #376ddb; box-shadow: 0 8px 30px #144fac13; }
/* W19 (V10): um botão só em todo o site: canto de 12 px, como as chamadas .v-cta, e peso 600. */
.site-conectado .botao { border-radius: 12px; font-weight: 600; }
.universe-js { display: none; }
.universe-ready .universe-js { display: inline-flex; }
.universo { background: #040e1b; color: #eff6ff; padding: 4rem 0 2.7rem; border-top: 1px solid #28435f; border-bottom: 1px solid #28435f; position: relative; overflow: hidden; scroll-margin-top: 5rem; }
.universo__env { max-width: 90rem; }
.universo__cabeca { display: flex; justify-content: space-between; align-items: end; gap: 2rem; position: relative; z-index: 1; }
.universo .versalete { color: #91d7ff; }
.universo__cabeca h2 { color: #f2f7ff; font-size: clamp(2rem, 4.5vw, 4.3rem); line-height: 1.05; letter-spacing: -.055em; margin: 1rem 0; }
.universo__cabeca h2 em { color: #b7d3fa; font-style: normal; }
.universo__cabeca p { color: #b1c5df; font-size: .95rem; max-width: 21rem; margin-bottom: 1.2rem; }
.universo__palco { height: 37rem; position: relative; margin: 1rem 0 0; border: 1px solid #1e3954; border-radius: 1rem; background: radial-gradient(ellipse at 50% 48%, #15375c33, transparent 65%); overflow: hidden; }
.universo__canvas { width: 100%; height: 100%; position: absolute; inset: 0; touch-action: inherit; }
.universo__caption { position: absolute; inset: 1.3rem 1.5rem auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #b4c7df; pointer-events: none; font: 400 .7rem/1.5 "IBM Plex Mono", monospace; letter-spacing: .06em; }
.universo__caption > span:first-child { color: #88bfe8; }
.universo__nodes { position: absolute; inset: 3.5rem 2rem 4.8rem; pointer-events: none; }
.universo__node { pointer-events: auto; position: absolute; display: flex; flex-direction: column; align-items: center; gap: .5rem; text-decoration: none; color: #c4daee; transform: translate(-50%,-50%); font: 500 .8rem "Public Sans", sans-serif; text-align: center; padding: 1rem; border-radius: 1rem; min-width: 5rem; cursor: pointer; }
.universo__node strong { background: #071222ce; border-radius: .3rem; padding: .25rem .45rem; font-weight: 500; }
.universo__node-dot { width: .65rem; height: .65rem; border-radius: 50%; border: 1px solid #acddff; background: #4b91db; box-shadow: 0 0 12px #65b8ff, 0 0 30px #2678c95e, 0 0 0 8px #2c5c8533; transition: box-shadow .3s, background .3s; }
.universo__node--0 { left: 50%; top: 48%; color: #fff; font-size: 1rem; }
.universo__node--0 .universo__node-dot { width: 1.3rem; height: 1.3rem; background: #e4faff; box-shadow: 0 0 30px #77cdff, 0 0 70px #47a5ff, 0 0 0 14px #4a8dcc26, 0 0 0 28px #4a8dcc12; }
.universo__node--1 { left: 23%; top: 27%; }
.universo__node--2 { left: 51%; top: 8%; }
.universo__node--3 { left: 80%; top: 23%; }
.universo__node--4 { left: 85%; top: 64%; }
.universo__node--5 { left: 62%; top: 88%; }
.universo__node--6 { left: 34%; top: 84%; }
.universo__node--7 { left: 13%; top: 60%; }
.universo__node--8 { left: 66%; top: 49%; }
.universo__node:hover, .universo__node:focus-visible, .universo__node.is-selected { color: #fff; }
.universo__node:hover .universo__node-dot, .universo__node:focus-visible .universo__node-dot, .universo__node.is-selected .universo__node-dot { background: #efffff; box-shadow: 0 0 15px #b3ecff, 0 0 40px #5397ff, 0 0 0 12px #386f9944; }
.universo__bottom { position: absolute; inset: auto 1.3rem 1.1rem; display: flex; gap: .5rem; align-items: center; }
.universo__bottom button { align-items: center; color: #cae7ff; background: #0b223b; border: 1px solid #42688c; border-radius: 2rem; font: 400 .78rem "Public Sans", sans-serif; padding: .6rem 1rem; cursor: pointer; }
.universo__bottom button:disabled { opacity: .7; cursor: default; }
.universo__bottom p { color: #a1b9d2; font-size: .7rem; margin: 0 0 0 auto; }
.universo__insight { display: flex; gap: 2rem; align-items: center; justify-content: space-between; padding: 1.8rem 0 0; }
.universo__insight h3 { color: #eaf4ff; font-size: 1.7rem; letter-spacing: -.04em; margin: .7rem 0; }
.universo__insight p { color: #adc6e0; font-size: .95rem; margin: 0; max-width: 44rem; }
.universo__insight > a { flex-shrink: 0; }
.conexoes-pagina { padding: 3.5rem 0; background: radial-gradient(ellipse at 20% 110%, #17406a, transparent 65%), #091725; color: #eaf4ff; border-top: 1px solid #37516e; }
.conexoes-pagina__heading { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.conexoes-pagina .versalete { color: #8ad9f6; }
.conexoes-pagina h2 { color: #eff7ff; font-size: clamp(1.5rem, 3vw, 2.3rem); letter-spacing: -.04em; margin: .7rem 0 1.5rem; }
.conexoes-pagina__heading > button { color: #9bdbff; border: 1px solid #4a6b8a; background: #122d49; padding: .75rem 1rem; border-radius: .3rem; font: 400 .85rem "Public Sans", sans-serif; gap: .75rem; cursor: pointer; }
.conexoes-pagina__links { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; position: relative; }
.conexao-link { display: grid; grid-template-columns: 1fr auto; gap: .6rem 1rem; padding: 1.4rem 1.5rem; border: 1px solid #456180; border-radius: .4rem; text-decoration: none; color: #f0f6ff; position: relative; background: #0e2238; transition: border-color .2s, background .2s; }
.conexao-link::before { content: ""; position: absolute; left: -.3rem; top: 1.85rem; height: .5rem; width: .5rem; border-radius: 50%; background: #92ddff; box-shadow: 0 0 15px #87cfff66; }
.conexao-link > span:first-child { font-size: 1.2rem; font-weight: 600; letter-spacing: -.025em; }
.conexao-link > span:nth-child(2) { color: #9bd9ff; }
.conexao-link small { grid-column: 1 / -1; color: #b9cfe6; font-size: .9rem; line-height: 1.6; }
.conexao-link:hover { background: #173654; border-color: #8abfe5; color: #fff; }
.conexao-launcher { position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 45; align-items: center; gap: .5rem; padding: .65rem 1rem; background: #0c2540; color: #d4f1ff; border: 1px solid #7db5de; border-radius: 2rem; box-shadow: 0 8px 26px #03142738; font: 500 .8rem "Public Sans", sans-serif; cursor: pointer; }
.conexao-launcher > span { font-size: 1.3rem; }
.conexao-dialog { width: min(68rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); padding: 2rem; color: #eff7ff; background: radial-gradient(ellipse at 95% 5%, #163b5e, transparent 65%), #091727; border: 1px solid #547a9c; border-radius: .8rem; box-shadow: 0 30px 120px #0008; overscroll-behavior: contain; }
.conexao-dialog::backdrop { background: #020b17d9; backdrop-filter: blur(8px); }
.conexao-dialog__topo { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.conexao-dialog__topo .versalete { color: #9bdcfa; }
.conexao-dialog h2 { font-size: clamp(1.5rem, 3vw, 2.4rem); color: #f1f7ff; letter-spacing: -.04em; margin: .8rem 0; }
.conexao-dialog__topo button { flex-shrink: 0; width: 2.5rem; height: 2.5rem; background: #17334f; border: 1px solid #55799b; border-radius: 50%; color: #e6f6ff; font-size: 1.6rem; cursor: pointer; }
.conexao-dialog__where { color: #a9c9e2; font-size: .85rem; margin: .6rem 0 1.5rem; }
.conexao-dialog__links { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; }
.conexao-dialog .conexao-link { padding: 1rem; }
.conexao-dialog .conexao-link > span:first-child { font-size: 1rem; }
.conexao-dialog .conexao-link small { font-size: .82rem; }
.conexao-dialog .conexao-link[aria-current="page"] { border-color: #a0e3ff; background: #22425f; }
.conexao-dialog__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; }
.conexao-dialog__footer a { color: #a4dffd; font-size: .9rem; text-underline-offset: 4px; }
.conexao-dialog__footer p { color: #abc5df; font-size: .8rem; margin: 0; }
.site-conectado:has(.conexao-dialog[open]:not(.is-inline-map)) { overflow: hidden; }
.universe-ready .conexao-launcher { display: inline-flex; }
.universe-ready:has(.conexao-dialog[open]) .conexao-launcher { display: none; }
.universo :focus-visible, .conexoes-pagina :focus-visible, .conexao-dialog :focus-visible, .conexao-launcher:focus-visible { outline: 3px solid #ffc575; outline-offset: 4px; }
/* W19, ACS-03: nas páginas claras, o âmbar some no fundo claro; o anel dos cartões de conexão é cobalto. */
.site-clean.tema-claro .conexoes-pagina :focus-visible { outline-color: var(--cor-marca-escura); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .site-conectado .card:hover { transform: translateY(-3px); box-shadow: 0 12px 38px #164c8120; } }
@media (max-width: 780px) {
 .universo { padding-top: 2.5rem; }
 .universo__cabeca, .universo__insight { align-items: start; flex-direction: column; gap: 1rem; }
 .universo__cabeca p { max-width: 32rem; }
 .universo__palco { height: 33rem; }
 .universo__nodes { inset: 3rem .2rem 6rem; }
 .universo__node { font-size: .7rem; min-width: 0; padding: .7rem .3rem; }
 .universo__node--0 { font-size: .85rem; }
 .universo__node--1 { left: 20%; top: 25%; }
 .universo__node--3 { left: 81%; top: 22%; }
 .universo__node--4 { left: 82%; top: 62%; }
 .universo__node--6 { left: 26%; top: 88%; }
 .universo__node--7 { left: 16%; top: 62%; }
 .universo__node--8 { left: 70%; top: 44%; }
 .universo__caption { inset: .9rem .8rem auto; font-size: .62rem; }
 .universo__caption > span:last-child { display: none; }
 .universo__bottom { flex-wrap: wrap; inset: auto .8rem .8rem; }
 .universo__bottom p { flex-basis: 100%; margin: .3rem 0 0; font-size: .68rem; }
 .conexoes-pagina__heading { align-items: start; flex-direction: column; gap: .5rem; margin-bottom: 1rem; }
 .conexoes-pagina__links { grid-template-columns: 1fr; gap: 1rem; }
 .conexao-dialog { padding: 1.25rem; }
 .conexao-dialog__links { grid-template-columns: 1fr 1fr; }
 .conexao-dialog__footer { align-items: start; flex-direction: column; }
 .conexao-launcher { bottom: .6rem; right: .6rem; padding: .45rem .75rem; font-size: .75rem; }
}
@media (max-width: 450px) {
 .conexao-dialog__links { grid-template-columns: 1fr; }
 .universo__palco { height: 31rem; }
 .universo__node strong { padding-inline: .15rem; }
}
@media (prefers-reduced-motion: reduce) { .site-conectado .card, .conexao-link, .universo__node-dot { transition: none; } }

/* Contexto editorial da contratação: fatos e pendências do caso Maralto. */
.x-case-brief { display: grid; grid-template-columns: 1.6fr 1fr; gap: 2rem; align-items: center; padding: 1.6rem 1.8rem; margin: 1.5rem 0; border: 1px solid #bccde0; border-left: 3px solid #245bc5; border-radius: .4rem; background: #eef3fc; color: #283e5b; }
.x-case-brief h2 { margin: 0 0 .6rem; font-size: 1.3rem; letter-spacing: -.02em; color: #183153; }
.x-case-brief p:not(.x-eyebrow) { margin: 0; line-height: 1.65; font-size: .96rem; }
.x-case-brief .x-eyebrow { color: #355d8e; }
.x-case-brief dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 0; }
.x-case-brief dt { color: #415c7c; font-size: .76rem; margin-bottom: .5rem; }
.x-case-brief dd { margin: 0; font-weight: 700; color: #173761; font-size: 1rem; }
.x-capacity-note { border-left: 2px solid #98c2f7; background: #12283e; padding: 1.1rem 1.3rem; margin: 1.4rem 0; color: #c5d8ef; }
.x-capacity-note strong { color: #eef6ff; font-size: .95rem; }
.x-capacity-note p { margin: .5rem 0; line-height: 1.6; font-size: .9rem; }
.x-capacity-note a, .x-lab-sources a { color: #a7dfff; font-size: .85rem; text-underline-offset: .2em; }
.x-lab-sources { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1rem; }
.x-company-top { gap: 1rem; }
.x-company-top .x-chip { white-space: normal; text-align: center; }
.x-company-monogram { flex-shrink: 0; }
.x-map-label { flex-wrap: wrap; gap: .5rem; }
.x-version { white-space: normal; }
@media (max-width: 900px) { .x-case-brief { grid-template-columns: 1fr; gap: 1.2rem; } }
@media (max-width: 480px) { .x-case-brief { padding: 1.2rem; } .x-case-brief dl { grid-template-columns: 1fr; gap: .75rem; } .x-case-brief dl > div { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #cbd8e8; padding-top: .7rem; } .x-case-brief dt { margin: 0; } .x-case-brief dd { font-size: .9rem; } }

/* Imersão editorial: espaço, documentos e combinações verificáveis. */
.experiencias { background: var(--cor-fundo-escuro); color: #c5d1e2; }
.experiencias .x-heading h1 { color: #f1f5fd; }
.experiencias .x-heading h1 span { color: #a7c6f4; }
.experiencias .x-heading > p, .experiencias .x-eyebrow { color: #9db8d9; }
.experiencias .x-disclosure { background: var(--cor-fundo-escuro-elevado); color: #a9bbd3; border-color: #203149; }
.experiencias .x-case-brief { background: #091221; border-color: #253854; color: #bacbe1; }
.experiencias .x-case-brief h2, .experiencias .x-case-brief dd { color: #e5eefb; }
.experiencias .x-case-brief dt, .experiencias .x-case-brief .x-eyebrow { color: #94afce; }
.experiencias .x-tabs a { background: #0b1421; color: #afc2dd; border-color: #283b55; }
.experiencias .x-tabs a[aria-selected="true"] { background: #15243b; color: #fff; }
/* A lista de abas corta o que passa da borda: o contorno fica dentro da aba. */
.experiencias .x-tabs a:focus-visible { outline-offset: -4px; box-shadow: none; }
.experiencias .x-panel { background: #07101d; }
.experiencias .x-company { background: radial-gradient(ellipse at 100% 0, #152f4f, transparent 80%), #0b192a; color: #cad8ed; }
.experiencias .x-company h3 { color: #f0f6ff; }
.experiencias .x-company-line, .experiencias .x-company dt, .experiencias .x-company-foot, .experiencias .x-company .x-eyebrow { color: #abc0db; }
.experiencias .x-company dl > div { border-color: #304661; }
.experiencias .x-closing p, .experiencias .x-ask h2 { color: #e3edfc; }
.experiencias .x-ask { background: #0c192b; border-color: #2c415f; color: #b6c9e3; }
.experiencias .x-ask label { color: #cddbf0; }
.experiencias .x-documents { background: var(--cor-fundo-escuro-cartao); color: #bdcce0; border-color: #2c405e; }
.experiencias .x-documents summary, .experiencias .x-document-list h2 { color: #d3e4fd; }
.experiencias .x-document-list article { border-color: #2c405e; }
/* W19 (V13): documentos com o canto de 18 px dos cartões ao lado. */
.experiencias .x-documents { border-radius: 18px; }
.experiencias .x-document-list article { border-radius: 18px; }
.experiencias .x-document-list blockquote { background: #101f33; color: #d3e1f4; border-color: #6998d4; }
.experiencias .x-document-list p, .experiencias .x-document-list a { color: #aac7ea; }
.x-space-open { overflow: hidden; }
.x-immersive { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #01040a; color: #d4e0f2; overflow: hidden; }
.x-immersive[open] { display: flex; flex-direction: column; }
.x-immersive::backdrop { background: #01040a; }
.x-space-bar { flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 78px; padding: .8rem 2rem; border-bottom: 1px solid #172438; background: #03070e; }
.x-space-brand, .x-space-actions { display: flex; align-items: center; gap: 1.2rem; }
.x-space-wordmark { font: 600 .92rem "Public Sans", sans-serif; letter-spacing: .36em; color: #f0f6ff; }
.x-space-separator { color: #425875; }
.x-space-brand h2 { margin: 0; color: #a9bedb; font-size: .9rem; font-weight: 400; letter-spacing: .01em; }
.x-space-actions button, .x-synthesis-close { background: #0c1625; color: #c4d6ef; border: 1px solid #30425e; border-radius: 2rem; font: 500 .78rem "Public Sans", sans-serif; padding: .7rem 1rem; cursor: pointer; }
.x-space-actions button[aria-pressed="true"] { border-color: #8c8dff; color: #d1cfff; }
.x-immersive button:focus-visible, .x-immersive a:focus-visible { outline: 2px solid #bba6ff; outline-offset: 4px; }
.x-immersive .x-discovery { display: flex; flex: 1; flex-direction: column; min-height: 0; position: relative; }
.x-immersive .x-discovery-top { min-height: 40px; margin: 0; padding: .65rem 2rem; border-bottom: 1px solid #142035; background: #040a13; gap: 1rem; }
.x-immersive .x-discovery-top p { font-size: .8rem; color: #b2c4dc; margin: 0; }
.x-immersive .x-counter { color: #c9b7ff; white-space: nowrap; font-size: .76rem; }
.x-immersive .x-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 0; flex: 1; min-height: 0; margin: 0; }
.x-immersive .x-map-wrap { position: relative; min-width: 0; min-height: 0; border: 0; border-radius: 0; background: #01040a; overflow: hidden; }
.x-space-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.x-immersive .x-map-label { position: absolute; top: 18px; left: 26px; right: 26px; padding: 0; z-index: 2; color: #9aafca; font-size: .65rem; background: none; border: 0; pointer-events: none; }
.x-immersive .x-map-label span:last-child { color: #7490b4; }
.x-immersive .x-graph-toolbar { position: absolute; top: 44px; left: 26px; right: 26px; z-index: 3; background: transparent; padding: 0; border: 0; }
.x-immersive .x-graph-toolbar p { color: #a6bad6; font-size: .72rem; }
.x-immersive .x-graph-toolbar button { background: #06101dcf; color: #b5cbea; border-color: #2e415d; font-size: .72rem; }
.x-immersive .x-graph-viewport { position: absolute; inset: 0; height: 100%; overflow: hidden; touch-action: none; }
.x-immersive .x-constellation { width: 100%; height: 100%; min-width: 0; min-height: 0; overflow: visible; cursor: grab; background: transparent; }
.x-immersive .x-constellation:active { cursor: grabbing; }
.x-space-hit { fill: transparent; stroke: none; }
.x-immersive .x-star-halo { fill: #529cff; fill-opacity: .11; stroke: none; filter: blur(7px); }
.x-immersive .x-star-core { fill: #cceaff; stroke: #effbff; stroke-width: 1; filter: drop-shadow(0 0 6px #79bdff); }
.x-immersive .x-star-label { fill: #b8cde8; font: 500 12px "Public Sans", sans-serif; paint-order: stroke; stroke: #01040a; stroke-width: 4px; stroke-linejoin: round; text-anchor: middle; }
.x-immersive .x-star-sub { fill: #839abb; font: 400 8px "IBM Plex Mono", monospace; letter-spacing: .08em; paint-order: stroke; stroke: #01040a; stroke-width: 3px; text-anchor: middle; }
.x-immersive .x-stars a { cursor: pointer; }
.x-immersive .x-stars a:hover .x-star-core, .x-immersive .x-stars a:focus-visible .x-star-core { fill: #fff; stroke-width: 2; filter: drop-shadow(0 0 11px #77caff); }
.x-immersive .x-stars a.is-selected .x-star-core { fill: #e4d5ff; stroke: #fff; filter: drop-shadow(0 0 10px #b798ff); }
.x-immersive .x-stars a.is-selected .x-star-halo { fill: #ae8fff; fill-opacity: .34; }
.x-immersive .x-stars a.is-selected .x-star-label { fill: #e0d3ff; }
.x-immersive .x-stars a.is-selected .x-star-sub { fill: #b7a0eb; }
.x-immersive .x-edge-line { stroke: #446995; stroke-width: .65; opacity: .4; fill: none; }
.x-immersive .x-edge-hit { stroke: transparent; stroke-width: 18; fill: none; }
.x-immersive .x-edges .is-selected .x-edge-line { stroke: #a89bff; stroke-width: 1.05; opacity: .8; filter: drop-shadow(0 0 3px #8175d8); }
.x-immersive .x-node-list { position: absolute; left: 22px; right: 22px; bottom: 16px; display: flex; gap: .4rem; overflow-x: auto; padding: .5rem; z-index: 3; border: 0; background: #01040a9c; border-radius: 1.5rem; }
.x-immersive .x-node-list button { background: #091423d9; border: 1px solid #273c58; color: #adc5e5; border-radius: 2rem; font: 500 .68rem "Public Sans", sans-serif; padding: .55rem .8rem; white-space: nowrap; min-width: auto; }
.x-immersive .x-node-list button[aria-pressed="true"] { background: #29203f; border-color: #9980d3; color: #e3d7ff; }
.x-immersive .x-map-footer { display: none; }
.x-immersive .x-inspector { padding: 1.6rem 1.5rem; background: linear-gradient(140deg, #0a1525, #050b14); border: 0; border-left: 1px solid #24354e; border-radius: 0; overflow-y: auto; min-height: 0; }
.x-immersive .x-inspector h3 { font-size: 1.4rem; line-height: 1.28; color: #edf3fc; letter-spacing: -.03em; }
.x-immersive .x-inspector p { color: #adbed6; font-size: .86rem; line-height: 1.7; }
.x-immersive .x-inspector .x-eyebrow { color: #92b6e4; font-size: .63rem; letter-spacing: .07em; }
.x-immersive .x-inspector blockquote { padding: 1rem; background: #122136; border: 0; border-left: 2px solid #617fa7; color: #c2d4ee; font-size: .82rem; line-height: 1.65; }
.x-immersive .x-clue-questions { display: flex; flex-wrap: wrap; gap: .4rem; }
.x-immersive .x-clue-questions button { font-size: .72rem; padding: .5rem .6rem; color: #bacde7; }
.x-immersive .x-clue-questions button[aria-pressed="true"] { background: #24304b; color: #e2eaff; border-color: #819bc0; }
.x-immersive .x-source { color: #acd4ff; line-height: 1.55; font-size: .8rem; display: inline-block; margin: .4rem .6rem .4rem 0; }
/* W19, ACS-06: alvo de toque de 24 px nos links de fonte da investigação (WCAG 2.5.8). */
.experiencias .x-source { display: inline-block; min-height: 24px; line-height: 24px; }
.x-immersive .x-discovery-bottom { flex-shrink: 0; display: flex; align-items: center; flex-wrap: wrap; gap: .65rem 1.5rem; padding: 1rem 2rem; background: #050c17; margin: 0; border-top: 1px solid #22334d; }
.x-space-selection-note { font-size: .7rem; color: #afbeda; margin: 0; flex: 1; }
.x-immersive .x-discovery-bottom > .x-small { font-size: .73rem; margin: 0; color: #a6bddc; }
.x-immersive .x-button { border-radius: 2rem; background: #4058c9; color: #fff; padding: .8rem 1.3rem; font-size: .8rem; }
.x-immersive .x-button:disabled { background: #1d2b40; color: #a0b2ca; opacity: 1; }
.x-immersive .x-synthesis { position: absolute; z-index: 5; left: 3%; top: 3%; bottom: 3%; width: min(760px, calc(100% - 405px)); overflow-y: auto; background: #08111ff7; border: 1px solid #777aab; border-radius: .9rem; padding: 2rem; margin: 0; box-shadow: 0 25px 100px #000c; backdrop-filter: blur(20px); }
.x-immersive .x-synthesis h3 { font-size: 1.8rem; color: #eef3ff; line-height: 1.2; margin: 1.5rem 0; }
.x-immersive .x-synthesis article { padding: 1rem 0; border-top: 1px solid #33415d; }
.x-immersive .x-synthesis h4 { color: #d1c6ff; font-size: 1.02rem; margin: .3rem 0; }
.x-immersive .x-synthesis p { color: #b8c9e3; line-height: 1.7; font-size: .85rem; }
.x-document-reader h2 { color: #e4edfa; font-size: 1.3rem; line-height: 1.4; overflow-wrap: anywhere; }
.x-document-reader a { color: #aacffd; }
.x-document-reader article { overflow-wrap: anywhere; }
.x-immersive .x-synthesis-close { float: right; margin-bottom: .6rem; }
@media (max-width: 1000px) {
  .x-immersive .x-workspace { grid-template-columns: minmax(0, 1fr) 290px; }
  .x-space-brand h2 { font-size: .75rem; }
  .x-space-bar { padding: .8rem 1rem; }
  .x-immersive .x-synthesis { width: calc(100% - 325px); padding: 1.4rem; }
}
@media (max-width: 720px) {
  .x-space-bar { min-height: 64px; gap: .5rem; }
  .x-space-brand { gap: .5rem; }
  .x-space-brand h2, .x-space-separator { display: none; }
  .x-space-wordmark { font-size: .75rem; letter-spacing: .22em; }
  .x-space-actions { gap: .4rem; }
  .x-space-actions button { padding: .55rem .7rem; font-size: .68rem; }
  .x-immersive .x-discovery { overflow-y: auto; }
  .x-immersive .x-discovery-top { padding: .6rem 1rem; display: block; }
  .x-immersive .x-discovery-top p { display: none; }
  .x-immersive .x-workspace { display: block; flex: none; }
  .x-immersive .x-map-wrap { height: 60dvh; min-height: 420px; }
  .x-immersive .x-map-label { top: 12px; left: 14px; right: 14px; }
  .x-immersive .x-map-label span:last-child { display: none; }
  .x-immersive .x-graph-toolbar { top: 40px; left: 14px; right: 14px; }
  .x-immersive .x-graph-toolbar p { display: none; }
  .x-immersive .x-star-label { font-size: 10px; }
  .x-immersive .x-star-sub { font-size: 6px; letter-spacing: 0; }
  .x-immersive .x-node-list { left: 8px; right: 8px; bottom: 4px; }
  .x-immersive .x-inspector { border-left: 0; border-top: 1px solid #26374d; overflow: visible; padding: 1.3rem; }
  .x-immersive .x-inspector h3 { font-size: 1.2rem; }
  .x-immersive .x-discovery-bottom { position: sticky; bottom: 0; padding: .65rem .8rem; gap: .5rem; z-index: 4; }
  .x-immersive .x-discovery-bottom > .x-small { display: none; }
  .x-space-selection-note { min-width: 120px; font-size: .63rem; }
  .x-immersive .x-button { padding: .7rem .85rem; font-size: .72rem; }
  .x-immersive .x-synthesis { position: fixed; inset: 76px 10px 10px; width: auto; max-height: none; padding: 1.3rem; }
  .x-immersive .x-synthesis h3 { font-size: 1.4rem; }
}
@media (prefers-reduced-motion: reduce) { .x-immersive *, .x-immersive *::before, .x-immersive *::after { animation: none !important; transition: none !important; } }

/* Keep the case's main action next to its stars, outside the drag surface. */
.x-immersive .x-map-wrap { display:flex; flex-direction:column; }
.x-map-stage { position:relative; flex:1; min-height:240px; }
.x-immersive .x-map-connect-bar { position:relative; z-index:3; flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 1.4rem; padding:1rem 0; border-top:1px solid #38e8ff55; }
.x-map-connect-context p { margin:.35rem 0 0; color:#adc8e2; font-size:.78rem; line-height:1.45; }
.x-immersive .x-map-connect-context .x-counter { display:block; color:#b6f5ff; font-size:.85rem; }
.x-immersive .x-map-connect-bar .x-button { flex-shrink:0; min-height:56px; padding:1rem 1.65rem; border:1px solid #8ee5f0; border-radius:.75rem; background:#2748d5; color:#fff; font-size:1rem; font-weight:700; box-shadow:0 0 24px #38e8ff22; }
.x-immersive .x-map-connect-bar .x-button:disabled { background:#1d2b40; color:#bfd0e6; border-color:#58718f; box-shadow:none; }
.x-immersive .x-map-connect-bar .x-button:not(:disabled):hover { background:#385ae8; border-color:#d6fbff; box-shadow:0 0 30px #38e8ff44; }
.x-immersive .x-map-wrap > .x-node-list { position:relative; inset:auto; flex-shrink:0; margin:0 1rem .5rem; border-radius:.5rem; }
@media (max-width:1000px) {
  .x-immersive .x-map-connect-bar { flex-direction:column; align-items:stretch; gap:.6rem; margin:0 1rem; padding:.75rem 0; }
  .x-immersive .x-map-connect-bar .x-button { width:100%; }
}
@media (max-width:720px) {
  .x-immersive .x-map-wrap { height:65dvh; min-height:460px; }
  .x-immersive .x-map-connect-bar { margin:0 .8rem; }
  .x-immersive .x-map-connect-bar .x-button { min-height:52px; padding:.8rem 1rem; }
  .x-immersive .x-map-wrap > .x-node-list { margin:0 .3rem .35rem; }
  .x-immersive .x-discovery-top { display:none; }
}

/* W9: a mesma constelação na home e na navegação de todas as páginas. */
.site-conectado .topo { background: var(--cor-fundo-escuro); border-bottom-color: #263344; }
.site-conectado .heroi { background: radial-gradient(ellipse at 76% 36%, #10233b 0, transparent 55%), var(--cor-fundo-escuro); }
.universo { background: #02050b; border-color: #222c3b; padding: 5rem 0 3rem; color-scheme: dark; }
.universo__env { max-width: 96rem; }
.universo__cabeca { gap: 3rem; align-items: center; padding-inline: 1rem; }
.universo__cabeca h2 { font-size: clamp(2.3rem, 4.4vw, 4.4rem); font-weight: 500; letter-spacing: -.06em; line-height: 1.06; margin: 1rem 0; }
.universo__cabeca h2 em { color: #aebdd4; }
.universo__cabeca .versalete { color: #acc7e7; letter-spacing: .17em; font-size: .66rem; }
.universo__convite { max-width: 22rem; }
.universo__cabeca p { color: #b6c4d7; font-size: .95rem; margin: 0 0 1.3rem; }
.universe-enter { display: none; gap: 2rem; align-items: center; justify-content: space-between; padding: .9rem 1.2rem; border: 1px solid #aa95da; border-radius: 2rem; background: #21182f; color: #eee3ff; cursor: pointer; font: 500 .85rem "Public Sans", sans-serif; }
.universe-enter:hover { border-color: #debdff; background: #322440; }
.universo__palco { height: clamp(32rem, 48vw, 44rem); margin: 2rem 0 0; border: 0; border-radius: 0; background: #02050b; overflow: hidden; }
.universo__canvas { display: block; }
.universo__caption { color: #aec0d5; font-size: .62rem; letter-spacing: .13em; z-index: 2; }
.universo__caption > span:first-child { color: #acbeda; }
.universe-ready .universo__nodes { inset: 0; }
.universe-ready .universo__node { left: 0; top: 0; }
.universo__node { min-width: 4.5rem; padding: .9rem .5rem; gap: .7rem; color: #cedbeb; font-size: .76rem; }
.universo__node strong { background: #02050b8a; font-weight: 500; padding: .15rem .35rem; }
.universo__node-dot, .universo__node--0 .universo__node-dot { width: 5px; height: 5px; border: 0; background: #d8efff; box-shadow: 0 0 8px #c6e8ff, 0 0 22px #86bfff99, 0 0 48px #639de540; }
.universo__node--0 { font-size: .84rem; }
.universo__node:hover .universo__node-dot, .universo__node:focus-visible .universo__node-dot, .universo__node.is-selected .universo__node-dot { background: #f4eaff; box-shadow: 0 0 9px #e9c7ff, 0 0 24px #ba83ff, 0 0 54px #9562d97a; }
.universo__node.is-selected { color: #e6cdff; }
.universo__bottom { z-index: 2; gap: .6rem; inset: auto 1.4rem 1.3rem; }
.universo__bottom button { border-color: #3a4d66; background: #08101c; color: #c2d2e8; font-size: .72rem; padding: .6rem .85rem; }
.universo__bottom button[aria-pressed="true"] { border-color: #a38ac9; color: #ebdcff; background: #251c34; }
.universo__bottom p { color: #9db1cb; }
.universo__insight { margin-inline: 1rem; padding-top: 1.8rem; border-top: 1px solid #263243; }
.universo__insight h3 { font-weight: 500; font-size: 1.6rem; }
.universo__insight p { color: #aebfd5; }
.conexoes-pagina { background: var(--cor-fundo-escuro); border-color: #2a384b; }
.conexoes-pagina__heading > button { background: #111723; border-color: #5a4b79; color: #dfcbfc; border-radius: 2rem; }
.conexao-link { background: var(--cor-fundo-escuro-cartao); border-color: #334359; }
.conexao-link:hover { background: #10213A; border-color: #9c85bf; }
.conexao-launcher { background: #070c16ed; border-color: #9881bd; color: #e3d3f9; box-shadow: 0 6px 25px #0005; }
.conexao-dialog { box-sizing: border-box; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: #02050b; box-shadow: none; color: #e7edf7; overflow: hidden; color-scheme: dark; }
.conexao-dialog[open] { display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; }
.conexao-dialog::backdrop { background: #02050b; backdrop-filter: none; }
.map-space-open { overflow: hidden; }
.conexao-dialog__topo { align-items: center; min-height: 4.2rem; padding: .8rem 1.8rem; border-bottom: 1px solid #253144; }
.map-brand { display: flex; align-items: center; gap: 1.4rem; }
.map-brand__word { font: 500 .9rem "Public Sans", sans-serif; letter-spacing: .34em; color: #eff4fb; }
.map-brand > span:nth-child(2) { color: #7d9aba; }
.conexao-dialog .map-brand h2 { margin: 0; font-size: .9rem; line-height: 1.4; letter-spacing: 0; font-weight: 400; color: #b8cce4; }
.conexao-dialog__topo button { border: 1px solid #445470; background: #09111e; color: #d5e1f3; width: auto; height: auto; min-height: 2.5rem; padding: .6rem 1rem; border-radius: 2rem; font: 500 .78rem "Public Sans", sans-serif; display: flex; align-items: center; gap: 1.2rem; }
.conexao-dialog__topo button > span { color: #b8cbe6; font-size: 1rem; }
.map-context { display: flex; gap: 1rem; justify-content: space-between; align-items: center; padding: .7rem 1.8rem; border-bottom: 1px solid #1b2736; color: #a9bbd0; font: 400 .62rem/1.5 "IBM Plex Mono", monospace; }
.map-context p { font: inherit; color: inherit; margin: 0; }
.universe-space { display: none; min-width: 0; min-height: 0; grid-template-columns: minmax(0,1fr) minmax(18rem,23rem); }
.is-map-ready .universe-space { display: grid; }
.conexao-dialog [hidden] { display: none !important; }
.map-stage { min-width: 0; min-height: 0; position: relative; overflow: hidden; background: #02050b; touch-action: none; }
.map-stage [data-map-canvas], .map-stage [data-map-lines], [data-map-nodes] { position: absolute; inset: 0; width: 100%; height: 100%; }
.map-stage [data-map-lines], [data-map-nodes] { pointer-events: none; overflow: visible; }
.map-edge { fill: none; stroke: #719cce35; stroke-width: .7; }
.map-edge.is-selected { stroke: #c3a2faad; stroke-width: 1.1; }
.map-star { position: absolute; left: 0; top: 0; pointer-events: auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .65rem; min-width: 4.5rem; min-height: 3.1rem; border: 0; border-radius: .5rem; background: transparent; color: #c6d7ec; padding: .6rem .4rem; cursor: pointer; font: 500 .76rem/1.4 "Public Sans", sans-serif; -webkit-tap-highlight-color: transparent; }
.map-star__light { display: block; width: 5px; height: 5px; flex-shrink: 0; border-radius: 50%; background: #d8efff; box-shadow: 0 0 9px #d4edff, 0 0 25px #8bbcfb91, 0 0 48px #719adb55; }
.map-star__name { display: block; border-radius: .25rem; padding: .1rem .3rem; background: #02050ba8; }
.map-star.is-selected { color: #e5cbff; }
.map-star.is-selected .map-star__light { background: #f0dfff; box-shadow: 0 0 8px #f6e6ff, 0 0 23px #d098ff, 0 0 49px #b379ff9e; }
.map-star.is-active .map-star__name { text-decoration: underline; text-decoration-color: #a183ca; text-underline-offset: .4rem; }
.map-star:hover { color: #fff; }
.map-star:hover .map-star__light { box-shadow: 0 0 11px #fff, 0 0 28px #b5cbff, 0 0 55px #839fed91; }
.map-stage__hint { position: absolute; left: 1.7rem; top: 1.5rem; color: #9db0ca; font: 400 .66rem "IBM Plex Mono", monospace; pointer-events: none; }
.map-tools { position: absolute; left: 1.5rem; bottom: 1.2rem; right: 1rem; display: flex; gap: .5rem; flex-wrap: wrap; }
.map-tools button, .map-back, .map-clear { border: 1px solid #40536b; background: #070e1aed; border-radius: 2rem; padding: .65rem .9rem; color: #bacde5; font: 400 .72rem "Public Sans", sans-serif; cursor: pointer; min-height: 2.6rem; }
.map-tools button[aria-pressed="true"] { border-color: #a087c6; background: #20152fed; color: #e5d2ff; }
.map-reader { min-width: 0; min-height: 0; padding: 2.1rem 1.65rem 1.2rem; border-left: 1px solid #263348; background: linear-gradient(145deg, #08111e, #03070e 75%); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #36475e #070c14; }
.map-kicker { margin: 0 0 1.3rem; color: #aac7eb; font: 400 .6rem/1.8 "IBM Plex Mono", monospace; letter-spacing: .1em; }
.map-reader h3 { margin: 0 0 1.3rem; color: #e9eef8; font-size: clamp(1.5rem, 2vw, 2rem); font-weight: 500; line-height: 1.15; letter-spacing: -.045em; }
.map-description { color: #b5c5dc; font-size: .9rem; line-height: 1.8; margin: 0 0 1.8rem; }
.map-reader__questions { display: flex; flex-wrap: wrap; gap: .4rem; padding-top: 1.25rem; border-top: 1px solid #283449; }
.map-reader__questions button { font: 500 .67rem "Public Sans", sans-serif; border: 1px solid #455c77; padding: .65rem .7rem; border-radius: 2rem; color: #b9cce5; background: transparent; cursor: pointer; }
.map-reader__questions button[aria-pressed="true"] { background: #252137; border-color: #a08bbd; color: #e3d4f7; }
.map-answer { font-size: .86rem; line-height: 1.8; color: #c0cee1; margin: 1.1rem 0 1.6rem; }
.map-go { display: inline-flex; align-items: center; gap: 1rem; font-size: .8rem; line-height: 1.6; color: #d3bcf6; text-decoration: none; border-bottom: 1px solid #806797; padding-bottom: .3rem; }
.map-go:hover { color: #f0e5ff; }
.map-reader__note { font-size: .66rem; line-height: 1.8; color: #9eb0ca; margin: 2rem 0 0; padding-top: 1.3rem; border-top: 1px solid #253044; }
.map-synthesis { padding-top: .2rem; }
.map-synthesis [data-map-synthesis] { font-size: .88rem; line-height: 1.85; color: #c3d2e8; white-space: pre-line; }
.map-sources { display: flex; flex-direction: column; gap: .75rem; margin: 1.5rem 0; }
.map-sources a { color: #d8c1ff; font-size: .8rem; line-height: 1.6; text-underline-offset: 5px; }
.map-back { margin-top: .5rem; }
.map-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.8rem; border-top: 1px solid #253144; background: var(--cor-fundo-escuro-elevado); }
.map-footer p { color: #c3d1e5; margin: 0; font-size: .74rem; line-height: 1.6; }
.map-footer > div { display: flex; gap: .7rem; flex-shrink: 0; }
.map-clear { background: transparent; }
.map-connect { border: 1px solid #bba0e4; border-radius: 2rem; padding: .8rem 1.1rem; background: #2a1d3d; color: #f0e0ff; font: 500 .8rem "Public Sans", sans-serif; cursor: pointer; display: flex; align-items: center; gap: 1.8rem; }
.map-connect:disabled { color: #9fafc5; background: #101a29; border-color: #3c4c64; cursor: default; }
.map-connect:not(:disabled):hover { background: #3b2853; border-color: #ecd2ff; }
.is-map-ready .conexao-dialog__links { display: none; }
.conexao-dialog:not(.is-map-ready) .map-footer { display: none; }
.conexao-dialog:not(.is-map-ready) .conexao-dialog__links { padding: 2rem; overflow: auto; }
.map-space-open .conexao-launcher { display: none; }
.conexao-dialog :focus-visible { outline: 2px solid #e5bbff; outline-offset: 4px; }
.x-immersive { color-scheme: dark; }
.x-immersive .x-inspector { scrollbar-width: thin; scrollbar-color: #3a4a63 #070c14; }
.x-immersive .x-node-list { scrollbar-width: thin; scrollbar-color: #3a4a63 #070c14; }
@media (max-width: 1100px) {
  .universe-space { grid-template-columns: minmax(0,1fr) 19rem; }
  .map-reader { padding: 1.6rem 1.2rem; }
  .map-star { font-size: .7rem; min-width: 4rem; }
}
@media (max-width: 780px) {
  .universo { padding-top: 3rem; }
  .universo__cabeca { padding-inline: 0; gap: 1rem; align-items: start; }
  .universo__convite { max-width: none; }
  .universo__cabeca p { margin-bottom: 1rem; }
  .universo__palco { height: 33rem; margin-top: 1.5rem; }
  .universo__insight { margin-inline: 0; }
  .universo__node { font-size: .68rem; }
  .universo__bottom { inset: auto .5rem .8rem; gap: .4rem; }
  .universo__bottom p { margin-top: .4rem; }
  .conexao-dialog__topo { padding: .7rem 1rem; min-height: 3.6rem; }
  .map-brand { gap: .8rem; }
  .map-brand__word { font-size: .75rem; letter-spacing: .24em; }
  .conexao-dialog .map-brand h2 { font-size: .76rem; }
  .map-context { padding: .6rem 1rem; font-size: .59rem; }
  .map-context > span { display: none; }
  .universe-space { grid-template-columns: 1fr; grid-template-rows: minmax(25rem, 53dvh) auto; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #35455d #02050b; }
  .map-stage { min-height: 25rem; }
  .map-reader { overflow: visible; border-left: 0; border-top: 1px solid #253144; padding: 1.5rem; }
  .map-reader h3 { font-size: 1.65rem; max-width: 30rem; }
  .map-description { margin-bottom: 1.2rem; }
  .map-reader__note { margin-top: 1.3rem; }
  .map-stage__hint { top: 1rem; left: 1rem; font-size: .6rem; }
  .map-tools { left: .8rem; bottom: .8rem; gap: .4rem; }
  .map-tools button { font-size: .66rem; padding: .55rem .75rem; }
  .map-footer { padding: .75rem 1rem; flex-wrap: wrap; gap: .5rem; }
  .map-footer p { font-size: .65rem; flex: 1 1 10rem; }
  .map-footer > div { margin-left: auto; }
  .map-connect { font-size: .72rem; padding: .7rem .85rem; gap: .8rem; }
  .map-clear { font-size: .66rem; padding: .6rem .7rem; }
}
@media (max-width: 450px) {
  .universo__palco { margin-inline: -.75rem; }
  .universo__node { padding: .75rem .2rem; min-width: 0; font-size: .62rem; }
  .universo__caption { font-size: .57rem; }
  .universo__bottom button { font-size: .65rem; padding: .6rem .7rem; }
  .map-brand { gap: .6rem; }
  .map-brand > span:nth-child(2) { display: none; }
  .conexao-dialog__topo button { font-size: .69rem; padding: .5rem .75rem; gap: .7rem; }
  .map-star { font-size: .64rem; min-width: 0; padding: .7rem .2rem; }
  .map-star__name { padding-inline: .2rem; }
  .map-footer { padding: .65rem .8rem; }
  .map-footer p { flex-basis: 100%; }
  .map-footer > div { width: 100%; justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) {
  .universo__node, .map-star, .map-star__light, .map-edge { transition: none; }
}

/* The projected coordinate is the luminous core, independent of label size. */
.universe-ready .universo__node,
.is-map-ready .map-star {
  display: block; width: 44px; height: 44px; min-width: 44px; min-height: 44px;
  padding: 0; will-change: transform; transition: none;
}
.universe-ready .universo__node-dot,
.is-map-ready .map-star__light {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%) scale(var(--star-scale, 1)); opacity: var(--star-light, 1);
}
.universe-ready .universo__node strong,
.is-map-ready .map-star__name {
  position: absolute; left: 50%; top: calc(50% + 12px);
  transform: translateX(-50%); width: max-content; white-space: nowrap;
  transition: opacity .12s ease;
}
.is-orbit-dragging, .is-orbit-dragging * { cursor: grabbing !important; user-select: none; }
.universe-ready .universo__nodes, [data-map-nodes] { z-index: 2; }
.universe-ready .universo__node[data-label-muted="true"] strong,
.is-map-ready .map-star[data-label-muted="true"] .map-star__name { opacity: 0; pointer-events: none; }
.universe-ready .universo__node:is(:hover, :focus),
.is-map-ready .map-star:is(:hover, :focus) { z-index: 1000 !important; }
.universe-ready .universo__node:is(:hover, :focus) strong,
.is-map-ready .map-star:is(:hover, :focus) .map-star__name { opacity: 1; background: #02050b; pointer-events: auto; transition: none; }
.universe-ready .universo__node:is(:hover, :focus, .is-selected) .universo__node-dot,
.is-map-ready .map-star:is(:hover, :focus, .is-selected) .map-star__light { opacity: 1; }
.x-immersive .x-star-core, .x-immersive .x-star-halo { transform: scale(var(--star-scale, 1)); opacity: var(--star-light, 1); }

.x-immersive [hidden] { display: none !important; }
.experiencias .x-tabs a > span { color: #98bdf2; }
.experiencias .x-ask p { color: #bed0e8; }
.experiencias .x-suggested button { background: #162842; color: #c7dcfa; border-color: #56749b; }
.experiencias .x-document-list article { background: #101d30; }
.experiencias .x-closing strong { color: #b5ceff; }
.experiencias .x-ask-result { background: #14263e; }
.experiencias .x-ask-result h3 { color: #e1edff; }
.experiencias .x-ask-result .x-source { color: #a8d2ff; }
.experiencias .x-document-list article > p:last-child { color: #aac7ea; }
.experiencias .x-answer .x-eyebrow { color: #35547e; }
.x-space-separator { color: #91aacb; }

/* The home reader belongs to the existing scene; it never replaces its canvas. */
.universo__workspace { position: relative; min-width: 0; }
.conexao-dialog.is-inline-map { position: absolute; inset: 0 0 0 auto; width: min(360px, 34%); height: 100%; max-height: none; border-left: 1px solid #283449; border-radius: 0; background: var(--cor-fundo-escuro-elevado); z-index: 5; }
.conexao-dialog.is-inline-map[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; animation: map-reader-enter .24s ease-out; }
.is-inline-map .map-context, .is-inline-map .map-stage, .is-inline-map .map-brand { display: none; }
.is-inline-map .conexao-dialog__topo { padding: .75rem; min-height: 0; gap: .5rem; }
.is-inline-map .conexao-dialog__topo button { font-size: .7rem; padding: .6rem .7rem; }
.is-inline-map .universe-space { display: block; overflow: hidden; }
.is-inline-map .map-reader { height: 100%; overflow-y: auto; padding: 1.5rem 1.1rem; border: 0; background: transparent; }
.is-inline-map .map-reader h3 { font-size: 1.6rem; }
.is-inline-map .map-description { font-size: .9rem; }
.is-inline-map .map-footer { display: block; padding: .85rem; }
.is-inline-map .map-footer p { font-size: .65rem; margin-bottom: .7rem; }
.is-inline-map .map-footer > div { gap: .5rem; justify-content: space-between; }
.is-inline-map .map-footer button { font-size: .7rem; padding: .6rem .7rem; }
@keyframes map-reader-enter { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }
@media (min-width: 860px) {
  .universo__workspace .universo__bottom { right: calc(min(360px, 34%) + 1rem); }
  .universo__workspace .universo__caption > span:last-child { display: none; }
}
@media (max-width: 859px) {
  .conexao-dialog.is-inline-map { position: relative; inset: auto; width: 100%; height: min(38rem, 78dvh); margin-top: .75rem; border: 1px solid #283449; border-radius: .8rem; }
  .is-inline-map .map-reader { padding: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) { .conexao-dialog.is-inline-map[open] { animation: none; } }

.universe-ready .universo__palco { touch-action: none; -webkit-user-select: none; user-select: none; }
.universo__bottom { flex-wrap: wrap; }
.universo__bottom > p { order: 2; }
.universo__bottom .universe-exit { display: none; }
.x-space-actions { flex-wrap: wrap; }
.constellation-legend { margin: 0 0 1rem; min-height: 3.6em; font: 400 .67rem/1.8 "IBM Plex Mono", monospace; color: #bdcbe0; }
.map-context { flex-wrap: wrap; }
.map-stage > .constellation-legend { position: absolute; inset: 1rem 1rem auto; z-index: 2; pointer-events: none; max-width: 34rem; }
.universe-ready .universo__node[hidden], .map-star[hidden] { display: none; }
.universe-ready .universo__node.is-alert, .is-map-ready .map-star.is-alert { color: #ffc3bf; }
.universe-ready .universo__node.is-alert strong::before, .map-star.is-alert .map-star__name::before { content: '⚠\FE0E  '; color: #ffaca7; }
.universe-ready .universo__node.is-alert .universo__node-dot, .is-map-ready .map-star.is-alert .map-star__light { background: #ff998d; box-shadow: 0 0 7px #ffb3a9, 0 0 21px #ff554dba, 0 0 40px #ef333c73; }
.universe-ready .universo__node.is-selected .universo__node-dot, .is-map-ready .map-star.is-selected .map-star__light { outline: 1px solid #fff1e9; outline-offset: 5px; }
.universe-ready .universo__node.is-alert[data-alert-state="partial"] .universo__node-dot, .is-map-ready .map-star.is-alert[data-alert-state="partial"] .map-star__light { background: #ffd28b; box-shadow: 0 0 9px #ffd38c, 0 0 25px #d7954699; }
.map-edge.is-alert { stroke: #f56e6850; stroke-width: .8; }
.map-edge.is-alert.is-related, .map-edge.is-alert.is-selected { stroke: #ff9588cf; stroke-width: 1.2; }
.map-edge.is-alert[data-alert-state="partial"] { stroke: #edc080a6; }
.selection-edge { fill: none; stroke: #e0d3f5cc; stroke-width: 1.15; vector-effect: non-scaling-stroke; pointer-events: none; }
.selection-edge.is-alert { stroke: #ff9c91d1; }
.selection-edge.is-alert[data-alert-state="partial"] { stroke: #efc684ce; }
.map-selection-lines, .x-selection-lines { pointer-events: none; }
.selection-flow { display: none; fill: none; stroke: #d9ffff; stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 1 24 3 60; vector-effect: non-scaling-stroke; pointer-events: none; }
[data-constellation-complete="true"] .selection-edge { stroke: #74dfebe0; }
[data-constellation-complete="true"] .selection-flow { display: block; animation: selection-current 3s linear infinite; }
[data-constellation-complete="true"] .is-alert:not(.is-selected) :is(.universo__node-dot,.map-star__light,.x-star-core,.x-star-halo) { opacity: .25; }
.space-puzzle-status { position: absolute; inset: 2.8rem 1.4rem auto; z-index: 2; pointer-events: none; margin: 0; color: #afc5da; font: 400 .68rem/1.8 "IBM Plex Mono", monospace; }
.space-puzzle-status.is-complete { color: #a3f4eb; text-shadow: 0 0 18px #58cad67a; }
.space-completion-message {
  position: absolute; inset: 18% 4% 24%; z-index: 4;
  display: grid; place-items: center; padding: 1rem;
  pointer-events: none; user-select: none; text-align: center;
  opacity: var(--reveal-opacity, 0); isolation: isolate;
}
.space-completion-message[hidden] { display: none; }
.space-completion-message::before {
  content: ""; position: absolute; inset: -15% -5%; z-index: -1;
  background: radial-gradient(ellipse, #071523e6 0, #061222bd 35%, #05223838 60%, transparent 75%);
}
.space-completion-message::after {
  content: ""; position: absolute; bottom: 12%; width: 38%; max-width: 12rem; height: 1px;
  background: linear-gradient(90deg, transparent, #a6f9ff, transparent);
  box-shadow: 0 0 24px #57d9ee80; transform: scaleX(var(--reveal-opacity, 0));
}
.space-completion-message__text {
  display: block; max-width: 100%; margin: 0;
  color: #effdff; font: 500 clamp(2.6rem, 7vw, 6rem)/1.12 "Public Sans", sans-serif;
  letter-spacing: .2em; text-indent: .2em;
  text-shadow: 0 0 24px #9ceaff70, 0 0 70px #237ebe55;
  filter: blur(var(--reveal-blur, 0px));
  transform: translateY(var(--reveal-rise, 0px)) scale(var(--reveal-scale, 1));
}
.space-completion-message[data-phase="tagline"] .space-completion-message__text {
  max-width: 16ch; font-size: clamp(1.75rem, 4.2vw, 3.4rem); line-height: 1.2;
  font-weight: 400; letter-spacing: -.045em; text-indent: 0; text-wrap: balance;
}
@media (min-width: 860px) {
  .universo__workspace .space-completion-message { right: calc(min(360px, 34%) + 4%); }
}
@media (prefers-reduced-motion: reduce) {
  .space-completion-message__text { filter: none; transform: none; }
}
.map-context > .space-puzzle-status { position: static; flex: 1 0 100%; min-width: 0; max-width: none; order: 1; font: 400 .68rem/1.8 "IBM Plex Mono", monospace; }
.x-discovery-bottom > .space-puzzle-status { position:static; flex-shrink:0; margin:0; font-size:.65rem; }
@keyframes selection-current { to { stroke-dashoffset: -176; } }
/* Fluxo pedido para a conclusão do puzzle, inclusive sob movimento reduzido. */
[data-constellation-complete="true"] .selection-flow { animation: selection-current 3s linear infinite !important; }
[data-space-running="false"] .selection-flow { animation-play-state: paused !important; }
.alert-detail { margin: 1.25rem 0; padding-top: 1rem; border-top: 1px solid #4c3440; font: 400 .84rem/1.8 "Public Sans", sans-serif; color: #d1dcee; }
.alert-detail blockquote { margin: .8rem 0 1.1rem; padding: .7rem 0 .7rem 1rem; border-left: 2px solid #ad6b70; font-size: .82rem; line-height: 1.8; color: #e4d9df; }
.alert-status { color: #ffd3ba; font-size: .72rem; font-weight: 600; margin: 0 0 .6rem; }
.alert-provenance { font: 400 .58rem/1.7 "IBM Plex Mono", monospace; color: #aebdd3; letter-spacing: .04em; }
.alert-sources { display: flex; flex-wrap: wrap; gap: .5rem; }
.alert-source, .alert-review { min-height: 44px; border: 1px solid #55677e; border-radius: .65rem; background: #101b2a; color: #d4e3f7; padding: .65rem .8rem; font: 500 .73rem/1.5 "Public Sans", sans-serif; text-align: left; cursor: pointer; margin: .2rem .25rem .3rem 0; max-width: 100%; }
.alert-review { display: block; margin-top: .8rem; border-color: #bd7f78; color: #ffe0d3; background: #281c25; }
.alert-result { margin-top: 1rem; padding: 1rem; border: 1px solid #66503c; background: #1c1820; border-radius: .7rem; }
.alert-result h4, .map-synthesis article h4 { font: 600 .86rem/1.5 "Public Sans", sans-serif; color: #f6dbbe; margin: 0 0 .5rem; }
.alert-result p, .alert-document-note { font-size: .79rem; line-height: 1.8; }
.map-synthesis article { padding: 1rem 0; border-bottom: 1px solid #344153; }
.map-synthesis article p { margin: .5rem 0; }
.x-immersive .x-stars .is-alert .x-star-core { fill: #ff9b91; filter: drop-shadow(0 0 5px #ff5757); }
.x-immersive .x-stars .is-alert .x-star-halo { fill: #ed555548; }
.x-immersive .x-stars .is-alert .x-star-label, .x-alert-mark { fill: #ffc3bf; }
.x-alert-mark { font: 600 11px "Public Sans", sans-serif; }
.x-immersive .x-stars .is-selected .x-star-core { stroke: #fff0e8; stroke-width: 1.3; }
.x-immersive .x-stars .is-alert[data-alert-state="partial"] .x-star-core { fill: #ffd28b; filter: drop-shadow(0 0 5px #e4a356); }
.x-immersive .x-stars a.is-alert:is(.is-selected, :hover, :focus-visible) .x-star-core { fill: #ff9b91; filter: drop-shadow(0 0 6px #ff5757); }
.x-immersive .x-stars a.is-alert[data-alert-state="partial"]:is(.is-selected, :hover, :focus-visible) .x-star-core { fill: #ffd28b; filter: drop-shadow(0 0 6px #e4a356); }
.x-immersive .x-edges .is-alert .x-edge-line { stroke: #ed706b80; }
.x-immersive .x-edges .is-alert.is-selected .x-edge-line { stroke: #ffaca2; }
.x-immersive .x-edges .is-alert[data-alert-state="partial"] .x-edge-line { stroke: #edc080; }
.x-immersive .x-stars [data-label-muted="true"] :is(.x-star-label,.x-star-sub) { opacity: 0; }
.x-immersive .x-stars a:is(:focus,:hover) :is(.x-star-label,.x-star-sub) { opacity: 1; }
.x-immersive .x-node-list button.is-alert { color: #ffd0c8; border-color: #985f65; }
.is-alert .universo__node-dot::after, .is-alert .map-star__light::after { content: ''; position: absolute; inset: -7px; border: 1px solid #ff817764; border-radius: 50%; animation: alert-breathe 4s ease-in-out infinite; }
@keyframes alert-breathe { 0%,100% { opacity: .2; transform: scale(.8); } 50% { opacity: .65; transform: scale(1.25); } }
@media (prefers-reduced-motion: reduce) { .is-alert .universo__node-dot::after, .is-alert .map-star__light::after { animation: none; } }
@media (max-width: 600px) { .constellation-legend { min-height: 5.4em; } }
@media (max-width: 859px) {
  .universo__bottom .universe-exit { display: inline-flex; }
  .universo__bottom > p { flex-basis: 100%; margin: 0; }
  .universo__bottom button { min-height: 2.75rem; }
}

/* W11 — Explore com a Videre. A conversa tem uma superfície própria. */
.explore-page { background: var(--cor-fundo-escuro); color: #f0f5fc; }
.ex-shell { padding-top: 3.25rem; padding-bottom: 4.5rem; }
.ex-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-end; margin-bottom: 2.5rem; }
.ex-eyebrow { color: #97b8e3; font: 500 .75rem/1.6 var(--fonte-mono); letter-spacing: .09em; margin: 0 0 .65rem; }
.ex-heading h1 { color: #f6f8fc; font-size: clamp(2.4rem, 4.4vw, 4.25rem); line-height: 1.06; letter-spacing: -.055em; margin: 0; max-width: none; }
.ex-heading h1 em { color: #7dbbff; font-style: normal; }
.ex-intro { color: #becce0; max-width: 42rem; margin: 1.1rem 0 0; font-size: 1rem; }
.ex-connection { max-width: 17rem; padding-left: 1rem; border-left: 1px solid #365173; }
.ex-connection p { font-size: .875rem; line-height: 1.55; margin: .65rem 0 0; color: #becce0; }
.ex-mode { display: inline-flex; align-items: center; gap: .5rem; font: 500 .75rem/1.4 var(--fonte-mono); color: #dce9ff; }
.ex-mode::before { content: ''; width: .4rem; height: .4rem; border-radius: 50%; background: #99aac2; }
.ex-mode[data-live="true"]::before { background: #87d8c5; box-shadow: 0 0 14px #87d8c577; }
.ex-layout { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); border: 1px solid #30435d; border-radius: 1.1rem; overflow: hidden; align-items: stretch; }
.ex-conversation { min-width: 0; padding: 1.75rem; background: #0c192b; }
.ex-conversation-heading { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; justify-content: space-between; margin-bottom: 1.2rem; }
.ex-conversation-heading h2 { font-size: 1.2rem; line-height: 1.4; color: #f0f5fc; margin: 0; }
.ex-prompts { display: grid; gap: .45rem; }
.ex-prompts button { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem .9rem; color: #e4efff; background: #12243c; border: 1px solid #365173; border-radius: .45rem; font: 500 .9375rem/1.45 var(--fonte-corpo); text-align: left; min-height: 2.75rem; cursor: pointer; }
.ex-prompts button:hover, .ex-prompts button[aria-pressed="true"] { background: #1d3961; border-color: #7dbbff; }
.ex-prompts button > span:last-child { color: #99caff; }
.ex-transcript { margin: 1.4rem 0; display: grid; gap: 1rem; overflow-wrap: anywhere; max-height: 27rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #52769e #0c192b; padding-right: .35rem; }
.ex-message { font-size: 1rem; line-height: 1.7; }
.ex-message p { margin: 0 0 .7rem; max-width: none; white-space: pre-line; }
.ex-message .ex-message-label { font: 500 .6875rem/1.6 var(--fonte-mono); color: #9fb7d7; letter-spacing: .045em; margin-bottom: .55rem; }
.ex-message--user { color: #d9e9ff; background: #152c49; padding: .9rem 1rem; margin-left: 1.5rem; border-radius: .6rem .6rem 0 .6rem; }
.ex-message--assistant { color: #e0e9f6; padding: .7rem 0; }
.ex-message + .ex-message--assistant { border-bottom: 1px solid #293e5b; padding-bottom: 1.2rem; }
.ex-message details { margin-top: .9rem; }
.ex-message summary { width: fit-content; color: #9dccff; font-size: .875rem; cursor: pointer; padding: .2rem 0; }
.ex-message details ul { padding-left: 1.2rem; margin: .5rem 0; }
.ex-message details li { font-size: .875rem; padding: .2rem 0; }
.ex-message a, .ex-stage a, .ex-privacy a, .ex-noscript a { color: #9dccff; text-decoration: underline; text-underline-offset: .22em; }
.ex-followups { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.15rem; }
.ex-followups button { color: #c3dcfb; background: transparent; border: 1px solid #4b6585; border-radius: 1.3rem; padding: .55rem .8rem; min-height: 2.75rem; font-size: .8125rem; cursor: pointer; text-align: left; }
.ex-followups button:hover { color: #fff; background: #193254; }
.ex-composer { border: 1px solid #4f6a8d; border-radius: .6rem; padding: .85rem; background: #091422; }
.ex-composer label { display: block; font-size: .875rem; font-weight: 600; margin-bottom: .6rem; }
.ex-composer textarea { display: block; width: 100%; min-height: 5.5rem; max-height: 16rem; resize: vertical; border: 0; border-radius: .3rem; background: #112239; color: #f0f5fc; padding: .7rem; font: 400 1rem/1.55 var(--fonte-corpo); }
.ex-composer textarea::placeholder { color: #a3b7d1; }
.ex-composer textarea:disabled { background: #101d2e; color: #a5b7ce; cursor: not-allowed; opacity: 1; }
.ex-composer-actions { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-top: .65rem; flex-wrap: wrap; }
.ex-composer-actions > span { color: #a3b7d1; font: 400 .6875rem/1.5 var(--fonte-mono); }
.ex-composer-actions > div { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.ex-send { background: #0b5fff; border: 1px solid #4c8aff; color: #fff; font: 600 .875rem/1.4 var(--fonte-corpo); border-radius: .3rem; min-height: 2.75rem; padding: .6rem .8rem; cursor: pointer; }
.ex-send:hover { background: #084bcc; }
.ex-send:disabled { background: #233753; color: #b2c4dd; border-color: #415877; cursor: not-allowed; }
.ex-composer > p, .ex-privacy { color: #acbed7; font-size: .75rem; line-height: 1.65; margin: .7rem 0 0; }
.ex-announcement { min-height: 1.5rem; color: #c6ddfb; font-size: .875rem; margin: .5rem 0; }
.ex-text-button { display: inline-flex; background: transparent; border: 0; padding: .35rem 0; min-height: 2rem; color: #9dccff; font: 500 .8125rem/1.5 var(--fonte-corpo); text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.ex-stage { padding: 1.75rem; min-width: 0; background: radial-gradient(ellipse at 60% 25%, #153451 0, #0a1728 52%); border-left: 1px solid #30435d; }
.ex-stage-heading h2 { color: #f0f5fc; font-size: clamp(1.35rem, 2vw, 1.85rem); line-height: 1.3; margin: 0 0 1rem; }
.ex-view-controls { display: flex; gap: .25rem; flex-wrap: wrap; border-bottom: 1px solid #344b6b; padding-bottom: .7rem; }
.ex-view-controls button { font: 500 .875rem/1.4 var(--fonte-corpo); color: #b4c8e3; background: transparent; border: 1px solid transparent; border-radius: .35rem; min-height: 2.75rem; padding: .45rem .65rem; cursor: pointer; }
.ex-view-controls button[aria-pressed="true"] { color: #f0f5fc; background: #203e64; border-color: #456d9d; }
.ex-view-controls button:hover { color: #fff; }
.ex-map { position: relative; height: 25rem; margin: .5rem 0; background: radial-gradient(ellipse at 50% 47%, #2663a72b, transparent 62%); }
.ex-map::before { content: ''; position: absolute; inset: 9% 11% 13%; border: 1px solid #7da9e322; border-radius: 50%; transform: rotate(-24deg); pointer-events: none; }
.ex-map-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.ex-map-lines path { stroke: #91caff; stroke-width: 1.3; fill: none; opacity: .8; stroke-dasharray: 1; stroke-dashoffset: 0; animation: ex-trace .7s ease-out; }
.ex-topic { position: absolute; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: .7rem; padding: .4rem .15rem; border: 0; color: #acbfd9; background: transparent; font: 500 .8125rem/1.4 var(--fonte-corpo); min-height: 3.1rem; min-width: 4.7rem; cursor: pointer; }
.ex-topic > span:last-child { text-shadow: 0 2px 6px #07111f, 0 0 12px #07111f; }
.ex-point { width: .4rem; height: .4rem; display: block; border-radius: 50%; background: #7591b3; box-shadow: 0 0 0 .3rem #88b6e80a; transition: box-shadow .4s, background .4s, transform .4s; }
.ex-topic.is-related { color: #eff7ff; }
.ex-topic.is-related .ex-point { background: #b4ddff; transform: scale(1.4); box-shadow: 0 0 0 .24rem #81bfff29, 0 0 0 .6rem #81bfff0d, 0 0 25px #72baff88; }
.ex-topic[aria-pressed="true"] > span:last-child { text-decoration: underline; text-underline-offset: .3em; }
.ex-topic--produto { left: 18%; top: 20%; }
.ex-topic--metodologia { left: 53%; top: 12%; }
.ex-topic--enterprise { left: 84%; top: 29%; }
.ex-topic--fontes { left: 17%; top: 48%; }
.ex-topic--indicadores { left: 51%; top: 43%; }
.ex-topic--seguranca { left: 84%; top: 61%; }
.ex-topic--experiencias { left: 19%; top: 79%; }
.ex-topic--modalidades { left: 52%; top: 72%; }
.ex-topic--parecer { left: 79%; top: 90%; }
.ex-explanation { border-top: 1px solid #365173; padding-top: 1.15rem; }
.ex-explanation h3 { color: #f0f5fc; font-size: 1.125rem; margin: 0 0 .6rem; }
.ex-explanation p { font-size: .9375rem; color: #c5d4e8; line-height: 1.7; }
.ex-explanation a, .ex-source-link { font-size: .875rem; }
.ex-stage-note { color: #a8bdd9; font-size: .75rem; line-height: 1.6; margin: 1rem 0; }
.ex-comparison article { display: flex; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid #334c6b; }
.ex-step-number { color: #89bfff; font: 500 .75rem/1.7 var(--fonte-mono); padding-top: .15rem; }
.ex-comparison h3, .ex-case h3 { color: #e8f2ff; font-size: 1.2rem; margin: 0 0 .6rem; }
.ex-comparison p, .ex-case p { font-size: .9375rem; line-height: 1.7; color: #c5d4e8; margin: 0; }
.ex-comparison p.ex-limit { margin-top: .6rem; color: #9fc5f4; font-size: .8125rem; }
.ex-comparison .ex-source-link { display: inline-flex; padding-top: 1.1rem; }
.ex-case-label { font: 500 .6875rem/1.6 var(--fonte-mono); color: #b6ceee; padding: 1.2rem 0 1rem; }
.ex-case-steps { display: flex; flex-wrap: wrap; gap: .4rem; margin: .3rem 0 1.7rem; }
.ex-case-steps button { color: #b9cce5; border: 1px solid #4a6383; border-radius: .3rem; background: transparent; min-height: 2.75rem; padding: .45rem .6rem; font-size: .8125rem; cursor: pointer; }
.ex-case-steps button[aria-pressed="true"] { color: #fff; background: #1c467e; border-color: #84baff; }
.ex-case ul { padding-left: 1.1rem; margin: 1.25rem 0; }
.ex-case li { color: #dbe8f8; line-height: 1.65; margin: .75rem 0; font-size: .9375rem; }
.ex-case a { display: inline-block; margin: .5rem .75rem .5rem 0; font-size: .875rem; }
.ex-noscript { border-top: 1px solid #365173; padding: 2rem 0; margin-top: 2rem; }
.ex-noscript h2 { color: #fff; }
.explore-page [hidden] { display: none !important; }
.explore-page :focus-visible { outline: 3px solid #b7ddff; outline-offset: 4px; }
html:not(.js) .ex-prompts, html:not(.js) .ex-view-controls, html:not(.js) .ex-map { display: none; }
@keyframes ex-trace { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .ex-map-lines path { animation: none; } .ex-point { transition: none; } }
@media (max-width: 1000px) { .ex-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .ex-conversation, .ex-stage { padding: 1.3rem; } .ex-topic { font-size: .75rem; } }
@media (max-width: 780px) { .ex-heading { align-items: flex-start; flex-direction: column; gap: 1.2rem; } .ex-connection { max-width: 100%; } .ex-layout { grid-template-columns: minmax(0, 1fr); } .ex-stage { border-left: 0; border-top: 1px solid #30435d; } .ex-shell { padding-top: 2rem; } .ex-heading { margin-bottom: 1.5rem; } .ex-map { height: 24rem; } .ex-topic { font-size: .875rem; } }
@media (max-width: 420px) { .ex-conversation, .ex-stage { padding: 1rem; } .ex-heading h1 { font-size: 2.35rem; } .ex-map { height: 22rem; } .ex-topic { font-size: .75rem; min-width: 4.4rem; } .ex-view-controls { gap: 0; } .ex-view-controls button { padding: .45rem .5rem; font-size: .8125rem; } .ex-message--user { margin-left: .5rem; } }
/* W11 adapter only. Stars, labels, lines, controls and keyframes come unchanged from W10. */
.ex-map.is-space-ready {
  height: 34rem;
  margin: .75rem -1rem 1.1rem;
  background: #02050b;
  isolation: isolate;
  cursor: grab;
}
.ex-map.is-space-ready::before { display: none; }
.ex-map.is-space-ready > .ex-map-lines { display: none; }
.ex-map.is-space-ready .ex-space-canvas { z-index: 0; pointer-events: none; }
.ex-map.is-space-ready .ex-space-lines { z-index: 1; }
.ex-map.is-space-ready .map-stage__hint { z-index: 3; }
.ex-map.is-space-ready .map-tools { z-index: 1100; touch-action: pan-y; }
/* Use the published selection-current animation without creating a puzzle/completion state. */
.ex-map.is-space-ready .selection-flow { display: block; animation: selection-current 3s linear infinite; }
.ex-map.is-space-ready[data-space-running="false"] .selection-flow,
.ex-map.is-space-ready[data-ex-space-paused="true"] .selection-flow { animation-play-state: paused !important; }
@media (max-width: 1000px) { .ex-map.is-space-ready { margin-inline: -.6rem; } }
@media (max-width: 780px) { .ex-map.is-space-ready { height: 32rem; } }
@media (max-width: 420px) { .ex-map.is-space-ready { height: 31rem; margin-inline: -.5rem; } }
@media (prefers-reduced-motion: reduce) { .ex-map.is-space-ready .selection-flow { animation: none; } }

/* W11 — a conversa usa a identidade editorial; a imersão documental é do caso. */
.ex-shell { max-width:90rem; }
.ex-noscript,.ex-noscript h2 { color:var(--cor-tinta); }
.ex-noscript a { color:var(--cor-marca); }
.video-apresentacao--enterprise { max-width:44rem; }
.secao--demo-produto .link-seta { color:var(--cor-sinal); }
.explore-page { background:var(--cor-papel); color:var(--cor-tinta); }
.ex-heading h1 { color:var(--cor-tinta); font-size:var(--t-h1); letter-spacing:var(--tracking-titulo); line-height:var(--entrelinha-titulo); }
.ex-heading h1 em { color:var(--cor-marca); }
.ex-heading .ex-eyebrow,.ex-conversation .ex-eyebrow { color:var(--cor-marca); }
.ex-intro,.ex-connection p { color:var(--cor-tinta-suave); }
.ex-connection { border-color:var(--cor-filete); }
.ex-mode { color:var(--cor-tinta-suave); }
.ex-mode[data-live="true"]::before { background:var(--cor-sucesso); box-shadow:none; }
.ex-layout { grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr); gap:2rem; border:0; border-radius:0; overflow:visible; align-items:start; }
.ex-conversation { display:flex; flex-direction:column; background:#fff; border:1px solid var(--cor-filete); border-top:3px solid var(--cor-marca); border-radius:var(--raio); padding:2rem; }
.ex-conversation-heading { order:0; align-items:flex-start; }
.ex-conversation-heading h2 { color:var(--cor-tinta); font-size:1.5rem; letter-spacing:var(--tracking-titulo); }
.ex-conversation-heading .ex-eyebrow { font-size:.6875rem; }
.ex-page-context { order:0; max-width:none; color:var(--cor-acento); background:var(--cor-acento-lavado); font-size:.8125rem; padding:.6rem .8rem; border-radius:var(--raio); margin:0 0 1rem; }
.ex-composer { order:1; border:1px solid var(--cor-filete-forte); background:var(--cor-papel); border-radius:var(--raio); }
.ex-composer label { color:var(--cor-tinta); }
.ex-composer textarea { background:transparent; color:var(--cor-tinta); min-height:7.5rem; padding:.4rem 0; }
.ex-composer textarea::placeholder,.ex-composer-actions > span { color:var(--cor-tinta-tenue); }
.ex-composer textarea:disabled { background:var(--cor-papel-2); color:var(--cor-tinta-suave); }
.ex-send { background:var(--cor-marca); border-color:var(--cor-marca); }
.ex-send:hover { background:var(--cor-marca-escura); }
.ex-send:disabled { background:var(--cor-papel-3); color:var(--cor-tinta-suave); border-color:var(--cor-filete); }
.ex-composer > p,.ex-privacy { color:var(--cor-tinta-tenue); }
.ex-transcript { order:2; scrollbar-color:var(--cor-filete-forte) transparent; max-height:34rem; }
.ex-message--assistant { color:var(--cor-tinta-suave); }
.ex-message--user { background:var(--cor-papel-2); color:var(--cor-tinta); border-radius:var(--raio); }
.ex-message .ex-message-label { color:var(--cor-tinta-tenue); }
.ex-message + .ex-message--assistant { border-color:var(--cor-filete); }
.ex-conversation a,.ex-conversation summary,.ex-conversation .ex-text-button,.ex-connection .ex-text-button { color:var(--cor-marca); }
.ex-followups { order:3; }
.ex-followups button { border-color:var(--cor-filete); color:var(--cor-marca); border-radius:var(--raio); }
.ex-followups button:hover { color:var(--cor-marca-escura); background:var(--cor-papel-2); }
.ex-prompts-label { order:4; font-size:.65rem; }
.ex-prompts { order:5; }
.ex-prompts button { background:transparent; border-color:var(--cor-filete); color:var(--cor-tinta-suave); border-radius:var(--raio); font-size:.875rem; }
.ex-prompts button > span:last-child { color:var(--cor-marca); }
.ex-prompts button:hover,.ex-prompts button[aria-pressed="true"] { background:var(--cor-papel-2); border-color:var(--cor-marca); }
.ex-announcement { order:6; color:var(--cor-tinta-suave); }
.ex-privacy { order:7; }
.has-conversation .ex-transcript { order:1; }
.has-conversation .ex-followups { order:2; }
.has-conversation .ex-composer { order:3; }
.ex-stage { border:1px solid var(--cor-filete-invertido); border-radius:var(--raio); background:var(--cor-papel-escuro); padding:1.75rem; }
.ex-stage-heading h2 { font-size:1.5rem; letter-spacing:var(--tracking-titulo); }
.ex-explanation { border-top:0; padding-top:1.5rem; }
.ex-map-disclosure { margin-top:1.5rem; border-top:1px solid var(--cor-filete-invertido); padding-top:1rem; }
.ex-map-disclosure > summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; color:var(--cor-tinta-invertida); cursor:pointer; font-size:.875rem; }
.ex-map-disclosure > summary span { color:var(--cor-sinal); font-size:1.6rem; }
.ex-map-disclosure[open] > summary { color:var(--cor-sinal); }
.ex-case-entry { display:grid; gap:.5rem; padding-top:1.5rem; margin-top:1.5rem; border-top:1px solid var(--cor-filete-invertido); text-decoration:none!important; }
.ex-case-entry .ex-eyebrow { margin:0; font-size:.625rem; }
.ex-case-entry strong { color:var(--cor-tinta-invertida); font-size:1rem; }
.ex-case-entry > span:last-child { font-size:.8125rem; line-height:1.65; color:var(--cor-tinta-invertida-suave); }
.explore-page .ex-conversation :focus-visible,.ex-heading :focus-visible { outline:var(--anel-foco); outline-offset:4px; }
.experiencias .x-heading h1 { font-size:var(--t-h1); letter-spacing:var(--tracking-titulo); }
.has-videre-assistant .conexao-launcher { display:none; }
/* ==========================================================================
   W19 · P6 · acionador e janela (29/09/2026, spec-P6-futurista.md §2.3; decisão de Tiago
   de 29/09, "o logo, animação.. ta velho"). Supera o contrato do átomo da W11 (órbitas
   de 4 s/6 s e 12 s/18 s). Base: proposta 1 (órbita e nó luminoso), corpo em pílula
   inteira de vidro, órbitas num plano inclinado como o orbe do conceito 2.5. Só transform
   e opacity animam (M44); nenhum laço entre 4 e 6 s (M23); sem backdrop-filter.
   Cores de luz com reserva literal: este bloco não depende de futuro.css.
   ========================================================================== */
.videre-assistant-launcher {
  position: fixed; right: 1.25rem; bottom: max(1.25rem, env(safe-area-inset-bottom)); z-index: 46;
  display: flex; align-items: center; gap: .7rem;
  /* 56 px de altura como a pílula aprovada da proposta 1: o símbolo de 52 px leva 2 px acima e abaixo. */
  min-height: 56px; padding: .125rem 1.1rem .125rem .45rem;
  border: 0; border-radius: 999px;
  background: linear-gradient(180deg, rgba(20, 45, 80, .82), rgba(7, 16, 29, .94));
  box-shadow: none;
  color: #F6F8FC; font: 600 .875rem/1.25 var(--fonte-corpo); text-align: left;
  cursor: pointer; isolation: isolate; -webkit-tap-highlight-color: transparent;
}
/* Borda luminosa de 1 px em gradiente (máscara: só o anel da borda aparece). */
.videre-assistant-launcher .va-moldura {
  position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none;
  background: linear-gradient(120deg, #5B8CFF, #38E8FF 50%, #2F6BEF);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}
/* Brilho: camada pronta; só a opacidade muda (hover e foco). */
.videre-assistant-launcher .va-brilho {
  position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
  box-shadow: 0 0 0 1px rgba(56, 232, 255, .35), 0 0 28px rgba(56, 232, 255, .22), 0 12px 32px rgba(0, 0, 0, .45);
  opacity: .45; transition: opacity 180ms ease-out;
}
/* Trilha de luz: uma passada única pelo trecho reto da borda de cima (28 px = raio da ponta). */
.videre-assistant-launcher .va-trilha { position: absolute; inset: 0 28px auto; height: 1px; overflow: hidden; pointer-events: none; }
.videre-assistant-launcher .va-trilha::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, #EAFDFF 20px, transparent 40px) 0 0 / 40px 1px no-repeat;
  transform: translateX(-40px);
}
.videre-assistant-launcher:is(:hover, :focus-visible) .va-brilho { opacity: 1; }
.videre-assistant-launcher:is(:hover, :focus-visible) .va-trilha::before { animation: va-trilha 1.1s ease-in-out 1; }
.videre-assistant-launcher:focus-visible { outline: 2px solid #38E8FF; outline-offset: 4px; }
/* A regra global das páginas escuras (0 0 0 5px no :focus-visible) dobraria o anel. */
.site-clean .videre-assistant-launcher:focus-visible { box-shadow: none; }
.videre-assistant-launcher:focus:not(:focus-visible) { outline: none; }

/* Texto: título Public Sans 600; rótulo mono maiúsculo #9FD9E6 (10,3:1 sobre o topo do vidro). */
.videre-assistant-launcher .va-texto { position: relative; display: block; white-space: nowrap; letter-spacing: .005em; }
.videre-assistant-launcher .va-texto small {
  display: flex; align-items: center; gap: .4rem; margin-top: .1rem;
  font: 500 .65625rem/1.4 var(--fonte-mono); letter-spacing: .08em; text-transform: uppercase; color: #9FD9E6;
}
/* LED estático e decorativo: não indica estado da IA. */
.videre-assistant-launcher .va-led {
  flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%;
  background: radial-gradient(circle, #FFFFFF 0 1px, #38E8FF 2px, rgba(56, 232, 255, .35) 3px);
  box-shadow: 0 0 6px rgba(56, 232, 255, .7);
}
.videre-assistant-launcher .va-seta { position: relative; margin-left: .15rem; color: #38E8FF; font-size: .95rem; }
@media (hover: hover) and (pointer: fine) {
  .videre-assistant-launcher .va-seta { transition: transform 180ms ease-out; }
  .videre-assistant-launcher:is(:hover, :focus-visible) .va-seta { transform: translate(2px, -2px); }
}

/* Símbolo: V da marca no anel de vidro (52 px na pílula). */
.va-simbolo { position: relative; display: grid; place-items: center; flex: 0 0 auto; width: 3.25rem; height: 3.25rem; }
.va-simbolo > :not(.va-plano) { position: relative; grid-area: 1 / 1; }
.va-anel {
  width: 40px; height: 40px; border: 1px solid transparent; border-radius: 50%;
  background:
    radial-gradient(circle, #173A6A 0%, #050B16 70%) padding-box,
    conic-gradient(from 200deg, #5B8CFF, #38E8FF, #0B5CE8, #5B8CFF) border-box;
  box-shadow: inset 0 0 10px rgba(56, 232, 255, .25);
}
.va-halo {
  width: 44px; height: 44px; border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(56, 232, 255, .35), 0 0 18px rgba(56, 232, 255, .35);
  opacity: 0;
}
.va-v { width: 22px; height: 22px; overflow: visible; }
.va-v path { stroke-width: 8; stroke-linecap: square; stroke-linejoin: miter; }
.va-v--luz { display: block; filter: blur(2.2px); }
.va-v--luz path { stroke-width: 10; }
.va-v-luz { display: grid; place-items: center; opacity: .35; }
.va-stop-a { stop-color: #FFFFFF; }
.va-stop-b { stop-color: #9FF6FF; }
.va-stop-c { stop-color: #0B5CE8; }
.va-stop-d { stop-color: #38E8FF; }
/* Plano inclinado: invólucro estático; a elipse é o traço fixo e só .va-orbita gira. */
.va-plano { position: absolute; left: 50%; top: 50%; border-radius: 50%; pointer-events: none; }
.va-plano--a { width: 48px; height: 48px; transform: translate(-50%, -50%) rotate(-24deg) scaleY(.42); }
.va-plano--b { width: 56px; height: 56px; transform: translate(-50%, -50%) rotate(18deg) scaleY(.36); }
/* Anel C (29/09): meridiano que gira em torno do eixo vertical, como no vídeo da marca; parado, fica a 55°. */
.va-plano--c { width: 50px; height: 50px; transform: translate(-50%, -50%) rotate(14deg) rotateY(55deg); }
.va-plano--c .va-elipse { border-color: rgba(91, 140, 255, .32); }
.va-elipse { position: absolute; inset: 0; border: 1px solid rgba(56, 232, 255, .35); border-radius: 50%; }
.va-orbita { position: absolute; inset: 0; border-radius: 50%; }
.va-no { position: absolute; left: 50%; top: 0; border-radius: 50%; transform: translate(-50%, -50%); }
.va-no--a { width: 8px; height: 8px; background: radial-gradient(circle, #FFFFFF 0 1.5px, #9FF6FF 2.5px, #38E8FF 3.5px, rgba(56, 232, 255, 0) 4px); }
.va-no--b {
  width: 6px; height: 6px;
  background: radial-gradient(circle, #FFFFFF 0 1.2px, var(--fx-lilas, #9AA4FA) 2px, rgba(154, 164, 250, 0) 3px);
}
.va-no--c { width: 6px; height: 6px; background: radial-gradient(circle, #FFFFFF 0 1.2px, #7FA8FF 2px, rgba(91, 140, 255, 0) 3px); }
/* A segunda bolinha de um anel fica do lado oposto (a 180°), com o próprio rastro. */
.va-no--oposto { top: 100%; }
/* Rastro: arco de 90° atrás do nó, recortado no traço; gira junto com o nó (não é outra animação). */
.va-rastro {
  position: absolute; inset: 0; border-radius: 50%;
  background: conic-gradient(from 270deg, rgba(56, 232, 255, 0), rgba(56, 232, 255, .65) 25%, transparent 25.1%);
  -webkit-mask: radial-gradient(circle closest-side, transparent calc(100% - 3px), #000 calc(100% - 2.5px), #000 calc(100% - .5px), transparent 100%);
  mask: radial-gradient(circle closest-side, transparent calc(100% - 3px), #000 calc(100% - 2.5px), #000 calc(100% - .5px), transparent 100%);
}
.va-rastro--oposto { transform: rotate(180deg); }
.va-rastro--b { background: conic-gradient(from 90deg, rgba(154, 164, 250, .6), rgba(154, 164, 250, 0) 25%, transparent 25.1%); }
.va-rastro--c { background: conic-gradient(from 270deg, rgba(91, 140, 255, 0), rgba(127, 168, 255, .6) 25%, transparent 25.1%); }

/* Movimento normal: órbita A 8 s, órbita B 16 s ao contrário, halo e luz do V no ritmo da órbita A. */
.videre-assistant-launcher .va-orbita--a { animation: va-giro 2s linear infinite; will-change: transform; /* laço de rotação (M10) */ }
.videre-assistant-launcher .va-orbita--b { animation: va-giro-inverso 3s linear infinite; will-change: transform; /* laço de rotação (M10) */ }
/* 29/09 (Tiago: "os outros aneis girando tbm.. Igual aquele video da marca"): além das bolinhas, os três anéis
   giram. A e B giram no próprio plano (em sentidos opostos), C gira em torno do eixo vertical, e o anel de vidro
   gira devagar (a borda em gradiente muda de lugar). */
.videre-assistant-launcher .va-orbita--c { animation: va-giro 2.5s linear infinite; will-change: transform; }
.videre-assistant-launcher .va-plano--a { animation: va-anel-a 6s linear infinite; will-change: transform; }
.videre-assistant-launcher .va-plano--b { animation: va-anel-b 8s linear infinite; will-change: transform; }
.videre-assistant-launcher .va-plano--c { animation: va-anel-c 4s linear infinite; will-change: transform; }
.videre-assistant-launcher .va-anel { animation: va-giro 6s linear infinite; }
/* Girando no plano, o eixo maior de cada anel fica em pé de vez em quando: no máximo 50 px, para caber na pílula. */
.videre-assistant-launcher .va-plano--a { width: 46px; height: 46px; }
.videre-assistant-launcher .va-plano--b { width: 50px; height: 50px; }
.videre-assistant-launcher .va-plano--c { width: 48px; height: 48px; }
@keyframes va-anel-a { from { transform: translate(-50%, -50%) rotate(-24deg) scaleY(.42); } to { transform: translate(-50%, -50%) rotate(336deg) scaleY(.42); } }
@keyframes va-anel-b { from { transform: translate(-50%, -50%) rotate(18deg) scaleY(.36); } to { transform: translate(-50%, -50%) rotate(-342deg) scaleY(.36); } }
@keyframes va-anel-c { from { transform: translate(-50%, -50%) rotate(14deg) rotateY(55deg); } to { transform: translate(-50%, -50%) rotate(14deg) rotateY(415deg); } }
.videre-assistant-launcher .va-halo { animation: va-pulso 8s cubic-bezier(.45, 0, .55, 1) infinite; }
.videre-assistant-launcher .va-v-luz { animation: va-luz-v 8s cubic-bezier(.45, 0, .55, 1) infinite; }
@keyframes va-giro { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes va-giro-inverso { from { transform: rotate(0deg); } to { transform: rotate(-360deg); } }
@keyframes va-pulso { 0% { opacity: .75; transform: scale(.92); } 25% { opacity: 0; transform: scale(1.5); } 100% { opacity: 0; transform: scale(1.5); } }
@keyframes va-luz-v { 0% { opacity: 1; } 32% { opacity: .35; } 100% { opacity: .35; } }
@keyframes va-trilha { to { transform: translateX(100%); } }
/* W19 · P6 · janela da conversa (spec §2.3.5): moldura de console com borda em gradiente e halo,
   barra de vidro com cantoneiras (R-VIDRO + R-CANTOS) e filete luminoso no pé, botões em pílula
   (R-PILULA), fundo sem desfoque (§0.6: o blur de 12 px desfocava o canvas animado da página). */
.videre-assistant {
  width: min(1440px, calc(100vw - 3rem)); max-width: none; height: calc(100dvh - 3rem); max-height: none; padding: 0;
  border: 1px solid transparent; border-radius: 18px; color: #F6F8FC;
  background: linear-gradient(var(--cor-fundo-escuro, #010309), var(--cor-fundo-escuro, #010309)) padding-box, linear-gradient(135deg, #5B8CFF, #38E8FF 45%, #2F6BEF) border-box;
  box-shadow: var(--fx-halo-forte, 0 0 0 1px rgba(56, 232, 255, .35), 0 0 34px rgba(56, 232, 255, .18), 0 22px 56px rgba(0, 0, 0, .45));
  overflow: hidden;
}
.videre-assistant[open] { display: flex; flex-direction: column; animation: videre-assistant-enter .24s ease-out; }
.videre-assistant::backdrop { background: rgba(2, 7, 16, .92); }
.videre-assistant-bar {
  --va-canto: linear-gradient(#38E8FF, #38E8FF);
  --va-canto-luz: linear-gradient(rgba(56, 232, 255, .18), rgba(56, 232, 255, .18));
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem;
  border-bottom: 0;
  /* Cantoneiras (F11), filete luminoso do pé e o vidro; a cor opaca por baixo mantém a barra escura
     para a chuva da camada viva (vivo.js só monta a chuva em superfície de luminância < .2). */
  background:
    var(--va-canto), var(--va-canto), var(--va-canto), var(--va-canto),
    var(--va-canto), var(--va-canto), var(--va-canto), var(--va-canto),
    var(--va-canto-luz), var(--va-canto-luz), var(--va-canto-luz), var(--va-canto-luz),
    linear-gradient(90deg, rgba(91, 140, 255, 0) 0%, rgba(91, 140, 255, .75) 22%, rgba(56, 232, 255, .9) 50%, rgba(91, 140, 255, .75) 78%, rgba(91, 140, 255, 0) 100%),
    var(--fx-vidro, linear-gradient(180deg, rgba(20, 45, 80, .72) 0%, rgba(7, 16, 29, .88) 100%)),
    #07101D;
  background-position:
    10px 10px, 10px 10px, calc(100% - 10px) 10px, calc(100% - 10px) 10px,
    10px calc(100% - 10px), 10px calc(100% - 10px), calc(100% - 10px) calc(100% - 10px), calc(100% - 10px) calc(100% - 10px),
    8px 8px, 8px 8px, calc(100% - 8px) calc(100% - 8px), calc(100% - 8px) calc(100% - 8px),
    0 100%, 0 0;
  background-size:
    18px 2px, 2px 18px, 18px 2px, 2px 18px, 18px 2px, 2px 18px, 18px 2px, 2px 18px,
    22px 6px, 6px 22px, 22px 6px, 6px 22px,
    100% 1px, auto;
  background-repeat: no-repeat;
  box-shadow: var(--fx-reflexo, inset 0 1px 0 rgba(255, 255, 255, .08));
}
.videre-assistant-brand { display: flex; align-items: center; gap: 1rem; }
.videre-assistant-brand h2 { margin: 0; color: #F6F8FC; font: 600 1.125rem/1.3 var(--fonte-titulo); }
/* "a Videre" em gradiente (palavras que já existem); reserva sólida #5B8CFF sem background-clip. */
.videre-assistant-brand h2 .texto-gradiente { color: #5B8CFF; }
@supports (background-clip: text) or (-webkit-background-clip: text) {
  .videre-assistant-brand h2 .texto-gradiente { background-image: linear-gradient(90deg, #5B8CFF 0%, #38E8FF 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
}
.videre-assistant-brand p { margin: .15rem 0 0; font: 400 .8125rem/1.4 var(--fonte-corpo); color: #B2C0D4; }
.videre-assistant-actions { display: flex; align-items: center; gap: .75rem; }
.videre-assistant-actions button {
  min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--fx-borda-controle, #4A7795); border-radius: 999px;
  color: #EAF2FF; background: var(--luz-chip-denso, rgba(4, 16, 29, .85)); box-shadow: var(--fx-reflexo, inset 0 1px 0 rgba(255, 255, 255, .08));
  font: 500 .8125rem var(--fonte-corpo); cursor: pointer; transition: none;
}
.videre-assistant-actions button:hover { border-color: #38E8FF; box-shadow: 0 0 0 1px rgba(56, 232, 255, .25), 0 0 18px rgba(56, 232, 255, .22); }
/* W19 (T4/T5): sem o link da página completa; a pausa própria da janela segue o botão de pausa do rodapé
   (duas barras que viram triângulo quando pausado) e, no celular, fica só o ícone, com o nome acessível. */
.videre-assistant-actions button { white-space:nowrap; }
.videre-assistant-actions button:focus-visible { outline: 2px solid #38E8FF; outline-offset: 3px; box-shadow: 0 0 14px 2px rgba(56, 232, 255, .40); }
.videre-assistant-actions .videre-assistant-pausa { display:inline-flex; align-items:center; gap:.5rem; }
.videre-assistant-actions .videre-assistant-pausa::before { content:''; flex:none; box-sizing:border-box; width:10px; height:11px; border-left:3px solid var(--cor-acento-claro); border-right:3px solid var(--cor-acento-claro); }
.videre-assistant-actions .videre-assistant-pausa:hover { border-color:var(--cor-acento-claro); }
.videre-assistant-actions .videre-assistant-pausa[aria-pressed="true"] { border-color:var(--cor-acento-claro); background:rgba(56, 232, 255, .12); }
.videre-assistant-actions .videre-assistant-pausa[aria-pressed="true"]::before { width:0; height:0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:10px solid var(--cor-acento-claro); border-right:0; }
.videre-assistant iframe { width:100%; flex:1; min-height:0; border:0; background:var(--cor-fundo-escuro, #010309); }
.videre-assistant [hidden] { display:none!important; }
.videre-assistant-loading { flex:1; display:grid; align-content:center; justify-items:center; gap:1.5rem; text-align:center; padding:2rem; }
.videre-assistant-loading p { color: #B2C0D4; }
/* Link de reserva: pílula de contorno (R-PILULA), no lugar do link ciano da W11 (revisão C1-13). */
.videre-assistant-loading a {
  display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1rem;
  border: 1px solid var(--fx-borda-controle, #4A7795); border-radius: 999px; background: var(--luz-chip-denso, rgba(4, 16, 29, .85));
  box-shadow: var(--fx-reflexo, inset 0 1px 0 rgba(255, 255, 255, .08)); color: #EAF2FF; text-decoration: none; transition: none;
}
.videre-assistant-loading a:hover { border-color: #38E8FF; box-shadow: 0 0 0 1px rgba(56, 232, 255, .25), 0 0 18px rgba(56, 232, 255, .22); }
.videre-assistant-loading a:focus-visible { outline: 2px solid #38E8FF; outline-offset: 3px; box-shadow: 0 0 14px 2px rgba(56, 232, 255, .40); }
/* Emblema estático da barra (40 px; 32 px até 780 px): o mesmo símbolo, sem órbitas. */
.va-simbolo--estatico { width: 40px; height: 40px; }
.va-simbolo--estatico .va-anel { width: 38px; height: 38px; }
.va-simbolo--estatico .va-v { width: 20px; height: 20px; }
/* Emblema do carregamento (64 px): anel, órbita A no plano inclinado e a constelação do V
   (nós A, B, vértice C, D e E sobre o traço do V de 32 px, que começa a 16 px do canto). */
.va-simbolo--carga { width: 64px; height: 64px; }
.va-simbolo--carga .va-anel { width: 52px; height: 52px; }
.va-simbolo--carga .va-plano--a { width: 62px; height: 62px; }
.va-simbolo--carga .va-no--a { width: 10px; height: 10px; background: radial-gradient(circle, #FFFFFF 0 2px, #9FF6FF 3px, #38E8FF 4px, rgba(56, 232, 255, 0) 5px); }
.va-simbolo--carga .va-v { width: 32px; height: 32px; }
.va-simbolo--carga .va-v rect { transform-box: fill-box; transform-origin: center; }
.va-simbolo > .va-cons { position: absolute; inset: 0; pointer-events: none; }
.va-cno {
  position: absolute; width: 6px; height: 6px; border-radius: 50%; transform: translate(-50%, -50%);
  background: radial-gradient(circle, #FFFFFF 0 1px, #9FF6FF 1.8px, #38E8FF 2.6px, rgba(56, 232, 255, 0) 3px);
  box-shadow: 0 0 6px 1px rgba(56, 232, 255, .55);
}
.va-cno--a { left: 23.5px; top: 27px; }
.va-cno--b { left: 27.75px; top: 34.25px; }
.va-cno--c { left: 32px; top: 41.5px; }
.va-cno--d { left: 36.25px; top: 34.25px; }
.va-cno--e { left: 40.5px; top: 27px; }
.va-aresta { position: absolute; width: 8.4px; height: 1.5px; border-radius: 1px; transform-origin: 0 50%; background: rgba(234, 253, 255, .8); box-shadow: 0 0 4px rgba(56, 232, 255, .6); }
.va-aresta--1 { left: 23.5px; top: 26.25px; transform: rotate(59.62deg); }
.va-aresta--2 { left: 27.75px; top: 33.5px; transform: rotate(59.62deg); }
.va-aresta--3 { left: 32px; top: 40.75px; transform: rotate(-59.62deg); }
.va-aresta--4 { left: 36.25px; top: 33.5px; transform: rotate(-59.62deg); }
.va-onda { position: absolute; left: 32px; top: 41.5px; width: 22px; height: 22px; border: 1px solid #38E8FF; border-radius: 50%; box-shadow: 0 0 10px rgba(56, 232, 255, .45); transform: translate(-50%, -50%); opacity: 0; }
/* Cascata de acender, uma vez só (2,6 s; não é laço): cada peça parte do apagado (fill backwards)
   e termina no estado de repouso aceso; depois fica só a órbita A enquanto carrega. */
.videre-assistant-loading .va-orbita--a { animation: va-giro 8s linear infinite; will-change: transform; /* laço de rotação (M10) */ }
.videre-assistant-loading .va-cno { animation: va-acende-no .5s ease-out backwards; }
.videre-assistant-loading .va-cno--b { animation-delay: .3s; }
.videre-assistant-loading .va-cno--c { animation-delay: .6s; }
.videre-assistant-loading .va-cno--d { animation-delay: .9s; }
.videre-assistant-loading .va-cno--e { animation-delay: 1.2s; }
.videre-assistant-loading .va-aresta { animation: va-acende .4s ease-out backwards; }
.videre-assistant-loading .va-aresta--1 { animation-delay: .15s; }
.videre-assistant-loading .va-aresta--2 { animation-delay: .45s; }
.videre-assistant-loading .va-aresta--3 { animation-delay: .75s; }
.videre-assistant-loading .va-aresta--4 { animation-delay: 1.05s; }
.videre-assistant-loading .va-v path { animation: va-acende .5s ease-out 1.2s backwards; }
.videre-assistant-loading .va-v rect { animation: va-acende-barra .5s ease-out 1.5s backwards; }
.videre-assistant-loading .va-onda { animation: va-onda .6s ease-out 2s 1; }
@keyframes va-acende { from { opacity: 0; } }
@keyframes va-acende-no { from { opacity: 0; transform: translate(-50%, -50%) scale(0); } }
@keyframes va-acende-barra { from { opacity: 0; transform: scaleX(0); } }
@keyframes va-onda { from { opacity: .6; transform: translate(-50%, -50%) scale(.6); } to { opacity: 0; transform: translate(-50%, -50%) scale(1.6); } }
.is-assistant-open { overflow:hidden; }
.is-assistant-embedded .topo,.is-assistant-embedded .rodape,.is-assistant-embedded .pular,.is-assistant-embedded .faixa-rascunho { display:none; }
/* W19 (V21): na janela, o título principal da conversa fica só para leitor de tela; o resto do cabeçalho sai. */
.is-assistant-embedded .ex-heading { display:block; margin:0; }
.is-assistant-embedded .ex-heading > :not(:first-child),.is-assistant-embedded .ex-heading > :first-child > :not(h1) { display:none; }
.is-assistant-embedded .ex-heading h1 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.is-assistant-embedded .explore-page { background:var(--cor-papel-escuro); }
.is-assistant-embedded .ex-shell { padding:1.75rem; }
.is-assistant-embedded .ex-connection { max-width:none; border:0; border-bottom:1px solid var(--cor-filete); padding:0 0 1rem; margin-bottom:1rem; }
.is-assistant-embedded .ex-stage { border:0; padding:1.5rem .5rem; }
@keyframes videre-assistant-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media (max-width:1000px) { .ex-layout { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:1rem; } .ex-conversation { padding:1.5rem; } .ex-stage { padding:1.25rem; } }
@media (max-width:780px) {
  .ex-layout { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
  .ex-heading h1 { font-size:var(--t-h1); }
  .videre-assistant { width:100%; height:100dvh; margin:0; border:0; border-radius:0; box-shadow:none; }
  .videre-assistant-bar { padding:1.125rem 1.25rem; } /* P6: folga para as cantoneiras da barra (o braço de cima fica a 10–12 px do topo: os botões começam a 18 px, sem encostar) */
  .videre-assistant-actions { gap:.5rem; }
  .videre-assistant-actions .videre-assistant-pausa { width:44px; min-width:44px; justify-content:center; gap:0; padding:0; font-size:0; }
  .videre-assistant-brand { gap:.6rem; }
  .videre-assistant-brand h2 { font-size:.9375rem; }
  .videre-assistant-brand .va-simbolo--estatico { width:32px; height:32px; }
  .videre-assistant-brand .va-simbolo--estatico .va-anel { width:30px; height:30px; }
  .videre-assistant-brand .va-simbolo--estatico .va-v { width:16px; height:16px; }
  .is-assistant-embedded .ex-shell { padding:1rem; }
  .is-assistant-embedded .ex-conversation { padding:1.25rem; }
}
@media (max-width:400px) { .videre-assistant-brand p { display:none; } }
@media (forced-colors: active) {
  .videre-assistant-actions .videre-assistant-pausa::before { border-color:ButtonText; }
  .videre-assistant-actions .videre-assistant-pausa[aria-pressed="true"]::before { border-color:transparent; border-left-color:ButtonText; }
  .videre-assistant-actions .videre-assistant-pausa[aria-pressed="true"] { border-width:3px; }
  /* W19, ACS-04: sem forçar as bordas transparentes, o triângulo de retomar vira um quadrado. */
  .videre-assistant-actions .videre-assistant-pausa::before { forced-color-adjust:none; border-left-color:ButtonText; border-right-color:ButtonText; }
  .videre-assistant-actions .videre-assistant-pausa[aria-pressed="true"]::before { border-top-color:transparent; border-bottom-color:transparent; border-right-color:transparent; border-left-color:ButtonText; }
}
@media (prefers-reduced-motion:reduce) {
  .videre-assistant[open] { animation:none; }
}
/* W19 · P6 · movimento e modos do acionador e do carregamento (spec §2.3.6). Contagem esperada de
   animações infinitas (M16), depois de 5 s (29/09, três anéis): pílula 9 / círculo 9 / carregamento 1 no
   normal; 7 / 7 / 1 no leve, no calmo e no reduzido; 0 no pausado e no quieto; 0 no acionador com a janela aberta (vivo-sinais.css).
   Calmo: as duas vias escritas separadamente (revisão C2-03). A regra global de L206–210 (.01ms) não
   zera a repetição: rotação lenta ganha duração própria com !important, e pulso e luz saem (none). */
html.vivo-calmo .videre-assistant-launcher .va-orbita--a,
html.vivo-calmo .videre-assistant-loading .va-orbita--a { animation-duration: 12s !important; animation-iteration-count: infinite !important; }
html.vivo-calmo .videre-assistant-launcher .va-orbita--b { animation-duration: 18s !important; animation-iteration-count: infinite !important; }
html.vivo-calmo .videre-assistant-launcher .va-orbita--c { animation-duration: 15s !important; animation-iteration-count: infinite !important; }
html.vivo-calmo .videre-assistant-launcher :is(.va-plano, .va-anel) { animation-duration: 24s !important; animation-iteration-count: infinite !important; }
html.vivo-calmo .videre-assistant-launcher .va-halo { animation: none !important; opacity: .18; transform: none; }
html.vivo-calmo .videre-assistant-launcher .va-v-luz { animation: none !important; opacity: .55; }
html.vivo-calmo .videre-assistant-launcher .va-trilha::before { animation: none !important; }
html.vivo-calmo .videre-assistant-launcher .va-seta { transition: none !important; transform: none !important; }
html.vivo-calmo .videre-assistant-loading :is(.va-cno, .va-aresta, .va-v path, .va-v rect, .va-onda) { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  .videre-assistant-launcher .va-orbita--a,
  .videre-assistant-loading .va-orbita--a { animation-duration: 12s !important; animation-iteration-count: infinite !important; }
  .videre-assistant-launcher .va-orbita--b { animation-duration: 18s !important; animation-iteration-count: infinite !important; }
  .videre-assistant-launcher .va-orbita--c { animation-duration: 15s !important; animation-iteration-count: infinite !important; }
  .videre-assistant-launcher :is(.va-plano, .va-anel) { animation-duration: 24s !important; animation-iteration-count: infinite !important; }
  .videre-assistant-launcher .va-halo { animation: none !important; opacity: .18; transform: none; }
  .videre-assistant-launcher .va-v-luz { animation: none !important; opacity: .55; }
  .videre-assistant-launcher .va-trilha::before { animation: none !important; }
  .videre-assistant-launcher .va-seta { transition: none !important; transform: none !important; }
  .videre-assistant-loading :is(.va-cno, .va-aresta, .va-v path, .va-v rect, .va-onda) { animation: none !important; }
}
/* Leve: órbitas continuam; halo e luz do V fixos. */
html.vivo-leve .videre-assistant-launcher .va-halo { animation: none !important; opacity: .18; transform: none; }
html.vivo-leve .videre-assistant-launcher .va-v-luz { animation: none !important; opacity: .55; }
/* Pausado e quieto: none (não paused), o mesmo quadro em toda carga (M31): nó A a 40° com o rastro
   atrás, nó B a -150°, halo .2, luz do V .6; no carregamento, a constelação acesa e a órbita a 40°. */
html:is(.vivo-parado, .vivo-quieto) .videre-assistant-launcher :is(.va-orbita, .va-plano, .va-anel, .va-halo, .va-v-luz, .va-brilho, .va-seta),
html:is(.vivo-parado, .vivo-quieto) .videre-assistant-launcher .va-trilha::before,
html:is(.vivo-parado, .vivo-quieto) .videre-assistant-loading :is(.va-orbita, .va-cno, .va-aresta, .va-v path, .va-v rect, .va-onda) { animation: none !important; transition: none !important; }
html:is(.vivo-parado, .vivo-quieto) :is(.videre-assistant-launcher, .videre-assistant-loading) .va-orbita--a { transform: rotate(40deg); }
html:is(.vivo-parado, .vivo-quieto) .videre-assistant-launcher .va-orbita--b { transform: rotate(-150deg); }
html:is(.vivo-parado, .vivo-quieto) .videre-assistant-launcher .va-orbita--c { transform: rotate(110deg); }
html:is(.vivo-parado, .vivo-quieto) .videre-assistant-launcher .va-halo { opacity: .2; transform: none; }
html:is(.vivo-parado, .vivo-quieto) .videre-assistant-launcher .va-v-luz { opacity: .6; }
/* Contraste reforçado: sem brilho; borda sólida #5B8CFF (5,0:1 no topo do vidro). */
@media (prefers-contrast: more) {
  .videre-assistant-launcher .va-brilho { display: none; }
  .videre-assistant-launcher .va-moldura { background: #5B8CFF; }
}
/* Cores forçadas: sem camada decorativa; o botão, o anel e o V em cores do sistema. */
@media (forced-colors: active) {
  .videre-assistant-launcher { forced-color-adjust: none; border: 1px solid ButtonText; background: ButtonFace; color: ButtonText; }
  .videre-assistant-launcher :is(.va-moldura, .va-brilho, .va-trilha, .va-halo, .va-rastro, .va-plano, .va-v-luz, .va-led),
  .videre-assistant-loading :is(.va-plano, .va-cons) { display: none; }
  .va-simbolo { forced-color-adjust: none; }
  .va-simbolo .va-anel { background: Canvas; border: 1px solid ButtonText; box-shadow: none; animation: none !important; }
  .va-simbolo .va-v rect { fill: ButtonText; }
  .va-simbolo .va-v path { stroke: ButtonText; }
  .videre-assistant-launcher :is(.va-texto small, .va-seta) { color: ButtonText; }
  .videre-assistant-launcher:hover { border-color: Highlight; }
  .videre-assistant-launcher:focus-visible { outline: 2px solid Highlight; outline-offset: 4px; }
  .videre-assistant { background: Canvas; border-color: CanvasText; box-shadow: none; }
  .videre-assistant-bar { background: Canvas; box-shadow: none; }
  .videre-assistant-brand h2 .texto-gradiente { background: none; color: CanvasText; -webkit-text-fill-color: CanvasText; }
  .videre-assistant-actions button:focus-visible,
  .videre-assistant-loading a:focus-visible { outline: 2px solid Highlight; box-shadow: none; }
}
@media print {
  .videre-assistant-launcher, .videre-assistant { display: none !important; }
}
/* W19, M34: transparência reduzida (melhoria progressiva) troca o desfoque por fundo sólido. */
@media (prefers-reduced-transparency: reduce) {
  .topo { background: var(--cor-fundo-escuro); backdrop-filter: none; }
  .js .nav { backdrop-filter: none; }
  .videre-assistant::backdrop { background: #020710; }
  .videre-assistant-bar { background-color: #0C192B; background-image: none; }
  .x-immersive .x-synthesis { background: #08111F; backdrop-filter: none; }
}

/* W17 — leitura inicial e percursos curtos, mantendo Signal Cobalt. */
.site-clean .nav a { font-weight: 500; }
.site-clean .botao.nav__cta { background: transparent; border: 1px solid #506786; box-shadow: none; color: #e8eef7; }
.site-clean .botao.nav__cta:hover { background: #12233a; border-color: #8bb4eb; }
.site-clean .heroi--pagina { padding-block: clamp(2.5rem, 6vw, 5rem); min-height: 0; }
.site-clean .heroi--pagina::before, .site-clean .heroi--pagina::after,
.site-clean .heroi--pagina .env::after, .site-clean .sinal-revelacao { display: none; }
/* W19 — um peso só por nível: h1 dos heróis 600 (como os heróis m24) e h2 de seção 600
   (como .v-cabeca); chamada final e conexões ficam em 680, segundo nível deliberado. */
.site-clean .heroi--pagina h1 { max-width: 24ch; font-size: clamp(2rem, 1.6rem + 2.4vw, 3.8rem); font-weight: 600; letter-spacing: -.045em; }
.site-clean .heroi--pagina .lead { max-width: 66ch; font-size: clamp(1rem, .95rem + .35vw, 1.25rem); }
.site-clean .secao h2 { font-weight: 600; }
/* W19 (V12): os títulos de página fora dos heróis editoriais (Na prática, Conversa e 404) usam o mesmo peso. */
.site-clean :is(.experiencias .x-heading, .ex-heading, main.ib-404) h1 { font-weight: 600; }
.site-clean .secao::before, .site-clean .secao::after { display: none; }
.site-clean .card { box-shadow: none; }
.site-clean p.estado-oferta { display: block; margin: 1.5rem 0 0; max-width: 70ch; padding: 1rem 1.25rem; border-left: 2px solid #819abd; background: #0c1a2c; color: #c8d4e6; font-size: .9375rem; line-height: 1.65; }
.site-clean p.estado-oferta a { color: #d6e7ff; }
.site-clean p.estado-oferta strong { color: #edf3fb; font-weight: 600; }
.home-clean { background: var(--cor-fundo-escuro); color: #e8eef7; }
.home-clean main > section { scroll-margin-top: 6rem; }
.home-clean .env { max-width: 76rem; }
.home-clean p { color: #b8c5d7; }
.home-clean h1, .home-clean h2, .home-clean h3 { color: #ecf1f8; }
.home-clean a { text-underline-offset: .3em; }
.home-clean .abertura { padding: clamp(3rem, 7vw, 6rem) 0; background: var(--cor-fundo-escuro); }
/* Fundo ambiente: camada própria, abaixo do conteúdo da abertura atual. */
.home-clean [data-ambient-space] { position: relative; isolation: isolate; overflow: hidden; }
.home-clean [data-ambient-space] > .env { position: relative; z-index: 1; }
.abertura__grade { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, .85fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.home-clean .abertura h1 { max-width: 19ch; margin: 0 0 1.5rem; font-size: clamp(2.25rem, 1.4rem + 3.25vw, 4.4rem); font-weight: 450; line-height: 1.08; letter-spacing: -.045em; }
.home-clean .abertura .lead { max-width: 49ch; font-size: clamp(1.0625rem, 1rem + .4vw, 1.3125rem); font-weight: 400; line-height: 1.65; }
.home-clean .abertura__etiqueta { margin: 0 0 1.2rem; font: 500 .75rem/1.6 var(--fonte-corpo); letter-spacing: .07em; color: #a8bdd7; text-transform: uppercase; }
.home-clean .abertura__estado { margin: 1rem 0 0; max-width: 49ch; font-size: .8125rem; color: #9dafc6; }
.home-clean .botao--primario { background: #0b5ce8; border-color: #0b5ce8; box-shadow: none; font-weight: 600; }
.home-bloco { padding: clamp(3.5rem, 6vw, 5.5rem) 0; border-top: 1px solid #233044; }
.home-bloco--caso, .home-bloco--suave { background: var(--cor-fundo-escuro); }
.home-cabeca { max-width: 43rem; margin-bottom: 2.5rem; }
.home-cabeca h2 { font-size: clamp(1.8rem, 1.4rem + 1.6vw, 3rem); line-height: 1.15; letter-spacing: -.035em; font-weight: 450; margin: 0 0 1.25rem; }
/* W19 — blocos da Home abaixo da abertura: mesmo peso dos títulos de seção do site.
   O caso didático de Na prática (zona preservada) conserva a regra acima. */
.home-clean .home-bloco .home-cabeca h2 { font-weight: 600; letter-spacing: var(--tracking-titulo); }
.home-cabeca > p:not(.abertura__etiqueta) { font-size: 1.0625rem; line-height: 1.7; max-width: 60ch; }
.home-duas-colunas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.home-duas-colunas .home-cabeca { margin-bottom: 0; }
.caso-fontes { display: grid; grid-template-columns: minmax(0, 1fr) 3rem minmax(0, 1fr); gap: 1rem; align-items: stretch; }
.caso-fontes article { padding: 1.75rem; border: 1px solid #34445c; border-radius: .5rem; background: var(--cor-fundo-escuro-cartao); }
.caso-fontes h3, .caso-resultado h3 { font-size: 1.45rem; font-weight: 500; letter-spacing: -.02em; margin: .4rem 0 1rem; }
.home-clean .caso-ref { font: 400 .75rem/1.6 var(--fonte-mono); color: #9fb7d5; margin: 0; }
.caso-fontes a, .home-confianca a { color: #c5ddff; font-size: .9375rem; }
.caso-conector { display: grid; place-items: center; color: #6ed6e7; font-size: 2rem; }
.caso-resultado { padding: 1.75rem 0 0 1.5rem; margin: 2rem 0; border-left: 2px solid #38b7d0; max-width: 60rem; }
.caso-resultado p { max-width: 77ch; }
.leitura-extra { margin-top: 1.5rem; border-block: 1px solid #34445c; color: #dce6f4; }
.leitura-extra > summary { padding: 1.25rem .25rem; cursor: pointer; font-size: 1rem; font-weight: 500; }
.leitura-extra > div { padding: .5rem .25rem 1rem; }
.leitura-extra a { color: #c5ddff; }
.home-proximo { display: flex; align-items: baseline; gap: 1.25rem; flex-wrap: wrap; margin-top: 1.75rem; }
.home-proximo span { font-size: .8125rem; }
.modalidades-resumo { margin: 0; }
.modalidades-resumo > div { padding: 1.25rem 0; border-bottom: 1px solid #34445c; }
.modalidades-resumo > div:first-child { padding-top: 0; }
.modalidades-resumo dt { font-size: 1.25rem; font-weight: 500; color: #ecf1f8; }
.modalidades-resumo dt span { display: block; margin: .4rem 0; font-size: .75rem; font-weight: 400; color: #a8bdd7; }
.modalidades-resumo dd { margin: .6rem 0 0; font-size: .9375rem; color: #b8c5d7; line-height: 1.7; }
.home-aplicacoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.home-aplicacoes > a { display: block; border-top: 1px solid #405572; padding-top: 1.5rem; text-decoration: none; }
.home-aplicacoes > a:hover h3 { text-decoration: underline; }
.home-aplicacoes > a > span:first-child { color: #a8bdd7; font-size: .8125rem; }
.home-aplicacoes h3 { margin: 1rem 0; font-size: 1.5rem; line-height: 1.3; font-weight: 450; }
.home-aplicacoes > a > span:last-child { color: #a7cbff; font-size: 1.5rem; }
.metodo-trilha { list-style: none; margin: 0; padding: 0; counter-reset: metodo; }
.metodo-trilha li { counter-increment: metodo; position: relative; padding: 0 0 1.5rem 2.7rem; border-left: 1px solid #34445c; }
.metodo-trilha li::before { content: counter(metodo, decimal-leading-zero); position: absolute; top: 0; left: .75rem; font: 400 .7rem/1.8 var(--fonte-mono); color: #9eb5d3; }
.metodo-trilha strong { display: block; color: #e4ecf8; font-weight: 500; margin-bottom: .35rem; }
.metodo-trilha span { display: block; font-size: .9375rem; color: #b8c5d7; }
.leitura-extra--mapa { margin-top: 3rem; }
.leitura-extra--mapa .universo { padding: 2rem 0; }
.home-confianca { padding-left: 2rem; border-left: 1px solid #34445c; }
.home-confianca h3 { font-size: 1.25rem; font-weight: 500; }
.home-confianca a { display: block; margin-top: 1rem; }
@media (max-width: 900px) {
  .abertura__grade, .home-duas-colunas { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .home-clean .abertura h1 { max-width: 22ch; }
  .home-aplicacoes { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .home-confianca { padding-left: 0; border-left: 0; }
}
@media (max-width: 720px) {
  /* Acesso persistente compacto; o nome continua disponível à tecnologia assistiva. */
  /* W19 · P6 (spec §2.3.4): anel de vidro circular de 56 px, sem cantoneiras; o texto e a seta
     saem da vista (as camadas .va-moldura, .va-brilho e .va-trilha não podem ser escondidas). */
  .site-clean .videre-assistant-launcher { width: 3.5rem; height: 3.5rem; min-height: 0; padding: 0; right: max(.75rem, env(safe-area-inset-right)); bottom: max(.75rem, env(safe-area-inset-bottom)); justify-content: center; gap: 0; border-radius: 50%; }
  .site-clean .videre-assistant-launcher > :is(.va-texto, .va-seta) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .site-clean .videre-assistant-launcher .va-simbolo { width: 46px; height: 46px; }
  /* 29/09 (Tiago viu uma bolinha só no iPhone): a órbita B voltou; os três anéis cabem no círculo de 56 px. */
  .site-clean .videre-assistant-launcher .va-plano--a { width: 44px; height: 44px; }
  .site-clean .videre-assistant-launcher .va-plano--b { width: 48px; height: 48px; }
  .site-clean .videre-assistant-launcher .va-plano--c { width: 44px; height: 44px; }
  /* Revisão C2-14: o contorno fica dentro dos 56 px (vão de 8 px a 390 e de 6 px a 360). */
  .site-clean .videre-assistant-launcher:focus-visible { outline-offset: -2px; }
  /* W18: o mesmo acesso ocupa espaço próprio também nos cabeçalhos internos. P6 (revisão C2-02):
     relative (com inset: auto, sem deslocar), não static, para as camadas absolutas se posicionarem pelo botão e não pela cápsula. */
  .site-clean .topo__env > .videre-assistant-launcher { position: relative; inset: auto; flex: 0 0 3.5rem; width: 3.5rem; height: 3.5rem; margin: 0; }
  .has-videre-assistant .nav.nav--aberta { max-height: calc(100dvh - 73px); }
  .home-clean .abertura { padding-block: 2.5rem; }
  .home-clean .abertura h1 { font-size: clamp(2rem, 8.6vw, 3rem); }
  .home-clean .abertura .lead { font-size: 1rem; line-height: 1.6; }
  .home-clean .abertura__etiqueta { margin-bottom: 1rem; }
  .home-bloco { padding-block: 3rem; }
  .caso-fontes { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .caso-fontes article { padding: 1.25rem; }
  .caso-conector { height: 1.25rem; font-size: 1.5rem; transform: rotate(90deg); }
  .caso-resultado { padding-left: 1rem; }
}


/* W17: contraste dos links sobre a apresentação escura e dos cartões herdados. */
.home-clean .link-seta { color: #bfd8fb; }
.home-clean .link-seta:hover { color: #fff; }
.home-clean .universo .botao--primario { color: #fff; }
.site-clean .estado-oferta article h3 { color: #16253a; }


/* A ficha em cinco passos privilegia leitura em linhas e a relação com a evidência. */
.ficha-metodo { list-style: none; margin: 0; padding: 0; max-width: 62rem; counter-reset: ficha; }
.ficha-metodo > li { display: grid; grid-template-columns: 2rem minmax(12rem, .85fr) minmax(0, 1.5fr); gap: 1.5rem; padding: 1.5rem 0; margin: 0; border-top: 1px solid #ccd5e3; counter-increment: ficha; }
.ficha-metodo > li::before { content: counter(ficha, decimal-leading-zero); font: 400 .75rem/1.7 var(--fonte-mono); color: #405576; }
.ficha-metodo strong { font-size: 1rem; font-weight: 600; line-height: 1.6; }
.ficha-metodo span { font-size: .9375rem; line-height: 1.75; color: #354b69; }
@media (max-width: 720px) {
  .ficha-metodo > li { grid-template-columns: 1.5rem minmax(0, 1fr); gap: .5rem 1rem; padding: 1.25rem 0; }
  .ficha-metodo > li::before { grid-row: span 2; }
  .ficha-metodo strong, .ficha-metodo span { grid-column: 2; }
}

/* W17 — adaptação integral: faixas fluidas, linhas de leitura limitadas.
   Abertura, mapa e movimento da home mantêm seu contrato em home-oferta.css.
   Não altera o tamanho raiz, zoom, fontes, conteúdo ou estado dos componentes. */
@media screen and (min-width: 1051px) {
  .site-clean {
    --margem-pagina: max(2rem, 4vw);
    --coluna-max: 100%;
    --t-mini: clamp(.75rem, .5rem + .25vw, 1.0625rem);
    --t-menor: clamp(.875rem, .6rem + .3vw, 1.25rem);
    --t-base: clamp(1rem, .7rem + .35vw, 1.375rem);
    --t-corpo: clamp(1.125rem, .8125rem + .4vw, 1.625rem);
    --t-lead: clamp(1.25rem, 1rem + .4vw, 1.875rem);
    --t-h4: clamp(1.5rem, 1rem + .5vw, 2rem);
    --t-h3: clamp(1.9375rem, 1.25rem + .7vw, 2.75rem);
    --t-h2: clamp(2.4375rem, 1.5rem + 1vw, 3.75rem);
    --t-h1: clamp(3rem, 2rem + 1.5vw, 5.25rem);
    --fluido-gap: clamp(2rem, 4vw, 7rem);
    --fluido-pad: clamp(1.5rem, 2vw, 3rem);
  }
  .site-clean .env,
  .site-clean .topo .env,
  .site-clean .rodape .env,
  .site-clean .heroi--pagina .env { max-width: none; padding-inline: var(--margem-pagina); }
  .site-clean .universo--abertura > .env { padding-inline: 0; }
  .site-clean .secao > .env::before { display: none; }
  .site-clean .grade, .site-clean .home-duas-colunas,
  .site-clean .abertura-estudo { gap: var(--fluido-gap); }
  .site-clean .grade--lado, .site-clean .grade--lado-inverso,
  .home-clean .home-duas-colunas { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .site-clean .secao, .home-clean .home-bloco { padding-block: clamp(4rem, 4.5vw, 8rem); }
  .site-clean .secao--compacta { padding-block: clamp(3rem, 3vw, 6rem); }
  .site-clean .heroi--pagina h1 { font-size: var(--t-h1); max-width: 24ch; }
  .site-clean .heroi--pagina .lead { font-size: var(--t-lead); max-width: 58ch; }
  .site-clean p.estado-oferta { font-size: var(--t-menor); max-width: 66ch; padding: var(--fluido-pad); }
  /* Título e explicação compartilham a faixa, mantendo linhas legíveis. */
  .site-clean .heroi--pagina > .env { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--fluido-gap); align-items: start; }
  .site-clean .heroi--pagina > .env > .versalete { grid-column: 1 / -1; }
  .site-clean .heroi--pagina > .env > h1 { grid-column: 1; grid-row: 2 / span 10; }
  .site-clean .heroi--pagina > .env > :not(h1):not(.versalete):not(.sinal-revelacao) { grid-column: 2; }
  .site-clean .heroi--pagina .acoes { flex-wrap: wrap; }
  .site-clean .secao > .env:has(> h2) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--fluido-gap); align-items: start; }
  .site-clean .secao > .env:has(> h2) > h2 { grid-column: 1; grid-row: 1 / span 20; }
  .site-clean .secao > .env:has(> h2) > :not(h2) { grid-column: 2; }
  .site-clean .card, .site-clean .rota-metodo { padding: var(--fluido-pad); }
  .site-clean .ficha-metodo { max-width: none; }
  .site-clean .ficha-metodo > li { grid-template-columns: 2.5rem minmax(0, 1fr) minmax(0, 1fr); gap: var(--fluido-gap); padding-block: var(--fluido-pad); }
  .site-clean .ficha-metodo strong, .site-clean .ficha-metodo span { font-size: var(--t-corpo); max-width: 60ch; }
  .site-clean .cabeca-editorial { grid-template-columns: 4.5rem minmax(0, 1fr); }
  .site-clean .cabeca-editorial h2 { font-size: var(--t-h2); }
  .site-clean .abertura-estudo__texto .lead { font-size: var(--t-lead); }
  .site-clean .fluxo-historico { max-width: none; }
  .site-clean .conexoes-pagina__links { gap: var(--fluido-pad); }
  .site-clean .conexoes-pagina .conexao-link { padding: var(--fluido-pad); }
  .site-clean .conexoes-pagina .conexao-link > span:first-child { font-size: var(--t-h4); }
  .site-clean .conexoes-pagina .conexao-link small { font-size: var(--t-base); max-width: 60ch; }
  .site-clean .conexoes-pagina__heading > button { font-size: var(--t-menor); }
  .site-clean .rodape { font-size: var(--t-base); padding-block: clamp(3rem, 4vw, 6rem); }
  .site-clean .rodape__grade { gap: var(--fluido-gap); }
  .site-clean .rodape__marca p { max-width: 42ch; }
  .site-clean .rodape__institucional { font-size: var(--t-menor); }
  .site-clean .rodape .marca__assinatura { width: clamp(15rem, 10vw, 22rem); }
  /* Home abaixo da abertura: mesma margem, hierarquia e escala de leitura. */
  .home-clean .home-cabeca { max-width: none; }
  .home-clean .home-cabeca h2 { font-size: var(--t-h2); max-width: 24ch; }
  .home-clean .home-cabeca > p:not(.abertura__etiqueta) { font-size: var(--t-corpo); max-width: 60ch; }
  .home-clean .home-bloco .abertura__etiqueta { font-size: var(--t-mini); }
  .home-clean .home-bloco .link-seta { font-size: var(--t-base); }
  .home-clean .home-proximo span, .home-clean .modalidades-resumo dt span { font-size: var(--t-mini); }
  .home-clean .modalidades-resumo dt, .home-clean .home-confianca h3 { font-size: var(--t-h4); }
  .home-clean .modalidades-resumo dd, .home-clean .metodo-trilha span { font-size: var(--t-corpo); max-width: 60ch; }
  .home-clean .modalidades-resumo > div { padding-block: var(--fluido-pad); }
  .home-clean .modalidades-resumo > div:first-child { padding-top: 0; }
  .home-clean .caso-fontes { gap: var(--fluido-pad); }
  .home-clean .caso-fontes article { padding: var(--fluido-pad); }
  .home-clean .caso-fontes h3, .home-clean .caso-resultado h3,
  .home-clean .home-aplicacoes h3 { font-size: var(--t-h4); }
  .home-clean .caso-ref { font-size: var(--t-mini); }
  .home-clean .caso-fontes a, .home-clean .home-confianca a { font-size: var(--t-base); }
  .home-clean .caso-resultado { max-width: none; }
  .home-clean .caso-resultado p { max-width: 66ch; }
  .home-clean .home-aplicacoes { gap: var(--fluido-gap); }
  .home-clean .home-aplicacoes > a > span:first-child { font-size: var(--t-menor); }
  .home-clean .metodo-trilha { max-width: none; }
  .home-clean .metodo-trilha li { padding-left: 3.5rem; padding-bottom: var(--fluido-pad); }
  .home-clean .metodo-trilha li::before { font-size: var(--t-mini); }
  .home-clean .video-institucional { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--fluido-gap); }
  /* Conversa: a interface cresce; as mensagens conservam uma medida de leitura. */
  .site-clean:not(.is-assistant-embedded) .ex-layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--fluido-gap); }
  .site-clean:not(.is-assistant-embedded) .ex-heading { gap: var(--fluido-gap); }
  .site-clean:not(.is-assistant-embedded) .ex-connection { max-width: 40ch; font-size: var(--t-base); }
  .site-clean:not(.is-assistant-embedded) .ex-conversation,
  .site-clean:not(.is-assistant-embedded) .ex-stage { padding: var(--fluido-pad); }
  .site-clean:not(.is-assistant-embedded) .ex-intro { font-size: var(--t-corpo); max-width: 60ch; }
  .site-clean:not(.is-assistant-embedded) .ex-message,
  .site-clean:not(.is-assistant-embedded) .ex-composer textarea,
  .site-clean:not(.is-assistant-embedded) .ex-explanation p,
  .site-clean:not(.is-assistant-embedded) .ex-comparison p,
  .site-clean:not(.is-assistant-embedded) .ex-case p { font-size: var(--t-corpo); }
  .site-clean:not(.is-assistant-embedded) .ex-message p { max-width: 66ch; }
  .site-clean:not(.is-assistant-embedded) .ex-prompts button,
  .site-clean:not(.is-assistant-embedded) .ex-view-controls button,
  .site-clean:not(.is-assistant-embedded) .ex-composer label,
  .site-clean:not(.is-assistant-embedded) .ex-connection p { font-size: var(--t-base); }
  .site-clean:not(.is-assistant-embedded) .ex-eyebrow,
  .site-clean:not(.is-assistant-embedded) .ex-privacy,
  .site-clean:not(.is-assistant-embedded) .ex-stage-note { font-size: var(--t-mini); }
  .site-clean:not(.is-assistant-embedded) .ex-conversation-heading h2,
  .site-clean:not(.is-assistant-embedded) .ex-stage-heading h2 { font-size: var(--t-h4); }
  .site-clean:not(.is-assistant-embedded) .ex-explanation h3,
  .site-clean:not(.is-assistant-embedded) .ex-comparison h3,
  .site-clean:not(.is-assistant-embedded) .ex-case h3 { font-size: var(--t-h4); }
  .site-clean:not(.is-assistant-embedded) .ex-map { height: clamp(25rem, 22vw, 46rem); }
}
@media screen and (min-width: 1201px) {
  .site-clean .topo .marca__assinatura { width: clamp(12.5rem, 10.416667vw, 20rem); }
  .site-clean .nav ul { gap: clamp(.75rem, .625vw, 1.5rem); }
  .site-clean .nav ul a { font-size: clamp(.875rem, .375rem + .416667vw, 1.25rem); }
  .site-clean .nav__cta { font-size: clamp(.9375rem, .4375rem + .416667vw, 1.375rem); }
}


@media screen and (min-width: 1051px) {
  /* Coleções ocupam a faixa; a medida de prosa pertence a cada item. */
  .site-clean .escalada-caso { max-width: none; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--fluido-pad); margin-bottom: var(--fluido-pad); }
  .site-clean .escalada-caso > li { min-width: 0; }
  .site-clean .escalada-caso > li span { display: block; max-width: 60ch; }
  .site-clean .card__corpo { max-width: 66ch; }
  .site-clean .rodape .rodape__institucional { max-width: none; }
  .site-clean .secao > .env:has(> .secao__cabeca + .prosa),
  .site-clean .env--estreito > .prosa:has(> h2) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--fluido-gap); align-items: start; }
  .site-clean .env--estreito > .prosa:has(> h2) > h2 { grid-column: 1; margin-top: 0; }
  .site-clean .env--estreito > .prosa:has(> h2) > :not(h2) { grid-column: 2; }
  .site-clean .env--estreito > .prosa:has(> h2) > h2:not(:first-child) { margin-block: var(--fluido-pad); }
  .home-clean #caso-curto .home-cabeca { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--fluido-gap); align-items: start; }
  .home-clean #caso-curto .home-cabeca > .abertura__etiqueta { grid-column: 1 / -1; }
  .home-clean #caso-curto .home-cabeca > h2 { grid-column: 1; }
  .home-clean #caso-curto .home-cabeca > p:not(.abertura__etiqueta) { grid-column: 2; }
  /* Explicações e documentos têm escala própria; as posições do grafo não mudam. */
  .site-clean .x-heading > p { max-width: 48ch; font-size: var(--t-corpo); }
  .site-clean .x-panel { padding: var(--fluido-pad); }
  .site-clean .x-tabs strong, .site-clean .x-company dl > div,
  .site-clean .x-source { font-size: var(--t-base); }
  .site-clean .x-tabs small, .site-clean .x-small,
  .site-clean .x-disclosure, .site-clean .x-method-note,
  .site-clean .x-documents > summary > span:last-child,
  .site-clean .x-document-list article > p:last-child { font-size: var(--t-menor); }
  .site-clean .x-company-line, .site-clean .x-inspector > p:not(.x-eyebrow),
  .site-clean .x-findings p, .site-clean .x-answer p,
  .site-clean .x-document-list blockquote { font-size: var(--t-corpo); }
  .site-clean .x-document-list h2, .site-clean .x-findings h4 { font-size: var(--t-h4); }
  .site-clean .x-document-list article { padding: var(--fluido-pad); }
  .site-clean:not(.is-assistant-embedded) .ex-text-button,
  .site-clean:not(.is-assistant-embedded) .ex-send,
  .site-clean:not(.is-assistant-embedded) .ex-source-link,
  .site-clean:not(.is-assistant-embedded) .ex-map-disclosure > summary,
  .site-clean:not(.is-assistant-embedded) .ex-case-entry strong,
  .site-clean:not(.is-assistant-embedded) .ex-explanation a { font-size: var(--t-base); }
  .site-clean:not(.is-assistant-embedded) .ex-composer > p,
  .site-clean:not(.is-assistant-embedded) .ex-case-entry > span:last-child,
  .site-clean:not(.is-assistant-embedded) .ex-mode { font-size: var(--t-menor); }
}


@media screen and (min-width: 1051px) {
  .home-clean .universo--abertura .universo__insight h3 { font-size: var(--t-h4); }
  .home-clean .universo--abertura .universo__insight p { font-size: var(--t-base); max-width: 66ch; }
  .home-clean .universo--abertura .universo__insight > a { font-size: var(--t-base); }
}
/* W17/A7 — Na prática: o caso existente abre o percurso da investigação. */
.caso-didatico { margin-block: 2rem 3rem; padding-block: clamp(2rem, 3vw, 5rem); border-block: 1px solid #34445c; }
.caso-didatico .home-cabeca { max-width: none; }
.caso-didatico .home-cabeca h2 { color: #ecf1f8; font-size: var(--t-h2); }
.caso-didatico .home-cabeca > p:not(.abertura__etiqueta), .caso-didatico article > p:not(.caso-ref), .caso-didatico .caso-resultado p, .caso-didatico .leitura-extra p { font-size: var(--t-corpo); max-width: 66ch; }
.caso-didatico .abertura__etiqueta, .caso-didatico .caso-ref { font: 500 var(--t-mini)/1.6 var(--fonte-mono); color: #9fb7d5; }
.caso-didatico .caso-fontes { gap: clamp(.75rem, 2vw, 3rem); }
.caso-didatico .caso-fontes article { padding: clamp(1.25rem, 2vw, 3rem); background: var(--cor-fundo-escuro-cartao); border-color: #34445c; }
.caso-didatico .caso-fontes h3, .caso-didatico .caso-resultado h3 { color: #ecf1f8; font-size: var(--t-h4); }
.caso-didatico .caso-fontes a, .caso-didatico .leitura-extra a { color: #c5ddff; font-size: var(--t-base); }
.caso-didatico .caso-conector { color: #6ed6e7; }
.caso-didatico .caso-resultado { max-width: none; border-color: #38b7d0; }
.caso-didatico .leitura-extra { color: #dce6f4; border-color: #34445c; }
.caso-didatico .leitura-extra > summary, .caso-didatico .home-proximo > a { font-size: var(--t-base); }
.caso-didatico .home-proximo > a { color: #c5ddff; }
.caso-didatico .home-proximo > span { font-size: var(--t-menor); }
.caso-didatico__contexto { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1.5rem; align-items: center; margin-bottom: 2rem; }
.caso-didatico__contexto > p { max-width: 46ch; font-size: var(--t-menor); }
.caso-didatico__contexto dl { display: flex; flex-wrap: wrap; gap: clamp(1rem, 3vw, 4rem); margin: 0; }
.caso-didatico__contexto dt { font-size: var(--t-menor); }
.caso-didatico__contexto dd { margin: .3rem 0 0; font-size: var(--t-h4); font-weight: 600; }
@media (min-width: 1051px) {
  .caso-didatico .home-cabeca { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 var(--fluido-gap); align-items: start; }
  .caso-didatico .home-cabeca > .abertura__etiqueta { grid-column: 1 / -1; }
  .caso-didatico .home-cabeca > h2 { grid-column: 1; }
  .caso-didatico .home-cabeca > p:not(.abertura__etiqueta) { grid-column: 2; }
}
/* Preferência expressa A7, ajustada pela decisão 3 de Tiago (26/09/2026): texto justificado
   só na prosa longa, acima de 480 px. Cartões, caixas, notas, asides, quadros, colunas
   estreitas e texto mono ficam alinhados à esquerda, e todo o site até 480 px.
   As zonas preservadas (abertura e constelação da Home, mapa, caso didático, investigação
   e conversa) mantêm o comportamento anterior em qualquer largura. */
.site-clean :where(main, .map-reader, .rodape__marca) p:not(:where(
  .abertura__etiqueta, .abertura__publico, .abertura__estado, .versalete, .caso-ref,
  .home-proximo, .acoes, .universe-js, .map-kicker, .map-stage__hint,
  .x-space-selection-note, .x-map-connect-context p,
  .x-eyebrow, .x-company-foot, .x-announcement, .ex-eyebrow, .ex-message-label,
  .ex-announcement, .ex-case-label, .ex-stage-note, [role="status"], [data-conexao-where], [data-map-status], [data-x-progress],
  .x-closing p, .x-map-label p, .x-graph-toolbar p, .universo__caption p,
  .universo__bottom p, nav p, button p
)) { text-wrap: pretty; overflow-wrap: break-word; }
.site-clean :where(.map-reader, main :is(.abertura, .universo, .universe-space, [data-ambient-space],
  .caso-didatico, .x-panel, .x-ask, .x-controls, .x-immersive)) p:not(:where(
  .abertura__etiqueta, .abertura__publico, .abertura__estado, .versalete, .caso-ref,
  .home-proximo, .acoes, .universe-js, .map-kicker, .map-stage__hint,
  .x-space-selection-note, .x-map-connect-context p,
  .x-eyebrow, .x-company-foot, .x-announcement, .ex-eyebrow, .ex-message-label,
  .ex-announcement, .ex-case-label, .ex-stage-note, [role="status"], [data-conexao-where], [data-map-status], [data-x-progress],
  .x-closing p, .x-map-label p, .x-graph-toolbar p, .universo__caption p,
  .universo__bottom p, nav p, button p
)) { text-align: justify; text-align-last: start; hyphens: auto; hyphenate-limit-chars: 6 3 3; }
/* W19, D05: abaixo de 481 px a Home também alinha à esquerda, como o resto do site (sem rios). */
@media (max-width: 480px) {
  .site-clean :is(.map-reader, main :is(.abertura, .universo, .universe-space, [data-ambient-space],
    .caso-didatico, .x-panel, .x-ask, .x-controls, .x-immersive)) p:not(:where(
    .abertura__etiqueta, .abertura__publico, .abertura__estado, .versalete, .caso-ref,
    .home-proximo, .acoes, .universe-js, .map-kicker, .map-stage__hint,
    .x-space-selection-note, .x-map-connect-context p,
    .x-eyebrow, .x-company-foot, .x-announcement, .ex-eyebrow, .ex-message-label,
    .ex-announcement, .ex-case-label, .ex-stage-note, [role="status"], [data-conexao-where], [data-map-status], [data-x-progress],
    .x-closing p, .x-map-label p, .x-graph-toolbar p, .universo__caption p,
    .universo__bottom p, nav p, button p
  )) { text-align: start; text-align-last: start; hyphens: manual; }
}
@media (min-width: 481px) {
  .site-clean main p:not(:where(
    .abertura__etiqueta, .abertura__publico, .abertura__estado, .versalete, .caso-ref,
    .home-proximo, .acoes, .universe-js, .map-kicker, .map-stage__hint,
    .x-space-selection-note, .x-map-connect-context p,
    .x-eyebrow, .x-company-foot, .x-announcement, .ex-eyebrow, .ex-message-label,
    .ex-announcement, .ex-case-label, .ex-stage-note, [role="status"], [data-conexao-where], [data-map-status], [data-x-progress],
    .x-closing p, .x-map-label p, .x-graph-toolbar p, .universo__caption p,
    .universo__bottom p, nav p, button p,
    .mono, .dado, .lead, .estado-oferta, .linha-governanca, .x-disclosure,
    :is(.v-card, .v-faixa, .v-estado, .v-atalho, .v-trilha, .v-comparador, .v-navmod,
      .card, .nota, aside, figure, blockquote, table, dl, .mono, .estado-oferta,
      .m24-form, .m24-contact-context,
      .rota-metodo, .papel-metodo, .principio-governanca, .alerta-metodo, .doc,
      .contato-form, .formulario, .conexoes-pagina, .grade--3, .grade--4, .home-aplicacoes,
      .video-institucional__texto, .video-transcricao__corpo, .x-document-list) *
  )) { text-align: justify; text-align-last: start; hyphens: auto; hyphenate-limit-chars: 6 3 3; }
}
/* W19 (V14): a conversa, na página e na janela, fica alinhada à esquerda em qualquer largura:
   respostas curtas justificadas abriam espaços largos. */
.site-clean main.explore-page p { text-align: start; text-align-last: start; hyphens: manual; }
/* Faixas em que estas colunas ficam abaixo de ~50 caracteres por linha (medido em 26/09). */
@media (min-width: 481px) and (max-width: 1050px) {
  .site-clean main .abertura-estudo__texto p { text-align: start; hyphens: manual; }
}
/* Privacidade: na coluna do desktop (~60 caracteres por linha) os endereços e termos
   inquebráveis do texto jurídico abrem rios; alinhado à esquerda em todo o desktop. */
@media (min-width: 1051px) {
  .site-clean main.privacidade-contato .secao p { text-align: start; hyphens: manual; }
}

/* W19 — rótulo único: sem marca-d'água "[01]" atrás dos títulos (já oculta no desktop). */
.site-clean .secao > .env::before { display: none; }
/* W19 — nota logo abaixo de uma grade de cartões não fica colada neles (auditoria 15b). */
.site-clean :is(.grade, .v-grade, .v-comparador) + .nota { margin-top: var(--esp-6); }
.site-clean .nota p { text-align: start; text-align-last: start; hyphens: none; }

/* W18/A8 — acesso à Plataforma DD sempre visível no cabeçalho. */
.site-clean .topo__instagram { display: inline-flex; }
.site-clean .topo .marca { min-width: 44px; min-height: 44px; justify-content: center; }
.site-clean .botao.topo__plataforma { flex: 0 0 auto; min-height: 44px; padding: 10px 16px; white-space: nowrap; font-size: .9375rem; line-height: 1.2; background: transparent; border: 1px solid #506786; box-shadow: none; color: #e8eef7; }
.site-clean .botao.topo__plataforma:hover { background: #12233a; border-color: #8bb4eb; }
.topo__plataforma-curto { display: none; }
@media (min-width: 1201px) {
  .site-clean .topo__env { flex-wrap: nowrap; }
  .site-clean .topo__env > .nav { margin-left: auto; }
  .site-clean .topo__instagram { margin: 0; }
  /* Evita salto antes de o JS sincronizar a ordem do documento. */
  .js .topo__env:not(.topo__env--ordenado) > .nav { order: 1; }
  .js .topo__env:not(.topo__env--ordenado) > .topo__instagram { order: 2; }
  .js .topo__env:not(.topo__env--ordenado) > .topo__plataforma { order: 3; }
}
@media (max-width: 720px) {
  .site-clean .topo__env { column-gap: 8px; }
  .site-clean .botao.topo__plataforma { width: 4.125rem; padding-inline: 8px; font-size: .875rem; }
  .site-clean .nav-alternar { width: 94px; justify-content: center; }
  /* A coluna do assistente já existe antes de seu carregamento. */
  .js .site-clean .topo__env { display: grid; grid-template-columns: 44px 44px minmax(66px, 1fr) 56px 94px; min-height: 72px; }
  .js .site-clean .topo__env > .marca { grid-area: 1 / 1; }
  .js .site-clean .topo__env > .topo__instagram { grid-area: 1 / 2; margin: 0; }
  .js .site-clean .topo__env > .topo__plataforma { grid-area: 1 / 3; justify-self: end; }
  .js .site-clean .topo__env > .videre-assistant-launcher { grid-area: 1 / 4; }
  .js .site-clean .topo__env > .nav-alternar { grid-area: 1 / 5; }
  .topo__plataforma-curto { display: inline; }
  .topo__plataforma-longo { display: none; }
}
@media (max-width: 360px) {
  .site-clean .topo__env { column-gap: 6px; }
  .site-clean .botao.topo__plataforma { font-size: .8125rem; }
  .site-clean .nav-alternar { flex-direction: column; justify-content: center; gap: 4px; width: 44px; height: 48px; padding: 4px; }
  .site-clean .nav-alternar::after { font-size: .6875rem; }
  .js .site-clean .topo__env { grid-template-columns: 44px 44px minmax(66px, 1fr) 56px 44px; }
}

/* Sem JavaScript, navegação em linha própria e acesso direto na primeira linha. */
html:not(.js) .site-clean .topo__env { flex-wrap: wrap; }
html:not(.js) .site-clean .topo__env > .nav { width: 100%; }
html:not(.js) .site-clean .topo__instagram { margin-left: auto; margin-right: 0; }

/* W19, D12: na própria página da conversa, o lançador flutuante é redundante e cobria o painel. */
body:has(main.explore-page) > .videre-assistant-launcher { display: none; }

/* W19, P1 (27/09/2026, quarta rodada de Tiago): no desktop, onde o menu aparece inteiro
   (a partir de 1201 px, o mesmo limite de nav.js), o cabeçalho vira uma faixa flutuante de
   vidro em todas as páginas: 16 px de margem, raio de 14 px, borda de 1 px e linha de
   gradiente na base. Abaixo de 1201 px nada muda (menu compacto; celular sem cápsula).
   As páginas claras mantêm a moldura escura e opaca (sobre o papel claro, o vidro ficaria
   cinza). A padding compensa margem e borda: os rótulos têm a mesma largura útil de antes. */
@media (min-width: 1201px) {
  .site-clean .topo {
    top: 12px;
    margin: 12px 16px 0;
    border: 1px solid rgba(91, 140, 255, .28);
    border-radius: 14px;
    /* W19 · P5 · E1-12 (28/09): vidro SEM desfoque. O backdrop-filter refazia o desfoque do
       canvas de estrelas a cada quadro em todas as páginas (M42). Fica o vidro por gradiente,
       com reflexo, borda cobalto visível e halo. FID-13 (revisão da P5): fundo a .97, como
       o CEL-01; a .92 o texto da seção de baixo ficava legível através dele ao rolar.
       Reconferência da P5: fundo opaco (a .97 o H2 de baixo ainda se lia) e, como nos
       conceitos das dobras 2–4, faixa sólida até o alto e as laterais da tela: a última
       sombra (sólida, 16 px de expansão, 16 px acima) tapa o vão de 12 px do sticky e as
       margens de 16 px, sem passar da base da cápsula (o filete e os clarões ficam à vista). */
    background: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0) 40%), #060E1B;
    backdrop-filter: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 0 24px rgba(11, 92, 232, .14), 0 14px 36px rgba(0, 0, 0, .38), 0 -16px 0 16px #060E1B;
  }
  .site-clean.tema-claro .topo {
    background: #07101D;
    backdrop-filter: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 10px 28px rgba(7, 17, 31, .18);
  }
  .site-clean .topo::after {
    content: "";
    position: absolute;
    right: 14px;
    bottom: -1px;
    left: 14px;
    height: 1px;
    background: linear-gradient(90deg, rgba(91, 140, 255, 0) 0%, rgba(91, 140, 255, .75) 22%, rgba(56, 232, 255, .9) 50%, rgba(91, 140, 255, .75) 78%, rgba(91, 140, 255, 0) 100%);
    box-shadow: 0 0 8px rgba(56, 232, 255, .55), 0 0 18px rgba(11, 92, 232, .35);
    pointer-events: none;
  }
  /* E1-12: dois clarões estáticos logo abaixo do filete. */
  .site-clean .topo::before {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: -10px;
    height: 20px;
    pointer-events: none;
    background: radial-gradient(18% 50% at 24% 50%, rgba(56, 232, 255, .22), transparent 70%), radial-gradient(14% 50% at 62% 50%, rgba(91, 140, 255, .18), transparent 70%);
  }
  /* brilho só abaixo do traço ativo (o desvio negativo evita um contorno em volta do rótulo) */
  .site-clean .nav ul a[aria-current="page"] { box-shadow: 0 5px 8px -5px rgba(56, 232, 255, .6); }
  .site-clean .topo > .env.topo__env { min-height: 68px; padding-block: 8px; padding-inline: calc(var(--margem-pagina) - 17px); }
  /* Cometas e progresso de leitura (vivo-sinais.js) presos à cápsula, fora dos cantos arredondados. */
  .site-clean .topo > :is(vs-topo-linha, vs-progresso) { right: 14px; left: 14px; }
  /* AC-01 (28/09): sobre o vidro a borda #506786 caía abaixo de 3:1; #5F7899 dá 3,71:1 no pior
     fundo medido (13,29,56) e 3,97:1 no vidro típico. O hover (#8bb4eb) continua valendo. */
  .site-clean .botao.topo__plataforma { border-color: #5F7899; }
}
@media (min-width: 1201px) and (prefers-reduced-transparency: reduce) {
  .site-clean .topo { background: #07101D; backdrop-filter: none; }
}
@media (min-width: 1201px) and (forced-colors: active), (min-width: 1201px) and (prefers-contrast: more) {
  .site-clean .topo::before { display: none; }
}

/* W19 · P5 · CEL-01 (28/09): no celular, o cabeçalho vira uma cápsula opaca (sem
   backdrop-filter), como no conceito 390, com o mesmo filete de luz do desktop. A padding
   compensa margem e borda: a grade de controles tem a mesma largura útil. */
@media (max-width: 720px) {
  .site-clean .topo {
    top: 8px;
    margin: 8px 10px 0;
    border: 1px solid rgba(120, 160, 255, .2);
    border-radius: 14px;
    background: #07101D;
    backdrop-filter: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 10px 28px rgba(0, 0, 0, .45);
  }
  .site-clean .topo::after {
    content: "";
    position: absolute;
    right: 14px;
    bottom: -1px;
    left: 14px;
    height: 1px;
    background: linear-gradient(90deg, rgba(91, 140, 255, 0) 0%, rgba(91, 140, 255, .75) 22%, rgba(56, 232, 255, .9) 50%, rgba(91, 140, 255, .75) 78%, rgba(91, 140, 255, 0) 100%);
    pointer-events: none;
  }
  .site-clean .topo > .env.topo__env { padding-inline: calc(var(--margem-pagina) - 11px); }
  .site-clean .topo > :is(vs-topo-linha, vs-progresso) { right: 14px; left: 14px; }
}
@media (max-width: 720px) and (forced-colors: active) {
  .site-clean .topo::after { display: none; }
}
/* 29/09 ~13h (Tiago: "No converse com a videre, e em todos os lugares que tiverem esse simbolo, coloque ele em
   movimento"): o símbolo da barra da janela e o do carregamento ganham os três anéis e as cinco bolinhas do
   acionador, no mesmo ritmo e com os mesmos modos (calmo e reduzido lentos; pausado e quieto parados; cores
   forçadas sem anéis). A janela aberta congela só o acionador (vivo-sinais.css); o símbolo da janela gira. */
:is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--a { animation: va-giro 2s linear infinite; will-change: transform; }
:is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--b { animation: va-giro-inverso 3s linear infinite; will-change: transform; }
:is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--c { animation: va-giro 2.5s linear infinite; will-change: transform; }
:is(.videre-assistant-brand, .videre-assistant-loading) .va-plano--a { animation: va-anel-a 6s linear infinite; will-change: transform; }
:is(.videre-assistant-brand, .videre-assistant-loading) .va-plano--b { animation: va-anel-b 8s linear infinite; will-change: transform; }
:is(.videre-assistant-brand, .videre-assistant-loading) .va-plano--c { animation: va-anel-c 4s linear infinite; will-change: transform; }
:is(.videre-assistant-brand, .videre-assistant-loading) .va-anel { animation: va-giro 6s linear infinite; }
.videre-assistant-brand .va-plano--a { width: 38px; height: 38px; }
.videre-assistant-brand .va-plano--b { width: 42px; height: 42px; }
.videre-assistant-brand .va-plano--c { width: 40px; height: 40px; }
.videre-assistant-brand .va-no--a { width: 6px; height: 6px; }
.videre-assistant-brand :is(.va-no--b, .va-no--c) { width: 5px; height: 5px; }
.videre-assistant-loading .va-plano--b { width: 70px; height: 70px; }
.videre-assistant-loading .va-plano--c { width: 66px; height: 66px; }
@media (max-width: 720px) {
  .videre-assistant-brand .va-plano--a { width: 30px; height: 30px; }
  .videre-assistant-brand .va-plano--b { width: 34px; height: 34px; }
  .videre-assistant-brand .va-plano--c { width: 32px; height: 32px; }
}
html.vivo-calmo :is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--a { animation-duration: 12s !important; animation-iteration-count: infinite !important; }
html.vivo-calmo :is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--b { animation-duration: 18s !important; animation-iteration-count: infinite !important; }
html.vivo-calmo :is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--c { animation-duration: 15s !important; animation-iteration-count: infinite !important; }
html.vivo-calmo :is(.videre-assistant-brand, .videre-assistant-loading) :is(.va-plano, .va-anel) { animation-duration: 24s !important; animation-iteration-count: infinite !important; }
@media (prefers-reduced-motion: reduce) {
  :is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--a { animation-duration: 12s !important; animation-iteration-count: infinite !important; }
  :is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--b { animation-duration: 18s !important; animation-iteration-count: infinite !important; }
  :is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--c { animation-duration: 15s !important; animation-iteration-count: infinite !important; }
  :is(.videre-assistant-brand, .videre-assistant-loading) :is(.va-plano, .va-anel) { animation-duration: 24s !important; animation-iteration-count: infinite !important; }
}
html:is(.vivo-parado, .vivo-quieto) :is(.videre-assistant-brand, .videre-assistant-loading) :is(.va-orbita, .va-plano, .va-anel) { animation: none !important; }
html:is(.vivo-parado, .vivo-quieto) :is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--a { transform: rotate(40deg); }
html:is(.vivo-parado, .vivo-quieto) :is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--b { transform: rotate(-150deg); }
html:is(.vivo-parado, .vivo-quieto) :is(.videre-assistant-brand, .videre-assistant-loading) .va-orbita--c { transform: rotate(110deg); }
@media (forced-colors: active) {
  .videre-assistant-brand .va-plano { display: none; }
}
