/* ============================================================
   ARX Cyber — Página Civitas (nó 238-6922)
   Todos os valores medidos do Figma (VjjoJYxS7ihFUxYhakobmd).
   ============================================================ */

/* ---- Tipografia base da página ---- */
.cv-h2 { font-size: 40px; line-height: 46px; font-weight: var(--fw-regular); color: var(--arx-white); }
.cv-lead { font-size: 20px; line-height: 22.4px; color: var(--arx-white); }
.cv-head { text-align: center; }
.cv-head .arx-eyebrow { display: block; margin-bottom: 22px; }
.cv-head .cv-lead { margin: 26px auto 0; max-width: 568px; }

/* Botão de traço sólido azul (Component 6 do Figma: border 2px #1574ff) */
/* .arx-btn--stroke movido para base.css (usado em todas as páginas) */

/* ============================================================
   Seção 1 — Hero (836px)
   ============================================================ */
/* ============================================================
   Hero do Civitas — copy à esquerda, painel à direita.
   O painel é MARCAÇÃO, não imagem: fica nítido em qualquer densidade e
   pode receber dado real depois. Números são ilustrativos.
   ============================================================ */
.cv-hero {
  position: relative; min-height: 820px; overflow: hidden; background: #151515;
}
.cv-hero__bg {
  position: absolute; inset: 0;
  background: url("../img/civitas/hero-bg.jpg") center / cover no-repeat; opacity: .18;
}
.cv-hero__grad { position: absolute; inset: 0; background: var(--arx-grad-hero-overlay); }
.cv-hero__grid {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 470px 1fr; gap: 56px; align-items: center;
  min-height: 820px; padding: calc(var(--arx-header-h) + 10px) 0 60px;
}
.cv-hero__title {
  margin-top: 14px;
  font-size: 46px; line-height: 54px; letter-spacing: -.5px;
  font-weight: var(--fw-regular); color: var(--arx-white);
}
.cv-hero__title b { color: var(--arx-blue); font-weight: var(--fw-extrabold); }
.cv-hero__sub { margin-top: 22px; font-size: 16px; line-height: 25px; color: var(--arx-grey-90); }
.cv-hero__actions { margin-top: 34px; display: flex; gap: 14px; flex-wrap: wrap; }
.cv-hero__nota {
  margin-top: 40px; padding-left: 18px; border-left: 2px solid var(--arx-blue);
  font-size: 14px; line-height: 21px; color: var(--arx-grey-70);
}
.cv-hero__nota b { color: var(--arx-blue-border); font-weight: var(--fw-semibold); }

