/* =========================================================
   SÓCIO IA: folha de estilo principal
   Tokens primeiro. Tudo que muda de cor ou espaçamento
   está aqui no topo.
   ========================================================= */

:root{
  /* identidade */
  --escuro-900:#12092B;
  --escuro-800:#170F36;   /* fundo oficial da logo */
  --escuro-700:#221552;
  --escuro-600:#2E1D6B;

  --roxo:#8B5CF6;
  --roxo-forte:#7038E8;
  --roxo-claro:#B695EC;
  --roxo-suave:#D9C9F7;

  --lilas:#F4F0FD;
  --lilas-borda:#E4DAF8;
  --branco:#FFFFFF;

  --texto:#3B3357;
  --texto-fraco:#6B6486;
  --texto-claro:#D7CDF2;
  --texto-claro-fraco:#A79BCC;

  --linha:#E8E3F4;
  --linha-escura:rgba(182,149,236,.22);

  /* tipografia */
  --serif:"Playfair Display","Georgia","Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  /* layout */
  --wrap:1180px;
  --raio:16px;
  --raio-sm:10px;
  --sombra:0 18px 50px rgba(18,9,43,.14);
  --sombra-forte:0 24px 70px rgba(18,9,43,.28);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:90px;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--texto);
  background:var(--branco);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--roxo);outline-offset:3px;border-radius:4px;}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.centro{text-align:center;}
.pular{
  position:absolute;left:-9999px;
  background:var(--roxo);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:1000;
}
.pular:focus{left:0;top:0;}

/* =============== tipografia =============== */
h1,h2,h3,h4{margin:0;color:var(--escuro-900);line-height:1.18;letter-spacing:-.015em;}
h1{font-size:clamp(34px,5vw,56px);font-weight:700;}
h2{font-size:clamp(28px,3.6vw,42px);font-weight:700;}
h3{font-size:clamp(19px,2vw,24px);font-weight:700;}
h4{font-size:17px;font-weight:700;}
p{margin:0 0 16px;}
.serifada{font-family:var(--serif);}
.rx{color:var(--roxo);}
.rx-claro{color:var(--roxo-claro);}

.olho{
  display:inline-block;
  font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--roxo);margin-bottom:14px;
}
.chamada{font-size:clamp(16px,1.7vw,19px);color:var(--texto-fraco);max-width:62ch;}
.secao{padding:96px 0;}
.secao-compacta{padding:64px 0;}

