/* Videre · Home (W19, 26/09/2026): ajustes locais da reorganização abaixo da constelação.
   Ligado só em site/index.html. Não toca nas zonas preservadas (.abertura, #universo e
   peças da constelação), em home-oferta.css nem nos componentes compartilhados.
   Os seletores levam .home-clean para valer em qualquer ordem de carga. */

/* Âncoras herdadas de /solucoes/ (#fornecedores, #integridade, #investimentos):
   o cabeçalho fixo não cobre o topo do cartão. */
.home-clean .home-aplicacao { scroll-margin-top: 6rem; }

/* FID-04 (revisão da P5, 28/09): um só deslocamento de âncora na Home. As seções somavam o
   scroll-padding-top global (7rem) e o próprio scroll-margin-top (6rem): cada dobra começava
   126 px abaixo do cabeçalho, com a anterior à vista. Aqui vale só o padding da página, da
   altura do cabeçalho (12 + 70 px no desktop, 82 px no celular) mais 12 px, como nos
   conceitos. As internas continuam com os 7rem de style.css. */
html:has(> body.home-clean) { scroll-padding-top: 94px; }
.home-clean main > section, .home-clean .home-aplicacao { scroll-margin-top: 0; }

/* Chamada no pé de um cabeçalho de seção. */
.home-clean .home-cabeca > .v-cta { margin-top: .5rem; }

/* Cabeçalho em duas colunas (modalidades e aplicações): título à esquerda,
   introdução e selo à direita; empilha abaixo de 1024 px. */
.home-clean .home-cabeca.home-cabeca--dupla { max-width: none; margin-bottom: 0; }
.home-clean .home-cabeca--dupla > .v-estado { margin: .25rem 0 0; }
@media (min-width: 1024px) {
  .home-clean .home-cabeca.home-cabeca--dupla {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: clamp(2rem, 6vw, 6rem);
    align-items: start;
  }
  .home-clean .home-cabeca--dupla > .abertura__etiqueta { grid-column: 1 / -1; }
  .home-clean .home-cabeca--dupla > h2 { grid-column: 1; grid-row: 2 / span 2; margin-bottom: 0; }
  .home-clean .home-cabeca--dupla > p:not(.abertura__etiqueta) { grid-column: 2; grid-row: 2; margin-top: .4rem; }
  .home-clean .home-cabeca--dupla > .v-estado { grid-column: 2; grid-row: 3; }
}

