/* Quatro sistemas visuais para as variações modernas do catálogo. */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&family=Urbanist:wght@400;500;600;700;800&display=swap');

.vt-familia-editorial {
  --vt-raio: 0; --vt-raio-p: 0; --vt-sombra: none;
  --vt-fonte-titulo: 'DM Serif Display', Georgia, serif;
  font-family: 'Manrope', sans-serif;
}
.vt-familia-editorial h1, .vt-familia-editorial h2, .vt-familia-editorial h3,
.vt-familia-editorial .vt-titulo, .vt-familia-editorial .vt-agenda-topo h2 {
  font-family: var(--vt-fonte-titulo); font-weight: 400; letter-spacing: -.025em;
}
.vt-familia-editorial .vt-identidade h1 { font-size: clamp(36px, 6vw, 68px); line-height: .92; max-width: 760px; }
.vt-familia-editorial .vt-capa-conteudo { align-items: flex-end; }
.vt-familia-editorial .vt-titulo { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px; font-size: clamp(28px, 3.2vw, 42px); }
.vt-familia-editorial .vt-titulo::after { content: ''; height: 1px; background: var(--tema-2); opacity: .7; }
.vt-familia-editorial .vt-bloco, .vt-familia-editorial .vt-agenda,
.vt-familia-editorial .opcao, .vt-familia-editorial .vt-pacote { border-radius: 0; box-shadow: none; }
.vt-familia-editorial .vt-bloco { border-width: 1px 0 0; }
.vt-familia-editorial .vt-agenda { border: 1px solid var(--tema-2); border-top: 6px solid var(--cor); }
.vt-familia-editorial .vt-titulo-icone, .vt-familia-editorial .vt-fato-icone,
.vt-familia-editorial .vt-servico-icone { border: 1px solid currentColor; border-radius: 50% 50% 8% 50%; background: transparent; color: var(--cor); transform: rotate(-4deg); }
.vt-familia-editorial .vt-titulo-icone svg, .vt-familia-editorial .vt-fato-icone svg,
.vt-familia-editorial .vt-servico-icone svg { transform: rotate(4deg); }
.vt-familia-editorial .botao, .vt-familia-editorial .vt-chip-nav, .vt-familia-editorial .horario,
.vt-familia-editorial .vt-dia, .vt-familia-editorial .vt-logo, .vt-familia-editorial .vt-pessoa-foto { border-radius: 0; }
.vt-familia-editorial .vt-pessoa { border-left: 3px solid var(--cor); }

.vt-familia-glass {
  --vt-raio: 30px; --vt-raio-p: 18px;
  --vt-sombra: 0 24px 70px color-mix(in srgb, var(--cor) 14%, transparent);
  --vt-fonte-titulo: 'Urbanist', sans-serif;
  font-family: 'Urbanist', sans-serif;
  background:
    radial-gradient(circle at 8% 18%, color-mix(in srgb, var(--cor) 14%, transparent), transparent 32%),
    radial-gradient(circle at 92% 52%, color-mix(in srgb, var(--tema-2) 16%, transparent), transparent 30%), var(--fundo);
}
.vt-familia-glass h1, .vt-familia-glass h2, .vt-familia-glass h3,
.vt-familia-glass .vt-titulo, .vt-familia-glass .vt-agenda-topo h2 { font-family: var(--vt-fonte-titulo); font-weight: 800; letter-spacing: -.035em; }
.vt-familia-glass .vt-identidade h1 { font-size: clamp(34px, 5.5vw, 62px); line-height: .95; }
.vt-familia-glass .vt-bloco, .vt-familia-glass .vt-agenda, .vt-familia-glass .opcao,
.vt-familia-glass .vt-pacote, .vt-familia-glass .vt-pessoa {
  border: 1px solid color-mix(in srgb, var(--tema-2) 38%, transparent);
  background: color-mix(in srgb, var(--cartao) 82%, transparent); backdrop-filter: blur(18px); box-shadow: var(--vt-sombra);
}
.vt-familia-glass .vt-titulo-icone, .vt-familia-glass .vt-fato-icone,
.vt-familia-glass .vt-servico-icone { border: 0; border-radius: 14px 14px 14px 4px; color: var(--tema-texto); background: linear-gradient(145deg, var(--cor), var(--tema-2)); box-shadow: 0 10px 24px color-mix(in srgb, var(--cor) 28%, transparent); }
.vt-familia-glass .botao, .vt-familia-glass .vt-chip-nav, .vt-familia-glass .horario,
.vt-familia-glass .vt-dia { border-radius: 999px; }
.vt-familia-glass .vt-logo, .vt-familia-glass .vt-pessoa-foto { border-radius: 28px; transform: rotate(-2deg); }
.vt-familia-glass .vt-capa-veu { background: linear-gradient(110deg, rgba(7,12,22,.84), rgba(7,12,22,.18) 72%); }