/* =============== seções claras e escuras =============== */
.claro{background:var(--branco);}
.lilas{background:var(--lilas);}
.escuro{
  background:
    radial-gradient(900px 520px at 20% 0%, rgba(139,92,246,.28), transparent 60%),
    radial-gradient(700px 460px at 92% 100%, rgba(112,56,232,.22), transparent 60%),
    var(--escuro-800);
  color:var(--texto-claro);
}
.escuro h1,.escuro h2,.escuro h3,.escuro h4{color:#fff;}
.escuro .chamada{color:var(--texto-claro-fraco);}
.escuro .olho{color:var(--roxo-claro);}
.escuro-solido{background:var(--escuro-900);color:var(--texto-claro);}

/* =============== botões =============== */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-size:15px;font-weight:600;font-family:inherit;
  padding:13px 24px;border-radius:999px;border:1px solid transparent;
  cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn svg{width:17px;height:17px;}
.btn-primario{
  background:linear-gradient(135deg,var(--roxo),var(--roxo-forte));
  color:#fff;box-shadow:0 10px 26px rgba(112,56,232,.38);
}
.btn-primario:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(112,56,232,.48);}
.btn-vazado{border-color:var(--linha);color:var(--escuro-900);background:transparent;}
.btn-vazado:hover{border-color:var(--roxo);color:var(--roxo);}
.escuro .btn-vazado{border-color:var(--linha-escura);color:#fff;}
.escuro .btn-vazado:hover{border-color:var(--roxo-claro);color:var(--roxo-claro);}
.btn-destaque{
  background:linear-gradient(135deg,var(--roxo),var(--roxo-forte));
  color:#fff;box-shadow:0 0 0 0 rgba(139,92,246,.6);
  animation:pulso 2.8s ease-out infinite;
}
@keyframes pulso{
  0%{box-shadow:0 0 0 0 rgba(139,92,246,.55);}
  70%{box-shadow:0 0 0 14px rgba(139,92,246,0);}
  100%{box-shadow:0 0 0 0 rgba(139,92,246,0);}
}

/* =============== cabeçalho =============== */
.topo{
  position:sticky;top:0;z-index:120;
  background:rgba(23,15,54,.86);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linha-escura);
}
.topo-in{display:flex;align-items:center;gap:26px;height:74px;}
.marca img{height:34px;width:auto;}
.menu{display:flex;align-items:center;gap:26px;margin-left:12px;}
.menu a{
  font-size:14.5px;font-weight:500;color:var(--texto-claro);
  padding:6px 0;border-bottom:2px solid transparent;
}
.menu a:hover{color:#fff;border-bottom-color:var(--roxo-claro);}
.menu a[aria-current="page"]{color:#fff;border-bottom-color:var(--roxo);}
.topo .btn{margin-left:auto;}
.abre-menu{
  display:none;margin-left:auto;background:none;border:0;color:#fff;padding:8px;cursor:pointer;
}

/* =============== hero =============== */
.hero{
  position:relative;overflow:hidden;isolation:isolate;
  padding:118px 0 112px;
  background:
    radial-gradient(760px 520px at 12% 45%, rgba(139,92,246,.26), transparent 62%),
    radial-gradient(640px 480px at 78% 50%, rgba(112,56,232,.20), transparent 64%),
    linear-gradient(90deg, #2A1760 0%, var(--escuro-800) 55%, #140C31 100%);
}
.hero-conteudo{position:relative;z-index:2;max-width:640px;}

/* fundo de circuito */
.hero-fundo{position:absolute;inset:0;z-index:0;pointer-events:none;}
.hero-fundo::after{
  /* véu que protege a leitura do texto */
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(23,15,54,.92) 0%, rgba(23,15,54,.8) 38%, rgba(23,15,54,.2) 62%, rgba(23,15,54,0) 74%);
}
.hero-circuito{position:absolute;inset:0;width:100%;height:100%;display:block;}
.hero-circuito .halos circle{animation:pulsa 5.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center;}
.hero-circuito .sinais path{
  stroke-dasharray:46 1400;stroke-dashoffset:0;opacity:.85;
  animation:corre 7s linear infinite;
}
@keyframes pulsa{0%,100%{opacity:.55;transform:scale(.85);}50%{opacity:1;transform:scale(1.15);}}
@keyframes corre{from{stroke-dashoffset:0;}to{stroke-dashoffset:-1446;}}
@media (prefers-reduced-motion:reduce){.hero-circuito .sinais{display:none;}}
.hero h1{color:#fff;}
.hero p.chamada{color:var(--texto-claro-fraco);margin-top:18px;}
.hero-acoes{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.selo-topo{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--linha-escura);border-radius:999px;
  padding:6px 14px;font-size:12.5px;color:var(--roxo-suave);margin-bottom:22px;
}
.ponto{width:7px;height:7px;border-radius:50%;background:var(--roxo-claro);}

/* =============== faixa de clientes =============== */
.secao-clientes{
  background:linear-gradient(180deg,#F2EFF8 0%,#F6F5FA 100%);
  padding:46px 0 52px;
}
.clientes-apoio{
  text-align:center;margin:0 0 26px;
  font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--texto-fraco);
}
.esteira{
  --logo-altura:44px;
  --logo-largura-max:190px;
  --logo-espaco:72px;
  --esteira-duracao:42s;
  position:relative;overflow:hidden;
  max-width:1320px;margin:0 auto;
  /* logos somem suave nas bordas */
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);
}
.esteira-trilho{
  display:flex;width:max-content;
  animation:esteira var(--esteira-duracao) linear infinite;
  will-change:transform;
}
.esteira:hover .esteira-trilho{animation-play-state:paused;}
.esteira-grupo{
  display:flex;align-items:center;flex-shrink:0;
  gap:var(--logo-espaco);
  /* o espaço final igual ao gap deixa as duas cópias idênticas e o reinício sem salto */
  padding:6px var(--logo-espaco) 6px 0;margin:0;list-style:none;
}
.esteira-grupo li{
  display:flex;align-items:center;justify-content:center;
  height:var(--logo-altura);flex-shrink:0;
}
.esteira-grupo img{
  display:block;width:auto;height:var(--logo-altura);
  max-width:var(--logo-largura-max);object-fit:contain;
  /* logos em cinza, cor original ao passar o mouse */
  filter:grayscale(1);opacity:.62;
  transition:filter .3s ease, opacity .3s ease;
}
.esteira-grupo li:hover img{filter:none;opacity:1;}
/* direita para a esquerda: anda exatamente uma cópia e reinicia no zero, sem salto */
@keyframes esteira{from{transform:translate3d(0,0,0);}to{transform:translate3d(-50%,0,0);}}

@media (max-width:560px){
  .esteira{--logo-altura:34px;--logo-largura-max:140px;--logo-espaco:48px;--esteira-duracao:34s;}
}

/* movimento reduzido: logos paradas e distribuídas na faixa */
@media (prefers-reduced-motion:reduce){
  .esteira{-webkit-mask-image:none;mask-image:none;padding:0 24px;}
  .esteira-trilho{animation:none;display:block;width:auto;transform:none;}
  .esteira-grupo{flex-wrap:wrap;flex-shrink:1;justify-content:center;padding:6px 0;row-gap:28px;column-gap:56px;}
  .esteira-grupo[aria-hidden="true"]{display:none;}
}

/* =============== cartão leve =============== */
.card-leve{
  display:flex;align-items:flex-start;gap:18px;
  background:#FBFBFD;
  border:1px solid rgba(23,15,54,.05);
  border-radius:22px;padding:26px 28px;
  box-shadow:0 1px 2px rgba(23,15,54,.03), 0 16px 40px -16px rgba(23,15,54,.13);
  transition:transform .25s ease, box-shadow .25s ease;
}
.card-leve:hover{
  transform:translateY(-3px);
  box-shadow:0 1px 2px rgba(23,15,54,.03), 0 24px 52px -18px rgba(23,15,54,.18);
}
.card-leve .icone{
  flex:0 0 auto;width:50px;height:50px;border-radius:15px;margin:0;
  background:#F0EAFD;border:0;
}
.card-leve .icone svg{width:24px;height:24px;stroke:var(--roxo-forte);}
.card-texto{min-width:0;}
.card-leve h3{font-size:17.5px;line-height:1.3;color:var(--escuro-900);margin-top:2px;}
.card-leve p{font-size:14.5px;line-height:1.55;color:var(--texto-fraco);margin:6px 0 0;}
.grade-leve{gap:22px 26px;}

/* =============== cartões =============== */
.grade{display:grid;gap:24px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g4{grid-template-columns:repeat(4,1fr);}

.cartao{
  background:var(--branco);border:1px solid var(--linha);
  border-radius:var(--raio);padding:28px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.cartao:hover{transform:translateY(-4px);box-shadow:var(--sombra);border-color:var(--roxo-suave);}
.escuro .cartao{
  background:rgba(255,255,255,.045);border-color:var(--linha-escura);
}
.escuro .cartao:hover{border-color:var(--roxo-claro);box-shadow:var(--sombra-forte);}
.cartao p{color:var(--texto-fraco);font-size:14.5px;margin:10px 0 0;}
.escuro .cartao p{color:var(--texto-claro-fraco);}
.icone{
  width:46px;height:46px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(139,92,246,.16),rgba(112,56,232,.1));
  border:1px solid var(--linha-escura);margin-bottom:16px;
}
.icone svg{width:22px;height:22px;stroke:var(--roxo);fill:none;stroke-width:1.7;}
.escuro .icone svg{stroke:var(--roxo-claro);}
.passo{
  font-family:var(--serif);font-size:15px;color:var(--roxo);
  border:1px solid var(--linha-escura);border-radius:999px;
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.escuro .passo{color:var(--roxo-claro);}

/* =============== linhas alternadas =============== */
.linha-alt{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px;}
.linha-alt:last-child{margin-bottom:0;}
.linha-alt.invertida .texto{order:2;}
.linha-alt ul{margin:18px 0 0;padding:0;list-style:none;}
.linha-alt li{position:relative;padding-left:26px;margin-bottom:10px;font-size:15px;}
.linha-alt li::before{
  content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;
  background:var(--roxo);box-shadow:0 0 0 4px rgba(139,92,246,.16);
}

/* =============== definição / resposta direta =============== */
.definicao{
  border-left:4px solid var(--roxo);
  background:var(--lilas);
  border-radius:0 var(--raio) var(--raio) 0;
  padding:26px 30px;font-size:17px;color:var(--escuro-900);
}
.escuro .definicao{background:rgba(139,92,246,.12);color:#fff;}

/* =============== tabela comparativa =============== */
.tabela{width:100%;border-collapse:collapse;font-size:15px;margin-top:28px;}
.tabela caption{text-align:left;font-size:13px;color:var(--texto-fraco);padding-bottom:12px;}
.tabela th,.tabela td{padding:16px 18px;border-bottom:1px solid var(--linha);vertical-align:top;text-align:left;}
.tabela thead th{
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-fraco);
  border-bottom:2px solid var(--escuro-900);
}
.tabela tbody th{font-weight:600;color:var(--escuro-900);width:26%;}
.tabela td.geo{background:rgba(139,92,246,.06);}

/* =============== ilustração =============== */
.figura{
  background:var(--branco);border:1px solid var(--linha);
  border-radius:var(--raio);padding:24px;box-shadow:var(--sombra);
}
.figura figcaption{font-size:13px;color:var(--texto-fraco);margin-top:14px;text-align:center;}

/* painéis ilustrativos do Método M.A.P.A.: traço fino, um roxo de destaque, muito respiro */
.figura-painel{padding:22px 20px;box-shadow:0 18px 50px -24px rgba(18,9,43,.12);}
.painel-mapa{display:block;width:100%;height:auto;}
.painel-mapa text{font-family:var(--sans);stroke:none;}
.pn-titulo{font-size:17px;font-weight:600;fill:var(--escuro-900);letter-spacing:-.01em;}
.pn-texto{font-size:15.5px;fill:var(--texto);}
.pn-leve{font-size:15px;fill:#8C86A0;}
.pn-destaque{font-size:15px;font-weight:600;fill:var(--roxo-forte);}
@media (max-width:560px){
  .figura-painel{padding:10px 6px;}
}

/* =============== faq =============== */
.faq{max-width:820px;margin:0 auto;}
.faq details{
  border:1px solid var(--linha);border-radius:var(--raio);
  padding:20px 24px;margin-bottom:14px;background:var(--branco);
}
.faq details[open]{border-color:var(--roxo-suave);box-shadow:var(--sombra);}
.faq summary{
  cursor:pointer;font-weight:600;font-size:16.5px;color:var(--escuro-900);
  list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";font-size:22px;color:var(--roxo);line-height:1;
  transition:transform .2s ease;
}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .resposta{margin-top:14px;color:var(--texto-fraco);font-size:15px;}

/* =============== cta final =============== */
.cta-final{
  border-radius:24px;padding:64px 48px;text-align:center;
  background:
    radial-gradient(700px 380px at 50% 0%, rgba(139,92,246,.34), transparent 65%),
    var(--escuro-800);
  border:1px solid var(--linha-escura);
}
.cta-final h2{color:#fff;}
.cta-final .chamada{margin:16px auto 30px;color:var(--texto-claro-fraco);}

/* =============== rodapé =============== */
.rodape{background:var(--escuro-900);color:var(--texto-claro-fraco);padding:64px 0 28px;}
.rodape-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;}
.rodape img{height:32px;width:auto;margin-bottom:16px;}
.rodape .rodape-titulo{
  font-size:11.5px;font-weight:700;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 14px;
}
.redes{display:flex;gap:10px;list-style:none;margin:18px 0 0;padding:0;}
.redes a{
  display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;
  border:1px solid var(--linha-escura);color:var(--texto-claro);transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.redes a:hover{border-color:var(--roxo-claro);color:#fff;background:rgba(139,92,246,.18);}
.redes svg{width:18px;height:18px;}
.rodape ul{list-style:none;margin:0;padding:0;font-size:14px;line-height:2.1;}
.rodape a:hover{color:var(--roxo-claro);}
.rodape-base{
  border-top:1px solid var(--linha-escura);margin-top:40px;padding-top:20px;
  display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;
}

/* =============== página interna simples =============== */
.capa-interna{padding:70px 0 60px;}
.trilha{font-size:13px;color:var(--texto-claro-fraco);margin-bottom:14px;}
.trilha a:hover{color:#fff;}
.em-obras{
  border:1px dashed var(--linha);border-radius:var(--raio);
  padding:44px;text-align:center;color:var(--texto-fraco);
}

/* =============== página de estruturação =============== */
.capa-selos{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:26px 0 0;padding:0;}
.capa-selos .selo-topo{margin:0;}

/* dados em formato de resposta direta: número, contexto e fonte */
.dados-lista{
  margin-top:44px;background:var(--branco);
  border:1px solid rgba(23,15,54,.05);border-radius:22px;
  box-shadow:0 1px 2px rgba(23,15,54,.03), 0 16px 40px -16px rgba(23,15,54,.13);
}
.dado{display:grid;grid-template-columns:260px 1fr;gap:48px;padding:40px 44px;}
.dado + .dado{border-top:1px solid var(--linha);}
.dado-numero{
  margin:0;font-size:clamp(34px,3.6vw,44px);font-weight:700;line-height:1.05;
  letter-spacing:-.02em;color:var(--roxo-forte);font-variant-numeric:tabular-nums;
}
.dado-rotulo{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--texto-fraco);max-width:30ch;}
.dado-rotulo + .dado-numero{margin-top:22px;}
.dado-texto h3{font-size:clamp(19px,1.9vw,22px);}
.dado-texto p{margin:10px 0 0;font-size:16px;}
.dado-texto .dado-fonte{margin-top:16px;font-size:13.5px;color:var(--texto-fraco);}
.dado-fonte span{font-weight:600;color:var(--escuro-900);}

.linha-alt .texto .passo + .olho{margin-top:2px;}

.lista-pontos{margin:18px 0 0;padding:0;list-style:none;}
.lista-pontos li{position:relative;padding-left:24px;margin-bottom:9px;font-size:15px;}
.lista-pontos li::before{
  content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;
  background:var(--roxo);box-shadow:0 0 0 4px rgba(139,92,246,.16);
}
.escuro .lista-pontos li{color:var(--texto-claro);}
.escuro .lista-pontos li::before{background:var(--roxo-claro);box-shadow:0 0 0 4px rgba(182,149,236,.14);}

/* lista numerada do ciclo recorrente */
.ciclo{list-style:none;margin-bottom:0;padding:0;}

/* lista do programa para agências e faixa de destaque */
.lista-programa{
  list-style:none;margin:40px 0 0;padding:0;max-width:880px;
  background:var(--branco);border:1px solid rgba(23,15,54,.05);border-radius:22px;
  box-shadow:0 1px 2px rgba(23,15,54,.03), 0 16px 40px -16px rgba(23,15,54,.13);
}
.lista-programa li{display:flex;align-items:center;gap:20px;padding:26px 32px;}
.lista-programa li + li{border-top:1px solid var(--linha);}
.lista-programa .icone{
  flex:0 0 auto;width:48px;height:48px;border-radius:14px;margin:0;
  background:#F0EAFD;border:0;
}
.lista-programa .icone svg{width:23px;height:23px;stroke:var(--roxo-forte);}
.lista-programa p{margin:0;font-size:16.5px;color:var(--escuro-900);}

.destaque-faixa{
  margin:0 auto;max-width:30ch;text-align:center;
  font-size:clamp(24px,3vw,34px);font-weight:600;line-height:1.3;letter-spacing:-.015em;
  color:var(--escuro-900);
}
.destaque-faixa strong{color:var(--roxo-forte);font-weight:700;}

/* cards de pessoas e destaque em seção escura */
.escuro .destaque-faixa{color:#fff;}
.escuro .destaque-faixa strong{color:var(--roxo-claro);}

.grade-pessoas{grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:26px;margin-top:44px;}
.card-pessoa{
  display:flex;flex-direction:column;
  margin:0;overflow:hidden;background:#FBFBFD;
  border:1px solid rgba(23,15,54,.05);border-radius:22px;
  box-shadow:0 1px 2px rgba(23,15,54,.03), 0 16px 40px -16px rgba(23,15,54,.13);
}
.card-pessoa img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;}
.card-pessoa-texto{flex:1;padding:22px 24px 26px;text-align:center;}
.card-pessoa h3{font-size:19px;line-height:1.3;color:var(--escuro-900);}
.card-pessoa-cargo{margin:4px 0 0;font-size:14.5px;font-weight:500;color:var(--texto);}
.card-pessoa-resumo{margin:14px 0 0;font-size:13.5px;line-height:1.55;color:var(--texto-fraco);overflow-wrap:anywhere;}

@media (max-width:960px){
  .grade-pessoas{grid-template-columns:repeat(3,1fr);gap:16px;}
  .card-pessoa-texto{padding:16px 16px 18px;}
  .card-pessoa h3{font-size:16.5px;}
  .card-pessoa-cargo{font-size:13.5px;}
  .card-pessoa-resumo{font-size:13px;margin-top:10px;}
}
@media (max-width:560px){
  .grade-pessoas{grid-template-columns:1fr;gap:14px;}
  .card-pessoa{flex-direction:row;align-items:center;gap:16px;padding:12px;border-radius:18px;}
  .card-pessoa img{width:96px;flex:0 0 96px;border-radius:12px;}
  .card-pessoa-texto{padding:0;text-align:left;min-width:0;}
  .card-pessoa h3{font-size:17px;}
  .card-pessoa-cargo{font-size:14px;}
  .card-pessoa-resumo{font-size:13px;margin-top:8px;}
}

@media (max-width:760px){
  .dado{grid-template-columns:1fr;gap:18px;padding:30px 24px;}
  .lista-programa li{align-items:flex-start;padding:22px 20px;gap:16px;}
}

/* =============== chamada para especialista nas seções =============== */
/* mesmo botão roxo preenchido da capa, com respiro para não colar no conteúdo nem na seção seguinte */
.chamada-secao{display:flex;justify-content:flex-start;margin-top:56px;margin-bottom:16px;}
.chamada-faq{max-width:820px;margin-left:auto;margin-right:auto;}
.btn-chamada svg{width:17px;height:17px;flex:0 0 auto;}
/* a última linha alternada perde a margem inferior para o respiro acima do botão ser o mesmo em todas as seções */
.linha-alt:has(+ .chamada-secao){margin-bottom:0;}
/* nas seções escuras, contorno claro e brilho para o roxo se separar do fundo */
.escuro .btn-chamada{box-shadow:0 0 0 1px rgba(255,255,255,.16), 0 12px 32px rgba(139,92,246,.45);}
.escuro .btn-chamada:hover{box-shadow:0 0 0 1px rgba(255,255,255,.28), 0 16px 40px rgba(139,92,246,.6);}

/* links de navegação dentro das seções, sem cara de botão */
.link-texto{
  display:inline-block;margin-top:6px;font-weight:600;font-size:15px;color:var(--roxo-forte);
  border-bottom:1px solid rgba(112,56,232,.35);padding-bottom:2px;
}
.link-texto:hover{border-bottom-color:currentColor;}
.escuro .link-texto{color:var(--roxo-claro);border-bottom-color:rgba(182,149,236,.4);}

@media (max-width:560px){
  .chamada-secao{margin-top:40px;margin-bottom:8px;}
  .btn-chamada{font-size:14.5px;padding:12px 20px;gap:8px;}
  .btn-chamada svg{width:16px;height:16px;}
}

/* =============== revelar ao rolar =============== */
.revela{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
.revela.visivel{opacity:1;transform:none;}

/* =============== responsivo =============== */
@media (max-width:960px){
  .linha-alt,.g4,.g3,.g2,.rodape-grid{grid-template-columns:1fr;}
  .linha-alt.invertida .texto{order:0;}
  .menu{
    display:none;position:absolute;top:74px;left:0;right:0;
    background:var(--escuro-800);flex-direction:column;align-items:flex-start;
    gap:0;padding:12px 24px 20px;border-bottom:1px solid var(--linha-escura);
  }
  .menu.aberto{display:flex;}
  .menu a{width:100%;padding:12px 0;border-bottom:1px solid var(--linha-escura);}
  .abre-menu{display:block;}
  .topo .btn{margin-left:0;order:3;padding:10px 16px;font-size:13.5px;}
  .topo-in{gap:12px;}
  .secao{padding:68px 0;}
  .cta-final{padding:44px 24px;}
  .hero{padding:84px 0 80px;}
  .hero-fundo{opacity:.6;}
  .hero-fundo::after{background:linear-gradient(180deg, rgba(23,15,54,.72) 0%, rgba(23,15,54,.6) 60%, rgba(23,15,54,.8) 100%);}
}
@media (max-width:560px){
  .marca img{height:26px;}
  .topo-in{gap:8px;}
  .topo .btn{font-size:12px;padding:9px 13px;white-space:nowrap;}
  .topo .btn svg{width:14px;height:14px;}
  .abre-menu{padding:6px;}
  .g4,.g3{grid-template-columns:1fr;}
  .tabela th,.tabela td{padding:12px 10px;font-size:14px;overflow-wrap:anywhere;}
  .tabela thead th{font-size:11px;letter-spacing:.05em;}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
  .revela{opacity:1;transform:none;}
}
