.elementor-82690 .elementor-element.elementor-element-83aa038{--display:flex;}.elementor-82690 .elementor-element.elementor-element-8bf684d{--display:flex;}.elementor-82690 .elementor-element.elementor-element-c1d8569{--display:flex;}.elementor-widget-breadcrumbs{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-82690 .elementor-element.elementor-element-b828f5e{font-size:18px;font-weight:400;color:var( --e-global-color-1e4364c );}.elementor-82690 .elementor-element.elementor-element-b828f5e a{color:var( --e-global-color-d8384ce );}.elementor-82690 .elementor-element.elementor-element-b828f5e a:hover{color:var( --e-global-color-secondary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-82690 .elementor-element.elementor-element-7e4eaca{--display:flex;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-82690 .elementor-element.elementor-element-0d5e52a{--display:flex;}.elementor-82690 .elementor-element.elementor-element-35efa0d{--display:flex;}.elementor-82690 .elementor-element.elementor-element-0637b23{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-82690 .elementor-element.elementor-element-5c4ccdf{--display:flex;}.elementor-82690 .elementor-element.elementor-element-cbb94a7{--display:flex;}.elementor-82690 .elementor-element.elementor-element-60b1070{--display:flex;}.elementor-82690 .elementor-element.elementor-element-87d3721{--display:flex;}.elementor-82690 .elementor-element.elementor-element-c0e6457{--display:flex;}.elementor-82690 .elementor-element.elementor-element-e72caa6{--display:flex;}.elementor-82690 .elementor-element.elementor-element-3b82463{--display:flex;}.elementor-82690 .elementor-element.elementor-element-4d07639{--display:flex;}.elementor-82690 .elementor-element.elementor-element-d46fd72{--display:flex;}.elementor-82690 .elementor-element.elementor-element-872f5d7{--display:flex;}.elementor-82690 .elementor-element.elementor-element-e942a16{--display:flex;}.elementor-82690 .elementor-element.elementor-element-af1ccc7{--display:flex;}.elementor-82690 .elementor-element.elementor-element-c45c8cd{--display:flex;}.elementor-82690 .elementor-element.elementor-element-640b389{--display:flex;}.elementor-82690 .elementor-element.elementor-element-1b56385{--display:flex;}.elementor-82690 .elementor-element.elementor-element-5cb69c0{--display:flex;}.elementor-82690 .elementor-element.elementor-element-df07cd8{--display:flex;}.elementor-82690 .elementor-element.elementor-element-fc2306f{--display:flex;}.elementor-82690 .elementor-element.elementor-element-50a7bb5{--display:flex;}.elementor-82690 .elementor-element.elementor-element-58ce1a1{--display:flex;}.elementor-82690 .elementor-element.elementor-element-d808b66{--display:flex;}.elementor-82690 .elementor-element.elementor-element-4b19bb1{--display:flex;}.elementor-82690 .elementor-element.elementor-element-d5f397d{--display:flex;}.elementor-82690 .elementor-element.elementor-element-d4c2fa5{--display:flex;}.elementor-82690 .elementor-element.elementor-element-075ea8b{--display:flex;}.elementor-82690 .elementor-element.elementor-element-07229d7{--display:flex;}.elementor-82690 .elementor-element.elementor-element-87c4bd6{--display:flex;}.elementor-82690 .elementor-element.elementor-element-57ac1e5{--display:flex;}.elementor-82690 .elementor-element.elementor-element-5343726{--display:flex;}.elementor-82690 .elementor-element.elementor-element-ea321a7{--display:flex;}.elementor-82690 .elementor-element.elementor-element-c54fd60{--display:flex;}.elementor-82690 .elementor-element.elementor-element-8de38fa{--display:flex;}.elementor-82690 .elementor-element.elementor-element-353f242{--display:flex;}.elementor-82690 .elementor-element.elementor-element-842ba86{--display:flex;}.elementor-82690 .elementor-element.elementor-element-36d059e{--display:flex;}.elementor-82690 .elementor-element.elementor-element-cd17e9d{--display:flex;}.elementor-82690 .elementor-element.elementor-element-98a9a70{--display:flex;}.elementor-82690 .elementor-element.elementor-element-c7723ad{--display:flex;}.elementor-82690 .elementor-element.elementor-element-f0759fc{--display:flex;}.elementor-82690 .elementor-element.elementor-element-aac2d88{--display:flex;}.elementor-82690 .elementor-element.elementor-element-5b6bf10{--display:flex;}.elementor-82690 .elementor-element.elementor-element-88937e7{--display:flex;}.elementor-82690 .elementor-element.elementor-element-4b47e4b{--display:flex;}.elementor-82690 .elementor-element.elementor-element-014be08{--display:flex;}.elementor-82690 .elementor-element.elementor-element-2eee3d5{--display:flex;}.elementor-82690 .elementor-element.elementor-element-cdae34a{--display:flex;}.elementor-82690 .elementor-element.elementor-element-a7a6337{--display:flex;}.elementor-82690 .elementor-element.elementor-element-c35527a{--display:flex;}.elementor-82690 .elementor-element.elementor-element-c7a3920{--display:flex;}.elementor-82690 .elementor-element.elementor-element-cdcd22d{--display:flex;}.elementor-82690 .elementor-element.elementor-element-8abbaad{--display:flex;}.elementor-82690 .elementor-element.elementor-element-a56431a{--display:flex;}.elementor-82690 .elementor-element.elementor-element-d70a156{--display:flex;}.elementor-82690 .elementor-element.elementor-element-5c4c4b5{--display:flex;}.elementor-82690 .elementor-element.elementor-element-f4ac1b8{--display:flex;}.elementor-82690 .elementor-element.elementor-element-18f1c14{--display:flex;}.elementor-82690 .elementor-element.elementor-element-5e94015{--display:flex;}.elementor-82690 .elementor-element.elementor-element-839f8f3{--display:flex;}.elementor-82690 .elementor-element.elementor-element-502324c{--display:flex;}.elementor-82690 .elementor-element.elementor-element-64821a0{--display:flex;}.elementor-82690 .elementor-element.elementor-element-f8d33de{--display:flex;}.elementor-82690 .elementor-element.elementor-element-0dfcd08{--display:flex;}.elementor-82690 .elementor-element.elementor-element-2228bc6{--display:flex;}.elementor-82690 .elementor-element.elementor-element-cedbd7d{--display:flex;}.elementor-82690 .elementor-element.elementor-element-276928f{--display:flex;}.elementor-82690 .elementor-element.elementor-element-d5e8ff9{--display:flex;}.elementor-82690 .elementor-element.elementor-element-a9f7be7{--display:flex;}.elementor-82690 .elementor-element.elementor-element-a36301c{--display:flex;}.elementor-82690 .elementor-element.elementor-element-7efe17e{--display:flex;}.elementor-82690 .elementor-element.elementor-element-ed331ac{--display:flex;}.elementor-82690 .elementor-element.elementor-element-a894be8{--display:flex;}.elementor-82690 .elementor-element.elementor-element-33140f6{--display:flex;}.elementor-82690 .elementor-element.elementor-element-04a9375{--display:flex;}.elementor-82690 .elementor-element.elementor-element-c6deeb9{--display:flex;}.elementor-82690 .elementor-element.elementor-element-bd8f4d9{--display:flex;}.elementor-82690 .elementor-element.elementor-element-55bb543{--display:flex;}.elementor-82690 .elementor-element.elementor-element-456eaae{--display:flex;}.elementor-82690 .elementor-element.elementor-element-b4d8881{--display:flex;}.elementor-82690 .elementor-element.elementor-element-7a851b8{--display:flex;}@media(max-width:1200px){.elementor-widget-breadcrumbs{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:1024px){.elementor-widget-breadcrumbs{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:500px){.elementor-widget-breadcrumbs{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS *//* ==========================================================================
   Genyo · Página /sistema (widgets nativos do Elementor)
   Base: o CSS aprovado da /aplicativo, com as cores apontando para as cores globais do kit
   (Configurações do site > Cores globais). Novos só a janela de navegador, as telas
   dos seletores de 4 opções e a lista em uma coluna.
   Local: Configurações da página > Avançado > CSS personalizado.
   Cada seção é um contêiner com a classe "gapp". Os demais contêineres e
   widgets recebem classes "gapp-..." (Avançado > Classes CSS) que dão o visual.
   Textos, botões e prints são editados direto nos widgets.
   ========================================================================== */

/* Fonte reserva com métricas da Museo: se a Museo demorar, o texto não "pula" ao trocar de fonte (CLS) */
@font-face {
  font-family: "Museo Fallback";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans");
  font-weight: 400 500;
  size-adjust: 101.6%;
  ascent-override: 76%;
  descent-override: 22.4%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Museo Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold");
  font-weight: 600 700;
  size-adjust: 96.9%;
  ascent-override: 79.8%;
  descent-override: 23.4%;
  line-gap-override: 0%;
}

/* ---------- Tokens ---------- */
body .elementor .gapp {
  --g-navy-900: var(--e-global-color-4ad0a70, #002135);
  --g-navy: var(--e-global-color-5d1771f, #003c5e);
  --g-title: var(--e-global-color-primary, #023859);
  --g-cyan: var(--e-global-color-secondary, #00b2c3);
  --g-cta: var(--e-global-color-text, #f45567);
  --g-cta-hover: var(--e-global-color-accent, #d1344b);
  --g-mist: var(--e-global-color-0baa7b7, #e5f7f9);
  --g-text: var(--e-global-color-ca2315a, #2c2c2c);
  --g-muted: #4a5a64;
  --g-line: color-mix(in srgb, var(--g-navy) 14%, transparent);
  --g-on-dark: var(--e-global-color-1e4364c, rgba(255, 255, 255, .82));
  --g-line-dark: rgba(255, 255, 255, .16);

  --g-wrap: 1120px;
  --g-sec: clamp(56px, 7vw, 96px);
  --g-gap: clamp(56px, 7vw, 96px);
  --g-r-band: clamp(28px, 4.5vw, 64px);
  --g-ease: cubic-bezier(.2, .7, .2, 1);

  --g-fs-h1: clamp(2rem, 1.62rem + 1.15vw, 2.5rem);   /* 32 → 40px */
  --g-fs-h2: clamp(1.75rem, 1.43rem + 1vw, 2.2rem);    /* 28 → 35,2px */
  --g-fs-h3: clamp(1.5rem, 1.35rem + .45vw, 1.7rem);   /* 24 → 27,2px */
  --g-fs-p: clamp(1rem, .93rem + .25vw, 1.125rem);     /* 16 → 18px */
  --g-fs-lead: clamp(1rem, .9rem + .35vw, 1.2rem);     /* 16 → 19,2px */

  font-family: "Museo", "Museo Fallback", ui-rounded, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: var(--g-fs-p);
  font-weight: 400;
  line-height: 1.5;
  color: var(--g-text);
  -webkit-font-smoothing: antialiased;
}

/* ---------- Contêineres do Elementor: sem espaçamentos padrão (o espaçamento vem das classes abaixo) ---------- */
body .elementor .gapp.e-con,
body .elementor .gapp .e-con {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  --widgets-spacing: 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
  --kit-widget-spacing: 0px;
  min-width: 0;
}
body .elementor .gapp.e-con { overflow-x: clip; }
body .elementor .gapp .elementor-widget:not(:last-child) { margin-block-end: 0; }

/* ---------- Base ---------- */
body .elementor .gapp *, body .elementor .gapp *::before, body .elementor .gapp *::after { box-sizing: border-box; }
body .elementor .gapp :where(h1, h2, h3, p, ul, ol, figure) { margin: 0; }
body .elementor .gapp :where(ul, ol) { padding: 0; list-style: none; }
body .elementor .gapp :where(svg) { display: block; max-width: 100%; }
body .elementor .gapp :focus-visible { outline: 3px solid var(--g-cyan); outline-offset: 3px; }

body .elementor .gapp .gapp-wrap { width: min(90%, var(--g-wrap)); max-width: none; margin-inline: auto; }
body .elementor .gapp.gapp-sec { padding-block: var(--g-sec); }
body .elementor .gapp .gapp-stack > .elementor-element + .elementor-element { margin-top: var(--g-gap); }

/* ---------- Títulos (widget Título com a classe gapp-h1, gapp-h2 ou gapp-h3) ---------- */
body .elementor .gapp .gapp-h1 .elementor-heading-title,
body .elementor .gapp .gapp-h2 .elementor-heading-title,
body .elementor .gapp .gapp-h3 .elementor-heading-title {
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: none;
  color: var(--g-title);
  text-wrap: balance;
}
body .elementor .gapp .gapp-h1 .elementor-heading-title { font-size: var(--g-fs-h1); }
body .elementor .gapp .gapp-h2 .elementor-heading-title { font-size: var(--g-fs-h2); }
body .elementor .gapp .gapp-h3 .elementor-heading-title { font-size: var(--g-fs-h3); font-weight: 600; }

/* ---------- Textos (widget Editor de texto) ---------- */
body .elementor .gapp .elementor-widget-text-editor {
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
  color: inherit;
}
body .elementor .gapp .elementor-widget-text-editor p { max-width: 36rem; }
body .elementor .gapp .elementor-widget-text-editor .elementor-widget-container > * + * { margin-top: 1rem; }
body .elementor .gapp .elementor-widget-text-editor strong { font-weight: 700; }
body .elementor .gapp .elementor-widget-text-editor a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .25em;
}
body .elementor .gapp .gapp-lead { font-size: var(--g-fs-lead); }
body .elementor .gapp .gapp-lead p { max-width: 34rem; }

/* Espaçamento vertical dentro dos blocos de texto */
body .elementor .gapp .gapp-copy > .elementor-element + .elementor-element { margin-top: 1rem; }
body .elementor .gapp .gapp-copy > .gapp-h3 + .elementor-element { margin-top: .75rem; }
body .elementor .gapp .gapp-copy > .elementor-element.gapp-lead { margin-top: 1.25rem; }
body .elementor .gapp .gapp-copy > .elementor-element:is(.gapp-actions, .gapp-trust) { margin-top: 2rem; }
body .elementor .gapp .gapp-copy > .elementor-element:is(.gapp-dots, .gapp-steps, .gapp-figure, .gapp-modes__opts) { margin-top: 1.5rem; }

body .elementor .gapp.gapp-dark { color: #fff; }
body .elementor .gapp.gapp-dark .gapp-h1 .elementor-heading-title,
body .elementor .gapp.gapp-dark .gapp-h2 .elementor-heading-title,
body .elementor .gapp.gapp-dark .gapp-h3 .elementor-heading-title { color: #fff; }
body .elementor .gapp.gapp-dark .elementor-widget-text-editor { color: var(--g-on-dark); }
body .elementor .gapp.gapp-dark .elementor-widget-text-editor strong,
body .elementor .gapp.gapp-dark .elementor-widget-text-editor a { color: #fff; }

body .elementor .gapp .gapp-chapter { max-width: 48rem; margin-bottom: clamp(32px, 4vw, 56px); }
body .elementor .gapp .gapp-chapter p { max-width: none; text-wrap: pretty; }
body .elementor .gapp .gapp-chapter--center { margin-inline: auto; text-align: center; }

/* ---------- Botões (widget Botão com a classe gapp-btn ou gapp-link) ---------- */
body .elementor .gapp .gapp-actions { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: .75rem 2rem; }
body .elementor .gapp .gapp-actions > .elementor-element { width: auto; max-width: 100%; flex: 0 0 auto; }

body .elementor .gapp .gapp-btn .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 2em;
  border: 0;
  border-radius: 999px;
  background: var(--g-cta);
  color: #fff;
  fill: #fff;
  font-family: inherit;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  box-shadow: 0 12px 28px -14px color-mix(in srgb, var(--g-cta) 80%, transparent);
  transition: background-color .2s, transform .2s var(--g-ease);
}
body .elementor .gapp .gapp-btn .elementor-button:hover,
body .elementor .gapp .gapp-btn .elementor-button:focus { background: var(--g-cta-hover); color: #fff; transform: translateY(-2px); }
body .elementor .gapp .gapp-btn .elementor-button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }

body .elementor .gapp .gapp-link .elementor-button,
body .elementor .gapp .gapp-link .elementor-button:hover,
body .elementor .gapp .gapp-link .elementor-button:focus {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--g-title);
  font-family: inherit;
  font-size: inherit;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .3em;
}
body .elementor .gapp.gapp-dark .gapp-link .elementor-button,
body .elementor .gapp.gapp-dark .gapp-link .elementor-button:hover,
body .elementor .gapp.gapp-dark .gapp-link .elementor-button:focus { color: #fff; }

/* ---------- Faixas ---------- */
body .elementor .gapp.gapp-band { position: relative; isolation: isolate; border-radius: var(--g-r-band); }
body .elementor .gapp.gapp-band--after-band { margin-top: 12px; } /* faixa logo abaixo de outra faixa */
body .elementor .gapp.gapp-band--navy {
  background:
    radial-gradient(70% 60% at 85% 0%, color-mix(in srgb, var(--g-cyan) 16%, transparent), transparent 70%),
    linear-gradient(180deg, var(--g-navy) 0%, var(--g-navy-900) 100%);
}
body .elementor .gapp.gapp-band--mist { background: var(--g-mist); }
/* textura de pontos: o "ponto" como motivo visual */
body .elementor .gapp.gapp-band--navy::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(rgba(255, 255, 255, .09) 1px, transparent 1.5px) 0 0 / 26px 26px;
  -webkit-mask: linear-gradient(180deg, #000, transparent 55%);
  mask: linear-gradient(180deg, #000, transparent 55%);
}

/* ---------- Topo (hero) ---------- */
body .elementor .gapp.gapp-hero {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: clamp(24px, 3vw, 40px) 0 clamp(40px, 5vw, 64px);
  color: #fff;
  border-radius: 0 0 var(--g-r-band) var(--g-r-band);
  background:
    radial-gradient(55% 70% at 78% 45%, color-mix(in srgb, var(--g-cyan) 22%, transparent), transparent 70%),
    linear-gradient(180deg, var(--g-navy) 0%, var(--g-navy-900) 100%);
}
body .elementor .gapp .gapp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  align-items: start; /* texto alinhado em cima, como na Consultor Dedicado */
  gap: clamp(24px, 4vw, 64px);
}
body .elementor .gapp .gapp-hero__copy { position: relative; z-index: 2; }
/* breadcrumb na mesma altura da página Consultor Dedicado: o texto do topo desce de 0 a 30px conforme a largura (só com as duas colunas) */
@media (min-width: 1025px) {
  body .elementor .gapp .gapp-hero__copy { --padding-top: clamp(0px, calc((100vw - 1024px) * .18), 30px); padding-top: var(--padding-top); }
}
body .elementor .gapp .gapp-trust {
  padding-top: 1.25rem;
  max-width: 34rem;
  border-top: 1px solid var(--g-line-dark);
}
body .elementor .gapp .gapp-trust .elementor-widget-container {
  display: flex;
  align-items: center;
  gap: .875rem;
  font-size: .9375rem;
  line-height: 1.45;
}
body .elementor .gapp .gapp-trust .elementor-widget-container::before {
  content: "";
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='24' cy='24' r='21' fill='none' stroke='%2300bac6' stroke-width='2.6' stroke-linecap='round' stroke-dasharray='0 5.5'/%3E%3Cpath d='M15.5 24.5l6 6 11-12' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .elementor .gapp .gapp-hero__media { position: relative; display: grid; place-items: center; min-height: 560px; }
/* a janela do topo tem a mesma largura das janelas das seções (coluna de .gapp-spot) e fica alinhada à direita, como elas.
   Coluna do topo = 54% de (largura - vão do topo); coluna das seções = (largura - vão das seções) / 2. */
body .elementor .gapp .gapp-hero__media > .gapp-device { width: calc((100% / .54 + clamp(24px, 4vw, 64px) - clamp(32px, 5vw, 80px)) / 2); margin-right: 0; justify-self: end; }
/* as partículas do relógio ficam centralizadas na janela do topo (centro = largura da coluna - metade da janela) */
body .elementor .gapp .gapp-hero__media .gapp-dial { left: calc(100% - (100% / .54 + clamp(24px, 4vw, 64px) - clamp(32px, 5vw, 80px)) / 4); }
/* o H1 avança 90px sobre o vão entre as colunas para caber em duas linhas (só com as duas colunas, a partir de 1080px; abaixo disso ele já ocupa a largura toda) */
@media (min-width: 1080px) and (hover: hover), (min-width: 1080px) and (pointer: fine) {
  body .elementor .gapp .gapp-hero__copy > .gapp-h1 { width: calc(100% + 90px); max-width: none; }
}

/* ---------- Efeitos (widgets HTML com a classe gapp-fx: partículas) ---------- */
body .elementor .gapp .gapp-fx { position: absolute; inset: 0; z-index: 0; width: auto; margin: 0; pointer-events: none; }
body .elementor .gapp .gapp-fx--behind { z-index: -1; }
body .elementor .gapp .gapp-fx--front { z-index: 2; }
body .elementor .gapp .gapp-fx > .elementor-widget-container { position: relative; height: 100%; }

/* Mostrador de partículas: SVG estático de imediato; o canvas WebGL assume depois da primeira interação (só fora do celular) */
body .elementor .gapp .gapp-dial {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(135%, 760px);
  aspect-ratio: 1;
  translate: -50% -50%;
  pointer-events: none;
}
body .elementor .gapp .gapp-dial--shield { width: min(120%, 640px); }
body .elementor .gapp .gapp-dial__svg { width: 100%; height: 100%; max-width: none; transition: opacity 1.2s ease; }
body .elementor .gapp .gapp-dial canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.2s ease;
}
body .elementor .gapp .gapp-dial.is-live canvas { opacity: 1; }
body .elementor .gapp .gapp-dial.is-live .gapp-dial__svg { opacity: 0; }

/* ---------- Janela de navegador: contêiner gapp-device > contêiner gapp-browser (moldura) > widget Imagem gapp-web (print) ---------- */
/* Mesmo princípio do celular da /aplicativo: o print é só a tela; a moldura é feita aqui. */
body .elementor .gapp .gapp-device {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  justify-self: stretch;
  width: 100%;
  /* brilho ciano atrás da janela */
  background: radial-gradient(closest-side, color-mix(in srgb, var(--g-cyan) 42%, transparent), transparent) center / 112% 150% no-repeat;
}
body .elementor .gapp .gapp-browser {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  padding: 34px 7px 7px;
  border-radius: 16px;
  background:
    radial-gradient(circle, rgba(255, 255, 255, .24) 4.5px, transparent 5px) 10px 8px / 18px 18px no-repeat,
    radial-gradient(circle, rgba(255, 255, 255, .24) 4.5px, transparent 5px) 25px 8px / 18px 18px no-repeat,
    radial-gradient(circle, rgba(255, 255, 255, .24) 4.5px, transparent 5px) 40px 8px / 18px 18px no-repeat,
    linear-gradient(150deg, #34444f 0%, #0d1922 42%, #1e2c37 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .08),
    inset 0 1px 0 rgba(255, 255, 255, .2),
    0 34px 64px -20px color-mix(in srgb, var(--g-navy-900) 60%, transparent),
    0 14px 28px -14px color-mix(in srgb, var(--g-navy-900) 40%, transparent);
}
/* barra de endereço */
body .elementor .gapp .gapp-browser::after {
  content: "app.genyo.com.br";
  position: absolute;
  top: 7px;
  left: 50%;
  translate: -50% 0;
  height: 20px;
  padding: 0 16px;
  border-radius: 99px;
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .66);
  font-size: 11px;
  line-height: 20px;
  letter-spacing: .02em;
  white-space: nowrap;
}
body .elementor .gapp .gapp-web { position: relative; width: 100%; margin: 0; text-align: left; }
body .elementor .gapp .gapp-web .elementor-widget-container {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 9px;
  background: #f2f6f8;
}
body .elementor .gapp .gapp-web img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: top left;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
/* Sem print escolhido: esboço de tela (menu lateral, barra e cartões) no lugar da imagem padrão do Elementor */
body .elementor .gapp .gapp-web img[src*="placeholder"] { opacity: 0; }
body .elementor .gapp .gapp-web:has(img[src*="placeholder"]) .elementor-widget-container {
  background:
    repeating-linear-gradient(90deg, #fff 0 22%, transparent 22% 26%) 88% 19% / 78% 18% no-repeat,
    repeating-linear-gradient(180deg, #fff 0 12%, transparent 12% 15%) 88% 92% / 78% 52% no-repeat,
    linear-gradient(180deg, #fff 0 9%, transparent 9%) 100% 0 / 86% 100% no-repeat,
    linear-gradient(90deg, var(--g-navy) 0 14%, #f2f6f8 14%);
}
/* No site publicado, o esboço mostra o nome do print que vai ali (atributo data-print do widget) */
body .elementor .gapp .gapp-web[data-print]:has(img[src*="placeholder"])::after {
  content: "Print: " attr(data-print);
  position: absolute;
  top: 50%;
  left: 57%;
  z-index: 3;
  max-width: 78%;
  translate: -50% -50%;
  padding: .5em 1em;
  border-radius: 999px;
  background: color-mix(in srgb, var(--g-navy-900) 86%, transparent);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

/* Várias telas na mesma janela (seletores): as seguintes ficam sobre a primeira */
body .elementor .gapp .gapp-browser > .gapp-web + .gapp-web { position: absolute; inset: 34px 7px 7px; width: auto; }

/* ---------- Revelação ao rolar para baixo (uma vez; sem animação contínua) ---------- */
body .elementor .gapp--reveal [data-gapp-device]:not(.is-in) .gapp-browser {
  opacity: 0;
  translate: var(--gapp-dx, 0) 14%;
  rotate: var(--gapp-rot, -3deg);
  scale: .92;
}
body .elementor .gapp--reveal [data-gapp-device].is-in .gapp-browser {
  transition: opacity .8s ease, translate 1.2s var(--g-ease), rotate 1.2s var(--g-ease), scale 1.2s var(--g-ease);
}
body .elementor .gapp .gapp-device--left { --gapp-dx: -10%; --gapp-rot: -4deg; }
body .elementor .gapp .gapp-device--right { --gapp-dx: 10%; --gapp-rot: 4deg; }

/* Janela do topo: entrada única no carregamento (só transformação, não atrasa o LCP) */
body .elementor .gapp .gapp-device--hero .gapp-browser { animation: gapp-hero-in 1.2s var(--g-ease) .1s both; }
@keyframes gapp-hero-in {
  from { translate: 0 12%; rotate: -3deg; scale: .94; }
  to { translate: none; rotate: none; scale: none; }
}

/* ---------- Blocos texto + janela ---------- */
body .elementor .gapp .gapp-spot {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(32px, 5vw, 80px);
}
body .elementor .gapp .gapp-spot--flip > .gapp-spot__media { order: -1; }
body .elementor .gapp .gapp-spot__media { position: relative; display: grid; place-items: center; }

body .elementor .gapp .gapp-duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(48px, 6vw, 72px) clamp(32px, 5vw, 80px);
}
body .elementor .gapp .gapp-duo__item { display: grid; justify-items: center; align-content: start; gap: clamp(28px, 3vw, 40px); }
body .elementor .gapp .gapp-duo__item > .gapp-copy { width: 100%; max-width: 30rem; }

/* ---------- Lista com pontos (Editor de texto com a classe gapp-dots) ---------- */
body .elementor .gapp .gapp-dots ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 2rem; margin: 0; padding: 0; list-style: none; }
body .elementor .gapp .gapp-dots li { position: relative; margin: 0; padding-left: 1.5rem; line-height: 1.45; }
body .elementor .gapp .gapp-dots--one ul { grid-template-columns: minmax(0, 1fr); }
body .elementor .gapp .gapp-dots li::before {
  content: "";
  position: absolute;
  left: .1rem;
  top: .5em;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: var(--g-cyan);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--g-cyan) 16%, transparent);
}

/* ---------- Seletores: modo compartilhado / individual e as 4 opções de documentos ---------- */
body .elementor .gapp .gapp-modes__opts .elementor-widget-container { display: grid; gap: 12px; max-width: 36rem; }
body .elementor .gapp .gapp-mode,
body .elementor .gapp .gapp-mode:hover,
body .elementor .gapp .gapp-mode:focus {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 1rem 1.25rem 1.1rem 3.25rem;
  border: 1px solid var(--g-line);
  border-radius: 20px;
  background: #fff;
  color: var(--g-text);
  font: inherit;
  text-align: left;
  text-transform: none;
  white-space: normal;
  cursor: pointer;
  transition: border-color .2s, box-shadow .25s;
}
body .elementor .gapp .gapp-mode:hover { border-color: color-mix(in srgb, var(--g-cyan) 70%, transparent); }
body .elementor .gapp .gapp-mode[aria-pressed="true"] { border-color: var(--g-cyan); box-shadow: 0 14px 30px -20px color-mix(in srgb, var(--g-navy) 45%, transparent); }
body .elementor .gapp .gapp-mode::before {
  content: "";
  position: absolute;
  left: 1.25rem;
  top: 1.25rem;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #9fb3bf;
}
body .elementor .gapp .gapp-mode[aria-pressed="true"]::before { border-color: var(--g-cyan); background: radial-gradient(var(--g-cyan) 0 42%, #fff 46%); }
body .elementor .gapp .gapp-mode strong { display: block; font-size: 1.125rem; font-weight: 700; color: var(--g-title); }
body .elementor .gapp .gapp-mode span { display: block; margin-top: .25rem; color: var(--g-muted); }

/* Só a tela da opção escolhida aparece (data-gapp-mode do bloco = data-gapp-screen da imagem) */
body .elementor .gapp [data-gapp-modes] [data-gapp-screen] { opacity: 0; transition: opacity .45s ease; }
body .elementor .gapp [data-gapp-modes] [data-gapp-screen] img { transform: translateX(16%); transition: transform .6s var(--g-ease); }
body .elementor .gapp [data-gapp-mode="shared"] [data-gapp-screen="shared"],
body .elementor .gapp [data-gapp-mode="individual"] [data-gapp-screen="individual"],
body .elementor .gapp [data-gapp-mode="admissao"] [data-gapp-screen="admissao"],
body .elementor .gapp [data-gapp-mode="nuvem"] [data-gapp-screen="nuvem"],
body .elementor .gapp [data-gapp-mode="assinatura"] [data-gapp-screen="assinatura"],
body .elementor .gapp [data-gapp-mode="comunicacao"] [data-gapp-screen="comunicacao"] { opacity: 1; z-index: 1; }
body .elementor .gapp [data-gapp-mode="shared"] [data-gapp-screen="shared"] img,
body .elementor .gapp [data-gapp-mode="individual"] [data-gapp-screen="individual"] img,
body .elementor .gapp [data-gapp-mode="admissao"] [data-gapp-screen="admissao"] img,
body .elementor .gapp [data-gapp-mode="nuvem"] [data-gapp-screen="nuvem"] img,
body .elementor .gapp [data-gapp-mode="assinatura"] [data-gapp-screen="assinatura"] img,
body .elementor .gapp [data-gapp-mode="comunicacao"] [data-gapp-screen="comunicacao"] img { transform: none; }

/* ---------- 99,9% (Editor de texto com a classe gapp-figure) ---------- */
body .elementor .gapp .gapp-figure p {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  max-width: none;
  padding-top: 1.25rem;
  border-top: 1px solid var(--g-line);
}
body .elementor .gapp .gapp-figure strong { font-size: clamp(3rem, 2.4rem + 2.4vw, 4.5rem); font-weight: 700; line-height: 1; color: var(--g-title); }
body .elementor .gapp .gapp-figure .gapp-figure__label { max-width: 14rem; font-size: .9375rem; line-height: 1.45; color: var(--g-muted); }

/* ---------- Passos da correção (Editor de texto com a classe gapp-steps) ---------- */
body .elementor .gapp .gapp-steps ol { position: relative; display: grid; gap: 1.25rem; margin: 0; padding: 0; list-style: none; counter-reset: gapp-step; }
body .elementor .gapp .gapp-steps ol::before {
  content: "";
  position: absolute;
  left: calc(1.1rem - 1px);
  top: 1.2rem;
  bottom: 1.2rem;
  width: 2px;
  background: repeating-linear-gradient(180deg, var(--g-cyan) 0 2px, transparent 2px 8px);
}
body .elementor .gapp .gapp-steps li { position: relative; margin: 0; padding-left: 3.5rem; counter-increment: gapp-step; }
body .elementor .gapp .gapp-steps li::before {
  content: counter(gapp-step);
  position: absolute;
  left: 0;
  top: -.1rem;
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: var(--g-navy);
  color: #fff;
  font-size: .9375rem;
  font-weight: 700;
}
body .elementor .gapp .gapp-steps strong { display: block; color: var(--g-title); font-weight: 700; }

/* ---------- Portaria 671 ---------- */
body .elementor .gapp .gapp-legal {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 6vw, 96px);
}
body .elementor .gapp .gapp-legal > .elementor-widget-html { width: auto; }
body .elementor .gapp .gapp-seal { width: clamp(180px, 22vw, 260px); margin-inline: auto; }
body .elementor .gapp .gapp-seal text { font-family: inherit; fill: #fff; }
body .elementor .gapp .gapp-legal p { max-width: 40rem; }
body .elementor .gapp .gapp-legal .gapp-dots ul { grid-template-columns: minmax(0, 1fr); }

/* ---------- Perguntas frequentes: título centralizado + shortcode [genyo_faq local="sistema"] (mesmo FAQ da Home) ---------- */
body .elementor .gapp .gapp-faq { display: grid; gap: clamp(28px, 3.5vw, 48px); }
body .elementor .gapp .gapp-faq > .gapp-h2 { text-align: center; }

/* ---------- Chamada final ---------- */
body .elementor .gapp.gapp-cta { margin-bottom: clamp(20px, 3vw, 40px); overflow: clip; }
body .elementor .gapp .gapp-cta__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: center;
  gap: clamp(24px, 5vw, 80px);
}
body .elementor .gapp .gapp-cta__media { display: grid; place-items: center; }

/* Janela da chamada final: inclina em 3D acompanhando o mouse */
body .elementor .gapp.gapp-cta .gapp-device--tilt .gapp-browser {
  transform: perspective(1400px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
  transition: transform .5s var(--g-ease), opacity .8s ease, translate 1.2s var(--g-ease), rotate 1.2s var(--g-ease), scale 1.2s var(--g-ease);
}
body .elementor .gapp .gapp-device--tilt .gapp-web .elementor-widget-container::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, .22) 50%, transparent 62%)
    calc(50% - var(--gx, 0) * 45%) 0 / 260% 100% no-repeat;
  opacity: var(--glare, 0);
  transition: opacity .4s ease, background-position .5s var(--g-ease);
}

/* Contêiner do widget de scripts: não ocupa espaço */
body .elementor .gapp.gapp-scripts { height: 0; overflow: hidden; }

/* Passos e número em faixa escura */
body .elementor .gapp.gapp-dark .gapp-steps li::before { background: var(--g-cyan); color: var(--g-navy-900); }
body .elementor .gapp.gapp-dark .gapp-figure p { border-top-color: var(--g-line-dark); }
body .elementor .gapp.gapp-dark .gapp-figure .gapp-figure__label { color: var(--g-on-dark); }

/* Escudo sobre faixa clara: pontos em azul-escuro (cor global do kit), no desenho e nas partículas */
body .elementor .gapp .gapp-dial--ink { color: var(--g-navy); }

/* "Ocultar em" do Elementor (Avançado > Responsivo) vale também para os elementos desta página que têm display próprio.
   Mesmas faixas dos breakpoints do site: celular até 500px, celular estendido até 767px, tablet até 1024px. Fora do editor. */
@media (max-width: 500px) {
  body:not(.elementor-editor-active) .elementor .gapp .elementor-hidden-mobile { display: none; }
}
@media (min-width: 501px) and (max-width: 767px) {
  body:not(.elementor-editor-active) .elementor .gapp .elementor-hidden-mobile_extra { display: none; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body:not(.elementor-editor-active) .elementor .gapp .elementor-hidden-tablet { display: none; }
}

/* Celular e tablet (na vertical e na horizontal): o topo fica só com o texto, sem a janela e sem o relógio.
   Até 1024px quem oculta é o "Ocultar em" do contêiner de mídia do topo; aqui entram os tablets maiores, pela tela de toque. */
@media (hover: none) and (pointer: coarse) {
  body .elementor .gapp .gapp-hero__media { display: none; }
  body .elementor .gapp .gapp-hero__grid { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Responsivo ---------- */
@media (max-width: 1024px) {
  /* mídia do topo oculta: o texto ocupa a largura toda */
  body .elementor .gapp .gapp-hero__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
  body .elementor .gapp .gapp-hero__grid,
  body .elementor .gapp .gapp-spot,
  body .elementor .gapp .gapp-legal,
  body .elementor .gapp .gapp-cta__grid { grid-template-columns: minmax(0, 1fr); }
  body .elementor .gapp .gapp-spot--flip > .gapp-spot__media { order: 0; }
  body .elementor .gapp.gapp-cta .gapp-device--tilt .gapp-browser { transform: none; }
  /* Escudo da segurança: o mesmo respiro em cima e embaixo da janela, do tamanho que o escudo passa dela
     (desenho = 90% de min(120%, 640px); janela = (largura - 14px) x 10/16 + 41px), com 16px de folga.
     Assim ele não invade o texto acima nem perde a ponta embaixo. O brilho ciano fica só do tamanho da janela (content-box), sem esticar no respiro. */
  body .elementor .gapp .gapp-device:has(.gapp-dial--shield) { padding-block: calc((min(120%, 640px) * .9 - (100% - 14px) * .625 - 41px) / 2 + 16px); background-origin: content-box; background-clip: content-box; }
}

@media (max-width: 640px) {
  body .elementor .gapp .gapp-duo { grid-template-columns: minmax(0, 1fr); }
  body .elementor .gapp .gapp-dots ul { grid-template-columns: minmax(0, 1fr); }
  body .elementor .gapp .gapp-actions > .gapp-btn,
  body .elementor .gapp .gapp-actions > .gapp-btn .elementor-button { width: 100%; }
  body .elementor .gapp .gapp-figure p { flex-direction: column; align-items: flex-start; gap: .5rem; }
}

/* Celular (até 767px, breakpoint do Elementor), telas de toque e "reduzir movimento": página estática, sem nenhum efeito */
@media (max-width: 767px), (hover: none) and (pointer: coarse), (prefers-reduced-motion: reduce) {
  body .elementor .gapp *, body .elementor .gapp *::before, body .elementor .gapp *::after { animation: none !important; transition: none !important; }
}/* End custom CSS */