/* Navegação legal compartilhada entre a home e as páginas institucionais. */
@font-face {
  font-family: "Marcha Sans Regular";
  src: url("/fonts/marcha-regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

/* A antiga opção de alto volume foi retirada da grade Framer da home. */
html.marcha-global-shell .framer-1upq14r-container {
  display: none !important;
}

@font-face {
  font-family: "Marcha Sans Black";
  src: url("/fonts/marcha-black.woff2") format("woff2");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

/* Impede o header exportado pelo Framer de piscar antes do header global. */
[data-framer-root] .framer-zfz8wt-container {
  display: none !important;
}

/* Aberturas/transicoes rosas foram removidas de todas as rotas. A regra
   tambem neutraliza uma versao antiga que ainda possa estar em cache. */
.marcha-route-pink-transition,
.framer-Cjjpy .framer-bj9637-container {
  display: none !important;
}

.framer-1y56cfp a[data-policy-link="1"] {
  display: none !important;
}

/* Selo institucional exibido somente no rodape da landing page. */
.marcha-abfintechs-seal {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0;
}

.marcha-abfintechs-seal img {
  display: block;
  width: 112px;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  mix-blend-mode: screen;
}

.marcha-trust-badges {
  width: max-content !important;
  max-width: 100% !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 20px !important;
}

.marcha-legal-menu {
  position: relative;
  padding-bottom: 8px;
  margin-bottom: -8px;
}

.framer-tn8vg-container {
  display: none !important;
}

.marcha-home-solutions-menu {
  position: relative;
}

.marcha-home-solutions-panel {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  z-index: 230;
  display: grid;
  grid-template-columns: 332px minmax(390px, 1fr);
  gap: 28px;
  width: min(820px, calc(100vw - 32px));
  padding: 24px;
  border: 1px solid rgba(119, 119, 119, .3);
  background: rgb(250, 251, 243);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .12);
  color: rgb(42, 42, 42);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  pointer-events: none;
}

.marcha-home-solutions-panel::before {
  content: "";
  position: absolute;
  top: -30px;
  right: 0;
  left: 0;
  height: 30px;
}

.marcha-home-solutions-menu:hover .marcha-home-solutions-panel,
.marcha-home-solutions-menu.marcha-hover-open .marcha-home-solutions-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.marcha-home-solutions-feature {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: rgba(17, 17, 17, .03);
  color: inherit;
  text-decoration: none;
}

.marcha-home-solutions-image {
  display: block;
  width: 100%;
  aspect-ratio: 1.75 / 1;
  background-image: url("/framerusercontent.com/images/saF8i7TfjICN2atoSEOswjI1VxUc65e.png");
  background-position: center;
  background-size: cover;
}

.marcha-home-solutions-feature-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: 18px 20px 20px;
}

.marcha-home-solutions-feature strong {
  font-family: "Marcha Sans Black", "Marcha Sans Regular", sans-serif;
  font-size: 21px;
  letter-spacing: -.03em;
  line-height: 1.1;
}

.marcha-home-solutions-feature-body > span {
  color: rgb(119, 119, 119);
  font-family: "Space Mono", monospace;
  font-size: 11px;
  line-height: 1.55;
}

.marcha-home-solutions-feature em {
  margin-top: auto;
  color: #ff0070;
  font-size: 14px;
  font-style: normal;
}

.marcha-home-solutions-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  padding-top: 5px;
}

.marcha-home-solutions-column {
  display: flex;
  flex-direction: column;
}

.marcha-home-solutions-title {
  margin-bottom: 8px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(119, 119, 119, .3);
  color: rgb(119, 119, 119);
  font-family: "Space Mono", monospace;
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.marcha-home-solutions-link {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 0;
  color: inherit;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

.marcha-home-solutions-link .mnav-ico {
  display: inline-flex;
  flex: 0 0 28px;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(17, 17, 17, .05);
  font-family: "Space Mono", monospace;
  font-size: 12px;
}

.marcha-home-solutions-link:hover .mnav-item-label,
.marcha-home-solutions-link:focus-visible .mnav-item-label {
  color: #ff0070;
}

.marcha-home-solutions-link:focus-visible,
.marcha-home-solutions-feature:focus-visible {
  outline: 2px solid #ff0070;
  outline-offset: 3px;
}

/* Painel de Conteudos da home, alinhado ao mesmo sistema visual do menu Solucoes. */
.marcha-home-content-menu,
.marcha-home-company-menu {
  position: relative;
}

.marcha-home-content-panel,
.marcha-home-company-panel {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  z-index: 230;
  display: grid;
  grid-template-columns: 306px minmax(270px, 1fr);
  gap: 28px;
  width: min(680px, calc(100vw - 32px));
  padding: 24px;
  border: 1px solid rgba(119, 119, 119, .3);
  background: rgb(250, 251, 243);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .12);
  color: rgb(42, 42, 42);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  pointer-events: none;
}

.marcha-home-content-panel::before,
.marcha-home-company-panel::before {
  content: "";
  position: absolute;
  top: -30px;
  right: 0;
  left: 0;
  height: 30px;
}

.marcha-home-content-menu:hover .marcha-home-content-panel,
.marcha-home-content-menu.marcha-hover-open .marcha-home-content-panel,
.marcha-home-company-menu:hover .marcha-home-company-panel,
.marcha-home-company-menu.marcha-hover-open .marcha-home-company-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.marcha-home-content-feature {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: rgba(17, 17, 17, .03);
  color: inherit;
  text-decoration: none;
}

.marcha-home-content-image {
  display: block;
  width: 100%;
  aspect-ratio: 1.75 / 1;
  background-image: url("/framerusercontent.com/images/P7387hp6M9uKz13RQdwcgjZ9j4bd31.png");
  background-position: center;
  background-size: cover;
}

.marcha-home-company-image {
  background-image: url("/framerusercontent.com/images/t03nKeSrPTLU6UDwlI1cVMErBxga400.png");
}

.marcha-home-content-feature-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: 18px 20px 20px;
}

.marcha-home-content-feature strong {
  font-family: "Marcha Sans Black", "Marcha Sans Regular", sans-serif;
  font-size: 21px;
  letter-spacing: -.03em;
  line-height: 1.1;
}

.marcha-home-content-feature-body > span {
  color: rgb(119, 119, 119);
  font-family: "Space Mono", monospace;
  font-size: 11px;
  line-height: 1.55;
}

.marcha-home-content-feature em {
  margin-top: auto;
  color: #ff0070;
  font-size: 14px;
  font-style: normal;
}

.marcha-home-content-links {
  display: flex;
  flex-direction: column;
  padding-top: 5px;
}

