/* =========================================================================
   GBX ISP CONSULT — sistema de design
   Base escura corporativa · indigo da marca (#2C1F70) · destaque amarelo (#FFDE30)
   ========================================================================= */

/* ---------- 1. Tokens ---------- */
:root{
  /* superficies — base clara, papel institucional */
  --gbx-ink:        #FFFFFF;
  --gbx-ink-2:      #F6F7FA;
  --gbx-ink-3:      #EEF0F6;
  --gbx-ink-4:      #E3E6EF;

  /* marca */
  --gbx-indigo:     #2C1F70;
  --gbx-indigo-2:   #3B2C93;
  --gbx-accent:     #FFC800;
  --gbx-accent-2:   #E0AE00;
  --gbx-signal:     #3350C4;

  /* faixa de marca: indigo profundo, nunca preto */
  --gbx-marca:      #201751;
  --gbx-marca-2:    #2A1F68;
  --gbx-marca-text:   #EFEFF7;
  --gbx-marca-text-2: #ADB2CE;
  --gbx-marca-line:   rgba(255,255,255,.15);
  --gbx-marca-line-2: rgba(255,255,255,.26);

  /* claro (compatibilidade) */
  --gbx-paper:      #F6F7FA;
  --gbx-paper-2:    #FFFFFF;
  --gbx-paper-line: #E2E5EE;

  /* texto */
  --gbx-text:       #14162A;
  --gbx-text-2:     #4C5169;
  --gbx-text-3:     #6E7488;
  --gbx-on-paper:   #14162A;
  --gbx-on-paper-2: #4C5169;

  /* reguas */
  --gbx-line:       #E2E5EE;
  --gbx-line-2:     #C9CEDD;

  /* gelo: a quebra fria da sequencia de brancos. Nao e o cinza do papel
     (#F6F7FA, quase neutro) — tem azul dentro, e e isso que faz o olho
     registrar a troca de secao. */
  --gbx-gelo:       #E8EEF8;
  --gbx-gelo-linha: #D3DDEE;

  /* semaforo, em tons sobrios */
  --gbx-sem-alto:  #C0392B;
  --gbx-sem-medio: #B7791F;
  --gbx-sem-baixo: #2E7D5B;

  /* forma: arredondada. A versao anterior usava 2-4px em tudo e o cliente
     leu o site como "muito quadrado" — cartao, botao, foto e moldura tinham
     todos o mesmo canto quase reto. A escala agora separa o miudo do graudo:
     um selo nao pode ter o mesmo raio de um painel. */
  --gbx-r-xs: 6px;
  --gbx-r-sm: 10px;
  --gbx-r:    14px;
  --gbx-r-lg: 20px;
  --gbx-r-xl: 28px;
  --gbx-r-pill: 999px;
  --gbx-container: 1200px;
  --gbx-gutter: 24px;
  --gbx-header-h: 76px;

  /* movimento */
  --gbx-ease: cubic-bezier(.22,.61,.36,1);
  --gbx-ease-out: cubic-bezier(.16,1,.3,1);

  /* tipografia: humanista. A Space Grotesk era geometrica demais e, somada
     aos rotulos em mono maiusculo com muito espacamento, dava ao site o ar
     de template gerado. Manrope tem juncoes macias e casa com o canto
     arredondado; Inter carrega o corpo sem chamar atencao. A mono ficou
     so para leitura de instrumento (contagem, data, codigo). */
  --gbx-font-head: "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;
  --gbx-font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --gbx-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;

  /* icone duotone: a forma de fundo que tira o ar de biblioteca pronta */
  --gbx-ico-bg:      rgba(44,31,112,.09);
  --gbx-ico-cor:     var(--gbx-indigo-2);
  --gbx-ico-bg-esc:  rgba(255,200,0,.14);
  --gbx-ico-cor-esc: var(--gbx-accent);

  /* botoes: cada superficie declara o seu par; o padrao e o fundo claro */
  --gbx-btn-1-bg:      var(--gbx-indigo);
  --gbx-btn-1-cor:     #fff;
  --gbx-btn-1-bg-h:    var(--gbx-indigo-2);
  --gbx-btn-2-cor:     var(--gbx-text);
  --gbx-btn-2-cor-h:   var(--gbx-indigo);
  /* a regua do tema (#C9CEDD) da 1,47:1 contra o branco — o contorno do
     botao e informacao de interface e pede 3:1 (WCAG 1.4.11). */
  --gbx-btn-2-borda:   #7F87A0;
  --gbx-btn-2-borda-h: var(--gbx-indigo);
  --gbx-btn-2-bg-h:    transparent;
}

/* ---------- 2. Reset enxuto ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  background:var(--gbx-ink);
  color:var(--gbx-text);
  font-family:var(--gbx-font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video,canvas{max-width:100%;display:block}
img{height:auto}
h1,h2,h3,h4,h5,h6{
  font-family:var(--gbx-font-head);
  font-weight:700;
  line-height:1.18;
  letter-spacing:-.02em;
  margin:0 0 .6em;
  color:var(--gbx-text);
}
p{margin:0 0 1.1em}
/* o navegador dá 40px de margem lateral a figure e blockquote — encolhia os cartões */
figure,blockquote{margin:0}
a{color:inherit;text-decoration:none}
ul,ol{margin:0 0 1.1em;padding-left:1.2em}
button,input,select,textarea{font:inherit;color:inherit}
hr{border:0;border-top:1px solid var(--gbx-line);margin:2.5rem 0}
::selection{background:var(--gbx-accent);color:#0B1024}

:focus-visible{
  outline:2px solid var(--gbx-accent);
  outline-offset:3px;
  border-radius:var(--gbx-r-xs);
}

.gbx-skip{
  position:absolute;left:-9999px;top:0;z-index:9999;
  background:var(--gbx-accent);color:#0B1024;padding:12px 20px;
  font-weight:600;border-radius:0 0 var(--gbx-r) 0;
}
.gbx-skip:focus{left:0}

.gbx-sr{
  position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ---------- 3. Layout ---------- */
.gbx-container{
  width:100%;max-width:var(--gbx-container);
  margin-inline:auto;padding-inline:var(--gbx-gutter);
}
.gbx-container--narrow{max-width:880px}
/* Respiro maior entre seções: o que separa uma página institucional de uma
   landing é sobretudo quanto silêncio existe em volta de cada bloco. */
.gbx-section{position:relative;padding:clamp(52px,6vw,96px) 0}
.gbx-section--tight{padding:clamp(38px,4vw,64px) 0}
.gbx-section--deep{background:var(--gbx-ink-2)}

/* faixa de marca: indigo profundo. E o contraste do site, no lugar do preto. */
.gbx-section--marca{background:var(--gbx-marca);color:var(--gbx-marca-text)}
.gbx-section--marca h1,.gbx-section--marca h2,
.gbx-section--marca h3,.gbx-section--marca h4{color:#fff}
.gbx-section--marca p{color:var(--gbx-marca-text-2)}
.gbx-section--marca .gbx-lead{color:var(--gbx-marca-text-2)}

/* ---------- 4. Tipografia utilitaria ---------- */
/* O rotulo era MAIUSCULO com .14em de espacamento e um risco de 26px.
   Era o detalhe que mais gritava "template": um ponto e o nome escrito
   normalmente dizem a mesma coisa sem levantar a voz. */
.gbx-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--gbx-font-body);
  font-size:.82rem;font-weight:600;letter-spacing:.005em;
  color:var(--gbx-indigo-2);margin:0 0 14px;
}
.gbx-section--marca .gbx-eyebrow{color:var(--gbx-accent)}
.gbx-eyebrow::before{
  content:"";width:7px;height:7px;flex:0 0 7px;
  border-radius:var(--gbx-r-pill);background:currentColor;
}


.gbx-h1{font-size:clamp(1.95rem,3.8vw,3.1rem);line-height:1.07}
.gbx-h2{font-size:clamp(1.5rem,2.6vw,2.18rem)}
.gbx-h3{font-size:clamp(1.1rem,1.5vw,1.32rem)}
.gbx-lead{font-size:clamp(.97rem,1.15vw,1.06rem);color:var(--gbx-text-2);max-width:62ch}
.gbx-accent{color:var(--gbx-indigo-2)}
.gbx-section--marca .gbx-accent{color:var(--gbx-accent)}

.gbx-head{max-width:720px;margin-bottom:clamp(26px,3vw,42px)}
/* O cabeçalho de seção deixou de ser centralizado.
   Metade das seções centralizava e metade não: alinhamento misto é o que dá
   ar de página montada por peças soltas. Tudo encostado na mesma régua da
   esquerda — a mesma do logotipo e do menu — lê como documento de empresa.
   A classe continua existindo para quem quiser centralizar um bloco
   isolado, mas já não centraliza o cabeçalho por padrão. */
.gbx-head--center{margin-inline:0;text-align:left}
.gbx-head--center .gbx-eyebrow{justify-content:flex-start}
.gbx-head--center .gbx-lead{margin-inline:0}
.gbx-head p:last-child{margin-bottom:0}

/* ---------- 5. Botoes ---------- */
.gbx-btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 24px;border:1px solid transparent;border-radius:var(--gbx-r-sm);
  font-family:var(--gbx-font-body);font-size:.95rem;font-weight:600;letter-spacing:.01em;
  cursor:pointer;text-align:center;
  transition:transform .25s var(--gbx-ease),background-color .25s,border-color .25s,color .25s,box-shadow .25s;
}
.gbx-btn svg{width:18px;height:18px;flex:0 0 18px;transition:transform .3s var(--gbx-ease)}
.gbx-btn:hover{transform:translateY(-2px)}
.gbx-btn:hover svg{transform:translateX(3px)}
.gbx-btn:active{transform:translateY(0)}

.gbx-btn--primary{background:var(--gbx-btn-1-bg);color:var(--gbx-btn-1-cor)}
.gbx-btn--primary:hover{background:var(--gbx-btn-1-bg-h)}

.gbx-btn--ghost{border-color:var(--gbx-btn-2-borda);color:var(--gbx-btn-2-cor);background:transparent}
.gbx-btn--ghost:hover{border-color:var(--gbx-btn-2-borda-h);color:var(--gbx-btn-2-cor-h);background:var(--gbx-btn-2-bg-h)}

.gbx-btn--solid{background:var(--gbx-accent);color:#231A0A}
.gbx-btn--solid:hover{background:var(--gbx-accent-2)}

.gbx-btn--wide{width:100%}

/* As inversoes por secao sairam daqui: quem decide agora e a lista de
   superficies escuras da secao 35, que declara os tokens. */

.gbx-link{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:600;font-size:.92rem;color:var(--gbx-indigo-2);
  padding-bottom:3px;background-image:linear-gradient(currentColor,currentColor);
  background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .35s var(--gbx-ease-out);
}
.gbx-link:hover{background-size:100% 1px}
.gbx-link svg{width:16px;height:16px;transition:transform .3s var(--gbx-ease)}
.gbx-link:hover svg{transform:translateX(4px)}
.gbx-section--marca .gbx-link{color:var(--gbx-accent)}

/* ---------- 6. Malha tecnologica de fundo ---------- */
.gbx-grid-bg{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(to right,rgba(20,22,42,.07) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(20,22,42,.07) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 20%,transparent 78%);
  mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 20%,transparent 78%);
}
.gbx-glow{
  position:absolute;pointer-events:none;z-index:0;border-radius:50%;
  filter:blur(90px);opacity:.5;
}
.gbx-glow--indigo{background:radial-gradient(circle,rgba(62,46,158,.75),transparent 68%)}
.gbx-glow--accent{background:radial-gradient(circle,rgba(255,222,48,.20),transparent 68%)}
.gbx-glow--signal{background:radial-gradient(circle,rgba(91,140,255,.28),transparent 68%)}

/* ---------- 7. Header ---------- */
.gbx-header{
  position:fixed;inset:0 0 auto;z-index:900;
  height:var(--gbx-header-h);
  display:flex;align-items:center;
  transition:height .35s var(--gbx-ease),border-color .35s,transform .4s var(--gbx-ease);
  border-bottom:1px solid transparent;
}
.gbx-header::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--gbx-marca);
  transition:background-color .35s var(--gbx-ease);
}
.gbx-header.is-stuck{height:62px;border-bottom-color:var(--gbx-marca-line)}
.gbx-header.is-hidden{transform:translateY(-100%)}
.gbx-header__inner{
  width:100%;max-width:var(--gbx-container);margin-inline:auto;
  padding-inline:var(--gbx-gutter);
  display:flex;align-items:center;gap:28px;
}
.gbx-brand{display:flex;align-items:center;flex:0 0 auto}
.gbx-brand img{height:34px;width:auto;transition:height .35s var(--gbx-ease)}
.gbx-header.is-stuck .gbx-brand img{height:30px}
.gbx-brand__text{font-family:var(--gbx-font-head);font-weight:700;font-size:1.15rem;color:#fff;letter-spacing:-.01em}

.gbx-nav{margin-left:auto;display:flex;align-items:center;min-width:0}
.gbx-nav ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.gbx-nav a{
  position:relative;display:block;padding:10px 13px;border-radius:var(--gbx-r-sm);
  font-size:.86rem;font-weight:500;color:var(--gbx-marca-text);
  transition:color .25s;
  /* Com o Diagnostico o menu passou a sete itens e "A Empresa",
     "Diagnostico Anatel" e "Trabalhe Conosco" quebravam no meio, deixando
     o cabecalho com duas alturas. Item de menu nao quebra linha: ou cabe
     na barra, ou o espacamento cede antes. */
  white-space:nowrap;
}
/* Faixa intermediaria: sete itens ainda cabem, mas so apertando o respiro
   antes de mandar tudo para o menu do celular. */
@media (max-width:1180px){
  .gbx-header__inner{gap:16px}
  .gbx-nav a{padding:10px 9px;font-size:.84rem}
}
.gbx-nav a::after{
  content:"";position:absolute;left:10px;right:10px;bottom:4px;height:1.5px;
  background:var(--gbx-accent);transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--gbx-ease-out);
}
.gbx-nav a:hover{color:#fff}
.gbx-nav a:hover::after{transform:scaleX(1)}
.gbx-nav .current-menu-item>a,
.gbx-nav .current_page_item>a,
.gbx-nav .current-menu-parent>a,
.gbx-nav .current-menu-ancestor>a{color:var(--gbx-accent)}
.gbx-nav .current-menu-item>a::after,
.gbx-nav .current_page_item>a::after,
.gbx-nav .current-menu-ancestor>a::after{transform:scaleX(1)}

.gbx-nav li{position:relative}
.gbx-nav .sub-menu{
  position:absolute;top:100%;left:0;min-width:264px;
  display:block;padding:8px;margin:0;
  background:var(--gbx-marca-2);border:1px solid var(--gbx-marca-line);
  border-radius:var(--gbx-r);box-shadow:0 24px 60px -20px rgba(0,0,0,.85);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s,transform .25s var(--gbx-ease),visibility .25s;
}
.gbx-nav li:hover>.sub-menu,
.gbx-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.gbx-nav .sub-menu li{width:100%}
.gbx-nav .sub-menu a{padding:9px 12px;font-size:.89rem;color:var(--gbx-marca-text-2)}
.gbx-nav .sub-menu a:hover{color:#fff;background:var(--gbx-ink-3)}
.gbx-nav .sub-menu a::after{display:none}

.gbx-header__cta{flex:0 0 auto;display:flex;align-items:center;gap:12px}
.gbx-header__cta .gbx-btn{padding:10px 18px;font-size:.83rem}

.gbx-burger{
  display:none;flex:0 0 auto;margin-left:auto;
  width:46px;height:46px;align-items:center;justify-content:center;
  background:transparent;border:1px solid var(--gbx-marca-line-2);
  border-radius:var(--gbx-r-sm);cursor:pointer;
}
.gbx-burger span{
  display:block;width:20px;height:1.5px;background:#fff;position:relative;
  transition:background-color .2s;
}
.gbx-burger span::before,.gbx-burger span::after{
  content:"";position:absolute;left:0;width:20px;height:1.5px;background:#fff;
  transition:transform .35s var(--gbx-ease),top .25s;
}
.gbx-burger span::before{top:-6px}
.gbx-burger span::after{top:6px}
.gbx-burger[aria-expanded="true"] span{background:transparent}
.gbx-burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.gbx-burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

.gbx-mobile{
  position:fixed;inset:0;z-index:890;
  background:var(--gbx-marca);color:var(--gbx-marca-text);
  display:flex;flex-direction:column;
  padding:calc(var(--gbx-header-h) + 24px) var(--gbx-gutter) 32px;
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .35s var(--gbx-ease),transform .4s var(--gbx-ease-out),visibility .35s;
  overflow-y:auto;overscroll-behavior:contain;
}
.gbx-mobile.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.gbx-mobile ul{list-style:none;margin:0 0 28px;padding:0}
.gbx-mobile li{border-bottom:1px solid var(--gbx-marca-line)}
.gbx-mobile>nav>ul>li>a{
  display:block;padding:15px 4px;font-family:var(--gbx-font-head);
  font-size:1.15rem;font-weight:500;color:#fff;
}
.gbx-mobile .sub-menu{margin:0 0 12px;border:0}
.gbx-mobile .sub-menu li{border:0}
.gbx-mobile .sub-menu a{display:block;padding:9px 4px 9px 18px;font-size:.98rem;color:var(--gbx-marca-text-2)}
.gbx-mobile__foot{margin-top:auto;display:grid;gap:14px;padding-top:24px}
.gbx-mobile__contact{font-size:.9rem;color:var(--gbx-marca-text-2);display:grid;gap:6px}
.gbx-mobile__contact a{color:var(--gbx-accent)}

body.gbx-no-scroll{overflow:hidden}

/* ---------- 8. Transicao de pagina ---------- */
.gbx-page-fade{
  position:fixed;inset:0;z-index:9998;pointer-events:none;
  background:var(--gbx-ink);opacity:0;
  transition:opacity .26s var(--gbx-ease);
}
body.gbx-leaving .gbx-page-fade{opacity:1}
@media (prefers-reduced-motion: reduce){
  .gbx-page-fade{display:none}
}

/* ---------- 9. Revelacao ao entrar na viewport ---------- */
[data-gbx-reveal]{
  opacity:0;transform:translateY(24px);
  transition:opacity .7s var(--gbx-ease-out),transform .7s var(--gbx-ease-out);
  transition-delay:var(--gbx-delay,0ms);
}
[data-gbx-reveal].is-in{opacity:1;transform:none}
[data-gbx-reveal="left"]{transform:translateX(-28px)}
[data-gbx-reveal="right"]{transform:translateX(28px)}
[data-gbx-reveal="scale"]{transform:scale(.965)}
/* em coluna unica o deslocamento lateral so gera estouro horizontal */
@media (max-width:1100px){
  [data-gbx-reveal="left"],[data-gbx-reveal="right"]{transform:translateY(22px)}
}
.gbx-no-js [data-gbx-reveal]{opacity:1;transform:none}

/* ---------- Troca de página ----------
   A transição é SÓ na saída, e isso é decisão, não economia.

   ⚠️ A versão anterior tinha uma animação de ENTRADA
   (`animation: … both` partindo de `opacity:0`). Medida numa aba em segundo
   plano, ela ficava **congelada em currentTime 0**: o Chrome não avança o
   relógio de animação de aba oculta e o `fill-mode: both` segurava a página
   em opacidade zero. Quem abrisse um link numa aba de fundo encontraria a
   página em branco. É o mesmo tipo de armadilha do requestAnimationFrame,
   e trocar um pelo outro não resolvia nada.

   A saída não tem esse risco: só roda depois de um clique, que por
   definição acontece numa aba visível, e o JavaScript desfaz sozinho em
   1,2s se a navegação não vier. Sem JavaScript, navega sem esmaecer. */
.gbx-main{transition:opacity .2s var(--gbx-ease),transform .2s var(--gbx-ease)}
html.gbx-saindo .gbx-main{opacity:0;transform:translateY(-6px)}
@media (prefers-reduced-motion: reduce){
  .gbx-main{transition:none}
  html.gbx-saindo .gbx-main{opacity:1;transform:none}
}
@media (prefers-reduced-motion: reduce){
  [data-gbx-reveal]{opacity:1 !important;transform:none !important;transition:none !important}
}

/* ---------- 10. Hero ---------- */
.gbx-hero{
  position:relative;overflow:hidden;
  padding:calc(var(--gbx-header-h) + clamp(40px,4.6vw,68px)) 0 clamp(44px,4.8vw,72px);
  background:var(--gbx-marca);
  color:var(--gbx-marca-text);
  border-bottom:3px solid var(--gbx-accent);
}
.gbx-hero h1,.gbx-hero h2,.gbx-hero h3{color:#fff}
.gbx-hero .gbx-eyebrow{color:var(--gbx-accent)}
.gbx-hero__canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;opacity:.9}
.gbx-hero .gbx-container{position:relative;z-index:2}
.gbx-hero__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,3.6vw,56px);align-items:center}
.gbx-hero__title{font-size:clamp(1.95rem,3.7vw,3.1rem);line-height:1.07;margin-bottom:18px;text-wrap:balance}
.gbx-hero__title .gbx-accent{
  color:var(--gbx-accent);
}
.gbx-hero__sub{font-size:clamp(.98rem,1.2vw,1.1rem);color:var(--gbx-marca-text-2);max-width:58ch;margin-bottom:28px}
.gbx-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.gbx-hero__trust{display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  padding-top:22px;border-top:1px solid var(--gbx-marca-line)}
.gbx-hero__trust-label{font-size:.71rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gbx-marca-text-2)}
.gbx-hero__trust-logos{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.gbx-hero__trust-logos img{height:30px;width:auto;opacity:.55;filter:brightness(0) invert(1);transition:opacity .3s}
.gbx-hero__trust-logos a:hover img{opacity:1}

.gbx-hero__visual{position:relative;aspect-ratio:1/1;max-width:560px;margin-inline:auto;width:100%}
.gbx-hero__visual svg{width:100%;height:100%;overflow:visible}
.gbx-mesh-line{stroke:var(--gbx-signal);stroke-width:.9;fill:none;opacity:.26}
.gbx-mesh-line--lit{stroke:var(--gbx-accent);opacity:.42;stroke-width:1.1}
.gbx-mesh-node{fill:var(--gbx-signal);opacity:.7}
.gbx-mesh-node--key{fill:var(--gbx-accent)}
.gbx-mesh-ring{fill:none;stroke:var(--gbx-accent);stroke-width:1;opacity:0}
@media (prefers-reduced-motion: no-preference){
  .gbx-mesh-ring{animation:gbx-ping 3.6s var(--gbx-ease-out) infinite}
  .gbx-mesh-node--key{animation:gbx-node-pulse 3.6s ease-in-out infinite}
  .gbx-mesh-line--lit{animation:gbx-glow 5s ease-in-out infinite}
}
@keyframes gbx-ping{0%{r:2.5;opacity:.6}70%{r:11;opacity:0}100%{r:11;opacity:0}}
@keyframes gbx-node-pulse{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes gbx-glow{0%,100%{opacity:.24}50%{opacity:.62}}
@keyframes gbx-dash{to{stroke-dashoffset:-160}}

.gbx-hero__badge{
  position:absolute;display:flex;align-items:center;gap:10px;
  padding:10px 16px;border-radius:var(--gbx-r-sm);
  background:rgba(11,16,38,.84);border:1px solid var(--gbx-line-2);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  font-size:.77rem;font-weight:600;letter-spacing:.02em;color:#fff;white-space:nowrap;
  box-shadow:0 16px 40px -20px rgba(0,0,0,.9);
}
.gbx-hero__badge i{width:7px;height:7px;border-radius:50%;background:var(--gbx-accent);flex:0 0 7px}
.gbx-hero__badge--a{top:6%;left:-3%}
.gbx-hero__badge--b{bottom:18%;right:-5%}
.gbx-hero__badge--c{bottom:1%;left:12%}
@media (prefers-reduced-motion: no-preference){
  .gbx-hero__badge{animation:gbx-float 7s ease-in-out infinite}
  .gbx-hero__badge--b{animation-delay:-2.4s}
  .gbx-hero__badge--c{animation-delay:-4.8s}
}
@keyframes gbx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ---------- 11. Indicadores ---------- */
.gbx-stats{position:relative;background:var(--gbx-ink);border-bottom:1px solid var(--gbx-line)}
.gbx-stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.gbx-stat{padding:clamp(20px,2.2vw,30px) clamp(16px,1.8vw,26px);position:relative}
.gbx-stat + .gbx-stat::before{
  content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--gbx-line);
}
.gbx-stat__value{
  font-family:var(--gbx-font-head);font-weight:700;
  font-size:clamp(1.5rem,2.2vw,2rem);line-height:1;color:var(--gbx-indigo);
  margin-bottom:10px;letter-spacing:-.03em;
}
.gbx-stat__label{font-size:.9rem;color:var(--gbx-text-2);line-height:1.4}
.gbx-stat__note{display:block;font-size:.78rem;color:var(--gbx-text-3);margin-top:4px}

/* ---------- 12. Sobre / linha do tempo ---------- */
.gbx-about__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,3.6vw,56px);align-items:center}
.gbx-about__media{position:relative}
.gbx-about__media img{
  width:100%;border-radius:var(--gbx-r-lg);
  border:1px solid var(--gbx-line);
  filter:saturate(.92) contrast(1.04);
}
.gbx-about__media::after{
  content:"";position:absolute;inset:0;border-radius:var(--gbx-r-lg);pointer-events:none;
  background:linear-gradient(160deg,rgba(44,31,112,.35),transparent 55%);
}
.gbx-about__stamp{
  position:absolute;right:-14px;bottom:-16px;z-index:2;
  background:var(--gbx-accent);color:#0B1024;
  padding:18px 24px;border-radius:var(--gbx-r);
  box-shadow:0 24px 50px -24px rgba(0,0,0,.9);
}
.gbx-about__stamp strong{display:block;font-family:var(--gbx-font-head);font-size:1.6rem;line-height:1}
.gbx-about__stamp span{font-size:.76rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}

