/* One reading font, with monospace reserved for short labels and figures. */
:root {
  --font-reading: 'Plus Jakarta Sans', sans-serif;
  --font-detail: 'JetBrains Mono', monospace;
}
body { font-family: var(--font-reading); }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-reading);
  line-height: 1.2;
  text-wrap: balance;
}
section p, footer p { line-height: 1.65; text-wrap: pretty; }
section p[class~="text-sm"], footer p[class~="text-sm"] { font-size: 1rem; }
section figcaption, #parceiros .image-note { font-size: .875rem !important; line-height: 1.45; }

/* Service and responsibility cards use the same body scale. */
#escopo .glass-card-interactive { min-width: 0; }
#escopo .glass-card-interactive > p,
#escopo .glass-card-interactive li { text-align: left; }
#escopo ul,
#modelo ul,
#operacao .space-y-3\.5 {
  font-family: var(--font-reading);
  font-size: 1rem;
  line-height: 1.6;
}
#escopo ul li { align-items: flex-start; gap: .75rem; }
#escopo ul li > span:first-child { flex: none; margin-top: .65em; }
#operacao .space-y-3\.5 > div > span:first-child { flex: none; line-height: 1.6; }
#operacao h3, #escopo h3 { line-height: 1.3; }
#operacao .flex.items-center > div:last-child,
#escopo .flex.items-center > div:last-child { min-width: 0; }

/* Partner cards keep short technical labels, but descriptions read as prose. */
#parceiros .partner-card { overflow-wrap: anywhere; }
#parceiros .partner-card p {
  font-family: var(--font-reading);
  font-size: .875rem;
  line-height: 1.5;
}
#parceiros .partner-card [class~="text-[10px]"],
#parceiros .partner-card [class~="text-[11px]"] { font-size: .75rem; }
#parceiros .partner-card [class~="text-xs"] { font-size: .8125rem; }
#parceiros .partner-card h3 { line-height: 1.3; }

/* Small information blocks share one legible secondary scale. */
section [class~="text-[10px]"],
section [class~="text-[11px]"] { font-size: .75rem; }
#escopo [class~="text-[10px]"] { font-size: .75rem; }
#simulador [class~="text-xs"],
#simulador #regraTexto { font-size: .875rem; line-height: 1.5; }
#simulador .grid.grid-cols-1 > div > div:first-child { font-size: .875rem; }
#simulador .grid.grid-cols-1 > div > div:last-child { font-size: .75rem; line-height: 1.4; }
#simulador .p-3.bg-zinc-900 { font-family: var(--font-reading); }

#aplicacao label:not(.theme-switch) { font-size: .875rem; line-height: 1.4; }
#aplicacao input:not([type="hidden"]), #aplicacao select {
  font-family: var(--font-reading);
  font-size: 1rem;
}
footer ul { font-family: var(--font-reading); font-size: .875rem; line-height: 1.55; }

@media (max-width: 640px) {
  #simulador .flex.justify-between { gap: .75rem; }
  #simulador #faturamentoLabel { text-align: right; }
  #parceiros .partner-card { width: min(340px, calc(100vw - 3rem)); }
  #escopo .glass-card-interactive, #operacao .grid > div { padding: 1.5rem; }
  #aplicacao .grid > div { min-width: 0; }
}