.marcha-home-content-title {
  margin-bottom: 8px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(119, 119, 119, .3);
  color: rgb(119, 119, 119);
  font-family: "Space Mono", monospace;
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.marcha-home-content-link {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 0;
  color: inherit;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

.marcha-home-content-link .mnav-ico {
  display: inline-flex;
  flex: 0 0 28px;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(17, 17, 17, .05);
  font-family: "Space Mono", monospace;
  font-size: 12px;
}

.marcha-home-content-link:hover .mnav-item-label,
.marcha-home-content-link:focus-visible .mnav-item-label {
  color: #ff0070;
}

.marcha-home-content-link:focus-visible,
.marcha-home-content-feature:focus-visible {
  outline: 2px solid #ff0070;
  outline-offset: 3px;
}

/* Mantem o hover ativo no pequeno trajeto entre o item do header e o painel. */
@media (hover: hover) and (pointer: fine) {
  .marcha-home-menu-bridge::after,
  .marcha-legal-menu::after {
    content: "";
    position: absolute;
    top: 100%;
    right: -16px;
    left: -16px;
    z-index: 1;
    height: 30px;
    pointer-events: auto;
  }

  .mnav .mnav-dd::after {
    content: "";
    position: absolute;
    top: 100%;
    right: -16px;
    left: -16px;
    z-index: 199;
    height: 30px;
    pointer-events: auto;
  }
}

@media (max-width: 900px) {
  .marcha-home-solutions-panel {
    grid-template-columns: 280px minmax(340px, 1fr);
    width: min(700px, calc(100vw - 24px));
  }

  .marcha-home-content-panel,
  .marcha-home-company-panel {
    grid-template-columns: 270px minmax(250px, 1fr);
    width: min(620px, calc(100vw - 24px));
  }
}

@media (max-width: 767px) {
  .marcha-home-solutions-panel,
  .marcha-home-content-panel,
  .marcha-home-company-panel {
    display: none;
  }
}

.marcha-legal-trigger {
  appearance: none;
  background: none;
  border: 0;
  color: rgb(42, 42, 42);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: "Marcha Sans Regular", "Helvetica Neue", sans-serif;
  font-size: 15px;
  letter-spacing: -0.02em;
  padding: 8px 0;
}

/* Link direto de precos compartilhado por todos os cabecalhos. */
.marcha-price-nav-link,
.mnav .mnav-price-link {
  display: inline-flex;
  align-items: center;
  min-height: 37px;
  color: rgb(42, 42, 42);
  font-family: "Marcha Sans Regular", "Helvetica Neue", sans-serif;
  font-size: 16px;
  letter-spacing: -.02em;
  line-height: 1;
  text-decoration: none;
  transition: color .18s ease;
}

.marcha-price-nav-link:hover,
.marcha-price-nav-link:focus-visible,
.mnav .mnav-price-link:hover,
.mnav .mnav-price-link:focus-visible,
.marcha-price-nav-link[aria-current="page"],
.mnav .mnav-price-link[aria-current="page"] {
  color: #ff0070;
}

.marcha-price-nav-link:focus-visible,
.mnav .mnav-price-link:focus-visible,
.mnav .mnav-price-mobile:focus-visible {
  outline: 2px solid #ff0070;
  outline-offset: 4px;
}

/* O CTA de cadastro permanece acid e assume o rosa da Marcha no hover. */
#__mnav .mnav-signup,
#__mnav .mnav-msignup,
.framer-zfz8wt-container a[href="https://app.somosmarcha.com/register"] {
  transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

#__mnav .mnav-signup:hover,
#__mnav .mnav-signup:focus-visible,
#__mnav .mnav-msignup:hover,
#__mnav .mnav-msignup:focus-visible,
.framer-zfz8wt-container a[href="https://app.somosmarcha.com/register"]:hover,
.framer-zfz8wt-container a[href="https://app.somosmarcha.com/register"]:focus-visible {
  border-color: #ff0070 !important;
  background-color: #ff0070 !important;
  color: #fff !important;
}

.mnav .mnav-price-mobile {
  display: block;
  margin: 0 24px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(119, 119, 119, .3);
  color: rgb(42, 42, 42);
  font-family: "Marcha Sans Regular", "Helvetica Neue", sans-serif;
  font-size: 25px;
  letter-spacing: -.04em;
  text-decoration: none;
}

.mnav .mnav-price-mobile[aria-current="page"] {
  color: #ff0070;
}

.marcha-legal-caret {
  font-family: "Space Mono", monospace;
  font-size: 10px;
  opacity: .5;
}

.marcha-legal-panel {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  width: min(720px, calc(100vw - 40px));
  padding: 24px;
  background: rgb(250, 251, 243);
  border: 1px solid rgba(119, 119, 119, .3);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .08);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: opacity .2s, transform .2s, visibility .2s;
  pointer-events: none;
  z-index: 220;
}

.marcha-legal-panel::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  height: 30px;
}

.marcha-legal-menu:hover .marcha-legal-panel,
.marcha-legal-menu.marcha-hover-open .marcha-legal-panel,
.marcha-legal-menu.open .marcha-legal-panel {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

.marcha-legal-title {
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(119, 119, 119, .3);
  color: rgb(119, 119, 119);
  font-family: "Space Mono", monospace;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.marcha-legal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
}

.marcha-legal-link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  color: rgb(42, 42, 42);
  font-family: "Marcha Sans Regular", "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
  text-decoration: none;
}

.marcha-legal-link::before {
  content: "§";
  width: 27px;
  height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: rgba(17, 17, 17, .05);
  color: rgb(42, 42, 42);
  font-family: "Space Mono", monospace;
  font-size: 11px;
}

.marcha-legal-link:hover {
  color: rgb(255, 0, 112);
}

/* Ajustes para o menu institucional já existente nas páginas internas. */
.mnav .mnav-legal-panel {
  left: 50%;
  width: 720px;
  transform: translate(-50%, 8px);
}

.mnav .mnav-dd:hover .mnav-legal-panel {
  transform: translate(-50%, 0);
}

.mnav .mnav-panel::before {
  top: -30px !important;
  height: 30px !important;
}

.mnav .mnav-dd.marcha-hover-open .mnav-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.mnav .mnav-dd.marcha-hover-open .mnav-legal-panel {
  transform: translate(-50%, 0);
}

.mnav .mnav-legal-panel .mnav-panel-inner,
.mnav .mnav-legal-panel .mnav-cols {
  width: 100%;
}

.mnav .mnav-legal-panel .mnav-item {
  align-items: flex-start;
}

@media (max-width: 767px) {
  .marcha-abfintechs-seal {
    justify-content: center;
    padding: 0;
  }

  .marcha-abfintechs-seal img {
    width: 104px;
  }

  .marcha-trust-badges {
    width: 100% !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
  }

  .marcha-legal-grid {
    grid-template-columns: 1fr;
  }

  .marcha-legal-panel {
    display: none;
  }

  .mnav .mnav-legal-mobile .mnav-item {
    align-items: flex-start;
  }
}

/* CTA final, unido visualmente ao rodape em todas as paginas. */
.marcha-footer-cta {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 96px 24px 94px !important;
  border: 0 !important;
  background: #080808 !important;
  color: #fff !important;
  text-align: center !important;
}

.marcha-footer-cta .pricing-container {
  display: flex !important;
  width: min(1180px, 100%) !important;
  margin: 0 auto !important;
  flex-direction: column !important;
  align-items: center !important;
}

.marcha-footer-cta .pricing-eyebrow {
  margin: 0 0 25px !important;
  color: rgba(255, 255, 255, .48) !important;
  font-family: "Space Mono", monospace !important;
  font-size: 10px !important;
  letter-spacing: .28em !important;
  line-height: 1.2 !important;
}

.marcha-footer-cta h2 {
  max-width: 760px !important;
  margin: 0 !important;
  color: #fff !important;
  font-family: "Marcha Sans Black", "Marcha Sans Regular", "Helvetica Neue", sans-serif !important;
  font-size: clamp(48px, 6vw, 76px) !important;
  font-weight: 900 !important;
  letter-spacing: -.055em !important;
  line-height: .98 !important;
}

.marcha-footer-cta .pricing-container > p:not(.pricing-eyebrow) {
  max-width: 680px !important;
  margin: 25px 0 0 !important;
  color: rgba(255, 255, 255, .68) !important;
  font-family: "Marcha Sans Regular", "Helvetica Neue", sans-serif !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
}

.marcha-footer-cta .pricing-actions {
  display: flex !important;
  gap: 12px !important;
  margin-top: 34px !important;
}

.marcha-footer-cta .pricing-button {
  display: inline-flex !important;
  min-height: 52px !important;
  padding: 0 24px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255, 255, 255, .32) !important;
  color: #fff !important;
  font-family: "Marcha Sans Regular", "Helvetica Neue", sans-serif !important;
  font-size: 16px !important;
  text-decoration: none !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease !important;
}

