/* G-Moove: estilos sobre o markup do Elementor Pro. Paleta em docs/paleta.md */
:root{
  --bg-deep:#0A0F1C; --bg:#111A2E; --surface:#18243D; --surface-2:#1E2D4A;
  --blue-700:#1F4C80; --blue-500:#3A74B8; --blue-300:#6090C0; --blue-100:#90A8D8;
  --silver:#90A0B8; --text:#EAF0F8; --muted:#A9B7CD;
  --light-bg:#F3F6FA; --light-text:#0F1A2E; --light-muted:#52627C; --line:rgba(144,168,216,.18); --line-l:#DCE4EF;
  --ok:#2FBF8A; --warn:#F2B23C; --bad:#EF5B5B;
  --grad:linear-gradient(135deg,#1F4C80,#3A74B8 60%,#6090C0);
  --r:16px; --r-lg:24px;
  --f-head:'Sora',system-ui,sans-serif; --f-body:'Inter',system-ui,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth}
body.gm{--kit-widget-spacing:0px;background:var(--bg-deep);color:var(--text);font:400 16px/1.65 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
.gm h1,.gm h2,.gm h3,.gm h4{font-family:var(--f-head);line-height:1.15;margin:0;letter-spacing:-.02em;font-weight:700;color:inherit}
.gm .elementor-heading-title{color:inherit}
.gm p{margin:0}
.gm a{color:inherit}
.gm svg.ico{width:1.25em;height:1.25em;vertical-align:-.22em;flex:none}
:focus-visible{outline:3px solid var(--blue-300);outline-offset:3px;border-radius:6px}
.gm .grad{background:linear-gradient(120deg,#6090C0,#A9C4F0 55%,#6090C0);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:-200% 0}}
.gm .elementor-widget-text-editor,.gm .elementor-icon-list-text,.gm .elementor-icon-box-description{color:inherit}

/* ---------- Seções ---------- */
.gm .sec{color:var(--text)}
.gm .sec--light{color:var(--light-text)}
.gm .sec--light .lead,.gm .sec--light .elementor-widget-text-editor{color:var(--light-muted)}
.gm .sec h2{font-size:clamp(28px,4vw,46px)}
.gm .sec__head{max-width:780px;margin:0 auto clamp(36px,5vw,60px)!important;text-align:center;width:100%}
.gm .sec__head h2{margin-bottom:0}
.gm .sec__head .lead{margin-top:18px;max-width:62ch}
.gm .lead{font-size:clamp(16px,1.6vw,19px);color:var(--muted)}
.gm .lead p{max-width:62ch}
.gm .sec__head .lead p{margin-inline:auto}
.gm h2+.lead,.gm .elementor-widget-heading+.lead{margin-top:18px}
.gm .eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;font:600 12.5px var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-300);margin-bottom:16px}
.gm .eyebrow .elementor-heading-title::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor}
.gm .sec--light .eyebrow .elementor-heading-title{color:var(--blue-500)}
.gm .h3 .elementor-heading-title,.gm .h3{font-size:clamp(20px,2.4vw,26px)}
.gm .h3{margin-bottom:18px}
.gm .center{text-align:center;margin-top:64px;margin-bottom:24px}
.gm .fine{margin-top:26px;font-size:13px;color:var(--muted);text-align:center}
.gm .note{margin-top:18px;font-size:14.5px}
.gm .hide{display:none}

/* ---------- Botões ---------- */
.gm .btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 15px/1 var(--f-body);padding:14px 22px;border-radius:12px;border:1px solid transparent;background:none;color:#fff;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,border-color .25s;position:relative;overflow:hidden;fill:currentColor}
.gm .btn .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px}
.gm .btn .elementor-button-icon{display:inline-flex}
.gm .btn .elementor-button-icon svg{width:1em;height:1em}
.gm .btn--lg .elementor-button{padding:17px 26px;font-size:16px}
.gm .btn--sm .elementor-button{padding:10px 16px;font-size:14px}
.gm .btn--primary .elementor-button{background:var(--grad);box-shadow:0 8px 28px -8px rgba(58,116,184,.7)}
.gm .btn--primary .elementor-button::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.gm .btn--primary .elementor-button:hover{transform:translateY(-2px);box-shadow:0 14px 34px -8px rgba(96,144,192,.85);color:#fff}
.gm .btn--primary .elementor-button:hover::after{transform:translateX(120%)}
.gm .btn--ghost .elementor-button{background:rgba(255,255,255,.04);border-color:var(--line);color:var(--text)}
.gm .btn--ghost .elementor-button:hover{border-color:var(--blue-300);background:rgba(96,144,192,.12);transform:translateY(-2px);color:#fff}
.gm .btn--wa .elementor-button{background:#1FAF5A;margin-top:26px}
.gm .btn--wa .elementor-button:hover{background:#25C566;transform:translateY(-2px)}

/* ---------- Cabeçalho (Theme Builder) ---------- */
.gm .hdr{width:100%;transition:box-shadow .3s,background .3s}
.gm .hdr.elementor-sticky--effects{background:rgba(10,15,28,.9)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.gm .hdr__in{width:100%}
.gm .brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.gm .brand__mark{width:38px;height:38px;transition:transform .5s var(--ease)}
.gm .brand:hover .brand__mark{transform:rotate(-12deg) scale(1.06)}
.gm .brand__txt{display:flex;flex-direction:column;line-height:1}
.gm .brand__txt b{font:700 21px var(--f-head);letter-spacing:-.02em;color:#fff}
.gm .brand__txt small{font:500 9.5px var(--f-body);letter-spacing:.32em;text-transform:uppercase;color:var(--silver);margin-top:4px}
.gm .hdr__right{width:auto;margin-left:auto}
.gm .gmnav .elementor-nav-menu--main .elementor-item{font:500 14.5px var(--f-body);color:var(--muted);padding:8px 12px;background:none;transition:color .2s}
.gm .gmnav .elementor-nav-menu--main .elementor-item:hover,.gm .gmnav .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#fff}
.gm .gmnav .e--pointer-underline .elementor-item::after,.gm .gmnav .e--pointer-underline .elementor-item::before{background-color:var(--blue-300);height:2px}
.gm .gmnav .elementor-menu-toggle{color:#fff;background:none;border:0;font-size:24px}
.gm .gmnav .elementor-nav-menu--dropdown{background:rgba(10,15,28,.98);border-bottom:1px solid var(--line)}
.gm .gmnav .elementor-nav-menu--dropdown .elementor-item{padding:14px 20px;font-size:16px;color:var(--text);border-bottom:1px solid var(--line)}
.gm .gmprogress{position:absolute!important;left:0;right:0;bottom:0;width:100%;height:2px;margin:0!important}
.gm .gmprogress .elementor-widget-container,.gm .gmprogress .elementor-scrolling-tracker,.gm .gmprogress .current-progress,.gm .gmprogress .current-progress-percentage{height:2px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background-color:transparent!important}
.gm .gmprogress .elementor-scrolling-tracker-horizontal .current-progress{background:transparent;height:2px;border:0;border-radius:0}
.gm .gmprogress .current-progress-percentage{background:var(--grad)!important}

/* ---------- Hero ---------- */
.gm .hero{position:relative;overflow:hidden;background-image:radial-gradient(1200px 600px at 20% -10%,#14233F,transparent 70%)!important}
.gm .hero::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:#1F4C80;filter:blur(90px);opacity:.5;top:-120px;right:-80px;animation:float 14s ease-in-out infinite;pointer-events:none}
.gm .hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 30%,#000 10%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 10%,transparent 70%);opacity:.3;pointer-events:none}
.gm .hero>.e-con-inner{position:relative;z-index:1}
@keyframes float{50%{transform:translate(-30px,24px) scale(1.08)}}
.gm .hero__in{width:100%}
.gm .hero__h1{margin-bottom:28px}
.gm .hero__h1 .elementor-headline{font:700 clamp(32px,4.3vw,54px)/1.12 var(--f-head);letter-spacing:-.03em;color:#fff;margin:0}
.gm .hero__h1 .elementor-headline-dynamic-text{background:linear-gradient(120deg,#6090C0,#A9C4F0);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.1em}
.gm .hero__h1 .elementor-headline-plain-text{color:#fff}
.gm .hero__h1 .elementor-headline-dynamic-wrapper{vertical-align:baseline}
.gm .hero__h1 .elementor-headline-dynamic-wrapper+.elementor-headline-plain-text{margin-left:-.3em}
.gm .hero .lead{margin-bottom:32px}
.gm .hero__cta{margin-bottom:28px}
.gm .trust .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;margin:0;padding:0}
.gm .trust .elementor-icon-list-item{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14.5px}
.gm .trust .elementor-icon-list-icon{color:var(--ok);display:inline-flex;font-size:13px}
.gm .trust svg{width:1em;height:1em;fill:currentColor}
.gm .hero__vis{position:relative;align-items:center}
.gm .hero__mock{position:relative;padding:26px 0 46px;width:100%}
.gm .mock{background:linear-gradient(180deg,#14203A,#0E1830);border:1px solid var(--line);border-radius:20px;box-shadow:0 40px 80px -30px rgba(0,0,0,.8);overflow:hidden}
.gm .mock__bar{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.gm .mock__bar i{width:10px;height:10px;border-radius:50%;background:#2A3A58}
.gm .mock__bar span{margin-left:10px}
.gm .mock__body{padding:18px}
.gm .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.gm .kpi{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:12px}
.gm .kpi small{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.gm .kpi b{font:700 24px var(--f-head)}
.gm .kpi--ok b{color:var(--ok)}.gm .kpi--warn b{color:var(--warn)}.gm .kpi--bad b{color:var(--bad)}
.gm .trip{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.gm .trip__h{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:10px;gap:8px}
.gm .bar{height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.gm .bar span{display:block;height:100%;width:0;border-radius:6px;background:var(--grad);animation:fill 1.6s var(--ease) .6s forwards}
.gm .bar--warn span{background:linear-gradient(90deg,#B97F10,var(--warn))}
@keyframes fill{to{width:var(--w)}}
.gm .tag{font:600 11px var(--f-body);font-style:normal;padding:3px 9px;border-radius:99px;white-space:nowrap}
.gm .tag--ok{background:rgba(47,191,138,.16);color:var(--ok)}
.gm .tag--warn{background:rgba(242,178,60,.16);color:var(--warn)}
.gm .mock__note{font-size:11px;color:var(--muted);text-align:center;margin-top:6px;opacity:.7}
.gm .chip{position:absolute;display:flex;align-items:center;gap:12px;background:rgba(17,26,46,.94);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;padding:12px 16px;box-shadow:0 18px 40px -16px rgba(0,0,0,.8);animation:bobchip 6s ease-in-out infinite}
.gm .chip .ico{width:26px;height:26px;color:var(--blue-300)}
.gm .chip b{display:block;font:600 14px var(--f-head)}
.gm .chip small{font-size:12px;color:var(--muted)}
.gm .chip--1{left:-30px;top:-4px}
.gm .chip--2{right:0;bottom:-6px;animation-delay:-2s}
.gm .chip--3{left:4%;bottom:-6px;animation-delay:-4s}
@keyframes bobchip{50%{transform:translateY(-10px)}}

/* ---------- Números ---------- */
.gm .stats{border-block:1px solid var(--line)}
.gm .stats__grid{width:100%}
.gm .stat{text-align:center;padding:8px 14px;position:relative}
.gm .stat .elementor-counter{display:flex;flex-direction:column-reverse;align-items:center}
.gm .stat .elementor-counter-number-wrapper{font:800 clamp(30px,4vw,46px)/1.1 var(--f-head);letter-spacing:-.03em;background:linear-gradient(135deg,#6090C0,#B9D0F5);-webkit-background-clip:text;background-clip:text;color:transparent;justify-content:center}
.gm .stat .elementor-counter-title{color:var(--muted);font:400 14.5px/1.5 var(--f-body);margin-top:6px;max-width:26ch;text-align:center}
.gm .stats__foot{margin-top:26px;font-size:12.5px;color:var(--muted);text-align:center;opacity:.8}
.gm .stat+.stat::before{content:"";position:absolute;left:-11px;top:12%;bottom:12%;width:1px;background:var(--line)}

/* ---------- Cartões ---------- */
.gm .card{background:#fff;border:1px solid var(--line-l);border-radius:var(--r-lg);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.gm .card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -24px rgba(15,26,46,.35);border-color:#B8C9E2}
.gm .card--dark{background:var(--surface);border-color:var(--line);color:var(--text)}
.gm .card--dark:hover{border-color:var(--blue-300);box-shadow:0 24px 50px -22px rgba(0,0,0,.7)}
.gm .card--hl{background:linear-gradient(180deg,var(--surface-2),var(--surface))}
.gm .card h3{font-size:20px;margin-bottom:12px}
.gm .card--dark h3,.gm .card--dark .elementor-icon-box-title{color:#fff}
.gm .card--dark .elementor-icon-box-description{color:var(--muted)}
.gm .pill{display:inline-block;font:600 12.5px var(--f-body);margin-bottom:16px}
.gm .pill p{display:inline-block;color:var(--blue-100);background:rgba(96,144,192,.14);border:1px solid var(--line);border-radius:99px;padding:5px 12px}
.gm .ticks .elementor-icon-list-items{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gm .ticks .elementor-icon-list-item{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--muted)}
.gm .ticks .elementor-icon-list-icon{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--grad);color:#fff;flex:none;margin-top:.25em;font-size:9px}
.gm .ticks .elementor-icon-list-icon svg{width:9px;height:9px;fill:#fff}
.gm .ticks--lg .elementor-icon-list-item{font-size:16.5px}
.gm .ticks b{color:#fff}
.gm .sec--light .ticks .elementor-icon-list-item{color:var(--light-muted)}
.gm .sec--light .ticks b{color:var(--light-text)}

/* ---------- Problema: Flip Box ---------- */
.gm .risks{width:100%}
.gm .risk .elementor-flip-box{border-radius:var(--r-lg);box-shadow:0 18px 40px -26px rgba(15,26,46,.4)}
.gm .risk .elementor-flip-box__layer{border-radius:var(--r-lg);border:1px solid var(--line-l)}
.gm .risk .elementor-flip-box__front{background:#fff}
.gm .risk .elementor-flip-box__front .elementor-flip-box__layer__overlay{color:var(--light-text)}
.gm .risk .elementor-flip-box__back .elementor-flip-box__layer__overlay{color:#fff}
.gm .risk .elementor-flip-box__back{background:var(--grad);color:#fff;border-color:transparent}
.gm .risk .elementor-flip-box__layer__overlay{padding:26px 22px;text-align:left;align-items:flex-start;justify-content:flex-start}
.gm .risk .elementor-flip-box__layer__inner{width:100%}
.gm .risk .elementor-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(58,116,184,.12);color:var(--blue-500);font-size:24px;margin-bottom:16px}
.gm .risk .elementor-icon svg{width:24px;height:24px;fill:currentColor}
.gm .risk .elementor-flip-box__layer__title{font:700 20px/1.2 var(--f-head);margin-bottom:12px;color:inherit}
.gm .risk .elementor-flip-box__front .elementor-flip-box__layer__description{font-size:14.5px;color:var(--light-muted);line-height:1.55}
.gm .risk .elementor-flip-box__back .elementor-flip-box__layer__description{font-size:15px;color:#fff;line-height:1.55}
.gm .risk .elementor-flip-box__back .elementor-flip-box__layer__title{font-size:19px}
.gm .risk .elementor-flip-box__button{display:none}
.gm .risk .elementor-flip-box__front .elementor-flip-box__layer__description::after{content:"Passe o mouse para ver a consequência";display:block;margin-top:14px;font:600 12px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--blue-500)}
.gm .callout{display:block;margin-top:36px;padding:18px 22px;border-radius:14px;background:#FDECEC;color:#8C2323!important;text-align:center;font-weight:500}
.gm .callout p,.gm .callout strong{color:#8C2323}
.gm .sec--light .callout p{color:#8C2323}

/* ---------- Solução ---------- */
.gm .flowwrap{margin-bottom:34px}
.gm .flow{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center}
.gm .flow__src{display:grid;gap:16px}
.gm .node{display:flex;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;transition:transform .3s var(--ease),border-color .3s}
.gm .node:hover{transform:translateX(6px);border-color:var(--blue-300)}
.gm .node b{display:block;font:600 17px var(--f-head);margin-bottom:2px;color:#fff}
.gm .node small{color:var(--muted);font-size:14px;line-height:1.45;display:block}
.gm .node__ico{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:rgba(96,144,192,.16);color:var(--blue-300);flex:none}
.gm .node__ico .ico{width:26px;height:26px}
.gm .node--hub{background:linear-gradient(135deg,rgba(31,76,128,.55),rgba(58,116,184,.25));border-color:var(--blue-500);padding:30px 24px;box-shadow:0 0 60px -10px rgba(58,116,184,.55)}
.gm .node--hub:hover{transform:scale(1.02)}
.gm .flow__lines{display:grid;align-content:center}
.gm .flow__lines span{height:2px;margin:46px 0;background:linear-gradient(90deg,var(--blue-700),var(--blue-300));background-size:200% 100%;animation:dash 2s linear infinite;border-radius:2px;position:relative}
.gm .flow__lines span::after{content:"";position:absolute;right:-2px;top:-4px;border:5px solid transparent;border-left:8px solid var(--blue-300)}
@keyframes dash{to{background-position:-200% 0}}
.gm .vinc{width:100%}

/* ---------- Cadastro ---------- */
.gm .steps{width:100%;position:relative}
.gm .step{text-align:center}
.gm .step__n .elementor-heading-title{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border-radius:50%;background:var(--grad);color:#fff;font:700 20px var(--f-head);box-shadow:0 10px 24px -8px rgba(58,116,184,.7),0 0 0 6px var(--light-bg);transition:transform .35s var(--ease)}
.gm .step:hover .step__n .elementor-heading-title{transform:scale(1.12) rotate(-6deg)}
.gm .step h3{font-size:18px;margin-bottom:8px}
.gm .step p{font-size:14.5px;color:var(--light-muted)}
.gm .chips .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.gm .chips .elementor-icon-list-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line-l);border-radius:99px;padding:9px 16px;font-size:14.5px;color:var(--light-text);transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}
.gm .chips .elementor-icon-list-item:hover{transform:translateY(-3px);border-color:var(--blue-300);box-shadow:0 10px 24px -14px rgba(31,76,128,.6)}
.gm .chips .elementor-icon-list-icon{color:var(--blue-500)}
.gm .chips svg{width:1em;height:1em;fill:currentColor}
.gm .compare{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line-l);background:#fff;width:100%}
.gm .compare__col h4{font-size:16px;margin-bottom:14px}
.gm .cmp .elementor-icon-list-items{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14.5px}
.gm .cmp .elementor-icon-list-item{display:flex;gap:10px;align-items:flex-start;color:var(--light-text)}
.gm .cmp svg{width:.9em;height:.9em;margin-top:.35em}
.gm .compare__col--bad{background:#FBF2F2}.gm .compare__col--bad h4{color:#B23434}.gm .compare__col--bad .elementor-icon-list-icon{color:#C93C3C}
.gm .compare__col--good{background:#EDF6F2}.gm .compare__col--good h4{color:#1E7F5C}.gm .compare__col--good .elementor-icon-list-icon{color:#1E9C6E}
.gm .cmp .elementor-icon-list-icon svg{fill:currentColor}

/* ---------- Plataforma ---------- */
.gm .feats{width:100%;gap:1px!important;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:0}
.gm .feat{background:var(--bg);padding:30px;transition:background .3s}
.gm .feat:hover{background:var(--surface)}
.gm .feat .elementor-icon-box-icon{margin-bottom:16px}
.gm .feat .elementor-icon,.gm .mini .elementor-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:rgba(96,144,192,.14);color:var(--blue-300);font-size:22px;transition:transform .35s var(--ease)}
.gm .feat:hover .elementor-icon{transform:translateY(-4px)}
.gm .feat .elementor-icon svg,.gm .mini .elementor-icon svg,.gm .card .elementor-icon svg,.gm .lgpdbox .elementor-icon svg{width:1em;height:1em;fill:currentColor}
.gm .elementor-icon-box-wrapper,.gm .elementor-position-top .elementor-icon-box-wrapper{text-align:left}
.gm .elementor-icon-box-icon{margin-bottom:0}
.gm .elementor-icon-box-title{font:700 18px/1.25 var(--f-head);margin-bottom:8px;color:inherit}
.gm .feat .elementor-icon-box-description{color:var(--muted);font-size:14.5px}
.gm .cycle{width:100%}
.gm .cyc{background:var(--surface);border:1px solid var(--line);border-radius:14px;text-align:center;font-size:13.5px;line-height:1.35;color:var(--muted);transition:transform .3s var(--ease),border-color .3s,color .3s}
.gm .cyc:hover{transform:translateY(-6px);border-color:var(--blue-300);color:#fff}
.gm .cyc__n .elementor-heading-title{display:grid;place-items:center;width:30px;height:30px;margin:0 auto;border-radius:50%;background:var(--grad);color:#fff;font:700 13px var(--f-head)}

/* ---------- Alertas ---------- */
.gm .sec--deep{background-image:radial-gradient(900px 400px at 85% 10%,rgba(58,116,184,.16),transparent 60%)!important}
.gm .split{width:100%}
.gm .alert__copy,.gm .app__copy{padding-right:0}
.gm .alert__copy .ticks{margin-top:26px}
.gm .lvl{border-radius:14px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(31,76,128,.5),rgba(30,45,74,.7));text-align:center;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.gm .lvl:hover{transform:scale(1.04);border-color:var(--blue-300);box-shadow:0 0 36px -8px rgba(96,144,192,.7)}
.gm .lvl__t .elementor-heading-title{font:700 14px var(--f-head);color:var(--blue-300)}
.gm .lvl p{font-size:14px;color:var(--text)}
.gm .lvl--5{width:52%;background:var(--grad)}.gm .lvl--5 .lvl__t .elementor-heading-title{color:#fff}
.gm .lvl--4{width:62%}.gm .lvl--3{width:74%}.gm .lvl--2{width:87%}.gm .lvl--1{width:100%}

/* ---------- App ---------- */
.gm .mini{margin-top:22px}
.gm .mini .elementor-icon-box-wrapper{display:flex;gap:16px;align-items:flex-start}
.gm .mini .elementor-icon{background:rgba(58,116,184,.12);color:var(--blue-500);flex:none}
.gm .mini:hover .elementor-icon{background:var(--blue-500);color:#fff;transform:rotate(-6deg)}
.gm .mini .elementor-icon-box-title{font-size:17px;margin-bottom:4px;color:var(--light-text)}
.gm .mini .elementor-icon-box-description{font-size:14.5px;color:var(--light-muted)}
.gm .phonewrap{display:flex;justify-content:center}
.gm .phone{width:290px;padding:12px;border-radius:44px;background:linear-gradient(160deg,#2A3A58,#0C1426);box-shadow:0 40px 80px -30px rgba(15,26,46,.7);position:relative}
.gm .phone::before{content:"";position:absolute;top:20px;left:50%;width:84px;height:22px;border-radius:14px;background:#05080F;transform:translateX(-50%);z-index:2}
.gm .phone__scr{background:#F3F6FA;border-radius:34px;padding:54px 16px 18px;color:#0F1A2E;min-height:520px}
.gm .phone__top{display:flex;justify-content:space-between;align-items:center;font:700 17px var(--f-head);margin-bottom:16px}
.gm .dot{width:10px;height:10px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 4px rgba(239,91,91,.2);animation:pulse 1.6s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(239,91,91,0)}}
.gm .doc{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fff;border:1px solid var(--line-l);border-radius:12px;padding:12px;margin-bottom:9px;font-size:13.5px}
.gm .doc span{display:flex;align-items:center;gap:8px;color:#0F1A2E}
.gm .doc .ico{color:var(--blue-500)}
.gm .phone .tag--ok{background:#DDF3EA;color:#1E7F5C}.gm .phone .tag--warn{background:#FCEFD3;color:#9A6A07}
.gm .voice{display:flex;gap:10px;align-items:center;margin-top:16px;padding:14px;border-radius:14px;background:var(--grad);color:#fff;font-size:13px;line-height:1.35;animation:glowv 3s ease-in-out infinite}
.gm .voice .ico{width:24px;height:24px}
@keyframes glowv{50%{box-shadow:0 0 0 6px rgba(96,144,192,.25)}}

/* ---------- Economia ---------- */
.gm .eco{width:100%}
.gm .eco .card{padding:30px}
.gm .eco .elementor-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(96,144,192,.16);color:var(--blue-300);font-size:24px;margin-bottom:6px}
.gm .eco .card:hover .elementor-icon{background:var(--blue-500);color:#fff}
.gm .eco .elementor-icon-box-title{font-size:20px;margin:16px 0 12px;color:#fff}
.gm .eco .elementor-icon-box-description{color:var(--muted)}

/* ---------- Compliance: Tabs ---------- */
.gm .gmtabs .elementor-tabs{background:#fff;border:1px solid var(--line-l);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 20px 50px -30px rgba(15,26,46,.3)}
.gm .gmtabs .elementor-tabs-wrapper{display:flex;gap:4px;padding:8px;background:#E8EEF7;overflow-x:auto}
.gm .gmtabs .elementor-tab-title.elementor-tab-desktop-title{flex:1;min-width:max-content;text-align:center;padding:14px 18px;border:0;border-radius:12px;font:600 15px var(--f-body);color:var(--light-muted);cursor:pointer;background:none;transition:background .25s,color .25s,box-shadow .25s}
.gm .gmtabs .elementor-tab-title.elementor-tab-desktop-title:hover{color:var(--light-text)}
.gm .gmtabs .elementor-tab-title.elementor-tab-desktop-title.elementor-active{background:#fff;color:var(--blue-500);box-shadow:0 6px 16px -8px rgba(15,26,46,.35)}
.gm .gmtabs .elementor-tab-content{padding:30px;border:0;color:var(--light-muted)}
.gm .gmtabs .elementor-tab-mobile-title{padding:16px 20px;font:600 16px var(--f-head);color:var(--light-text);background:#E8EEF7}
.gm .gmtabs ul.ticks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.gm .gmtabs ul.ticks li{position:relative;padding-left:28px;font-size:16.5px;color:var(--light-muted)}
.gm .gmtabs ul.ticks li::before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:var(--grad)}
.gm .gmtabs ul.ticks li::after{content:"";position:absolute;left:6px;top:.62em;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.gm .lgpd{border-radius:var(--r-lg);background:linear-gradient(135deg,#0E1830,#18243D);color:var(--text);width:100%}
.gm .lgpdbox .elementor-icon-box-wrapper{display:flex;gap:20px;align-items:flex-start}
.gm .lgpdbox .elementor-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(96,144,192,.18);color:var(--blue-300);font-size:26px;flex:none}
.gm .lgpdbox .elementor-icon-box-title{color:#fff;font-size:20px}
.gm .lgpdbox .elementor-icon-box-description{color:var(--muted)}
.gm .lgpdbox .elementor-icon-box-description b{color:#fff}

/* ---------- Case ---------- */
.gm .case{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:28px;width:100%}
.gm .case__big .elementor-heading-title{display:flex;align-items:baseline;justify-content:center;gap:18px;flex-wrap:wrap;font:800 clamp(44px,8vw,92px)/1 var(--f-head);letter-spacing:-.04em;margin-bottom:36px;text-align:center}
.gm .case__big .arr{font-size:.5em;color:var(--blue-300);align-self:center;font-family:var(--f-body);font-weight:600}
.gm .case__big small{flex-basis:100%;text-align:center;font:500 16px var(--f-body);letter-spacing:0;color:var(--muted);margin-top:4px}
.gm .case__grid{width:100%}
.gm .cs{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:16px;padding:22px;text-align:center;transition:transform .3s var(--ease),border-color .3s}
.gm .cs:hover{transform:translateY(-5px);border-color:var(--blue-300)}
.gm .cs .elementor-counter{display:flex;flex-direction:column-reverse;align-items:center}
.gm .cs .elementor-counter-number-wrapper{font:800 36px/1.1 var(--f-head);color:var(--blue-300);justify-content:center}
.gm .cs .elementor-counter-title{color:var(--muted);font:400 14px/1.5 var(--f-body);margin-top:6px}
.gm .case__q{margin-top:30px;text-align:center;color:var(--muted);font-style:italic}
.gm .case__q p{max-width:62ch;margin-inline:auto}
.gm .case__q cite{display:block;margin-top:8px;font-style:normal;font-weight:600;color:var(--blue-100);font-size:14px}

/* ---------- FAQ: Accordion ---------- */
.gm .gmfaq .elementor-accordion{display:grid;gap:12px}
.gm .gmfaq .elementor-accordion-item{background:#fff;border:1px solid var(--line-l)!important;border-radius:14px;overflow:hidden;transition:border-color .25s,box-shadow .25s}
.gm .gmfaq .elementor-accordion-item:hover{border-color:#B8C9E2!important}
.gm .gmfaq .elementor-accordion-item:has(.elementor-active){border-color:var(--blue-500)!important;box-shadow:0 14px 30px -20px rgba(31,76,128,.6)}
.gm .gmfaq .elementor-tab-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;font:600 16.5px var(--f-head);color:var(--light-text);margin:0;border:0;background:none}
.gm .gmfaq .elementor-tab-title a{color:inherit;text-decoration:none}
.gm .gmfaq .elementor-accordion-icon{order:2;color:var(--blue-500);float:none;width:auto;margin:0}
.gm .gmfaq .elementor-accordion-icon svg{width:.9em;height:.9em;fill:currentColor}
.gm .gmfaq .elementor-tab-content{padding:0 22px 22px;border:0;color:var(--light-muted);font-size:16px}

/* ---------- CTA + Formulário Pro ---------- */
.gm .cta{position:relative;overflow:hidden;background-image:radial-gradient(900px 500px at 10% 0,#14233F,transparent 70%)!important}
.gm .cta>.e-con-inner{position:relative;z-index:1}
.gm .cta .lead{margin:16px 0 26px}
.gm .formcard{background:#fff;color:var(--light-text);border-radius:24px;padding:clamp(24px,3vw,38px);box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.gm .formcard:hover{transform:none;box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.gm .formcard h3{font-size:24px;margin-bottom:20px;color:var(--light-text)}
.gm .gmform .elementor-field-group{margin-bottom:14px}
.gm .gmform .elementor-field-label{font:600 13.5px var(--f-body);color:var(--light-text);margin-bottom:6px}
.gm .gmform .elementor-field-textual,.gm .gmform select,.gm .gmform textarea{width:100%;font:400 15.5px var(--f-body);color:var(--light-text);background:#F3F6FA;border:1.5px solid transparent;border-radius:12px;padding:13px 14px;min-height:auto;transition:border-color .2s,background .2s,box-shadow .2s}
.gm .gmform .elementor-field-textual:hover{border-color:#C9D6E8}
.gm .gmform .elementor-field-textual:focus{outline:0;background:#fff;border-color:var(--blue-500);box-shadow:0 0 0 4px rgba(58,116,184,.15)}
.gm .gmform .elementor-select-wrapper select{padding-right:38px}
.gm .gmform .elementor-field-subgroup label,.gm .gmform .elementor-field-option label{font-weight:400;font-size:13.5px;color:var(--light-muted);line-height:1.5}
.gm .gmform .elementor-field-option a{color:var(--blue-500)}
.gm .gmform .elementor-field-type-acceptance input{accent-color:var(--blue-500);width:18px;height:18px;margin-right:8px}
.gm .gmform .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;font:600 16px/1 var(--f-body);padding:17px 26px;border-radius:12px;background:var(--grad);color:#fff;border:0;box-shadow:0 8px 28px -8px rgba(58,116,184,.7);transition:transform .25s var(--ease),box-shadow .25s}
.gm .gmform .elementor-button:hover{transform:translateY(-2px);box-shadow:0 14px 34px -8px rgba(96,144,192,.85)}
.gm .gmform .elementor-message{font-size:14px;margin-top:10px;padding:12px 14px;border-radius:10px}
.gm .gmform .elementor-message-success{background:#DDF3EA;color:#1E7F5C}
.gm .gmform .elementor-message-danger{background:#FDECEC;color:#8C2323}
/* Popup do diagnóstico */
.gm .popcard{color:var(--light-text);overflow:hidden;border-radius:24px}
.gm .pophead{position:relative;color:var(--text);background:radial-gradient(520px 260px at 0 0,rgba(58,116,184,.45),transparent 70%),linear-gradient(160deg,#111A2E,#0A0F1C)}
.gm .pophead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(144,168,216,.45),transparent)}
.gm .pophead .eyebrow{margin-bottom:12px}
.gm .pop__h{font-size:clamp(22px,2.6vw,28px);line-height:1.2;margin:0 0 10px;color:#fff}
.gm .pop__p{margin:0 0 18px;color:var(--muted);font-size:15.5px;line-height:1.6;max-width:540px}
.gm .popbody .gmform .elementor-field-textual,.gm .popbody .gmform select,.gm .popbody .gmform textarea{border-color:var(--line-l);background:#F7F9FC}
.gm .pop__p p{margin:0}
.gm .pop__pts{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.gm .pop__pts li{display:flex;align-items:center;gap:8px;font:500 13.5px var(--f-body);color:var(--blue-100)}
.gm .pop__pts .ico{width:17px;height:17px;color:var(--blue-300);flex:none}
.gm .popbody{background:#fff}
.gm .popbody .gmform .elementor-field-group{margin-bottom:16px}
.gm .popbody .gmform .elementor-field-group.elementor-field-type-submit{margin-top:6px;margin-bottom:0}
.elementor-popup-modal{background:rgba(6,10,20,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.elementor-popup-modal .dialog-widget-content{border-radius:24px!important;background:#fff;box-shadow:0 40px 110px -20px rgba(0,0,0,.85),0 0 0 1px rgba(144,168,216,.18)!important;overflow:hidden}
.elementor-popup-modal .dialog-message{padding:0!important}
.elementor-popup-modal .dialog-close-button{top:18px!important;right:18px!important;margin:0!important;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:15px;opacity:1;transition:background .2s,transform .25s var(--ease)}
.elementor-popup-modal .dialog-close-button:hover{background:rgba(255,255,255,.22);transform:rotate(90deg)}
.elementor-popup-modal .dialog-close-button svg{fill:currentColor;width:15px;height:15px}
@media(max-width:600px){.elementor-popup-modal .dialog-close-button{top:12px!important;right:12px!important}}

/* ---------- Rodapé ---------- */
.gm .ftr{color:var(--muted)}
.gm .ftr__in,.gm .ftr__lg{width:100%}
.gm .ftr__t{margin-top:16px;max-width:34ch;font-size:14.5px}
.gm .ftr__h .elementor-heading-title{font:600 13px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.gm .ftr__nav .elementor-icon-list-items{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gm .ftr a:not(.brand){color:var(--muted);text-decoration:none;font-size:14.5px;transition:color .2s}
.gm .ftr a:not(.brand):hover{color:#fff}
.gm .ftr__links p{margin-bottom:10px}
.gm .ftr__legal{font-size:12.5px;color:var(--muted)}
.gm .ftr__lg{border-top:1px solid var(--line);padding-top:22px}

/* ---------- Flutuantes ---------- */
.wafab{position:fixed;right:20px;bottom:20px;z-index:40;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#1FAF5A;color:#fff;box-shadow:0 12px 30px -8px rgba(31,175,90,.8);transition:transform .3s var(--ease);animation:pulsewa 2.6s infinite}
.wafab .ico{width:30px;height:30px}
.wafab:hover{transform:scale(1.1)}
@keyframes pulsewa{0%{box-shadow:0 0 0 0 rgba(31,175,90,.5)}70%,100%{box-shadow:0 0 0 18px rgba(31,175,90,0)}}
.totop{position:fixed;right:24px;bottom:24px;z-index:40;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:rgba(17,26,46,.9);color:#fff;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .3s,transform .3s var(--ease),background .2s}
.totop.is-on{opacity:1;pointer-events:auto;transform:none}
.totop:hover{background:var(--blue-500)}
.wafab~.totop{bottom:92px}

/* ---------- Responsivo ---------- */
@media (max-width:1024px){
  .gm .chip--1{left:-10px}.gm .chip--3{display:none}
  .gm .flow{grid-template-columns:1fr;gap:12px}
  .gm .flow__lines{height:46px;display:block}
  .gm .flow__lines span{display:none}
  .gm .flow__lines::before{content:"";display:block;width:2px;height:100%;margin:auto;background:linear-gradient(var(--blue-700),var(--blue-300))}
  .gm .stat:nth-child(3)::before{display:none}
  .gm .hero__vis{max-width:560px;margin-inline:auto;width:100%}
  .gm .lvl{max-width:100%}
}
@media (max-width:767px){
  body.gm{font-size:15.5px}
  .gm .chip{display:none}
  .gm .hero__cta .elementor-widget{width:100%}
  .gm .hero__cta .elementor-button{width:100%}
  .gm .kpis{grid-template-columns:repeat(2,1fr)}
  .gm .feats{background:var(--line)}
  .gm .gmtabs .elementor-tab-content,.gm .lgpd{padding:22px}
  .gm .stat::before{display:none}
  .gm .phone{transform:none}
  .gm .wafab{right:14px;bottom:14px;width:54px;height:54px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .gm *,.gm *::before,.gm *::after{animation:none!important;transition-duration:.01ms!important}
  .gm .bar span{width:var(--w)}
}

/* formulário: caixa de aceite alinhada ao texto */
.gm .gmform .elementor-field-type-acceptance .elementor-field-subgroup{display:flex;align-items:flex-start;gap:10px}
.gm .gmform .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:10px}
.gm .gmform .elementor-field-type-acceptance input{margin:3px 0 0;flex:none}

/* Icon Box: texto sempre à esquerda (o padrão do Elementor centraliza) */
.gm .elementor-widget-icon-box .elementor-icon-box-wrapper,.gm .elementor-widget-icon-box .elementor-icon-box-content{text-align:left!important}
.gm .step .elementor-widget-text-editor,.gm .stat .elementor-counter{text-align:center}

.gm .docs .elementor-widget-heading{margin-bottom:18px}
.gm .risk .elementor-flip-box__layer__inner{text-align:left}

/* cabeçalho no mobile: marca à esquerda, menu e botão à direita, uma linha só */
@media (max-width:767px){
  .gm .hdr__in{flex-direction:row!important;flex-wrap:nowrap!important;gap:8px}
  .gm .hdr__in>.e-con,.gm .hdr__in>.elementor-element{width:auto!important}
  .gm .hdr__right{flex-direction:row!important;flex-wrap:nowrap!important;gap:6px;margin-left:auto}
  .gm .brand__txt small{display:none}
  .gm .btn--sm .elementor-button{padding:9px 12px;font-size:13px}
  .gm .gmnav .elementor-menu-toggle{padding:6px}
}