/* Método em cartões (W19, P3; conceito do visual 2.5 aprovado por Tiago em 27/09/2026).
   Cada etapa vira um cartão (#0C192B, borda de 1 px, raio de 12 px), todos da mesma
   altura (1fr). O círculo numerado fica sobre a linha vertical, que liga o centro de um
   círculo ao do seguinte e atravessa o vão entre os cartões; o trecho 01 → 02 fica aceso,
   estático. O pulso da camada viva (vs-trilho e vs-etapa, vivo-sinais.js) continua o
   mesmo: ele lê o círculo (::before) e a linha (::after) daqui. Os z-index põem linha,
   pulso, círculo e anel acima do fundo dos cartões seguintes; isolation mantém essa
   pilha dentro da lista. */
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes {
  --mt-vao: clamp(.75rem, .5rem + .6vw, 1.25rem);
  --mt-recuo: clamp(1rem, .5rem + .6vw, 1.5rem);
  --mt-recuo-y: clamp(1rem, .6rem + .8vw, 1.5rem);
  --mt-selo: 2.5rem;
  --mt-folga: 1rem;
  --mt-eixo: calc(var(--mt-recuo) + var(--mt-selo) / 2);
  isolation: isolate;
  grid-auto-rows: 1fr;
  row-gap: var(--mt-vao);
  margin: 0;
}
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(var(--mt-selo) + 2 * var(--mt-recuo-y));
  padding: var(--mt-recuo-y) var(--mt-recuo) var(--mt-recuo-y) calc(var(--mt-recuo) + var(--mt-selo) + var(--mt-folga));
  border: 1px solid var(--v-borda);
  border-radius: 12px;
  background: var(--cor-fundo-escuro-cartao);
}
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li::before {
  top: calc(50% - var(--mt-selo) / 2);
  left: var(--mt-recuo);
  z-index: 3;
  width: var(--mt-selo);
  height: var(--mt-selo);
}
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:not(:last-child)::after {
  top: 50%;
  bottom: calc(-50% - var(--mt-vao) - 2px);
  left: calc(var(--mt-eixo) - .5px);
  z-index: 1;
  width: 1px;
  background: var(--v-borda-forte);
}
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:first-child::after {
  background: linear-gradient(180deg, var(--v-acento), rgba(56, 232, 255, .55));
  box-shadow: 0 0 6px rgba(56, 232, 255, .35);
}
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:nth-child(-n + 2)::before {
  border-color: var(--v-acento);
  box-shadow: 0 0 12px rgba(56, 232, 255, .3);
}
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li > vs-trilho { z-index: 2; }
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li > vs-etapa { z-index: 4; }
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes .v-trilha__titulo { margin: 0 0 .35rem; }
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li > span { max-width: 60ch; color: var(--v-suave); line-height: 1.55; }
@media (max-width: 400px) {
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes { --mt-selo: 2rem; --mt-folga: .75rem; }
}
@media screen and (min-width: 1051px) {
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li > span { font-size: var(--t-base); }
}
/* Colunas 1:1,1 só a partir de 1366 px, onde as cinco descrições cabem numa linha. Entre
   1051 e 1365 alguma descrição quebra de qualquer jeito (a altura dos cartões é a mesma
   com 1:1) e a coluna mais estreita quebrava o título em três linhas, com "ao / fundamento."
   partido (1051 a ~1090 px). */
