:root {
  --acento: #12A5A0;
  --margin: 86px;
  --gutter: 26px;
  --cols: 12;
  --sp-0: 8px;
  --sp-1: 12px;
  --sp-2: 16px;
  --sp-3: 26px;
  --sp-4: 48px;
  --sp-5: 60px;
  --sp-6: 78px;
  --sp-sec: 150px;
  --fs-display: 140px;
  --fs-h1: 58px;
  --fs-h3: 30px;
  --fs-body: 20px;
  --fs-action: 20px;
  --fs-tag: 20px;
  --fs-caption: 16px;
  --fs-logo: 38px;
  --h-header: 109px;
  --nav-gap: 56px;
  --fs-h1-grande: 92px;
  --fs-projeto: 58px;
  --fs-banner: 58px;
  --r-xl: 44px;
  --r-md: 22px;
  --span-projeto: 6;
  --span-servico: 4;
  --span-chip: 2;
  --span-texto: 5;
  --span-res: 6;
  --gc-num: 9 / span 4;
  --gc-midia: 7 / span 6;
  --ar-projeto: 862 / 700;
  --mh-projeto: 0px;
  --ar-servico: 566 / 700;
  --mh-servico: 0px;
  --ar-chip: 270 / 212;
  --mh-chip: 0px;
  --ar-sobre: 1748 / 700;
  --mh-sobre: 0px;
  --rows-sobre: none;
  --mh-sobre-midia: 280px;
  --piso-hero: 420px;
  --ar-hero: auto;
  --mh-hero: max(var(--piso-hero), calc(100vh - var(--h-header) - var(--margin)));
  --order-texto: 1;
  --order-midia: 2;
  --cols-seg: 7;
  --w-logo: 209px;
  --gap-logo: 72px;
  --span-eq-texto: 4;
  --span-eq-midia: 6;
  --span-eq-midia-plena: 8;
  --span-eq-detalhe: 2;
  --mh-eq-det: 0px;
  --cols-cli: 6;
  --span-f1: 2;
  --span-f3: 6;
  --w-entregavel: calc((100% - var(--gutter) * 2) / 3);
  --ar-entregavel: 566 / 728;
  --mh-entregavel: auto;
  --pad-card: 50px;
  --icone-card: 71px;
  --traco-card: 0.296;
}

@media (max-width: 1919px) {
  :root {
    --margin: clamp(48px, 4.48vw, 86px);
    --gutter: 24px;
    --nav-gap: clamp(20px, 3.4vw, 90px);
    --ar-sobre: auto;
    --mh-sobre: 700px;
    --fs-h1: clamp(46px, 3.02vw, 58px);
    --fs-projeto: clamp(42px, 3.02vw, 58px);
  }
}

@media (max-width: 1279px) {
  :root {
    --cols: 8;
    --gutter: 20px;
    --margin: 40px;
    --sp-3: 20px;
    --sp-4: 32px;
    --sp-5: 40px;
    --sp-6: 56px;
    --sp-sec: 104px;
    --fs-display: 84px;
    --fs-h1: 40px;
    --fs-h3: 26px;
    --fs-body: 18px;
    --fs-action: 18px;
    --fs-tag: 18px;
    --fs-caption: 15px;
    --fs-logo: 30px;
    --h-header: 76px;
    --nav-gap: var(--sp-3);
    --fs-h1-grande: 62px;
    --fs-projeto: 40px;
    --fs-banner: 40px;
    --r-xl: 28px;
    --r-md: 18px;
    --span-projeto: 8;
    --span-servico: 8;
    --span-chip: 4;
    --span-texto: 8;
    --span-res: 8;
    --gc-num: auto / span 8;
    --gc-midia: auto / span 8;
    --ar-projeto: auto;
    --mh-projeto: 560px;
    --ar-servico: auto;
    --mh-servico: 480px;
    --ar-chip: auto;
    --mh-chip: 180px;
    --ar-sobre: auto;
    --mh-sobre: 0px;
    --order-texto: 2;
    --order-midia: 1;
    --cols-seg: 4;
    --w-logo: 176px;
    --gap-logo: 52px;
    --span-eq-texto: 8;
    --span-eq-midia: 8;
    --span-eq-midia-plena: 8;
    --span-eq-detalhe: 8;
    --mh-eq-det: 180px;
    --cols-cli: 4;
    --span-f1: 4;
    --span-f3: 8;
    --w-projeto: calc(100% - var(--margin));
    --w-entregavel: calc((100% - var(--gutter)) / 2);
    --ar-entregavel: auto;
    --mh-entregavel: 560px;
    --pad-card: 36px;
    --icone-card: 60px;
    --traco-card: 0.35;
  }
}

@media (max-width: 767px) {
  :root {
    --cols: 4;
    --gutter: 16px;
    --margin: 20px;
    --sp-sec: 80px;
    --sp-6: 40px;
    --sp-4: 24px;
    --fs-display: 62px;
    --fs-h1: 32px;
    --fs-h3: 24px;
    --fs-body: 17px;
    --fs-action: 17px;
    --fs-tag: 17px;
    --fs-caption: 14px;
    --fs-h1-grande: 40px;
    --fs-projeto: 32px;
    --fs-banner: 32px;
    --nav-gap: 16px;
    --r-xl: 20px;
    --r-md: 14px;
    --span-projeto: 4;
    --span-servico: 4;
    --span-chip: 2;
    --span-texto: 4;
    --span-res: 4;
    --gc-num: auto / span 4;
    --gc-midia: auto / span 4;
    --mh-projeto: 420px;
    --mh-servico: 420px;
    --mh-chip: 150px;
    --piso-hero: 420px;
    --cols-seg: 2;
    --w-logo: 146px;
    --gap-logo: 36px;
    --span-eq-texto: 4;
    --span-eq-midia: 4;
    --span-eq-midia-plena: 4;
    --span-eq-detalhe: 4;
    --mh-eq-det: 140px;
    --cols-cli: 3;
    --span-f1: 4;
    --span-f3: 4;
    --mh-sobre: 700px;
    --rows-sobre: minmax(150px, 1fr) auto;
    --mh-sobre-midia: 0px;
    --w-entregavel: calc(100% - var(--margin));
    --mh-entregavel: 520px;
    --pad-card: 26px;
    --icone-card: 52px;
    --traco-card: 0.404;
  }
}

@supports (height: 1svh) {
  :root {
    --mh-hero: max(var(--piso-hero), calc(100svh - var(--h-header) - var(--margin)));
  }
}

body {
  margin: 0;
  overflow-x: clip;
  background: #191A1D;
  color: #FFFFFF;
  font-family: agenda, 'Agenda', Outfit, sans-serif;
  -webkit-font-smoothing: antialiased;
}

a {
  color: #FFFFFF;
  text-decoration: none;
}

a:hover {
  color: var(--acento);
}

.tools-cabecalho {
  position: sticky;
  top: 0;
  z-index: 50;
  height: var(--h-header);
  padding-inline: var(--margin);
  box-sizing: border-box;
  background: #191A1D;
  color: #FFFFFF;
  font-family: agenda, 'Agenda', Outfit, sans-serif;
}

.tools-cabecalho__inner {
  width: 100%;
  max-width: 1750px;
  height: 100%;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: var(--nav-gap);
}

.tools-cabecalho__marca,
.tools-cabecalho__marca img {
  display: block;
}