/* ---- o painel ---- */
.cvp {
  border-radius: 18px; overflow: hidden;
  background: linear-gradient(180deg, #0f1116 0%, #0c0d11 100%);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 40px 90px -50px rgba(0,0,0,.9);
  font-size: 11px; color: var(--arx-grey-90);
}
.cvp__topo {
  display: flex; align-items: center; gap: 14px; padding: 12px 16px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.cvp__marca { font-weight: var(--fw-semibold); letter-spacing: 1.4px; text-transform: uppercase; color: var(--arx-white); }
.cvp__busca {
  flex: 1; padding: 6px 12px; border-radius: 7px;
  background: rgba(255,255,255,.04); color: var(--arx-grey-70);
}
.cvp__estado { display: flex; align-items: center; gap: 6px; color: #5fd39a; }
.cvp__estado::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #5fd39a; }

.cvp__corpo { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 10px; padding: 14px 16px 0; }
.cvp__score, .cvp-kpi {
  padding: 14px; border-radius: 12px;
  background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.07);
}
.cvp__score { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cvp__score-txt b { display: block; font-size: 11px; color: var(--arx-grey-90); }
.cvp__score-txt strong {
  display: block; margin-top: 6px; font-size: 40px; line-height: 40px;
  font-weight: var(--fw-semibold); color: var(--arx-white);
}
.cvp__score-txt strong i { font-size: 13px; font-style: normal; color: var(--arx-grey-70); }
.cvp__delta { display: block; margin-top: 8px; font-size: 10px; color: #5fd39a; }
.cvp__anel { width: 84px; height: 84px; flex: none; }
.cvp__anel circle { fill: none; stroke-width: 9; stroke-linecap: round; }
.cvp__anel-base { stroke: rgba(255,255,255,.07); }
.cvp__anel-arco { stroke: var(--arx-blue); stroke-dasharray: 76 24; filter: drop-shadow(0 0 6px rgba(21,116,255,.6)); }

.cvp-kpi__rot { display: block; font-size: 10px; line-height: 14px; color: var(--arx-grey-70); }
.cvp-kpi__num {
  display: block; margin-top: 6px; font-size: 26px; line-height: 28px;
  font-weight: var(--fw-semibold); color: var(--arx-white);
}
.cvp-kpi__pe { display: block; margin-top: 4px; font-size: 9.5px; line-height: 13px; color: var(--arx-grey-70); }
.cvp-kpi__var { display: block; margin-top: 8px; font-size: 10px; color: #5fd39a; }
.cvp-kpi__var i { font-style: normal; color: var(--arx-grey-70); }

.cvp__bloco { padding: 16px; }
.cvp__titulo { display: block; margin-bottom: 10px; font-size: 12px; color: var(--arx-white); font-weight: var(--fw-semibold); }
.cvp__doms { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.cvp-dom {
  padding: 10px; border-radius: 10px;
  background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.07);
}
.cvp-dom__nome {
  display: block; font-size: 9px; letter-spacing: .8px; text-transform: uppercase;
  font-weight: var(--fw-semibold); color: var(--arx-blue-border);
}
.cvp-dom__num { display: block; margin-top: 6px; font-size: 20px; font-weight: var(--fw-semibold); color: var(--arx-white); }
.cvp-dom__pe { display: block; margin-top: 2px; font-size: 8.5px; line-height: 12px; color: var(--arx-grey-70); }
.cvp-dom__linha { display: block; width: 100%; height: 22px; margin-top: 6px; color: var(--arx-blue); opacity: .75; }

.cvp__alertas { list-style: none; padding: 0; display: grid; gap: 6px; }
.cvp-alerta {
  display: grid; grid-template-columns: 1fr auto auto auto; gap: 10px; align-items: center;
  padding: 9px 12px; border-radius: 9px;
  background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.06);
  font-size: 10px;
}
.cvp-alerta__txt { color: var(--arx-grey-90); }
.cvp-alerta__txt::before {
  content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 8px;
  border-radius: 50%; background: var(--sev, var(--arx-blue));
}
.cvp-alerta--critico { --sev: #ff5c5c; }
.cvp-alerta--alto    { --sev: #ffa23d; }
.cvp-alerta--medio   { --sev: #ffd166; }
.cvp-alerta__alvo, .cvp-alerta__t { color: var(--arx-grey-70); font-size: 9.5px; }
.cvp-alerta__sev {
  padding: 2px 8px; border-radius: 20px; font-size: 9px; font-weight: var(--fw-semibold);
  color: var(--sev); background: color-mix(in srgb, var(--sev) 14%, transparent);
}

/* ---- Glows laterais da página (camada Luz: ellipses #1574ff + blur 150) ----
   Ainda em uso por missoes.html e quem-somos.html. */
.cv-luz {
  position: absolute; pointer-events: none; z-index: 0;
  background: radial-gradient(50% 50% at 50% 50%,
    rgba(21,116,255,.40), rgba(21,116,255,.13) 45%, transparent 72%);
}

/* ---- Nav ativo ---- */
.arx-nav__link.is-active { color: var(--arx-blue); font-weight: var(--fw-semibold); }


/* ============================================================
   Como o Civitas transforma dados em decisões
   Pipeline de 6 passos + faixa de métricas.
   --ac é a cor de acento do card: azul em todos, ouro no 06.
   ============================================================ */
.cvf { padding-block: 96px; position: relative; overflow-x: clip; }

.cvf__topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; }
.cvf__head { max-width: 720px; }
.cvf__h2 { margin-top: 14px; font-size: 40px; line-height: 46px; font-weight: var(--fw-regular); color: var(--arx-white); }
.cvf__h2 b { color: var(--arx-blue); font-weight: var(--fw-extrabold); }
.cvf__sub { margin-top: 16px; font-size: 16px; line-height: 24px; color: var(--arx-grey-90); }

/* selo do canto: promessa da seção em uma frase */
.cvf__flash {
  flex: none; width: 358px; margin-top: 6px;
  display: flex; align-items: center; gap: 18px;
  padding: 22px 24px; border-radius: 14px;
  background: rgba(255,255,255,.022); border: 1px solid rgba(255,255,255,.09);
}
.cvf__flash-ico { width: 44px; height: 44px; flex: none; color: var(--arx-blue); }
.cvf__flash b { display: block; font-size: 15px; line-height: 22px; font-weight: var(--fw-semibold); color: var(--arx-white); }
.cvf__flash span { display: block; margin-top: 3px; font-size: 14px; line-height: 21px; color: var(--arx-grey-70); }

/* ---- os 6 passos ---- */
.cvf__grid {
  /* padding-top abre espaço para o selo numérico, que fica montado sobre a
     borda de cima do card e portanto vaza para fora do grid. */
  margin-top: 64px; padding-top: 21px;
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px;
}
.cvf-passo {
  --ac: var(--arx-blue);
  position: relative; display: flex; flex-direction: column;
  /* 14px de recuo lateral: com 18px o rótulo mais longo ("Gestão de
     Vulnerabilidades") não cabia numa linha na coluna de 208px. */
  padding: 34px 14px 22px; border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012));
  border: 1px solid color-mix(in srgb, var(--ac) 34%, transparent);
  transition: transform .35s var(--arx-ease), border-color .35s var(--arx-ease),
              box-shadow .35s var(--arx-ease);
}
.cvf-passo:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--ac) 70%, transparent);
  box-shadow: 0 0 50px -22px color-mix(in srgb, var(--ac) 90%, transparent);
}
.cvf-passo:last-child { --ac: #e0a33a; }

/* chevron entre um passo e o seguinte, na altura do selo */
.cvf-passo + .cvf-passo::before {
  content: ""; position: absolute; left: calc(-20px / 2 - 5px); top: 62px;
  width: 10px; height: 17px;
  background: var(--arx-blue);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 17'%3E%3Cpath d='M1.5 1.5L8 8.5l-6.5 7' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 17'%3E%3Cpath d='M1.5 1.5L8 8.5l-6.5 7' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 0 6px rgba(21,116,255,.7));
}

/* selo numérico: metade dentro do card, metade fora */
.cvf__selo {
  position: absolute; top: -21px; left: 50%; transform: translateX(-50%);
  width: 42px; height: 42px; border-radius: 50%;
  display: grid; place-items: center;
  font-size: 13px; font-weight: var(--fw-semibold); color: var(--arx-white);
  background: #0b0c10;
  border: 1.4px solid color-mix(in srgb, var(--ac) 75%, transparent);
  box-shadow: 0 0 16px -2px color-mix(in srgb, var(--ac) 60%, transparent);
}
.cvf__tit {
  text-align: center; font-size: 14px; line-height: 20px; letter-spacing: .9px;
  text-transform: uppercase; font-weight: var(--fw-bold); color: var(--ac);
}
.cvf__desc { margin-top: 10px; text-align: center; font-size: 12.5px; line-height: 18px; color: var(--arx-grey-70); }

/* filete que separa a chamada da lista — some nas pontas, como na referência */
.cvf__lista {
  margin-top: 16px; padding: 16px 0 0; list-style: none;
  display: grid; gap: 11px; align-content: start; flex: 1;
  border-top: 1px solid transparent;
  border-image: linear-gradient(90deg, transparent, color-mix(in srgb, var(--ac) 45%, transparent), transparent) 1;
}
.cvf__lista li { display: flex; align-items: center; gap: 9px; }
.cvf__ico { width: 24px; height: 24px; flex: none; color: var(--ac); }
.cvf__ponto { width: 6px; height: 6px; flex: none; margin: 0 6.5px; border-radius: 50%; background: var(--ac); }
.cvf-item__txt { font-size: 12px; line-height: 17px; color: var(--arx-white); }
.cvf-item__txt b { display: block; font-weight: var(--fw-semibold); }
.cvf-item__txt b + * , .cvf-item__txt b ~ * { color: var(--arx-grey-70); }
.cvf-item__txt > b { color: var(--arx-white); }
li:has(> .cvf-item__txt > b) .cvf-item__txt { font-size: 11.5px; line-height: 15.5px; color: var(--arx-grey-70); }
li:has(> .cvf-item__txt > b) .cvf-item__txt b { font-size: 12.5px; line-height: 17px; margin-bottom: 2px; }

.cvf__rodape {
  margin-top: 18px; padding-top: 16px;
  display: flex; align-items: center; gap: 11px;
  border-top: 1px solid transparent;
  border-image: linear-gradient(90deg, transparent, color-mix(in srgb, var(--ac) 45%, transparent), transparent) 1;
}
.cvf__pe-ico { width: 28px; height: 28px; flex: none; color: var(--ac); }
.cvf__pe-txt span { display: block; font-size: 12px; line-height: 17px; color: var(--arx-white); }
/* o passo 01 não tem rodapé; o filete de baixo ainda assim fecha o card */
.cvf-passo:first-child .cvf__lista { padding-bottom: 16px; }
.cvf-passo:first-child .cvf__lista::after {
  content: ""; display: block; height: 1px; margin-top: 16px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--ac) 45%, transparent), transparent);
}