.marcha-footer-cta .pricing-button-primary {
  border-color: #dfff00 !important;
  background: #dfff00 !important;
  color: #111 !important;
}

.marcha-footer-cta .pricing-button:hover,
.marcha-footer-cta .pricing-button:focus-visible {
  border-color: #ff0070 !important;
  background: #ff0070 !important;
  color: #fff !important;
}

/* Rodape final: a versao aprovada em Precos e compartilhada por todo o site. */
.marcha-final-footer,
.marcha-final-footer.marcha-footer-compact {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 50px 0 24px !important;
  border: 0 !important;
  background: #080808 !important;
  color: #fff !important;
}

.marcha-final-footer .pricing-footer-inner {
  width: min(1380px, calc(100% - 64px)) !important;
  margin: 0 auto !important;
}

.marcha-final-footer .pricing-footer-columns {
  display: grid !important;
  grid-template-columns: 1.08fr 1fr .86fr .86fr .78fr .72fr 1.28fr !important;
  gap: 26px !important;
}

.marcha-final-footer .pricing-footer-columns > div {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.marcha-final-footer h2 {
  margin: 0 0 14px !important;
  color: #fff !important;
  font-family: "Marcha Sans Regular", "Helvetica Neue", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.marcha-final-footer a,
.marcha-final-footer span {
  font-family: "Marcha Sans Regular", "Helvetica Neue", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.marcha-final-footer .pricing-footer-columns a {
  margin: 0 0 10px !important;
  color: rgba(255, 255, 255, .86) !important;
  text-decoration: none !important;
  transition: color .16s ease !important;
}

.marcha-final-footer a:hover,
.marcha-final-footer a:focus-visible,
.marcha-final-footer .pricing-footer-documentation:hover,
.marcha-final-footer .pricing-footer-documentation:focus-visible {
  color: #ff0070 !important;
}

.marcha-final-footer a:focus-visible {
  outline: 2px solid #ff0070 !important;
  outline-offset: 3px !important;
}

.marcha-final-footer .pricing-footer-contact strong {
  margin: 0 0 3px !important;
  color: #fff !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

.marcha-final-footer .pricing-footer-contact strong:not(:first-of-type) {
  margin-top: 10px !important;
}

.marcha-final-footer .pricing-footer-contact span {
  margin: -6px 0 4px !important;
  color: rgba(255, 255, 255, .55) !important;
  font-size: 12px !important;
}

.marcha-final-footer .pricing-footer-phone {
  color: #ff0070 !important;
  font-size: 19px !important;
  font-weight: 700 !important;
}

.marcha-final-footer .pricing-footer-apps {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-top: 28px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255, 255, 255, .12) !important;
}

.marcha-final-footer .pricing-app-links,
.marcha-final-footer .pricing-trust,
.marcha-final-footer .msoc-row {
  display: flex !important;
  align-items: center !important;
}

.marcha-final-footer .pricing-app-links {
  gap: 12px !important;
}

.marcha-final-footer .pricing-app-links strong {
  margin-right: 4px !important;
  font-size: 13px !important;
}

.marcha-final-footer .pricing-app-links a {
  display: inline-flex !important;
}

.marcha-final-footer .pricing-app-links img {
  display: block !important;
  width: 116px !important;
  height: 36px !important;
  object-fit: contain !important;
}

.marcha-final-footer .pricing-trust {
  gap: 20px !important;
}

.marcha-final-footer .pricing-trust > img {
  display: block !important;
  width: 94px !important;
  height: 94px !important;
  object-fit: contain !important;
}

.marcha-final-footer .pricing-ra-frame {
  display: block !important;
  width: 142px !important;
  height: 53px !important;
  border: 0 !important;
  background: transparent !important;
}

.marcha-final-footer .pricing-aws {
  display: inline-flex !important;
  width: 34px !important;
  height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255, 255, 255, .72) !important;
}

.marcha-final-footer .pricing-aws svg {
  display: block !important;
  width: 30px !important;
  height: 30px !important;
  fill: currentColor !important;
}

.marcha-final-footer .pricing-trust > img.pricing-pci-dss {
  display: block !important;
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
  object-fit: contain !important;
}

.marcha-final-footer .pricing-footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-top: 22px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

.marcha-final-footer .pricing-copyright {
  margin: 0 !important;
  color: rgba(255, 255, 255, .58) !important;
  font-family: "Marcha Sans Regular", "Helvetica Neue", sans-serif !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.marcha-final-footer .msoc-row {
  gap: 12px !important;
}

.marcha-final-footer .msoc {
  display: inline-flex !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .09) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: transform .18s ease, background .18s ease !important;
}

.marcha-final-footer .msoc:hover,
.marcha-final-footer .msoc:focus-visible {
  background: #ff0070 !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

.marcha-final-footer .msoc svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
}

.marcha-final-footer .pricing-footer-legal {
  margin-top: 20px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255, 255, 255, .48) !important;
}

.marcha-final-footer .pricing-footer-legal p {
  margin: 0 !important;
  color: inherit !important;
  font-family: "Marcha Sans Regular", "Helvetica Neue", sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .005em !important;
  line-height: 1.45 !important;
}

.marcha-final-footer .pricing-footer-legal .pricing-footer-company {
  display: flex !important;
  margin-bottom: 7px !important;
  flex-wrap: wrap !important;
  gap: 4px 8px !important;
  color: rgba(255, 255, 255, .68) !important;
  font-size: 10.5px !important;
}

.marcha-final-footer .pricing-footer-company strong {
  color: rgba(255, 255, 255, .9) !important;
}

@media (max-width: 1180px) {
  .marcha-final-footer .pricing-footer-columns {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    row-gap: 34px !important;
  }

  .marcha-final-footer .pricing-footer-contact {
    grid-column: span 2 !important;
  }
}

@media (max-width: 767px) {
  .marcha-footer-cta {
    padding: 72px 24px 70px !important;
  }

  .marcha-footer-cta h2 {
    font-size: clamp(40px, 13vw, 58px) !important;
  }

  .marcha-footer-cta .pricing-container > p:not(.pricing-eyebrow) {
    font-size: 16px !important;
  }

  .marcha-footer-cta .pricing-actions {
    width: 100% !important;
    flex-direction: column !important;
  }

  .marcha-footer-cta .pricing-button {
    width: 100% !important;
  }

  .marcha-final-footer,
  .marcha-final-footer.marcha-footer-compact {
    padding: 38px 0 22px !important;
  }

  .marcha-final-footer .pricing-footer-inner {
    width: min(100% - 40px, 1380px) !important;
  }

  .marcha-final-footer .pricing-footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 20px !important;
  }

  .marcha-final-footer .pricing-footer-contact {
    grid-column: 1 / -1 !important;
  }

  .marcha-final-footer .pricing-footer-apps {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .marcha-final-footer .pricing-app-links {
    flex-wrap: wrap !important;
  }

  .marcha-final-footer .pricing-app-links strong {
    width: 100% !important;
  }

  .marcha-final-footer .pricing-trust {
    width: 100% !important;
    flex-wrap: wrap !important;
  }

  .marcha-final-footer .pricing-footer-bottom {
    align-items: flex-start !important;
    flex-direction: column-reverse !important;
  }
}

@media (max-width: 480px) {
  .marcha-final-footer .pricing-footer-columns {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 768px) and (max-width: 1439px) {
  .marcha-price-nav-link,
  .mnav .mnav-price-link {
    font-size: 15px;
  }
}

/* O fallback nativo recebe suavidade apenas quando o Lenis nao esta ativo.
   Manter o comportamento global em auto evita disputa com restauracao de
   historico e com a transicao entre documentos. */
html {
  scroll-behavior: auto !important;
}

html.marcha-native-smooth {
  scroll-behavior: smooth !important;
}

/* A home ja usa o controlador de scroll do Framer. O smooth nativo global
   precisa ficar desligado ali para nao disputar cada quadro da rolagem. */
html.marcha-framer-scroll,
html.marcha-framer-scroll body {
  scroll-behavior: auto !important;
}

html.lenis,
html.lenis body {
  height: auto;
}

html.lenis {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

/* Cabecalho e faixa promocional globais, iguais em todas as rotas. */
html.marcha-global-shell .marcha-home-desktop-nav {
  display: none !important;
}

html.marcha-global-shell body > .pricing-revenue-banner {
  display: flex !important;
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 10010 !important;
  min-height: 60px !important;
  padding: 10px 24px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  border: 0 !important;
  background: #dfff00 !important;
  color: #111 !important;
  font-family: "Marcha Sans Regular", "Helvetica Neue", Arial, sans-serif !important;
}

html.marcha-global-shell body > .pricing-revenue-banner p {
  margin: 0 !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

html.marcha-global-shell body > .pricing-revenue-banner a {
  display: inline-flex !important;
  min-height: 38px !important;
  padding: 0 18px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid currentColor !important;
  border-radius: 999px !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}

html.marcha-global-shell body > .pricing-revenue-banner a:hover,
html.marcha-global-shell body > .pricing-revenue-banner a:focus-visible {
  border-color: #ff0070 !important;
  background: #ff0070 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

html.marcha-global-shell body > .pricing-revenue-banner svg {
  width: 17px !important;
  height: 17px !important;
  fill: currentColor !important;
}

html.marcha-global-shell body > #__mnav {
  position: fixed !important;
  inset: 60px 0 auto 0 !important;
  z-index: 10000 !important;
  width: 100% !important;
  border-bottom: 1px solid rgba(119, 119, 119, .3) !important;
  background: rgba(250, 251, 243, .97) !important;
  color: #2a2a2a !important;
  font-family: "Marcha Sans Regular", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  transform: none !important;
}

html.marcha-global-shell body:has(> .pricing-revenue-banner) {
  padding-top: 129px !important;
}

html.marcha-global-shell body > .pricing-revenue-banner,
html.marcha-global-shell body > #__mnav,
html.marcha-global-shell body > #__mnav *,
html.marcha-global-shell body > .pricing-revenue-banner * {
  box-sizing: border-box !important;
}

html.marcha-global-shell #__mnav .mnav-bar {
  display: grid !important;
  grid-template-columns: minmax(110px, 1fr) auto minmax(250px, 1fr) !important;
  width: 100% !important;
  max-width: 1500px !important;
  height: 68px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  align-items: center !important;
  column-gap: 24px !important;
  font-family: inherit !important;
  font-size: 16px !important;
}

html.marcha-global-shell #__mnav .mnav-logo {
  display: inline-flex !important;
  width: 88px !important;
  height: 48px !important;
  margin: 0 !important;
  align-items: center !important;
  justify-self: start !important;
}

html.marcha-global-shell #__mnav .mnav-logo img {
  display: block !important;
  width: 88px !important;
  height: auto !important;
}

html.marcha-global-shell #__mnav .mnav-links {
  display: flex !important;
  align-items: center !important;
  justify-self: center !important;
  gap: 32px !important;
}