.vt-familia-cards {
  --vt-raio: 18px; --vt-raio-p: 12px;
  --vt-sombra: 0 14px 36px color-mix(in srgb, var(--cor) 10%, transparent);
  --vt-fonte-titulo: 'Manrope', sans-serif;
  font-family: 'Manrope', sans-serif;
}
.vt-familia-cards h1, .vt-familia-cards h2, .vt-familia-cards h3,
.vt-familia-cards .vt-titulo, .vt-familia-cards .vt-agenda-topo h2 { font-family: var(--vt-fonte-titulo); font-weight: 800; letter-spacing: -.035em; }
.vt-familia-cards .vt-identidade h1 { font-size: clamp(34px, 5vw, 58px); line-height: .98; }
.vt-familia-cards .vt-bloco, .vt-familia-cards .vt-agenda, .vt-familia-cards .opcao,
.vt-familia-cards .vt-pacote, .vt-familia-cards .vt-pessoa { border: 1px solid color-mix(in srgb, var(--cor) 16%, var(--borda)); box-shadow: var(--vt-sombra); }
.vt-familia-cards .vt-bloco:nth-of-type(odd) { background: color-mix(in srgb, var(--cor) 4%, var(--cartao)); }
.vt-familia-cards .vt-titulo-icone, .vt-familia-cards .vt-fato-icone,
.vt-familia-cards .vt-servico-icone { border: 0; border-radius: 12px; color: var(--tema-texto); background: var(--cor); box-shadow: inset -7px -7px 0 color-mix(in srgb, var(--tema-2) 34%, transparent); }
.vt-familia-cards .vt-agenda { border-top: 5px solid var(--cor); }
.vt-familia-cards .opcao-marcada { outline: 3px solid color-mix(in srgb, var(--cor) 25%, transparent); }
.vt-familia-cards .vt-pessoa-foto { border-radius: 16px; }
.vt-familia-cards .vt-pessoa-acao { border-radius: 9px; background: var(--cor-clara); color: var(--cor-escura); }

