@charset "UTF-8";
body.page-template-template-homehomepage-php {
  /* Sticky no desktop: o conteúdo seguinte desliza por cima do hero, que fica
     preso no topo. No celular a altura não é travada (ver breakpoint md) — sem
     isso o conteúdo, mais alto que a tela, seria cortado pelo overflow. */
  /* Sobre — cartão branco com borda, texto à direita e carrossel de vídeos à
     esquerda. As colunas invertem a ordem visual no desktop (texto em order 2)
     para o carrossel ficar do lado de fora da leitura. */
  /* Pilares — cabeçalho em duas colunas (título à esquerda, apoio à direita) e
     três cartões altos com foto sangrada, véu escuro e texto no rodapé. */
  /* Mais que informação — bloco azul centralizado com o símbolo da marca, e uma
     esteira de mídias 3:4 rolando em loop contínuo logo abaixo. */
  /* CTA da home — bloco central sobre fundo branco, com dois símbolos da marca
     sangrando pelas laterais como marca d'água. */
  /* Manifesto — texto corrido à direita e a marca empilhada (símbolo sobre a
     palavra) à esquerda, presa na tela enquanto o texto rola. */
  /* Ecossistema — cabeçalho em duas colunas, quatro cartões iguais que abrem um
     modal cada, e o fecho em faixa com o gradiente da marca.

     Os modais moram neste arquivo (e não em um componente separado) porque só o
     ecossistema os usa. Se outra seção passar a abrir modal, promover para
     componente. */
  /* ── Cartão ──
     O cartão inteiro é o botão — por isso o conteúdo usa <span>, e não <div>:
     a especificação do HTML não permite conteúdo de fluxo dentro de <button>. */
  /* ═══════════════════════════════════════════════════════
     MODAIS DO ECOSSISTEMA
     ═══════════════════════════════════════════════════════ */
  /* ── Galeria por tema (modal Conteúdo) ──
     As tags ficam no topo e a foto ocupa o resto. Precisa ser coluna flex —
     sem isso a foto pedia 100% da altura ALÉM das tags, estourando o painel e
     criando barra de rolagem. */
  /*
     Comunidade — texto com lista de traços à esquerda e um vídeo com cartão de
     depoimento sobreposto à direita. O símbolo da marca sangra pela esquerda.
  */
}
body.page-template-template-homehomepage-php .hero {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 0;
  overflow: hidden;
  height: 100vh;
  padding-top: calc(var(--sp-section) + var(--sp-16));
  padding-bottom: var(--sp-section);
  padding-inline: var(--grid-margin);
  background-color: var(--color-bg-dark);
  color: var(--color-text-invert);
}
@supports (height: 100svh) {
  body.page-template-template-homehomepage-php .hero {
    height: 100svh;
  }
}
body.page-template-template-homehomepage-php .hero__glow {
  position: absolute;
  border-radius: var(--radius-pill);
  background-color: var(--color-accent);
  -webkit-filter: blur(64px);
          filter: blur(64px);
  pointer-events: none;
}
body.page-template-template-homehomepage-php .hero__glow--top {
  top: -160px;
  right: -160px;
  width: 600px;
  height: 600px;
  opacity: 0.2;
}
body.page-template-template-homehomepage-php .hero__glow--bottom {
  bottom: -256px;
  left: -256px;
  width: 900px;
  height: 900px;
  opacity: 0.06;
}
body.page-template-template-homehomepage-php .hero {
  /* Símbolo da marca injetado pelo hero.js a partir do logo do header. */
}
body.page-template-template-homehomepage-php .hero__symbol {
  position: absolute;
  bottom: -176px;
  left: -160px;
  z-index: 0;
  width: 68rem;
  opacity: 0.25;
  pointer-events: none;
}
body.page-template-template-homehomepage-php .hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: var(--sp-16);
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%;
  height: 100%;
  max-width: var(--grid-max);
  margin-inline: auto;
}
body.page-template-template-homehomepage-php .hero__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-self: end;
      -ms-flex-item-align: end;
          align-self: end;
}
body.page-template-template-homehomepage-php .hero__eyebrow {
  margin-bottom: var(--sp-6);
  color: rgba(255, 255, 255, 0.7);
}
body.page-template-template-homehomepage-php .hero__title {
  margin-bottom: var(--sp-6);
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .hero__text {
  max-width: 640px;
  margin-bottom: var(--sp-10);
  color: rgba(255, 255, 255, 0.7);
}
body.page-template-template-homehomepage-php .hero__actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-self: start;
      -ms-flex-item-align: start;
          align-self: start;
  gap: var(--sp-4);
}
body.page-template-template-homehomepage-php .hero {
  /* Ocupa as duas linhas da grade no desktop (texto numa linha, botões na
     outra, imagem ao lado das duas). */
}
body.page-template-template-homehomepage-php .hero__media {
  position: relative;
  grid-row: span 2;
  height: 100%;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, var(--color-areia), var(--color-pedra));
  -webkit-box-shadow: var(--shadow-media);
          box-shadow: var(--shadow-media);
}
body.page-template-template-homehomepage-php .hero__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-template-homehomepage-php .hero {
  /* Véu inferior: sustenta a leitura de qualquer texto sobre a foto. */
}
body.page-template-template-homehomepage-php .hero__veil {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 33%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.7)), color-stop(50%, rgba(0, 0, 0, 0.25)), to(transparent));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.25) 50%, transparent);
  pointer-events: none;
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .hero {
    /* Sem altura travada no celular: o conteúdo cresce naturalmente em vez
       de ser cortado pelo overflow. */
    height: auto;
    padding-top: calc(var(--sp-section) + var(--sp-12));
  }
  body.page-template-template-homehomepage-php .hero .hero__grid {
    grid-template-columns: 1fr;
    height: auto;
    gap: var(--sp-10);
  }
  body.page-template-template-homehomepage-php .hero {
    /* A ordem no HTML já é texto → imagem → botões; só precisa desfazer o
       span de duas linhas que a imagem usa no desktop. */
  }
  body.page-template-template-homehomepage-php .hero .hero__media {
    grid-row: auto;
    height: auto;
    min-height: 420px;
  }
  body.page-template-template-homehomepage-php .hero .hero__content,
  body.page-template-template-homehomepage-php .hero .hero__actions {
    -webkit-align-self: auto;
        -ms-flex-item-align: auto;
            align-self: auto;
  }
  body.page-template-template-homehomepage-php .hero .hero__symbol {
    display: none;
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .hero .hero__title {
    font-size: 2.3rem;
  }
  body.page-template-template-homehomepage-php .hero .hero__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  body.page-template-template-homehomepage-php .hero .hero__actions .btn {
    width: 100%;
  }
}
body.page-template-template-homehomepage-php .sobre {
  padding-block: var(--sp-section);
  padding-inline: var(--grid-margin);
  background-color: var(--color-bg);
}
body.page-template-template-homehomepage-php .sobre__card {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--sp-30);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: var(--grid-max);
  margin-inline: auto;
  padding: var(--sp-12);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  background-color: var(--color-surface);
  -webkit-box-shadow: var(--shadow-surface);
          box-shadow: var(--shadow-surface);
}
body.page-template-template-homehomepage-php .sobre__content {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
body.page-template-template-homehomepage-php .sobre__eyebrow {
  margin-bottom: var(--sp-6);
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .sobre {
  /* Sem line-height próprio: usa o --lh-t1 da escala, como os demais títulos */
}
body.page-template-template-homehomepage-php .sobre__title {
  margin-bottom: var(--sp-8);
}
body.page-template-template-homehomepage-php .sobre__text {
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .sobre {
  /* ── Carrossel ──
     Slides empilhados no mesmo espaço; só o .is-active fica visível. A troca
     é feita pelo sobre.js. */
}
body.page-template-template-homehomepage-php .sobre__carousel {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--color-branco), var(--color-areia));
  /* pan-y deixa a rolagem vertical da página passar: só o gesto horizontal
     vira troca de slide (ver sobre.js) */
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
body.page-template-template-homehomepage-php .sobre__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.9s ease;
  transition: opacity 0.9s ease;
}
body.page-template-template-homehomepage-php .sobre__slide.is-active {
  opacity: 1;
}
body.page-template-template-homehomepage-php .sobre__media {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  /* Sem isto o navegador tenta "arrastar a mídia" e o gesto morre no meio */
  pointer-events: none;
  -webkit-user-drag: none;
}
body.page-template-template-homehomepage-php .sobre {
  /* ── Indicadores ── */
}
body.page-template-template-homehomepage-php .sobre__dots {
  position: absolute;
  inset-inline: 0;
  bottom: var(--sp-4);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--sp-2);
}
body.page-template-template-homehomepage-php .sobre__dot {
  width: 7px;
  height: 7px;
  border-radius: var(--radius-pill);
  background-color: rgba(255, 255, 255, 0.5);
  -webkit-transition: width 0.4s ease, background-color var(--t);
  transition: width 0.4s ease, background-color var(--t);
}
body.page-template-template-homehomepage-php .sobre__dot:hover {
  background-color: rgba(255, 255, 255, 0.8);
}
body.page-template-template-homehomepage-php .sobre__dot.is-active {
  width: 24px;
  background-color: var(--color-branco);
}
@media (prefers-reduced-motion: reduce) {
  body.page-template-template-homehomepage-php .sobre .sobre__slide {
    -webkit-transition: none;
    transition: none;
  }
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .sobre .sobre__card {
    grid-template-columns: 1fr;
    gap: var(--sp-10);
    padding: var(--sp-8);
  }
  body.page-template-template-homehomepage-php .sobre {
    /* No mobile o texto vem antes do vídeo — inverte a ordem do desktop */
  }
  body.page-template-template-homehomepage-php .sobre .sobre__content {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  body.page-template-template-homehomepage-php .sobre .sobre__carousel {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .sobre {
    /* 40px, como no layout mobile aprovado */
  }
  body.page-template-template-homehomepage-php .sobre .sobre__title {
    font-size: var(--fs-t2);
  }
}
body.page-template-template-homehomepage-php .pilares {
  padding-block: var(--sp-section);
  padding-inline: var(--grid-margin);
  background-color: var(--color-bg);
}
body.page-template-template-homehomepage-php .pilares__inner {
  max-width: var(--grid-max);
  margin-inline: auto;
}
body.page-template-template-homehomepage-php .pilares__header {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-16);
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  margin-bottom: var(--sp-20);
}
body.page-template-template-homehomepage-php .pilares__lead {
  max-width: 36rem;
  margin-left: auto;
  padding-top: var(--sp-2);
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .pilares__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-8);
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
body.page-template-template-homehomepage-php .pilares {
  /* ── Cartão ── */
}
body.page-template-template-homehomepage-php .pilares__card {
  position: relative;
  min-height: 680px;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, var(--color-areia), var(--color-pedra));
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}
body.page-template-template-homehomepage-php .pilares__card:hover {
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
}
body.page-template-template-homehomepage-php .pilares__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.7s ease;
  transition: -webkit-transform 0.7s ease;
  transition: transform 0.7s ease;
  transition: transform 0.7s ease, -webkit-transform 0.7s ease;
}
body.page-template-template-homehomepage-php .pilares__card:hover body.page-template-template-homehomepage-php .pilares__img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
body.page-template-template-homehomepage-php .pilares {
  /* Véu: sustenta a leitura do texto branco sobre qualquer foto */
}
body.page-template-template-homehomepage-php .pilares__veil {
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.85)), color-stop(50%, rgba(0, 0, 0, 0.3)), to(transparent));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.3) 50%, transparent);
  -webkit-transition: background var(--t);
  transition: background var(--t);
  pointer-events: none;
}
body.page-template-template-homehomepage-php .pilares__card:hover body.page-template-template-homehomepage-php .pilares__veil {
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.9)), color-stop(50%, rgba(0, 0, 0, 0.35)), to(transparent));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.35) 50%, transparent);
}
body.page-template-template-homehomepage-php .pilares__body {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: var(--sp-8);
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .pilares__card-title {
  line-height: 1.3;
}
body.page-template-template-homehomepage-php .pilares__card-text {
  padding-top: var(--sp-4);
  color: rgba(255, 255, 255, 0.8);
}
body.page-template-template-homehomepage-php .pilares {
  /* A primeira foto tem o enquadramento deslocado: o rosto fica fora do centro */
}
body.page-template-template-homehomepage-php .pilares__img--offset {
  -o-object-position: 32% center;
     object-position: 32% center;
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .pilares {
    padding-top: var(--sp-10);
    padding-bottom: var(--sp-20);
  }
  body.page-template-template-homehomepage-php .pilares .pilares__header {
    grid-template-columns: 1fr;
    gap: var(--sp-10);
    margin-bottom: var(--sp-16);
  }
  body.page-template-template-homehomepage-php .pilares .pilares__lead {
    margin-left: 0;
  }
  body.page-template-template-homehomepage-php .pilares .pilares__grid {
    gap: var(--sp-6);
  }
  body.page-template-template-homehomepage-php .pilares .pilares__card {
    min-height: 520px;
  }
  body.page-template-template-homehomepage-php .pilares .pilares__card-text {
    font-size: var(--fs-body-centi);
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .pilares .pilares__title {
    line-height: 1.15;
  }
  body.page-template-template-homehomepage-php .pilares .pilares__card-title {
    line-height: 1.3;
  }
  body.page-template-template-homehomepage-php .pilares .pilares__grid {
    grid-template-columns: 1fr;
  }
}
body.page-template-template-homehomepage-php .mais-info {
  padding-top: var(--sp-2);
  padding-bottom: var(--sp-section);
  padding-inline: var(--grid-margin);
  overflow: hidden;
  background-color: var(--color-bg-dark);
}
body.page-template-template-homehomepage-php .mais-info__inner {
  max-width: var(--grid-max);
  margin-inline: auto;
}
body.page-template-template-homehomepage-php .mais-info {
  /* A caixa usa o mesmo azul do fundo da seção, sem véu por cima. Se um dia
     entrar uma foto aqui, é preciso devolver um véu escuro sobre ela — senão
     o texto branco perde legibilidade. */
}
body.page-template-template-homehomepage-php .mais-info__card {
  padding-top: var(--sp-12);
  padding-bottom: var(--sp-section);
  overflow: hidden;
  border-radius: var(--radius-xl);
  background-color: var(--color-bg-dark);
}
body.page-template-template-homehomepage-php .mais-info__content {
  max-width: 900px;
  margin-inline: auto;
  padding-inline: var(--sp-20);
  text-align: center;
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .mais-info {
  /* O SVG é injetado por assets/src/js/pages/home/sections/mais-info.js a
     partir do logo do header */
}
body.page-template-template-homehomepage-php .mais-info__symbol {
  width: 12rem;
  margin-inline: auto;
  margin-bottom: var(--sp-6);
}
body.page-template-template-homehomepage-php .mais-info__eyebrow {
  margin-bottom: var(--sp-6);
  color: rgba(255, 255, 255, 0.6);
}
body.page-template-template-homehomepage-php .mais-info__title {
  margin-bottom: var(--sp-8);
  line-height: 1.35;
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .mais-info__text {
  max-width: 42rem;
  margin-inline: auto;
  color: rgba(255, 255, 255, 0.7);
}
body.page-template-template-homehomepage-php .mais-info__highlight {
  max-width: 42rem;
  margin-inline: auto;
  margin-top: var(--sp-4);
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .mais-info {
  /* ── Esteira ──
     O segundo conjunto de itens é cópia exata do primeiro: é ele que dá a
     emenda invisível do loop, porque a animação anda exatamente -50%. Ao
     trocar ou acrescentar itens, repetir a mudança nos DOIS conjuntos —
     senão o loop passa a "pular". */
}
body.page-template-template-homehomepage-php .mais-info__marquee {
  margin-top: var(--sp-20);
  overflow: hidden;
  -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(7%, #000), color-stop(93%, #000), to(transparent));
  -webkit-mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
  mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(7%, #000), color-stop(93%, #000), to(transparent));
  mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
}
body.page-template-template-homehomepage-php .mais-info__track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: mais-info-scroll 45s linear infinite;
          animation: mais-info-scroll 45s linear infinite;
}
body.page-template-template-homehomepage-php .mais-info__marquee:hover body.page-template-template-homehomepage-php .mais-info__track {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
body.page-template-template-homehomepage-php .mais-info {
  /* margin-right no item (e não gap) para que -50% caia exatamente no
     início da cópia */
}
body.page-template-template-homehomepage-php .mais-info__item {
  -webkit-box-flex: 0;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
  width: clamp(190px, 20vw, 280px);
  margin-right: var(--sp-5);
  aspect-ratio: 3/4;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background-color: var(--color-areia);
}
body.page-template-template-homehomepage-php .mais-info__media {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (prefers-reduced-motion: reduce) {
  body.page-template-template-homehomepage-php .mais-info .mais-info__track {
    -webkit-animation: none;
            animation: none;
  }
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .mais-info {
    padding-top: var(--sp-4);
    padding-bottom: var(--sp-12);
  }
  body.page-template-template-homehomepage-php .mais-info .mais-info__card {
    padding-top: var(--sp-4);
    padding-bottom: var(--sp-12);
  }
  body.page-template-template-homehomepage-php .mais-info .mais-info__content {
    padding-inline: var(--sp-8);
  }
  body.page-template-template-homehomepage-php .mais-info .mais-info__symbol {
    width: 9rem;
  }
  body.page-template-template-homehomepage-php .mais-info .mais-info__marquee {
    margin-top: var(--sp-12);
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .mais-info .mais-info__title {
    font-size: 2.8rem;
  }
  body.page-template-template-homehomepage-php .mais-info .mais-info__content {
    padding-inline: 0;
  }
}
@-webkit-keyframes mais-info-scroll {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@keyframes mais-info-scroll {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
body.page-template-template-homehomepage-php .cta-home {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: calc(var(--sp-section) + var(--sp-8));
  padding-inline: var(--grid-margin);
  background-color: var(--color-bg);
  /* Os SVGs são injetados por assets/src/js/pages/home/sections/cta-home.js */
}
body.page-template-template-homehomepage-php .cta-home__symbol {
  position: absolute;
  top: 50%;
  z-index: 0;
  width: 60rem;
  max-width: none;
  opacity: 0.15;
  pointer-events: none;
}
body.page-template-template-homehomepage-php .cta-home__symbol--left {
  left: 0;
  -webkit-transform: translate(-48%, -50%);
          transform: translate(-48%, -50%);
}
body.page-template-template-homehomepage-php .cta-home__symbol--right {
  right: 0;
  -webkit-transform: translate(38%, -50%);
          transform: translate(38%, -50%);
}
body.page-template-template-homehomepage-php .cta-home {
  /* Só existe no mobile — ver o breakpoint md */
}
body.page-template-template-homehomepage-php .cta-home__symbol--mobile {
  display: none;
}
body.page-template-template-homehomepage-php .cta-home__content {
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}
body.page-template-template-homehomepage-php .cta-home__title {
  margin-bottom: var(--sp-6);
}
body.page-template-template-homehomepage-php .cta-home__text {
  max-width: 36rem;
  margin-inline: auto;
  margin-bottom: var(--sp-12);
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .cta-home__actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: var(--sp-4);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .cta-home {
    /* Os dois das laterais saem; entra um só, centralizado no topo */
  }
  body.page-template-template-homehomepage-php .cta-home .cta-home__symbol--left,
  body.page-template-template-homehomepage-php .cta-home .cta-home__symbol--right {
    display: none;
  }
  body.page-template-template-homehomepage-php .cta-home .cta-home__symbol--mobile {
    display: block;
    left: 50%;
    top: var(--sp-section);
    width: 52rem;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 0.22;
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .cta-home .cta-home__title {
    font-size: var(--fs-t1);
    line-height: 1.2;
  }
  body.page-template-template-homehomepage-php .cta-home .cta-home__actions {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  body.page-template-template-homehomepage-php .cta-home .cta-home__actions .btn {
    width: 100%;
  }
}
body.page-template-template-homehomepage-php .manifesto {
  min-height: 100vh;
  padding-inline: var(--grid-margin);
  background-color: var(--color-bg-dark);
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .manifesto__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: var(--sp-16);
     -moz-column-gap: var(--sp-16);
          column-gap: var(--sp-16);
  max-width: var(--grid-max);
  margin-inline: auto;
}
body.page-template-template-homehomepage-php .manifesto__content {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  max-width: 80%;
  margin-left: auto;
  padding-block: calc(var(--sp-section) + var(--sp-16));
}
body.page-template-template-homehomepage-php .manifesto__eyebrow {
  margin-bottom: var(--sp-8);
  color: rgba(255, 255, 255, 0.6);
}
body.page-template-template-homehomepage-php .manifesto__title {
  margin-bottom: var(--sp-16);
  line-height: 1.12;
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .manifesto__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-6);
  color: rgba(255, 255, 255, 0.7);
}
body.page-template-template-homehomepage-php .manifesto__closing {
  margin-top: var(--sp-12);
  padding-top: var(--sp-12);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-family: var(--font-display);
  font-weight: var(--weight-title);
  letter-spacing: var(--tracking-title);
  line-height: 1.35;
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .manifesto {
  /* ── Marca empilhada ──
     Os dois SVGs são injetados por assets/src/js/pages/home/sections/manifesto.js:
     o mesmo logotipo do header recortado em duas partes pelo viewBox —
     símbolo em cima, palavra embaixo. Fica presa na tela enquanto a coluna
     de texto rola. */
}
body.page-template-template-homehomepage-php .manifesto__logo {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  -webkit-align-self: start;
      -ms-flex-item-align: start;
          align-self: start;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100vh;
}
body.page-template-template-homehomepage-php .manifesto__logo-symbol {
  width: 100%;
  max-width: 420px;
}
body.page-template-template-homehomepage-php .manifesto__logo-word {
  width: 100%;
  max-width: 360px;
  margin-top: var(--sp-2);
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .manifesto {
    min-height: 0;
    padding-block: var(--sp-section);
  }
  body.page-template-template-homehomepage-php .manifesto .manifesto__grid {
    grid-template-columns: 1fr;
    row-gap: var(--sp-16);
  }
  body.page-template-template-homehomepage-php .manifesto {
    /* A marca sai do sticky e passa para depois do texto — o espaço até o
       texto já vem do row-gap da grade, sem margem extra somando em cima */
  }
  body.page-template-template-homehomepage-php .manifesto .manifesto__logo {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    position: static;
    height: auto;
  }
  body.page-template-template-homehomepage-php .manifesto .manifesto__content {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    max-width: none;
    margin-left: 0;
    padding-block: 0;
  }
  body.page-template-template-homehomepage-php .manifesto {
    /* Sangra um pouco além do container — mesmo efeito do desktop, em escala menor */
  }
  body.page-template-template-homehomepage-php .manifesto .manifesto__logo-symbol {
    width: calc(100% + 2rem);
    max-width: 28rem;
  }
  body.page-template-template-homehomepage-php .manifesto .manifesto__logo-word {
    max-width: 8rem;
  }
  body.page-template-template-homehomepage-php .manifesto .manifesto__title {
    margin-bottom: var(--sp-12);
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .manifesto .manifesto__closing {
    font-size: var(--fs-t5);
  }
}
body.page-template-template-homehomepage-php .ecossistema {
  padding-block: var(--sp-section);
  padding-inline: var(--grid-margin);
  background-color: var(--color-bg);
}
body.page-template-template-homehomepage-php .ecossistema__inner {
  max-width: var(--grid-max);
  margin-inline: auto;
}
body.page-template-template-homehomepage-php .ecossistema__header {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-16);
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  margin-bottom: var(--sp-20);
}
body.page-template-template-homehomepage-php .ecossistema__eyebrow {
  margin-bottom: var(--sp-6);
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .ecossistema__lead {
  padding-bottom: var(--sp-2);
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .ecossistema__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-4);
}
body.page-template-template-homehomepage-php .ecossistema {
  /* ── Fecho ── */
}
body.page-template-template-homehomepage-php .ecossistema__fecho {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--sp-8);
  margin-top: var(--sp-section);
  padding: var(--sp-12) var(--sp-12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: var(--radius-xl);
  background: var(--gradient-marca);
  color: var(--color-text-invert);
  -webkit-box-shadow: var(--shadow-surface);
          box-shadow: var(--shadow-surface);
}
body.page-template-template-homehomepage-php .ecossistema__fecho-text {
  position: relative;
  z-index: 1;
  max-width: 604px;
  font-family: var(--font-display);
  letter-spacing: var(--tracking-title);
  line-height: 1.35;
}
body.page-template-template-homehomepage-php .ecossistema__fecho-strong {
  font-weight: 600;
}
body.page-template-template-homehomepage-php .ecossistema__fecho-light {
  font-weight: 300;
}
body.page-template-template-homehomepage-php .ecossistema__fecho-cta {
  position: relative;
  z-index: 1;
  -webkit-box-flex: 0;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
}
body.page-template-template-homehomepage-php .ecossistema {
  /* Marca d'água no canto inferior direito do fecho (injetada por
     assets/src/js/pages/home/sections/ecossistema.js). Sobre o gradiente ela
     vai em branco. */
}
body.page-template-template-homehomepage-php .ecossistema__fecho-symbol {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 26rem;
  max-width: none;
  -webkit-transform: translate(16%, 22%);
          transform: translate(16%, 22%);
  opacity: 0.25;
  pointer-events: none;
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .ecossistema {
    /* No mobile o espaço até a próxima seção fica bem mais curto */
    padding-top: var(--sp-20);
    padding-bottom: var(--sp-6);
  }
  body.page-template-template-homehomepage-php .ecossistema .ecossistema__header {
    grid-template-columns: 1fr;
    gap: var(--sp-10);
    margin-bottom: var(--sp-16);
  }
  body.page-template-template-homehomepage-php .ecossistema .ecossistema__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  body.page-template-template-homehomepage-php .ecossistema .ecossistema__fecho {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: var(--sp-20);
    padding: var(--sp-10) var(--sp-8);
  }
  body.page-template-template-homehomepage-php .ecossistema .ecossistema__fecho-cta {
    width: 100%;
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .ecossistema .ecossistema__title {
    font-size: 2.8rem;
  }
  body.page-template-template-homehomepage-php .ecossistema .ecossistema__grid {
    grid-template-columns: 1fr;
  }
}
body.page-template-template-homehomepage-php .pilar-card {
  position: relative;
  display: block;
  width: 100%;
  min-height: 440px;
  padding: var(--sp-10);
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: linear-gradient(160deg, var(--color-pedra), var(--color-azul));
  text-align: left;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.5s ease, -webkit-box-shadow 0.5s ease;
  transition: -webkit-transform 0.5s ease, -webkit-box-shadow 0.5s ease;
  transition: transform 0.5s ease, box-shadow 0.5s ease;
  transition: transform 0.5s ease, box-shadow 0.5s ease, -webkit-transform 0.5s ease, -webkit-box-shadow 0.5s ease;
}
body.page-template-template-homehomepage-php .pilar-card:hover {
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
  -webkit-box-shadow: 0 26px 60px rgba(28, 27, 24, 0.18);
          box-shadow: 0 26px 60px rgba(28, 27, 24, 0.18);
}
body.page-template-template-homehomepage-php .pilar-card:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}
body.page-template-template-homehomepage-php .pilar-card__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.7s ease;
  transition: -webkit-transform 0.7s ease;
  transition: transform 0.7s ease;
  transition: transform 0.7s ease, -webkit-transform 0.7s ease;
  /* Imagem ainda sem arquivo: evita o ícone de "imagem quebrada" */
}
body.page-template-template-homehomepage-php .pilar-card__bg:not([src]), body.page-template-template-homehomepage-php .pilar-card__bg[src=""] {
  opacity: 0;
}
body.page-template-template-homehomepage-php .pilar-card:hover body.page-template-template-homehomepage-php .pilar-card__bg {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
body.page-template-template-homehomepage-php .pilar-card__veil {
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.85)), color-stop(60%, rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0.12)));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.3) 60%, rgba(0, 0, 0, 0.12));
}
body.page-template-template-homehomepage-php .pilar-card__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  height: 100%;
  min-height: inherit;
}
body.page-template-template-homehomepage-php .pilar-card__icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 0;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--radius-pill);
  background-color: rgba(255, 255, 255, 0.15);
}
body.page-template-template-homehomepage-php .pilar-card__icon svg {
  width: 20px;
  height: 20px;
}
body.page-template-template-homehomepage-php .pilar-card__foot {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--sp-4);
  width: 100%;
  margin-top: auto;
  padding-top: var(--sp-12);
}
body.page-template-template-homehomepage-php .pilar-card__title {
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .pilar-card__arrow {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 0;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: var(--radius-pill);
  color: var(--color-branco);
  -webkit-transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease, -webkit-transform 0.35s ease;
  transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease, -webkit-transform 0.35s ease;
  transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
  transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease, transform 0.35s ease, -webkit-transform 0.35s ease;
}
body.page-template-template-homehomepage-php .pilar-card:hover body.page-template-template-homehomepage-php .pilar-card__arrow {
  background-color: var(--color-branco);
  border-color: var(--color-branco);
  color: var(--color-primary);
  -webkit-transform: translate(3px, -3px);
          transform: translate(3px, -3px);
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .pilar-card {
    min-height: 380px;
    padding: var(--sp-8);
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .pilar-card .pilar-card__title {
    font-size: var(--fs-t4);
  }
}
@media (prefers-reduced-motion: reduce) {
  body.page-template-template-homehomepage-php .pilar-card:hover {
    -webkit-transform: none;
            transform: none;
  }
  body.page-template-template-homehomepage-php .pilar-card:hover .pilar-card__arrow {
    -webkit-transform: none;
            transform: none;
  }
}
body.page-template-template-homehomepage-php .modal[hidden] {
  display: none;
}
body.page-template-template-homehomepage-php .modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: var(--sp-4);
}
body.page-template-template-homehomepage-php .modal__scrim {
  position: absolute;
  inset: 0;
  background-color: rgba(28, 27, 24, 0.55);
  -webkit-animation: modal-fade 0.3s ease;
          animation: modal-fade 0.3s ease;
}
body.page-template-template-homehomepage-php .modal {
  /* O painel usa a altura toda: a mídia estica para ocupar o espaço que
     sobra. min-height: 0 nos filhos é o que permite o encolhimento dentro
     do flex. */
}
body.page-template-template-homehomepage-php .modal__panel {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 1240px;
  height: 90vh;
  overflow-y: auto;
  border-radius: 28px;
  background-color: var(--color-surface);
  -webkit-box-shadow: 0 40px 100px rgba(0, 0, 0, 0.35);
          box-shadow: 0 40px 100px rgba(0, 0, 0, 0.35);
  -webkit-animation: modal-in 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
          animation: modal-in 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}
body.page-template-template-homehomepage-php .modal {
  /* Barra de altura zero: mantém o X fixo enquanto o conteúdo rola */
}
body.page-template-template-homehomepage-php .modal__xbar {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  height: 0;
}
body.page-template-template-homehomepage-php .modal__x {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-pill);
  background-color: var(--color-primary);
  color: var(--color-branco);
  -webkit-transform: translate(-20px, 20px);
          transform: translate(-20px, 20px);
  -webkit-transition: opacity var(--t);
  transition: opacity var(--t);
}
body.page-template-template-homehomepage-php .modal__x:hover {
  opacity: 0.85;
}
body.page-template-template-homehomepage-php .modal__x:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}
body.page-template-template-homehomepage-php .modal__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 0;
  padding: var(--sp-16);
}
body.page-template-template-homehomepage-php .modal__head {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-8);
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  margin-bottom: var(--sp-10);
}
body.page-template-template-homehomepage-php .modal__text {
  padding-top: var(--sp-2);
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .modal {
  /* Grade de mídia (Comunidade, Experiências e Inovação): estica e os
     quadros preenchem toda a altura livre. */
}
body.page-template-template-homehomepage-php .modal__media {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-6);
  min-height: 0;
}
body.page-template-template-homehomepage-php .modal__frame {
  height: 100%;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background-color: var(--color-areia);
}
body.page-template-template-homehomepage-php .modal__frame-media {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .modal .modal__body {
    padding: var(--sp-8);
  }
  body.page-template-template-homehomepage-php .modal .modal__head {
    grid-template-columns: 1fr;
    gap: var(--sp-4);
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .modal .modal__media {
    grid-template-columns: 1fr;
  }
  body.page-template-template-homehomepage-php .modal .modal__text {
    font-size: var(--fs-body-deci);
  }
}
@-webkit-keyframes modal-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modal-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes modal-in {
  from {
    opacity: 0;
    -webkit-transform: translateY(18px) scale(0.985);
            transform: translateY(18px) scale(0.985);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes modal-in {
  from {
    opacity: 0;
    -webkit-transform: translateY(18px) scale(0.985);
            transform: translateY(18px) scale(0.985);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
body.page-template-template-homehomepage-php .tag-gallery {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 0;
}
body.page-template-template-homehomepage-php .tag-gallery__tags {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: var(--sp-2);
  margin-bottom: var(--sp-6);
}
body.page-template-template-homehomepage-php .tag-gallery__stage {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
}
body.page-template-template-homehomepage-php .tag-gallery__slide {
  display: none;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
body.page-template-template-homehomepage-php .tag-gallery__slide.is-active {
  display: block;
  -webkit-animation: slide-fade 0.4s ease;
          animation: slide-fade 0.4s ease;
}
body.page-template-template-homehomepage-php .tag-gallery__slide--bottom {
  -o-object-position: bottom;
     object-position: bottom;
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .tag-gallery {
    /* Tags em carrossel horizontal — sem quebrar linha */
  }
  body.page-template-template-homehomepage-php .tag-gallery .tag-gallery__tags {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  body.page-template-template-homehomepage-php .tag-gallery .tag-gallery__tags::-webkit-scrollbar {
    display: none;
  }
}
body.page-template-template-homehomepage-php .chip {
  padding: 10px var(--sp-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background-color: var(--color-surface);
  font-size: var(--fs-ui-deci);
  color: var(--color-text);
  -webkit-transition: background-color var(--t), border-color var(--t), color var(--t);
  transition: background-color var(--t), border-color var(--t), color var(--t);
}
body.page-template-template-homehomepage-php .chip:hover {
  border-color: var(--color-pedra);
}
body.page-template-template-homehomepage-php .chip.is-active {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-branco);
}
body.page-template-template-homehomepage-php .chip:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .chip {
    -webkit-box-flex: 0;
    -webkit-flex: none;
        -ms-flex: none;
            flex: none;
    white-space: nowrap;
  }
}
@-webkit-keyframes slide-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slide-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
body.page-template-template-homehomepage-php .tag-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-pill);
  background-color: rgba(255, 255, 255, 0.92);
  color: var(--color-primary);
  -webkit-box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
          box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: background-color var(--t), -webkit-transform var(--t);
  transition: background-color var(--t), -webkit-transform var(--t);
  transition: background-color var(--t), transform var(--t);
  transition: background-color var(--t), transform var(--t), -webkit-transform var(--t);
}
body.page-template-template-homehomepage-php .tag-nav--prev {
  left: var(--sp-4);
}
body.page-template-template-homehomepage-php .tag-nav--next {
  right: var(--sp-4);
}
body.page-template-template-homehomepage-php .tag-nav:hover {
  background-color: var(--color-branco);
  -webkit-transform: translateY(-50%) scale(1.06);
          transform: translateY(-50%) scale(1.06);
}
body.page-template-template-homehomepage-php .tag-nav:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  body.page-template-template-homehomepage-php .modal__scrim,
  body.page-template-template-homehomepage-php .modal__panel {
    -webkit-animation: none;
            animation: none;
  }
  body.page-template-template-homehomepage-php .tag-gallery__slide.is-active {
    -webkit-animation: none;
            animation: none;
  }
  body.page-template-template-homehomepage-php .tag-nav:hover {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
body.page-template-template-homehomepage-php .comunidade {
  position: relative;
  isolation: isolate;
  padding-block: var(--sp-section);
  padding-inline: var(--grid-margin);
  background-color: var(--color-bg);
  /* O SVG é injetado pelo comunidade.js */
}
body.page-template-template-homehomepage-php .comunidade__symbol {
  position: absolute;
  left: 0;
  top: -18rem;
  z-index: 0;
  width: 64rem;
  max-width: none;
  -webkit-transform: translateX(-32%);
          transform: translateX(-32%);
  opacity: 0.12;
  pointer-events: none;
}
body.page-template-template-homehomepage-php .comunidade__inner {
  position: relative;
  z-index: 1;
  max-width: var(--grid-max);
  margin-inline: auto;
}
body.page-template-template-homehomepage-php .comunidade__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-20);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
body.page-template-template-homehomepage-php .comunidade__content {
  max-width: 88%;
}
body.page-template-template-homehomepage-php .comunidade__eyebrow {
  margin-bottom: var(--sp-6);
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .comunidade__title {
  margin-bottom: var(--sp-8);
}
body.page-template-template-homehomepage-php .comunidade__text {
  margin-bottom: var(--sp-6);
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .comunidade {
  /* ── Lista de traços ── */
}
body.page-template-template-homehomepage-php .comunidade__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-4);
  margin-bottom: var(--sp-8);
}
body.page-template-template-homehomepage-php .comunidade__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--sp-4);
}
body.page-template-template-homehomepage-php .comunidade__check {
  -webkit-box-flex: 0;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
  margin-top: 6px;
}
body.page-template-template-homehomepage-php .comunidade__item-text {
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .comunidade__cta {
  margin-top: var(--sp-8);
}
body.page-template-template-homehomepage-php .comunidade {
  /* ── Mídia ── */
}
body.page-template-template-homehomepage-php .comunidade__media {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, var(--color-areia), var(--color-pedra));
}
body.page-template-template-homehomepage-php .comunidade__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-template-homehomepage-php .comunidade {
  /* ── Cartão de depoimento ── */
}
body.page-template-template-homehomepage-php .comunidade__card {
  position: absolute;
  left: var(--sp-8);
  right: var(--sp-8);
  bottom: var(--sp-8);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 85%;
  padding: var(--sp-6);
  border-radius: var(--radius-lg);
  background-color: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}
body.page-template-template-homehomepage-php .comunidade__card-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--sp-6);
  margin-bottom: var(--sp-2);
}
body.page-template-template-homehomepage-php .comunidade__card-label {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .comunidade__stars {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none;
  gap: 2px;
  color: #c8a24a;
}
body.page-template-template-homehomepage-php .comunidade__card-quote {
  font-family: var(--font-display);
  font-weight: var(--weight-title);
  letter-spacing: var(--tracking-title);
  line-height: 1.35;
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .comunidade {
    padding-block: var(--sp-20);
    /* Sai do nível da seção (onde ficaria atrás da mídia) e passa a sangrar
       pela direita, atrás do título */
  }
  body.page-template-template-homehomepage-php .comunidade .comunidade__symbol {
    left: auto;
    right: 0;
    top: auto;
    width: 30rem;
    -webkit-transform: translateX(36%);
            transform: translateX(36%);
    opacity: 0.14;
  }
  body.page-template-template-homehomepage-php .comunidade .comunidade__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-12);
  }
  body.page-template-template-homehomepage-php .comunidade {
    /* No mobile a mídia abre a seção */
  }
  body.page-template-template-homehomepage-php .comunidade .comunidade__media {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    min-height: 560px;
  }
  body.page-template-template-homehomepage-php .comunidade .comunidade__content {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    max-width: none;
  }
  body.page-template-template-homehomepage-php .comunidade .comunidade__card {
    left: var(--sp-6);
    right: var(--sp-6);
    bottom: var(--sp-6);
    width: auto;
    max-width: none;
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .comunidade .comunidade__title {
    font-size: var(--fs-t1);
  }
}
body.page-template-template-homehomepage-php {
  /*
     Convite — tela cheia com vídeo de fundo e véu preto. O véu não é decoração:
     sem ele o texto branco não se sustenta sobre o vídeo.
  */
}
body.page-template-template-homehomepage-php .convite {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 100vh;
  overflow: hidden;
  padding-inline: var(--grid-margin);
  background-color: var(--color-bg-dark);
  /* svh evita o "pulo" causado pela barra do navegador no celular */
}
@supports (min-height: 100svh) {
  body.page-template-template-homehomepage-php .convite {
    min-height: 100svh;
  }
}
body.page-template-template-homehomepage-php .convite__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
}
body.page-template-template-homehomepage-php .convite__veil {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
}
body.page-template-template-homehomepage-php .convite__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 56rem;
  margin-inline: auto;
  padding-block: var(--sp-24);
  text-align: center;
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .convite__title {
  margin-bottom: var(--sp-12);
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .convite__text {
  margin-bottom: var(--sp-10);
  color: rgba(255, 255, 255, 0.75);
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .convite {
    /* 100vh fica desproporcional em tela pequena — usa uma fração menor */
    min-height: 78vh;
  }
  @supports (min-height: 78svh) {
    body.page-template-template-homehomepage-php .convite {
      min-height: 78svh;
    }
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .convite .convite__title {
    font-size: var(--fs-t3);
    line-height: 1.2;
  }
}
body.page-template-template-homehomepage-php {
  /*
     Newsletter — cartão branco em duas colunas: texto e promessas à esquerda,
     formulário à direita. O símbolo da marca fica no canto inferior direito,
     recortado pelo cartão.
  */
}
body.page-template-template-homehomepage-php .newsletter {
  padding-top: var(--sp-20);
  padding-bottom: var(--sp-12);
  padding-inline: var(--grid-margin);
  background-color: var(--color-bg);
}
body.page-template-template-homehomepage-php .newsletter__inner {
  max-width: var(--grid-max);
  margin-inline: auto;
}
body.page-template-template-homehomepage-php .newsletter__card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-20);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: var(--sp-20) var(--sp-16);
  border-radius: var(--radius-xl);
  background-color: var(--color-surface);
  -webkit-box-shadow: var(--shadow-surface);
          box-shadow: var(--shadow-surface);
}
body.page-template-template-homehomepage-php .newsletter {
  /* O SVG é injetado pelo assets/src/js/pages/home/sections/newsletter.js */
}
body.page-template-template-homehomepage-php .newsletter__symbol {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 40rem;
  max-width: none;
  -webkit-transform: translate(8%, 18%);
          transform: translate(8%, 18%);
  opacity: 0.13;
  pointer-events: none;
}
body.page-template-template-homehomepage-php .newsletter__content, body.page-template-template-homehomepage-php .newsletter__form-col {
  position: relative;
  z-index: 1;
  min-width: 0;
}
body.page-template-template-homehomepage-php .newsletter__eyebrow {
  margin-bottom: var(--sp-6);
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .newsletter__title {
  margin-bottom: var(--sp-6);
}
body.page-template-template-homehomepage-php .newsletter__text {
  margin-bottom: var(--sp-6);
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .newsletter {
  /* ── Promessas ── */
}
body.page-template-template-homehomepage-php .newsletter__promises {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2) var(--sp-6);
  color: var(--color-text-muted);
}
body.page-template-template-homehomepage-php .newsletter__promise {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sp-2);
}
body.page-template-template-homehomepage-php .newsletter__bullet {
  width: 6px;
  height: 6px;
  border-radius: var(--radius-pill);
  background-color: var(--color-pedra);
}
body.page-template-template-homehomepage-php .newsletter {
  /* ── Formulário ──
     .newsletter-form__* (input/row/submit) é estilo global — ver _base.scss:
     o mesmo shortcode CF7 é usado aqui e no rodapé, então essas classes vêm
     do form-tag do CF7, não da seção. Sobre fundo claro (esta seção) usa a
     variante --light do input. */
}
body.page-template-template-homehomepage-php .newsletter__form {
  min-width: 0;
}
body.page-template-template-homehomepage-php .newsletter__msg {
  padding: var(--sp-5);
  border: 1px solid var(--color-border);
  background-color: #f6f7f9;
}
body.page-template-template-homehomepage-php .newsletter__msg--error {
  border-color: var(--color-pedra);
}
body.page-template-template-homehomepage-php .newsletter__msg-text, body.page-template-template-homehomepage-php .newsletter__note {
  font-size: var(--fs-body-centi);
  color: var(--color-text-muted);
  line-height: var(--lh-body);
}
body.page-template-template-homehomepage-php .newsletter__note {
  padding-top: var(--sp-4);
  font-size: var(--fs-ui-centi);
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .newsletter .newsletter__card {
    grid-template-columns: 1fr;
    gap: var(--sp-10);
    padding: var(--sp-14) var(--sp-8);
  }
  body.page-template-template-homehomepage-php .newsletter {
    /* No mobile o símbolo vai para o topo, onde há espaço livre */
  }
  body.page-template-template-homehomepage-php .newsletter .newsletter__symbol {
    top: 0;
    bottom: auto;
    width: 22rem;
    -webkit-transform: translate(10%, -22%);
            transform: translate(10%, -22%);
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .newsletter .newsletter-form__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  body.page-template-template-homehomepage-php .newsletter .newsletter-form__submit {
    width: 100%;
  }
  body.page-template-template-homehomepage-php .newsletter {
    /* Empilhada: com flex-wrap sozinho a quebra fica irregular nesta largura */
  }
  body.page-template-template-homehomepage-php .newsletter .newsletter__promises {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
body.page-template-template-homehomepage-php {
  /*
     Contato — imagem à esquerda com legenda sobre véu, formulário à direita em
     bloco azul com o símbolo da marca no canto.
  */
}
body.page-template-template-homehomepage-php .contato {
  padding-block: var(--sp-section);
  padding-inline: var(--grid-margin);
  background-color: var(--color-bg);
}
body.page-template-template-homehomepage-php .contato__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-8);
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  max-width: var(--grid-max);
  margin-inline: auto;
}
body.page-template-template-homehomepage-php .contato {
  /* ── Coluna da imagem ── */
}
body.page-template-template-homehomepage-php .contato__media {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, var(--color-areia), var(--color-pedra));
}
body.page-template-template-homehomepage-php .contato__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.page-template-template-homehomepage-php .contato__veil {
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.65)), color-stop(50%, rgba(0, 0, 0, 0.1)), to(transparent));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.1) 50%, transparent);
  pointer-events: none;
}
body.page-template-template-homehomepage-php .contato__caption {
  position: absolute;
  left: var(--sp-12);
  right: var(--sp-12);
  bottom: var(--sp-12);
  color: rgba(255, 255, 255, 0.7);
}
body.page-template-template-homehomepage-php .contato {
  /* ── Coluna do formulário ── */
}
body.page-template-template-homehomepage-php .contato__panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: var(--sp-12);
  border-radius: var(--radius-xl);
  background-color: var(--color-bg-dark);
}
body.page-template-template-homehomepage-php .contato {
  /* O SVG é injetado por assets/src/js/pages/home/sections/contato.js */
}
body.page-template-template-homehomepage-php .contato__symbol {
  position: absolute;
  top: -1rem;
  right: -3rem;
  z-index: 0;
  width: 28rem;
  max-width: none;
  opacity: 0.1;
  pointer-events: none;
}
body.page-template-template-homehomepage-php .contato__eyebrow, body.page-template-template-homehomepage-php .contato__title, body.page-template-template-homehomepage-php .contato__text, body.page-template-template-homehomepage-php .contato__form {
  position: relative;
  z-index: 1;
}
body.page-template-template-homehomepage-php .contato__eyebrow {
  margin-bottom: var(--sp-6);
  color: rgba(255, 255, 255, 0.6);
}
body.page-template-template-homehomepage-php .contato__title {
  margin-bottom: var(--sp-5);
  line-height: 1.35;
  color: var(--color-text-invert);
}
body.page-template-template-homehomepage-php .contato__text {
  margin-bottom: var(--sp-10);
  color: rgba(255, 255, 255, 0.6);
}
body.page-template-template-homehomepage-php .contato {
  /* .contato__form envolve o <form> gerado pelo CF7 (ver
     sections/home/contato.php) — por isso o flex/gap mira o .wpcf7-form,
     não a própria div, para alcançar os campos um nível abaixo. */
}
body.page-template-template-homehomepage-php .contato__form .wpcf7-form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--sp-5);
}
body.page-template-template-homehomepage-php .contato__field {
  border-radius: var(--radius-lg);
}
body.page-template-template-homehomepage-php .contato {
  /* O CF7 (wpautop) envolve label+campo num único <p> com um <br> entre os
     dois — sem isso o label ficaria colado no campo, sem o respiro do
     margin-bottom de .field-label. */
}
body.page-template-template-homehomepage-php .contato__form .wpcf7-form > div > p {
  margin: 0;
}
body.page-template-template-homehomepage-php .contato__form .wpcf7-form .field-label + br {
  display: none;
}
body.page-template-template-homehomepage-php .contato__textarea {
  min-height: 128px;
  resize: vertical;
}
body.page-template-template-homehomepage-php .contato {
  /* O checkbox de consentimento é o [acceptance] do CF7 (ver ACF →
     Formulários → Contato): a marcação (label > input + span) é gerada pelo
     plugin, então estilizamos as classes nativas dele, não .contato__consent. */
}
body.page-template-template-homehomepage-php .contato .wpcf7-acceptance .wpcf7-list-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--sp-4);
  padding-block: var(--sp-1);
  margin: 0;
  cursor: pointer;
}
body.page-template-template-homehomepage-php .contato .wpcf7-list-item-label {
  font-size: var(--fs-body-centi);
  line-height: var(--lh-body);
  color: rgba(255, 255, 255, 0.55);
}
body.page-template-template-homehomepage-php .contato__consent-link {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: underline;
  text-underline-offset: 2px;
}
body.page-template-template-homehomepage-php .contato__consent-link:hover {
  color: var(--color-branco);
}
body.page-template-template-homehomepage-php .contato__submit {
  width: 100%;
  margin-top: var(--sp-1);
  border-radius: var(--radius-lg);
}
body.page-template-template-homehomepage-php .contato__msg {
  padding: var(--sp-5);
  border: 1px solid rgba(255, 255, 255, 0.15);
  background-color: rgba(255, 255, 255, 0.1);
}
body.page-template-template-homehomepage-php .contato__msg--error {
  border-color: rgba(255, 255, 255, 0.25);
}
body.page-template-template-homehomepage-php .contato__msg-text {
  font-size: var(--fs-body-centi);
  line-height: var(--lh-body);
  color: rgba(255, 255, 255, 0.7);
}
@media (max-width: 1024px) {
  body.page-template-template-homehomepage-php .contato .contato__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-6);
  }
  body.page-template-template-homehomepage-php .contato .contato__media {
    min-height: 480px;
  }
  body.page-template-template-homehomepage-php .contato {
    /* Sem espaço para a legenda respirar sobre a imagem mais baixa do mobile */
  }
  body.page-template-template-homehomepage-php .contato .contato__caption {
    display: none;
  }
  body.page-template-template-homehomepage-php .contato .contato__panel {
    padding: var(--sp-8);
  }
  body.page-template-template-homehomepage-php .contato .contato__symbol {
    width: 18rem;
    right: -2rem;
  }
}
@media (max-width: 768px) {
  body.page-template-template-homehomepage-php .contato .contato__title {
    font-size: var(--fs-t4);
  }
}
/*# sourceMappingURL=home.css.map */