.tools-cabecalho__marca {
  flex: 0 0 auto;
  line-height: 0;
}

.tools-cabecalho__marca img {
  width: auto;
  height: calc(var(--fs-logo) * 0.78);
}

.tools-cabecalho__nav {
  min-width: 0;
  margin-left: auto;
}

.tools-cabecalho__lista {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--nav-gap);
  list-style: none;
}

.tools-cabecalho__lista a {
  white-space: nowrap;
  font-size: var(--fs-caption);
  font-weight: 600;
  transition: color 240ms ease;
}

.tools-cabecalho__lista a[aria-current="page"],
.tools-cabecalho__lista .current-menu-item > a,
.tools-cabecalho__lista .current_page_item > a {
  color: var(--acento);
}

.tools-cabecalho__telefone {
  width: 44px;
  height: 44px;
  margin: -12px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 240ms ease;
}

.tools-cabecalho__telefone svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.05;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tools-rodape {
  margin-top: var(--sp-sec);
  padding-inline: var(--margin);
  box-sizing: border-box;
  color: #FFFFFF;
  font-family: agenda, 'Agenda', Outfit, sans-serif;
}

.tools-rodape__grade,
.tools-rodape__base {
  width: 100%;
  max-width: 1750px;
  margin-inline: auto;
}

.tools-rodape__grade {
  padding-bottom: var(--sp-3);
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--gutter);
}

.tools-rodape__grade > * {
  min-width: 0;
}

.tools-rodape__grade a,
.tools-rodape__grade span {
  overflow-wrap: anywhere;
}

.tools-rodape__marca,
.tools-rodape__coluna {
  display: flex;
  flex-direction: column;
}

.tools-rodape__marca {
  justify-content: space-between;
  gap: var(--sp-3);
}

.tools-rodape__marca img {
  width: auto;
  height: calc(var(--fs-logo) * 0.78);
  align-self: flex-start;
}

.tools-rodape__redes {
  display: flex;
  gap: var(--sp-4);
}

.tools-rodape__coluna,
.tools-rodape__coluna a,
.tools-rodape__coluna span,
.tools-rodape__titulo,
.tools-rodape__redes a {
  font-size: var(--fs-caption);
  line-height: 1.6;
}

.tools-rodape__coluna,
.tools-rodape__titulo {
  margin: 0;
}

.tools-rodape__titulo,
.tools-rodape__atalhos a {
  color: rgba(255, 255, 255, 0.6);
  font-weight: 600;
}

.tools-rodape__coluna a,
.tools-rodape__redes a,
.tools-rodape__base a {
  transition: color 240ms ease;
}

.tools-rodape address {
  font-style: normal;
}

.tools-rodape__base {
  padding-block: 26px;
  border-top: 1.5px solid rgba(255, 255, 255, 0.14);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--fs-caption);
  font-weight: 600;
}

.tools-rodape__base a {
  color: inherit;
}

@media (max-width: 767px) {
  .tools-cabecalho__inner {
    gap: var(--sp-2);
  }

  .tools-cabecalho__nav {
    overflow-x: auto;
  }

  .tools-cabecalho__lista {
    justify-content: flex-start;
    gap: var(--sp-2);
  }

  .tools-cabecalho__telefone {
    display: none;
  }

  .tools-rodape__grade {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .tools-rodape__grade > * {
    grid-column: 1;
  }

  .tools-rodape__marca {
    grid-column: 2;
    grid-row: 1 / span 5;
    align-items: flex-end;
  }

  .tools-rodape__marca img {
    align-self: flex-end;
  }

  .tools-rodape__coluna a {
    padding-block: 7px;
  }

  .tools-rodape__base {
    gap: 0;
    font-size: 13px;
  }
}

::selection {
  background: var(--acento);
  color: #FFFFFF;
}

.tools-banner,
.tools-heroi,
.tools-como-atuamos,
.tools-contato-destaque,
.tools-depoimentos,
.tools-diferenciais,
.tools-entregaveis,
.tools-logos,
.tools-portfolio-destaque,
.tools-resultados,
.tools-segmentos,
.tools-servicos,
.tools-sobre-destaque {
  box-sizing: border-box;
  color: #FFFFFF;
  font-family: agenda, 'Agenda', Outfit, sans-serif;
}

.tools-heroi,
.tools-projeto-ficha,
.tools-projeto-galeria {
  padding-inline: var(--margin);
  box-sizing: border-box;
  color: #FFFFFF;
  font-family: agenda, 'Agenda', Outfit, sans-serif;
}

.tools-heroi__quadro,
.tools-projeto-ficha__inner,
.tools-projeto-galeria__grade {
  width: 100%;
  max-width: 1750px;
  margin-inline: auto;
}

.tools-heroi__quadro {
  position: relative;
  min-height: var(--mh-hero);
  aspect-ratio: var(--ar-hero);
  overflow: hidden;
  border-radius: var(--r-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-4);
  box-sizing: border-box;
  background: #0B0B0B;
}

.tools-heroi__poster,
.tools-heroi__video,
.tools-heroi__sombra {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tools-heroi__poster,
.tools-heroi__video {
  object-fit: cover;
}

.tools-heroi__video {
  z-index: 0;
  opacity: 0;
  transition: opacity 700ms ease;
}

.tools-heroi__video--pronto {
  opacity: 1;
}

.tools-heroi__sombra {
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.12) 45%, rgba(0, 0, 0, 0.58) 100%);
}

.tools-heroi__titulo {
  position: relative;
  z-index: 2;
  max-width: 1160px;
  margin: 0;
  font-size: var(--fs-banner);
  font-weight: 500;
  line-height: 1.07;
  text-align: center;
  text-wrap: balance;
}

.tools-heroi__seta {
  position: absolute;
  bottom: var(--sp-6);
  left: 50%;
  z-index: 2;
  width: 44px;
  height: 44px;
  border: 1.5px solid #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  transform: translateX(-50%);
  transition: bottom 320ms cubic-bezier(0.16, 1, 0.3, 1), background-color 260ms cubic-bezier(0.16, 1, 0.3, 1), color 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.tools-heroi__seta span {
  width: 9px;
  height: 9px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

.tools-heroi__seta:hover {
  bottom: calc(var(--sp-6) - 6px);
  background: #FFFFFF;
  color: #191A1D;
}

.tools-projeto-ficha {
  margin-top: var(--sp-5);
}

.tools-projeto-ficha__titulo {
  margin: 0 0 var(--sp-4);
  font-size: var(--fs-h1);
  font-weight: 500;
  line-height: 1.07;
  text-wrap: balance;
}

.tools-projeto-ficha__grade,
.tools-projeto-galeria__grade {
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  gap: var(--gutter);
}

.tools-projeto-ficha__card {
  grid-column: span 2;
  min-height: 150px;
  border-radius: var(--r-md);
  padding: var(--sp-3);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--sp-2);
  background: #27292E;
}

.tools-projeto-ficha__icone {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--acento);
}

.tools-projeto-ficha__icone svg {
  width: 26px;
  height: 26px;
}

.tools-projeto-ficha__icone path {
  stroke: currentColor;
}

.tools-projeto-ficha__rotulo,
.tools-projeto-ficha__valor {
  margin: 0;
}

.tools-projeto-ficha__rotulo {
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--fs-caption);
}