.vt-familia-impacto {
  /* Força na tipografia e nos ícones, não em caixas: borda fina e sombra
     macia (a sombra dura deslocada deixava tudo "encaixotado"). */
  --vt-raio: 16px; --vt-raio-p: 12px;
  --vt-sombra: 0 24px 48px -28px color-mix(in srgb, var(--tema-2) 60%, rgba(0,0,0,.55));
  --vt-fonte-titulo: 'Space Grotesk', sans-serif;
  font-family: 'Space Grotesk', sans-serif;
}
.vt-familia-impacto h1, .vt-familia-impacto h2, .vt-familia-impacto h3,
.vt-familia-impacto .vt-titulo, .vt-familia-impacto .vt-agenda-topo h2 { font-family: var(--vt-fonte-titulo); font-weight: 700; letter-spacing: -.045em; }
.vt-familia-impacto .vt-identidade h1 { font-size: clamp(42px, 7vw, 80px); line-height: .82; text-transform: uppercase; max-width: 860px; }
.vt-familia-impacto .vt-segmento { transform: rotate(-2deg); background: var(--tema-2); color: var(--tema-texto); border: 0; }
.vt-familia-impacto .vt-bloco, .vt-familia-impacto .vt-agenda,
.vt-familia-impacto .vt-pacote, .vt-familia-impacto .vt-pessoa { border: 1px solid color-mix(in srgb, var(--texto) 12%, transparent); box-shadow: var(--vt-sombra); }
.vt-familia-impacto .vt-agenda { border-top: 3px solid var(--cor); }
.vt-familia-impacto .opcao { border: 1px solid color-mix(in srgb, var(--texto) 10%, transparent); box-shadow: none; }
.vt-familia-impacto .opcao-marcada { border-color: var(--cor); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cor) 22%, transparent); }
.vt-familia-impacto .vt-titulo { text-transform: uppercase; font-size: clamp(27px, 3.5vw, 46px); }
.vt-familia-impacto .vt-titulo-icone, .vt-familia-impacto .vt-fato-icone,
.vt-familia-impacto .vt-servico-icone { border: 0; border-radius: 50% 8px 50% 50%; color: var(--tema-texto); background: var(--cor); transform: rotate(5deg); }
.vt-familia-impacto .vt-titulo-icone svg, .vt-familia-impacto .vt-fato-icone svg,
.vt-familia-impacto .vt-servico-icone svg { transform: rotate(-5deg); }
.vt-familia-impacto .botao, .vt-familia-impacto .vt-chip-nav, .vt-familia-impacto .horario,
.vt-familia-impacto .vt-dia { font-weight: 700; box-shadow: none; }
.vt-familia-impacto .vt-logo, .vt-familia-impacto .vt-pessoa-foto { border-radius: 50% 12px 50% 50%; }