.gbx-timeline{list-style:none;margin:24px 0 0;padding:0;position:relative}
.gbx-timeline::before{
  content:"";position:absolute;left:7px;top:10px;bottom:10px;width:1px;
  background:linear-gradient(to bottom,var(--gbx-accent),var(--gbx-signal),transparent);
}
.gbx-timeline li{position:relative;padding:0 0 16px 30px}
.gbx-timeline li:last-child{padding-bottom:0}
.gbx-timeline li::before{
  content:"";position:absolute;left:2px;top:7px;width:11px;height:11px;border-radius:50%;
  background:var(--gbx-ink);border:2px solid var(--gbx-accent);
}
.gbx-timeline__year{
  display:block;font-family:var(--gbx-font-head);font-weight:600;font-size:.88rem;
  color:var(--gbx-accent);letter-spacing:.04em;margin-bottom:3px;
}
.gbx-timeline__text{font-size:.95rem;color:var(--gbx-text-2);margin:0}
.gbx-section--marca .gbx-timeline__text{color:var(--gbx-marca-text-2)}
.gbx-section--marca .gbx-timeline__year{color:var(--gbx-accent)}
.gbx-section--marca .gbx-timeline li::before{background:var(--gbx-marca);border-color:var(--gbx-accent)}

/* ---------- 13. Cartoes de beneficio ---------- */
.gbx-benefits{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--gbx-ink-2);
  border:1px solid var(--gbx-line);border-radius:var(--gbx-r-lg);overflow:hidden;
}
.gbx-benefits--2{grid-template-columns:repeat(2,1fr)}
.gbx-benefits--1{grid-template-columns:1fr}
.gbx-benefit{
  position:relative;background:var(--gbx-ink-2);
  padding:clamp(20px,2.2vw,28px);
  /* a sombra de 1px desenha as divisórias; células vazias ficam invisíveis */
  box-shadow:0 0 0 1px var(--gbx-line);
  transition:background-color .35s var(--gbx-ease);
}
.gbx-benefit::after{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--gbx-accent),var(--gbx-signal));
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--gbx-ease-out);
}
.gbx-benefit:hover{background:var(--gbx-ink-3)}
.gbx-benefit:hover::after{transform:scaleX(1)}
.gbx-benefit__icon{
  width:40px;height:40px;margin-bottom:14px;
  display:grid;place-items:center;border-radius:var(--gbx-r-sm);
  background:rgba(255,222,48,.10);border:1px solid rgba(255,222,48,.22);
  color:var(--gbx-accent);
}
.gbx-benefit__icon svg{width:21px;height:21px}
.gbx-benefit h3{font-size:1rem;margin-bottom:7px}
.gbx-benefit p{font-size:.9rem;color:var(--gbx-text-2);margin:0}

/* ---------- 14. Solucoes (lista interativa) ---------- */
.gbx-solutions{position:relative;overflow:hidden}
.gbx-solutions__layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(26px,3.2vw,48px);align-items:start}
.gbx-sol-list{border-top:1px solid var(--gbx-line)}
.gbx-sol{
  position:relative;display:block;width:100%;text-align:left;
  border:0;border-bottom:1px solid var(--gbx-line);background:transparent;
  padding:clamp(14px,1.6vw,19px) clamp(8px,1.4vw,18px);
  color:inherit;cursor:pointer;font:inherit;
  transition:background-color .4s var(--gbx-ease);
}
.gbx-sol::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--gbx-accent);transform:scaleY(0);transform-origin:top;
  transition:transform .45s var(--gbx-ease-out);
}
.gbx-sol__row{display:flex;align-items:center;gap:18px}
.gbx-sol__num{
  font-family:var(--gbx-font-head);font-size:.76rem;font-weight:600;
  color:var(--gbx-text-3);letter-spacing:.08em;flex:0 0 30px;
  transition:color .35s;
}
.gbx-sol__name{
  font-family:var(--gbx-font-head);font-weight:600;
  font-size:clamp(.97rem,1.25vw,1.09rem);color:var(--gbx-text);
  margin:0;flex:1 1 auto;letter-spacing:-.01em;transition:color .35s;
}
.gbx-sol__arrow{
  flex:0 0 34px;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;border:1px solid var(--gbx-line);
  color:var(--gbx-text-3);opacity:0;transform:translateX(-8px);
  transition:opacity .35s,transform .35s var(--gbx-ease),border-color .35s,color .35s;
}
.gbx-sol__arrow svg{width:15px;height:15px}
.gbx-sol__body{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .5s var(--gbx-ease-out);
}
.gbx-sol__body>*{display:block;overflow:hidden}
.gbx-sol__desc{display:block;margin:14px 0 0 48px;font-size:.93rem;color:var(--gbx-text-2);max-width:60ch}
.gbx-sol__desc .gbx-link{margin-top:10px}
.gbx-sol.is-active{background:linear-gradient(90deg,rgba(44,31,112,.32),transparent 72%)}
.gbx-sol.is-active::before{transform:scaleY(1)}
.gbx-sol.is-active .gbx-sol__num{color:var(--gbx-accent)}
.gbx-sol.is-active .gbx-sol__name{color:#fff}
.gbx-sol.is-active .gbx-sol__arrow{opacity:1;transform:none;border-color:var(--gbx-accent);color:var(--gbx-accent)}
.gbx-sol.is-active .gbx-sol__body{grid-template-rows:1fr}

.gbx-sol-preview{
  position:sticky;top:calc(var(--gbx-header-h) + 24px);
  border:1px solid var(--gbx-line);border-radius:var(--gbx-r-lg);
  background:var(--gbx-ink-2);overflow:hidden;
}
.gbx-sol-preview__media{position:relative;aspect-ratio:4/3;background:var(--gbx-ink-3)}
.gbx-sol-preview__media img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.05);
  transition:opacity .55s var(--gbx-ease),transform .8s var(--gbx-ease-out);
}
.gbx-sol-preview__media img.is-shown{opacity:1;transform:scale(1)}
.gbx-sol-preview__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,16,38,.94),rgba(11,16,38,.12) 58%);
}
.gbx-sol-preview__body{padding:24px}
.gbx-sol-preview__body h3{font-size:1rem;margin-bottom:7px;min-height:1.25em}
.gbx-sol-preview__body p{font-size:.9rem;color:var(--gbx-text-2);margin-bottom:18px;min-height:4.8em}

/* ---------- 15. Etapas ---------- */
.gbx-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px);position:relative}
.gbx-steps::before{
  content:"";position:absolute;left:8%;right:8%;top:31px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gbx-line-2) 12%,var(--gbx-line-2) 88%,transparent);
}
.gbx-step{position:relative;text-align:center;padding:0 8px}
.gbx-step__num{
  position:relative;width:62px;height:62px;margin:0 auto 18px;
  display:grid;place-items:center;border-radius:50%;
  background:var(--gbx-ink);border:1px solid var(--gbx-line-2);
  font-family:var(--gbx-font-head);font-weight:600;font-size:1.12rem;color:var(--gbx-accent);
  transition:border-color .4s,box-shadow .4s,transform .4s var(--gbx-ease);
}
.gbx-step:hover .gbx-step__num{border-color:var(--gbx-accent);transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(255,222,48,.6)}
.gbx-step h3{font-size:1rem;margin-bottom:8px}
.gbx-step p{font-size:.92rem;color:var(--gbx-text-2);margin:0;max-width:34ch;margin-inline:auto}
.gbx-section--marca .gbx-step__num{background:var(--gbx-marca);color:var(--gbx-accent);border-color:var(--gbx-marca-line-2)}
.gbx-section--marca .gbx-steps::before{background:linear-gradient(90deg,transparent,var(--gbx-marca-line) 12%,var(--gbx-marca-line) 88%,transparent)}

/* ---------- 16. Mapa do Brasil ---------- */
.gbx-map__layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,3.6vw,56px);align-items:center}
.gbx-map__figure{position:relative;display:grid;place-items:center}
.gbx-map__figure svg{width:100%;max-width:520px;height:auto;overflow:visible}
.gbx-map-dot{fill:var(--gbx-signal);opacity:.38}
.gbx-map-dot--on{fill:var(--gbx-accent);opacity:.9}
@media (prefers-reduced-motion: no-preference){
  .gbx-map-dot--on{animation:gbx-map-pulse 4s ease-in-out infinite}
}
@keyframes gbx-map-pulse{0%,100%{opacity:.4}50%{opacity:1}}
.gbx-map-link{stroke:var(--gbx-accent);stroke-width:.8;fill:none;opacity:.30;stroke-dasharray:3 5}
@media (prefers-reduced-motion: no-preference){
  .gbx-map-link{animation:gbx-dash 14s linear infinite}
}
.gbx-map__list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 24px}
.gbx-map__list li{display:flex;gap:10px;font-size:.93rem;color:var(--gbx-text-2)}
.gbx-map__list svg{width:17px;height:17px;flex:0 0 17px;color:var(--gbx-accent);margin-top:4px}

/* ---------- 17. Clientes ---------- */
.gbx-clients{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1px;background:var(--gbx-paper-line);
  border:1px solid var(--gbx-paper-line);border-radius:var(--gbx-r);overflow:hidden;
}
.gbx-client{
  background:#fff;display:grid;place-items:center;padding:14px 12px;min-height:132px;
}
.gbx-client img{
  width:100%;max-width:180px;height:96px;object-fit:contain;
  /* os arquivos vêm com fundo branco próprio: multiply funde no cartão */
  mix-blend-mode:multiply;
  filter:grayscale(1);opacity:.62;
  transition:filter .4s var(--gbx-ease),opacity .4s var(--gbx-ease),transform .4s var(--gbx-ease);
}
.gbx-client:hover img{filter:none;opacity:1}

/* ---------- 18. Depoimentos ---------- */
/* Depois do fundador vinham TRES secoes seguidas em branco — noticias,
   depoimentos e clientes — quase 1.700px sem uma troca de fundo. Os
   depoimentos passam a ter um tom gelo: azulado e frio o bastante para
   marcar a quebra, claro o bastante para o cartao branco continuar
   saltando por cima. */
.gbx-quotes{
  background:var(--gbx-gelo);
  border-top:1px solid var(--gbx-gelo-linha);
  border-bottom:1px solid var(--gbx-gelo-linha);
}
.gbx-quotes .gbx-quote{background:#fff;border-color:var(--gbx-gelo-linha)}
.gbx-quotes__track{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,1fr);
  gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:8px;scrollbar-width:none;
}
.gbx-quotes__track::-webkit-scrollbar{display:none}
.gbx-quote{
  scroll-snap-align:start;
  background:var(--gbx-ink-2);border:1px solid var(--gbx-line);
  border-radius:var(--gbx-r-lg);padding:clamp(22px,2.4vw,28px);
  display:flex;flex-direction:column;
  transition:border-color .35s,transform .35s var(--gbx-ease);
}
.gbx-quote:hover{border-color:var(--gbx-line-2);transform:translateY(-3px)}
.gbx-quote__mark{color:var(--gbx-accent);opacity:.45;margin-bottom:16px}
.gbx-quote__mark svg{width:30px;height:30px}
.gbx-quote__text{font-size:.97rem;line-height:1.6;color:var(--gbx-text);margin:0 0 18px;flex:1 1 auto}
.gbx-quote__who{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--gbx-line)}
.gbx-quote__avatar{
  width:44px;height:44px;flex:0 0 44px;border-radius:50%;
  display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(135deg,var(--gbx-indigo-2),var(--gbx-indigo));
  font-family:var(--gbx-font-head);font-weight:600;font-size:.92rem;color:#fff;
}
.gbx-quote__avatar img{width:100%;height:100%;object-fit:cover}
.gbx-quote__name{display:block;font-weight:600;font-size:.94rem;color:#fff;line-height:1.3}
.gbx-quote__org{display:block;font-size:.83rem;color:var(--gbx-text-3)}
.gbx-quotes__nav{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}
.gbx-quotes__btn{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:transparent;border:1px solid var(--gbx-line-2);color:var(--gbx-text-2);cursor:pointer;
  transition:border-color .3s,color .3s;
}
.gbx-quotes__btn:hover:not(:disabled){border-color:var(--gbx-accent);color:var(--gbx-accent)}
.gbx-quotes__btn:disabled{opacity:.3;cursor:not-allowed}
.gbx-quotes__btn svg{width:17px;height:17px}

/* ---------- 19. Blog / hub ---------- */
.gbx-hub{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(20px,2.4vw,32px)}
.gbx-post-card{
  position:relative;display:flex;flex-direction:column;
  background:var(--gbx-ink-2);border:1px solid var(--gbx-line);
  border-radius:var(--gbx-r-lg);overflow:hidden;height:100%;
  transition:border-color .35s,transform .35s var(--gbx-ease);
}
.gbx-post-card:hover{border-color:var(--gbx-line-2);transform:translateY(-3px)}
.gbx-post-card__media{position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--gbx-ink-3)}
.gbx-post-card--lead .gbx-post-card__media{aspect-ratio:16/10}
.gbx-post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--gbx-ease-out)}
/* O cliente pediu para a foto nao crescer quando o ponteiro passa: o card
   inteiro ja responde, e a imagem pulando dentro da moldura cansa a leitura. */
.gbx-post-card__body{padding:clamp(18px,1.8vw,24px);display:flex;flex-direction:column;flex:1 1 auto}
.gbx-post-card__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;font-size:.76rem;color:var(--gbx-text-3)}
.gbx-tag{
  display:inline-block;padding:4px 10px;border-radius:100px;
  background:rgba(255,222,48,.10);border:1px solid rgba(255,222,48,.22);
  font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gbx-accent);
  transition:background-color .3s;
}
.gbx-tag:hover{background:rgba(255,222,48,.2)}
.gbx-post-card__title{font-size:1rem;line-height:1.35;margin-bottom:8px}
.gbx-post-card--lead .gbx-post-card__title{font-size:clamp(1.12rem,1.6vw,1.44rem)}
.gbx-post-card__title a{
  background-image:linear-gradient(currentColor,currentColor);
  background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .4s var(--gbx-ease-out);
}
.gbx-post-card:hover .gbx-post-card__title a{background-size:100% 1px}
.gbx-post-card__excerpt{font-size:.91rem;color:var(--gbx-text-2);margin-bottom:18px;flex:1 1 auto}
.gbx-post-card__foot{margin-top:auto}
.gbx-post-card__source{font-size:.75rem;color:var(--gbx-text-3);margin-top:10px}

.gbx-hub__side{display:grid;gap:16px;align-content:start}
.gbx-post-row{
  display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:center;
  padding:14px;border:1px solid var(--gbx-line);border-radius:var(--gbx-r);
  background:var(--gbx-ink-2);transition:border-color .3s,background-color .3s;
}
.gbx-post-row:hover{border-color:var(--gbx-line-2);background:var(--gbx-ink-3)}
.gbx-post-row__media{aspect-ratio:4/3;border-radius:var(--gbx-r-sm);overflow:hidden;background:var(--gbx-ink-3)}
.gbx-post-row__media img{width:100%;height:100%;object-fit:cover}
.gbx-post-row h3{font-size:.95rem;line-height:1.35;margin:0 0 6px}
.gbx-post-row time{font-size:.75rem;color:var(--gbx-text-3)}

.gbx-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(18px,2vw,26px)}