@media screen and (min-width: 1366px) {
  .home-clean .home-metodo .home-duas-colunas { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
}
@media (forced-colors: active) {
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:not(:last-child)::after {
    forced-color-adjust: none;
    background: CanvasText;
    box-shadow: none;
  }
}

/* Modalidades: pé da seção com a chamada para Produto e o caso explicado. */
.home-clean .home-modalidades__pe { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2.5rem; }
.home-clean .home-modalidades__pe > .home-proximo { margin: 0; }
.home-clean .home-modalidades__pe > .home-proximo > span { color: var(--v-suave); }

/* Aplicações: três colunas abertas com divisórias, sem cartão. #modalidades, logo acima,
   continua como a única grade de cartões da Home (fundo, gradiente, filete, sombra); aqui
   só há o filete superior, um traço curto cobalto → ciano no início de cada coluna e
   divisórias verticais finas. Abaixo de 1024 px, as colunas viram linhas: entre 720 e
   1023 px, título à esquerda e perguntas à direita; abaixo de 720 px, empilhado. */
.home-clean .home-aplicacoes-grade {
  --home-apl-vao: clamp(2.5rem, 4.5vw, 4.5rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin: clamp(2rem, 4vw, 3rem) 0 clamp(1.75rem, 3vw, 2.5rem);
  border-top: 1px solid var(--v-borda-forte);
}
.home-clean .home-aplicacoes-grade > .home-aplicacao {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 1rem;
  align-content: start;
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 2rem) 0;
}
.home-clean .home-aplicacoes-grade > .home-aplicacao:not(:last-child) { border-bottom: 1px solid var(--v-borda-forte); }
.home-clean .home-aplicacoes-grade > .home-aplicacao::before {
  position: absolute;
  top: -1px;
  left: 0;
  width: 2.5rem;
  height: 2px;
  background: var(--v-barra-ativa);
  content: "";
  pointer-events: none;
}
.home-clean .home-aplicacoes-grade > .home-aplicacao > * { max-width: none; margin: 0; }
.home-clean .home-aplicacoes-grade > .home-aplicacao :is(p, li) { text-align: start; text-align-last: start; hyphens: manual; }
.home-clean .home-aplicacoes-grade .home-aplicacao__titulo {
  max-width: 24ch;
  color: var(--v-titulo);
  font-size: clamp(1.25rem, 1rem + .55vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.22;
  text-wrap: balance;
}
.home-clean .home-aplicacoes-grade .home-aplicacao__texto { max-width: 46ch; color: var(--v-texto); line-height: 1.6; }
.home-clean .home-aplicacoes-grade > .home-aplicacao > .v-cta { justify-self: stretch; }
@media (min-width: 720px) and (max-width: 1023px) {
  .home-clean .home-aplicacoes-grade > .home-aplicacao {
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    grid-template-rows: auto auto auto 1fr;
    column-gap: clamp(2rem, 5vw, 3rem);
  }
  .home-clean .home-aplicacoes-grade > .home-aplicacao > * { grid-column: 1; }
  .home-clean .home-aplicacoes-grade > .home-aplicacao > .home-aplicacao__perguntas { grid-column: 2; grid-row: 1 / -1; }
  .home-clean .home-aplicacoes-grade > .home-aplicacao > .v-cta { align-self: end; }
}
@media (min-width: 1024px) {
  .home-clean .home-aplicacoes-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--home-apl-vao); }
  .home-clean .home-aplicacoes-grade > .home-aplicacao { padding: 2rem 0 0; }
  .home-clean .home-aplicacoes-grade > .home-aplicacao:not(:last-child) { border-bottom: 0; }
  /* Divisória vertical no meio do vão entre colunas. */
  .home-clean .home-aplicacoes-grade > .home-aplicacao + .home-aplicacao::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--home-apl-vao) / -2);
    width: 1px;
    background: var(--v-borda);
    content: "";
    pointer-events: none;
  }
  /* As mesmas linhas das três colunas ficam alinhadas (subgrid), inclusive as chamadas. */
  @supports (grid-template-rows: subgrid) {
    .home-clean .home-aplicacoes-grade { grid-template-rows: repeat(5, auto); }
    .home-clean .home-aplicacoes-grade > .home-aplicacao { grid-row: span 5; grid-template-rows: subgrid; }
  }
}

/* Aplicações: perguntas de cada decisão, em linhas com divisória (como o dl dos cartões). */
.home-clean .home-aplicacao__perguntas {
  display: grid;
  align-content: start;
  max-width: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--v-borda);
  list-style: none;
}
.home-clean .home-aplicacao__perguntas > li {
  position: relative;
  margin: 0;
  padding: .8rem 0 .8rem 1.4rem;
  border-bottom: 1px solid var(--v-borda);
  color: var(--v-suave);
  font-size: var(--t-menor);
  line-height: 1.55;
}
.home-clean .home-aplicacao__perguntas > li::before {
  position: absolute;
  top: calc(.8rem + .775em - .225rem);
  left: .1rem;
  width: .45rem;
  height: .45rem;
  border: 1px solid var(--v-acento);
  border-radius: 50%;
  content: "";
}
.home-clean .home-aplicacoes-bloco .v-faixa.home-aplicacoes__nota { margin-top: 0; }

/* Contato e confiança: cartão com os três acessos em linhas com divisória. */
.home-clean .home-protecoes__links {
  display: grid;
  max-width: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--v-borda);
  list-style: none;
}
.home-clean .home-protecoes__links > li { margin: 0; border-bottom: 1px solid var(--v-borda); }
.home-clean .home-protecoes__links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 48px;
  padding: .7rem 0;
  color: var(--v-titulo);
  font-size: var(--t-base);
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
}
.home-clean .home-protecoes__links a > span { flex: none; color: var(--v-acento); transition: transform .2s ease; }
.home-clean .home-protecoes__links a:hover { color: var(--v-acento); }
.home-clean .home-protecoes__links a:hover > span { transform: translateX(3px); }
.home-clean .home-protecoes__links a:focus-visible { outline: 3px solid var(--v-foco); outline-offset: 2px; border-radius: 4px; }