html.marcha-global-shell #__mnav .mnav-dd {
  position: relative !important;
  margin-bottom: -8px !important;
  padding-bottom: 8px !important;
}

html.marcha-global-shell #__mnav .mnav-trigger,
html.marcha-global-shell #__mnav .mnav-price-link,
html.marcha-global-shell #__mnav .mnav-login,
html.marcha-global-shell #__mnav .mnav-signup {
  font-family: "Marcha Sans Regular", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  letter-spacing: -.02em !important;
}

html.marcha-global-shell #__mnav .mnav-trigger {
  display: inline-flex !important;
  min-height: 37px !important;
  padding: 0 !important;
  align-items: center !important;
  gap: 5px !important;
  border: 0 !important;
  background: transparent !important;
  color: #2a2a2a !important;
}

html.marcha-global-shell #__mnav .mnav-caret {
  color: #777 !important;
  font-family: "Space Mono", monospace !important;
  font-size: 9px !important;
}

html.marcha-global-shell #__mnav .mnav-cta {
  display: flex !important;
  margin: 0 !important;
  align-items: center !important;
  justify-self: end !important;
  gap: 24px !important;
}

html.marcha-global-shell #__mnav .mnav-login,
html.marcha-global-shell #__mnav .mnav-signup {
  color: #2a2a2a !important;
  text-decoration: none !important;
}

html.marcha-global-shell #__mnav .mnav-signup {
  display: inline-flex !important;
  min-height: 44px !important;
  padding: 0 24px !important;
  align-items: center !important;
  background: #dfff00 !important;
}

/* Estados interativos unificados dos dois CTAs do cabecalho. Esta regra fica
   depois da normalizacao global para nao ser anulada nas paginas internas. */
html.marcha-global-shell #__mnav .mnav-login,
html.marcha-global-shell #__mnav .mnav-signup,
html.marcha-global-shell #__mnav .mnav-mlogin,
html.marcha-global-shell #__mnav .mnav-msignup {
  transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

html.marcha-global-shell #__mnav .mnav-login:hover,
html.marcha-global-shell #__mnav .mnav-login:focus-visible,
html.marcha-global-shell #__mnav .mnav-mlogin:hover,
html.marcha-global-shell #__mnav .mnav-mlogin:focus-visible {
  color: #ff0070 !important;
}

html.marcha-global-shell #__mnav .mnav-signup:hover,
html.marcha-global-shell #__mnav .mnav-signup:focus-visible,
html.marcha-global-shell #__mnav .mnav-msignup:hover,
html.marcha-global-shell #__mnav .mnav-msignup:focus-visible {
  border-color: #ff0070 !important;
  background-color: #ff0070 !important;
  color: #fff !important;
}