.gbx-filters{
  display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
  padding:0 0 20px;margin-bottom:26px;border-bottom:1px solid var(--gbx-line);
}
.gbx-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.gbx-chip{
  display:inline-block;padding:8px 16px;border-radius:100px;
  border:1px solid var(--gbx-line);font-size:.84rem;color:var(--gbx-text-2);
  transition:border-color .3s,color .3s,background-color .3s;
}
.gbx-chip:hover{border-color:var(--gbx-line-2);color:#fff}
.gbx-chip.is-on{background:var(--gbx-accent);border-color:var(--gbx-accent);color:#0B1024;font-weight:600}
.gbx-search{position:relative;display:flex;min-width:min(320px,100%)}
.gbx-search input[type="search"]{
  width:100%;padding:12px 46px 12px 16px;border-radius:var(--gbx-r-sm);
  background:var(--gbx-ink-2);border:1px solid var(--gbx-line);color:#fff;font-size:.92rem;
  transition:border-color .3s;
}
.gbx-search input[type="search"]::placeholder{color:var(--gbx-text-3)}
.gbx-search input[type="search"]:focus{border-color:var(--gbx-accent);outline:none}
.gbx-search button{
  position:absolute;right:4px;top:4px;bottom:4px;width:38px;
  display:grid;place-items:center;border:0;border-radius:var(--gbx-r-xs);
  background:transparent;color:var(--gbx-text-2);cursor:pointer;transition:color .3s;
}
.gbx-search button:hover{color:var(--gbx-accent)}
.gbx-search svg{width:17px;height:17px}
.gbx-search--full{min-width:100%}

/* ---------- 20. Faixa CTA ---------- */
.gbx-cta{position:relative;overflow:hidden;background:var(--gbx-ink-2)}
.gbx-cta__box{
  position:relative;z-index:2;
  border:1px solid var(--gbx-line-2);border-radius:var(--gbx-r-lg);
  background:
    radial-gradient(900px 400px at 85% 0%,rgba(44,31,112,.72),transparent 65%),
    linear-gradient(140deg,var(--gbx-ink-3),var(--gbx-ink-2));
  padding:clamp(26px,3.4vw,44px);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;
}
.gbx-cta__box h2{font-size:clamp(1.25rem,2vw,1.75rem);margin-bottom:10px;max-width:24ch}
.gbx-cta__box p{color:var(--gbx-text-2);margin:0;max-width:56ch}
.gbx-cta__actions{display:flex;flex-direction:column;gap:12px;min-width:250px}

/* ---------- 21. Footer ---------- */
.gbx-footer{background:var(--gbx-ink);border-top:1px solid var(--gbx-line);position:relative}
.gbx-footer__grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.25fr;
  gap:clamp(22px,2.6vw,36px);padding:clamp(38px,4vw,56px) 0 clamp(26px,3vw,38px);
}
.gbx-footer h3{
  font-family:var(--gbx-font-body);font-size:.74rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;color:var(--gbx-text-3);margin-bottom:14px;
}
.gbx-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.gbx-footer li a,.gbx-footer address a{
  font-size:.91rem;color:var(--gbx-text-2);transition:color .25s;
  /* 18px de texto + 8px de folga = 26px de alvo, acima do minimo WCAG */
  display:inline-block;padding:4px 0;
}
.gbx-footer li a:hover,.gbx-footer address a:hover{color:var(--gbx-accent)}
.gbx-footer__brand img{height:44px;width:auto;margin-bottom:18px}
.gbx-footer__brand p{font-size:.89rem;color:var(--gbx-text-2);max-width:38ch}
.gbx-footer address{font-style:normal;font-size:.91rem;color:var(--gbx-text-2);display:grid;gap:12px}
.gbx-footer address>div{display:flex;gap:10px;align-items:flex-start}
.gbx-footer address svg{width:16px;height:16px;flex:0 0 16px;margin-top:4px;color:var(--gbx-accent)}
.gbx-social{display:flex;gap:10px;margin-top:22px}
.gbx-social a{
  width:38px;height:38px;display:grid;place-items:center;border-radius:var(--gbx-r-sm);
  border:1px solid var(--gbx-line);color:var(--gbx-text-2);
  transition:border-color .3s,color .3s,transform .3s var(--gbx-ease);
}
.gbx-social a:hover{border-color:var(--gbx-accent);color:var(--gbx-accent);transform:translateY(-2px)}
.gbx-social svg{width:17px;height:17px}
.gbx-footer__orgs{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.gbx-footer__orgs img{height:32px;width:auto;opacity:.45;filter:brightness(0) invert(1);transition:opacity .3s}
.gbx-footer__orgs a:hover img{opacity:.9}
.gbx-footer__bar{
  border-top:1px solid var(--gbx-line);padding:22px 0;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  font-size:.83rem;color:var(--gbx-text-3);
}
.gbx-footer__bar a:hover{color:var(--gbx-accent)}
.gbx-footer__bar nav{display:flex;gap:18px;flex-wrap:wrap}
.gbx-footer__bar-end{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* assinatura da agencia */
.gbx-credit{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;color:var(--gbx-text-3);white-space:nowrap;
  transition:color .25s;
}
.gbx-credit img{height:17px;width:auto;opacity:.7;transition:opacity .25s}
.gbx-credit:hover{color:var(--gbx-text-2)}
.gbx-credit:hover img{opacity:1}

.gbx-wa{
  position:fixed;right:20px;bottom:20px;z-index:880;
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#25D366;color:#fff;box-shadow:0 14px 34px -12px rgba(37,211,102,.8);
  transition:transform .3s var(--gbx-ease);
}
.gbx-wa:hover{transform:scale(1.07)}
.gbx-wa svg{width:28px;height:28px}

/* ---------- 22. Hero de pagina interna ---------- */
.gbx-phero{
  position:relative;overflow:hidden;
  padding:calc(var(--gbx-header-h) + clamp(32px,3.8vw,56px)) 0 clamp(30px,3.4vw,48px);
  background:
    radial-gradient(1000px 500px at 76% 0%,rgba(44,31,112,.6),transparent 62%),
    var(--gbx-ink);
  border-bottom:1px solid var(--gbx-line);
}
.gbx-phero__title{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:14px;max-width:22ch}
.gbx-phero__lead{max-width:62ch}
.gbx-phero--split{padding-bottom:clamp(34px,4vw,60px)}
.gbx-phero__layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(26px,3.2vw,48px);align-items:center}
.gbx-phero__media img{width:100%;border-radius:var(--gbx-r-lg);border:1px solid var(--gbx-line)}
.gbx-phero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}

.gbx-crumbs{margin-bottom:22px;font-size:.81rem;color:var(--gbx-text-3)}
.gbx-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0}
.gbx-crumbs li{display:flex;align-items:center;gap:8px}
.gbx-crumbs li+li::before{content:"/";color:var(--gbx-text-3);opacity:.6}
.gbx-crumbs a{display:inline-block;padding:2px 0}
.gbx-crumbs a:hover{color:var(--gbx-accent)}
.gbx-crumbs [aria-current]{color:var(--gbx-text-2)}

/* ---------- 23. Conteudo editorial ---------- */
.gbx-prose{font-size:1rem;line-height:1.72;color:var(--gbx-text-2);max-width:74ch}
.gbx-prose h2{font-size:clamp(1.2rem,1.8vw,1.45rem);margin:1.8em 0 .6em}
.gbx-prose h3{font-size:clamp(1.05rem,1.4vw,1.18rem);margin:1.6em 0 .5em}
.gbx-prose strong,.gbx-prose b{color:#fff;font-weight:600}
.gbx-prose a{color:var(--gbx-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.gbx-prose a:hover{color:#FFE862}
.gbx-prose ol{padding-left:1.3em}
.gbx-prose li{margin-bottom:.5em}
.gbx-prose ul{list-style:none;padding-left:0}
.gbx-prose ul li{position:relative;padding-left:1.5em}
.gbx-prose ul li::before{
  content:"";position:absolute;left:2px;top:.68em;width:6px;height:6px;
  border-radius:1px;background:var(--gbx-accent);transform:rotate(45deg);
}
.gbx-prose img{border-radius:var(--gbx-r);margin:1.6em 0;border:1px solid var(--gbx-line)}
.gbx-prose blockquote{
  margin:1.8em 0;padding:20px 26px;border-left:2px solid var(--gbx-accent);
  background:var(--gbx-ink-2);border-radius:0 var(--gbx-r) var(--gbx-r) 0;
  font-size:1.04rem;color:var(--gbx-text);
}
.gbx-prose blockquote p:last-child{margin-bottom:0}
.gbx-prose table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.93rem}
.gbx-prose th,.gbx-prose td{padding:12px 14px;border:1px solid var(--gbx-line);text-align:left}
.gbx-prose th{background:var(--gbx-ink-2);color:#fff;font-weight:600}
.gbx-prose figure{margin:1.6em 0}
.gbx-prose figcaption{font-size:.83rem;color:var(--gbx-text-3);margin-top:8px;text-align:center}
.gbx-prose>*:first-child{margin-top:0}
.gbx-prose--wide{max-width:none}
.gbx-section--marca .gbx-prose{color:var(--gbx-marca-text-2)}
.gbx-section--marca .gbx-prose strong{color:#fff}
.gbx-section--marca .gbx-prose a{color:var(--gbx-accent)}

/* ---------- 24. Artigo ---------- */
.gbx-article__layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,3.2vw,48px);align-items:start}
.gbx-article__hero img{width:100%;border-radius:var(--gbx-r-lg);border:1px solid var(--gbx-line);margin-bottom:34px}
.gbx-article__meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:24px;font-size:.85rem;color:var(--gbx-text-3)}
.gbx-aside{position:sticky;top:calc(var(--gbx-header-h) + 20px);display:grid;gap:18px}
.gbx-aside__box{border:1px solid var(--gbx-line);border-radius:var(--gbx-r-lg);background:var(--gbx-ink-2);padding:20px}
.gbx-aside__box h3{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gbx-text-3);font-family:var(--gbx-font-body);font-weight:700;margin-bottom:16px}
.gbx-aside__box ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.gbx-aside__box li a{font-size:.92rem;color:var(--gbx-text-2);line-height:1.4;display:block;padding:3px 0;transition:color .25s}
.gbx-aside__box li a:hover{color:var(--gbx-accent)}
.gbx-aside__cta{background:linear-gradient(150deg,var(--gbx-indigo),var(--gbx-ink-3));border-color:var(--gbx-line-2)}
.gbx-aside__cta h3{color:var(--gbx-accent)}
.gbx-aside__cta p{font-size:.91rem;color:var(--gbx-text-2)}

.gbx-source{
  margin:34px 0;padding:20px 24px;border-radius:var(--gbx-r);
  border:1px solid var(--gbx-line);background:var(--gbx-ink-2);
  display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;
  font-size:.9rem;color:var(--gbx-text-2);
}
.gbx-source strong{color:#fff}

.gbx-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:34px 0;padding-top:24px;border-top:1px solid var(--gbx-line)}
.gbx-share span{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gbx-text-3);margin-right:4px}
.gbx-share a,.gbx-share button{
  width:40px;height:40px;display:grid;place-items:center;border-radius:var(--gbx-r-sm);
  border:1px solid var(--gbx-line);background:transparent;color:var(--gbx-text-2);cursor:pointer;
  transition:border-color .3s,color .3s;
}
.gbx-share a:hover,.gbx-share button:hover{border-color:var(--gbx-accent);color:var(--gbx-accent)}
.gbx-share svg{width:17px;height:17px}

/* ---------- 24b. Ficha da resolução ---------- */
/* Ato normativo tem dados, não lide: número, datas e ementa vivem numa ficha
   acima do texto. Os rótulos vão em mono, como o resto do que é técnico. */
.gbx-res{
  margin:0 0 30px;padding:22px 24px;border-radius:var(--gbx-r);
  border:1px solid var(--gbx-line);border-left:3px solid var(--gbx-accent);
  background:var(--gbx-ink-2);
}
.gbx-res__chapeu{
  margin:0 0 14px;font-family:var(--gbx-font-mono);
  font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--gbx-text-2);
}
.gbx-res__dados{display:flex;flex-wrap:wrap;gap:6px 32px;margin:0 0 16px}
.gbx-res__par{display:flex;flex-direction:column;gap:2px}
.gbx-res__dados dt{
  font-family:var(--gbx-font-mono);font-size:.7rem;letter-spacing:.08em;
  /* text-3 sobre ink-2 da 4,34:1 e reprova em texto pequeno; text-2 da 7,29:1 */
  text-transform:uppercase;color:var(--gbx-text-2);
}
.gbx-res__dados dd{margin:0;font-size:.95rem;color:var(--gbx-text)}
.gbx-res__rotulo{
  margin:0 0 4px;font-family:var(--gbx-font-mono);font-size:.7rem;
  letter-spacing:.04em;text-transform:uppercase;color:var(--gbx-text-2);
}
.gbx-res__ementa{margin:0;font-size:1rem;line-height:1.6;color:var(--gbx-text)}

/* ---------- 25. FAQ ---------- */
.gbx-faq{border-top:1px solid var(--gbx-line)}
.gbx-faq__item{border-bottom:1px solid var(--gbx-line)}
.gbx-faq__q{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:22px 4px;background:transparent;border:0;cursor:pointer;text-align:left;
  font-family:var(--gbx-font-head);font-weight:600;font-size:.97rem;color:var(--gbx-text);
  transition:color .3s;
}
.gbx-faq__q:hover{color:var(--gbx-accent)}
.gbx-faq__ico{flex:0 0 26px;width:26px;height:26px;position:relative;margin-top:2px}
.gbx-faq__ico::before,.gbx-faq__ico::after{
  content:"";position:absolute;left:50%;top:50%;background:currentColor;
  transform:translate(-50%,-50%);transition:transform .35s var(--gbx-ease),opacity .35s;
}
.gbx-faq__ico::before{width:13px;height:1.5px}
.gbx-faq__ico::after{width:1.5px;height:13px}
.gbx-faq__q[aria-expanded="true"]{color:var(--gbx-accent)}
.gbx-faq__q[aria-expanded="true"] .gbx-faq__ico::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.gbx-faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--gbx-ease-out)}
.gbx-faq__a>*{overflow:hidden}
.gbx-faq__item.is-open .gbx-faq__a{grid-template-rows:1fr}
.gbx-faq__a .gbx-faq__inner{padding:0 40px 22px 4px;font-size:.97rem;color:var(--gbx-text-2)}
.gbx-faq__a .gbx-faq__inner p:last-child{margin-bottom:0}
.gbx-section--marca .gbx-faq__a .gbx-faq__inner{color:var(--gbx-marca-text-2)}
.gbx-section--marca .gbx-faq__q{color:#fff}

/* ---------- 26. Formularios ---------- */
.gbx-form{display:grid;gap:16px}
.gbx-form__row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.gbx-form__row--3{grid-template-columns:repeat(3,1fr)}
.gbx-field{display:grid;gap:7px}
.gbx-field label{font-size:.81rem;font-weight:600;color:var(--gbx-text-2);letter-spacing:.02em}
.gbx-field label .req{color:var(--gbx-accent)}
.gbx-field input,.gbx-field select,.gbx-field textarea{
  width:100%;padding:11px 14px;border-radius:var(--gbx-r-sm);
  background:var(--gbx-ink-2);border:1px solid var(--gbx-line);color:#fff;font-size:.94rem;
  transition:border-color .3s,background-color .3s;
}
.gbx-field textarea{min-height:140px;resize:vertical}
.gbx-field input::placeholder,.gbx-field textarea::placeholder{color:var(--gbx-text-3)}
.gbx-field input:focus,.gbx-field select:focus,.gbx-field textarea:focus{
  border-color:var(--gbx-accent);outline:none;background:var(--gbx-ink-3);
}
.gbx-field select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2398A0C0' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;
}
.gbx-consent{display:flex;gap:12px;align-items:flex-start;font-size:.85rem;color:var(--gbx-text-2);line-height:1.5}
.gbx-consent input{flex:0 0 18px;width:18px;height:18px;margin-top:2px;accent-color:var(--gbx-accent)}
.gbx-consent a{color:var(--gbx-accent);text-decoration:underline;text-underline-offset:2px}
.gbx-form__msg{padding:14px 18px;border-radius:var(--gbx-r-sm);font-size:.92rem;display:none}
.gbx-form__msg.is-ok{display:block;background:rgba(60,190,120,.12);border:1px solid rgba(60,190,120,.35);color:#8FE3B4}
.gbx-form__msg.is-err{display:block;background:rgba(255,90,90,.10);border:1px solid rgba(255,90,90,.35);color:#FFA8A8}
.gbx-hp{position:absolute !important;left:-9999px}
.gbx-form__note{font-size:.8rem;color:var(--gbx-text-3);margin:0}

.gbx-section--marca .gbx-field input,
.gbx-section--marca .gbx-field select,
.gbx-section--marca .gbx-field textarea{background:rgba(255,255,255,.07);border-color:var(--gbx-marca-line-2);color:#fff}
.gbx-section--marca .gbx-field label{color:var(--gbx-marca-text-2)}

.gbx-contact__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(26px,3.2vw,44px);align-items:start}
.gbx-contact-cards{display:grid;gap:14px}
.gbx-contact-card{
  display:flex;gap:14px;padding:18px;border:1px solid var(--gbx-line);
  border-radius:var(--gbx-r);background:var(--gbx-ink-2);
  transition:border-color .3s,transform .3s var(--gbx-ease);
}
.gbx-contact-card:hover{border-color:var(--gbx-accent);transform:translateY(-2px)}
.gbx-contact-card__ico{
  flex:0 0 42px;width:42px;height:42px;border-radius:var(--gbx-r-sm);display:grid;place-items:center;
  background:rgba(255,222,48,.10);border:1px solid rgba(255,222,48,.22);color:var(--gbx-accent);
}
.gbx-contact-card__ico svg{width:19px;height:19px}
.gbx-contact-card h3{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gbx-text-3);font-family:var(--gbx-font-body);font-weight:700;margin-bottom:6px}
.gbx-contact-card p,.gbx-contact-card a{font-size:.97rem;color:var(--gbx-text);margin:0}
.gbx-contact-card a:hover{color:var(--gbx-accent)}
.gbx-map-embed{border-radius:var(--gbx-r-lg);overflow:hidden;border:1px solid var(--gbx-line);margin-top:14px}
.gbx-map-embed iframe{display:block;width:100%;height:300px;border:0;filter:grayscale(1) invert(.9) contrast(.85)}

/* ---------- 27. Paginacao ---------- */
.gbx-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:clamp(40px,5vw,64px)}
.gbx-pagination .page-numbers{
  min-width:44px;height:44px;padding:0 14px;display:grid;place-items:center;
  border:1px solid var(--gbx-line);border-radius:var(--gbx-r-sm);
  font-size:.91rem;color:var(--gbx-text-2);
  transition:border-color .3s,color .3s,background-color .3s;
}
.gbx-pagination .page-numbers:hover{border-color:var(--gbx-line-2);color:#fff}
.gbx-pagination .page-numbers.current{background:var(--gbx-accent);border-color:var(--gbx-accent);color:#0B1024;font-weight:600}
.gbx-pagination .dots{border-color:transparent}

/* ---------- 28. Estados vazios / 404 ---------- */
.gbx-empty{text-align:center;padding:clamp(48px,7vw,90px) 0;max-width:600px;margin-inline:auto}
.gbx-empty__code{font-family:var(--gbx-font-head);font-size:clamp(3rem,9vw,6rem);line-height:1;color:var(--gbx-accent);opacity:.22;margin-bottom:0}

/* ---------- 29. Grade de servicos (arquivo) ---------- */
.gbx-svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:clamp(18px,2vw,24px)}
.gbx-svc-card{
  position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;
  border:1px solid var(--gbx-line);border-radius:var(--gbx-r-lg);background:var(--gbx-ink-2);
  transition:border-color .35s,transform .35s var(--gbx-ease);
}
.gbx-svc-card:hover{border-color:var(--gbx-line-2);transform:translateY(-3px)}
.gbx-svc-card__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--gbx-ink-3)}
.gbx-svc-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--gbx-ease-out)}
/* idem no cartao de solucao: sem aumento da foto no hover. */
.gbx-svc-card__num{
  position:absolute;top:14px;left:14px;z-index:2;
  padding:5px 10px;border-radius:var(--gbx-r-xs);
  background:rgba(7,10,24,.8);border:1px solid var(--gbx-line-2);
  font-family:var(--gbx-font-head);font-size:.72rem;font-weight:600;color:var(--gbx-accent);
}
.gbx-svc-card__body{padding:20px;display:flex;flex-direction:column;flex:1 1 auto}
.gbx-svc-card h3{font-size:1rem;margin-bottom:8px}
.gbx-svc-card p{font-size:.91rem;color:var(--gbx-text-2);margin-bottom:18px;flex:1 1 auto}