@media (max-width: 720px) {
  .vt-familia-impacto .vt-identidade h1 { font-size: clamp(37px, 12vw, 58px); }
  .vt-familia-editorial .vt-identidade h1 { font-size: clamp(35px, 11vw, 54px); }
  .vt-familia-impacto .vt-bloco, .vt-familia-impacto .vt-agenda,
  .vt-familia-impacto .vt-pacote, .vt-familia-impacto .vt-pessoa { box-shadow: 0 18px 36px -26px color-mix(in srgb, var(--tema-2) 55%, rgba(0,0,0,.55)); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Acabamento premium — composição antes de contorno

   A primeira versão diferenciava as famílias mudando raio, borda e sombra
   das mesmas caixas. O resultado ainda era "bloco dentro de bloco". Nesta
   camada, espaço, fotografia, tipografia e divisores fazem a hierarquia;
   superfície fechada fica reservada à agenda, que é um componente funcional.
   ═══════════════════════════════════════════════════════════════════════════ */

:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) {
  --vt-linha-fina: color-mix(in srgb, var(--vt-tinta) 11%, transparent);
  --vt-superficie-suave: color-mix(in srgb, var(--vt-papel) 72%, transparent);
}

:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-secao {
  padding-block: clamp(42px, 6vw, 74px);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-identidade h1 {
  display: block; overflow: visible; -webkit-line-clamp: unset; text-wrap: balance;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-principal > .vt-secao + .vt-secao {
  border-top: 1px solid var(--vt-linha-fina);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-secao-topo {
  max-width: 720px; margin-bottom: clamp(22px, 3vw, 34px);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-subtitulo {
  max-width: 620px; font-size: 15px; line-height: 1.65;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-titulo-icone {
  width: 30px; height: 30px; border: 0; border-radius: 50%;
  background: transparent; box-shadow: none; color: var(--cor); transform: none;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-titulo-icone svg { transform: none; }

/* Fatos viram uma faixa editorial, não quatro cartões. */
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-fatos {
  padding: 18px 0 8px;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-fatos-lista {
  gap: 0; padding-block: 10px 14px;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-fato {
  gap: 12px; padding: 7px clamp(18px, 2.5vw, 30px); border: 0; border-radius: 0;
  background: transparent; box-shadow: none;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-fato:first-child { padding-left: 0; }
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-fato + .vt-fato { border-left: 1px solid var(--vt-linha-fina); }
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-fato:hover {
  border-color: var(--vt-linha-fina); transform: none; color: var(--cor-escura);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-fato-icone {
  width: 30px; height: 30px; border: 0; border-radius: 50%; background: transparent;
  box-shadow: none; color: var(--cor); transform: none;
}

/* A agenda é a única grande superfície fechada. Dentro dela, linhas e ritmo. */
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-agenda {
  border: 0; border-radius: 26px;
  box-shadow: 0 32px 80px -48px rgba(0,0,0,.55), 0 10px 30px -24px color-mix(in srgb, var(--cor) 32%, transparent);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-agenda-topo {
  padding: 26px 24px 22px;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-etapa {
  padding: 24px; border-top-color: var(--vt-linha-fina);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-servicos { gap: 0; }
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-servico {
  /* Mesmo espaço e mesmo raio marcado ou não (03/10/2026): marcar só troca o
     fundo — antes a margem negativa fazia o cartão crescer e o preço pular. */
  padding: 16px 12px; border: 0; border-bottom: 1px solid var(--vt-linha-fina);
  border-radius: 15px; background: transparent; box-shadow: none; margin-inline: 0;
  transition: background .15s;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-servico:last-child { border-bottom: 0; }
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-servico.escolhida {
  border-bottom-color: transparent; background: var(--vt-escolha-fraca); box-shadow: none;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-servico-icone {
  width: 38px; height: 38px; border: 0; border-radius: 50%; box-shadow: none;
  background: color-mix(in srgb, var(--cor) 10%, transparent); color: var(--cor-escura); transform: none;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-servico-icone svg { transform: none; }

/* Pessoas: a fotografia é o cartão. Texto e ação respiram fora dela. */
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-equipe-lista { gap: clamp(18px, 3vw, 30px); }
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-pessoa {
  flex-basis: 190px; padding: 0; border: 0; border-radius: 0; background: transparent;
  box-shadow: none; gap: 13px;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-pessoa:hover {
  border-color: transparent; box-shadow: none; transform: translateY(-3px);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-pessoa-foto {
  border: 0; border-radius: 22px; box-shadow: 0 24px 50px -36px rgba(0,0,0,.72);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-pessoa-texto strong { font-size: 16px; letter-spacing: -.02em; }
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-pessoa-acao {
  width: max-content; padding-bottom: 3px; border-bottom: 1px solid currentColor;
  border-radius: 0; background: transparent; color: var(--cor-escura);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-equipe-faixa .vt-pessoa-acao { border: 0; }

/* Pacotes: uma superfície leve por oferta, sem contorno duplo ou halo. */
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-grade-pacotes { gap: 18px; }
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-pacote {
  padding: clamp(22px, 3vw, 30px); border: 0; border-radius: 24px;
  background: var(--vt-superficie-suave); box-shadow: 0 24px 50px -44px rgba(0,0,0,.7);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-pacote:hover { box-shadow: 0 28px 58px -42px rgba(0,0,0,.72); }
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-pacote-destaque {
  background: color-mix(in srgb, var(--cor) 9%, var(--vt-papel)); box-shadow: none;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-pacote-icone {
  background: transparent; color: var(--cor); border-radius: 0;
}

/* Avaliações e horários ficam editoriais, com divisores em vez de caixas. */
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-nota {
  padding: 0; border: 0; border-radius: 0; background: transparent;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-depo {
  position: relative; padding: 10px 4px 12px 28px; border: 0; border-radius: 0;
  border-left: 1px solid var(--vt-linha-fina); background: transparent;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-depo::before {
  content: '“'; position: absolute; left: 10px; top: 0; color: var(--cor);
  font: 38px/1 Georgia, serif; opacity: .55;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-depo-resposta {
  padding: 12px 0 0; border-radius: 0; border-top: 1px solid var(--vt-linha-fina); background: transparent;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-horarios {
  border: 0; border-radius: 0; background: transparent;
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-horarios li {
  padding: 14px 2px; border-bottom-color: var(--vt-linha-fina);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-horarios .vt-hoje {
  background: transparent; color: var(--cor-escura);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-mapa-caixa {
  border: 0; border-radius: 24px; box-shadow: 0 30px 70px -50px rgba(0,0,0,.75);
}

/* Imagem generosa e sem moldura pesada. */
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-banner {
  min-height: clamp(220px, 31vw, 330px); border-radius: 24px;
  box-shadow: 0 30px 64px -48px rgba(0,0,0,.8);
}
:is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-banner-texto strong {
  font-size: clamp(22px, 3vw, 32px); letter-spacing: -.035em;
}

/* ─── Editorial: revista, linhas finas, assimetria ─────────────────────── */
.vt-familia-editorial { --vt-superficie-suave: transparent; }
.vt-familia-editorial .vt-capa { --vt-capa-altura: 590px; }
.vt-familia-editorial .vt-capa-conteudo { padding-bottom: 44px; }
.vt-familia-editorial .vt-titulo { grid-template-columns: auto auto 1fr; gap: 12px; }
.vt-familia-editorial .vt-titulo::before { content: ''; width: 34px; height: 1px; background: var(--cor); }
.vt-familia-editorial .vt-titulo::after { margin-left: 10px; background: var(--vt-linha-fina); }
.vt-familia-editorial .vt-pacote { padding-inline: 0; border-radius: 0; border-top: 1px solid var(--vt-linha-fina); box-shadow: none; }
.vt-familia-editorial .vt-pacote-destaque { padding-inline: 24px; border-top-color: var(--cor); background: color-mix(in srgb, var(--cor) 5%, transparent); }
.vt-familia-editorial .vt-pessoa-foto, .vt-familia-editorial .vt-banner, .vt-familia-editorial .vt-mapa-caixa { border-radius: 2px; }
.vt-familia-editorial .vt-agenda { border-radius: 2px; border-top: 2px solid var(--cor); }
.vt-familia-editorial .botao { border-radius: 2px; }

/* ─── Glass: luz e profundidade em planos grandes, não em cada item ────── */
.vt-familia-glass .vt-principal > .vt-secao { position: relative; }
.vt-familia-glass .vt-principal > .vt-secao::before {
  content: ''; position: absolute; width: 180px; height: 180px; right: -70px; top: 8%;
  border-radius: 50%; background: color-mix(in srgb, var(--cor) 12%, transparent); filter: blur(55px); pointer-events: none;
}
.vt-familia-glass .vt-agenda {
  background: color-mix(in srgb, var(--vt-papel) 88%, transparent);
  border: 1px solid color-mix(in srgb, white 42%, transparent); backdrop-filter: blur(26px);
}
.vt-familia-glass .vt-pacote { background: color-mix(in srgb, var(--vt-papel) 58%, transparent); backdrop-filter: blur(18px); }
.vt-familia-glass .vt-pessoa { background: transparent; border: 0; backdrop-filter: none; }
.vt-familia-glass .vt-pessoa-foto { border-radius: 32px 32px 10px 32px; transform: none; }
.vt-familia-glass .vt-banner, .vt-familia-glass .vt-mapa-caixa { border-radius: 34px; }

/* ─── Modular: uma grande folha, conteúdo separado por ritmo e linhas ──── */
.vt-familia-cards .vt-principal {
  background: color-mix(in srgb, var(--vt-papel) 66%, transparent);
  border-radius: 34px; padding-inline: clamp(18px, 3vw, 34px); margin-top: 28px; margin-bottom: 28px;
}
.vt-familia-cards .vt-principal > .vt-secao { background: transparent !important; border-radius: 0; box-shadow: none; }
.vt-familia-cards .vt-pacote { background: var(--vt-papel); }
.vt-familia-cards .vt-pessoa-foto { border-radius: 18px; }
.vt-familia-cards .vt-agenda { border-radius: 28px; }
.vt-familia-cards .vt-agenda::before { content: ''; display: block; height: 5px; background: linear-gradient(90deg, var(--cor), var(--tema-2)); }
.vt-familia-cards .opcao-marcada { outline: 0; }

/* ─── Impacto: tipografia, contraste e fotografia; zero moldura gratuita ─ */
.vt-familia-impacto .vt-capa { --vt-capa-altura: 620px; }
.vt-familia-impacto .vt-capa-conteudo { padding-bottom: 42px; }
.vt-familia-impacto .vt-principal > .vt-secao:nth-child(even) {
  margin-inline: calc(clamp(18px, 3vw, 34px) * -1); padding-inline: clamp(18px, 3vw, 34px);
  background: color-mix(in srgb, var(--cor) 5%, transparent);
}
.vt-familia-impacto .vt-pacote, .vt-familia-impacto .vt-pessoa { border: 0; box-shadow: none; }
.vt-familia-impacto .vt-pessoa-foto { border-radius: 50% 50% 14px 50%; }
.vt-familia-impacto .vt-agenda { position: relative; border: 0; border-radius: 22px; }
.vt-familia-impacto .vt-agenda::before {
  content: ''; display: block; height: 5px; background: linear-gradient(90deg, var(--cor), var(--tema-2));
}
.vt-familia-impacto .vt-agenda-topo { background: transparent; color: var(--vt-tinta); }
.vt-familia-impacto .vt-agenda-topo p { color: var(--tinta-suave); opacity: 1; }
.vt-familia-impacto .vt-agenda-topo h2 .icone-svg { color: var(--cor); opacity: 1; }
.vt-familia-impacto .vt-banner { border-radius: 18px; }

@media (min-width: 1024px) {
  :is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-corpo {
    max-width: 1220px; grid-template-columns: minmax(350px, 410px) minmax(0, 1fr); gap: clamp(44px, 5vw, 76px);
  }
  :is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-principal .vt-secao { padding-block: 58px; }
  .vt-familia-editorial .vt-corpo,
  .vt-familia-cards .vt-corpo {
    grid-template-columns: minmax(0, 1fr) minmax(350px, 410px);
  }
}

@media (max-width: 719px) {
  :is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-secao { padding-block: 40px; }
  :is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-agenda { border-radius: 20px; }
  :is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-fato { padding-inline: 16px; }
  :is(.vt-familia-editorial, .vt-familia-glass, .vt-familia-cards, .vt-familia-impacto) .vt-fato:first-child { padding-left: 0; }
  .vt-familia-cards .vt-principal { margin-inline: 10px; padding-inline: 14px; border-radius: 26px; }
  .vt-familia-impacto .vt-principal > .vt-secao:nth-child(even) { margin-inline: -14px; padding-inline: 14px; }
  .vt-familia-impacto .vt-identidade h1 {
    font-size: clamp(33px, 9vw, 40px); line-height: .9;
    overflow-wrap: normal; word-break: normal;
  }
  .vt-familia-impacto .vt-marca .vt-logo.vt-logo-quadrado,
  .vt-familia-impacto .vt-marca .vt-logo.vt-logo-redondo {
    width: 72px; height: 72px;
  }
  .vt-familia-editorial .vt-identidade h1 {
    font-size: clamp(29px, 8vw, 34px); line-height: .95;
    overflow-wrap: normal; word-break: normal;
  }
  .vt-familia-editorial .vt-marca .vt-logo.vt-logo-quadrado,
  .vt-familia-editorial .vt-marca .vt-logo.vt-logo-redondo {
    width: 72px; height: 72px;
  }
}
