/* Padronização única: títulos, espaço entre secções, fundo.
   A frase do topo da Home fica de fora. O contacto e o bloco PGU ficam pretos. */
:root{--bg:#FFFFFF;--title:clamp(32px,3.4vw,48px)}
h1.qs-title,
h2.qs-title,
.move > .qs-title,
.how > .qs-title,
#habilitacoes > .qs-title,
.qs-hero > .qs-title{
  font-family:Geist,sans-serif!important;
  font-weight:600!important;
  font-size:var(--title)!important;
  line-height:1.1!important;
  max-width:none!important;
  letter-spacing:-.02em!important;
}
html,body,main,.ab,.ab__r,.inner,.cover,.stage,.wx,article.doc,article.aae{
  background:#FFFFFF!important;
  background-color:#FFFFFF!important;
}
#pgu .pgu-box,
html body bright-contacto#contacto.bright-contacto{
  background:#0A0A0A!important;
  background-color:#0A0A0A!important;
}
@media (min-width:861px){
  .move,.how,#habilitacoes{margin-top:120px!important}
  html body main bright-contacto#contacto.bright-contacto.bright-contacto{margin-top:120px!important}
}
@media (max-width:860px){
  .move,.how,#habilitacoes{margin-top:72px!important}
  html body main bright-contacto#contacto.bright-contacto.bright-contacto{margin-top:72px!important}
}
html body main#conteudo:not(:has(section)) > bright-contacto#contacto.bright-contacto.bright-contacto{margin-top:0!important}

/* 1. Texto abaixo dos títulos de secção.
   Fora: topo da Home e a primeira secção do Sobre (imagem ao lado). */
.qs-hero:not(:has(.qs-mark)) > .qs-cols,
.move > .qs-cols,
.how > .how__lead{
  display:block!important;
  width:100%!important;
  max-width:1100px!important;
}
.qs-hero:not(:has(.qs-mark)) > .qs-cols p,
.move > .qs-cols p{
  margin:0!important;
  max-width:none!important;
  font-family:Geist,sans-serif!important;
  font-weight:400!important;
  font-size:16px!important;
  line-height:1.6!important;
  color:#555!important;
}
.how > .how__lead{
  margin:0!important;
  font-family:Geist,sans-serif!important;
  font-weight:400!important;
  font-size:16px!important;
  line-height:1.6!important;
  color:#555!important;
}
.move > .qs-cols p + p{margin-top:1em!important}

/* 2. Itens em colunas, um só modelo. Os cards ficam de fora desta grelha. */
.how__steps,
#habilitacoes .hab,
#setores .val,
#valor > .vm,
#fiware > .vm,
#beneficios > .vm,
#compromisso .val{
  width:100%!important;
  gap:32px!important;
}
#numeros .num-row{gap:32px!important;width:100%!important}
.how__steps{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
#habilitacoes .hab{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
#setores .val{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
#fiware > .vm{display:grid!important;grid-template-columns:1fr!important}
.how__steps li,
#fiware .vm__i,
#fiware .vm__feat{
  border:0!important;
  border-top:0!important;
  padding-top:0!important;
}
#valor .vm__i::before,
#compromisso .val__i::before{content:none!important;display:none!important}

.how__n,
#compromisso .vm__n{
  margin:0 0 8px!important;
  font-family:'IBM Plex Mono',ui-monospace,monospace!important;
  font-weight:400!important;
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:#0A0A0A!important;
}
.how__t,
#habilitacoes .hab__t,
#setores .val h3,
#valor .vm h3,
#fiware .vm h3,
#beneficios .vm h3,
#compromisso .val h3{
  margin:0 0 8px!important;
  padding:0!important;
  font-family:Geist,sans-serif!important;
  font-weight:600!important;
  font-size:18px!important;
  line-height:1.25!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
  color:#0A0A0A!important;
}
.how__d,
#habilitacoes .hab__d,
#setores .val p,
#valor .vm .t100,
#fiware .vm .t100,
#beneficios .vm .t100,
#compromisso .val .t100{
  margin:0!important;
  font-family:Geist,sans-serif!important;
  font-weight:400!important;
  font-size:14px!important;
  line-height:1.6!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#555!important;
}
#habilitacoes .hab__b{gap:8px!important;justify-content:flex-start!important}

/* O mesmo tipo, dentro dos cards. O cartão em si não muda. */
#fazemos .vm__n,
#escalas .vm__n,
#funcionalidades .vm__n,
.pcard__k{
  font-family:'IBM Plex Mono',ui-monospace,monospace!important;
  font-weight:400!important;
  font-size:11px!important;
  line-height:1.3!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:#0A0A0A!important;
}
#fazemos .vm h3,
#escalas .vm h3,
#funcionalidades .vm h3,
.pcard h3{
  font-family:Geist,sans-serif!important;
  font-weight:600!important;
  font-size:18px!important;
  line-height:1.25!important;
  color:#0A0A0A!important;
}
#fazemos .vm .t100,
#escalas .vm .t100,
#funcionalidades .vm .t100{
  font-family:Geist,sans-serif!important;
  font-weight:400!important;
  font-size:14px!important;
  line-height:1.6!important;
  color:#555!important;
}

@media (max-width:860px){
  .how__steps,
  #setores .val,
  #valor > .vm,
  #beneficios > .vm,
  #compromisso .val{grid-template-columns:1fr!important}
}

#top nav .langs{display:inline-flex;align-items:center;align-self:center;gap:0;margin-left:0;white-space:nowrap;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;font-weight:400;letter-spacing:.02em;line-height:1;color:#9A9B98;text-transform:none}
#top nav .langs a{padding:0!important;border-radius:0!important;background:transparent!important;color:#9A9B98!important;font-family:'IBM Plex Mono',ui-monospace,monospace!important;font-size:11px!important;font-weight:400!important;letter-spacing:.02em!important;line-height:1!important}
#top nav .langs a.on,#top nav .langs a[aria-current="true"]{color:#0A0A0A!important}
#top nav .langs a:hover,#top nav .langs a:focus-visible{color:#0A0A0A!important;background:transparent!important}
#top.dark nav .langs{color:#8a8b88}
#top.dark nav .langs a{color:#8a8b88!important}
#top.dark nav .langs a.on,#top.dark nav .langs a[aria-current="true"],#top.dark nav .langs a:hover,#top.dark nav .langs a:focus-visible{color:#fff!important;background:transparent!important}
@media (max-width:860px){#top nav .langs{margin-left:6px}}
