/* S/A Comunicação — Typography normalize
   Stack única: Bricolage Grotesque (sans) + Instrument Serif (italic only).
   Sobrescreve --f-mono dos 3 themes para herdar Bricolage,
   mantendo apenas tracking/peso para diferenciar labels técnicas. */

:root {
  --f-mono: "Bricolage Grotesque", system-ui, -apple-system, sans-serif !important;
}

/* Labels técnicas (kicker, mono, foot-h, sig-label, srv-n, etc) — herdam Bricolage */
.mono,
.kicker,
.figures-kicker,
.cities-kicker,
.foot-h,
.cl-label,
.action-tag,
.srv-n,
.sig-label,
.bio .role,
.lab,
.ai-card-h .mono,
.iprex-legend,
.ai-bars div {
  font-family: "Bricolage Grotesque", system-ui, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
}

/* Kicker do hero / chamadas top — maior e mais presente */
.kicker, .figures-kicker, .cities-kicker {
  font-size: clamp(13px, 1vw, 15px) !important;
  letter-spacing: .22em !important;
}
.action-tag, .bio .role { font-size: clamp(12px, .9vw, 14px) !important; }

/* Footer bottom (ano + versão) */
.foot-bot {
  font-family: "Bricolage Grotesque", system-ui, sans-serif !important;
  letter-spacing: .04em;
}

/* Form labels */
.form label {
  font-family: "Bricolage Grotesque", system-ui, sans-serif !important;
}

/* Lang buttons */
.lang button {
  font-family: "Bricolage Grotesque", system-ui, sans-serif !important;
  font-weight: 500 !important;
}

/* Body base — fonte um toque maior pra leitura confortável */
html { font-size: 17.5px; }
@media (max-width: 720px) { html { font-size: 16.5px; } }
body { font-size: 1rem; }

/* Section heads / Row heads — capítulos com destaque editorial
   Aplica nas 3 versões. Sobrescreve regras anteriores. */
.section-head, .row-head, .action-head .row-head {
  display: flex !important;
  align-items: baseline !important;
  gap: clamp(20px, 2vw, 32px) !important;
  margin-bottom: clamp(28px, 3vw, 44px) !important;
  padding-bottom: clamp(20px, 2vw, 28px) !important;
  border-bottom: 1px solid #e8e8ec;
}
.section-head .num,
.row-head .num {
  font-family: "Instrument Serif", "Times New Roman", serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(36px, 3.4vw, 56px) !important;
  line-height: 1 !important;
  color: #1AABCB !important;
  letter-spacing: -.02em !important;
  flex-shrink: 0;
}
.section-head .kicker,
.row-head .kicker {
  font-family: "Bricolage Grotesque", system-ui, sans-serif !important;
  font-size: clamp(15px, 1.2vw, 18px) !important;
  font-weight: 500 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: #2c2c30 !important;
  margin: 0 !important;
  display: inline-flex; align-items: center; gap: 14px;
}
.section-head .kicker::before,
.row-head .kicker::before {
  content: "" !important;
  width: 40px; height: 1px;
  background: #1AABCB;
  display: inline-block;
}
/* Sobre fundo escuro (.network) — ajuste cromático */
.section-head.light, .row-head.light {
  border-bottom-color: rgba(255,255,255,.18);
}
.section-head.light .num, .row-head.light .num {
  color: #1AABCB !important;
}
.section-head.light .kicker, .row-head.light .kicker {
  color: rgba(255,255,255,.85) !important;
}
.section-head.light .kicker::before, .row-head.light .kicker::before {
  background: #1AABCB;
}

/* Universal text wrap — fluidez de leitura, evita órfãos */
h1, h2, h3, h4, h5, h6,
.display, .h-display, .kinetic,
.action-card h3, .careers-points strong, .markets li,
.bio h3 {
  text-wrap: balance;
  hyphens: none;
}
p, .paragraph, .lead, .bio p, .srv p, .srv-card p, .pill p,
.quad-cell p, .chega p, .action-card p, .dot-list li,
.action-content p, .careers-points span, .figures span {
  text-wrap: pretty;
  hyphens: none;
  word-break: normal;
  overflow-wrap: break-word;
}