.tools-projeto-ficha__valor {
  margin-top: var(--sp-0);
  font-size: var(--fs-body);
  font-weight: 500;
  line-height: 1.25;
}

.tools-projeto-galeria {
  margin-top: var(--sp-6);
}

.tools-projeto-galeria__item {
  grid-column: span 6;
  aspect-ratio: 862 / 700;
  overflow: hidden;
  border-radius: var(--r-md);
  margin: 0;
}

.tools-projeto-galeria__item--primeiro {
  grid-column: 1 / -1;
  aspect-ratio: 1748 / 700;
}

.tools-projeto-galeria__imagem {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

@media (max-width: 1279px) {
  .tools-projeto-ficha__card {
    grid-column: span 4;
  }

  .tools-projeto-galeria__item {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .tools-projeto-ficha__card {
    grid-column: 1 / -1;
  }

  .tools-projeto-galeria__item,
  .tools-projeto-galeria__item--primeiro {
    min-height: 280px;
    aspect-ratio: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tools-heroi__video {
    display: none;
  }

  .tools-heroi__seta {
    transition: none;
  }
}

.tools-como-atuamos,
.tools-contato-destaque,
.tools-depoimentos,
.tools-diferenciais,
.tools-entregaveis,
.tools-logos,
.tools-portfolio-destaque,
.tools-segmentos,
.tools-servicos,
.tools-sobre-destaque {
  margin-top: var(--sp-sec);
}

.tools-banner,
.tools-como-atuamos,
.tools-contato-destaque,
.tools-depoimentos,
.tools-logos,
.tools-segmentos,
.tools-servicos,
.tools-sobre-destaque {
  padding-inline: var(--margin);
}

.tools-banner__quadro,
.tools-como-atuamos__inner,
.tools-contato-destaque__quadro,
.tools-depoimentos__inner,
.tools-logos__inner,
.tools-resultados__inner,
.tools-segmentos__inner,
.tools-servicos__inner,
.tools-sobre-destaque__inner {
  width: 100%;
  max-width: 1750px;
  margin-inline: auto;
}

.tools-como-atuamos__rotulo,
.tools-contato-destaque__rotulo,
.tools-depoimentos__rotulo,
.tools-logos__rotulo,
.tools-portfolio-destaque__rotulo,
.tools-resultados__rotulo,
.tools-segmentos__rotulo,
.tools-servicos__rotulo,
.tools-sobre-destaque__rotulo {
  margin: 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--fs-tag);
  font-weight: 500;
  line-height: 1.2;
}

.tools-como-atuamos__titulo,
.tools-contato-destaque__titulo,
.tools-depoimentos__titulo,
.tools-logos__titulo,
.tools-portfolio-destaque__titulo,
.tools-resultados__titulo,
.tools-segmentos__titulo,
.tools-servicos__titulo,
.tools-sobre-destaque__titulo {
  max-width: 862px;
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-h1);
  font-weight: 500;
  line-height: 1.07;
  text-wrap: balance;
}

.tools-como-atuamos__grade,
.tools-diferenciais__grade,
.tools-resultados__grade,
.tools-servicos__grade,
.tools-sobre-destaque__inner {
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  gap: var(--gutter);
}

.tools-banner__quadro {
  position: relative;
  min-height: var(--mh-hero);
  aspect-ratio: var(--ar-hero);
  overflow: hidden;
  border-radius: var(--r-xl);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: var(--sp-6);
  box-sizing: border-box;
}

.tools-banner__quadro::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.1) 45%, rgba(0, 0, 0, 0.58) 100%);
  content: '';
}

.tools-banner__imagem {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tools-banner__conteudo {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 862px;
}

.tools-banner__tag {
  margin: 0 0 var(--sp-2);
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--fs-tag);
  font-weight: 500;
  line-height: 1.2;
}

.tools-banner__titulo {
  margin: 0;
  font-size: var(--fs-banner);
  font-weight: 500;
  line-height: 1.07;
  text-wrap: balance;
}

.tools-banner--grande .tools-banner__titulo {
  font-size: var(--fs-h1-grande);
}

.tools-banner__seta {
  position: absolute;
  bottom: var(--sp-6);
  left: 50%;
  z-index: 2;
  width: 44px;
  height: 44px;
  border: 1.5px solid #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #FFFFFF;
  transform: translateX(-50%);
  transition: bottom 320ms cubic-bezier(0.16, 1, 0.3, 1), background-color 260ms cubic-bezier(0.16, 1, 0.3, 1), color 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.tools-banner__seta:hover {
  bottom: calc(var(--sp-6) - 6px);
  background: #FFFFFF;
  color: #191A1D;
}

.tools-banner__seta svg {
  width: 24px;
  height: 24px;
}

.tools-como-atuamos__grade,
.tools-servicos__grade {
  margin-top: var(--sp-6);
}

.tools-como-atuamos__card {
  grid-column: span var(--span-servico);
  min-height: var(--mh-servico);
  border-radius: var(--r-md);
  padding: var(--sp-4);
  box-sizing: border-box;
  background: #27292E;
}

.tools-como-atuamos__card-rotulo {
  margin: 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--fs-tag);
  font-weight: 500;
  line-height: 1.2;
}

.tools-como-atuamos__card-titulo {
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.3;
  text-wrap: pretty;
}

.tools-como-atuamos__texto,
.tools-contato-destaque__texto,
.tools-servicos__texto,
.tools-sobre-destaque__texto {
  margin: var(--sp-3) 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.5;
  text-wrap: pretty;
}

.tools-como-atuamos__texto {
  line-height: 1.6;
}

.tools-contato-destaque__quadro {
  position: relative;
  min-height: var(--mh-sobre);
  aspect-ratio: var(--ar-sobre);
  overflow: hidden;
  border-radius: var(--r-xl);
  background: #27292E;
}

.tools-contato-destaque__imagem {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.tools-contato-destaque__conteudo {
  position: absolute;
  inset: 0;
  padding: var(--sp-4);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--sp-6);
  background: radial-gradient(110% 120% at 72% 30%, rgba(9, 20, 20, 0.15) 0%, rgba(3, 20, 20, 0.55) 42%, rgba(3, 15, 15, 0.88) 100%);
}

.tools-contato-destaque__texto-grupo {
  max-width: 730px;
}

.tools-contato-destaque__texto {
  max-width: 566px;
}