/* lista lateral de servicos */
.gbx-svc-nav{display:grid;gap:2px}
.gbx-svc-nav a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;border-radius:var(--gbx-r-sm);font-size:.9rem;color:var(--gbx-text-2);
  transition:background-color .25s,color .25s;
}
.gbx-svc-nav a:hover{background:var(--gbx-ink-3);color:#fff}
.gbx-svc-nav a[aria-current]{background:rgba(255,222,48,.10);color:var(--gbx-accent);font-weight:600}
.gbx-svc-nav svg{width:14px;height:14px;opacity:.5}

/* ---------- 30. Responsivo ---------- */
@media (max-width:1100px){
  .gbx-hero__layout{grid-template-columns:1fr;gap:44px}
  .gbx-hero__visual{max-width:430px;order:2}
  .gbx-solutions__layout{grid-template-columns:1fr}
  .gbx-sol-preview{display:none}
  .gbx-article__layout{grid-template-columns:1fr}
  .gbx-aside{position:static;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
  .gbx-footer__grid{grid-template-columns:1.4fr 1fr 1fr;row-gap:40px}
  .gbx-map__layout{grid-template-columns:1fr}
  .gbx-about__layout{grid-template-columns:1fr}
  .gbx-about__media{order:-1;max-width:560px}
  .gbx-hub{grid-template-columns:1fr}
  .gbx-contact__grid{grid-template-columns:1fr}
  .gbx-phero__layout{grid-template-columns:1fr}
}
@media (max-width:940px){
  .gbx-nav,.gbx-header__cta{display:none}
  .gbx-burger{display:flex}
  .gbx-stats__grid{grid-template-columns:repeat(2,1fr)}
  .gbx-stat:nth-child(3)::before{display:none}
  .gbx-stat:nth-child(n+3){border-top:1px solid var(--gbx-line)}
  .gbx-cta__box{grid-template-columns:1fr}
  .gbx-steps{grid-template-columns:1fr;gap:32px}
  .gbx-steps::before{display:none}
  .gbx-step{display:grid;grid-template-columns:76px 1fr;gap:20px;text-align:left;align-items:start}
  .gbx-step__num{margin:0}
  .gbx-step p{margin-inline:0;max-width:none}
  .gbx-form__row--3{grid-template-columns:repeat(2,1fr)}
  .gbx-benefits{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  :root{--gbx-gutter:18px;--gbx-header-h:70px}
  body{font-size:16px}
  .gbx-form__row,.gbx-form__row--3{grid-template-columns:1fr}
  .gbx-footer__grid{grid-template-columns:1fr;row-gap:34px}
  .gbx-map__list{grid-template-columns:1fr}
  .gbx-hero__actions .gbx-btn{width:100%}
  .gbx-post-row{grid-template-columns:84px 1fr}
  .gbx-quotes__track{grid-auto-columns:minmax(86%,1fr)}
  .gbx-hero__badge--a{top:1%;left:0}
  .gbx-hero__badge--b{bottom:6%;right:0}
  .gbx-hero__badge--c{display:none}
  .gbx-hero__visual{max-width:330px}
  .gbx-filters{flex-direction:column;align-items:stretch}
  .gbx-wa{width:50px;height:50px;right:14px;bottom:14px}
  .gbx-wa svg{width:25px;height:25px}
  .gbx-about__stamp{right:12px;bottom:-14px;padding:14px 18px}
  .gbx-about__stamp strong{font-size:1.5rem}
  .gbx-cta__actions{min-width:0}
  .gbx-footer__bar{flex-direction:column;align-items:flex-start;gap:12px}
  .gbx-footer__bar-end{gap:14px}
  .gbx-benefits,.gbx-benefits--2{grid-template-columns:1fr}
}
@media (max-width:460px){
  .gbx-stats__grid{grid-template-columns:1fr}
  .gbx-stat::before{display:none !important}
  .gbx-stat + .gbx-stat{border-top:1px solid var(--gbx-line)}
}

/* ---------- 31. Impressao ---------- */
@media print{
  .gbx-header,.gbx-footer,.gbx-wa,.gbx-page-fade,.gbx-hero__canvas,.gbx-share{display:none !important}
  body{background:#fff;color:#000}
  .gbx-prose{max-width:none;color:#000}
}

/* =========================================================================
   32. GBX 2026 — Radar, Agenda, Sistema, Fundador, Eventos, Alertas
   ========================================================================= */


/* ---------- grupos de solução (faixa clara) ---------- */
.gbx-grupos__grade{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gbx-grupo{
  position:relative;display:block;
  padding:26px 24px 52px;
  background:var(--gbx-ink);border:1px solid var(--gbx-line);
  border-radius:var(--gbx-r-lg);
  transition:border-color .3s,transform .3s var(--gbx-ease),box-shadow .3s;
}
.gbx-grupo:hover{
  border-color:var(--gbx-indigo-2);transform:translateY(-3px);
  box-shadow:0 18px 40px -24px rgba(44,31,112,.45);
}
.gbx-grupo__icone{
  display:grid;place-items:center;width:42px;height:42px;margin-bottom:16px;
  border-radius:var(--gbx-r-sm);
  background:var(--gbx-ink-3);border:1px solid var(--gbx-line);
  color:var(--gbx-indigo);
}
.gbx-grupo__icone svg{width:21px;height:21px}
.gbx-grupo h3{font-size:1.06rem;color:var(--gbx-on-paper);margin-bottom:8px}
.gbx-grupo p{font-size:.9rem;color:var(--gbx-on-paper-2);margin:0}
.gbx-grupo__itens{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.gbx-grupo__itens li{
  font-size:.73rem;padding:3px 9px;border-radius:100px;
  background:rgba(44,31,112,.06);color:var(--gbx-indigo-2);
}
.gbx-grupo__seta{
  position:absolute;left:24px;bottom:22px;
  display:inline-flex;align-items:center;color:var(--gbx-indigo-2);opacity:.5;
  transition:opacity .3s,transform .3s var(--gbx-ease);
}
.gbx-grupo__seta svg{width:18px;height:18px}
.gbx-grupo:hover .gbx-grupo__seta{opacity:1;transform:translateX(4px)}
.gbx-grupos__pe{text-align:center;margin:34px 0 0}

/* ---------- Radar GBX ---------- */
.gbx-radar{background:var(--gbx-ink-2)}
.gbx-radar__lista{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gbx-radar-item{
  position:relative;display:flex;flex-direction:column;
  padding:24px;border:1px solid var(--gbx-line);border-radius:var(--gbx-r-lg);
  background:var(--gbx-ink);overflow:hidden;
  transition:border-color .3s,transform .3s var(--gbx-ease);
}
.gbx-radar-item::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gbx-sem-baixo);
}
.gbx-radar-item--alto::before{background:var(--gbx-sem-alto)}
.gbx-radar-item--medio::before{background:var(--gbx-sem-medio)}
.gbx-radar-item:hover{border-color:var(--gbx-line-2);transform:translateY(-3px)}

.gbx-radar-item__topo{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin-bottom:14px;font-size:.74rem;color:var(--gbx-text-3);
}
.gbx-radar__selo{
  display:inline-flex;align-items:center;gap:7px;
  padding:4px 10px;border-radius:100px;
  font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
}
.gbx-radar__selo i{width:7px;height:7px;border-radius:50%;flex:0 0 7px}
.gbx-radar-item--alto  .gbx-radar__selo{background:rgba(255,107,90,.12);color:#FF9184;border:1px solid rgba(255,107,90,.3)}
.gbx-radar-item--alto  .gbx-radar__selo i{background:var(--gbx-sem-alto)}
.gbx-radar-item--medio .gbx-radar__selo{background:rgba(255,201,60,.12);color:var(--gbx-accent);border:1px solid rgba(255,201,60,.3)}
.gbx-radar-item--medio .gbx-radar__selo i{background:var(--gbx-sem-medio)}
.gbx-radar-item--baixo .gbx-radar__selo{background:rgba(91,201,140,.12);color:#7FD8A8;border:1px solid rgba(91,201,140,.3)}
.gbx-radar-item--baixo .gbx-radar__selo i{background:var(--gbx-sem-baixo)}
.gbx-radar-item__cat{color:var(--gbx-text-3)}

.gbx-radar-item__titulo{font-size:1.02rem;line-height:1.35;margin-bottom:14px}
.gbx-radar-item__titulo a:hover{color:var(--gbx-accent)}

.gbx-radar-item__analise{
  padding:14px 16px;margin-bottom:14px;
  background:var(--gbx-ink-2);border-radius:var(--gbx-r-sm);
  border-left:2px solid var(--gbx-line-2);
}
.gbx-radar-item__rotulo{
  display:block;font-size:.66rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--gbx-text-3);margin-bottom:6px;
}
.gbx-radar-item__analise p{font-size:.9rem;color:var(--gbx-text);margin:0}

.gbx-radar-item__acao{
  display:flex;gap:9px;align-items:flex-start;
  font-size:.88rem;color:var(--gbx-text-2);margin:0 0 16px;
}
.gbx-radar-item__acao svg{width:16px;height:16px;flex:0 0 16px;margin-top:3px;color:var(--gbx-accent)}
.gbx-radar-item__quem{
  font-size:.8rem;color:var(--gbx-text-3);margin:0 0 14px;
}
.gbx-radar-item__quem strong{color:var(--gbx-text-2);font-weight:600}

.gbx-radar-item__pe{
  margin-top:auto;padding-top:14px;border-top:1px solid var(--gbx-line);
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.gbx-radar-item__prazo{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--gbx-text-3)}
.gbx-radar-item__prazo svg{width:14px;height:14px}
.gbx-radar-item__prazo.is-urgente{color:#FF9184;font-weight:600}

/* ---------- Agenda regulatória ---------- */
.gbx-agenda__lista{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gbx-prazo{
  display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:20px;align-items:center;
  padding:16px 20px;border:1px solid var(--gbx-line);border-radius:var(--gbx-r);
  background:var(--gbx-ink);
  transition:border-color .3s,background-color .3s;
}
.gbx-prazo:hover{border-color:var(--gbx-line-2);background:var(--gbx-ink-3)}
.gbx-prazo.is-urgente{border-color:rgba(255,107,90,.35)}
.gbx-prazo__data{
  text-align:center;padding:8px 0;border-radius:var(--gbx-r-sm);
  background:var(--gbx-ink-2);border:1px solid var(--gbx-line);
}
.gbx-prazo__data strong{
  display:block;font-family:var(--gbx-font-head);font-size:1.5rem;line-height:1;color:var(--gbx-accent);
}
.gbx-prazo__data span{
  display:block;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--gbx-text-3);margin-top:3px;
}
.gbx-prazo.is-urgente .gbx-prazo__data strong{color:#FF9184}
.gbx-prazo__corpo h3{font-size:1rem;margin:0 0 5px}
.gbx-prazo__corpo p{font-size:.88rem;color:var(--gbx-text-2);margin:0 0 7px}
.gbx-prazo__meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.76rem;color:var(--gbx-text-3)}
.gbx-prazo__orgao{
  padding:2px 9px;border-radius:100px;
  background:rgba(91,140,255,.12);color:#9FBAFF;border:1px solid rgba(91,140,255,.26);font-weight:600;
}
.gbx-prazo__conta{font-size:.82rem;font-weight:600;color:var(--gbx-text-2);white-space:nowrap}
.gbx-prazo.is-urgente .gbx-prazo__conta{color:#FF9184}
.gbx-agenda__pe{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px}

/* ---------- Sistema GBX ---------- */
.gbx-sistema{background:var(--gbx-ink);overflow:hidden}
.gbx-sistema__layout{
  display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(30px,4vw,60px);align-items:center;position:relative;z-index:2;
}
.gbx-sistema__titulo{max-width:22ch}
/* A lista de recursos vira pastilha: enche a coluna da esquerda, que ficava
   com um buraco entre o texto e os botoes, e da ao bloco o mesmo canto macio
   do resto. Uma coluna em vez de duas — sao rotulos curtos e a leitura vertical
   e mais rapida que o zigue-zague de duas colunas. */
.gbx-sistema__recursos{
  list-style:none;margin:26px 0 4px;padding:0;
  display:flex;flex-wrap:wrap;gap:8px;
}
.gbx-sistema__recursos li{
  display:flex;align-items:center;gap:8px;
  font-size:.86rem;color:var(--gbx-marca-text);
  padding:7px 13px 7px 9px;border-radius:var(--gbx-r-pill);
  background:rgba(255,255,255,.06);border:1px solid var(--gbx-marca-line);
}
.gbx-sistema__recursos svg{width:15px;height:15px;flex:0 0 15px;color:var(--gbx-accent)}

/* ---------- Mockup: notebook de verdade ----------
   Era um retângulo com uma barrinha de navegador em cima. O cliente cobrou o
   mockup do modelo, e com razão: um print dentro de uma moldura chapada não
   diz "plataforma", diz "imagem". Aqui a tela vira a tampa (com moldura
   escura em volta) e a base entra por baixo, com o vinco do teclado. Tudo em
   CSS: nenhuma imagem de aparelho para manter atualizada. */
.gbx-sistema__tela{ position:relative; padding-bottom:22px; }
.gbx-mock{
  margin:0 auto;border-radius:14px;overflow:hidden;
  border:10px solid #171334;border-bottom-width:14px;
  background:var(--gbx-ink-3);
  box-shadow:0 40px 80px -42px rgba(0,0,0,.95), inset 0 0 0 1px rgba(255,255,255,.06);
}
/* base do notebook: mais larga que a tampa, como no aparelho real */
.gbx-sistema__tela::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:114%;max-width:none;height:14px;
  background:linear-gradient(180deg,#221C4A,#171334);
  border-radius:0 0 12px 12px;
  box-shadow:0 16px 26px -14px rgba(0,0,0,.75);
}
/* o vinco onde o dedo abre a tampa */
.gbx-sistema__tela::before{
  content:"";position:absolute;left:50%;bottom:4px;transform:translateX(-50%);
  width:86px;height:5px;border-radius:var(--gbx-r-pill);
  background:rgba(255,255,255,.16);z-index:1;
}
@media (max-width:680px){
  .gbx-mock{border-width:6px;border-bottom-width:9px}
  .gbx-sistema__tela::after{height:10px}
  .gbx-sistema__tela::before{width:56px;height:4px;bottom:3px}
}
.gbx-mock__barra{
  display:flex;gap:6px;align-items:center;
  padding:11px 15px;background:var(--gbx-ink-2);border-bottom:1px solid var(--gbx-line);
}
.gbx-mock__barra i{width:9px;height:9px;border-radius:50%;background:var(--gbx-line-2)}
/* A barra do navegador ganhou uma falsa barra de endereco: sem ela os tres
   pontinhos flutuavam num campo vazio e a moldura parecia inacabada. */
.gbx-mock__barra::after{
  content:"";flex:1;height:15px;margin-left:8px;
  border-radius:var(--gbx-r-pill);background:var(--gbx-line);
}
.gbx-mock img{width:100%;display:block}
.gbx-mock--vazio{min-height:300px;display:flex;flex-direction:column}
.gbx-mock__aviso{
  flex:1;display:grid;place-items:center;gap:12px;padding:34px;text-align:center;color:var(--gbx-text-3);
}
.gbx-mock__aviso svg{width:32px;height:32px;opacity:.5}
.gbx-mock__aviso p{margin:0;font-size:.88rem;max-width:34ch}

/* ---------- Fundador ---------- */
.gbx-fundador{background:var(--gbx-paper);color:var(--gbx-on-paper)}
.gbx-fundador h2,.gbx-fundador h3{color:var(--gbx-on-paper)}
.gbx-fundador .gbx-eyebrow{color:var(--gbx-indigo-2)}
.gbx-fundador__layout{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(30px,4vw,60px);align-items:center;
}
/* O retrato agora e vertical de verdade (gbx-retrato). O teto de largura
   evita que ele domine a secao no monitor largo. */
.gbx-fundador__retrato{position:relative;isolation:isolate;max-width:430px}
.gbx-fundador__retrato img{width:100%;border-radius:var(--gbx-r-lg);border:1px solid var(--gbx-paper-line)}
.gbx-fundador__retrato::after{
  content:"";position:absolute;left:-14px;bottom:-14px;width:120px;height:120px;
  border-left:2px solid var(--gbx-accent);border-bottom:2px solid var(--gbx-accent);
  border-radius:0 0 0 var(--gbx-r-lg);z-index:-1;
}
.gbx-fundador__vazio{
  display:grid;place-items:center;gap:12px;text-align:center;
  aspect-ratio:4/5;padding:30px;
  border:1px dashed var(--gbx-paper-line);border-radius:var(--gbx-r-lg);
  background:#fff;color:var(--gbx-on-paper-2);
}
.gbx-fundador__vazio svg{width:34px;height:34px;opacity:.4}
.gbx-fundador__vazio p{margin:0;font-size:.88rem;max-width:26ch}
.gbx-fundador__nome{margin-bottom:4px}
.gbx-fundador__cargo{
  font-size:.92rem;font-weight:600;letter-spacing:-.005em;
  color:var(--gbx-indigo-2);margin-bottom:20px;
}
.gbx-fundador__bio p{font-size:1rem;color:var(--gbx-on-paper-2);margin-bottom:1em}
.gbx-fundador__pendente{font-style:italic}
.gbx-fundador .gbx-link{color:var(--gbx-indigo-2)}

/* ---------- Eventos ---------- */
.gbx-eventos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gbx-evento{
  display:flex;flex-direction:column;padding:24px;
  border:1px solid var(--gbx-line);border-radius:var(--gbx-r-lg);background:var(--gbx-ink);
  transition:border-color .3s,transform .3s var(--gbx-ease);
}
.gbx-evento:hover{border-color:var(--gbx-line-2);transform:translateY(-3px)}
.gbx-evento__topo{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.gbx-evento__selo{
  padding:3px 10px;border-radius:100px;font-size:.68rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;background:var(--gbx-accent);color:#0B1024;
}
.gbx-evento h3{font-size:1.02rem;line-height:1.35;margin-bottom:14px}
.gbx-evento__dados{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.gbx-evento__dados li{display:flex;gap:9px;font-size:.86rem;color:var(--gbx-text-2)}
.gbx-evento__dados svg{width:15px;height:15px;flex:0 0 15px;margin-top:3px;color:var(--gbx-accent)}
.gbx-evento .gbx-link{margin-top:auto}

/* ---------- Alerta GBX ---------- */
.gbx-alertas{background:var(--gbx-ink)}
.gbx-alertas__caixa{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(28px,3.4vw,52px);align-items:start;
  padding:clamp(26px,3.4vw,44px);
  border:1px solid var(--gbx-line-2);border-radius:var(--gbx-r-lg);
  background:
    radial-gradient(800px 340px at 12% 0%,rgba(44,31,112,.6),transparent 62%),
    var(--gbx-ink-2);
}
.gbx-alertas__caixa h2{margin-bottom:10px}
.gbx-alertas__caixa p{color:var(--gbx-text-2);margin:0}
.gbx-alertas__texto{display:flex;flex-direction:column}
.gbx-alertas__lista{
  list-style:none;margin:26px 0 0;padding:26px 0 0;display:grid;gap:18px;
  border-top:1px solid var(--gbx-line);
}
.gbx-alertas__lista li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:start}
.gbx-alertas__lista strong{display:block;font-family:var(--gbx-font-head);font-weight:700;font-size:.95rem;letter-spacing:-.01em}
.gbx-alertas__lista em{display:block;font-style:normal;font-size:.86rem;line-height:1.5;color:var(--gbx-text-2);margin-top:2px}

/* ---------- Icone duotone ----------
   Os icones eram tracos de 24px iguais aos de qualquer biblioteca. A forma
   de fundo arredondada, na cor da marca, e o que os tira do generico — e
   custa uma regra, nao vinte SVGs redesenhados. */
.gbx-ico{
  display:grid;place-items:center;width:38px;height:38px;
  border-radius:var(--gbx-r-sm);
  background:var(--gbx-ico-bg);color:var(--gbx-ico-cor);
}
.gbx-ico svg{width:19px;height:19px}
.gbx-section--marca .gbx-ico,
.gbx-sistema .gbx-ico,
.gbx-alertas .gbx-ico{background:var(--gbx-ico-bg-esc);color:var(--gbx-ico-cor-esc)}
.gbx-prefs{border:0;margin:0;padding:0;display:grid;gap:9px}
.gbx-prefs legend{
  padding:0;font-size:.78rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--gbx-text-3);margin-bottom:4px;
}
.gbx-prefs__item{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--gbx-text-2);cursor:pointer}
.gbx-prefs__item input{width:17px;height:17px;flex:0 0 17px;accent-color:var(--gbx-accent);cursor:pointer}

/* ---------- responsivo das novas seções ---------- */
@media (max-width:1100px){
  .gbx-grupos__grade{grid-template-columns:repeat(2,1fr)}
  .gbx-radar__lista{grid-template-columns:1fr}
  .gbx-eventos{grid-template-columns:1fr}
  .gbx-sistema__layout{grid-template-columns:1fr}
  .gbx-sistema__tela{order:-1}
  .gbx-fundador__layout{grid-template-columns:1fr;gap:30px}
  .gbx-fundador__retrato{max-width:400px}
  .gbx-alertas__caixa{grid-template-columns:1fr}
}
@media (max-width:680px){
  .gbx-grupos__grade{grid-template-columns:1fr}
  .gbx-sistema__recursos{grid-template-columns:1fr}
  .gbx-prazo{grid-template-columns:60px minmax(0,1fr);gap:14px;padding:14px}
  .gbx-prazo__conta{grid-column:1 / -1;text-align:right}
  .gbx-prazo__data strong{font-size:1.25rem}
  .gbx-agenda__pe{flex-direction:column;align-items:stretch;gap:14px}
}

/* =========================================================================
   33. Direção institucional — ajustes sobre a base clara
   ========================================================================= */

/* o fundo do site é papel; nada de sombra difusa nem brilho */
body{background:var(--gbx-ink);color:var(--gbx-text)}
.gbx-glow{display:none}
.gbx-hero__canvas{display:none}

/* a malha some do claro e vira uma régua de seção */
.gbx-grid-bg{display:none}

/* ---------- painel do hero ---------- */
.gbx-painel{
  display:grid;gap:1px;background:var(--gbx-marca-line);
  border:1px solid var(--gbx-marca-line-2);
  align-self:start;
}
.gbx-painel__bloco{background:var(--gbx-marca-2);padding:22px 24px}
.gbx-painel__titulo{
  font-family:var(--gbx-font-body);
  font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--gbx-accent);margin:0 0 16px;
}
.gbx-painel__prazos{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.gbx-painel__prazos li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center}
.gbx-painel__data{
  text-align:center;padding:6px 0;
  border:1px solid var(--gbx-marca-line-2);
}
.gbx-painel__data strong{
  display:block;font-family:var(--gbx-font-head);font-size:1.3rem;line-height:1;color:#fff;
}
.gbx-painel__data span{
  display:block;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--gbx-marca-text-2);margin-top:2px;
}
.gbx-painel__texto{display:grid;gap:3px;min-width:0}
.gbx-painel__nome{
  font-size:.92rem;font-weight:500;color:#fff;line-height:1.35;
}
.gbx-painel__conta{font-size:.78rem;color:var(--gbx-marca-text-2)}
.gbx-painel__link{
  display:inline-flex;align-items:center;gap:7px;margin-top:18px;
  font-size:.82rem;font-weight:600;color:var(--gbx-accent);
}
.gbx-painel__link svg{width:15px;height:15px;transition:transform .3s var(--gbx-ease)}
.gbx-painel__link:hover svg{transform:translateX(3px)}
.gbx-painel__manchete{margin:12px 0 0}
.gbx-painel__manchete a{
  font-family:var(--gbx-font-head);font-size:1.02rem;line-height:1.35;color:#fff;
  background-image:linear-gradient(currentColor,currentColor);
  background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .35s var(--gbx-ease-out);
}
.gbx-painel__manchete a:hover{background-size:100% 1px}
.gbx-hero__layout{align-items:start}

/* selo do semáforo também fora do cartão */
.gbx-radar__selo--alto{background:rgba(192,57,43,.16);color:#FFB4AA;border:1px solid rgba(192,57,43,.4)}
.gbx-radar__selo--alto i{background:#E4614F}
.gbx-radar__selo--medio{background:rgba(183,121,31,.18);color:#FFD98A;border:1px solid rgba(183,121,31,.45)}
.gbx-radar__selo--medio i{background:#D89A2B}
.gbx-radar__selo--baixo{background:rgba(46,125,91,.18);color:#9BDCBC;border:1px solid rgba(46,125,91,.45)}
.gbx-radar__selo--baixo i{background:#3E9C72}

/* ---------- indicadores: régua vertical, sem caixa ---------- */
.gbx-stat__value{font-family:var(--gbx-font-head)}
.gbx-stat__label{color:var(--gbx-text-2)}
.gbx-stat__note{color:var(--gbx-text-3)}

/* ---------- cartões em geral ---------- */
.gbx-benefit,.gbx-post-card,.gbx-post-row,.gbx-quote,.gbx-svc-card,
.gbx-radar-item,.gbx-prazo,.gbx-evento,.gbx-aside__box,.gbx-contact-card{
  background:var(--gbx-ink);border-color:var(--gbx-line);
}
.gbx-benefits{background:var(--gbx-ink)}
.gbx-benefit{box-shadow:0 0 0 1px var(--gbx-line)}
.gbx-benefit:hover{background:var(--gbx-ink-2)}
.gbx-post-card:hover,.gbx-quote:hover,.gbx-svc-card:hover,
.gbx-radar-item:hover,.gbx-evento:hover{border-color:var(--gbx-indigo-2);transform:none}
.gbx-post-row:hover{background:var(--gbx-ink-2);border-color:var(--gbx-line-2)}

.gbx-benefit__icon,.gbx-contact-card__ico{
  background:var(--gbx-ink-3);border:1px solid var(--gbx-line);color:var(--gbx-indigo);
}
.gbx-benefit p,.gbx-post-card__excerpt,.gbx-evento__dados li,
.gbx-quote__text,.gbx-prazo__corpo p{color:var(--gbx-text-2)}
.gbx-quote__text{color:var(--gbx-text)}
.gbx-quote__name{color:var(--gbx-text)}
.gbx-quote__mark{color:var(--gbx-indigo-2);opacity:.35}
.gbx-quote__avatar{background:var(--gbx-indigo)}

.gbx-tag{
  background:var(--gbx-ink-3);border:1px solid var(--gbx-line);color:var(--gbx-indigo-2);
}
.gbx-tag:hover{background:var(--gbx-ink-4)}

/* ---------- Radar no claro ---------- */
.gbx-radar{background:var(--gbx-ink-2)}
.gbx-radar-item{background:var(--gbx-ink)}
.gbx-radar-item__analise{
  background:var(--gbx-ink-2);border-left:2px solid var(--gbx-indigo);
}
.gbx-radar-item__analise p{color:var(--gbx-text)}
.gbx-radar-item__rotulo{color:var(--gbx-text-3)}
.gbx-radar-item__acao svg{color:var(--gbx-indigo)}
.gbx-radar-item--alto  .gbx-radar__selo{background:#FDECEA;color:#9E2F22;border:1px solid #F3C9C3}
.gbx-radar-item--alto  .gbx-radar__selo i{background:var(--gbx-sem-alto)}
.gbx-radar-item--medio .gbx-radar__selo{background:#FDF3E2;color:#8A5B12;border:1px solid #EFDCB8}
.gbx-radar-item--medio .gbx-radar__selo i{background:var(--gbx-sem-medio)}
.gbx-radar-item--baixo .gbx-radar__selo{background:#E9F5F0;color:#215F44;border:1px solid #C4E3D6}
.gbx-radar-item--baixo .gbx-radar__selo i{background:var(--gbx-sem-baixo)}
.gbx-radar-item__prazo.is-urgente{color:var(--gbx-sem-alto)}
.gbx-radar-item--largo{padding:28px}
.gbx-radar-item--largo .gbx-radar-item__titulo{font-size:1.24rem}

/* ---------- Agenda no claro ---------- */
.gbx-agenda{background:var(--gbx-ink)}
.gbx-prazo__data{background:var(--gbx-ink-3);border:1px solid var(--gbx-line)}
.gbx-prazo__data strong{color:var(--gbx-indigo)}
.gbx-prazo.is-urgente{border-color:#E9BDB6}
.gbx-prazo.is-urgente .gbx-prazo__data strong,
.gbx-prazo.is-urgente .gbx-prazo__conta{color:var(--gbx-sem-alto)}
.gbx-prazo__orgao{background:var(--gbx-ink-3);color:var(--gbx-indigo-2);border:1px solid var(--gbx-line)}
.gbx-prazo:hover{background:var(--gbx-ink-2);border-color:var(--gbx-line-2)}

.gbx-agenda__completa{display:grid;gap:16px}
.gbx-prazo-card{
  border:1px solid var(--gbx-line);background:var(--gbx-ink);
  padding:26px;display:grid;gap:16px;
}
.gbx-prazo-card.is-urgente{border-color:#E9BDB6;border-left:3px solid var(--gbx-sem-alto)}
.gbx-prazo-card.is-encerrado{opacity:.62}
.gbx-prazo-card__topo{display:grid;grid-template-columns:74px minmax(0,1fr);gap:18px;align-items:center}
.gbx-prazo-card__topo h3{font-size:1.15rem;margin:0 0 7px}
.gbx-prazo-card__resumo{color:var(--gbx-text-2);margin:0}
.gbx-prazo-card__dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:0}
.gbx-prazo-card__dados dt{
  font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--gbx-text-3);margin-bottom:4px;
}
.gbx-prazo-card__dados dd{margin:0;font-size:.92rem;color:var(--gbx-text)}
.gbx-prazo-card__orientacao{
  padding:16px 18px;background:var(--gbx-ink-2);border-left:2px solid var(--gbx-indigo);
}
.gbx-prazo-card__orientacao p{margin:0;font-size:.94rem;color:var(--gbx-text)}
.gbx-prazo-card__pe{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
  padding-top:16px;border-top:1px solid var(--gbx-line);
}
.gbx-aviso{
  display:flex;gap:14px;align-items:flex-start;
  padding:18px 20px;border:1px solid var(--gbx-line);background:var(--gbx-ink-2);
}
.gbx-aviso svg{width:20px;height:20px;flex:0 0 20px;margin-top:2px;color:var(--gbx-indigo)}
.gbx-aviso p{margin:0;font-size:.92rem;color:var(--gbx-text-2)}

/* ---------- Sistema: faixa de marca ---------- */
.gbx-sistema{background:var(--gbx-marca);color:var(--gbx-marca-text)}
.gbx-sistema h2,.gbx-sistema h3{color:#fff}
.gbx-sistema .gbx-eyebrow{color:var(--gbx-accent)}
.gbx-sistema .gbx-lead{color:var(--gbx-marca-text-2)}
.gbx-sistema__recursos li{color:var(--gbx-marca-text-2)}
.gbx-sistema__recursos svg{color:var(--gbx-accent)}
.gbx-mock{
  border:1px solid var(--gbx-marca-line-2);background:var(--gbx-marca-2);box-shadow:none;
}
.gbx-mock__barra{background:rgba(255,255,255,.06);border-bottom:1px solid var(--gbx-marca-line)}
.gbx-mock__barra i{background:var(--gbx-marca-line-2)}
.gbx-mock__barra::after{background:var(--gbx-marca-line)}
.gbx-mock__aviso{color:var(--gbx-marca-text-2)}

/* ---------- Fundador ---------- */
.gbx-fundador{background:var(--gbx-ink-2)}
.gbx-fundador__retrato img{border:1px solid var(--gbx-line)}
.gbx-fundador__retrato::after{border-color:var(--gbx-accent)}
.gbx-fundador__vazio{background:var(--gbx-ink);border-color:var(--gbx-line)}

/* ---------- Eventos ---------- */
.gbx-evento__selo{background:var(--gbx-indigo);color:#fff}
.gbx-evento__dados svg{color:var(--gbx-indigo)}

/* ---------- Alertas: faixa de marca ---------- */
.gbx-alertas{background:var(--gbx-ink)}
.gbx-alertas__caixa{
  background:var(--gbx-marca);border:1px solid var(--gbx-marca-line-2);
  color:var(--gbx-marca-text);
}
.gbx-alertas__caixa p{color:var(--gbx-marca-text-2)}
.gbx-alertas__lista{border-top-color:var(--gbx-marca-line)}
.gbx-alertas__lista strong{color:#fff}
.gbx-alertas__lista em{color:var(--gbx-marca-text-2)}
.gbx-alertas__caixa h2{color:#fff}
.gbx-alertas__caixa p{color:var(--gbx-marca-text-2)}
.gbx-alertas__caixa .gbx-eyebrow{color:var(--gbx-accent)}
.gbx-alertas .gbx-field label{color:var(--gbx-marca-text-2)}
.gbx-alertas .gbx-field input{
  background:rgba(255,255,255,.08);border-color:var(--gbx-marca-line-2);color:#fff;
}
.gbx-alertas .gbx-field input::placeholder{color:var(--gbx-marca-text-2)}
.gbx-alertas .gbx-field input:focus{background:rgba(255,255,255,.14);border-color:var(--gbx-accent)}
.gbx-alertas .gbx-consent{color:var(--gbx-marca-text-2)}
.gbx-alertas .gbx-consent a{color:var(--gbx-accent)}
.gbx-alertas .gbx-form__note{color:var(--gbx-marca-text-2)}
.gbx-prefs legend{color:var(--gbx-marca-text-2)}
.gbx-prefs__item{color:var(--gbx-marca-text)}

/* ---------- CTA ---------- */
.gbx-cta{background:var(--gbx-ink-2)}
.gbx-cta__box{
  background:var(--gbx-marca);border:1px solid var(--gbx-marca-line-2);
  border-left:3px solid var(--gbx-accent);
}
.gbx-cta__box h2{color:#fff}
.gbx-cta__box p{color:var(--gbx-marca-text-2)}

/* ---------- hero de página interna ---------- */
.gbx-phero{
  background:var(--gbx-marca);color:var(--gbx-marca-text);
  border-bottom:3px solid var(--gbx-accent);
}
.gbx-phero h1{color:#fff}
.gbx-phero .gbx-eyebrow{color:var(--gbx-accent)}
.gbx-phero .gbx-lead{color:var(--gbx-marca-text-2)}
.gbx-crumbs{color:var(--gbx-marca-text-2)}
.gbx-crumbs a:hover{color:var(--gbx-accent)}
.gbx-crumbs [aria-current]{color:var(--gbx-marca-text)}
.gbx-phero__media img{border-color:var(--gbx-marca-line-2)}

/* ---------- texto corrido ---------- */
.gbx-prose{color:var(--gbx-text-2)}
.gbx-prose strong,.gbx-prose b{color:var(--gbx-text)}
.gbx-prose a{color:var(--gbx-indigo-2)}
.gbx-prose a:hover{color:var(--gbx-indigo)}
.gbx-prose ul li::before{background:var(--gbx-indigo);transform:none;border-radius:0;width:5px;height:5px;top:.72em}
.gbx-prose blockquote{
  background:var(--gbx-ink-2);border-left:2px solid var(--gbx-indigo);color:var(--gbx-text);
}
.gbx-prose th{background:var(--gbx-ink-2);color:var(--gbx-text)}
.gbx-prose img{border-color:var(--gbx-line)}

/* ---------- formulários ---------- */
.gbx-field input,.gbx-field select,.gbx-field textarea{
  background:var(--gbx-ink);border-color:var(--gbx-line-2);color:var(--gbx-text);
}
.gbx-field input:focus,.gbx-field select:focus,.gbx-field textarea:focus{
  border-color:var(--gbx-indigo);background:var(--gbx-ink);
}
.gbx-field label{color:var(--gbx-text-2)}
.gbx-consent{color:var(--gbx-text-2)}
.gbx-consent a{color:var(--gbx-indigo-2)}
.gbx-search input[type="search"]{background:var(--gbx-ink);border-color:var(--gbx-line-2);color:var(--gbx-text)}
.gbx-search input[type="search"]:focus{border-color:var(--gbx-indigo)}
.gbx-chip{border-color:var(--gbx-line-2);color:var(--gbx-text-2)}
.gbx-chip:hover{border-color:var(--gbx-indigo);color:var(--gbx-indigo)}
.gbx-chip.is-on{background:var(--gbx-indigo);border-color:var(--gbx-indigo);color:#fff}
.gbx-pagination .page-numbers{border-color:var(--gbx-line-2);color:var(--gbx-text-2)}
.gbx-pagination .page-numbers:hover{border-color:var(--gbx-indigo);color:var(--gbx-indigo)}
.gbx-pagination .page-numbers.current{background:var(--gbx-indigo);border-color:var(--gbx-indigo);color:#fff}

/* ---------- etapas, FAQ, soluções ---------- */
.gbx-step__num{
  background:var(--gbx-ink);border:1px solid var(--gbx-line-2);color:var(--gbx-indigo);
  font-family:var(--gbx-font-head);
}
.gbx-step:hover .gbx-step__num{border-color:var(--gbx-indigo);box-shadow:none}
.gbx-steps::before{background:var(--gbx-line-2)}
.gbx-step p{color:var(--gbx-text-2)}
.gbx-faq__q{color:var(--gbx-text)}
.gbx-faq__q:hover,.gbx-faq__q[aria-expanded="true"]{color:var(--gbx-indigo)}
.gbx-faq__a .gbx-faq__inner{color:var(--gbx-text-2)}
.gbx-sol.is-active{background:var(--gbx-ink-2)}
.gbx-sol.is-active::before{background:var(--gbx-indigo)}
.gbx-sol.is-active .gbx-sol__num{color:var(--gbx-indigo)}
.gbx-sol.is-active .gbx-sol__name{color:var(--gbx-text)}
.gbx-sol.is-active .gbx-sol__arrow{border-color:var(--gbx-indigo);color:var(--gbx-indigo)}
.gbx-sol__desc{color:var(--gbx-text-2)}
.gbx-sol-preview{background:var(--gbx-ink);border-color:var(--gbx-line)}
.gbx-sol-preview__media::after{display:none}
.gbx-sol-preview__body p{color:var(--gbx-text-2)}
.gbx-svc-card__num{background:var(--gbx-indigo);border:0;color:#fff}
.gbx-svc-nav a{color:var(--gbx-text-2)}
.gbx-svc-nav a:hover{background:var(--gbx-ink-2);color:var(--gbx-indigo)}
.gbx-svc-nav a[aria-current]{background:var(--gbx-ink-3);color:var(--gbx-indigo);font-weight:600}
.gbx-aside__cta{background:var(--gbx-marca);border-color:var(--gbx-marca-line-2)}
.gbx-aside__cta h3{color:var(--gbx-accent)}
.gbx-aside__cta p{color:var(--gbx-marca-text-2)}
.gbx-aside__box h3{color:var(--gbx-text-3)}
.gbx-aside__box li a{color:var(--gbx-text-2)}
.gbx-aside__box li a:hover{color:var(--gbx-indigo)}
.gbx-source{background:var(--gbx-ink-2);border-color:var(--gbx-line);color:var(--gbx-text-2)}
.gbx-source strong{color:var(--gbx-text)}
.gbx-share a,.gbx-share button{border-color:var(--gbx-line-2);color:var(--gbx-text-2)}
.gbx-share a:hover,.gbx-share button:hover{border-color:var(--gbx-indigo);color:var(--gbx-indigo)}
.gbx-map-embed{border-color:var(--gbx-line)}
.gbx-map-embed iframe{filter:grayscale(1) contrast(.95)}
.gbx-empty__code{color:var(--gbx-line-2);opacity:1}
.gbx-timeline li::before{background:var(--gbx-ink);border-color:var(--gbx-indigo)}
.gbx-timeline::before{background:var(--gbx-line-2)}
.gbx-timeline__year{color:var(--gbx-indigo-2)}
.gbx-timeline__text{color:var(--gbx-text-2)}
.gbx-about__media img{border-color:var(--gbx-line);filter:none}
.gbx-about__media::after{display:none}
.gbx-about__stamp{background:var(--gbx-indigo);color:#fff;box-shadow:none}
.gbx-about__stamp strong{font-family:var(--gbx-font-head)}

/* ---------- mapa do Brasil ---------- */
.gbx-map{background:var(--gbx-ink-2)}
.gbx-map-dot{fill:var(--gbx-indigo);opacity:.24}
.gbx-map-dot--on{fill:var(--gbx-indigo);opacity:.95}
.gbx-map-link{stroke:var(--gbx-indigo);opacity:.3}
.gbx-map__list li{color:var(--gbx-text-2)}
.gbx-map__list svg{color:var(--gbx-indigo)}

/* ---------- clientes ---------- */
.gbx-clients{border-color:var(--gbx-line);background:var(--gbx-line)}
.gbx-client{background:var(--gbx-ink)}

/* ---------- rodapé: faixa de marca ---------- */
.gbx-footer{background:var(--gbx-marca);color:var(--gbx-marca-text);border-top:3px solid var(--gbx-accent)}
.gbx-footer h3{color:var(--gbx-accent)}
.gbx-footer__brand p{color:var(--gbx-marca-text-2)}
.gbx-footer li a,.gbx-footer address a,.gbx-footer address{color:var(--gbx-marca-text-2)}
.gbx-footer li a:hover,.gbx-footer address a:hover{color:#fff}
.gbx-footer address svg{color:var(--gbx-accent)}
.gbx-social a{border-color:var(--gbx-marca-line-2);color:var(--gbx-marca-text-2)}
.gbx-social a:hover{border-color:var(--gbx-accent);color:var(--gbx-accent);transform:none}
.gbx-footer__bar{border-top-color:var(--gbx-marca-line);color:var(--gbx-marca-text-2)}
.gbx-footer__bar a:hover{color:#fff}
.gbx-credit{color:var(--gbx-marca-text-2)}
.gbx-credit:hover{color:#fff}
.gbx-footer__orgs img{filter:brightness(0) invert(1);opacity:.45}

/* ---------- microinterações mais contidas ---------- */
.gbx-btn:hover{transform:none}
.gbx-btn--primary{box-shadow:none}
.gbx-grupo:hover{transform:none;box-shadow:none;border-color:var(--gbx-indigo)}
.gbx-quote:hover,.gbx-post-card:hover,.gbx-radar-item:hover,
.gbx-evento:hover,.gbx-svc-card:hover,.gbx-contact-card:hover{transform:none}
.gbx-step:hover .gbx-step__num{transform:none}
.gbx-wa{box-shadow:none;border-radius:50%}

/* cabeçalho e menu do celular vivem sobre a faixa de marca — entram na
   lista de superfícies escuras da seção 35, sem regra própria. */

/* destaque do título: um sublinhado só, e que acompanha a quebra de linha */
/* O risco embaixo de "inteligencia regulatoria" saiu a pedido do cliente:
   a palavra ja esta em amarelo no meio de um titulo branco — sublinhar
   por cima disso e repetir o destaque. */
.gbx-hero__title .gbx-accent{
  color:var(--gbx-accent);box-shadow:none;border-bottom:0;
}

/* =========================================================================
   34. Hero técnico — fundo de fibra e console da malha
   O hero era um retângulo índigo com metade da tela vazia. Aqui ele ganha
   profundidade (fundo) e um objeto (console) com o argumento da GBX dentro.
   Tudo em SVG + CSS: zero canvas, zero rAF, nada rodando em aba oculta.
   ========================================================================= */

/* ---------- fundo ---------- */
.gbx-hero{ isolation:isolate }
.gbx-hero__fundo{
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
}
/* malha fina de coordenadas, apagando para baixo */
.gbx-hero__grade{
  position:absolute;inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(120% 100% at 72% 8%, #000 0%, rgba(0,0,0,.55) 46%, transparent 78%);
  mask-image:radial-gradient(120% 100% at 72% 8%, #000 0%, rgba(0,0,0,.55) 46%, transparent 78%);
}
/* halo de sinal atrás do console — no fundo do próprio contentor, não num
   elemento posicionado para fora: fora da caixa ele conta como estouro. */
.gbx-hero__fundo{
  background-image:radial-gradient(46% 76% at 74% 26%, rgba(75,55,180,.5), rgba(44,31,112,0) 72%);
}
.gbx-hero__fibras{
  position:absolute;inset:0;width:100%;height:100%;
  -webkit-mask-image:linear-gradient(to right, transparent 10%, rgba(0,0,0,.22) 46%, #000 76%);
  mask-image:linear-gradient(to right, transparent 10%, rgba(0,0,0,.22) 46%, #000 76%);
}
.gbx-fibras__base path{fill:none;stroke:rgba(140,168,255,.13);stroke-width:1.2}
.gbx-fibras__luz path{
  fill:none;stroke:#FFC800;stroke-width:1.8;stroke-linecap:round;
  stroke-dasharray:3 97;stroke-dashoffset:100;opacity:.55;
}
@media (prefers-reduced-motion: no-preference){
  .gbx-fibras__luz path{animation:gbx-fibra 11s linear infinite;animation-delay:var(--gbx-d,0s)}
}
@keyframes gbx-fibra{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}

/* ---------- coluna visual ---------- */
.gbx-hero__visual{
  position:relative;aspect-ratio:auto;max-width:none;width:100%;margin-inline:0;
}

/* ---------- console ---------- */
.gbx-console{
  position:relative;
  border-radius:var(--gbx-r-lg);
  background:linear-gradient(160deg, rgba(58,42,140,.42), rgba(24,17,66,.72));
  border:1px solid var(--gbx-marca-line-2);
  box-shadow:0 40px 90px -50px rgba(0,0,0,.95);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
/* cantos marcados: leitura de instrumento, não de cartão */
.gbx-console::before,
.gbx-console::after{
  content:"";position:absolute;width:14px;height:14px;border:2px solid var(--gbx-accent);
}
.gbx-console::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.gbx-console::after{bottom:-1px;right:-1px;border-left:0;border-top:0}

.gbx-console__topo{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 16px;border-bottom:1px solid var(--gbx-marca-line);
  font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;
}
.gbx-console__marca{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:700}
.gbx-console__marca i{
  width:7px;height:7px;border-radius:50%;background:#5AD1A0;flex:0 0 7px;
  box-shadow:0 0 0 3px rgba(90,209,160,.18);
}
@media (prefers-reduced-motion: no-preference){
  .gbx-console__marca i{animation:gbx-batida 2.4s ease-in-out infinite}
}
@keyframes gbx-batida{0%,100%{box-shadow:0 0 0 3px rgba(90,209,160,.18)}50%{box-shadow:0 0 0 6px rgba(90,209,160,.06)}}
.gbx-console__orgao{color:var(--gbx-marca-text-2);font-weight:600}

.gbx-console__corpo{
  position:relative;overflow:hidden;padding:6px 6px 0;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px);
  background-size:22px 22px;background-position:-1px -1px;
}
/* linha de varredura: o console está olhando alguma coisa */
.gbx-console__varredura{
  position:absolute;left:0;right:0;top:0;height:120px;pointer-events:none;
  background:linear-gradient(to bottom, rgba(255,200,0,0), rgba(255,200,0,.055) 62%, rgba(255,200,0,0));
}
@media (prefers-reduced-motion: no-preference){
  .gbx-console__varredura{animation:gbx-varre 7.5s cubic-bezier(.5,0,.5,1) infinite}
}
@keyframes gbx-varre{0%{transform:translateY(-120px)}55%,100%{transform:translateY(430px)}}

/* ---------- malha ---------- */
.gbx-malha{display:block;width:100%;height:auto}
.gbx-malha__aneis circle{
  fill:none;stroke:rgba(255,255,255,.17);stroke-width:1;stroke-dasharray:2 6;
  transform-box:view-box;transform-origin:280px 226px;
}
@media (prefers-reduced-motion: no-preference){
  .gbx-malha__aneis circle{animation:gbx-gira 68s linear infinite}
  .gbx-malha__aneis circle:nth-child(2){animation-duration:46s;animation-direction:reverse}
}
@keyframes gbx-gira{to{transform:rotate(360deg)}}
.gbx-malha__fibra{fill:none;stroke:rgba(126,158,255,.42);stroke-width:1.2}
.gbx-malha__pulso{
  fill:none;stroke:var(--gbx-accent);stroke-width:2.4;stroke-linecap:round;
  stroke-dasharray:5 95;stroke-dashoffset:100;opacity:0;
}
@media (prefers-reduced-motion: no-preference){
  .gbx-malha__pulso{animation:gbx-pulso 6.6s linear infinite;animation-delay:var(--gbx-d,0s)}
}
@keyframes gbx-pulso{
  0%{stroke-dashoffset:100;opacity:0}
  8%{opacity:.95}
  92%{opacity:.95}
  100%{stroke-dashoffset:0;opacity:0}
}

.gbx-malha__halo{fill:none;stroke:rgba(255,255,255,.16);stroke-width:1}
.gbx-malha__ponto{fill:#8FAEFF}
.gbx-malha__no.is-key .gbx-malha__ponto{fill:var(--gbx-accent)}
.gbx-malha__no.is-key .gbx-malha__halo{stroke:rgba(255,200,0,.34)}
@media (prefers-reduced-motion: no-preference){
  .gbx-malha__halo{animation:gbx-halo 6.6s ease-in-out infinite;animation-delay:var(--gbx-d,0s)}
}
@keyframes gbx-halo{0%,72%,100%{opacity:.55;r:16}86%{opacity:1;r:20}}

.gbx-malha__rot{
  font-family:var(--gbx-font-body);font-size:15px;font-weight:600;
  letter-spacing:.04em;fill:#D6DAEE;
}
.gbx-malha__no.is-key .gbx-malha__rot{fill:#fff}

.gbx-malha__hex-ext{fill:none;stroke:rgba(255,255,255,.24);stroke-width:1;stroke-dasharray:5 6}
.gbx-malha__hex{fill:url(#gbx-nucleo);stroke:rgba(255,200,0,.6);stroke-width:1.5}
.gbx-malha__ping{fill:none;stroke:rgba(255,200,0,.45);stroke-width:1.2;opacity:0}
@media (prefers-reduced-motion: no-preference){
  .gbx-malha__ping{animation:gbx-nucleo-ping 5.2s var(--gbx-ease-out) infinite}
  .gbx-malha__ping--b{animation-delay:-2.6s}
}
@keyframes gbx-nucleo-ping{0%{r:44;opacity:.55}80%,100%{r:96;opacity:0}}
.gbx-malha__sigla{
  font-family:var(--gbx-font-head);font-size:30px;font-weight:700;
  letter-spacing:.06em;fill:#fff;
}

/* ---------- rodapé de dados ---------- */
.gbx-console__pe{display:grid;gap:1px;background:var(--gbx-marca-line);border-top:1px solid var(--gbx-marca-line)}
.gbx-console__linha{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;
  padding:13px 16px;background:rgba(16,11,48,.5);transition:background .25s var(--gbx-ease);
}
.gbx-console__linha:hover{background:rgba(30,21,84,.72)}
.gbx-console__dia{
  text-align:center;padding:5px 9px;border:1px solid var(--gbx-marca-line-2);min-width:48px;
}
.gbx-console__dia strong{display:block;font-family:var(--gbx-font-head);font-size:1.2rem;line-height:1;color:#fff}
.gbx-console__dia span{
  display:block;font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--gbx-marca-text-2);margin-top:2px;
}
.gbx-console__texto{display:grid;gap:2px;min-width:0}
.gbx-console__rotulo{
  font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gbx-accent);font-weight:700;
}
.gbx-console__nome{
  font-size:.9rem;font-weight:500;color:#fff;line-height:1.35;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;
}
.gbx-console__conta{font-size:.76rem;color:var(--gbx-marca-text-2);white-space:nowrap}
.gbx-console__linha svg{width:16px;height:16px;color:var(--gbx-accent);transition:transform .3s var(--gbx-ease)}
.gbx-console__linha:hover svg{transform:translateX(3px)}
/* semáforo do radar na mesma coluna do dia: as duas linhas alinham */
.gbx-console__nivel{
  display:grid;place-items:center;min-width:48px;padding:9px 0;
  border:1px solid var(--gbx-marca-line-2);
}
.gbx-console__nivel i{width:11px;height:11px;border-radius:50%;display:block}
.gbx-console__nivel--alto i{background:#E4614F;box-shadow:0 0 0 4px rgba(228,97,79,.18)}
.gbx-console__nivel--medio i{background:#D89A2B;box-shadow:0 0 0 4px rgba(216,154,43,.18)}
.gbx-console__nivel--baixo i{background:#3E9C72;box-shadow:0 0 0 4px rgba(62,156,114,.18)}

/* ---------- etiquetas flutuantes ---------- */
.gbx-hero__badge{z-index:3}
.gbx-hero__badge--a{top:9%;left:-6%;bottom:auto;right:auto}
.gbx-hero__badge--b{bottom:12%;right:-5%;top:auto;left:auto}
.gbx-hero__badge--c{display:none}

/* ---------- respiro do hero: o console pede um pouco mais de ar ---------- */
.gbx-hero__layout{align-items:center}

@media (max-width:1100px){
  .gbx-hero__layout{grid-template-columns:1fr}
  .gbx-hero__visual{max-width:560px;margin-inline:auto;order:2}
  .gbx-hero__badge--a{left:-2%}
  .gbx-hero__badge--b{right:-1%}
}
@media (max-width:700px){
  /* a contagem desce para a segunda linha: o nome do prazo ganha a largura */
  .gbx-console__linha{grid-template-columns:auto minmax(0,1fr);row-gap:4px}
  .gbx-console__dia,.gbx-console__nivel{grid-row:1 / span 2}
  .gbx-console__conta{grid-column:2;grid-row:2}
  .gbx-console__linha svg{display:none}
  .gbx-malha__rot{font-size:19px}
  .gbx-console__topo{font-size:.62rem;letter-spacing:.12em;padding:10px 13px}
  .gbx-console__linha{padding:12px 13px;gap:11px}
  .gbx-hero__badge{font-size:.72rem;padding:8px 12px}
  .gbx-hero__badge--a{top:-14px;left:0}
  .gbx-hero__badge--b{bottom:-14px;right:0}
  .gbx-hero__visual{padding:16px 0}
  .gbx-hero__grade{background-size:40px 40px}
}
@media (max-width:420px){
  .gbx-hero__badge--b{display:none}
}

/* impressão: o console é decorativo, o texto do hero não */
@media print{
  .gbx-hero__fundo,.gbx-hero__visual{display:none !important}
}

/* =========================================================================
   35. Superfícies escuras e rótulos técnicos
   Dois defeitos medidos no site no ar:
   1) o botão fantasma herdava a cor de texto do tema claro (#14162A) e era
      usado dentro de seções escuras — 1,11:1, invisível. Acontecia em
      .gbx-sistema, .gbx-cta__box, .gbx-alertas__caixa, .gbx-phero--split e
      .gbx-aside__cta, ou seja, em toda página do site.
   2) o botão primário índigo sobre seção índigo: o texto lia, mas a forma
      do botão sumia (contraste de componente ~1,2:1, mínimo 3:1 na 1.4.11).
   A correção não é pintar cada seção: os botões passam a ler tokens, e a
   lista abaixo é o ÚNICO lugar onde se declara "esta superfície é escura".
   ========================================================================= */

.gbx-hero,
.gbx-phero,
.gbx-header,
.gbx-mobile,
.gbx-footer,
.gbx-sistema,
.gbx-section--marca,
.gbx-cta__box,
.gbx-alertas__caixa,
.gbx-aside__cta,
.gbx-console,
.gbx-painel,
.gbx-escuro{
  --gbx-btn-1-bg:      var(--gbx-accent);
  --gbx-btn-1-cor:     #231A0A;
  --gbx-btn-1-bg-h:    #FFD84D;
  --gbx-btn-2-cor:     #fff;
  --gbx-btn-2-cor-h:   #fff;
  --gbx-btn-2-borda:   rgba(255,255,255,.42);
  --gbx-btn-2-borda-h: #fff;
  --gbx-btn-2-bg-h:    rgba(255,255,255,.08);
}

/* ---------- rótulos técnicos em monoespaçada ----------
   Só onde o rótulo é leitura de instrumento: data, contagem, semáforo,
   console. Os rótulos de seção saíram desta lista — mono em caixa alta,
   com muito entreletras, em cima de cada bloco era o que fazia o site
   parecer gerado. Ali a fonte de corpo diz a mesma coisa sem levantar a voz. */
.gbx-tag,
.gbx-radar__selo,
.gbx-radar-item__rotulo,
.gbx-prazo__data span,
.gbx-prazo-card__dados,
.gbx-evento__selo,
.gbx-painel__titulo,
.gbx-painel__data span,
.gbx-console__topo,
.gbx-console__rotulo,
.gbx-console__dia,
.gbx-console__conta,
.gbx-malha__rot,
.gbx-console__nivel{
  font-family:var(--gbx-font-mono);
}
/* a mono é mais larga: o entreletras generoso das etiquetas pode ceder */
.gbx-console__topo,
.gbx-console__rotulo{ letter-spacing:.06em }
.gbx-malha__rot{ font-size:14px;letter-spacing:0 }

/* Manrope pede aperto nos títulos grandes para não quebrar linha antes
   da hora — e o aperto é parte do desenho do título, não um conserto. */
.gbx-hero__title,
.gbx-phero__title,
.gbx-h1,
h1{ letter-spacing:-.025em }
.gbx-h2,
h2{ letter-spacing:-.02em }
.gbx-malha__sigla{ letter-spacing:.02em;font-weight:700 }

/* =========================================================================
   Portal de noticias
   O hub era uma grade de cartoes iguais, cada um com moldura, resumo e um
   "Ler artigo" repetido nove vezes: lia como catalogo de servico, nao como
   noticia. Aqui a hierarquia volta a ser jornalistica — uma manchete, uma
   coluna de ultimas, chapeu antes do titulo e cartao sem moldura, separado
   por espaco e fio, do jeito que portal setorial faz.
   ========================================================================= */

/* ---------- topo do caderno ---------- */
/* O phero gastava ~400px de cor chapada antes da primeira noticia. Este
   topo diz onde o leitor esta, quando foi a ultima atualizacao, e sai da
   frente. */
.gbx-nw-topo{
  position:relative;overflow:hidden;
  padding:calc(var(--gbx-header-h) + clamp(24px,2.6vw,38px)) 0 clamp(22px,2.4vw,32px);
  background:var(--gbx-marca);color:var(--gbx-marca-text);
  border-bottom:3px solid var(--gbx-accent);
}
.gbx-nw-topo .gbx-crumbs{margin-bottom:14px}
.gbx-nw-topo__linha{
  display:flex;flex-wrap:wrap;gap:16px 32px;
  align-items:flex-end;justify-content:space-between;
}
.gbx-nw-topo__kicker{
  display:inline-flex;align-items:center;gap:9px;margin:0 0 8px;
  font-size:.82rem;font-weight:700;color:var(--gbx-accent);
}
.gbx-nw-topo__kicker::before{
  content:"";width:7px;height:7px;flex:0 0 7px;
  border-radius:var(--gbx-r-pill);background:currentColor;
}
.gbx-nw-topo__titulo{
  font-size:clamp(1.55rem,2.6vw,2.15rem);line-height:1.14;margin:0;color:#fff;
  max-width:26ch;
}
.gbx-nw-topo__texto{
  margin:12px 0 0;max-width:58ch;font-size:1rem;line-height:1.55;
  color:var(--gbx-marca-text-2);
}
.gbx-nw-topo__dados{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;
  font-family:var(--gbx-font-mono);font-size:.82rem;
  color:var(--gbx-marca-text-2);padding-bottom:4px;
}
.gbx-nw-topo__rss{
  display:inline-block;padding:8px 14px;border-radius:var(--gbx-r-pill);
  border:1px solid var(--gbx-marca-line-2);color:var(--gbx-marca-text);
  font-size:.82rem;letter-spacing:.06em;transition:border-color .3s,color .3s;
}
.gbx-nw-topo__rss:hover{border-color:var(--gbx-accent);color:var(--gbx-accent)}

/* ---------- barra de editorias ---------- */
/* Fica no fluxo, colada ao topo do caderno: o cabecalho do site ja se
   esconde ao rolar, e duas barras disputando o mesmo topo brigam. */
.gbx-nw-barra{background:var(--gbx-ink);border-bottom:1px solid var(--gbx-line)}
.gbx-nw-barra__inner{display:flex;align-items:center;gap:20px;justify-content:space-between}
.gbx-nw-barra__lista{
  display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;
  overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
}
.gbx-nw-barra__lista::-webkit-scrollbar{display:none}
.gbx-nw-barra__lista a{
  display:block;padding:15px 12px;white-space:nowrap;
  font-size:.91rem;font-weight:500;color:var(--gbx-text-2);
  border-bottom:3px solid transparent;transition:color .25s,border-color .25s;
}
.gbx-nw-barra__lista a:hover{color:var(--gbx-indigo)}
.gbx-nw-barra__lista a[aria-current]{
  color:var(--gbx-indigo);font-weight:700;border-bottom-color:var(--gbx-accent);
}
.gbx-nw-busca{position:relative;display:flex;flex:0 0 auto;width:min(220px,38vw)}
.gbx-nw-busca input[type="search"]{
  width:100%;padding:9px 40px 9px 14px;border-radius:var(--gbx-r-pill);
  background:var(--gbx-ink-2);border:1px solid var(--gbx-line);
  color:var(--gbx-text);font-size:.88rem;transition:border-color .25s;
}
.gbx-nw-busca input[type="search"]::placeholder{color:var(--gbx-text-3)}
.gbx-nw-busca input[type="search"]:focus{border-color:var(--gbx-indigo-2);outline:none}
.gbx-nw-busca button{
  position:absolute;right:3px;top:3px;bottom:3px;width:34px;
  display:grid;place-items:center;border:0;border-radius:var(--gbx-r-pill);
  background:transparent;color:var(--gbx-text-3);cursor:pointer;transition:color .25s;
}
.gbx-nw-busca button:hover{color:var(--gbx-indigo)}
.gbx-nw-busca svg{width:16px;height:16px}

/* ---------- chamada ---------- */
/* Sem moldura: a moldura em volta de tudo e o que dava ar de catalogo. */
.gbx-nw{display:flex;flex-direction:column;gap:12px;height:100%}
.gbx-nw__foto{
  position:relative;display:block;overflow:hidden;
  aspect-ratio:16/9;background:var(--gbx-ink-3);
  border-radius:var(--gbx-r);border:1px solid var(--gbx-line);
}
.gbx-nw__foto img{width:100%;height:100%;object-fit:cover;display:block}
.gbx-nw__selo{
  /* No alto: as fotos do blog trazem a marca d'agua da GBX no canto de
     baixo a esquerda, e o selo batia em cima dela. */
  position:absolute;left:14px;top:14px;
  padding:7px 14px;border-radius:var(--gbx-r-pill);
  background:var(--gbx-accent);color:#14162A;
  font-size:.82rem;font-weight:700;letter-spacing:.02em;
}
.gbx-nw__texto{display:flex;flex-direction:column;gap:8px}
.gbx-nw__titulo{
  font-size:1.02rem;line-height:1.32;letter-spacing:-.012em;margin:0;
  color:var(--gbx-text);font-weight:700;
}
.gbx-nw__titulo a{transition:color .25s}
.gbx-nw__titulo a:hover{color:var(--gbx-indigo-2)}
.gbx-nw__resumo{margin:0;font-size:.94rem;line-height:1.55;color:var(--gbx-text-2)}

.gbx-nw-credito{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;
  font-size:.82rem;color:var(--gbx-text-3);
}
/* 13px e o piso de tamanho do site (o cliente ja reprovou texto miudo);
   o chapeu tambem ganha altura de alvo tocavel. */
.gbx-nw-editoria{
  display:inline-block;padding:3px 0;
  font-size:.82rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase;
  color:var(--gbx-indigo-2);transition:color .25s;
}
.gbx-nw-editoria:hover{color:var(--gbx-indigo)}
.gbx-nw-credito time{font-family:var(--gbx-font-mono);font-size:.82rem}
.gbx-nw-fonte{position:relative;padding-left:13px}
.gbx-nw-fonte::before{
  content:"";position:absolute;left:0;top:50%;width:5px;height:1px;
  background:currentColor;opacity:.6;
}

/* manchete */
.gbx-nw--manchete .gbx-nw__foto{aspect-ratio:16/9;border-radius:var(--gbx-r-lg)}
.gbx-nw--manchete .gbx-nw__titulo{
  font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.16;letter-spacing:-.025em;
  margin-top:4px;
}
.gbx-nw--manchete .gbx-nw__resumo{font-size:1.02rem;max-width:58ch}

/* chamada larga: topo de editoria */
.gbx-nw--larga{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(20px,2.4vw,34px);align-items:center;
}
.gbx-nw--larga .gbx-nw__foto{border-radius:var(--gbx-r-lg)}
.gbx-nw--larga .gbx-nw__titulo{font-size:clamp(1.24rem,2vw,1.6rem);line-height:1.22}
.gbx-nw--larga.gbx-nw--sem-foto{grid-template-columns:1fr}

/* lista de ultimas */
.gbx-nw--lista .gbx-nw__texto{gap:5px}
.gbx-nw--lista .gbx-nw__titulo{font-size:.96rem;line-height:1.36}

/* ---------- capa: manchete + ultimas ---------- */
.gbx-nw-capa{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:clamp(26px,3vw,46px);align-items:stretch;
}
/* A coluna estica ate a altura da manchete e os itens se distribuem: com
   altura fixa sobrava um vazio de ~120px ao lado da chamada principal. */
.gbx-nw-ultimas{
  display:flex;flex-direction:column;height:100%;
  border-top:2px solid var(--gbx-indigo);padding-top:14px;
}
.gbx-nw-ultimas__lista{
  list-style:none;margin:0;padding:0;
  flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between;
}
.gbx-nw-ultimas__lista li{padding:15px 0;border-bottom:1px solid var(--gbx-line)}
.gbx-nw-ultimas__lista li:last-child{border-bottom:0;padding-bottom:0}

/* A abertura e a grade sao duas secoes seguidas: somados, os respiros
   deixavam ~130px de branco entre a manchete e "Mais noticias". */
.gbx-nw-abre{padding-bottom:clamp(16px,1.8vw,24px)}
.gbx-nw-abre + .gbx-section{padding-top:clamp(20px,2.2vw,30px)}

/* ---------- rotulo e cabecalho de bloco ---------- */
/* Nao volta ao rotulo em mono maiuscula com muito entreletras: aquilo era
   o que mais gritava "template". O que marca o bloco aqui e o fio indigo. */
.gbx-nw-rotulo{
  font-family:var(--gbx-font-head);font-weight:800;font-size:1.02rem;
  letter-spacing:-.01em;color:var(--gbx-text);margin:0;
}
.gbx-nw-bloco-head{
  display:flex;align-items:center;gap:16px;
  padding-top:14px;margin-bottom:clamp(20px,2.2vw,28px);
  border-top:2px solid var(--gbx-indigo);
}
.gbx-nw-bloco-head__fio{flex:1 1 auto;height:1px;background:var(--gbx-line)}
.gbx-nw-bloco-head__link{
  display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;
  font-size:.86rem;font-weight:600;color:var(--gbx-indigo-2);transition:color .25s;
}
.gbx-nw-bloco-head__link:hover{color:var(--gbx-indigo)}
.gbx-nw-bloco-head__link svg{width:15px;height:15px}

/* ---------- grade ---------- */
.gbx-nw-grade{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:clamp(26px,2.8vw,38px) clamp(20px,2.2vw,30px);
}

/* ---------- editorias ---------- */
/* Faixa gelo: a mesma quebra fria que separa as secoes da home. */
.gbx-nw-editorias{background:var(--gbx-gelo);border-top:1px solid var(--gbx-gelo-linha)}
.gbx-nw-editorias__grade{
  /* Colunas fixas, nao auto-fit: com auto-fit a ultima linha ficava
     incompleta e as celulas que faltavam viravam buraco cinza. */
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;background:var(--gbx-gelo-linha);
  border:1px solid var(--gbx-gelo-linha);border-radius:var(--gbx-r-lg);overflow:hidden;
}
.gbx-nw-ed{
  background:var(--gbx-ink);padding:20px 22px;
  display:flex;flex-direction:column;gap:7px;transition:background-color .3s;
}
.gbx-nw-ed:hover{background:var(--gbx-ink-2)}
.gbx-nw-ed__nome{
  font-family:var(--gbx-font-head);font-weight:800;font-size:1.02rem;
  color:var(--gbx-text);transition:color .25s;
}
.gbx-nw-ed__nome:hover{color:var(--gbx-indigo-2)}
.gbx-nw-ed__conta{font-family:var(--gbx-font-mono);font-size:.82rem;color:var(--gbx-text-3)}
.gbx-nw-ed__ultima{
  margin-top:6px;padding-top:10px;border-top:1px solid var(--gbx-line);
  font-size:.88rem;line-height:1.42;color:var(--gbx-text-2);transition:color .25s;
}
.gbx-nw-ed__ultima:hover{color:var(--gbx-indigo-2)}

/* ---------- materia ---------- */
.gbx-nw-progresso{
  position:fixed;inset:0 0 auto;height:3px;z-index:950;pointer-events:none;
  background:transparent;
}
.gbx-nw-progresso span{
  display:block;height:100%;width:100%;background:var(--gbx-accent);
  transform:scaleX(0);transform-origin:0 50%;
}
.gbx-materia__topo{
  position:relative;overflow:hidden;
  padding:calc(var(--gbx-header-h) + clamp(26px,3vw,44px)) 0 clamp(24px,3vw,38px);
  background:var(--gbx-marca);color:var(--gbx-marca-text);
  border-bottom:3px solid var(--gbx-accent);
}
.gbx-materia__cabeca{max-width:56rem}
.gbx-materia__editoria{
  display:inline-block;padding:9px 16px;border-radius:var(--gbx-r-pill);
  background:var(--gbx-accent);color:#14162A;
  font-size:.83rem;font-weight:700;letter-spacing:.02em;
  transition:background-color .25s;
}
.gbx-materia__editoria:hover{background:#FFD84D}
.gbx-materia__titulo{
  font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.11;letter-spacing:-.028em;
  color:#fff;margin:18px 0 0;
}
.gbx-materia__linha-fina{
  margin:16px 0 0;max-width:60ch;
  font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.5;color:var(--gbx-marca-text-2);
}
.gbx-materia__ficha{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;
  margin-top:22px;padding-top:16px;border-top:1px solid var(--gbx-marca-line);
  font-family:var(--gbx-font-mono);font-size:.83rem;color:var(--gbx-marca-text-2);
}
.gbx-materia__foto{margin:clamp(26px,3vw,42px) 0 0}
.gbx-materia__foto img{
  /* Em 1200px de regua um 16/9 inteiro come 675px: a foto sozinha vira
     uma tela. Teto de 460 e recorte pelo centro. */
  width:100%;max-height:460px;object-fit:cover;display:block;
  border-radius:var(--gbx-r-lg);border:1px solid var(--gbx-line);
}
.gbx-materia__foto figcaption{
  margin-top:9px;font-size:.83rem;color:var(--gbx-text-3);
  font-family:var(--gbx-font-mono);
}
.gbx-materia__corpo{font-size:1.045rem;line-height:1.76;max-width:68ch}
.gbx-materia__corpo>p:first-of-type{font-size:1.1rem;color:var(--gbx-text)}
.gbx-aside__ultimas .gbx-nw-ultimas__lista li{padding:12px 0;border-bottom:1px solid var(--gbx-line)}
.gbx-aside__ultimas .gbx-nw-ultimas__lista li:last-child{border-bottom:0;padding-bottom:0}
/* O h3 da coluna lateral e um rotulo (miudo, maiusculo); o titulo da
   chamada tambem e h3 e herdava esse tratamento — virava manchete gritada. */
.gbx-aside__box .gbx-nw__titulo{
  font-family:var(--gbx-font-head);font-size:.92rem;font-weight:700;
  text-transform:none;letter-spacing:-.01em;color:var(--gbx-text);
  margin:0;line-height:1.36;
}
.gbx-aside__box .gbx-nw__titulo a{color:inherit}
.gbx-aside__box .gbx-nw__titulo a:hover{color:var(--gbx-indigo-2)}
.gbx-aside__box--editorias li a{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.gbx-aside__conta{font-family:var(--gbx-font-mono);font-size:.82rem;color:var(--gbx-text-3)}

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .gbx-nw-capa{grid-template-columns:1fr}
}
@media (max-width:820px){
  .gbx-nw-editorias__grade{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .gbx-nw-editorias__grade{grid-template-columns:1fr}
}
@media (max-width:860px){
  .gbx-nw-barra__inner{flex-direction:column;align-items:stretch;gap:0}
  .gbx-nw-barra__lista{order:1;margin:0 calc(var(--gbx-gutter) * -1);padding:0 var(--gbx-gutter)}
  .gbx-nw-busca{order:2;width:100%;margin:4px 0 14px}
  .gbx-nw--larga{grid-template-columns:1fr}
  .gbx-nw-topo__linha{align-items:flex-start}
  .gbx-nw-topo__titulo{max-width:none}
}
@media (max-width:600px){
  .gbx-nw-grade{grid-template-columns:1fr;gap:26px}
  .gbx-nw--manchete .gbx-nw__titulo{font-size:1.34rem}
  .gbx-materia__corpo{font-size:1rem}
}

/* ---------- 32. Noticias 1.8: semaforo, Radar, Eventos ---------- */
/* Os niveis do Radar passaram a critica / alta / baixa. As chaves antigas
   (alto/medio/baixo) continuam no CSS porque continuam no banco. */

/* semaforo: bolinha + rotulo, sobre fundo claro */
.gbx-sem{
  display:inline-flex;align-items:center;gap:7px;
  padding:3px 10px 3px 9px;border-radius:var(--gbx-r-pill);
  font-family:var(--gbx-font-body);font-size:.82rem;font-weight:700;
  letter-spacing:.01em;line-height:1.3;white-space:nowrap;
  border:1px solid transparent;text-transform:none;
}
.gbx-sem i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor}
.gbx-sem small{font-size:.82rem;font-weight:500;opacity:.9}
.gbx-sem small::before{content:"· "}
.gbx-sem--critica{background:#FDECEA;color:#9E2F22;border-color:#F3C9C3}
.gbx-sem--alta{background:#FDF3E2;color:#8A5B12;border-color:#EFDCB8}
.gbx-sem--baixa{background:#E9F5F0;color:#215F44;border-color:#C4E3D6}
/* sobre a faixa de marca (topo da materia, painel do Radar) */
.gbx-sem--escuro.gbx-sem--critica,.gbx-nw-radar .gbx-sem--critica{background:rgba(192,57,43,.18);color:#FFB4AA;border-color:rgba(255,180,170,.35)}
.gbx-sem--escuro.gbx-sem--alta,.gbx-nw-radar .gbx-sem--alta{background:rgba(183,121,31,.2);color:#FFD98A;border-color:rgba(255,217,138,.35)}
.gbx-sem--escuro.gbx-sem--baixa,.gbx-nw-radar .gbx-sem--baixa{background:rgba(46,125,91,.2);color:#9BDCBC;border-color:rgba(155,220,188,.35)}

/* chaves novas nos componentes antigos (home e pagina do Radar) */
.gbx-radar-item--critica::before{background:var(--gbx-sem-alto)}
.gbx-radar-item--alta::before{background:var(--gbx-sem-medio)}
.gbx-radar-item--baixa::before{background:var(--gbx-sem-baixo)}
.gbx-radar-item--critica .gbx-radar__selo{background:#FDECEA;color:#9E2F22;border:1px solid #F3C9C3}
.gbx-radar-item--critica .gbx-radar__selo i{background:var(--gbx-sem-alto)}
.gbx-radar-item--alta .gbx-radar__selo{background:#FDF3E2;color:#8A5B12;border:1px solid #EFDCB8}
.gbx-radar-item--alta .gbx-radar__selo i{background:var(--gbx-sem-medio)}
.gbx-radar-item--baixa .gbx-radar__selo{background:#E9F5F0;color:#215F44;border:1px solid #C4E3D6}
.gbx-radar-item--baixa .gbx-radar__selo i{background:var(--gbx-sem-baixo)}
.gbx-radar__selo--critica{background:rgba(192,57,43,.16);color:#FFB4AA;border:1px solid rgba(192,57,43,.4)}
.gbx-radar__selo--critica i{background:#E4614F}
.gbx-radar__selo--alta{background:rgba(183,121,31,.18);color:#FFD98A;border:1px solid rgba(183,121,31,.45)}
.gbx-radar__selo--alta i{background:#D89A2B}
.gbx-radar__selo--baixa{background:rgba(46,125,91,.18);color:#9BDCBC;border:1px solid rgba(46,125,91,.45)}
.gbx-radar__selo--baixa i{background:#3E9C72}
.gbx-console__nivel--critica i{background:#E4614F;box-shadow:0 0 0 4px rgba(228,97,79,.18)}
.gbx-console__nivel--alta i{background:#D89A2B;box-shadow:0 0 0 4px rgba(216,154,43,.18)}
.gbx-console__nivel--baixa i{background:#3E9C72;box-shadow:0 0 0 4px rgba(62,156,114,.18)}
/* o selo do cartao tem tamanho proprio; o significado vai ao lado, em texto */
.gbx-radar-item__sig{color:var(--gbx-text-2);font-size:.82rem}
.gbx-radar-item__sig::before{content:"· ";color:var(--gbx-text-3)}

/* barra: Radar e Eventos fixos, com icone, e um fio antes das editorias */
.gbx-nw-barra__lista a.gbx-nw-barra__fixo{display:inline-flex;align-items:center;gap:7px}
.gbx-nw-barra__fixo svg{width:15px;height:15px;flex:0 0 15px;color:var(--gbx-indigo-2)}
.gbx-nw-barra__sep{width:1px;height:18px;flex:0 0 1px;margin:0 8px;background:var(--gbx-line-2)}

/* chamada: data do evento no lugar da data de publicacao */
.gbx-nw-quando{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--gbx-font-mono);font-size:.82rem;color:var(--gbx-indigo-2);
}
.gbx-nw-quando svg{width:13px;height:13px}
.gbx-nw-credito .gbx-sem{margin-right:2px}

/* ---------- painel do Radar na capa ---------- */
.gbx-nw-radar{position:relative;overflow:hidden;background:var(--gbx-marca);color:var(--gbx-marca-text)}
.gbx-nw-radar__cabeca{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:12px 24px;padding-top:14px;margin-bottom:clamp(18px,2.2vw,26px);
  border-top:2px solid var(--gbx-accent);
}
.gbx-nw-radar .gbx-nw-rotulo{display:inline-flex;align-items:center;gap:9px;color:#fff}
.gbx-nw-radar .gbx-nw-rotulo svg{width:18px;height:18px;color:var(--gbx-accent)}
.gbx-nw-radar__texto{margin:8px 0 0;max-width:62ch;font-size:.94rem;line-height:1.55;color:var(--gbx-marca-text-2)}
.gbx-nw-radar__link{
  display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;
  font-size:.88rem;font-weight:600;color:var(--gbx-accent);transition:color .25s;
}
.gbx-nw-radar__link:hover{color:#fff}
.gbx-nw-radar__link svg{width:15px;height:15px}
.gbx-nw-radar__colunas{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  background:var(--gbx-marca-line);border:1px solid var(--gbx-marca-line);
  border-radius:var(--gbx-r-lg);overflow:hidden;
}
.gbx-nw-radar__col{
  position:relative;display:flex;flex-direction:column;gap:12px;
  padding:20px 22px 22px;background:var(--gbx-marca);
}
.gbx-nw-radar__col::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gbx-sem-baixo)}
.gbx-nw-radar__col--critica::before{background:#E4614F}
.gbx-nw-radar__col--alta::before{background:#D89A2B}
.gbx-nw-radar__col--baixa::before{background:#3E9C72}
.gbx-nw-radar__col-head{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;
  font-family:var(--gbx-font-body);font-size:.82rem;font-weight:500;
  text-transform:none;letter-spacing:0;color:var(--gbx-marca-text-2);
}
.gbx-nw-radar__col-head small{font-size:.82rem}
.gbx-nw-radar__conta{
  margin-left:auto;font-family:var(--gbx-font-mono);font-size:.82rem;
  color:var(--gbx-marca-text-2);
}
.gbx-nw-radar__lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.gbx-nw-radar__lista li{padding:13px 0;border-top:1px solid var(--gbx-marca-line)}
.gbx-nw-radar__lista li:last-child{padding-bottom:0}
.gbx-nw-radar__item-titulo{
  margin:0;font-family:var(--gbx-font-head);font-size:.98rem;font-weight:700;
  line-height:1.36;letter-spacing:-.01em;color:#fff;
}
.gbx-nw-radar__item-titulo a{color:inherit;transition:color .25s}
.gbx-nw-radar__item-titulo a:hover{color:var(--gbx-accent)}
.gbx-nw-radar__item-meta{
  display:flex;flex-wrap:wrap;gap:4px 10px;margin:6px 0 0;
  font-family:var(--gbx-font-mono);font-size:.82rem;color:var(--gbx-marca-text-2);
}
.gbx-nw-radar__prazo{color:#FFD98A}
.gbx-nw-radar__prazo.is-urgente{color:#FFB4AA;font-weight:600}
.gbx-nw-radar__item-leitura{
  margin:8px 0 0;font-size:.9rem;line-height:1.5;color:var(--gbx-marca-text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.gbx-nw-radar__vazio{margin:4px 0 0;font-size:.9rem;line-height:1.5;color:var(--gbx-marca-text-2)}
.gbx-nw-radar__mais{
  margin-top:auto;padding-top:12px;font-size:.86rem;font-weight:600;
  color:var(--gbx-accent);transition:color .25s;
}
.gbx-nw-radar__mais:hover{color:#fff}

/* ---------- pagina do Radar: filtro por nivel ---------- */
.gbx-radar-filtro{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 clamp(20px,2.4vw,28px)}
.gbx-radar-filtro a{
  display:inline-flex;align-items:center;gap:8px;min-height:40px;
  padding:7px 14px;border-radius:var(--gbx-r-pill);
  border:1px solid var(--gbx-btn-2-borda);font-size:.88rem;font-weight:600;
  color:var(--gbx-text-2);transition:border-color .25s,background-color .25s,color .25s;
}
.gbx-radar-filtro a:hover{border-color:var(--gbx-indigo);color:var(--gbx-indigo)}
.gbx-radar-filtro a[aria-current]{background:var(--gbx-indigo);border-color:var(--gbx-indigo);color:#fff}
.gbx-radar-filtro small{font-weight:500;font-size:.82rem;opacity:.85}
.gbx-radar-filtro__n{font-family:var(--gbx-font-mono);font-size:.82rem;opacity:.85}
.gbx-radar-filtro__nivel i{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.gbx-radar-filtro__nivel--critica i{background:var(--gbx-sem-alto)}
.gbx-radar-filtro__nivel--alta i{background:var(--gbx-sem-medio)}
.gbx-radar-filtro__nivel--baixa i{background:var(--gbx-sem-baixo)}
.gbx-radar__lista--pagina{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gbx-radar-pagina .gbx-radar-item{height:100%}

/* ---------- ficha "Leitura da GBX" na materia ---------- */
.gbx-radar-ficha{
  position:relative;overflow:hidden;margin:0 0 28px;padding:22px 24px 20px 28px;
  background:var(--gbx-ink-2);border:1px solid var(--gbx-line);border-radius:var(--gbx-r-lg);
}
.gbx-radar-ficha::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gbx-sem-baixo)}
.gbx-radar-ficha--critica::before{background:var(--gbx-sem-alto)}
.gbx-radar-ficha--alta::before{background:var(--gbx-sem-medio)}
.gbx-radar-ficha__topo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}
.gbx-radar-ficha__kicker{font-size:.9rem;font-weight:700;color:var(--gbx-text)}
.gbx-radar-ficha__analise{margin:0;font-size:1.06rem;line-height:1.6;color:var(--gbx-text)}
.gbx-radar-ficha__dados{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 22px;
  margin:16px 0 0;padding-top:14px;border-top:1px solid var(--gbx-line);
}
.gbx-radar-ficha__dados dt{
  margin:0 0 3px;font-size:.82rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--gbx-text-2);
}
.gbx-radar-ficha__dados dd{margin:0;font-size:.95rem;line-height:1.5;color:var(--gbx-text-2)}
.gbx-radar-ficha__prazo{font-family:var(--gbx-font-mono);font-size:.9rem}
.gbx-radar-ficha__prazo.is-urgente{color:var(--gbx-sem-alto);font-weight:600}
.gbx-radar-ficha__pe{margin:14px 0 0;font-size:.88rem}
.gbx-materia__chapeu{display:flex;flex-wrap:wrap;align-items:center;gap:10px}

/* ---------- eventos: cartao ---------- */
.gbx-ev{
  display:flex;gap:16px;height:100%;padding:18px;
  background:var(--gbx-ink);border:1px solid var(--gbx-gelo-linha);border-radius:var(--gbx-r-lg);
  transition:border-color .3s;
}
.gbx-ev:hover{border-color:var(--gbx-indigo-2)}
.gbx-ev--cartao{flex-direction:column;gap:14px}
.gbx-ev--cartao .gbx-ev__data{align-self:flex-start}
.gbx-ev__data{
  flex:0 0 66px;width:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:10px 4px 9px;border-radius:var(--gbx-r);background:var(--gbx-indigo);color:#fff;text-align:center;
}
.gbx-ev__data strong{
  font-family:var(--gbx-font-head);font-size:1.4rem;line-height:1;font-weight:800;letter-spacing:-.02em;
}
.gbx-ev__data span{
  margin-top:4px;font-family:var(--gbx-font-mono);font-size:.82rem;
  text-transform:uppercase;letter-spacing:.06em;color:var(--gbx-accent);
}
.gbx-ev__data em{margin-top:2px;font-style:normal;font-family:var(--gbx-font-mono);font-size:.82rem;color:#D9DCEC}
.gbx-ev--passado .gbx-ev__data{background:var(--gbx-ink-3);color:var(--gbx-text-2)}
.gbx-ev--passado .gbx-ev__data span,.gbx-ev--passado .gbx-ev__data em{color:var(--gbx-text-2)}
.gbx-ev--agora .gbx-ev__data{background:var(--gbx-accent);color:#14162A}
.gbx-ev--agora .gbx-ev__data span,.gbx-ev--agora .gbx-ev__data em{color:#14162A}
.gbx-ev__corpo{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1 1 auto}
.gbx-ev__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:.82rem}
.gbx-ev__tipo{font-weight:700;letter-spacing:.045em;text-transform:uppercase;color:var(--gbx-indigo-2)}
.gbx-ev__quando{font-family:var(--gbx-font-mono);color:var(--gbx-text-2)}
.gbx-ev__quando.is-perto{color:var(--gbx-sem-alto);font-weight:600}
.gbx-ev__gbx{
  display:inline-flex;padding:3px 9px;border-radius:var(--gbx-r-pill);
  background:var(--gbx-accent);color:#14162A;font-size:.82rem;font-weight:700;
}
.gbx-ev__titulo{margin:0;font-size:1.02rem;line-height:1.32;letter-spacing:-.012em;font-weight:700;color:var(--gbx-text)}
.gbx-ev__titulo a{transition:color .25s}
.gbx-ev__titulo a:hover{color:var(--gbx-indigo-2)}
.gbx-ev__dados{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.gbx-ev__dados li{display:flex;gap:8px;align-items:flex-start;font-size:.88rem;line-height:1.45;color:var(--gbx-text-2)}
.gbx-ev__dados svg{width:15px;height:15px;flex:0 0 15px;margin-top:3px;color:var(--gbx-indigo-2)}
.gbx-ev__acoes{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:auto;padding-top:8px}
.gbx-ev__link{display:inline-flex;align-items:center;gap:6px;font-size:.86rem;font-weight:600;color:var(--gbx-indigo-2);transition:color .25s}
.gbx-ev__link:hover{color:var(--gbx-indigo)}
.gbx-ev__link svg{width:14px;height:14px}
/* na faixa da capa os cartoes sao linhas: data | texto | acoes */
.gbx-ev--linha{align-items:flex-start}
.gbx-ev--linha .gbx-ev__dados{flex-direction:row;flex-wrap:wrap;gap:4px 16px}
.gbx-ev--linha .gbx-ev__acoes{padding-top:2px}

/* ---------- faixa "Agenda" na capa ---------- */
.gbx-nw-eventos{background:var(--gbx-gelo);border-top:1px solid var(--gbx-gelo-linha)}
.gbx-nw-eventos__grade{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,2fr);
  gap:clamp(24px,3vw,48px);align-items:start;
}
.gbx-nw-eventos__kicker{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;
  font-size:.82rem;font-weight:700;color:var(--gbx-indigo-2);
}
.gbx-nw-eventos__kicker svg{width:16px;height:16px}
.gbx-nw-eventos__titulo{
  margin:0 0 10px;font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.15;letter-spacing:-.02em;
}
.gbx-nw-eventos__texto{margin:0 0 14px;max-width:36ch;font-size:.96rem;line-height:1.55;color:var(--gbx-text-2)}
.gbx-nw-eventos__conta{margin:0 0 18px;font-family:var(--gbx-font-mono);font-size:.82rem;color:var(--gbx-text-2)}
.gbx-nw-eventos__lista{display:flex;flex-direction:column;gap:12px}
.gbx-nw-eventos__aviso{margin:0 0 4px;font-size:.9rem;color:var(--gbx-text-2)}

/* ---------- pagina de Eventos ---------- */
.gbx-ev-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.gbx-ev-grade .gbx-ev{border-color:var(--gbx-line)}
.gbx-ev-anteriores{margin-top:clamp(36px,4vw,56px)}
.gbx-ev-grade--passado .gbx-ev{background:var(--gbx-ink-2)}

/* ---------- ficha do evento na materia ---------- */
.gbx-ev-ficha{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start;
  margin:0 0 28px;padding:22px;
  background:var(--gbx-gelo);border:1px solid var(--gbx-gelo-linha);border-radius:var(--gbx-r-lg);
}
.gbx-ev-ficha .gbx-ev__data{flex-basis:74px;width:74px}
.gbx-ev-ficha__corpo{display:flex;flex-direction:column;gap:12px;min-width:0}
.gbx-ev-ficha__dados{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 20px;margin:0;
}
.gbx-ev-ficha__dados dt{
  margin:0 0 3px;font-size:.82rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--gbx-text-2);
}
.gbx-ev-ficha__dados dd{margin:0;font-size:.95rem;line-height:1.5;color:var(--gbx-text)}
.gbx-ev-ficha__acoes{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:4px}

/* ---------- responsivo ---------- */
@media (max-width:1024px){
  .gbx-nw-radar__colunas{grid-template-columns:1fr}
  .gbx-nw-eventos__grade{grid-template-columns:1fr}
  .gbx-nw-eventos__texto{max-width:58ch}
}
@media (max-width:820px){
  .gbx-radar__lista--pagina{grid-template-columns:1fr}
}
@media (max-width:600px){
  .gbx-ev--linha{flex-direction:column;gap:12px}
  .gbx-ev--linha .gbx-ev__dados{flex-direction:column;gap:5px}
  .gbx-ev-ficha{grid-template-columns:1fr}
  .gbx-radar-filtro small{display:none}
}

/* cartao do Radar (home e /radar/): o piso de 13px vale aqui tambem. Os
   rotulos estavam em .66-.78rem e o "Leitura da GBX" a 4,34:1. */
.gbx-radar-item__topo{font-size:.82rem;gap:8px 10px}
.gbx-radar__selo{font-family:var(--gbx-font-body);font-size:.82rem;letter-spacing:.02em;text-transform:none;padding:4px 11px}
.gbx-radar-item__rotulo{font-size:.82rem;letter-spacing:.03em;color:var(--gbx-text-2)}
.gbx-radar-item__quem{font-size:.86rem}
.gbx-radar-item__prazo{font-size:.82rem}
.gbx-radar-item__cat{color:var(--gbx-text-2)}
/* coluna lateral da materia: os rotulos das caixas estavam em 11,8px e o
   da caixa de CTA a 3,47:1 — abaixo do piso do site. */
.gbx-aside__box h3{font-size:.82rem;color:var(--gbx-text-2)}
.gbx-aside__cta h3{color:#fff;font-size:.82rem}
.gbx-share>span{font-size:.82rem}

/* ---------- 33. Menu em grupos + filtros em AJAX ---------- */
/* Item com submenu: seta pequena, e o link do pai continua clicavel. */
.gbx-nav .menu-item-has-children>a{padding-right:26px}
.gbx-nav .menu-item-has-children>a::before{
  content:"";position:absolute;right:11px;top:50%;width:6px;height:6px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-70%) rotate(45deg);opacity:.8;
  transition:transform .25s var(--gbx-ease);
}
.gbx-nav .menu-item-has-children:hover>a::before,
.gbx-nav .menu-item-has-children:focus-within>a::before{transform:translateY(-30%) rotate(225deg)}
/* Ponte invisivel entre o pai e o submenu: sem ela o submenu fecha ao
   atravessar os 8px de vao. */
.gbx-nav .menu-item-has-children>.sub-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.gbx-nav .sub-menu{min-width:240px;padding:8px;top:calc(100% + 6px)}
.gbx-nav .sub-menu a{padding:10px 12px;border-radius:var(--gbx-r-xs);white-space:normal}
.gbx-nav .sub-menu a::before{display:none}
.gbx-nav .sub-menu .current-menu-item>a{color:var(--gbx-accent)}
/* no celular o submenu ja aparece aberto; a seta nao faz sentido la */
.gbx-mobile .menu-item-has-children>a::before{display:none}

/* Regiao trocada pelos filtros: enquanto a resposta nao chega, o que esta
   na tela esmaece e nao aceita clique — nunca troca por nada. */
.gbx-nw-pagina{position:relative}
.gbx-nw-pagina[aria-busy="true"]{opacity:.55;pointer-events:none;transition:opacity .2s}
.gbx-nw-pagina[aria-busy="true"]::after{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:2;
  background:linear-gradient(90deg,transparent,var(--gbx-accent),transparent);
  background-size:40% 100%;animation:gbx-carregando .9s linear infinite;
}
@keyframes gbx-carregando{from{background-position:-40% 0}to{background-position:140% 0}}
@media (prefers-reduced-motion: reduce){.gbx-nw-pagina[aria-busy="true"]::after{animation:none}}


/* =========================================================================
   36. Rodada de 06/09 — inteligência, sistema em destaque, fundador,
       diagnóstico na home, agenda com página própria e alertas.

   Radar e Agenda eram duas seções com cabeçalho grande e cartões cheios;
   viraram um bloco de duas colunas. O Sistema GBX passa a ser a única
   faixa índigo entre blocos claros — é o destaque que o cliente pediu —
   e o diagnóstico entra como placa escura dentro de uma seção branca,
   para não repetir a faixa.
   ========================================================================= */

/* ---------- Radar + Agenda ---------- */
.gbx-intel{background:var(--gbx-ink-2);position:relative;overflow:hidden}
.gbx-intel__grid{
  display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);
  gap:clamp(22px,3vw,44px);align-items:start;position:relative;z-index:1;
}
.gbx-intel__grid--um{grid-template-columns:minmax(0,1fr)}
.gbx-intel__head{margin-bottom:18px}
.gbx-intel__head .gbx-h3{margin:0;max-width:26ch}
.gbx-intel__lista{display:grid;gap:12px}
.gbx-intel__pe{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:14px;margin:22px 0 0;
}
.gbx-intel__legenda{display:inline-flex;flex-wrap:wrap;gap:8px}
.gbx-sem--mini{font-size:.74rem;padding:2px 9px 2px 8px;font-weight:600}

.gbx-rd{
  position:relative;display:grid;gap:8px;padding:18px 20px 18px 24px;
  background:var(--gbx-ink);border:1px solid var(--gbx-line);border-radius:var(--gbx-r-lg);
  transition:border-color .3s;
}
.gbx-rd::before{
  content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;
  border-radius:0 4px 4px 0;background:var(--gbx-sem-baixo);
}
.gbx-rd--critica::before{background:var(--gbx-sem-alto)}
.gbx-rd--alta::before{background:var(--gbx-sem-medio)}
.gbx-rd:hover{border-color:var(--gbx-indigo-2)}
.gbx-rd__topo{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:10px;font-size:.8rem;color:var(--gbx-text-3);
}
.gbx-rd__prazo{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--gbx-font-mono);font-size:.78rem;font-weight:600;color:var(--gbx-text-2);
}
.gbx-rd__prazo svg{width:14px;height:14px}
.gbx-rd__prazo.is-urgente{color:var(--gbx-sem-alto)}
.gbx-rd__titulo{font-size:1.06rem;line-height:1.35;margin:0}
.gbx-rd__titulo a:hover{color:var(--gbx-indigo-2)}
.gbx-rd__resumo{margin:0;font-size:.9rem;color:var(--gbx-text-2);line-height:1.55}
.gbx-rd__link{
  display:inline-flex;align-items:center;gap:6px;margin-top:2px;
  font-size:.86rem;font-weight:600;color:var(--gbx-indigo-2);
}
.gbx-rd__link svg{width:15px;height:15px;transition:transform .3s var(--gbx-ease)}
.gbx-rd:hover .gbx-rd__link svg{transform:translateX(3px)}

.gbx-intel__agenda{
  position:relative;overflow:hidden;
  background:var(--gbx-marca);color:var(--gbx-marca-text);
  border-radius:var(--gbx-r-xl);padding:clamp(22px,2.6vw,34px);
}
.gbx-intel__agenda::after{
  content:"";position:absolute;right:-30%;bottom:-40%;width:320px;height:320px;
  border-radius:50%;background:radial-gradient(circle,rgba(255,200,0,.18),transparent 65%);
  pointer-events:none;
}
.gbx-intel__agenda .gbx-h3{color:#fff}
.gbx-intel__agenda .gbx-eyebrow{color:var(--gbx-accent)}
.gbx-intel__prazos{list-style:none;margin:0;padding:0;display:grid;gap:8px;position:relative;z-index:1}
.gbx-pz__link{
  display:grid;grid-template-columns:58px minmax(0,1fr) 18px;gap:14px;align-items:center;
  padding:12px 14px 12px 12px;border-radius:var(--gbx-r);color:inherit;
  background:rgba(255,255,255,.05);border:1px solid var(--gbx-marca-line);
  transition:background .25s,border-color .25s;
}
.gbx-pz__link:hover{background:rgba(255,255,255,.1);border-color:var(--gbx-marca-line-2)}
.gbx-pz__link > svg{width:18px;height:18px;color:var(--gbx-accent);opacity:.8}
.gbx-pz__data{
  display:grid;place-items:center;text-align:center;padding:7px 0;line-height:1;
  border-radius:var(--gbx-r-sm);background:rgba(255,255,255,.08);
}
.gbx-pz__data strong{font-family:var(--gbx-font-head);font-size:1.45rem;font-weight:700;color:#fff}
.gbx-pz__data span{
  font-family:var(--gbx-font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--gbx-marca-text-2);margin-top:3px;
}
.gbx-pz.is-urgente .gbx-pz__data{background:rgba(255,200,0,.16)}
.gbx-pz.is-urgente .gbx-pz__data strong{color:var(--gbx-accent)}
.gbx-pz__nome{display:block;font-family:var(--gbx-font-head);font-weight:600;font-size:.98rem;line-height:1.3;color:#fff}
.gbx-pz__meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:4px;font-size:.8rem;color:var(--gbx-marca-text-2)}
.gbx-pz__conta{font-family:var(--gbx-font-mono);font-weight:600;color:var(--gbx-marca-text)}
.gbx-pz.is-urgente .gbx-pz__conta{color:var(--gbx-accent)}
.gbx-intel__acoes{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px;position:relative;z-index:1}
.gbx-intel__acoes .gbx-link{color:#fff;display:inline-flex;align-items:center;gap:7px}
.gbx-intel__acoes .gbx-link svg{width:16px;height:16px}

/* ---------- «Esta obrigação vence em N dias» ---------- */
.gbx-aviso-prazo{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;
  margin:22px 0;padding:18px 22px;border-radius:var(--gbx-r-lg);
  background:var(--gbx-gelo);border:1px solid var(--gbx-gelo-linha);
}
.gbx-aviso-prazo__texto{display:grid;gap:3px;max-width:52ch}
.gbx-aviso-prazo__texto strong{font-family:var(--gbx-font-head);font-size:1.02rem;color:var(--gbx-text)}
.gbx-aviso-prazo__texto span{font-size:.88rem;color:var(--gbx-text-2)}

/* ---------- Sistema GBX: única faixa índigo ---------- */
.gbx-sistema{background:var(--gbx-marca);color:var(--gbx-marca-text)}
.gbx-sistema h2,.gbx-sistema h3{color:#fff}
.gbx-sistema .gbx-lead{color:var(--gbx-marca-text-2)}
.gbx-sistema .gbx-eyebrow{color:var(--gbx-accent)}
.gbx-sistema__selo{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;
  padding:6px 14px 6px 10px;border-radius:var(--gbx-r-pill);
  background:rgba(255,200,0,.14);border:1px solid rgba(255,200,0,.4);
  color:var(--gbx-accent);font-size:.78rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;
}
.gbx-sistema__selo svg{width:14px;height:14px}
.gbx-sistema__tela--duplo{padding-right:70px}
.gbx-fone{
  position:absolute;right:-6px;bottom:-10px;z-index:3;margin:0;
  width:clamp(120px,22%,180px);border-radius:22px;overflow:hidden;
  border:6px solid #171334;background:#171334;
  box-shadow:0 30px 60px -28px rgba(0,0,0,.9),inset 0 0 0 1px rgba(255,255,255,.08);
}
.gbx-fone img{width:100%;display:block;aspect-ratio:9/18;object-fit:cover;object-position:top}
.gbx-fone__entalhe{
  position:absolute;top:6px;left:50%;transform:translateX(-50%);z-index:1;
  width:38%;height:8px;border-radius:var(--gbx-r-pill);background:#171334;
}

/* ---------- Fundador: ações ---------- */
.gbx-fundador__acoes{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:26px}
.gbx-fundador__acoes .gbx-link svg{width:16px;height:16px}

/* ---------- Diagnóstico na home ---------- */
.gbx-diag{background:var(--gbx-ink)}
.gbx-diag__placa{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(28px,4vw,64px);align-items:center;
  padding:clamp(28px,4vw,56px);border-radius:var(--gbx-r-xl);
  background:var(--gbx-marca);color:var(--gbx-marca-text);
}
.gbx-diag__placa h2{color:#fff;max-width:20ch}
.gbx-diag__placa .gbx-lead{color:var(--gbx-marca-text-2)}
.gbx-diag__placa .gbx-eyebrow{color:var(--gbx-accent)}
.gbx-diag__texto{position:relative;z-index:1}
.gbx-diag__ficha{list-style:none;margin:22px 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.gbx-diag__ficha li{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;color:var(--gbx-marca-text)}
.gbx-diag__ficha svg{width:15px;height:15px;color:var(--gbx-accent)}
.gbx-diag__nota{margin:18px 0 0;font-size:.8rem;color:var(--gbx-marca-text-2);max-width:56ch}
.gbx-diag__mock{
  position:relative;z-index:1;display:grid;gap:14px;
  padding:26px 26px 22px;border-radius:var(--gbx-r-lg);
  background:var(--gbx-ink);color:var(--gbx-text);border:1px solid var(--gbx-line);
  box-shadow:0 40px 80px -40px rgba(0,0,0,.8);
  transform:rotate(-1.2deg);transition:transform .4s var(--gbx-ease);
}
.gbx-diag__mock:hover{transform:rotate(0) translateY(-4px)}
.gbx-diag__contador{
  font-family:var(--gbx-font-mono);font-size:.76rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;color:var(--gbx-indigo-2);
}
.gbx-diag__pergunta{font-family:var(--gbx-font-head);font-size:1.12rem;line-height:1.35;font-weight:600;color:var(--gbx-text)}
.gbx-diag__opcoes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gbx-diag__opcoes i{
  display:grid;place-items:center;min-height:44px;
  border:2px solid var(--gbx-line-2);border-radius:var(--gbx-r);
  font-style:normal;font-weight:700;font-size:.86rem;letter-spacing:.03em;color:var(--gbx-text);
}
.gbx-diag__opcoes i:first-child{border-color:var(--gbx-indigo);background:var(--gbx-indigo);color:#fff}
.gbx-diag__barra{display:block;height:6px;border-radius:var(--gbx-r-pill);background:var(--gbx-ink-3);overflow:hidden}
.gbx-diag__barra b{display:block;height:100%;background:var(--gbx-accent);border-radius:var(--gbx-r-pill)}
.gbx-diag__legenda{font-size:.74rem;color:var(--gbx-text-3)}

/* ---------- Notícias: próximos eventos na coluna lateral ---------- */
.gbx-hub__eventos{margin-top:8px;padding-top:18px;border-top:1px solid var(--gbx-line)}
.gbx-hub__eventos .gbx-eyebrow{margin-bottom:12px}
.gbx-hub__eventos-lista{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.gbx-hub__eventos-lista a{
  display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;
  padding:10px 12px;border-radius:var(--gbx-r);color:inherit;
  border:1px solid var(--gbx-line);background:var(--gbx-ink);
}
.gbx-hub__eventos-lista a:hover{border-color:var(--gbx-indigo-2)}
.gbx-hub__evento-data{display:grid;place-items:center;line-height:1;padding:6px 0;border-radius:var(--gbx-r-sm);background:var(--gbx-gelo)}
.gbx-hub__evento-data strong{font-family:var(--gbx-font-head);font-size:1.2rem;color:var(--gbx-text)}
.gbx-hub__evento-data span{font-family:var(--gbx-font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gbx-text-2);margin-top:2px}
.gbx-hub__eventos-lista strong{display:block;font-family:var(--gbx-font-head);font-weight:600;font-size:.94rem;line-height:1.3}
.gbx-hub__eventos-lista small{display:block;font-size:.8rem;color:var(--gbx-text-3);margin-top:2px}

/* ---------- Análise GBX: assinatura e caixa do autor ---------- */
.gbx-byline{font-weight:600}
.gbx-byline a{text-decoration:underline;text-underline-offset:3px}
.gbx-autor{
  display:grid;grid-template-columns:110px minmax(0,1fr);gap:22px;align-items:start;
  margin:40px 0 8px;padding:24px;border-radius:var(--gbx-r-lg);
  background:var(--gbx-gelo);border:1px solid var(--gbx-gelo-linha);
}
.gbx-autor__foto img{width:100%;border-radius:var(--gbx-r);aspect-ratio:4/5;object-fit:cover}
.gbx-autor__nome{font-size:1.15rem;margin:0 0 2px}
.gbx-autor__cargo{font-size:.86rem;color:var(--gbx-text-2);margin:0 0 10px}
.gbx-autor__bio{font-size:.92rem;color:var(--gbx-text-2);margin:0 0 12px}
.gbx-autor__links{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0;font-size:.88rem}
.gbx-autor__links .gbx-link svg{width:15px;height:15px}

/* ---------- Perfil do fundador ---------- */
.gbx-perfil{
  position:relative;overflow:hidden;
  padding:calc(var(--gbx-header-h) + clamp(32px,3.8vw,56px)) 0 clamp(30px,3.4vw,48px);
  background:var(--gbx-marca);color:var(--gbx-marca-text);border-bottom:3px solid var(--gbx-accent);
}
.gbx-perfil__layout{
  display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);
  gap:clamp(28px,4vw,60px);align-items:center;position:relative;z-index:1;
}
.gbx-perfil__retrato img{width:100%;max-width:340px;border-radius:var(--gbx-r-lg);border:1px solid var(--gbx-marca-line-2)}
.gbx-perfil h1{color:#fff}
.gbx-perfil .gbx-eyebrow{color:var(--gbx-accent)}
.gbx-perfil__cargo{font-size:1.05rem;color:var(--gbx-marca-text-2);margin:0 0 22px}
.gbx-perfil__acoes{display:flex;flex-wrap:wrap;gap:12px}
.gbx-perfil__acoes .gbx-btn svg{width:16px;height:16px}
.gbx-perfil__corpo{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,3.2vw,48px);align-items:start}
.gbx-perfil__lado{display:grid;gap:18px}

/* ---------- Página do prazo ---------- */
.gbx-prazo-ficha{
  display:grid;grid-template-columns:110px minmax(0,1fr);gap:22px;align-items:start;
  padding:22px;border-radius:var(--gbx-r-lg);
  background:var(--gbx-ink-2);border:1px solid var(--gbx-line);margin-bottom:22px;
}
.gbx-prazo-ficha__data{
  display:grid;place-items:center;text-align:center;line-height:1;
  padding:14px 8px;border-radius:var(--gbx-r);background:var(--gbx-marca);color:#fff;
}
.gbx-prazo-ficha__data strong{font-family:var(--gbx-font-head);font-size:2.4rem;font-weight:700}
.gbx-prazo-ficha__data span{
  font-family:var(--gbx-font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--gbx-marca-text-2);margin-top:6px;
}
.gbx-prazo-ficha.is-urgente .gbx-prazo-ficha__data strong{color:var(--gbx-accent)}
.gbx-prazo-ficha.is-encerrado .gbx-prazo-ficha__data{background:var(--gbx-ink-4);color:var(--gbx-text-2)}
.gbx-prazo-ficha.is-encerrado .gbx-prazo-ficha__data span{color:var(--gbx-text-3)}
.gbx-prazo-ficha__dados{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;margin:0}
.gbx-prazo-ficha__dados dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gbx-text-3);margin-bottom:3px}
.gbx-prazo-ficha__dados dd{margin:0;font-size:.95rem;font-weight:500}
.gbx-prazo-ficha__dados dd a{display:inline-flex;align-items:center;gap:5px;color:var(--gbx-indigo-2)}
.gbx-prazo-ficha__dados dd svg{width:13px;height:13px}
.gbx-prazo-ficha__largo{grid-column:1 / -1}
.gbx-prazo-ficha__conta{font-family:var(--gbx-font-mono);color:var(--gbx-indigo-2)}
.gbx-prazo-ficha.is-urgente .gbx-prazo-ficha__conta{color:var(--gbx-sem-alto)}
.gbx-prazo-pagina__texto{margin-top:28px}
.gbx-prazo-pagina__orientacao{margin-top:24px}
.gbx-prazo-pagina__acoes{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:26px}
.gbx-prazo-pagina__nota{display:flex;gap:10px;align-items:flex-start;margin:28px 0 0;font-size:.86rem;color:var(--gbx-text-3)}
.gbx-prazo-pagina__nota svg{width:16px;height:16px;flex:0 0 16px;margin-top:2px}
.gbx-aside__prazos{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.gbx-aside__prazos a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;font-size:.9rem;color:inherit}
.gbx-aside__prazos a:hover span:last-child{color:var(--gbx-indigo-2)}
.gbx-aside__prazo-data{font-family:var(--gbx-font-mono);font-size:.8rem;font-weight:600;color:var(--gbx-indigo-2);padding-top:2px}
.gbx-aside__prazos small{display:block;font-size:.78rem;color:var(--gbx-text-3)}
.gbx-prazo-card__topo h3 a:hover{color:var(--gbx-indigo-2)}

/* ---------- Telas menores ---------- */
@media (max-width:1100px){
  .gbx-intel__grid{grid-template-columns:1fr}
  .gbx-diag__placa{grid-template-columns:1fr}
  .gbx-diag__mock{transform:none;max-width:520px}
  .gbx-perfil__layout{grid-template-columns:1fr}
  .gbx-perfil__corpo{grid-template-columns:1fr}
}
@media (max-width:680px){
  .gbx-pz__link{grid-template-columns:52px minmax(0,1fr)}
  .gbx-pz__link > svg{display:none}
  .gbx-intel__pe{flex-direction:column;align-items:flex-start}
  .gbx-intel__acoes{flex-direction:column;align-items:stretch}
  .gbx-intel__acoes .gbx-btn{justify-content:center}
  .gbx-aviso-prazo{flex-direction:column;align-items:stretch}
  .gbx-aviso-prazo .gbx-btn{justify-content:center}
  .gbx-diag__opcoes{grid-template-columns:1fr}
  .gbx-sistema__tela--duplo{padding-right:40px}
  .gbx-fone{width:96px;border-width:4px;border-radius:16px}
  .gbx-autor{grid-template-columns:1fr}
  .gbx-autor__foto{max-width:120px}
  .gbx-prazo-ficha{grid-template-columns:1fr}
  .gbx-prazo-ficha__data{max-width:110px}
  .gbx-prazo-ficha__dados{grid-template-columns:1fr 1fr}
  .gbx-prazo-pagina__acoes{flex-direction:column;align-items:stretch}
}
.gbx-materia__ficha .gbx-byline a{color:var(--gbx-accent)}
.gbx-sistema__selo{display:flex;width:max-content;max-width:100%}
.gbx-sistema .gbx-eyebrow{display:flex}
/* piso de 13px medido no QA de 06/09: rótulos miúdos dos blocos novos */
.gbx-diag__nota,.gbx-sistema__selo,.gbx-hub__eventos-lista small,.gbx-pz__data span,.gbx-hub__evento-data span,
.gbx-diag__contador,.gbx-diag__legenda,.gbx-pz__meta,.gbx-pz__conta,.gbx-rd__topo,.gbx-rd__prazo,.gbx-sem--mini,
.gbx-prazo-ficha__data span,.gbx-prazo-ficha__dados dt,.gbx-aside__prazo-data,.gbx-aside__prazos small,
.gbx-autor__links,.gbx-prazo-pagina__nota{font-size:.82rem}
