/* Nort Company — reset mínimo e padrões de documento. */
*, *::before, *::after { box-sizing: border-box }
html { -webkit-text-size-adjust: 100% }
body {
  margin: 0;
  background: var(--surface-app);
  color: var(--text-body);
  font: var(--fw-regular) var(--fs-body) / var(--lh-normal) var(--font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6 { margin: 0; color: var(--text-strong); font-weight: var(--fw-semibold); letter-spacing: var(--ls-heading); line-height: var(--lh-snug) }
p { margin: 0 0 var(--space-4); text-wrap: pretty }
a { color: var(--text-link); text-decoration: none; transition: color var(--dur-fast) var(--ease-out) }
a:hover { color: var(--text-link-hover); text-decoration: underline; text-underline-offset: 2px }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: none; box-shadow: var(--ring-focus) }
button, input, select, textarea { font: inherit; color: inherit }
table { border-collapse: collapse; width: 100% }
th { text-align: left; font-weight: var(--fw-semibold) }
::selection { background: var(--support-200); color: var(--primary-900) }
[data-numeric], .nort-tnum { font-feature-settings: var(--num-tabular) }
::-webkit-scrollbar { width: 10px; height: 10px }
::-webkit-scrollbar-thumb { background: var(--n-300); border: 3px solid transparent; background-clip: content-box; border-radius: var(--radius-pill) }
::-webkit-scrollbar-thumb:hover { background: var(--n-400); background-clip: content-box }
::-webkit-scrollbar-track { background: transparent }
@keyframes nort-fade { from { opacity: 0 } to { opacity: 1 } }
@keyframes nort-rise { from { opacity: 0; transform: translateY(6px) } to { opacity: 1; transform: translateY(0) } }
@keyframes nort-spin { to { transform: rotate(360deg) } }