html.marcha-global-shell body > .pricing-revenue-banner,
html.marcha-global-shell body > #__mnav {
  box-sizing: border-box !important;
}

html.marcha-global-shell #__mnav .mnav-bar {
  grid-template-columns: minmax(110px, 1fr) auto minmax(250px, 1fr);
}

html.marcha-global-shell #__mnav .mnav-panel {
  max-width: min(820px, calc(100vw - 40px));
  right: auto;
  left: 50%;
  transform: translate(-50%, 8px);
}

html.marcha-global-shell #__mnav .mnav-dd:hover .mnav-panel,
html.marcha-global-shell #__mnav .mnav-dd.marcha-hover-open .mnav-panel {
  transform: translate(-50%, 0);
}

@media (max-width: 1080px) and (min-width: 861px) {
  html.marcha-global-shell #__mnav .mnav-bar {
    grid-template-columns: auto 1fr auto;
    padding-inline: 24px;
  }

  html.marcha-global-shell #__mnav .mnav-links {
    gap: 18px;
  }

  html.marcha-global-shell #__mnav .mnav-cta {
    gap: 12px;
  }

  html.marcha-global-shell #__mnav .mnav-signup {
    padding-inline: 16px;
  }
}

/* Cabecalho institucional fixo e estavel, como na home. */
html.marcha-internal-page {
  scroll-padding-top: 84px;
}

html.marcha-internal-page body {
  margin: 0 !important;
  padding-top: 69px !important;
}

html.marcha-internal-page #__mnav {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  transform: none !important;
}

/* Coordenadas e linhas-guia herdadas da experiencia visual da home. */
.marcha-coordinate-overlay {
  --marcha-coordinate-x: 0px;
  --marcha-coordinate-y: 0px;
  position: fixed;
  inset: 0;
  z-index: 80;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity .18s ease;
}

.marcha-coordinate-overlay.is-active {
  opacity: 1;
}

.marcha-coordinate-line {
  position: absolute;
  background: rgba(119, 119, 119, .3);
  pointer-events: none;
}

.marcha-coordinate-line-v {
  top: 0;
  bottom: 0;
  left: var(--marcha-coordinate-x);
  width: 1px;
  transform: translateX(-.5px);
}

.marcha-coordinate-line-h {
  top: var(--marcha-coordinate-y);
  right: 0;
  left: 0;
  height: 1px;
  transform: translateY(-.5px);
}

.marcha-coordinate-readout {
  position: absolute;
  top: calc(
    var(--marcha-banner-height, 60px) +
    var(--marcha-header-height, 68px) +
    16px
  );
  right: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 7px;
  color: rgba(119, 119, 119, .72);
  font-family: "Fragment Mono", "Space Mono", monospace;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
  line-height: 1;
}

.marcha-coordinate-readout > div {
  display: grid;
  grid-template-columns: 12px 8px 4ch;
  gap: 3px;
  justify-items: end;
}

/* Rodape unico, compacto e sem bordas externas. */
.marcha-footer-compact {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 48px clamp(24px, 3.2vw, 48px) 28px !important;
  gap: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #0a0a0a !important;
  overflow: hidden !important;
}

.marcha-footer-compact .framer-qbv2is {
  width: 100% !important;
  max-width: 1500px !important;
  margin-inline: auto !important;
  gap: 28px !important;
}

.marcha-footer-compact .framer-1uxr9p3 > div,
.marcha-footer-compact .framer-1t1dt6o {
  gap: 12px !important;
}

.marcha-footer-compact .framer-bpnhrc,
.marcha-footer-compact .framer-1kv92z9 {
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
}

.marcha-footer-compact .framer-rgrji3 {
  gap: 12px !important;
}

.marcha-footer-compact .framer-zej1mf {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 16px !important;
}

/* Bloco institucional final integrado ao mesmo fundo do rodape. */
.framer-Cjjpy .framer-17idsxl {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 18px clamp(24px, 3.2vw, 48px) 20px !important;
  gap: 8px !important;
  border-top: 1px solid rgba(255, 255, 255, .1) !important;
  background: #0a0a0a !important;
  color: rgba(255, 255, 255, .58) !important;
}

.framer-Cjjpy .framer-17idsxl .framer-18roa96,
.framer-Cjjpy .framer-17idsxl .framer-ajw12w {
  width: 100% !important;
  max-width: 1500px !important;
  height: auto !important;
  margin-inline: auto !important;
}