.tools-contato-destaque__botao,
.tools-portfolio-destaque__botao,
.tools-resultados__botao,
.tools-servicos__botao,
.tools-sobre-destaque__botao,
.tools-entregaveis__botao {
  min-height: 52px;
  border: 1.5px solid var(--acento);
  border-radius: 999px;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  padding: 12px 28px;
  box-sizing: border-box;
  background: transparent;
  color: var(--acento);
  font-size: var(--fs-action);
  font-weight: 500;
  transition: background-color 260ms cubic-bezier(0.16, 1, 0.3, 1), color 260ms cubic-bezier(0.16, 1, 0.3, 1), border-color 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

.tools-contato-destaque__botao {
  border-color: #FFFFFF;
  color: #FFFFFF;
}

.tools-contato-destaque__botao:hover,
.tools-portfolio-destaque__botao:hover,
.tools-resultados__botao:hover,
.tools-servicos__botao:hover,
.tools-sobre-destaque__botao:hover,
.tools-entregaveis__botao:hover {
  border-color: var(--acento);
  background: var(--acento);
  color: #FFFFFF;
}

.tools-diferenciais {
  padding-inline: var(--margin);
}

.tools-diferenciais__grade {
  max-width: 1750px;
  margin-inline: auto;
}

.tools-diferenciais__card,
.tools-servicos__card {
  grid-column: span var(--span-servico);
  min-height: var(--mh-servico);
  aspect-ratio: var(--ar-servico);
  overflow: hidden;
  border-radius: var(--r-md);
  display: grid;
  background: #27292E;
}

.tools-diferenciais__imagem,
.tools-servicos__imagem,
.tools-diferenciais__conteudo,
.tools-servicos__card-conteudo {
  width: 100%;
  height: 100%;
  grid-area: 1 / 1;
  box-sizing: border-box;
}

.tools-diferenciais__imagem,
.tools-servicos__imagem {
  display: block;
  object-fit: cover;
}

.tools-diferenciais__conteudo,
.tools-servicos__card-conteudo {
  z-index: 1;
  align-self: end;
  height: auto;
  padding: var(--sp-4);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.78) 100%);
}

.tools-diferenciais__titulo,
.tools-servicos__card-titulo {
  margin: 0;
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.3;
}

.tools-diferenciais__texto {
  margin: var(--sp-2) 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
  text-wrap: pretty;
}

.tools-servicos__texto {
  margin-top: var(--sp-2);
}

.tools-servicos__botao {
  margin-top: var(--sp-3);
  border-color: #FFFFFF;
  color: #FFFFFF;
}

.tools-servicos__card--chamada {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--sp-4);
  padding: var(--sp-4);
}

.tools-servicos__card--chamada .tools-servicos__card-titulo {
  font-size: var(--fs-h1);
  line-height: 1.07;
  text-wrap: balance;
}

.tools-portfolio-destaque__cabecalho,
.tools-entregaveis__cabecalho {
  max-width: 1750px;
  margin-inline: auto;
  padding-inline: var(--margin);
  box-sizing: border-box;
}

.tools-portfolio-destaque__trilho,
.tools-entregaveis__trilho {
  margin-top: var(--sp-6);
  padding-inline: max(var(--margin), calc((100% - 1750px) / 2));
  scroll-padding-inline: max(var(--margin), calc((100% - 1750px) / 2));
  display: flex;
  gap: var(--gutter);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
}

.tools-portfolio-destaque__card {
  flex: 0 0 var(--w-projeto, calc((100% - var(--gutter)) / 2));
  min-height: var(--mh-projeto);
  aspect-ratio: var(--ar-projeto);
  border-radius: var(--r-md);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--sp-4);
  box-sizing: border-box;
  background: #27292E;
}

.tools-portfolio-destaque__projeto {
  margin: 0 0 var(--sp-3);
  font-size: var(--fs-projeto);
  font-weight: 500;
  line-height: 1.07;
}

.tools-resultados {
  margin-top: var(--sp-6);
  padding: var(--sp-sec) var(--margin);
  background: radial-gradient(120% 90% at 78% 42%, rgba(18, 165, 160, 0.55) 0%, rgba(8, 52, 52, 0.7) 34%, #000000 72%);
}

.tools-resultados__inner {
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  gap: var(--gutter);
  align-items: center;
}

.tools-resultados__cabecalho,
.tools-resultados__grade {
  grid-column: span var(--span-res);
}

.tools-resultados__botao {
  margin-top: var(--sp-6);
  border-color: #FFFFFF;
  color: #FFFFFF;
}

.tools-resultados__grade {
  align-items: start;
}

.tools-resultados__metrica {
  grid-column: span var(--span-res);
}

.tools-resultados__numero {
  display: block;
  font-size: min(var(--fs-display), 11.5vw);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
}

.tools-resultados__legenda {
  margin: var(--sp-2) 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-body);
  line-height: 1.3;
  text-wrap: pretty;
}

.tools-segmentos__grade {
  margin-top: var(--sp-6);
  display: grid;
  grid-template-columns: repeat(var(--cols-seg), minmax(0, 1fr));
  gap: var(--gutter);
}

.tools-segmentos__item {
  min-height: var(--mh-chip);
  aspect-ratio: var(--ar-chip);
  border-radius: var(--r-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: var(--sp-2);
  box-sizing: border-box;
  background: #27292E;
  text-align: center;
}

.tools-segmentos__icone {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  display: block;
  border: 1px solid var(--acento);
  border-radius: 50%;
}

.tools-segmentos__nome {
  margin: 0;
  font-size: var(--fs-action);
  font-weight: 500;
  line-height: 1.2;
}

.tools-sobre-destaque__inner {
  min-height: var(--mh-sobre);
  aspect-ratio: var(--ar-sobre);
  grid-template-rows: var(--rows-sobre);
  border-radius: var(--r-xl);
  padding: var(--sp-4);
  box-sizing: border-box;
  background: #27292E;
}

.tools-sobre-destaque__conteudo {
  grid-column: span var(--span-texto);
  order: var(--order-texto);
  display: flex;
  flex-direction: column;
}

.tools-sobre-destaque__botao {
  margin-top: auto;
}

.tools-sobre-destaque__midia {
  grid-column: var(--gc-midia);
  order: var(--order-midia);
  min-height: var(--mh-sobre-midia);
  overflow: hidden;
  border-radius: var(--r-md);
}

.tools-sobre-destaque__imagem {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.tools-entregaveis__cabecalho {
  max-width: none;
}

.tools-entregaveis__rotulo {
  max-width: 862px;
  margin: 0;
  font-size: var(--fs-h1);
  font-weight: 500;
  line-height: 1.07;
  text-wrap: balance;
}

.tools-entregaveis__trilho {
  margin-top: var(--sp-4);
}

.tools-entregaveis__card {
  flex: 0 0 var(--w-entregavel);
  min-height: var(--mh-entregavel);
  aspect-ratio: var(--ar-entregavel);
  border-radius: var(--r-md);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--pad-card);
  box-sizing: border-box;
  background: #27292E;
}

.tools-entregaveis__icone {
  width: var(--icone-card);
  height: var(--icone-card);
  flex: 0 0 auto;
  display: block;
  border: 1px solid var(--acento);
  border-radius: var(--r-md);
}

.tools-entregaveis__titulo {
  margin: 63px 0 0;
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.3;
  text-wrap: pretty;
}

.tools-entregaveis__texto {
  margin: var(--sp-3) 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-body);
  line-height: 1.6;
  text-wrap: pretty;
}

.tools-entregaveis__lista {
  margin: var(--sp-3) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--fs-caption);
  line-height: 1.5;
}

.tools-entregaveis__topico {
  position: relative;
  padding-left: 22px;
  text-wrap: pretty;
}

.tools-entregaveis__topico::before {
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--acento);
  content: '';
}

.tools-entregaveis__rodape {
  max-width: 1750px;
  margin: var(--sp-5) auto 0;
  padding-inline: var(--margin);
  box-sizing: border-box;
}

.tools-depoimentos__trilho {
  margin-top: var(--sp-6);
  display: flex;
  align-items: flex-start;
  gap: var(--gutter);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.tools-depoimentos__trilho::-webkit-scrollbar,
.tools-depoimentos__card {
  flex: 0 0 calc((100% - var(--gutter) * 2) / 3);
  margin: 0;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}

.tools-depoimentos__aspas {
  margin-bottom: -10px;
  color: var(--acento);
  font-size: var(--fs-h1);
  font-weight: 500;
  line-height: 0.7;
}

.tools-depoimentos__texto {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--fs-caption);
  font-style: italic;
  line-height: 1.7;
  text-wrap: pretty;
}