/* ---- passo 03: o motor ---- */
.cvf-passo--motor {
  /* cresce um pouco para os dois lados: é o coração do fluxo. */
  margin-block: -10px;
  background:
    radial-gradient(150% 60% at 50% 0%, rgba(21,116,255,.16), transparent 70%),
    linear-gradient(180deg, rgba(21,116,255,.07), rgba(21,116,255,.02));
  border-color: rgba(21,116,255,.55);
  box-shadow: 0 0 70px -34px rgba(21,116,255,.9);
}
.cvf-passo--motor .cvf__tit { color: var(--arx-white); }
.cvf__arte { margin-top: 16px; padding-top: 10px; }
.cvf__arte-svg { display: block; width: 100%; height: auto; }
.cvf-passo--motor .cvf__lista { border-image: none; border-top-color: transparent; padding-top: 6px; }

/* ---- faixa de métricas ---- */
.cvf__metricas {
  margin-top: 56px; padding: 30px 34px; border-radius: 16px;
  background:
    radial-gradient(700px 220px at 12% 0%, rgba(21,116,255,.12), transparent 70%),
    rgba(255,255,255,.018);
  border: 1px solid rgba(21,116,255,.22);
  display: grid; grid-template-columns: 1.5fr repeat(5, 1fr); align-items: center; gap: 0;
}
.cvf-met__titulo { display: flex; align-items: center; gap: 22px; padding-right: 30px; }
.cvf-met__alvo { width: 62px; height: 62px; flex: none; color: var(--arx-blue); }
.cvf-met__titulo b { font-size: 17px; line-height: 26px; font-weight: var(--fw-regular); color: var(--arx-white); }
.cvf-met {
  display: flex; align-items: flex-start; gap: 10px;
  /* 18px de recuo: com 26 a descrição mais longa ("de impacto financeiro
     médio") virava três linhas e desalinhava a faixa toda. */
  padding-left: 18px; border-left: 1px solid rgba(255,255,255,.10);
}
.cvf-met__ico { width: 38px; height: 38px; flex: none; margin-top: 2px; color: var(--arx-blue); }
.cvf-met__num { display: block; font-size: 27px; line-height: 30px; font-weight: var(--fw-bold); color: var(--arx-blue); font-variant-numeric: tabular-nums; }
.cvf-met__txt { display: block; margin-top: 5px; }
.cvf-met__txt span { display: block; font-size: 11px; line-height: 15.5px; color: var(--arx-grey-70); }