.framer-Cjjpy .framer-17idsxl .framer-18roa96 p.framer-text,
.framer-Cjjpy .framer-17idsxl .framer-ajw12w p.framer-text {
  margin: 0 !important;
  color: rgba(255, 255, 255, .56) !important;
  font-family: "Marcha Sans Regular", "Helvetica Neue", sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .005em !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.framer-Cjjpy .framer-17idsxl .framer-18roa96 p.framer-text {
  color: rgba(255, 255, 255, .75) !important;
  font-size: 10.5px !important;
  line-height: 1.4 !important;
}

.framer-Cjjpy .framer-17idsxl strong.framer-text {
  color: rgba(255, 255, 255, .9) !important;
  font-weight: 700 !important;
}

.framer-Cjjpy .framer-17idsxl .framer-e5cwh5 {
  display: none !important;
}

/* Links do rodape: alvo maior, feedback rosa e foco visivel. */
.marcha-footer-compact a,
.marcha-footer-compact [role="link"] {
  cursor: pointer !important;
  position: relative;
  z-index: 2;
}

.marcha-footer-compact a p.framer-text,
.marcha-footer-compact [role="link"] p.framer-text {
  transition: color .18s ease;
}

.marcha-footer-compact a:hover p.framer-text,
.marcha-footer-compact a:focus-visible p.framer-text,
.marcha-footer-compact [role="link"]:hover p.framer-text,
.marcha-footer-compact [role="link"]:focus-visible p.framer-text {
  --framer-text-color: #ff0070 !important;
  color: #ff0070 !important;
}

.marcha-footer-compact .msoc-row {
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.marcha-footer-compact .msoc {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  pointer-events: auto !important;
  background: rgba(255, 255, 255, .1) !important;
  color: #fff !important;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.marcha-footer-compact .msoc svg {
  width: 18px !important;
  height: 18px !important;
}

.marcha-footer-compact .msoc:hover,
.marcha-footer-compact .msoc:focus-visible {
  background: #ff0070 !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(255, 0, 112, .28);
}

.marcha-footer-compact a:focus-visible,
.marcha-footer-compact [role="link"]:focus-visible {
  outline: 2px solid #ff0070 !important;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html,
  html.marcha-native-smooth {
    scroll-behavior: auto !important;
  }

  .marcha-footer-compact *,
  .marcha-footer-compact *::before,
  .marcha-footer-compact *::after {
    transition: none !important;
  }

  .marcha-coordinate-overlay {
    display: none !important;
  }
}

@media (max-width: 809px), (pointer: coarse) {
  .marcha-coordinate-overlay {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .marcha-footer-compact {
    padding: 36px 24px 24px !important;
  }

  .marcha-footer-compact .framer-qbv2is {
    gap: 24px !important;
  }

  .marcha-footer-compact .framer-1uxr9p3 {
    flex-direction: column !important;
    gap: 28px !important;
  }

  .marcha-footer-compact .framer-bpnhrc,
  .marcha-footer-compact .framer-1kv92z9 {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
  }

  .marcha-footer-compact .framer-zej1mf {
    padding-top: 12px !important;
  }

  .framer-Cjjpy .framer-17idsxl {
    padding: 16px 24px 18px !important;
    gap: 7px !important;
  }

  .framer-Cjjpy .framer-17idsxl .framer-18roa96 p.framer-text,
  .framer-Cjjpy .framer-17idsxl .framer-ajw12w p.framer-text {
    font-size: 9.5px !important;
    line-height: 1.42 !important;
  }
}

/* Cabeçalho mobile unificado. O desktop permanece com a implementação original. */
.marcha-home-mobile-nav {
  display: none;
}

@media (max-width: 860px) {
  html.marcha-mobile-menu-open,
  html.marcha-mobile-menu-open body {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  .marcha-home-desktop-nav {
    display: none !important;
  }

  .marcha-home-mobile-nav {
    display: block !important;
  }

  html:not(.marcha-internal-page) body:has(.marcha-home-mobile-nav) {
    padding-top: 65px !important;
  }

  html.marcha-internal-page body {
    padding-top: 65px !important;
  }

  html.marcha-internal-page body:has(.pricing-revenue-banner) {
    padding-top: 125px !important;
  }

  html.marcha-internal-page body:has(.pricing-revenue-banner) #__mnav {
    --marcha-mobile-header-offset: 60px;
  }

  #__mnav.mnav {
    --marcha-mobile-header-offset: 0px;
    z-index: 10000 !important;
    height: 65px;
    border-bottom: 1px solid rgba(17, 17, 17, .12) !important;
    background: rgba(250, 251, 243, .98) !important;
    box-shadow: 0 8px 28px rgba(17, 17, 17, .06);
    color: #111 !important;
    font-family: "Marcha Sans Regular", "Helvetica Neue", Arial, sans-serif !important;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  #__mnav.marcha-home-mobile-nav {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    width: 100% !important;
  }

  #__mnav .mnav-links,
  #__mnav .mnav-cta {
    display: none !important;
  }

  #__mnav .mnav-bar {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 16px 0 18px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
  }

  #__mnav .mnav-logo {
    display: inline-flex !important;
    width: 82px !important;
    height: 44px !important;
    margin: 0 auto 0 0 !important;
    align-items: center !important;
  }

  #__mnav .mnav-logo img {
    display: block !important;
    width: 82px !important;
    height: auto !important;
  }

  #__mnav .mnav-burger {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    flex: 0 0 44px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 5px !important;
    border: 1px solid rgba(17, 17, 17, .12) !important;
    border-radius: 11px !important;
    background: rgba(17, 17, 17, .04) !important;
    color: #111 !important;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease !important;
  }

  #__mnav .mnav-burger:active {
    transform: scale(.96);
  }

  #__mnav .mnav-burger:focus-visible {
    outline: 2px solid #ff0070 !important;
    outline-offset: 3px !important;
  }

  #__mnav .mnav-burger span {
    display: block !important;
    width: 100% !important;
    height: 1.5px !important;
    border-radius: 999px !important;
    background: currentColor !important;
    transform-origin: center !important;
    transition: transform .2s ease, opacity .16s ease !important;
  }

  #__mnav.open .mnav-burger {
    border-color: #111 !important;
    background: #111 !important;
    color: #fff !important;
  }

  #__mnav.open .mnav-burger span:nth-child(1) {
    transform: translateY(6.5px) rotate(45deg) !important;
  }

  #__mnav.open .mnav-burger span:nth-child(2) {
    opacity: 0 !important;
  }

  #__mnav.open .mnav-burger span:nth-child(3) {
    transform: translateY(-6.5px) rotate(-45deg) !important;
  }

  #__mnav .mnav-mobile {
    display: block !important;
    position: absolute !important;
    top: calc(100% + 1px) !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: calc(100dvh - 65px - var(--marcha-mobile-header-offset)) !important;
    max-height: 0 !important;
    padding: 0 18px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 0 !important;
    background: #fafbf3 !important;
    box-shadow: 0 22px 50px rgba(17, 17, 17, .14) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    overscroll-behavior: contain;
    pointer-events: none !important;
    transition: max-height .28s ease, opacity .2s ease, transform .24s ease, visibility .2s ease !important;
  }

  #__mnav.open .mnav-mobile {
    max-height: calc(100dvh - 65px - var(--marcha-mobile-header-offset)) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }

  #__mnav .mnav-mobile-eyebrow {
    margin: 0 !important;
    padding: 22px 2px 12px !important;
    color: #777 !important;
    font-family: "Space Mono", monospace !important;
    font-size: 10px !important;
    letter-spacing: .18em !important;
    line-height: 1.2 !important;
  }

  #__mnav .mnav-macc {
    margin: 0 !important;
    border-bottom: 1px solid rgba(17, 17, 17, .13) !important;
  }

  #__mnav .mnav-macc-head {
    display: flex !important;
    width: 100% !important;
    min-height: 60px !important;
    padding: 0 2px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    border: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-family: "Marcha Sans Regular", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    letter-spacing: -.035em !important;
    text-align: left !important;
  }

  #__mnav .mnav-macc-head:focus-visible {
    outline: 2px solid #ff0070 !important;
    outline-offset: -2px !important;
  }

  #__mnav .mnav-macc-caret {
    display: inline-flex !important;
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    background: rgba(17, 17, 17, .05) !important;
    color: #777 !important;
    font-family: "Space Mono", monospace !important;
    font-size: 12px !important;
    transition: transform .2s ease, background-color .2s ease, color .2s ease !important;
  }

  #__mnav .mnav-macc-body {
    display: block !important;
    max-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: max-height .3s ease, padding .25s ease, opacity .2s ease, visibility .2s ease !important;
  }

  #__mnav .mnav-macc.open .mnav-macc-body {
    max-height: 520px !important;
    padding: 2px 0 14px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #__mnav .mnav-macc.open .mnav-macc-caret {
    background: #111 !important;
    color: #fff !important;
    transform: rotate(180deg) !important;
  }

  #__mnav .mnav-mobile .mnav-item {
    display: flex !important;
    min-height: 44px !important;
    padding: 6px 2px !important;
    align-items: center !important;
    gap: 11px !important;
    border: 0 !important;
    color: #2a2a2a !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
  }

  #__mnav .mnav-mobile .mnav-item:active,
  #__mnav .mnav-mobile .mnav-item:focus-visible {
    color: #ff0070 !important;
  }

  #__mnav .mnav-mobile .mnav-ico {
    display: inline-flex !important;
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    background: rgba(17, 17, 17, .05) !important;
    color: #2a2a2a !important;
    font-family: "Space Mono", monospace !important;
    font-size: 11px !important;
  }

  #__mnav .mnav-price-mobile {
    display: flex !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 2px !important;
    align-items: center !important;
    border-bottom: 1px solid rgba(17, 17, 17, .13) !important;
    color: #111 !important;
    font-family: "Marcha Sans Regular", "Helvetica Neue", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    letter-spacing: -.035em !important;
    text-decoration: none !important;
  }

  #__mnav .mnav-price-mobile[aria-current="page"] {
    color: #ff0070 !important;
  }

  #__mnav .mnav-mcta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 20px 0 max(24px, env(safe-area-inset-bottom)) !important;
  }

  #__mnav .mnav-mlogin,
  #__mnav .mnav-msignup {
    display: inline-flex !important;
    min-width: 0 !important;
    min-height: 50px !important;
    padding: 0 12px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #111 !important;
    border-radius: 0 !important;
    color: #111 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  #__mnav .mnav-msignup {
    border-color: #dfff00 !important;
    background: #dfff00 !important;
  }
}