.tools-depoimentos__rodape {
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--fs-caption);
  font-weight: 600;
}

.tools-logos__carrossel {
  margin-top: var(--sp-6);
  overflow: hidden;
  display: grid;
  row-gap: 0;
  mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}

.tools-logos__trilho {
  width: max-content;
  display: flex;
  align-items: center;
  will-change: transform;
  animation: tools-logos-esquerda 26s linear infinite;
}

.tools-logos__trilho + .tools-logos__trilho { margin-top: calc(var(--w-logo) * -0.22); }
.tools-logos__trilho--2 { animation-name: tools-logos-direita; animation-duration: 29s; }
.tools-logos__trilho--3 { animation-duration: 24s; }
.tools-logos__carrossel:hover .tools-logos__trilho { animation-play-state: paused; }

.tools-logos__imagem {
  flex: 0 0 auto;
  width: var(--w-logo);
  height: var(--w-logo);
  margin-inline: calc(var(--gap-logo) / 2);
  object-fit: contain;
  /* As logos são arte preta sobre transparente: invertidas, viram brancas
     sobre o fundo escuro — mesma regra do site aprovado. */
  filter: invert(1);
}

@media (max-width: 1279px) {
  .tools-depoimentos__card {
    flex-basis: calc(100% - var(--margin));
  }
}

@media (max-width: 767px) {
  .tools-contato-destaque__conteudo {
    position: absolute;
  }
}

/* Contato: as medidas reproduzem as três seções aprovadas e reutilizam os tokens globais. */
.tools-contato-canais,
.tools-contato-formulario,
.tools-contato-mapa {
  box-sizing: border-box;
  margin-top: var(--sp-sec);
  padding-inline: var(--margin);
  color: #FFFFFF;
  font-family: agenda, 'Agenda', Outfit, sans-serif;
}

.tools-contato-canais__grade,
.tools-contato-formulario__inner,
.tools-contato-mapa__inner {
  width: 100%;
  max-width: 1750px;
  margin-inline: auto;
}

.tools-contato-canais__grade,
.tools-contato-formulario__grade {
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  gap: var(--gutter);
}

.tools-contato-canais__card {
  grid-column: span var(--span-servico);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  min-height: var(--mh-servico);
  aspect-ratio: var(--ar-servico);
  padding: var(--sp-4);
  border-radius: var(--r-md);
  background: #27292E center / cover no-repeat;
}