@media (prefers-reduced-motion: reduce) {
  .home-clean .home-protecoes__links a > span { transition: none; }
  .home-clean .home-protecoes__links a:hover > span { transform: none; }
}

/* ==========================================================================
   W19 · P5 · dobras 3 e 4 (28/09/2026): Método e Dossiês fiéis aos conceitos do visual 2.5
   (home-1440-dobra3-1.png e home-1440-dobra4-1.png). Spec _w19/visual-image25/p5/spec-P5-futurista.md
   §2.3 (D3-01 a D3-08, D4-01 a D4-08). Luz, vidro e nós são estáticos; só três laços de
   opacidade/transform (pontos da moldura, cometa do pé e constelação das margens), todos só sob
   html.js, fora de 4–6 s (M23) e parados no calmo e na pausa. Hover e foco trocam cor, borda e
   sombra sem animar (M44); só transform tem transição. Nenhum texto novo: traços, pontos e
   nós são pintura de pseudo-elemento ou SVG de fundo. O botão em gradiente (MOD-2) e a prosa
   à esquerda da dobra 4 (MOD-3) ficam em home-p5-modificadores.css.
   ========================================================================== */

/* D3-08 e D4-08 · Títulos a 700; "análise" em realce claro; expressão-chave no gradiente do herói.
   Pontas contra #03060D: #6F7CFF 5,80:1 e #38E8FF 13,67:1; realce #C9D6FF → #9AA4FA ≥ 7:1. */
