/* Codex — home 01. Textos aprovados preservados; movimento sem radar ou grade. */
.pagina-home {
  --largura-max:1760px;
  --gutter:clamp(24px,4.2vw,80px);
  --fio:rgba(178,181,192,.23);
  background:var(--preto);
  overflow-x:clip
}
.pagina-home a:hover {
  opacity:1
}
.pagina-home ul,.pagina-home ol {
  max-width:none
}
.pagina-home button {
  font:inherit
}
.pagina-home main {
  position:relative
}
/* Lâminas da própria marca atravessam a abertura e reaparecem nas transições. */
.fundo {
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:0;
  background:var(--preto)
}
.fundo__laminas {
  position:absolute;
  right:-10%;
  top:-20%;
  width:86vw;
  height:130vh;
  background:url('../img/marca-v2/laminas-transparente.webp') center/cover no-repeat;
  opacity:.075;
  transform:translate3d(0,calc(var(--fundo-y,0)*1px),0) rotate(-12deg);
  mask-image:linear-gradient(90deg,transparent,#000 55%)
}
.fundo__luz {
  position:absolute;
  inset:0;
  background:url('../img/marca-v2/blur-laminas.webp') 90% 30%/70% auto no-repeat;
  opacity:.32;
  transform:translateY(calc(var(--fundo-y,0)*-.4px))
}
.fundo__corte {
  position:absolute;
  width:14vw;
  height:150%;
  top:-25%;
  right:20%;
  transform:skewX(-26deg) translateY(calc(var(--fundo-y,0)*.3px));
  border-left:1px solid #66a68755;
  background:linear-gradient(90deg,#66a68712,transparent)
}
.fundo__corte--b {
  right:5%;
  width:4vw;
  border-color:rgb(var(--cor-destaque-rgb) / .251)
}
/* Navegação fixada, redução de apenas seis pixels. */
.cabecalho {
  position:fixed;
  inset:0 0 auto;
  z-index:100;
  padding:23px 0;
  background:rgb(var(--cor-fundo-rgb) / .678);
  border-bottom:1px solid #b2b5c025;
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
  transition:padding .4s,background .4s
}
.cabecalho--solido {
  padding:20px 0;
  background:rgb(var(--cor-fundo-rgb) / .89)
}
.cabecalho__interno {
  display:flex;
  align-items:center;
  gap:clamp(16px,2vw,36px);
  max-width:1920px;
  margin:auto;
  padding:0 var(--gutter)
}
.cabecalho__marca {
  flex-shrink:0
}
.cabecalho__marca img {
  width:158px;
  height:auto
}
.cabecalho__nav {
  margin-left:auto
}
.menu {
  display:flex;
  align-items:center;
  gap:clamp(12px,1.2vw,24px);
  list-style:none;
  margin:0;
  padding:0
}
.menu__item {
  margin:0
}
.menu__link {
  position:relative;
  display:block;
  padding:10px 0;
  color:white;
  text-decoration:none;
  font-family:var(--fonte-titulo);
  font-size:17px;
  font-weight:700;
  letter-spacing:.035em;
  text-transform:uppercase;
  white-space:nowrap
}
.menu__link:after {
  content:'';
  position:absolute;
  bottom:3px;
  left:0;
  width:100%;
  height:2px;
  background:var(--intell-green);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s var(--curva)
}
.menu__link:hover:after,.menu__link:focus-visible:after {
  transform:scaleX(1)
}
.cabecalho__lado {
  display:flex;
  align-items:center;
  gap:16px
}
.sociais {
  display:flex;
  gap:7px;
  list-style:none;
  margin:0;
  padding:0
}
.sociais li {
  margin:0
}
.sociais--menu {
  padding-right:16px;
  border-right:1px solid var(--fio)
}
.social {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid var(--fio);
  border-radius:50%;
  color:white;
  transition:background .3s,color .3s,transform .3s
}
.social svg {
  width:16px;
  height:16px
}
.social:hover,.social:focus-visible {
  background:var(--intell-green);
  color:var(--preto);
  transform:translateY(-3px)
}
.social--grande {
  width:40px;
  height:40px
}
.social--grande svg {
  width:18px;
  height:18px
}
.cabecalho__idiomas {
  display:flex;
  gap:3px
}
.idioma {
  font-size:11px;
  color:var(--cinza);
  padding:6px;
  text-decoration:none
}
.idioma--ativo {
  color:var(--intell-green);
  border-bottom:1px solid currentColor
}
.botao-portal {
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 17px;
  border:1px solid var(--intell-green);
  border-radius:3px;
  background:var(--intell-green);
  color:var(--preto);
  font-family:var(--fonte-titulo);
  font-size:16px;
  font-weight:700;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  transition:box-shadow .3s
}
.botao-portal:hover {
  box-shadow:0 0 26px rgb(var(--cor-destaque-rgb) / .2)
}
.cabecalho__botao {
  display:none;
  border:0;
  background:none;
  padding:8px;
  cursor:pointer
}
.cabecalho__traco {
  display:block;
  width:25px;
  height:2px;
  background:white;
  margin:6px 0
}
/* Abertura: a única seção de tela inteira. */
.abertura {
  position:sticky;
  top:0;
  height:100svh;
  min-height:760px;
  z-index:1
}
.abertura__fixo {
  height:100%;
  display:flex;
  align-items:center;
  padding:130px var(--gutter) 90px;
  opacity:calc(1 - var(--saida,0));
  transform:translateY(calc(var(--saida,0)*-70px)) scale(calc(1 - var(--saida,0)*.08));
  transform-origin:50% 35%;
  will-change:transform,opacity
}
.abertura__grade {
  width:100%;
  max-width:1600px;
  margin:auto;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:clamp(60px,8vw,160px);
  align-items:center
}
.palco {
  position:relative;
  min-width:0;
  transform-origin:left center
}
.origem {
  --altura:clamp(46px,4.8vw,82px);
  --intell:calc(var(--altura)*650/193);
  display:block;
  position:relative;
  height:var(--altura);
  width:calc(var(--altura)*1200/193);
  max-width:100%;
  padding:0;
  border:0;
  background:none;
  color:white;
  text-align:left;
  cursor:pointer
}
.origem__linha {
  display:flex;
  align-items:flex-end;
  position:absolute;
  top:0;
  left:0;
  height:var(--altura);
  white-space:nowrap
}
.origem__peca {
  height:var(--altura);
  width:auto;
  max-width:none;
  flex-shrink:0
}
.origem__linha--baixa {
  transform:translateX(var(--intell))
}
.origem__sai {
  display:none;
  font-family:var(--fonte-texto);
  font-size:calc(var(--altura)*.79);
  font-weight:300;
  line-height:1.02;
  letter-spacing:-.055em;
  color:var(--cinza);
  padding-bottom:calc(var(--altura)*.025)
}
.origem__legenda {
  display:block;
  font-size:10px;
  letter-spacing:.24em;
  color:var(--cinza);
  margin-top:24px
}
.palco__frase {
  margin:38px 0 0;
  font-size:clamp(40px,3.9vw,74px);
  line-height:1.01;
  font-weight:700;
  letter-spacing:-.025em;
  text-wrap:initial;
  max-width:17ch
}
.linha {
  display:block;
  overflow:hidden
}
.linha>span {
  display:block
}
.linha--destaque {
  color:var(--intell-green)
}
.quem {
  position:relative
}
.rotulo {
  display:block;
  margin-bottom:22px;
  font-family:var(--fonte-texto);
  font-size:11px;
  line-height:1.4;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cinza)
}
.rotulo:before {
  content:'';
  display:inline-block;
  vertical-align:middle;
  width:28px;
  height:1px;
  margin-right:12px;
  background:var(--intell-green)
}
.quem__titulo {
  font-size:clamp(38px,3.5vw,65px);
  line-height:.99;
  letter-spacing:-.02em;
  max-width:17ch;
  margin-bottom:28px;
  text-wrap:initial
}
.quem__texto p {
  font-size:clamp(16px,1.02vw,19px);
  line-height:1.65;
  color:var(--cinza);
  margin:0 0 15px;
  max-width:55ch
}
.quem__texto p:first-child {
  color:white
}
.quem__texto p:last-child {
  margin:0;
  color:white
}
.abertura__tagline {
  position:absolute;
  left:22px;
  top:38%;
  width:19px;
  height:auto;
  max-height:350px;
  object-fit:contain;
  opacity:.75
}
.abertura__rolar {
  position:absolute;
  left:var(--gutter);
  bottom:37px;
  border:0;
  background:none;
  color:var(--cinza);
  padding:8px 0;
  cursor:pointer;
  text-transform:uppercase;
  font-size:10px!important;
  letter-spacing:.18em
}
.abertura__rolar>span {
  display:flex;
  align-items:center;
  gap:20px
}
.abertura__rolar-traco {
  color:var(--intell-green);
  font-size:24px;
  animation:scroll-cue 2s ease-in-out infinite
}
@keyframes scroll-cue {
  50% {
    transform:translateY(6px)
  }
}
/* Estados de entrada ligados somente após fontes e imagens estarem prontas. */
.motion .palco {
  transform:translate(var(--centro-x,0px),60px)
}
.motion .origem {
  height:calc(var(--altura)*2.45);
  opacity:0
}
.motion .origem__sai {
  display:block
}
.motion .origem__linha--baixa {
  transform:translate(54px,calc(var(--altura)*1.35))
}
.motion .palco__frase,.motion .quem,.motion .origem__legenda {
  opacity:0
}
.motion .abertura--pronta .origem {
  animation:marca-entra 1s var(--curva) both,marca-compacta 1s var(--curva) 3.7s forwards
}
.motion .abertura--pronta .origem__sai {
  animation:complemento-sai .8s var(--curva) 2.4s both
}
.motion .abertura--pronta .origem__linha--baixa {
  animation:marca-junta 1.2s var(--curva) 3s forwards
}
.motion .abertura--pronta .palco {
  animation:marca-desloca 1.3s var(--curva) 4.1s forwards
}
.motion .abertura--pronta .palco__frase {
  animation:entrada .9s var(--curva) 4.7s both
}
.motion .abertura--pronta .quem {
  animation:quem-entra 1.2s var(--curva) 4.8s both
}
.motion .abertura--pronta .origem__legenda {
  animation:entrada 1s var(--curva) 4.6s both
}
@keyframes marca-entra {
  from {
    opacity:0;
    filter:blur(10px);
    transform:translateY(25px)
  }
  to {
    opacity:1;
    filter:none;
    transform:none
  }
}
@keyframes marca-compacta {
  to {
    height:var(--altura)
  }
}
@keyframes complemento-sai {
  to {
    opacity:0;
    filter:blur(6px);
    transform:translateX(25px)
  }
}
@keyframes marca-junta {
  to {
    transform:translate(var(--intell),0)
  }
}
@keyframes marca-desloca {
  to {
    transform:translate(0,0)
  }
}
@keyframes entrada {
  from {
    opacity:0;
    transform:translateY(25px)
  }
  to {
    opacity:1;
    transform:none
  }
}
@keyframes quem-entra {
  from {
    opacity:0;
    transform:translateX(65px);
    clip-path:inset(0 0 0 100%)
  }
  to {
    opacity:1;
    transform:none;
    clip-path:inset(0)
  }
}
.abertura--assentada .origem {
  transition:filter .5s
}
.abertura--assentada .origem:hover {
  filter:drop-shadow(0 8px 18px rgb(var(--cor-destaque-rgb) / .145))
}
/* Corpo entra por cima da abertura com um recorte oblíquo. */
.corpo {
  position:relative;
  z-index:2
}
.secao {
  padding:72px 0;
  position:relative;
  scroll-margin-top:100px
}
.secao--verticais {
  background:#191c1eef;
  backdrop-filter:blur(10px);
  padding-top:90px;
  clip-path:polygon(0 32px,70% 32px,73% 0,100% 0,100% 100%,0 100%);
  margin-top:-32px
}
.secao__cabeca {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:40px
}
.secao__cabeca>.rotulo {
  align-self:flex-start;
  padding-top:16px
}
.secao__titulo {
  font-size:clamp(42px,4.7vw,86px);
  line-height:.98;
  letter-spacing:-.02em;
  margin:0;
  text-wrap:initial
}
.secao--verticais .secao__titulo {
  margin-right:auto
}
.secao__apoio {
  font-size:17px;
  line-height:1.6;
  max-width:35ch;
  margin:0;
  color:var(--cinza)
}
.verticais {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  list-style:none;
  margin:0 auto;
  padding:0 var(--gutter);
  max-width:var(--largura-max)!important
}
.vertical {
  margin:0;
  border-left:1px solid var(--fio);
  --cor:var(--intell-green)
}
.vertical:last-child {
  border-right:1px solid var(--fio)
}
.vertical--evo {
  --cor:var(--evo-green)
}
.vertical--light {
  --cor:var(--light-green)
}
.vertical--grey {
  --cor:var(--cinza)
}
.vertical__area {
  display:flex;
  flex-direction:column;
  position:relative;
  isolation:isolate;
  height:100%;
  min-height:385px;
  padding:32px clamp(20px,1.8vw,34px) 26px;
  color:white;
  text-decoration:none;
  overflow:hidden
}
.vertical__area:before {
  content:'';
  position:absolute;
  inset:0 24px auto;
  height:3px;
  background:var(--cor)
}
.vertical__motivo {
  position:absolute;
  right:25px;
  top:30px;
  width:62px;
  height:30px;
  background:var(--cor);
  mask:url('../img/marca-v2/linhas.png') center/contain no-repeat;
  transform-origin:right;
  transition:transform .6s var(--curva)
}
.vertical__luz {
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(0deg,color-mix(in srgb,var(--cor) 22%,transparent),transparent 78%);
  transform:translateY(100%);
  transition:transform .65s var(--curva)
}
.vertical__area:is(:hover,:focus-visible) .vertical__luz {
  transform:none
}
.vertical__area:is(:hover,:focus-visible) .vertical__motivo {
  transform:scaleX(1.4)
}
.vertical__indice {
  font-size:12px;
  color:var(--cinza);
  font-variant-numeric:tabular-nums
}
.vertical__titulo {
  font-size:clamp(30px,2.3vw,43px);
  margin:24px 0;
  letter-spacing:-.015em
}
.vertical__corpo {
  flex:1
}
.vertical__linha {
  font-size:17px;
  line-height:1.65;
  margin-bottom:17px
}
.vertical__linha strong {
  display:block;
  font-size:12px;
  margin-bottom:4px;
  text-transform:uppercase;
  letter-spacing:.025em;
  font-weight:700
}
.vertical__linha span {
  color:#d2d4db
}
.vertical__seta {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid var(--fio);
  border-radius:50%;
  margin-top:8px;
  color:white;
  transition:transform .4s
}
.vertical__seta svg {
  width:18px
}
.vertical__area:hover .vertical__seta {
  transform:translateX(8px)
}
/* Pilares: título largo à esquerda, leitura contínua e compacta à direita. */
.secao--pilares {
  background:rgb(var(--cor-fundo-rgb) / .961);
  border-top:1px solid var(--fio);
  overflow:hidden;
  padding-block:85px
}
.pilares__grade {
  display:grid;
  grid-template-columns:.9fr 1.25fr;
  gap:clamp(55px,9vw,170px)
}
.pilares__coluna {
  position:relative;
  align-self:start
}
.pilares__coluna:after {
  content:'';
  display:block;
  width:300px;
  height:35px;
  background:url('../img/marca-v2/linhas.png') left center/contain no-repeat;
  margin-top:60px;
  opacity:.65;
  transform:translateX(calc(var(--pilares-x,0)*1px))
}
.pilares__titulo {
  font-size:clamp(54px,6.1vw,110px);
  line-height:.95;
  letter-spacing:-.025em;
  max-width:10ch;
  text-wrap:initial;
  margin:0 0 36px
}
.botao-linha {
  display:inline-flex;
  align-items:center;
  gap:22px;
  font-size:14px;
  text-decoration:none;
  color:white;
  padding:12px 0;
  border-bottom:1px solid var(--intell-green)
}
.pilares {
  list-style:none;
  margin:0;
  padding:0
}
.pilar {
  display:grid;
  grid-template-columns:30px 1fr;
  gap:18px;
  border-top:1px solid var(--fio);
  padding:21px 0;
  margin:0;
  position:relative
}
.pilar:after {
  content:'';
  position:absolute;
  left:0;
  top:-1px;
  height:1px;
  width:100%;
  background:var(--intell-green);
  transform:scaleX(var(--pilar-progresso,0));
  transform-origin:left
}
.pilar__numero {
  font-size:11px;
  color:var(--cinza);
  padding-top:8px;
  font-variant-numeric:tabular-nums
}
.pilar__nome {
  font-size:30px;
  margin:0 0 9px;
  line-height:1;
  letter-spacing:0;
  transition:color .4s
}
.pilar.ativo .pilar__nome {
  color:var(--intell-green)
}
.pilar__texto {
  font-size:16px;
  line-height:1.6;
  margin:0;
  color:var(--cinza);
  max-width:none
}
/* Faixa clara de clientes; originais de demonstração até receber a lista final. */
.secao--clientes {
  background:var(--cinza);
  color:var(--preto);
  padding:35px 0 24px;
  overflow:hidden
}
.clientes__titulo {
  font-family:var(--fonte-texto);
  font-size:11px;
  letter-spacing:.18em;
  text-align:center;
  margin:0 0 25px;
  font-weight:600
}
.esteira {
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)
}
.esteira__trilho {
  display:flex;
  width:max-content;
  will-change:transform
}
.esteira__item {
  display:grid;
  place-items:center;
  width:280px;
  height:66px;
  padding:15px 45px
}
.esteira__item img {
  max-height:40px;
  max-width:190px;
  width:100%;
  object-fit:contain;
  filter:brightness(0);
  opacity:.8
}
.esteira__pausa {
  display:block;
  margin:12px auto 0;
  border:0;
  background:none;
  color:var(--preto);
  font-size:11px!important;
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
  padding:5px 12px
}
/* Publicações compactas, sem resumo; entrada simultânea em sentidos alternados. */
.secao--publicacoes {
  background:#171a1c;
  padding-block:65px 70px
}
.secao--publicacoes .secao__titulo {
  font-size:clamp(42px,4.3vw,78px);
  max-width:18ch
}
.publicacoes {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  list-style:none;
  padding:0;
  margin:0
}
.publicacao {
  margin:0;
  border-top:1px solid #b2b5c060
}
.publicacao__area {
  display:flex;
  flex-direction:column;
  min-height:220px;
  padding:25px 12px 14px 0;
  text-decoration:none;
  color:white;
  position:relative;
  transition:transform .4s
}
.publicacao__area:before {
  content:'';
  position:absolute;
  top:-1px;
  left:0;
  width:100%;
  height:2px;
  background:var(--intell-green);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .5s
}
.publicacao__area:hover:before {
  transform:scaleX(1)
}
.publicacao__area:hover {
  transform:translateY(-4px)
}
.publicacao time {
  font-size:12px;
  color:var(--cinza);
  letter-spacing:.06em
}
.publicacao h3 {
  font-size:clamp(26px,2.1vw,38px);
  line-height:1.1;
  margin:18px 0 22px;
  letter-spacing:0;
  max-width:28ch;
  text-wrap:initial
}
.publicacao__mais {
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--intell-green);
  font-size:12px;
  margin-top:auto
}
/* CTA horizontal com QR e todos os caminhos de contato. */
.cta {
  background:var(--intell-green);
  color:var(--preto);
  padding:48px 0
}
.cta__interno {
  display:grid;
  grid-template-columns:1.7fr 1fr 150px;
  gap:48px;
  align-items:center
}
.cta__titulo {
  font-size:clamp(40px,4.3vw,77px);
  line-height:.97;
  letter-spacing:-.02em;
  max-width:16ch;
  margin:0 0 17px
}
.cta__texto {
  font-size:16px;
  line-height:1.6;
  max-width:52ch;
  margin:0
}
.cta__acoes {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px
}
.cta__botao {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding:18px 22px;
  background:var(--preto);
  color:white;
  border-radius:3px;
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  transition:transform .3s
}
.cta__botao:hover {
  transform:translateX(5px)
}
.cta__whats {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  color:var(--preto);
  text-decoration:none
}
.cta__whats svg {
  width:20px;
  height:20px
}
.cta__email {
  font-size:12px;
  margin:0
}
.cta__email a {
  color:var(--preto)
}
.cta__qr {
  color:var(--preto);
  text-decoration:none
}
.cta__qr img {
  width:136px;
  height:136px;
  object-fit:contain;
  background:white;
  padding:7px;
  border-radius:4px
}
.cta__qr span {
  display:block;
  font-size:10px;
  margin-top:9px
}
/* Rodapé utiliza largura: menus e escritórios lado a lado. */
.rodape {
  position:relative;
  background:var(--preto);
  padding:45px var(--gutter) 20px;
  color:var(--cinza)
}
.rodape__interno {
  max-width:1600px;
  margin:auto;
  display:grid;
  grid-template-columns:.85fr 1fr 1.35fr 1fr;
  gap:25px 45px
}
.rodape__bloco--marca>img {
  width:205px;
  height:auto;
  margin:3px 0 27px
}
.rodape__titulo {
  font-family:var(--fonte-texto);
  font-size:11px;
  letter-spacing:.1em;
  color:white;
  margin:0 0 20px
}
.rodape__colunas {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.rodape ul {
  padding:0;
  list-style:none;
  margin:0
}
.rodape__colunas li {
  margin:0 0 9px
}
.rodape a {
  color:var(--cinza);
  font-size:12px;
  text-decoration:none
}
.rodape a:hover {
  color:var(--intell-green)
}
.rodape__enderecos {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.rodape__endereco {
  font-style:normal;
  font-size:12px;
  line-height:1.8
}
.rodape__endereco strong {
  display:block;
  color:white;
  font-size:13px;
  margin-bottom:7px
}
.rodape__linha {
  font-size:12px;
  line-height:1.9
}
.rodape .rodape__portal {
  color:var(--intell-green)
}
.botao-whats {
  display:inline-flex;
  align-items:center;
  gap:10px
}
.botao-whats svg {
  width:16px;
  height:16px
}
.rodape__direitos {
  grid-column:1/-1;
  max-width:none;
  border-top:1px solid var(--fio);
  padding-top:18px;
  margin:5px 0 0;
  font-size:10px
}
.rodape .social {
  font-size:initial
}
/* Entradas e leitura por palavras preservam o texto acessível. */
.motion [data-entra] {
  opacity:0;
  transform:translateY(30px);
  transition:opacity .85s var(--curva),transform .85s var(--curva);
  transition-delay:calc(var(--i,0)*60ms)
}
.motion [data-entra=esquerda] {
  transform:translateX(-45px)
}
.motion [data-entra=direita] {
  transform:translateX(45px)
}
.motion [data-entra].dentro {
  opacity:1;
  transform:none
}
.palavra {
  display:inline-block;
  transition:color .25s
}
.pilares__titulo .palavra {
  color:color-mix(in srgb,white calc(30% + var(--palavra-progresso,1)*70%),var(--preto))
}
@media(min-width:1700px) {
  .abertura__grade {
    padding-left:35px
  }
  .vertical__area {
    min-height:380px
  }
}
@media(max-width:1450px) {
  .cabecalho__interno {
    gap:20px
  }
  .cabecalho__marca img {
    width:130px
  }
  .cabecalho__lado {
    gap:10px
  }
  .sociais--menu {
    gap:4px;
    padding-right:10px
  }
  .social {
    width:28px;
    height:28px
  }
  .menu {
    gap:12px
  }
  .menu__link {
    font-size:15px
  }
  .cabecalho__idiomas {
    gap:0
  }
  .botao-portal {
    padding:9px 12px
  }
  .abertura__grade {
    gap:65px
  }
  .palco__frase {
    font-size:clamp(40px,4.1vw,65px)
  }
  .quem__titulo {
    font-size:clamp(38px,3.8vw,56px)
  }
  .rodape__interno {
    gap:25px
  }
  .vertical__linha {
    font-size:16px
  }
}
@media(max-width:1200px) {
  .cabecalho__marca img {
    width:135px
  }
  .cabecalho__nav {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    margin:0;
    padding:25px var(--gutter);
    background:rgb(var(--cor-fundo-rgb) / .98);
    border-bottom:1px solid var(--fio)
  }
  .cabecalho__nav--aberto {
    display:block
  }
  .menu {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px 30px
  }
  .menu__link {
    font-size:22px
  }
  .cabecalho__lado {
    margin-left:auto
  }
  .cabecalho__botao {
    display:block
  }
  .cabecalho__botao[aria-expanded=true] .cabecalho__traco:first-of-type {
    transform:translateY(4px) rotate(45deg)
  }
  .cabecalho__botao[aria-expanded=true] .cabecalho__traco:last-child {
    transform:translateY(-4px) rotate(-45deg)
  }
  .abertura {
    min-height:800px
  }
  .abertura__grade {
    gap:45px
  }
  .quem__texto p {
    font-size:16px
  }
  .abertura__tagline {
    left:10px;
    width:14px
  }
  .verticais {
    grid-template-columns:repeat(2,1fr);
    gap:30px 0
  }
  .vertical:nth-child(2) {
    border-right:1px solid var(--fio)
  }
  .vertical__area {
    min-height:310px
  }
  .vertical__titulo {
    font-size:36px
  }
  .pilares__grade {
    gap:55px
  }
  .cta__interno {
    gap:30px;
    grid-template-columns:1.4fr 1fr 110px
  }
  .cta__qr img {
    width:110px;
    height:110px
  }
  .rodape__interno {
    grid-template-columns:1fr 1fr
  }
  .rodape__bloco--onde {
    grid-column:2;
    grid-row:1
  }
  .rodape__bloco--nav {
    grid-row:2
  }
  .rodape__bloco--fale {
    grid-column:2;
    grid-row:2
  }
}
@media(max-width:800px) {
  .pagina-home {
    --gutter:24px
  }
  .cabecalho {
    padding:17px 0
  }
  .cabecalho--solido {
    padding:14px 0
  }
  .cabecalho__interno {
    gap:12px
  }
  .cabecalho__marca img {
    width:123px
  }
  .sociais--menu {
    display:none
  }
  .cabecalho__idiomas {
    display:none
  }
  .botao-portal {
    font-size:13px;
    padding:8px 10px;
    gap:6px
  }
  .abertura {
    position:relative;
    height:auto;
    min-height:0
  }
  .abertura__fixo {
    padding:145px 24px 70px;
    display:block;
    opacity:1!important;
    transform:none!important
  }
  .abertura__grade {
    display:block
  }
  .palco {
    margin-bottom:64px
  }
  .origem {
    --altura:clamp(40px,8vw,62px)
  }
  .palco__frase {
    font-size:clamp(42px,8.5vw,66px);
    max-width:18ch;
    margin-top:30px
  }
  .quem__titulo {
    font-size:46px;
    max-width:18ch
  }
  .quem__texto p {
    font-size:16px
  }
  .quem {
    padding-top:24px;
    border-top:1px solid var(--fio)
  }
  .abertura__tagline {
    display:none
  }
  .abertura__rolar {
    display:none
  }
  .fundo__laminas {
    width:140vw;
    right:-70%;
    opacity:.1
  }
  .fundo__luz {
    background-size:130%;
    opacity:.3
  }
  .fundo__corte {
    right:25%;
    width:30vw
  }
  .motion .palco {
    transform:none!important
  }
  .motion .abertura--pronta .palco {
    animation:none
  }
  .motion .abertura--pronta .quem {
    animation-delay:4.1s
  }
  .secao {
    padding-block:50px
  }
  .secao--verticais {
    padding-top:65px
  }
  .secao__cabeca {
    display:block;
    margin-bottom:30px
  }
  .secao__cabeca>.rotulo {
    padding:0
  }
  .secao__titulo {
    font-size:48px
  }
  .vertical__area {
    padding:25px 20px;
    min-height:330px
  }
  .vertical__titulo {
    font-size:30px
  }
  .vertical__linha {
    font-size:15px
  }
  .pilares__grade {
    grid-template-columns:1fr;
    gap:40px
  }
  .pilares__titulo {
    font-size:68px;
    max-width:13ch
  }
  .pilares__coluna:after {
    display:none
  }
  .pilar__nome {
    font-size:28px
  }
  .secao--clientes {
    padding:30px 0 18px
  }
  .esteira__item {
    width:210px;
    padding-inline:30px
  }
  .clientes__titulo {
    font-size:10px
  }
  .publicacoes {
    grid-template-columns:1fr;
    gap:18px
  }
  .publicacao__area {
    min-height:0;
    padding:20px 0
  }
  .publicacao h3 {
    font-size:30px;
    max-width:30ch;
    margin:14px 0 18px
  }
  .secao__apoio {
    margin-top:20px
  }
  .secao--publicacoes .secao__titulo {
    font-size:48px
  }
  .cta {
    padding:40px 0
  }
  .cta__interno {
    grid-template-columns:1fr 100px;
    gap:28px 15px
  }
  .cta__dizer {
    grid-column:1/-1
  }
  .cta__titulo {
    font-size:52px;
    max-width:17ch
  }
  .cta__texto {
    font-size:15px
  }
  .cta__botao {
    font-size:13px;
    padding:15px;
    gap:16px
  }
  .cta__qr img {
    width:100px;
    height:100px
  }
  .cta__qr span {
    font-size:9px
  }
  .cta__email {
    font-size:10px
  }
  .rodape {
    padding-top:36px
  }
  .rodape__interno {
    grid-template-columns:1fr;
    gap:30px
  }
  .rodape__bloco--marca {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
  }
  .rodape__bloco--marca>img {
    width:200px;
    margin:0
  }
  .rodape__bloco--marca .sociais {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px
  }
  .rodape__bloco--onde,.rodape__bloco--nav,.rodape__bloco--fale {
    grid-column:auto;
    grid-row:auto
  }
  .rodape__colunas {
    max-width:390px
  }
  .rodape__enderecos {
    max-width:420px
  }
  .rodape__direitos {
    grid-column:1
  }
  .rodape .social {
    width:32px;
    height:32px
  }
  .rodape__bloco--fale {
    border-top:1px solid var(--fio);
    padding-top:20px
  }
  .rodape__bloco--fale .rodape__titulo {
    margin-bottom:12px
  }
}
@media(max-width:410px) {
  .cabecalho__marca img {
    width:120px
  }
  .cabecalho__lado {
    gap:5px
  }
  .botao-portal {
    font-size:12px
  }
  .verticais {
    grid-template-columns:1fr
  }
  .vertical {
    border-right:1px solid var(--fio)
  }
  .vertical__area {
    min-height:0
  }
  .vertical__titulo {
    font-size:38px
  }
  .vertical__linha {
    font-size:16px
  }
  .origem {
    --altura:42px
  }
  .palco__frase {
    font-size:43px
  }
  .quem__titulo {
    font-size:40px
  }
  .pilares__titulo {
    font-size:60px
  }
  .cta__titulo {
    font-size:46px
  }
  .cta__interno {
    grid-template-columns:1fr
  }
  .cta__qr {
    display:flex;
    align-items:center;
    gap:16px
  }
}
@media(prefers-reduced-motion:reduce) {
  .motion .palco,.motion .quem,.motion .palco__frase,.motion .origem__legenda,.motion [data-entra] {
    opacity:1!important;
    transform:none!important;
    animation:none!important
  }
  .motion .origem {
    height:var(--altura)!important;
    opacity:1!important;
    animation:none!important
  }
  .motion .origem__sai {
    display:none
  }
  .motion .origem__linha--baixa {
    transform:translateX(var(--intell))!important;
    animation:none!important
  }
  .abertura {
    position:relative
  }
  .abertura__fixo {
    opacity:1!important;
    transform:none!important
  }
  .fundo__laminas,.fundo__luz,.fundo__corte {
    transform:none
  }
  .pilares__titulo .palavra {
    color:white
  }
  .esteira__pausa {
    display:none
  }
}
.menu__extras {
  display:none
}
@media(max-width:1200px) {
  .menu__extras {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:22px;
    padding-top:20px;
    border-top:1px solid var(--fio)
  }
  .menu__extras .social {
    width:38px;
    height:38px
  }
  .menu__idiomas {
    display:flex;
    gap:8px
  }
  .menu__extras .idioma {
    font-size:13px
  }
}
/* Conter entradas laterais sem criar um contêiner de rolagem que quebre o sticky. */
.pagina-home main,.pagina-home .secao,.pagina-home .cta {
  overflow-x:clip
}
.abertura--assentada .origem__sai {
  visibility:hidden
}
.cabecalho__botao[aria-expanded=true] .cabecalho__traco:nth-last-child(2) {
  transform:translateY(4px) rotate(45deg)
}
/* Codex 02 — revisão de composição e interação, 22 decisões de 21/09. */
.cabecalho--solido {
  background:rgb(var(--cor-fundo-rgb) / .56);
  backdrop-filter:blur(24px) saturate(140%)
}

.cabecalho__progresso {
  position:absolute;
  left:0;
  bottom:-1px;
  width:100%;
  height:2px;
  background:var(--cor-destaque);
  transform:scaleX(var(--leitura,0));
  transform-origin:left;
  box-shadow:0 0 8px rgb(var(--cor-destaque-rgb) / .333)
}

.menu__item {
  position:relative;
  display:flex;
  align-items:center;
  gap:3px
}

.menu__link:is(:hover,:focus-visible),.menu__item.aberto>.menu__link {
  color:var(--cor-destaque)
}

.menu__expandir {
  border:0;
  background:none;
  color:#b2b5c0;
  padding:8px 3px;
  cursor:pointer;
  line-height:1
}

.menu__expandir span {
  display:block;
  transition:transform .25s
}

.menu__expandir[aria-expanded=true] span {
  transform:rotate(180deg);
  color:var(--cor-destaque)
}

.submenu {
  display:none;
  position:absolute;
  left:-18px;
  top:100%;
  min-width:220px;
  margin:0;
  padding:12px!important;
  list-style:none;
  background:rgb(var(--cor-fundo-rgb) / .96);
  border:1px solid #b2b5c030;
  box-shadow:0 18px 40px #0005;
  backdrop-filter:blur(25px)
}

.menu__item.aberto>.submenu {
  display:block;
  animation:entrada .22s ease both
}

.submenu li {
  margin:0
}
.submenu a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding:13px 10px;
  font-size:14px;
  white-space:nowrap;
  color:white;
  text-decoration:none;
  border-bottom:1px solid #b2b5c022
}

.submenu li:last-child a {
  border:0
}
.submenu a:is(:hover,:focus-visible) {
  color:var(--cor-destaque);
  background:#ffffff08
}

.submenu a span {
  color:var(--cor-destaque)
}

.cursor-marca {
  position:fixed;
  left:0;
  top:0;
  z-index:200;
  pointer-events:none;
  width:9px;
  height:9px;
  background:var(--cor-destaque);
  opacity:0;
  transition:width .2s,height .2s,background .2s,border .2s,opacity .2s;
  will-change:transform
}

.cursor-marca.visivel {
  opacity:.9
}
.cursor-marca.lente {
  width:38px;
  height:38px;
  background:rgb(var(--cor-destaque-rgb) / .047);
  border:1px solid rgb(var(--cor-destaque-rgb) / .439);
  backdrop-filter:blur(2px);
  border-radius:3px
}

.whatsapp-flutuante {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:90;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  background:var(--cor-destaque);
  color:var(--cor-fundo);
  border-radius:12px;
  box-shadow:0 5px 24px #0005;
  transition:transform .25s
}

.whatsapp-flutuante svg {
  width:25px;
  height:25px
}
.whatsapp-flutuante:hover {
  transform:translateY(-4px)
}

/* Campo cinético: lâminas isoladas, sem grade, radar ou pontos. */
.fundo__laminas,.fundo__luz,.fundo__corte {
  display:none
}

.fundo {
  background:linear-gradient(120deg,var(--cor-fundo) 30%,#151a18 100%)
}

.fundo__campo {
  position:absolute;
  inset:-20% -10%;
  transform:rotate(-24deg) translate3d(calc(var(--mouse-x,0)*12px),calc(var(--mouse-y,0)*9px + var(--fundo-y,0)*.15px),0);
  mask-image:linear-gradient(90deg,transparent,#000 20%,#000 85%,transparent)
}

.lamina {
  position:absolute;
  left:calc(var(--n)*6.2%);
  top:calc(24% + var(--n)*1%);
  width:3.5%;
  height:47%;
  background:linear-gradient(180deg,#66a6870a,#66a68725 52%,#03733d0a);
  border-left:1px solid #66a68738;
  transform:translateY(calc(var(--onda,0)*1px)) scaleY(calc(1 + var(--energia,0)*.12));
  opacity:calc(.4 + var(--energia,0)*.6);
  transition:background .5s,border-color .5s,opacity .5s;
  will-change:transform
}

.lamina.acesa {
  background:linear-gradient(180deg,rgb(var(--cor-destaque-rgb) / 0),rgb(var(--cor-destaque-rgb) / .22),#03733d0b);
  border-color:rgb(var(--cor-destaque-rgb) / .6)
}

.abertura {
  min-height:700px
}
.abertura__grade {
  grid-template-columns:1fr 1fr;
  gap:100px;
  max-width:1600px
}

.abertura__fixo {
  transform:translateY(calc(var(--saida,0)*-110px)) scale(calc(1 - var(--saida,0)*.12))
}

.palco__frase {
  margin:0;
  font-size:clamp(48px,4.8vw,88px);
  max-width:15ch;
  line-height:.95;
  position:relative
}

.palco__frase .linha {
  overflow:visible
}
.palco__frase .linha--destaque {
  margin-left:clamp(20px,3vw,60px);
  margin-top:17px
}

.palco__frase .palavra {
  transition:transform .5s,color .4s;
  text-shadow:0 0 0 transparent
}





.origem {
  --altura:clamp(46px,4.8vw,82px)
}

.origem__sai {
  height:calc(var(--altura)*245/193);
  width:auto;
  max-width:none;
  position:relative;
  align-self:flex-start;
  padding:0;
  flex-shrink:0
}

.origem__linha {
  align-items:flex-start
}

.motion .origem__linha--baixa {
  transform:translate(var(--intell),calc(var(--altura)*1.5))
}

.motion .abertura--pronta .origem {
  animation:marca-entra 1.2s var(--curva) both,marca-compacta 1.9s var(--curva) 3.7s forwards
}

.motion .abertura--pronta .origem__sai {
  animation:complemento-sai 2.7s ease 2.4s both
}

.motion .abertura--pronta .origem__linha--baixa {
  animation:marca-junta 2.6s var(--curva) 2.9s forwards
}

.motion .abertura--pronta .palco {
  animation:marca-desloca-v2 2s var(--curva) 5.2s forwards
}

.motion .abertura--pronta .palco__frase {
  animation:entrada 1.5s var(--curva) 6s both
}

.motion .abertura--pronta .origem__legenda {
  animation:entrada 1.2s ease 6s both
}

@keyframes marca-desloca-v2 {
  0% {
  opacity:1
}
42% {
  opacity:.3;
  filter:blur(2px)
}
100% {
  transform:translate(0,0);
  opacity:1;
  filter:none
}

}

@keyframes complemento-sai {
  30% {
  opacity:.7
}
100% {
  opacity:0;
  filter:blur(5px);
  transform:translateX(14px)
}

}

.abertura__rolar {
  left:50%;
  transform:translateX(-50%);
  bottom:28px
}
.abertura__rolar>span {
  gap:14px
}

/* Mesmo progresso de scroll dissolve o banner e revela a apresentação. */
.secao--quem {
  background:linear-gradient(180deg,rgb(var(--cor-fundo-rgb) / 0),rgb(var(--cor-fundo-rgb) / .91) 75%);
  padding:90px 0 80px;
  min-height:460px
}

.quem__interno {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 110px;
  align-items:center
}

.quem__interno>.rotulo {
  grid-column:1/-1
}

.quem__titulo {
  font-size:clamp(48px,4.5vw,82px);
  margin:0;
  max-width:17ch
}

.quem__texto p {
  font-size:18px;
  line-height:1.75;
  max-width:57ch
}

.motion .quem {
  opacity:var(--quem-entrada,0);
  transform:translateY(calc((1 - var(--quem-entrada,0))*65px));
  animation:none!important
}

.secao--verticais {
  clip-path:none;
  margin:0;
  padding-top:70px;
  background:#191c1efa
}

.secao:not(.secao--quem):not(.secao--clientes):before,.cta:before {
  content:'';
  position:absolute;
  top:0;
  left:var(--gutter);
  right:var(--gutter);
  height:1px;
  background:linear-gradient(90deg,#66a68700,#66a68770 18%,#b2b5c02b 65%,#b2b5c000)
}

.cta {
  position:relative
}

.vertical__luz {
  display:none
}
.vertical__area {
  transition:background .35s,transform .4s;
  min-height:385px
}

.vertical__area:is(:hover,:focus-visible) {
  background:#ffffff03;
  transform:translateY(-6px)
}

.vertical__area:before {
  height:3px;
  transition:height .4s,inset .4s;
  box-shadow:none
}

.vertical__area:is(:hover,:focus-visible):before {
  height:6px;
  inset-inline:0
}

.vertical__titulo {
  color:var(--cor);
  transition:transform .4s
}

.vertical--evo .vertical__titulo {
  color:#03733d;
  background:#f1f5f2;
  align-self:flex-start;
  padding:3px 9px 6px;
  margin-left:-9px
}

.vertical__area:hover .vertical__titulo {
  transform:translateX(4px)
}

.vertical__area:hover .vertical__seta {
  background:var(--cor);
  color:var(--cor-fundo)
}

.vertical--evo .vertical__area:hover .vertical__seta {
  color:white
}

/* Títulos: ritmo tipográfico, entrada por palavras e marca-texto sem alterar copy. */
[data-titulo-cinetico] .palavra {
  --cor-titulo:var(--cor-destaque);
  position:relative;
  display:inline-block;
  color:inherit;
  transform:translateY(calc((1 - var(--titulo-p,1))*24px));
  opacity:calc(.35 + var(--titulo-p,1)*.65);
  transition:transform .25s,opacity .25s,color .25s
}

[data-titulo-cinetico] .palavra.destaque {
  color:var(--cor-titulo);
  padding-inline:.06em
}

[data-titulo-cinetico] .palavra.destaque:before {
  content:'';
  position:absolute;
  inset:2% 0 -1%;
  background:var(--cor-titulo);
  opacity:.1;
  transform:scaleX(var(--titulo-p,1)) skewX(-7deg);
  transform-origin:left;
  z-index:-1
}

.pilares__grade {
  grid-template-columns:1fr 1.1fr;
  gap:65px
}

.pilares__coluna {
  padding:45px 45px 55px;
  isolation:isolate;
  background:#171c19;
  align-self:stretch;
  overflow:hidden
}

.pilares__coluna:after {
  display:none
}
.pilares__coluna:before {
  content:'';
  position:absolute;
  inset:auto -30px -90px auto;
  width:300px;
  height:240px;
  background:repeating-linear-gradient(120deg,transparent 0 22px,#66a68713 22px 29px);
  transform:rotate(-12deg);
  z-index:-1
}

.pilares__titulo {
  font-size:clamp(56px,5.8vw,104px);
  max-width:11ch;
  line-height:.94;
  margin-top:30px
}

.pilares__titulo .palavra:nth-child(2) {
  margin-left:.22em
}

.pilares__titulo .palavra:nth-child(4) {
  margin-left:.42em
}

.pilares__titulo .palavra {
  color:white
}
.pilares__titulo .palavra.destaque {
  color:var(--cor-destaque)
}

.pilares {
  align-self:center
}
.secao--pilares {
  padding-block:60px
}
.pilar {
  padding:19px 0
}

.secao--clientes {
  padding:26px 0 20px
}
.clientes__titulo {
  font-family:var(--fonte-titulo);
  font-size:clamp(28px,2.3vw,42px);
  line-height:1.1;
  letter-spacing:0;
  margin-bottom:14px;
  font-weight:700
}

.clientes__titulo .palavra {
  --cor-titulo:#03733d
}
.esteira__item {
  height:64px
}

/* CTA em duas colunas, QR sobre ações à esquerda. */
.cta {
  padding-block:46px
}
.cta__interno {
  grid-template-columns:.8fr 1.2fr;
  gap:90px;
  max-width:1200px
}

.cta__dizer {
  grid-column:2;
  grid-row:1;
  justify-self:start
}
.cta__acoes {
  grid-column:1;
  grid-row:1;
  align-items:center;
  justify-self:center;
  gap:12px
}

.cta__qr {
  text-align:center
}
.cta__qr img {
  width:112px;
  height:112px;
  margin:auto
}
.cta__qr span {
  margin:4px 0 3px
}

.cta__titulo {
  font-size:clamp(64px,6.3vw,112px);
  max-width:12ch;
  line-height:.9
}

.cta__titulo .palavra {
  --cor-titulo:var(--cor-fundo)
}


.cta__titulo .palavra.destaque:before {
  opacity:0
}
.cta__titulo .palavra.destaque {
  color:var(--cor-fundo);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:10px
}

.cta__texto {
  margin-top:24px;
  font-size:17px;
  max-width:43ch
}
.cta__botao {
  min-width:245px;
  padding:14px 20px
}
.cta__email {
  text-align:center
}

/* Cinco cartões, capas do CMS ou composição gráfica de demonstração. */
.secao--publicacoes {
  padding-block:60px
}
.secao--publicacoes .secao__titulo {
  max-width:none;
  font-size:clamp(42px,4.1vw,74px)
}

.publicacoes {
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:22px
}
.publicacao {
  border:0;
  min-width:0
}

.publicacao__area {
  padding:0 0 12px;
  height:100%;
  min-height:0
}
.publicacao__capa {
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  margin-bottom:18px;
  overflow:hidden;
  position:relative;
  display:block;
  background:#252d28
}

.publicacao__capa--grafica {
  background:linear-gradient(140deg,var(--cor-fundo),#66a68744);
  isolation:isolate
}

.publicacao__capa--grafica>span {
  position:absolute;
  bottom:16px;
  left:17px;
  font-family:var(--fonte-titulo);
  font-weight:700;
  font-size:20px;
  letter-spacing:.1em;
  color:#b2b5c0
}

.publicacao__capa--grafica i {
  position:absolute;
  width:24%;
  height:180%;
  top:-45%;
  left:calc(32% + var(--capa,0)*3%);
  background:var(--cor-destaque);
  transform:rotate(32deg);
  opacity:.8;
  transition:transform .6s
}

.publicacao__capa--grafica i:nth-of-type(2) {
  left:68%;
  width:7%;
  background:#66a687;
  opacity:.7
}
.publicacao__capa--grafica i:nth-of-type(3) {
  left:82%;
  width:3%;
  background:#b2b5c0;
  opacity:.7
}

.publicacao:nth-child(even) .publicacao__capa--grafica i {
  transform:rotate(-32deg)
}
.publicacao__area:hover .publicacao__capa i {
  transform:rotate(42deg) translateY(-6%)
}

.publicacao h3 {
  font-size:clamp(24px,1.7vw,31px);
  line-height:1.08;
  margin:12px 0 18px;
  max-width:none
}

.publicacao__demo {
  font-size:11px;
  color:#b2b5c0
}
.rodape__bloco--nav>.rodape__titulo,.rodape__bloco--onde>.rodape__titulo {
  text-align:center
}

.artigo {
  padding-block:145px 75px;
  max-width:1100px
}
.artigo time {
  display:block;
  margin-top:40px;
  color:#b2b5c0
}
.artigo h1 {
  font-size:clamp(48px,5vw,80px);
  margin:20px 0 40px
}
.artigo__capa {
  width:100%;
  height:auto;
  max-height:650px;
  object-fit:cover;
  margin-bottom:35px
}
.artigo__aviso {
  color:#b2b5c0
}

@media(max-width:1550px) {
  .menu {
  gap:10px
}
.menu__link {
  font-size:15px
}
.cabecalho__interno {
  gap:18px
}
.cabecalho__marca img {
  width:125px
}
.cabecalho__lado {
  gap:9px
}
.sociais--menu {
  gap:4px;
  padding-right:8px
}
.social {
  width:28px;
  height:28px
}
.abertura__grade {
  gap:55px
}
.quem__interno {
  gap:0 65px
}

}

@media(max-width:1200px) {
  .menu__item {
  display:flex;
  flex-wrap:wrap;
  align-self:start;
  justify-content:space-between
}
.menu__link {
  font-size:22px
}
.submenu {
  position:static;
  flex-basis:100%;
  box-shadow:none;
  background:#ffffff04;
  min-width:0;
  padding:4px!important
}
.submenu a {
  white-space:normal;
  font-size:13px
}
.cabecalho__nav {
  max-height:calc(100dvh - 80px);
  overflow-y:auto
}
.publicacoes {
  grid-template-columns:repeat(3,minmax(0,1fr))
}
.cta__interno {
  grid-template-columns:.8fr 1.2fr;
  gap:45px
}
.pilares__coluna {
  padding:30px
}
.pilares__grade {
  gap:35px
}
.quem__texto p {
  font-size:16px
}
.quem__interno {
  gap:0 45px
}

}

@media(max-width:800px) {
  .abertura {
  height:100svh;
  min-height:690px
}
.abertura__fixo {
  height:100%;
  padding:150px 24px 85px;
  display:flex
}
.abertura__grade {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:80px
}
.palco {
  margin:0
}
.palco__frase {
  font-size:clamp(46px,8.7vw,68px);
  max-width:16ch;
  margin:0
}
.palco__frase .linha--destaque {
  margin-left:25px
}
.origem {
  --altura:clamp(32px,5.5vw,43px)
}
.motion .palco {
  transform:none!important
}
.motion .abertura--pronta .palco {
  animation:none
}
.abertura__rolar {
  display:block;
  bottom:20px
}
.origem__legenda {
  font-size:9px
}
.secao--quem {
  padding:55px 0;
  min-height:0
}
.quem {
  padding:0;
  border:0
}
.quem__interno {
  display:block
}
.quem__titulo {
  font-size:49px;
  max-width:18ch;
  margin-bottom:30px
}
.quem__texto p {
  font-size:16px
}
.motion .quem {
  opacity:1;
  transform:none
}
.pilares__grade {
  grid-template-columns:1fr;
  gap:35px
}
.pilares__coluna {
  padding:30px
}
.pilares__titulo {
  font-size:67px;
  max-width:13ch;
  margin-top:20px
}
.clientes__titulo {
  font-size:30px
}
.publicacoes {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px 18px
}
.publicacao h3 {
  font-size:25px
}
.publicacao__capa--grafica>span {
  font-size:17px;
  left:10px;
  bottom:10px
}
.cta__interno {
  grid-template-columns:1fr 1.2fr;
  gap:25px
}
.cta__dizer {
  grid-column:2
}
.cta__titulo {
  font-size:52px
}
.cta__texto {
  font-size:15px
}
.cta__botao {
  min-width:0;
  gap:12px;
  padding:13px;
  font-size:12px
}
.cta__whats {
  font-size:12px
}
.cta__email {
  font-size:10px;
  overflow-wrap:anywhere
}
.cta__qr {
  display:block
}
.cta__qr img {
  width:95px;
  height:95px
}
.whatsapp-flutuante {
  right:16px;
  bottom:16px;
  width:43px;
  height:43px
}
.rodape__colunas,.rodape__enderecos {
  max-width:none
}

}

@media(max-width:480px) {
  .origem {
  --altura:32px
}
.abertura__grade {
  gap:74px
}
.publicacoes {
  grid-template-columns:1fr 1fr;
  gap:28px 15px
}
.publicacao h3 {
  font-size:24px
}
.publicacao:last-child {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr
}
.publicacao:last-child .publicacao__area {
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:18px
}
.publicacao:last-child .publicacao__capa {
  grid-row:1/5
}
.publicacao:last-child h3 {
  margin-top:5px
}
.cta__interno {
  grid-template-columns:1fr;
  gap:32px
}
.cta__dizer {
  grid-column:1;
  grid-row:1
}
.cta__acoes {
  grid-column:1;
  grid-row:2
}
.cta__titulo {
  font-size:63px;
  max-width:13ch
}
.cta__texto {
  max-width:none
}
.cta__acoes {
  width:100%
}
.cta__botao {
  width:100%;
  max-width:290px;
  justify-content:space-between
}
.cta__qr img {
  width:100px;
  height:100px
}
.cta__email {
  font-size:12px
}
.cta__whats {
  font-size:14px
}

}

@media(hover:none),(pointer:coarse) {
  .cursor-marca {
  display:none
}

}

@media(prefers-reduced-motion:reduce) {
  .cursor-marca {
  display:none
}
.lamina {
  transform:none;
  transition:none
}
.motion .quem {
  opacity:1!important;
  transform:none!important
}
.motion .palco__frase {
  opacity:1!important;
  transform:none!important;
  animation:none!important
}
[data-titulo-cinetico] .palavra {
  transform:none;
  opacity:1;
  transition:none
}
.abertura__rolar-traco {
  animation:none
}
.pagina-home * {
  scroll-behavior:auto
}
.publicacao__area:hover .publicacao__capa i {
  transform:rotate(32deg)
}

}


/* Ajustes após conferência de composição Full HD. */
.palco__frase {
  line-height:1.05;
  font-size:clamp(48px,4.6vw,84px)
}

.cta__interno {
  max-width:1320px;
  grid-template-columns:.8fr 1.2fr
}

.cta__titulo {
  font-size:clamp(60px,5vw,90px);
  max-width:16ch;
  line-height:1.02
}

html:not([data-home-ready]) .menu__item:is(:hover,:focus-within)>.submenu {
  display:block
}

@media(max-width:800px) {
  .palco__frase {
  font-size:clamp(46px,8.5vw,66px)
}
.cta__titulo {
  font-size:52px
}
.cta__interno {
  grid-template-columns:1fr 1.2fr
}

}

@media(max-width:480px) {
  .cta__interno {
  grid-template-columns:1fr
}
.cta__titulo {
  font-size:60px
}

}
/* Codex 03 — decisões de 17 pontos: seleção, matriz e revelação por caracteres. */
::selection { background:var(--cor-destaque)!important; color:var(--cor-fundo)!important; text-shadow:none!important; }
::-moz-selection { background:var(--cor-destaque)!important; color:var(--cor-fundo)!important; text-shadow:none!important; }
.abertura__tagline { left:auto; right:22px; }
.fundo { background:var(--cor-fundo); }
.fundo__matriz { position:absolute; width:clamp(900px,90vmax,2400px); aspect-ratio:1; right:-5%; top:50%; transform:translateY(-50%); display:grid; grid-template-columns:repeat(15,1fr); grid-template-rows:repeat(15,1fr); }
.matriz__celula { position:relative; display:grid; place-items:center; transition:transform .26s ease-out; }
.matriz__celula i { display:block; width:var(--pw); height:var(--ph); background:#b2b5c00e; position:relative; box-shadow:inset 1px 1px 0 #ffffff06; }
.matriz__celula i:after { content:''; position:absolute; inset:0; background:var(--cor-destaque); opacity:calc(var(--energia,0)*.75); box-shadow:0 0 calc(var(--energia,0)*22px) rgb(var(--cor-destaque-rgb) / .251); transition:opacity .35s; }
/* Entrada em três tempos, pausa de leitura, montagem preservada. */
.origem__mais { display:none; position:absolute; left:calc(var(--intell) - var(--altura)*.8); top:calc(var(--altura)*1.32); line-height:1; font-family:var(--fonte-texto); font-weight:300; font-size:calc(var(--altura)*.65); color:var(--cor-destaque); }
.motion .origem { height:calc(var(--altura)*3.15); }
.motion .origem__mais { display:block; opacity:0; }
/* 0,001 e não 0 (etapa 6, V17): na tela é o mesmo pixel de 0, mas o navegador
   passa a contar o logo como pintado desde o início. Com 0, a medição de
   carregamento (LCP) só via a marca depois da animação, cerca de 13 s no celular. */
.motion .origem__linha--alta { opacity:.001; transform:translateY(-80px); }
.motion .origem__linha--baixa { opacity:.001; transform:translate(var(--intell),calc(var(--altura)*2.1 + 80px)); }
.motion .abertura--pronta .origem { opacity:1; animation:marca-compacta 1.9s var(--curva) 5.8s forwards; }
.motion .abertura--pronta .origem__linha--alta { animation:intelligence-desce 1.1s var(--curva) .2s both; }
.motion .abertura--pronta .origem__mais { animation:mais-entra .65s var(--curva) 1.15s forwards,mais-sai 1.2s ease 4.6s forwards; }
.motion .abertura--pronta .origem__linha--baixa { animation:evolution-sobe 1.1s var(--curva) 1.8s forwards,marca-junta 2.6s var(--curva) 5s forwards; }
.motion .abertura--pronta .origem__sai { animation:complemento-sai 2.7s ease 4.5s both; }
.motion .abertura--pronta .palco { animation:marca-desloca-v2 2s var(--curva) 7.3s forwards; }
.motion .abertura--pronta .palco__frase { animation:entrada 1s var(--curva) 8.1s both; }
.motion .abertura--pronta .origem__legenda { animation:entrada 1.2s ease 8.1s both; }
@keyframes intelligence-desce { to { opacity:1; transform:none; } }
@keyframes evolution-sobe { to { opacity:1; transform:translate(var(--intell),calc(var(--altura)*2.1)); } }
@keyframes mais-entra { from { opacity:0; transform:scale(.4) rotate(-45deg); } to { opacity:1; transform:none; } }
@keyframes mais-sai { to { opacity:0; transform:scale(.6); visibility:hidden; } }
.abertura--assentada .origem__mais { visibility:hidden; }
/* Grifo surge com cada letra e se retira; nenhuma mudança de verde no hover. */
.palco__frase:hover .palavra,.palco__frase .linha--destaque:hover .palavra { transform:none; color:inherit; }
.tit-anim .palavra { --letra-final:#fff; opacity:1!important; transform:none!important; transition:none; position:relative; }
.tit-anim .palavra.destaque,.linha--destaque .palavra { --letra-final:var(--cor-destaque); color:var(--cor-destaque); }
.tit-anim .palavra:before { display:none!important; }
.letra { display:inline-block; position:relative; isolation:isolate; }
.letra:before { content:''; position:absolute; inset:10% -1px 0; background:var(--cor-destaque); transform:scaleX(0); transform-origin:left; z-index:-1; }
.motion .tit-anim .letra { opacity:0; }
.motion .tit-anim.revelado .letra { animation:letra-revela 1.08s ease both; animation-delay:calc(var(--ordem)*21.6ms); }
.motion .tit-anim.revelado .letra:before { animation:grifo-letra 1.08s ease both; animation-delay:calc(var(--ordem)*21.6ms); }
.motion .abertura--pronta .palco__frase .letra { animation:letra-revela 1.14s ease both; animation-delay:calc(8.2s + var(--ordem)*31.2ms); }
.motion .abertura--pronta .palco__frase .letra:before { animation:grifo-letra 1.14s ease both; animation-delay:calc(8.2s + var(--ordem)*31.2ms); }
@keyframes letra-revela { 0% { opacity:0; color:var(--cor-fundo); } 24%,60% { opacity:1; color:var(--cor-fundo); } 100% { opacity:1; color:var(--letra-final); } }
@keyframes grifo-letra { 0% { transform:scaleX(0); transform-origin:left; } 25%,55% { transform:scaleX(1); } 56% { transform-origin:right; } 100% { transform:scaleX(0); transform-origin:right; } }
.clientes__titulo .palavra { --letra-final:var(--cor-fundo); }.clientes__titulo .palavra.destaque { --letra-final:#03733d; }
.cta__titulo .palavra { --letra-final:var(--cor-fundo); }.cta__titulo .letra:before { background:var(--cor-fundo); }
.motion .cta__titulo.revelado .letra { animation-name:letra-revela-inversa; }
@keyframes letra-revela-inversa { 0% { opacity:0; color:var(--cor-destaque); } 24%,60% { opacity:1; color:var(--cor-destaque); } 100% { opacity:1; color:var(--cor-fundo); } }
/* Vidro progressivo da seção e borda de luz seguindo os quatro lados. */
.secao--quem { background:rgba(33,36,39,calc(.2 + var(--vidro,0)*.64)); backdrop-filter:blur(calc(var(--vidro,0)*14px)); }
.quem__texto { position:relative; padding:34px 38px; background:#141a1770; backdrop-filter:blur(18px) saturate(130%); border:1px solid #66a68733; border-radius:12px; box-shadow:0 20px 65px #0002; }
.quem__texto p { position:relative; z-index:1; max-width:none; margin-bottom:24px; font-size:17px; }
.quem__texto p:first-of-type { font-size:20px; line-height:1.65; }
.quem__texto p:last-of-type { font-size:18px; margin-bottom:0; }
.quem__borda { position:absolute; inset:-1px; border-radius:12px; overflow:hidden; pointer-events:none; }
.quem__borda i { position:absolute; background:var(--cor-destaque); box-shadow:0 0 12px var(--cor-destaque); opacity:0; }
.quem__borda i:nth-child(1) { top:0; width:22%; height:2px; animation:borda-topo 8s linear infinite; }
.quem__borda i:nth-child(2) { right:0; width:2px; height:22%; animation:borda-direita 8s linear 2s infinite; }
.quem__borda i:nth-child(3) { bottom:0; width:22%; height:2px; animation:borda-base 8s linear 4s infinite; }
.quem__borda i:nth-child(4) { left:0; width:2px; height:22%; animation:borda-esquerda 8s linear 6s infinite; }
@keyframes borda-topo { 0% { left:-22%; opacity:1; } 25% { left:100%; opacity:1; } 25.1%,100% { left:100%; opacity:0; } }
@keyframes borda-direita { 0% { top:-22%; opacity:1; } 25% { top:100%; opacity:1; } 25.1%,100% { top:100%; opacity:0; } }
@keyframes borda-base { 0% { right:-22%; opacity:1; } 25% { right:100%; opacity:1; } 25.1%,100% { right:100%; opacity:0; } }
@keyframes borda-esquerda { 0% { bottom:-22%; opacity:1; } 25% { bottom:100%; opacity:1; } 25.1%,100% { bottom:100%; opacity:0; } }
/* Números do briefing: contagem, contorno/preenchimento e entrada em duas colunas. */
.secao--numeros { background:#1a1e1c; padding-block:64px; overflow:hidden; }
.numeros__grade { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.numeros__principal .secao__titulo { max-width:13ch; font-size:clamp(48px,4.4vw,78px); }
.numero__valor { display:grid; font-family:var(--fonte-titulo); font-weight:700; font-size:clamp(45px,4.2vw,76px); line-height:1.1; margin:12px 0 0; font-variant-numeric:tabular-nums; white-space:nowrap; }
.numero__valor>span { grid-area:1/1; }
.numero__contorno { color:transparent; -webkit-text-stroke:1px var(--cor-destaque); }
.numero__preenchimento { color:var(--cor-destaque); clip-path:inset(0 calc((1 - var(--numero-p,1))*100%) 0 0); }
.numero__valor--principal { font-size:clamp(105px,11vw,198px); margin-top:24px; }
.numero__legenda { font-size:22px; margin:0; color:#b2b5c0; }
.numeros__indicadores { display:grid; grid-template-columns:1fr 1fr; gap:35px 30px; padding:36px; margin:0; border:1px solid #66a68733; background:#11171580; border-radius:10px; }
.numero { margin:0; border-top:1px solid #66a68755; padding-top:18px; }.numero dt { font-size:13px; color:#b2b5c0; line-height:1.5; }
/* Entradas mais amplas. Sem placa branca no Outsourcing, conforme teste pedido. */
.motion .vertical[data-entra] { transform:translateY(min(65vh,600px)); transition:opacity .95s ease,transform 1.25s var(--curva); transition-delay:calc(var(--i)*120ms); }
.motion .vertical[data-entra].dentro { transform:none; opacity:1; }
.vertical--evo .vertical__titulo { background:none; padding:0; margin-left:0; color:#03733d; }
.pilares__coluna { background:none; padding:0; overflow:visible; }.pilares__coluna:before,.pilares__coluna:after { display:none; }
/* Iluminação suave na faixa clara de clientes. */
.secao--clientes { isolation:isolate; position:relative; }
.secao--clientes:after { content:''; position:absolute; z-index:-1; width:65%; height:220px; top:-50px; left:18%; background:radial-gradient(ellipse,rgb(var(--cor-destaque-rgb) / .251) 0%,#66a68720 35%,transparent 70%); filter:blur(25px); animation:clientes-luz 10s ease-in-out infinite alternate; }
@keyframes clientes-luz { to { transform:translateX(20%); opacity:.5; } }
/* CTA: trajetória escura termina atrás do botão e dá início ao pulso. */
.cta { isolation:isolate; overflow:hidden; }
.cta__interno { position:relative; z-index:1; }
.cta__qr img { width:145.6px; height:145.6px; }
.motion .cta__dizer[data-entra] { transform:translateX(100vw); transition:transform 1.4s var(--curva),opacity 1s; }
.motion .cta__acoes[data-entra] { transform:translateX(-100vw); transition:transform 1.4s var(--curva),opacity 1s; }
.motion .cta [data-entra].dentro { transform:none; opacity:1; }
.cta__sombra { position:absolute; left:80%; top:20%; width:240px; height:240px; border-radius:50%; background:rgb(var(--cor-fundo-rgb) / .396); filter:blur(34px); opacity:0; transform:translate(-50%,-50%); pointer-events:none; }
.cta--ativa .cta__sombra { animation:sombra-cta 5s ease-in-out .8s both; }
.cta--ativa .cta__botao { animation:botao-pulsa 2.6s ease-in-out 5.8s infinite; }
@keyframes sombra-cta { 0% { opacity:0; left:85%; top:22%; } 15% { opacity:.9; } 40% { left:50%; top:75%; } 70% { opacity:.8; left:var(--alvo-x); top:var(--alvo-y); transform:translate(-50%,-50%) scale(.4); } 88% { opacity:.65; left:var(--alvo-x); top:var(--alvo-y); transform:translate(-50%,-50%) scale(1.35); } 100% { left:var(--alvo-x); top:var(--alvo-y); opacity:0; transform:translate(-50%,-50%) scale(1.7); } }
@keyframes botao-pulsa { 0%,100% { box-shadow:0 0 0 1px var(--cor-fundo),0 0 8px rgb(var(--cor-fundo-rgb) / .125); color:white; } 50% { box-shadow:0 0 0 2px var(--cor-fundo),0 0 32px rgb(var(--cor-fundo-rgb) / .396),inset 0 0 14px rgb(var(--cor-destaque-rgb) / .251); color:var(--cor-destaque); } }
.publicacao__area { padding:10px; margin:-10px; border:1px solid transparent; border-radius:5px; transition:transform .4s,border-color .4s,box-shadow .4s; }
.publicacao__area:is(:hover,:focus-visible) { border-color:rgb(var(--cor-destaque-rgb) / .533); box-shadow:0 0 22px rgb(var(--cor-destaque-rgb) / .2),inset 0 0 10px rgb(var(--cor-destaque-rgb) / .039); }
.publicacao__area:before { display:none; }
.rodape__titulo,.rodape__titulo .palavra { color:var(--cor-destaque); --letra-final:var(--cor-destaque); }
.rodape__bloco--nav,.rodape__bloco--onde,.rodape__bloco--fale { text-align:center; }
.rodape__colunas,.rodape__enderecos { justify-items:center; }.rodape__colunas ul { text-align:center; }
.rodape__bloco--fale .botao-whats { justify-content:center; }
.menu__expandir { color:var(--cor-destaque); font-size:17px!important; }
@media(max-width:1200px) { .numeros__grade { gap:40px; }.numeros__indicadores { padding:25px; gap:25px; }.quem__texto { padding:25px; }.quem__texto p:first-of-type { font-size:18px; }.quem__texto p { font-size:16px; } }
@media(max-width:800px) { .motion .abertura--pronta .palco { animation:none; }.abertura__tagline { display:block; right:8px; top:17%; width:9px; max-height:180px; }.abertura__grade { padding-right:12px; }.fundo__matriz { right:-300px; width:1000px; }.quem__texto { padding:27px 24px; }.numeros__grade { grid-template-columns:1fr; gap:30px; }.numeros__principal .secao__titulo { max-width:none; font-size:48px; }.numero__valor--principal { font-size:130px; }.numero__valor { font-size:52px; }.numero__valor--principal { font-size:130px; }.numeros__indicadores { gap:24px; padding:24px; }.secao--numeros { padding-block:45px; }.cta__qr img { width:123.5px; height:123.5px; }.secao--quem { background:rgb(var(--cor-fundo-rgb) / .75); }.pilares__coluna { padding:0; } }
@media(max-width:480px) { .cta__qr img { width:130px; height:130px; }.numero dt { font-size:12px; }.numeros__indicadores { grid-template-columns:repeat(2,minmax(0,1fr)); }.numero__valor { font-size:40px; }.numero__valor--principal { font-size:125px; } }
@media(prefers-reduced-motion:reduce) { .motion .origem__linha--alta { opacity:1; transform:none; animation:none; }.motion .origem__linha--baixa { opacity:1; transform:translateX(var(--intell))!important; animation:none!important; }.origem__mais { display:none!important; }.motion .tit-anim .letra { opacity:1; animation:none!important; color:var(--letra-final); }.letra:before { display:none; }.quem__borda i,.secao--clientes:after,.cta__sombra,.cta__botao { animation:none!important; }.cta__sombra { display:none; }.motion .vertical[data-entra],.motion .cta [data-entra] { transform:none!important; opacity:1; transition:none; }.matriz__celula { transform:none!important; transition:none; }.numero__preenchimento { clip-path:none; } }

/* Restaurar a posição de leitura não desliga as animações das outras seções. */
.motion .abertura--assentada:not(.abertura--pronta) .origem { height:var(--altura); opacity:1; }
.motion .abertura--assentada:not(.abertura--pronta) .origem__linha--alta { opacity:1; transform:none; }
.motion .abertura--assentada:not(.abertura--pronta) .origem__linha--baixa { opacity:1; transform:translateX(var(--intell)); }
.motion .abertura--assentada:not(.abertura--pronta) .palco,
.motion .abertura--assentada:not(.abertura--pronta) .palco__frase,
.motion .abertura--assentada:not(.abertura--pronta) .origem__legenda { opacity:1; transform:none; }
.motion .abertura--assentada:not(.abertura--pronta) .palco__frase .letra { opacity:1; }
.quem__texto p:first-of-type { color:white; }

.motion .secao--numeros:before { transform:scaleX(0); transform-origin:left; transition:transform 1.2s var(--curva); }
.motion .secao--numeros.numeros--ativos:before { transform:scaleX(1); }
@media(prefers-reduced-motion:reduce) { .motion .secao--numeros:before { transform:none; transition:none; } }
.publicacao__capa { flex-shrink:0; }

/* Codex 04 — composição contínua e movimento dirigido pela rolagem. */
.fundo__matriz {
  --passo:clamp(30px,3vmax,80px);
  inset:calc(-1 * var(--passo)); width:auto; height:auto; aspect-ratio:auto;
  transform:none; grid-template-columns:repeat(var(--colunas,40),var(--passo));
  grid-auto-rows:var(--passo); grid-template-rows:none;
}
.palco__frase .palavra--ampla { font-size:1.2em; }
.palco__frase .letra { transform:scale(var(--lupa,1)); transition:transform .23s ease-out; transform-origin:center; }
.palco__frase { max-width:16ch; }
.origem__mais { font-size:calc(var(--altura)*.845); text-shadow:0 0 18px rgb(var(--cor-destaque-rgb) / .667),0 0 38px rgb(var(--cor-destaque-rgb) / .376); }
.origem { translate:var(--fuga-x,0px) var(--fuga-y,0px); transition:translate 1.2s cubic-bezier(.2,.7,.3,1); }
/* Números no próprio Quem somos, uma única linha e sem uma segunda superfície. */
.secao--quem { padding-bottom:44px; background:linear-gradient(160deg,rgb(var(--cor-fundo-rgb) / .91),rgb(var(--cor-fundo-rgb) / .733)); }
.quem__numeros { position:relative; margin-top:40px; padding:26px 0 0 45px; border-top:1px solid #66a68766; }
.numeros__desde { position:absolute; left:0; top:50%; writing-mode:vertical-rl; transform:translateY(-35%) rotate(180deg); text-transform:uppercase; font-size:11px; letter-spacing:.2em; color:#b2b5c0; }
.numeros__linha { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:25px; margin:0; }
.numeros__linha .numero { border:0; padding:0; display:flex; flex-direction:column-reverse; justify-content:end; gap:9px; }
.numeros__linha .numero__valor { font-size:clamp(40px,4.1vw,72px); line-height:1; margin:0; }
.numeros__linha .numero dt { font-size:13px; }
/* A passagem compartilha as mesmas superfícies, sem faixas chapadas independentes. */
.corpo { background:linear-gradient(145deg,rgb(var(--cor-fundo-rgb) / .949) 4%,var(--cor-fundo) 45%,rgb(var(--cor-fundo-rgb) / .937) 75%); }
.secao--verticais { background:linear-gradient(150deg,#03733d16,#66a68708 60%,transparent); padding-top:45px; padding-bottom:100px; }
.verticais__rotulo { margin-bottom:26px; }
.motion .vertical[data-entra],.motion .vertical[data-entra].dentro {
  opacity:var(--entrada-p,0); transform:translateY(calc((1 - var(--entrada-p,0))*230px));
  transition:none; transition-delay:0s;
}
.vertical__luz { display:block; inset:auto 8% -30px; height:75px; z-index:-1; background:radial-gradient(ellipse,var(--cor),transparent 70%); filter:blur(20px); opacity:0; transform:translateY(42px); transition:transform .65s,opacity .65s; }
.vertical__area:is(:hover,:focus-visible) .vertical__luz { opacity:.46; transform:translateY(0); }
.vertical__area:is(:hover,:focus-visible) { background:transparent; }
.vertical__corpo { position:relative; z-index:1; }
/* A fotografia atravessa a passagem das verticais para os pilares. */
.ponte-visual { position:relative; height:0; z-index:4; pointer-events:none; }
.ponte-visual img { position:absolute; left:max(5vw,calc((100vw - 1480px)/2)); top:-85px; width:36vw; max-width:550px; height:165px; object-fit:cover; object-position:50% 48%; filter:grayscale(1) contrast(1.12); transform:rotate(-4deg); clip-path:polygon(4% 0,100% 0,96% 100%,0 100%); opacity:.85; }
.ponte-visual:after { content:''; position:absolute; left:max(5vw,calc((100vw - 1480px)/2)); top:-85px; width:36vw; max-width:550px; height:165px; background:linear-gradient(115deg,rgb(var(--cor-destaque-rgb) / .251),#03733d70); mix-blend-mode:color; transform:rotate(-4deg); clip-path:polygon(4% 0,100% 0,96% 100%,0 100%); }
.secao--pilares { position:relative; overflow:visible; border:0; padding-top:115px; padding-bottom:85px; background:linear-gradient(155deg,var(--cor-fundo),#b2b5c00b 48%,var(--cor-fundo) 92%); }
.secao--pilares .pilares__grade { position:relative; z-index:2; }
/* Fio luminoso viaja pela divisão; apenas os gradientes aprovados da marca. */
.secao:not(.secao--quem):not(.secao--clientes):before,.cta:before {
  height:2px; background:linear-gradient(90deg,transparent,#03733d66 30%,var(--cor-destaque) 50%,#03733d66 70%,transparent);
  background-size:220% 100%; animation:fio-percorre 7s ease-in-out infinite alternate;
  box-shadow:0 0 9px rgb(var(--cor-destaque-rgb) / .314); z-index:3; pointer-events:none;
}
@keyframes fio-percorre { from { background-position:100% 0; } to { background-position:-100% 0; } }
.secao--clientes { padding-top:95px; padding-bottom:35px; background:linear-gradient(115deg,#b2b5c0,color-mix(in srgb,#b2b5c0 90%,var(--cor-fundo))); overflow:hidden; }
.transicao-bolha { position:absolute; top:-140px; left:-15%; width:130%; height:215px; background:var(--cor-fundo); border-radius:0 0 50% 50%; transform:scaleY(calc(.6 + var(--bolha-p,1)*.4)); transform-origin:top center; z-index:1; pointer-events:none; }
.secao--clientes .envoltorio,.secao--clientes .esteira { position:relative; z-index:2; }
.clientes__circuito { position:absolute; inset:0; width:100%; height:100%; opacity:.18; pointer-events:none; }
.clientes__circuito path { stroke:#03733d; stroke-width:1; stroke-dasharray:200 65 3 65; animation:circuito-flui 22s linear infinite; }
.clientes__circuito path:nth-child(2) { animation-direction:reverse; opacity:.65; }
@keyframes circuito-flui { to { stroke-dashoffset:-999; } }
/* CTA com entradas reversíveis e chegada integral ao meio da tela. */
.motion .cta__dizer[data-entra],.motion .cta__dizer[data-entra].dentro { transform:translateX(calc((1 - var(--entrada-cta,0))*100vw)); opacity:var(--entrada-cta,0); transition:none; }
.motion .cta__acoes[data-entra],.motion .cta__acoes[data-entra].dentro { transform:translateX(calc((var(--entrada-cta,0) - 1)*100vw)); opacity:var(--entrada-cta,0); transition:none; }
.cta__dizer { text-align:right; justify-self:end; }
.cta__titulo,.cta__texto { margin-left:auto; }
.cta__whats { font-size:19.2px; }
.cta__sombra { width:60px; height:60px; filter:blur(7px); background:radial-gradient(circle,rgb(var(--cor-fundo-rgb) / .69) 0,rgb(var(--cor-fundo-rgb) / .439) 30%,rgb(var(--cor-fundo-rgb) / 0) 72%); }
.cta--ativa .cta__sombra { animation:vagalume 4s linear both; }
.cta--ativa .cta__botao { animation:botao-respira 2.8s ease-in-out 4s infinite; }
@keyframes vagalume {
  0% { left:85%; top:22%; opacity:0; }
  8% { left:80%; top:33%; opacity:1; }
  19% { left:65%; top:65%; }
  26% { left:64%; top:64%; }
  42% { left:52%; top:30%; }
  55% { left:43%; top:38%; }
  64% { left:43.5%; top:39%; }
  83% { left:var(--alvo-x); top:var(--alvo-y); opacity:.9; transform:translate(-50%,-50%) scale(1); }
  100% { left:var(--alvo-x); top:var(--alvo-y); opacity:0; transform:translate(-50%,-50%) scale(3); }
}
@keyframes botao-respira {
  0%,100% { scale:1; box-shadow:0 0 15px rgb(var(--cor-fundo-rgb) / .251); }
  50% { scale:1.065; box-shadow:0 0 26px rgb(var(--cor-fundo-rgb) / .584),0 0 60px #03733d90,inset 0 0 20px rgb(var(--cor-destaque-rgb) / .251); }
}
.rodape__bloco--marca { text-align:center; }
.rodape__bloco--marca>img { margin-inline:auto; }
.rodape__bloco--marca .sociais { justify-content:center; }
@media(min-width:1900px) { .abertura__grade { max-width:1820px; gap:130px; } }
@media(max-width:800px) {
  .numeros__linha { gap:15px; min-width:580px; }
  .quem__numeros { overflow-x:auto; padding-left:30px; padding-bottom:12px; }
  .numeros__linha .numero__valor { font-size:38px; }
  .numeros__linha .numero dt { font-size:11px; }
  .numeros__desde { left:0; }
  .ponte-visual img,.ponte-visual:after { width:68vw; height:115px; top:-52px; }
  .secao--verticais { padding-bottom:72px; }
  .secao--pilares { padding-top:95px; }
  .cta__dizer { text-align:right; }
  .cta__whats { font-size:18px; }
}
@media(max-width:480px) { .palco__frase { font-size:42px; }.cta__whats { font-size:16.8px; } }
@media(prefers-reduced-motion:reduce) {
  .palco__frase .letra { transform:none; transition:none; }
  .origem { translate:none; }.origem__lente { display:none; }
  .motion .vertical[data-entra],.motion .cta [data-entra] { transform:none!important; opacity:1!important; }
  .cta__botao,.cta__sombra,.clientes__circuito path,.secao:before,.cta:before { animation:none!important; }
  .transicao-bolha { transform:none; }
}
.verticais { position:relative; }

/* A lente substitui a área ampliada, evitando a sobreposição de duas marcas. */
.quem__numeros { scrollbar-width:thin; scrollbar-color:var(--cor-destaque) var(--cor-fundo); }
.abertura--assentada .origem { transition:translate 1.2s cubic-bezier(.2,.7,.3,1),filter .5s; }
@media(min-width:801px) { .cta__whats { font-size:16.8px; } }
@media(prefers-reduced-motion:reduce) { .abertura--assentada .origem { transition:none; } }
/* Codex 05 — refinamentos aprovados em 22/09/2026. */
.palco__frase .palavra--ampla { font-size:1.44em; }
.menu__link.menu__expandir { width:auto; height:auto; border:0; background:none; font-family:var(--fonte-titulo); font-size:17px!important; font-weight:700; color:inherit; cursor:pointer; padding:0; }
.menu__item.aberto>.menu__expandir,.menu__expandir:hover { color:var(--cor-destaque); }
/* Vidro suave no topo, sólido na base; luz lateral de grande raio. */
.corpo { background:transparent; }
.secao--verticais,.secao--pilares { background-color:var(--cor-fundo); }
@media(max-width:1550px) { .menu__link.menu__expandir { font-size:15px!important; } }
@media(max-width:1200px) { .menu__link.menu__expandir { font-size:22px!important; } }
.secao--quem { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(180deg,rgba(33,36,39,calc(.55 + var(--vidro,0)*.2)),var(--cor-fundo) 78%); backdrop-filter:blur(16px) saturate(120%); }
.secao--quem:before,.secao--quem:after { content:''; position:absolute; top:4%; width:660px; height:850px; border-radius:50%; background:var(--cor-destaque); filter:blur(140px); opacity:0; transition:opacity 3.4s ease; pointer-events:none; z-index:-1; }
.secao--quem:before { left:-590px; }.secao--quem:after { right:-590px; }
.secao--quem.quem--visivel:before,.secao--quem.quem--visivel:after { opacity:.16; }
.quem__texto p,.quem__texto p:first-of-type,.quem__texto p:last-of-type { color:#fff; }
.motion .quem__texto { opacity:0; }
.motion .quem--visivel .quem__texto { animation:quem-texto-entra 2.6s ease both; }
@keyframes quem-texto-entra { to { opacity:1; } }
.numeros__linha { max-width:1200px; margin-inline:auto; gap:12px; }
.numeros__linha .numero { align-items:center; text-align:center; padding:12px 10px; border-radius:6px; transition:background .3s,color .3s; }
.numeros__linha .numero__valor { justify-items:center; }
.numeros__linha .numero:is(:hover,:focus-within) { background:var(--cor-destaque); }
.numeros__linha .numero:is(:hover,:focus-within) dt,.numeros__linha .numero:is(:hover,:focus-within) .numero__preenchimento { color:var(--cor-fundo); }
.numeros__linha .numero:is(:hover,:focus-within) .numero__contorno { -webkit-text-stroke-color:var(--cor-fundo); }
.numeros__desde { color:var(--cor-destaque); font-weight:700; font-size:15px; white-space:nowrap; letter-spacing:.27em; top:50%; transform:translateY(-40%) rotate(180deg); }
.vertical__area:is(:hover,:focus-visible) .vertical__luz { opacity:.598; }
/* A imagem cobre a coluna esquerda até a borda da tela e atravessa a seção anterior. */
.secao--pilares { padding-top:90px; }
.pilares__grade { grid-template-columns:.9fr 1.1fr; gap:clamp(100px,10vw,190px); }
.pilares__coluna { position:relative; isolation:isolate; z-index:2; overflow:visible; }
.pilares__foto { position:absolute; top:-155px; bottom:-50px; left:calc(-1 * var(--sangria,80px)); right:-45px; z-index:-1; pointer-events:none; overflow:hidden; }
.pilares__foto img { width:100%; height:100%; object-fit:cover; object-position:center 62%; filter:grayscale(1); opacity:.7; }
.pilares__foto:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgb(var(--cor-fundo-rgb) / .502),rgb(var(--cor-fundo-rgb) / .788) 66%,var(--cor-fundo)),linear-gradient(0deg,var(--cor-fundo),transparent 42%); }
.pilares__titulo { translate:var(--balanco,0px) 0; transition:translate .65s ease; }
.pilares__conexoes { position:absolute; inset:0; width:100%; height:100%; z-index:3; overflow:visible; pointer-events:none; }
.conexao__fio { fill:none; stroke:#b2b5c0; stroke-opacity:.45; stroke-width:1; }
.pilares__conexoes circle { fill:#b2b5c0; fill-opacity:.8; }
.conexao__dado { fill:none; stroke:var(--cor-destaque); stroke-width:2.6; stroke-linecap:round; stroke-dasharray:.035 .965; stroke-dashoffset:1; opacity:0; filter:drop-shadow(0 0 4px rgb(var(--cor-destaque-rgb) / .565)); animation:conexao-dados 10s linear infinite; animation-delay:calc(var(--ordem-fio)*2s); }
@keyframes conexao-dados { 0% { opacity:0; stroke-dashoffset:1; } 1% { opacity:1; } 18% { opacity:1; stroke-dashoffset:0; } 20%,100% { opacity:0; stroke-dashoffset:0; } }
/* CTA: sem entrada lateral, tipografia regular e pulso sincronizado. */
.motion .cta [data-entra],.motion .cta [data-entra].dentro { opacity:1!important; transform:none!important; transition:none; }
.cta__titulo .palavra,.cta__titulo .palavra:nth-child(even) { margin-left:0; margin-right:0; }
.cta__titulo { word-spacing:normal; letter-spacing:-.015em; }
.cta { background:radial-gradient(ellipse at 0 0,#03733d2b,transparent 55%),radial-gradient(ellipse at 100% 100%,#03733d2e,transparent 55%),var(--cor-destaque); }
.cta__interno { z-index:auto; }
.cta__dizer { position:relative; z-index:1; }
.cta__acoes { position:relative; z-index:3; }
.cta--ativa .cta__dizer { animation:texto-respira 2.8s ease-in-out 4s infinite; transform-origin:right center; }
@keyframes texto-respira { 0%,100% { scale:1; } 50% { scale:1.012; } }
.cta__sombra { width:clamp(5px,.4vw,11px); height:clamp(5px,.4vw,11px); background:var(--cor-fundo); filter:none; box-shadow:0 0 10px 3px rgb(var(--cor-fundo-rgb) / .565),0 0 28px 10px rgb(var(--cor-fundo-rgb) / .271); z-index:2; }
.cta--ativa .cta__sombra { animation:vagalume-v5 4s ease-in-out both; }
@keyframes vagalume-v5 {
  0% { left:103%; top:28%; opacity:1; transform:translate(-50%,-50%); }
  12% { left:82%; top:24%; }
  22% { left:73%; top:49%; }
  28% { left:75%; top:47%; }
  42% { left:61%; top:70%; }
  51% { left:55%; top:39%; }
  58% { left:51%; top:36%; }
  65% { left:48%; top:38%; }
  78% { left:38%; top:65%; }
  99% { left:var(--alvo-x); top:var(--alvo-y); opacity:1; }
  100% { left:var(--alvo-x); top:var(--alvo-y); opacity:0; }
}
@media(max-width:1200px) { .pilares__grade { gap:100px; }.pilares__titulo { font-size:72px; } }
@media(max-width:900px) { .pilares__conexoes { display:none; }.pilares__grade { grid-template-columns:1fr; gap:50px; }.pilares__foto { right:calc(-1 * var(--sangria,30px)); top:-140px; bottom:-25px; }.pilares__coluna { min-height:350px; }.numeros__desde { font-size:13px; letter-spacing:.18em; } }
@media(max-width:480px) { .pilares__titulo { font-size:60px; }.numeros__linha .numero { padding:10px 8px; }.palco__frase { font-size:42px; } }
@media(prefers-reduced-motion:reduce) { .motion .quem__texto { opacity:1; animation:none; }.secao--quem:before,.secao--quem:after { transition:none; }.conexao__dado { animation:none; display:none; }.pilares__titulo { translate:none; transition:none; }.cta--ativa .cta__dizer,.cta--ativa .cta__sombra { animation:none; }.cta__sombra { display:none; } }
/* Codex 06 — movimento da marca, fluxos assíncronos e voo curvo do CTA. */
.abertura--assentada .origem,.abertura--assentada .origem__legenda { translate:var(--fuga-x,0px) var(--fuga-y,0px); transition:translate .8s cubic-bezier(.2,.7,.3,1),filter .5s; }
.pilares__foto { clip-path:polygon(0 4%,100% 0,100% 100%,0 100%); }
.conexao__dado { stroke-width:3.38; stroke-dasharray:.0455 .9545; filter:drop-shadow(0 0 5px rgb(var(--cor-destaque-rgb) / .459)); animation:conexao-dados-v6 var(--duracao-fio,4s) linear var(--fase-fio,0s) infinite; }
@keyframes conexao-dados-v6 { 0% { opacity:0; stroke-dashoffset:1; } 3% { opacity:1; } 94% { opacity:1; stroke-dashoffset:0; } 100% { opacity:0; stroke-dashoffset:0; } }
.cta__qr img { width:174.72px; height:174.72px; }
.cta { background:radial-gradient(ellipse at 0 0,#03733d6c,transparent 55%),radial-gradient(ellipse at 100% 100%,#03733d73,transparent 55%),var(--cor-destaque); }
.cta__sombra { left:0; top:0; transform:none; offset-anchor:center; offset-rotate:0deg; background:#fff; box-shadow:0 0 10px 3px #ffffff90,0 0 28px 10px #ffffff45; }
.cta--ativa .cta__sombra { animation:vagalume-v6 5s cubic-bezier(.35,0,.35,1) both; }
@keyframes vagalume-v6 { 0% { offset-distance:0%; opacity:1; } 99.5% { opacity:1; } 100% { offset-distance:100%; opacity:0; } }
.cta__acoes { z-index:auto; }
.cta__botao { position:relative; z-index:3; box-shadow:0 0 15px #03733d60; }
.cta__botao:is(:hover,:focus-visible) { box-shadow:0 0 26px #03733da0,0 0 60px #03733d90; }
.cta--ativa .cta__botao { animation:botao-respira-v6 2.8s ease-in-out 5s infinite; }
.cta--ativa .cta__dizer { animation-delay:5s; }
@keyframes botao-respira-v6 { 0%,100% { scale:1; box-shadow:0 0 15px #03733d60; } 50% { scale:1.065; box-shadow:0 0 26px #03733da0,0 0 60px #03733d90,inset 0 0 20px #03733d40; } }
@media(max-width:800px) { .cta__qr img { width:148.2px; height:148.2px; } }
@media(max-width:480px) { .cta__qr img { width:156px; height:156px; } }
@media(prefers-reduced-motion:reduce) { .abertura--assentada .origem,.abertura--assentada .origem__legenda { translate:none; transition:none; }.conexao__dado,.cta--ativa .cta__sombra,.cta--ativa .cta__botao,.cta--ativa .cta__dizer { animation:none!important; } }

/* Codex 07 — foto atravessa a divisa inferior e esteira sem emenda. */
.pilares__foto { clip-path:polygon(0 4%,100% 0,100% 96%,0 100%); }
@media(min-width:901px) { .secao--pilares { z-index:3; }.pilares__foto { bottom:-175px; } }
.esteira__grupo { display:flex; flex:none; width:max-content; }
.esteira__item { flex:none; }
html:not(.motion) .esteira__trilho { width:100%; transform:none!important; }
html:not(.motion) .esteira__grupo { max-width:100%; flex-wrap:wrap; justify-content:center; }
html:not(.motion) .esteira { mask-image:none; }

/* Codex 08 — luz difusa, separada do núcleo de cada pulso. */
.conexao__dado { stroke-opacity:.85; filter:blur(.6px); }
.conexao__dado--halo { stroke-width:7px; stroke-opacity:.55; filter:blur(3.2px); }

/* Codex 10 — três linhas; centro do título é a origem dos cinco cabos. */
.pilares__titulo--linhas { max-width:none; font-size:clamp(44px,5.8vw,104px); }
.pilares__titulo--linhas .pilares__linha { display:block; white-space:nowrap; }
.pilares__titulo.pilares__titulo--linhas .palavra { margin-left:0; margin-right:0; }
@media(max-width:900px) { .pilares__titulo--linhas { font-size:clamp(42px,12vw,72px); } }
/* Logos de clientes (30/09/2026): cor original, sem margem vazia (o site
   corta, ver intellevoLogoCliente) e tamanho por logo que iguala a área
   visual, até 220×64 px; no celular, 68% disso para caber na faixa de 210 px. */
.esteira__item { height:84px; padding-block:10px; }
.esteira__item img { width:var(--w,190px); height:var(--h,40px); max-width:none; max-height:none; object-fit:contain; filter:none; opacity:1; }
@media(max-width:800px) { .esteira__item { height:64px; padding-block:8px; } .esteira__item img { width:calc(var(--w,190px)*.68); height:calc(var(--h,40px)*.68); } }