/* A exportacao mobile da Home preservava alturas e coordenadas do desktop.
   Estes ajustes mantem o conteudo legivel sem alterar a composicao desktop. */
footer.framer-1y56cfp[data-framer-name="Footer"]:not(.marcha-final-footer) {
  display: none !important;
}

/* O juridico legado da Home ja existe no rodape compartilhado. Mantemos o
   bloco antigo invisivel desde o primeiro frame, antes mesmo da hidratacao. */
.framer-Cjjpy .framer-17idsxl {
  display: none !important;
}

model-viewer[data-marcha-model-wheel-bound="1"] {
  overscroll-behavior: contain;
}

/* A pista do fluxo e apenas informativa. Impede que arrastar o mouse destaque
   o fundo, os cards ou as imagens como se fossem texto selecionavel. */
.framer-Cjjpy .framer-2axaf3,
.framer-Cjjpy .framer-2axaf3 * {
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none;
}

.framer-Cjjpy .framer-2axaf3 img,
.framer-Cjjpy .framer-2axaf3 svg {
  -webkit-user-drag: none;
}

@media (max-width: 860px) {
  /* O comparativo 3D foi retirado do mobile; o texto orfao deve sair junto. */
  .framer-Cjjpy .framer-9icdiu[data-framer-name="Por que um Hub"] {
    display: none !important;
  }
}

@media (max-width: 809.98px) {
  /* Fluxo mobile: titulo acima, seis etapas em grade 2x3 e a pista como
     elemento continuo de fundo. O desktop continua usando a composicao
     circular original do Framer. */
  .framer-Cjjpy .framer-2axaf3 {
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 438px !important;
    padding: 18px 12px 24px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 164px)) !important;
    grid-template-rows: auto repeat(3, minmax(104px, auto)) !important;
    grid-template-areas:
      "flow-title flow-title"
      "flow-1 flow-2"
      "flow-3 flow-4"
      "flow-5 flow-6" !important;
    column-gap: 10px !important;
    row-gap: 14px !important;
    place-content: start center !important;
    align-items: stretch !important;
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate;
  }

  .framer-Cjjpy .framer-2axaf3 > [data-framer-name="card"] {
    width: 100% !important;
    max-width: 164px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 104px !important;
    margin: 0 !important;
    inset: auto !important;
    position: relative !important;
    z-index: 3 !important;
    transform: none !important;
  }

  .framer-Cjjpy .framer-oas4kb,
  .framer-Cjjpy .framer-d08qpw,
  .framer-Cjjpy .framer-ndv943,
  .framer-Cjjpy .framer-blxmcz,
  .framer-Cjjpy .framer-vp87wj,
  .framer-Cjjpy .framer-1xym2zb {
    width: 100% !important;
  }

  .framer-Cjjpy .framer-169mumc {
    grid-area: flow-1 !important;
  }

  .framer-Cjjpy .framer-v74t0a {
    grid-area: flow-2 !important;
  }

  .framer-Cjjpy .framer-76oy7c {
    grid-area: flow-3 !important;
  }

  .framer-Cjjpy .framer-qgupss {
    grid-area: flow-4 !important;
  }

  .framer-Cjjpy .framer-17kmfn8 {
    grid-area: flow-5 !important;
  }

  .framer-Cjjpy .framer-vmx4rn {
    grid-area: flow-6 !important;
  }

  .framer-Cjjpy .framer-1f8sydn {
    width: auto !important;
    min-width: 140px !important;
    grid-area: flow-title !important;
    inset: auto !important;
    position: relative !important;
    z-index: 4 !important;
    justify-self: center !important;
    text-align: center !important;
    transform: none !important;
  }

  .framer-Cjjpy .framer-2axaf3 > .ssr-variant {
    width: 100% !important;
    height: 100% !important;
    inset: 0 !important;
    position: absolute !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  .framer-Cjjpy .framer-1ilj2sv-container {
    width: calc(100% - 4px) !important;
    height: calc(100% - 48px) !important;
    top: 48px !important;
    left: 2px !important;
    z-index: 1 !important;
    opacity: .48 !important;
    pointer-events: none !important;
  }

  .framer-Cjjpy .framer-qpt634 {
    width: clamp(460px, 145vw, 560px) !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    top: 52% !important;
    left: 50% !important;
    right: auto !important;
    z-index: 0 !important;
    opacity: .28 !important;
    pointer-events: none !important;
    transform: translate(-50%, -50%) !important;
  }

  .framer-Cjjpy .framer-18aql6s {
    width: clamp(430px, 135vw, 520px) !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    inset: auto !important;
    top: 52% !important;
    left: 50% !important;
    z-index: 1 !important;
    position: absolute !important;
    opacity: .14 !important;
    pointer-events: none !important;
    transform: translate(-50%, -50%) !important;
  }

  .framer-Cjjpy .framer-18aql6s img {
    object-fit: contain !important;
  }

  .framer-Cjjpy .framer-nq7ub6,
  .framer-Cjjpy .framer-jle0lu {
    display: none !important;
  }
}

@media (max-width: 480px) {
  /* CTA da abertura: largura integral, mas sem a altura herdada do painel. */
  .framer-Cjjpy .framer-w1bksr {
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .framer-Cjjpy .framer-w1bksr .framer-dl2qp6-container {
    flex: none !important;
    width: 100% !important;
    height: auto !important;
  }

  .framer-Cjjpy .framer-w1bksr .framer-dl2qp6-container > a.framer-iMBlL {
    width: 100% !important;
    height: auto !important;
    min-height: 56px !important;
    padding: 15px 18px !important;
  }

  .framer-Cjjpy .framer-1yuje5r {
    padding-block: 32px !important;
  }

  .framer-Cjjpy .framer-qqh0rw .framer-aqypph-container,
  .framer-Cjjpy .framer-qqh0rw .framer-aqypph-container > a.framer-iMBlL {
    width: fit-content !important;
    max-width: 100% !important;
  }

  .framer-Cjjpy .framer-qqh0rw .framer-aqypph-container > a.framer-iMBlL {
    padding: 8px 16px !important;
  }

}

/* Mantem a barra do modelo 3D visivel ate o primeiro frame do carro. */
model-viewer[data-marcha-model-loading="1"]::part(default-progress-bar) {
  opacity: 1 !important;
  visibility: visible !important;
  transition: transform .18s linear, opacity .28s ease !important;
}

model-viewer[data-marcha-model-ready="1"]::part(default-progress-bar),
model-viewer[data-marcha-model-error="1"]::part(default-progress-bar) {
  opacity: 0 !important;
  visibility: visible !important;
  transition: opacity .32s ease !important;
}

@media (max-width: 640px) {
  .pricing-revenue-banner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    min-height: 72px !important;
    padding: 8px 10px 8px 14px !important;
  }

  .pricing-revenue-banner p {
    font-size: 12px !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }

  .pricing-revenue-banner a {
    min-height: 38px !important;
    padding: 0 11px !important;
    gap: 6px !important;
    font-size: 12px !important;
  }

  html.marcha-internal-page body:has(.pricing-revenue-banner) {
    padding-top: 137px !important;
  }

  html.marcha-internal-page body:has(.pricing-revenue-banner) #__mnav {
    --marcha-mobile-header-offset: 72px;
    inset: 72px 0 auto 0 !important;
  }
}