.cvf__remate {
  margin-top: 44px; text-align: center;
  font-size: 21px; line-height: 30px; font-weight: var(--fw-semibold); color: var(--arx-white);
}
.cvf__remate b { color: var(--arx-blue); font-weight: var(--fw-semibold); }
.cvf__remate span { display: block; margin-top: 8px; font-size: 15px; line-height: 24px; font-weight: var(--fw-regular); color: var(--arx-grey-70); }

/* ---- entrada ---- */
html.arx-anim .cvf-passo, html.arx-anim .cvf-met {
  opacity: 0; transform: translateY(22px);
  transition: opacity .6s var(--arx-ease), transform .6s var(--arx-ease),
              border-color .35s var(--arx-ease), box-shadow .35s var(--arx-ease);
  transition-delay: calc(var(--i, 0) * 90ms);
}
html.arx-anim .cvf__grid.is-revealed .cvf-passo,
html.arx-anim .cvf__metricas.is-revealed .cvf-met { opacity: 1; transform: none; }
html.arx-anim .cvf__grid.is-revealed .cvf-passo--motor { transform: none; }
html.arx-anim .cvf__grid.is-revealed .cvf-passo:hover { transform: translateY(-6px); }
@media (prefers-reduced-motion: reduce) {
  html.arx-anim .cvf-passo, html.arx-anim .cvf-met { opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   Os 6 Domínios do Civitas — cards + painel de detalhe + integrações
   ============================================================ */
.cvd { padding-block: 96px; position: relative; overflow-x: clip; }
.cvd__head { text-align: center; max-width: 760px; margin-inline: auto; }
.cvd__h2 { margin-top: 14px; font-size: 44px; line-height: 52px; font-weight: var(--fw-regular); color: var(--arx-white); }
.cvd__sub { margin-top: 16px; font-size: 16px; line-height: 24px; color: var(--arx-grey-90); }

/* relative: a dica flutuante se pendura na borda de baixo da grade */
.cvd__grid { position: relative; margin-top: 52px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.cvd-card {
  /* o rodapé e o megamenu linkam civitas.html#m1..#m6 direto nos cards; sem a
     margem de rolagem o card pararia embaixo do header flutuante. */
  scroll-margin-top: calc(var(--arx-header-h) + 20px);
  position: relative; display: flex; flex-direction: column;
  padding: 24px 18px 20px; border-radius: 16px;
  background: rgba(255,255,255,.022); border: 1px solid rgba(255,255,255,.09);
  transition: transform .35s var(--arx-ease), border-color .35s var(--arx-ease),
              background-color .35s var(--arx-ease);
}
.cvd-card:hover { transform: translateY(-6px); border-color: rgba(21,116,255,.55); background: rgba(21,116,255,.05); }
/* o domínio aberto no painel de baixo fica marcado */
.cvd-card.is-ativo { border-color: rgba(21,116,255,.55); background: rgba(21,116,255,.06); }
.cvd__num { font-size: 11px; letter-spacing: 1px; color: var(--arx-grey-70); }
.cvd__ico { width: 52px; height: 52px; margin: 12px auto 0; color: var(--arx-blue); display: block; }
.cvd__nome {
  margin-top: 14px; text-align: center;
  font-size: 17px; letter-spacing: 1.2px; text-transform: uppercase;
  font-weight: var(--fw-semibold); color: var(--arx-blue-border);
}
.cvd__desc { margin-top: 10px; text-align: center; font-size: 12px; line-height: 17px; color: var(--arx-grey-70); }
/* align-content: start — sem ele as linhas do grid esticam para preencher o
   flex:1, e o domínio com 2 serviços fica com caixas o dobro do tamanho. */
.cvd__servicos { margin-top: 18px; padding: 0; list-style: none; display: grid; gap: 6px; flex: 1; align-content: start; }
/* cada serviço é um botão de verdade: é ele que troca o painel de baixo, e
   botão nativo já vem com teclado, foco e leitura de tela prontos */
.cvd__srv {
  width: 100%; appearance: none; cursor: pointer; text-align: left;
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 9px 11px; border-radius: 9px;
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06);
  font-family: var(--arx-font); font-size: 11.5px; line-height: 15px; color: var(--arx-grey-90);
  transition: background-color .25s var(--arx-ease), border-color .25s var(--arx-ease),
              color .25s var(--arx-ease);
}
.cvd__srv span { flex: none; color: var(--arx-blue); transition: transform .25s var(--arx-ease); }
.cvd__srv:hover { background: rgba(21,116,255,.10); border-color: rgba(21,116,255,.45); color: var(--arx-white); }
.cvd__srv:hover span { transform: translateX(3px); }
.cvd__srv[aria-expanded="true"] {
  background: rgba(21,116,255,.16); border-color: rgba(21,116,255,.6); color: var(--arx-white);
}
.cvd__srv:focus-visible { outline: 2px solid var(--arx-blue-border); outline-offset: 2px; }

/* A mensagem aparece uma vez, no centro da grade, quando a seção entra na
   tela — quem dispara é o observador no JS. Aparece, fica alguns segundos e
   fecha sozinha.

   Fora do fluxo de propósito: não reserva espaço, então abrir o primeiro
   painel não empurra nada. Nasce escondida — quem a mostra é só a animação,
   e é por isso que tirar `is-dica` no primeiro clique já a fecha na hora. */
.cvd__dica {
  position: absolute; left: 50%; top: 50%; z-index: 3;
  max-width: calc(100% - 32px);
  display: flex; align-items: center; gap: 10px;
  padding: 13px 22px; border-radius: 999px;
  background: rgba(9,12,18,.96); border: 1px solid rgba(21,116,255,.5);
  box-shadow: 0 18px 50px -16px rgba(21,116,255,.8);
  font-size: 14px; line-height: 19px; color: var(--arx-white); text-align: left;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translate(-50%, -50%);
}
.cvd__dica svg { flex: none; width: 16px; height: 16px; color: var(--arx-blue); }
.cvd.is-dica .cvd__dica { animation: cvd-dica 4.6s var(--arx-ease) both; }
@keyframes cvd-dica {
  0%       { opacity: 0; visibility: visible; transform: translate(-50%, -50%) scale(.94); }
  9%, 80%  { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }
  100%     { opacity: 0; visibility: hidden;  transform: translate(-50%, -50%) scale(.97); }
}

/* painel de detalhe do serviço selecionado */
.cvd__paineis { margin-top: 20px; }
/* o `display: grid` abaixo ganha do [hidden] da folha do navegador, e sem
   isto os 20 painéis aparecem empilhados de uma vez */
.cvd__detalhe[hidden] { display: none; }
.cvd__detalhe {
  padding: 30px 34px; border-radius: 18px;
  background: rgba(21,116,255,.045); border: 1px solid rgba(21,116,255,.22);
  display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 34px;
}
.cvd-det__dom { font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--arx-blue); font-weight: var(--fw-semibold); }
.cvd-det__tit { margin-top: 10px; font-size: 26px; line-height: 32px; font-weight: var(--fw-semibold); color: var(--arx-white); }
.cvd-det__txt { margin-top: 12px; font-size: 14px; line-height: 21px; color: var(--arx-grey-90); }
.cvd-det__intro .arx-btn { margin-top: 20px; }
.cvd-det__rot { display: block; font-size: 13px; font-weight: var(--fw-semibold); color: var(--arx-blue-border); }
.cvd-det__lista { margin-top: 14px; padding: 0; list-style: none; display: grid; gap: 9px; }
.cvd-det__lista li {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: 13px; line-height: 19px; color: var(--arx-grey-90);
}
.cvd-det__lista li::before {
  content: ""; flex: none; width: 15px; height: 15px; margin-top: 2px; border-radius: 50%;
  background: var(--arx-blue);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 15px no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 15px no-repeat;
}

/* a troca de serviço tem que ser percebida: o painel entra de baixo, curto.
   `hidden` some com os outros 19, então nunca há dois no ar ao mesmo tempo. */
.cvd__detalhe.is-troca { animation: cvd-troca .34s var(--arx-ease); }
@keyframes cvd-troca {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .cvd__detalhe.is-troca { animation: none; }
  .cvd__srv, .cvd__srv span { transition: none; }
  /* a mensagem aparece parada e fica até o primeiro clique */
  .cvd.is-dica .cvd__dica { animation: none; opacity: 1; visibility: visible; }
}

/* integrações */
.cvd__integracoes { margin-top: 40px; }
.cvd-int__head { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cvd-int__head b { display: block; font-size: 19px; line-height: 26px; font-weight: var(--fw-semibold); color: var(--arx-white); }
.cvd-int__head span { display: block; margin-top: 6px; font-size: 14px; color: var(--arx-grey-70); }
/* 6 colunas: as 18 integrações fecham 3 fileiras cheias, sem sobra na última. */
.cvd-int__grid { margin-top: 22px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.cvd-int {
  display: flex; align-items: center; justify-content: center;
  padding: 18px 10px; border-radius: 12px; text-align: center;
  background: rgba(255,255,255,.022); border: 1px solid rgba(255,255,255,.09);
  font-size: 13px; font-weight: var(--fw-semibold); color: var(--arx-grey-90);
  transition: border-color .3s var(--arx-ease), color .3s var(--arx-ease), background-color .3s var(--arx-ease);
}
.cvd-int:hover { border-color: rgba(21,116,255,.5); color: var(--arx-white); background: rgba(21,116,255,.05); }
/* A caixa sozinha não iguala as logos: uma marca quadrada com a mesma altura
   de um letreiro deitado ocupa um terço do espaço e some ao lado dele. --s é
   o peso óptico de cada uma, medido caso a caso no gerador. */
.cvd-int__logo {
  width: auto; height: auto;
  max-width: calc(78% * var(--s, 1));
  max-height: calc(26px * var(--s, 1));
  object-fit: contain;
  opacity: .82; transition: opacity .3s var(--arx-ease);
}
.cvd-int:hover .cvd-int__logo { opacity: 1; }
.cvd-int--mais { font-size: 13px; }

html.arx-anim .cvd-card {
  opacity: 0; transform: translateY(20px);
  transition: opacity .55s var(--arx-ease), transform .55s var(--arx-ease),
              border-color .35s var(--arx-ease), background-color .35s var(--arx-ease);
  transition-delay: calc(var(--i, 0) * 80ms);
}
html.arx-anim .cvd__grid.is-revealed .cvd-card { opacity: 1; transform: none; }
html.arx-anim .cvd__grid.is-revealed .cvd-card:hover { transform: translateY(-6px); }
@media (prefers-reduced-motion: reduce) {
  html.arx-anim .cvd-card { opacity: 1; transform: none; transition: none; }
}