.tools-contato-canais__card--ouvir { background-image: url('contato-grafismo-ouvir.svg'); }
.tools-contato-canais__card--visitar { background-image: url('contato-grafismo-visitar.svg'); }
.tools-contato-canais__card--trabalhe { background-image: url('contato-grafismo-trabalhe.svg'); }
.tools-contato-canais__card h3 { position: relative; z-index: 1; margin: 0; font-size: var(--fs-h3); font-weight: 500; line-height: 1.3; }
.tools-contato-canais__conteudo { position: relative; z-index: 1; margin-top: var(--sp-3); display: flex; flex-direction: column; align-items: flex-start; color: rgba(255,255,255,.8); font-size: var(--fs-body); font-style: normal; line-height: 1.7; }
.tools-contato-canais__conteudo p { margin: 0; text-wrap: pretty; }
.tools-contato-canais__conteudo a { color: #FFFFFF; transition: color 240ms ease; }
.tools-contato-canais__conteudo a:hover { color: var(--acento); }

.tools-contato-formulario__rotulo { margin: 0; color: rgba(255,255,255,.6); font-size: var(--fs-tag); font-weight: 500; line-height: 1.2; }
.tools-contato-formulario__titulo { max-width: 862px; margin: var(--sp-3) 0 0; font-size: var(--fs-h1); font-weight: 500; line-height: 1.07; text-wrap: balance; }
.tools-contato-formulario__form { margin-top: var(--sp-6); }
.tools-contato-formulario__coluna { grid-column: span var(--span-f1); display: flex; flex-direction: column; gap: var(--gutter); }
.tools-contato-formulario label { display: flex; position: relative; }
.tools-contato-formulario label > span:first-child,
.tools-contato-formulario__honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.tools-contato-formulario input:not([type='hidden']),
.tools-contato-formulario select,
.tools-contato-formulario textarea { width: 100%; box-sizing: border-box; border: 0; background: #27292E; color: #FFFFFF; font: inherit; font-size: var(--fs-body); outline: 0 solid transparent; transition: outline-color 240ms cubic-bezier(.16,1,.3,1); }
.tools-contato-formulario input:not([type='hidden']), .tools-contato-formulario select { min-height: 60px; padding: 0 26px; border-radius: 999px; }
.tools-contato-formulario select { padding-right: 56px; appearance: none; cursor: pointer; }
.tools-contato-formulario__select { position: relative; width: 100%; }
.tools-contato-formulario__select::after { content: ''; position: absolute; right: 28px; top: 50%; width: 9px; height: 9px; border-right: 1.5px solid rgba(255,255,255,.75); border-bottom: 1.5px solid rgba(255,255,255,.75); transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.tools-contato-formulario input:focus, .tools-contato-formulario select:focus, .tools-contato-formulario textarea:focus { outline: 1.5px solid var(--acento); }
.tools-contato-formulario__mensagem { grid-column: span var(--span-f3); }
.tools-contato-formulario textarea { height: calc(120px + var(--gutter)); padding: 18px 26px; border-radius: var(--r-md); line-height: 1.5; resize: vertical; }
.tools-contato-formulario__acoes { margin-top: var(--sp-3); display: flex; align-items: center; justify-content: flex-end; gap: var(--sp-3); flex-wrap: wrap; }
.tools-contato-formulario__aviso { margin: 0; }
.tools-contato-formulario__aviso--erro { color: #ff9e9e; }
.tools-contato-formulario button, .tools-contato-mapa__botao { min-height: 52px; padding: 12px 28px; box-sizing: border-box; border: 1.5px solid var(--acento); border-radius: 999px; background: transparent; color: var(--acento); font: inherit; font-size: var(--fs-action); font-weight: 500; cursor: pointer; transition: background-color 260ms cubic-bezier(.16,1,.3,1), color 260ms cubic-bezier(.16,1,.3,1); }
.tools-contato-formulario button:hover, .tools-contato-mapa__botao:hover { background: var(--acento); color: #FFFFFF; }
.tools-contato-formulario button:disabled { cursor: wait; opacity: .65; }
.tools-contato-mapa__quadro { position: relative; width: 100%; min-height: 420px; aspect-ratio: 1748 / 700; overflow: hidden; border-radius: var(--r-xl); background: #27292E; }
.tools-contato-mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.tools-contato-mapa__botao { margin-top: var(--sp-3); display: inline-flex; align-items: center; text-decoration: none; }

@media (max-width: 1919px) {
  .tools-contato-canais__grade, .tools-contato-formulario__inner, .tools-contato-mapa__inner { max-width: 1750px; }
}

@media (max-width: 1279px) {
  .tools-contato-formulario__mensagem { grid-column: span 8; }
}

@media (max-width: 767px) {
  .tools-contato-formulario__coluna, .tools-contato-formulario__mensagem { grid-column: span 4; }
  .tools-contato-formulario__acoes { justify-content: flex-start; }
}

/* Seções internas aprovadas: portfólio, serviços, liderança e clientes. */
.tools-portfolio-grade,
.tools-servico-intro,
.tools-lideranca,
.tools-clientes-chamada {
  margin-top: var(--sp-sec);
  padding-inline: var(--margin);
  box-sizing: border-box;
  color: #FFFFFF;
  font-family: agenda, 'Agenda', Outfit, sans-serif;
}

.tools-portfolio-grade__inner,
.tools-servico-intro__inner,
.tools-lideranca__inner,
.tools-clientes-chamada__inner {
  width: 100%;
  max-width: 1750px;
  margin-inline: auto;
}

.tools-portfolio-grade__rotulo,
.tools-servico-intro__rotulo,
.tools-lideranca__rotulo,
.tools-clientes-chamada__rotulo {
  margin: 0;
  color: rgba(255,255,255,.6);
  font-size: var(--fs-tag);
  font-weight: 500;
  line-height: 1.2;
}

.tools-portfolio-grade__titulo,
.tools-servico-intro__titulo,
.tools-lideranca__titulo,
.tools-clientes-chamada__titulo {
  max-width: 862px;
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-h1);
  font-weight: 500;
  line-height: 1.07;
  text-wrap: balance;
}

.tools-portfolio-grade__filtros {
  margin-top: var(--sp-4);
  display: inline-flex;
  flex-wrap: wrap;
  align-items: stretch;
  border-radius: 999px;
  background: #000000;
}

.tools-portfolio-grade__filtro {
  min-height: 52px;
  padding: 12px 28px;
  box-sizing: border-box;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #FFFFFF;
  font-size: var(--fs-action);
  font-weight: 500;
  transition: color 260ms ease, background-color 260ms ease;
}

.tools-portfolio-grade__filtro:hover { color: var(--acento); }
.tools-portfolio-grade__filtro--ativo { background: #FFFFFF; color: #191A1D; }

.tools-portfolio-grade__grade {
  margin-top: var(--sp-6);
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  gap: var(--gutter);
}

.tools-portfolio-grade__card { grid-column: span 6; }
.tools-portfolio-grade__link { display: block; color: #FFFFFF; }
.tools-portfolio-grade__midia { margin: 0; aspect-ratio: var(--ar-projeto); overflow: hidden; border-radius: var(--r-md); background: #27292E; }
.tools-portfolio-grade__imagem { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 520ms cubic-bezier(.16,1,.3,1); }
.tools-portfolio-grade__link:hover .tools-portfolio-grade__imagem { transform: scale(1.025); }
.tools-portfolio-grade__segmento { margin: var(--sp-3) 0 0; color: rgba(255,255,255,.6); font-size: var(--fs-tag); line-height: 1.2; }
.tools-portfolio-grade__nome { margin: var(--sp-1) 0 0; font-size: var(--fs-projeto); font-weight: 500; line-height: 1.07; text-wrap: balance; }
.tools-portfolio-grade__vazio { margin-top: var(--sp-6); border: 1.5px dashed rgba(255,255,255,.2); border-radius: var(--r-md); padding: var(--sp-6) var(--sp-4); box-sizing: border-box; text-align: center; }
.tools-portfolio-grade__vazio p { margin: 0; color: rgba(255,255,255,.8); font-size: var(--fs-body); line-height: 1.5; text-wrap: pretty; }

.tools-servico-intro__grade,
.tools-lideranca__grade {
  margin-top: var(--sp-6);
  min-height: var(--mh-sobre);
  aspect-ratio: var(--ar-sobre);
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  gap: var(--gutter);
  align-items: stretch;
}

.tools-servico-intro__texto,
.tools-lideranca__texto { grid-column: span var(--span-eq-texto); overflow: hidden; border-radius: var(--r-md); padding: var(--pad-card); box-sizing: border-box; background: #27292E; }
.tools-servico-intro__texto p,
.tools-lideranca__texto p { margin: 0; color: rgba(255,255,255,.8); font-size: var(--fs-body); line-height: 1.6; text-wrap: pretty; }
.tools-servico-intro__texto p + p { margin-top: var(--sp-3); }
.tools-servico-intro__midia,
.tools-lideranca__midia { grid-column: span var(--span-eq-midia-plena); min-height: var(--mh-servico); overflow: hidden; border-radius: var(--r-md); margin: 0; background: #27292E; }
.tools-servico-intro__imagem,
.tools-lideranca__imagem { width: 100%; height: 100%; display: block; object-fit: cover; }


@keyframes tools-logos-esquerda { to { transform: translateX(-50%); } }
@keyframes tools-logos-direita { from { transform: translateX(-50%); } }

@media (max-width: 1919px) {
  .tools-portfolio-grade__inner, .tools-servico-intro__inner, .tools-lideranca__inner, .tools-clientes-chamada__inner { max-width: 1750px; }
}

@media (max-width: 1279px) {
  .tools-portfolio-grade__card { grid-column: 1 / -1; }
  .tools-servico-intro__grade, .tools-lideranca__grade { aspect-ratio: auto; }
  .tools-servico-intro__texto, .tools-servico-intro__midia, .tools-lideranca__texto, .tools-lideranca__midia { grid-column: span 8; }
  .tools-servico-intro__midia, .tools-lideranca__midia { min-height: var(--mh-servico); }
}

@media (max-width: 767px) {
  .tools-portfolio-grade__filtros { width: 100%; border-radius: var(--r-md); }
  .tools-portfolio-grade__filtro { width: 50%; justify-content: center; }
  .tools-servico-intro__texto, .tools-servico-intro__midia, .tools-lideranca__texto, .tools-lideranca__midia { grid-column: span 4; }
  .tools-servico-intro__midia, .tools-lideranca__midia { min-height: 420px; }
}

@media (prefers-reduced-motion: reduce) {
  .tools-logos__trilho { animation: none !important; }
  .tools-portfolio-grade__imagem { transition: none; }
}

/* ── FAQ — perguntas frequentes das páginas de serviço ─────────────────────
   Padrão de acordeão do design system: divisórias finas, pergunta em h3,
   ícone “+” que gira para “×”, e abertura com a mesma curva de easing dos
   cards de serviço. A semântica é <details>/<summary>: funciona sem JS. */
.tools-faq {
  margin-top: var(--sp-sec);
  padding-inline: var(--margin);
  box-sizing: border-box;
  color: #FFFFFF;
  font-family: agenda, 'Agenda', Outfit, sans-serif;
  interpolate-size: allow-keywords;
}

.tools-faq__inner { width: 100%; max-width: 1750px; margin-inline: auto; }

.tools-faq__rotulo {
  margin: 0;
  color: rgba(255, 255, 255, .6);
  font-size: var(--fs-tag);
  font-weight: 500;
  line-height: 1.2;
}

.tools-faq__titulo {
  max-width: 862px;
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-h1);
  font-weight: 500;
  line-height: 1.07;
  text-wrap: balance;
}

.tools-faq__lista {
  margin-top: var(--sp-5);
  max-width: 1160px;
  border-top: 1px solid rgba(255, 255, 255, .14);
}

.tools-faq__item { border-bottom: 1px solid rgba(255, 255, 255, .14); }

.tools-faq__pergunta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-3) 0;
  cursor: pointer;
  list-style: none;
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.2;
  transition: color 260ms ease;
}

.tools-faq__pergunta::-webkit-details-marker { display: none; }

.tools-faq__pergunta:hover,
.tools-faq__item[open] .tools-faq__pergunta { color: var(--acento); }

.tools-faq__icone {
  position: relative;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  transition: transform 420ms cubic-bezier(0.19, 1, 0.22, 1);
}

.tools-faq__icone::before,
.tools-faq__icone::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  background: currentColor;
}

.tools-faq__icone::before { width: 22px; height: 1.5px; }
.tools-faq__icone::after { width: 1.5px; height: 22px; }

.tools-faq__item[open] .tools-faq__icone { transform: rotate(45deg); }

.tools-faq__painel { overflow: hidden; }

.tools-faq__resposta {
  margin: 4px 0 var(--sp-3);
  max-width: 730px;
  color: rgba(255, 255, 255, .8);
  font-size: var(--fs-body);
  line-height: 1.5;
}

/* Abertura suave onde o navegador anima altura intrínseca (Chrome/Edge);
   nos demais, o acordeão abre instantâneo — sem quebra. */
.tools-faq__item::details-content {
  block-size: 0;
  overflow: hidden;
  transition: block-size 620ms cubic-bezier(0.19, 1, 0.22, 1), content-visibility 620ms allow-discrete;
}

.tools-faq__item[open]::details-content { block-size: auto; }

@media (max-width: 767px) {
  .tools-faq__pergunta { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .tools-faq__item::details-content,
  .tools-faq__icone { transition: none; }
}

/* ══════════════════════════════════════════════════════════════════════════
   MOTOR DE INTERAÇÕES — apêndice do porte (tema 1.1.0)
   O servidor entrega o estado “tudo visível, fluxo normal”; a classe
   .tools-motor-ativo no <html> (posta pelo boot.js) habilita os palcos de
   rolagem. Impressão e movimento reduzido voltam ao fluxo em qualquer caso.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── revelação dos cards (Serviços e Diferenciais) ── */
.tools-servicos__revela,
.tools-diferenciais__revela {
  display: grid;
  grid-template-rows: 1fr;
  opacity: 1;
  transition: grid-template-rows 620ms cubic-bezier(0.19, 1, 0.22, 1), opacity 300ms linear;
}

.tools-servicos__revela-caixa,
.tools-diferenciais__revela-caixa { overflow: hidden; min-height: 0; }

.tools-servicos__revela .tools-servicos__texto,
.tools-diferenciais__revela .tools-diferenciais__texto { margin-top: 0; }

@media print, (prefers-reduced-motion: reduce), (hover: none) {
  .tools-servicos__revela,
  .tools-diferenciais__revela { grid-template-rows: 1fr !important; opacity: 1 !important; }
}

@media (hover: none) {
  .tools-servicos__card[data-servico-card] .tools-servicos__imagem,
  .tools-diferenciais__card[data-servico-card] .tools-diferenciais__imagem { filter: brightness(0.62); }
}

/* ── ícones do conjunto, desenháveis ── */
.tools-segmentos__icone--desenho,
.tools-entregaveis__icone--desenho { border: 0; border-radius: 0; }

.tools-segmentos__icone--desenho svg,
.tools-entregaveis__icone--desenho svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: var(--acento);
  stroke-width: 0.4375;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ── setas de carrossel ── */
.tools-carrossel-setas { display: flex; gap: var(--sp-2); }

.tools-carrossel-seta {
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1.5px solid var(--acento);
  border-radius: 50%;
  background: transparent;
  color: var(--acento);
  cursor: pointer;
  transition: background 240ms ease, color 240ms ease;
}

.tools-carrossel-seta svg { width: 18px; height: 18px; }
.tools-carrossel-seta:hover { background: var(--acento); color: #FFFFFF; }

.tools-depoimentos__inner > .tools-carrossel-setas { margin-top: var(--sp-4); }

.tools-entregaveis__rodape {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-3);
}

/* ── portfólio em destaque: card com a capa do projeto ── */
.tools-portfolio-destaque__card { position: relative; overflow: hidden; }

.tools-portfolio-destaque__imagem {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tools-portfolio-destaque__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 35%, rgba(0, 0, 0, 0.62) 100%);
}

.tools-portfolio-destaque__card-conteudo {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.tools-portfolio-destaque__rodape {
  max-width: 1750px;
  margin: var(--sp-4) auto 0;
  padding-inline: var(--margin);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-3);
}

/* ── Resultados: palco de rolagem com vidro canelado ── */
.tools-resultados { position: relative; }
.tools-resultados__inner { display: block; }

.tools-resultados__grade {
  grid-column: auto;
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  gap: var(--gutter);
  align-items: center;
}

.tools-resultados__cabecalho {
  grid-column: span 6;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.tools-resultados__caixa { grid-column: var(--gc-num, 9 / span 4); display: grid; gap: var(--sp-4); }
.tools-resultados__metrica { grid-column: auto; }
.tools-resultados__legenda { margin: var(--sp-1) 0 0; color: rgba(255, 255, 255, 0.8); font-size: var(--fs-body); }
.tools-resultados__persiana, .tools-resultados__veu { display: none; }

html.tools-motor-ativo .tools-resultados {
  height: 300vh;
  padding-inline: 0;
}

html.tools-motor-ativo .tools-resultados__palco {
  position: sticky;
  top: 0;
  min-height: 100svh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(120% 90% at 78% 42%, rgba(18, 165, 160, 0.55) 0%, rgba(8, 52, 52, 0.7) 34%, #000000 72%),
    repeating-linear-gradient(90deg, #000000 0 18px, #050C0C 18px 36px);
  background-attachment: fixed, fixed;
}

html.tools-motor-ativo .tools-resultados__inner {
  position: relative;
  z-index: 3;
  width: 100%;
  padding-inline: var(--margin);
  box-sizing: border-box;
}

html.tools-motor-ativo .tools-resultados__persiana {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.tools-resultados__persiana canvas {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 900ms ease;
}

.tools-resultados__persiana[data-vidro-pronto="1"] canvas { opacity: 1; }

html.tools-motor-ativo .tools-resultados__veu {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  height: 18vh;
  z-index: 2;
  pointer-events: none;
}

html.tools-motor-ativo .tools-resultados__veu--topo { top: 0; background: linear-gradient(180deg, #191A1D 0%, rgba(25, 26, 29, 0) 100%); }
html.tools-motor-ativo .tools-resultados__veu--base { bottom: 0; background: linear-gradient(0deg, #191A1D 0%, rgba(25, 26, 29, 0) 100%); }

html.tools-motor-ativo .tools-resultados__caixa { display: block; position: relative; min-height: min(46svh, 420px); }
html.tools-motor-ativo .tools-resultados__metrica { position: absolute; inset-inline: 0; top: 0; opacity: 0; will-change: opacity, transform; }
html.tools-motor-ativo .tools-resultados__metrica:first-child { opacity: 1; }

@media (max-width: 767px) {
  .tools-resultados__cabecalho, .tools-resultados__caixa { grid-column: 1 / -1; }
  html.tools-motor-ativo .tools-resultados__caixa { min-height: 220px; }
}

@media print, (prefers-reduced-motion: reduce) {
  html.tools-motor-ativo .tools-resultados { height: auto; padding-inline: var(--margin); }
  html.tools-motor-ativo .tools-resultados__palco { position: static; min-height: 0; background: none; overflow: visible; }
  html.tools-motor-ativo .tools-resultados__inner { padding-inline: 0; }
  html.tools-motor-ativo .tools-resultados__persiana, html.tools-motor-ativo .tools-resultados__veu { display: none !important; }
  html.tools-motor-ativo .tools-resultados__caixa { position: static; min-height: 0; display: grid; gap: var(--sp-4); }
  html.tools-motor-ativo .tools-resultados__metrica { position: static; opacity: 1 !important; transform: none !important; }
}

/* ── Diferenciais: o portal da marca (só desktop, com movimento) ── */
.tools-diferenciais__marca-caixa { display: none; }

@media (min-width: 1280px) {
  html.tools-motor-ativo .tools-diferenciais[data-portal] { height: 260vh; }

  html.tools-motor-ativo .tools-diferenciais[data-portal] .tools-diferenciais__palco {
    position: sticky;
    top: 0;
    height: 100svh;
    overflow: clip;
    display: flex;
    align-items: center;
  }

  html.tools-motor-ativo .tools-diferenciais[data-portal] .tools-diferenciais__grade { width: 100%; }

  html.tools-motor-ativo .tools-diferenciais[data-portal] .tools-diferenciais__card { max-height: min(720px, 68svh); }

  html.tools-motor-ativo .tools-diferenciais[data-portal] .tools-diferenciais__marca-caixa {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
  }

  html.tools-motor-ativo .tools-diferenciais[data-portal] .tools-diferenciais__marca-caixa svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
}

@media print, (prefers-reduced-motion: reduce) {
  html.tools-motor-ativo .tools-diferenciais[data-portal] { height: auto !important; }
  html.tools-motor-ativo .tools-diferenciais[data-portal] .tools-diferenciais__palco { position: static !important; height: auto !important; overflow: visible !important; }
  html.tools-motor-ativo .tools-diferenciais[data-portal] .tools-diferenciais__marca-caixa { display: none !important; }
}

/* ── menu mobile do cabeçalho ── */
.tools-cabecalho__menu { display: none; }

@media (max-width: 767px) {
  .tools-cabecalho__menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6.5px;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    z-index: 51;
  }

  .tools-cabecalho__menu span {
    width: 22px;
    height: 1.5px;
    background: #FFFFFF;
    transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  .tools-cabecalho[data-menu="aberto"] .tools-cabecalho__menu span:first-child { transform: translateY(4px) rotate(45deg); }
  .tools-cabecalho[data-menu="aberto"] .tools-cabecalho__menu span:last-child { transform: translateY(-4px) rotate(-45deg); }

  .tools-cabecalho__nav {
    position: fixed;
    inset: 0;
    z-index: 40;
    margin: 0;
    padding-top: var(--h-header);
    background: #191A1D;
    overflow: hidden auto;
    transform: translateY(-115%);
    transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  .tools-cabecalho[data-menu="aberto"] .tools-cabecalho__nav { transform: translateY(0); }

  .tools-cabecalho__lista {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--sp-3);
    padding: var(--sp-4) var(--margin) var(--sp-5);
  }

  .tools-cabecalho__lista a {
    font-size: 28px;
    opacity: 0;
    transform: translateX(-22px);
    transition: opacity 300ms ease, transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
  }

  .tools-cabecalho[data-menu="aberto"] .tools-cabecalho__lista a { opacity: 1; transform: none; }

  .tools-cabecalho[data-menu="aberto"] .tools-cabecalho__lista li:nth-child(1) a { transition-delay: 60ms; }
  .tools-cabecalho[data-menu="aberto"] .tools-cabecalho__lista li:nth-child(2) a { transition-delay: 115ms; }
  .tools-cabecalho[data-menu="aberto"] .tools-cabecalho__lista li:nth-child(3) a { transition-delay: 170ms; }
  .tools-cabecalho[data-menu="aberto"] .tools-cabecalho__lista li:nth-child(4) a { transition-delay: 225ms; }
  .tools-cabecalho[data-menu="aberto"] .tools-cabecalho__lista li:nth-child(5) a { transition-delay: 280ms; }
  .tools-cabecalho[data-menu="aberto"] .tools-cabecalho__lista li:nth-child(6) a { transition-delay: 335ms; }

  @media (prefers-reduced-motion: reduce) {
    .tools-cabecalho__nav, .tools-cabecalho__lista a, .tools-cabecalho__menu span { transition: none; }
  }
}

/* O sticky do cabeçalho precisa viver no invólucro do template part: o
   invólucro tem a altura exata do cabeçalho e, sem isto, o sticky interno
   não tem curso nenhum — o cabeçalho não gruda (mesmo caso do dc-import). */
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 50;
}

@media (max-width: 767px) {
  /* O painel do menu é fixed e sai do fluxo: a marca precisa subir na pilha
     para continuar visível, e o telefone cede lugar ao botão do menu. */
  .tools-cabecalho__inner { justify-content: space-between; }
  .tools-cabecalho__marca { position: relative; z-index: 51; }
  .tools-cabecalho__telefone { display: none; }
  .tools-cabecalho__menu { margin-left: 0; }
}

/* ── cores dos botões, conforme o inventário do site aprovado ──
   Brancos (hover: fundo branco, texto escuro): cards de Portfólio, Serviços
   e Diferenciais, Resultados e a chamada de Contato. Verdes (hover: fundo
   acento): CTA global do Portfólio, card 3 de Serviços, Sobre, Entregáveis
   e Como chegar. */
.tools-portfolio-destaque__trilho .tools-portfolio-destaque__botao,
.tools-resultados__botao,
.tools-servicos__card:not(.tools-servicos__card--chamada) .tools-servicos__botao,
.tools-diferenciais__botao,
.tools-contato-destaque__botao {
  border-color: #FFFFFF;
  color: #FFFFFF;
}

.tools-portfolio-destaque__trilho .tools-portfolio-destaque__botao:hover,
.tools-resultados__botao:hover,
.tools-servicos__card:not(.tools-servicos__card--chamada) .tools-servicos__botao:hover,
.tools-diferenciais__botao:hover,
.tools-contato-destaque__botao:hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #191A1D;
}

.tools-diferenciais__botao {
  min-height: 52px;
  margin-top: var(--sp-3);
  padding: 12px 28px;
  box-sizing: border-box;
  border: 1.5px solid #FFFFFF;
  border-radius: 999px;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  background: transparent;
  font-size: var(--fs-action);
  font-weight: 500;
  color: #FFFFFF;
  text-decoration: none;
  transition: background-color 260ms cubic-bezier(0.16, 1, 0.3, 1), color 260ms cubic-bezier(0.16, 1, 0.3, 1), border-color 260ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* Trecho de título em verde-água da marca (ex.: "ponta a ponta." no card
   chamada de Serviços) — mesma marcação de destaque do site aprovado. */
.tools-destaque { color: var(--acento); }

/* O CTA do card-chamada de Serviços ("Veja nossos serviços") é verde no
   aprovado — só os cards com foto usam botão branco. */
.tools-servicos__card--chamada .tools-servicos__botao {
  border-color: var(--acento);
  color: var(--acento);
}