/* O bundle pesado do Framer foi removido da Home. Elementos SSR que dependiam
   dele para sair de opacity:0.001 precisam iniciar visiveis; os dois blocos
   com animacao de viewport continuam controlados pela classe propria. */
html.marcha-global-shell .framer-Cjjpy [data-framer-appear-id]:not(.marcha-home-viewport-reveal) {
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 370px) {
  #__mnav .mnav-mcta {
    grid-template-columns: 1fr !important;
  }

  .pricing-revenue-banner a {
    padding: 0 9px !important;
  }
}

/* Mantem o mesmo shell no mobile com especificidade suficiente para vencer
   tanto o CSS do Framer quanto o CSS original da pagina de Precos. */
@media (max-width: 860px) {
  html.marcha-global-shell body > #__mnav {
    height: 65px !important;
  }

  html.marcha-global-shell #__mnav .mnav-bar {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    height: 65px !important;
    padding: 0 20px !important;
    justify-content: space-between !important;
    gap: 16px !important;
  }

  html.marcha-global-shell #__mnav .mnav-logo {
    width: 82px !important;
    height: 44px !important;
    margin-right: auto !important;
  }

  html.marcha-global-shell #__mnav .mnav-logo img {
    width: 82px !important;
  }

  html.marcha-global-shell #__mnav .mnav-links,
  html.marcha-global-shell #__mnav .mnav-cta {
    display: none !important;
  }

  html.marcha-global-shell #__mnav .mnav-burger {
    display: inline-flex !important;
  }
}

@media (max-width: 640px) {
  html.marcha-global-shell body > .pricing-revenue-banner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    min-height: 72px !important;
    padding: 8px 10px 8px 14px !important;
    gap: 8px !important;
  }

  html.marcha-global-shell body > .pricing-revenue-banner p {
    font-size: 12px !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }

  html.marcha-global-shell body > .pricing-revenue-banner a {
    min-height: 38px !important;
    padding: 0 11px !important;
    gap: 6px !important;
    font-size: 12px !important;
  }

  html.marcha-global-shell body:has(> .pricing-revenue-banner) {
    padding-top: 137px !important;
  }

  html.marcha-global-shell body > #__mnav {
    inset: 72px 0 auto 0 !important;
  }
}

/* Estabilizacao responsiva final. A altura real da faixa e medida pelo shell,
   evitando sobreposicao em telas estreitas e mudancas de fonte. */
html.marcha-global-shell {
  --marcha-banner-height: 60px;
  --marcha-header-height: 68px;
  scroll-padding-top: calc(var(--marcha-banner-height) + var(--marcha-header-height) + 12px) !important;
}

@media (max-width: 640px) {
  html.marcha-global-shell {
    --marcha-banner-height: 72px;
  }
}

html.marcha-global-shell body > #__mnav {
  inset: var(--marcha-banner-height) 0 auto 0 !important;
}

html.marcha-global-shell body:has(> .pricing-revenue-banner) {
  padding-top: calc(var(--marcha-banner-height) + var(--marcha-header-height) + 1px) !important;
}

@media (max-width: 860px) {
  html.marcha-global-shell {
    --marcha-header-height: 65px;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

  html.marcha-global-shell body {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-x: clip !important;
  }

  html.marcha-global-shell body > #__mnav {
    --marcha-mobile-header-offset: var(--marcha-banner-height) !important;
    inset: var(--marcha-banner-height) 0 auto 0 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  html.marcha-global-shell #__mnav .mnav-mobile {
    height: calc(100vh - var(--marcha-header-height) - var(--marcha-banner-height)) !important;
    height: calc(100dvh - var(--marcha-header-height) - var(--marcha-banner-height)) !important;
    transition: opacity .18s ease, transform .2s ease, visibility .18s ease !important;
  }

  html.marcha-global-shell #__mnav.open .mnav-mobile {
    max-height: calc(100vh - var(--marcha-header-height) - var(--marcha-banner-height)) !important;
    max-height: calc(100dvh - var(--marcha-header-height) - var(--marcha-banner-height)) !important;
  }

  .marcha-footer-cta .pricing-container,
  .marcha-footer-cta h2,
  .marcha-footer-cta .pricing-container > p {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .marcha-footer-cta h2 {
    font-size: clamp(36px, 11vw, 48px) !important;
    overflow-wrap: break-word !important;
  }

  .marcha-final-footer .pricing-footer-inner,
  .marcha-final-footer .pricing-footer-bottom,
  .marcha-final-footer .msoc-row {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .marcha-final-footer .msoc-row {
    width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  .marcha-final-footer .pricing-copyright {
    width: 100% !important;
    text-align: center !important;
  }

  body .policy .pp-wrap,
  body .policy .pp-wrap article,
  body .policy .pp-wrap section,
  body .policy .pp-wrap ol,
  body .policy .pp-wrap ul,
  body .policy .pp-wrap li {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body .policy .pp-wrap h1,
  body .policy .pp-wrap h2,
  body .policy .pp-wrap h3,
  body .policy .pp-wrap p,
  body .policy .pp-wrap li,
  body .policy .pp-wrap a,
  body .policy .pp-wrap strong,
  body .policy .pp-wrap span {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body .policy .pp-wrap ol,
  body .policy .pp-wrap ul {
    padding-left: 22px !important;
  }
}

@media (max-width: 480px) {
  .marcha-footer-cta {
    padding: 60px 20px 58px !important;
  }

  .marcha-final-footer .pricing-footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 16px !important;
  }

  .marcha-final-footer .pricing-footer-columns > div:last-child {
    grid-column: 1 / -1 !important;
  }

  .marcha-final-footer .pricing-footer-columns a,
  .marcha-final-footer .pricing-footer-contact a {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  html.marcha-global-shell .terms-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    overflow: visible !important;
  }

  html.marcha-global-shell .terms-tab {
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 10px !important;
    border-bottom: 1px solid rgba(17, 17, 17, .14) !important;
  }

  .framer-Cjjpy .framer-i7845h {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: visible !important;
    gap: 10px !important;
  }

  .framer-Cjjpy .framer-i7845h > *,
  .framer-Cjjpy .framer-i7845h a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 860px) {
  html.marcha-global-shell body:has(> .pricing-revenue-banner) > #__mnav {
    inset: var(--marcha-banner-height) 0 auto 0 !important;
  }

  html.marcha-global-shell .construction-hero,
  html.marcha-global-shell .construction-layout,
  html.marcha-global-shell .construction-copy,
  html.marcha-global-shell .construction-status {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html.marcha-global-shell .construction-layout {
    width: 100% !important;
  }

  html.marcha-global-shell .construction-copy h1,
  html.marcha-global-shell .construction-copy p,
  html.marcha-global-shell .construction-status * {
    overflow-wrap: anywhere !important;
  }
}