.home-clean :is(#metodologia, #modalidades) h2 { font-weight: 700; }
.home-clean #metodologia-titulo .texto-realce { color: #C9D6FF; }
@supports (background-clip: text) or (-webkit-background-clip: text) {
  .home-clean #metodologia-titulo .texto-realce {
    background-image: linear-gradient(90deg, #C9D6FF, var(--fx-lilas, #9AA4FA));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .home-clean :is(#metodologia, #modalidades) h2 > .texto-gradiente {
    background-image: linear-gradient(90deg, #6F7CFF 0%, #5B8CFF 22%, #6FA8FF 50%, var(--fx-ciano, #38E8FF) 100%);
    filter: drop-shadow(0 0 14px rgba(56, 232, 255, .18));
  }
}

/* No desktop, a expressão-chave do Método fica na própria linha, como no conceito (a 1920 o
   título quebrava "ao / fundamento."). */
@media screen and (min-width: 1051px) {
  .home-clean #metodologia h2 > .texto-gradiente { display: block; width: fit-content; }
}

/* D3-03 · Os cinco círculos acesos, com anel ciano, halo e brilho interno (01 e 02 mais fortes). */
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li::before {
  border: 1.5px solid rgba(56, 232, 255, .7);
  background: radial-gradient(circle, #010309 52%, rgba(47, 107, 239, .22) 100%);
  box-shadow: 0 0 0 4px rgba(56, 232, 255, .05), 0 0 14px rgba(56, 232, 255, .28), inset 0 0 8px rgba(56, 232, 255, .18);
  text-shadow: 0 0 8px rgba(56, 232, 255, .35);
}
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:nth-child(-n + 2)::before {
  border-color: var(--fx-ciano, #38E8FF);
  box-shadow: 0 0 0 4px rgba(56, 232, 255, .08), 0 0 18px rgba(56, 232, 255, .4), inset 0 0 8px rgba(56, 232, 255, .18);
}

/* D3-03 · A partir de 1440, selos do tamanho do conceito (52 px) e número mais legível. Abaixo
   disso ficam os 40 px da P3: a 1366 o selo maior quebrava uma descrição em duas linhas. */
@media screen and (min-width: 1440px) {
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes { --mt-selo: 3.25rem; }
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li::before { font-size: .9375rem; font-weight: 600; }
}

/* D3-04 · Linha ciano na trilha inteira; 01 → 02 mais grossa, e um ponto branco fixo abaixo do 02. */
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:not(:last-child)::after {
  background: linear-gradient(180deg, rgba(56, 232, 255, .75), rgba(56, 232, 255, .45));
  box-shadow: 0 0 4px rgba(56, 232, 255, .25);
}
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:first-child::after {
  left: calc(var(--mt-eixo) - 1px);
  width: 2px;
  box-shadow: 0 0 8px rgba(56, 232, 255, .45);
}
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:nth-child(2):not(:last-child)::after {
  left: calc(var(--mt-eixo) - 6px);
  width: 12px;
  background-image:
    radial-gradient(circle at 50% calc(var(--mt-selo) / 2 + 6px), #FFFFFF 0 1.5px, rgba(56, 232, 255, .8) 2.5px, transparent 6px),
    linear-gradient(180deg, rgba(56, 232, 255, .75), rgba(56, 232, 255, .45));
  background-position: top center, center;
  background-size: 12px 100%, 1px 100%;
  background-repeat: no-repeat;
  box-shadow: none;
}

/* D3-05 · Cartões do Método com vidro, borda cobalto e brilho interno no alto. */
.home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li {
  border-color: rgba(47, 107, 239, .30);
  background:
    radial-gradient(120% 70% at 20% 0%, rgba(47, 107, 239, .10), rgba(47, 107, 239, 0) 60%),
    linear-gradient(180deg, rgba(12, 25, 43, .94), rgba(7, 16, 29, .94));
  box-shadow: inset 0 1px 0 rgba(91, 140, 255, .14), 0 0 24px -12px rgba(11, 92, 232, .45);
}
@media (hover: hover) and (pointer: fine) {
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:hover { border-color: rgba(56, 232, 255, .45); }
}

/* D3-06 · "Examinar o método em um exemplo" como botão cheio (estado base, sem o MOD-2).
   Branco sobre #0B5CE8: 5,66:1. Troca de fundo instantânea; só o transform tem transição. */
.home-clean #metodologia .home-cabeca > .v-cta {
  min-height: 52px;
  margin-top: 1rem;
  padding-inline: 1.25rem;
  font-size: max(.95rem, var(--t-base));
  border: 1px solid rgba(91, 140, 255, .9);
  border-radius: 12px;
  background: var(--fx-cobalto, #0B5CE8);
  color: #FFFFFF;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 0 24px rgba(47, 107, 239, .35);
  transition: transform .2s ease-out;
}
.home-clean #metodologia .home-cabeca > .v-cta > span[aria-hidden="true"] { color: #FFFFFF; }
.home-clean #metodologia .home-cabeca > .v-cta:hover { border-color: rgba(91, 140, 255, .9); background: var(--cor-marca-escura, #0746C8); }
.home-clean #metodologia .home-cabeca > .v-cta:focus-visible { outline: none; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 0 0 5px var(--cor-acento-claro, #38E8FF); }
@media (hover: hover) and (pointer: fine) {
  .home-clean #metodologia .home-cabeca > .v-cta:hover { transform: translateY(-1px); }
}

/* D4-06 · Cabeçalho mais compacto: os cartões começam a ≤ 300 px do topo da seção (1440).
   Desvio medido da spec (.9fr/1.25fr): com o texto real (mais longo que o do conceito), o
   parágrafo ia a seis linhas e os cartões a 355 px. Como no conceito, o parágrafo sobe à altura
   do rótulo, em corpo --t-base, e a coluna do título fica larga o bastante para a quebra do 2.5
   ("Escolha o que" / "você precisa receber."). */
.home-clean #modalidades.home-modalidades .home-modalidades__grade { margin-top: clamp(2rem, 3vw, 3rem); }
@media screen and (min-width: 1200px) {
  .home-clean #modalidades.home-modalidades { padding-top: clamp(3rem, 4vw, 5rem); }
  .home-clean #modalidades .home-cabeca.home-cabeca--dupla { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); column-gap: clamp(2rem, 4vw, 4rem); }
  .home-clean #modalidades .home-cabeca--dupla > .abertura__etiqueta { grid-column: 1; grid-row: 1; }
  .home-clean #modalidades .home-cabeca--dupla > h2 { grid-row: 2 / span 2; }
  .home-clean #modalidades .home-cabeca--dupla > h2 > .texto-gradiente { display: block; width: fit-content; }
  .home-clean #modalidades .home-cabeca--dupla > p:not(.abertura__etiqueta) { grid-row: 1 / span 3; margin-top: 0; font-size: var(--t-base); line-height: 1.6; }
  /* FID-04 (revisão da P5): com a seção logo abaixo do cabeçalho, os CTAs "Conhecer o…"
     terminam dentro da janela de 1440 × 900, como no conceito: menos respiro no topo e sobre a
     grade, cartões com menos folga interna e entre as linhas. Texto e corpo não mudam. */
  .home-clean #modalidades.home-modalidades { padding-top: 1.5rem; }
  .home-clean #modalidades.home-modalidades .home-modalidades__grade { margin-top: 1.5rem; }
  .home-clean #modalidades .home-modalidades__grade > .v-card { padding: 1.375rem 1.5rem; row-gap: .625rem; }
}

/* D4-04 · Brilhos do painel (a grade tênue e o piso em perspectiva saíram, raia FUNDO, 29/09). */
.home-clean #modalidades.home-modalidades {
  background:
    radial-gradient(60rem 30rem at 88% -12%, rgba(11, 92, 232, .09), transparent 62%),
    radial-gradient(42rem 26rem at -4% 112%, rgba(56, 232, 255, .03), transparent 60%),
    var(--cor-papel-escuro, #010309);
}

/* D4-01 · Borda superior de luz que acompanha o raio (máscara estática no lugar da barra de 3 px).
   Sem suporte a mask-composite, fica a barra de componentes.css. */
@supports (mask-composite: exclude) or (-webkit-mask-composite: xor) {
  .home-clean #modalidades .v-card::before {
    inset: -1px;
    height: auto;
    padding: 2px;
    border-radius: inherit;
    background: linear-gradient(180deg, var(--fx-ciano, #38E8FF) 0, rgba(47, 107, 239, .85) 10px, rgba(47, 107, 239, .25) 42px, rgba(47, 107, 239, 0) 64px);
    -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 exclude, linear-gradient(#000 0 0);
  }
}

/* D4-02 · Cartões com borda luminosa e halo; o 04 com o halo forte. Hover instantâneo (M44). */
.home-clean #modalidades .v-card {
  border-color: rgba(47, 107, 239, .55);
  border-radius: 12px;                     /* o raio do conceito (e dos cartões do Método) */
  background:
    radial-gradient(90% 40% at 50% 0%, rgba(47, 107, 239, .12), rgba(47, 107, 239, 0) 70%),
    linear-gradient(180deg, var(--cor-fundo-escuro-cartao, #0C192B) 0%, var(--cor-fundo-escuro-elevado, #07101D) 100%);
  box-shadow: 0 -2px 14px -4px rgba(56, 232, 255, .55), inset 0 1px 0 rgba(255, 255, 255, .05), 0 0 0 1px rgba(11, 92, 232, .18), 0 0 28px -10px rgba(11, 92, 232, .5), 0 24px 60px rgba(0, 0, 0, .35);
  transition: transform .2s ease;
}
.home-clean #modalidades .v-card:last-child {
  box-shadow: 0 -2px 14px -4px rgba(56, 232, 255, .55), inset 0 1px 0 rgba(255, 255, 255, .05), 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));
}
.home-clean #modalidades .v-card:has(a[href]):hover,
.home-clean #modalidades .v-card:focus-within { border-color: rgba(56, 232, 255, .6); }

/* D4-05 · CTAs dos cartões com borda viva e seta ciano; continuam contornados. */
.home-clean #modalidades .v-card .v-cta { border-color: rgba(47, 107, 239, .75); transition: none; }
.home-clean #modalidades .v-card .v-cta > span[aria-hidden="true"] { color: var(--fx-ciano, #38E8FF); }
.home-clean #modalidades .v-card .v-cta:hover { border-color: var(--fx-cobalto-claro, #5B8CFF); background: rgba(11, 92, 232, .14); }

/* D4-07 · Medidor um pouco mais alto e barra apagada visível. */
.home-clean #modalidades .v-medidor > span { height: 7px; }
.home-clean #modalidades .v-medidor > span:not(.is-ativo) { background: rgba(47, 107, 239, .22); }

/* Modos das dobras 3 e 4 -------------------------------------------------------------------- */
/* Movimento reduzido: os botões e os cartões sem transição. O cometa do pé (D3-02) saiu com o
   item "Ver a animação da marca" (7d4725f). */
@media (prefers-reduced-motion: reduce) {
  .home-clean #metodologia .home-cabeca > .v-cta,
  .home-clean #modalidades .v-card { transition: none; }
  .home-clean #metodologia .home-cabeca > .v-cta:hover { transform: none; }
}
/* Pausado e quieto: sem transições. */
html:is(.vivo-quieto, .vivo-parado) .home-clean :is(#metodologia .home-cabeca > .v-cta, #modalidades .v-card) { transition: none !important; }

/* Contraste reforçado: halos e brilhos saem; bordas sólidas. */
@media (prefers-contrast: more) {
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li { border-color: #5B8CFF; box-shadow: none; }
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li::before { box-shadow: none; text-shadow: none; }
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:not(:last-child)::after { box-shadow: none; }
  .home-clean #metodologia .home-cabeca > .v-cta { border-color: #5B8CFF; box-shadow: none; }
  .home-clean #modalidades .v-card,
  .home-clean #modalidades .v-card:last-child { border-color: #5B8CFF; box-shadow: none; }
  .home-clean :is(#metodologia, #modalidades) h2 > .texto-gradiente { filter: none; }
}

/* Cores forçadas: toda decoração some; bordas e nós em CanvasText; botões do sistema. */
@media (forced-colors: active) {
  .home-clean #modalidades.home-modalidades { background-image: none; }
  .home-clean #modalidades .v-card::before { display: none; }
  .home-clean #metodologia-titulo .texto-realce,
  .home-clean :is(#metodologia, #modalidades) h2 > .texto-gradiente { background: none; color: CanvasText; -webkit-text-fill-color: CanvasText; filter: none; }
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li { background: Canvas; border-color: CanvasText; box-shadow: none; }
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:nth-child(n)::before { forced-color-adjust: none; border-color: CanvasText; background: Canvas; color: CanvasText; box-shadow: none; text-shadow: none; }
  .home-clean .home-metodo .metodo-trilha.metodo-trilha--cartoes > li:nth-child(n):not(:last-child)::after { forced-color-adjust: none; left: calc(var(--mt-eixo) - .5px); width: 1px; background: CanvasText; box-shadow: none; }
  .home-clean #metodologia .home-cabeca > .v-cta,
  .home-clean #metodologia .home-cabeca > .v-cta:hover { forced-color-adjust: auto; border-color: ButtonText; background: ButtonFace; color: ButtonText; box-shadow: none; }
  .home-clean #metodologia .home-cabeca > .v-cta > span[aria-hidden="true"] { color: ButtonText; }
  .home-clean #modalidades .v-card,
  .home-clean #modalidades .v-card:last-child { border-color: CanvasText; box-shadow: none; }
  .home-clean #modalidades .v-card .v-cta { border-color: ButtonText; }
  .home-clean #modalidades .v-card .v-cta > span[aria-hidden="true"] { color: ButtonText; }
}
@media print {
  .home-clean #metodologia-titulo .texto-realce,
  .home-clean :is(#metodologia, #modalidades) h2 > .texto-gradiente { background: none; color: #000; -webkit-text-fill-color: #000; filter: none; }
}
