/* Reset e elementos básicos. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: var(--fs-base);
}
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .7; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; }
[hidden] { display: none !important; }
::selection { background: #f7de80; color: var(--navy-deep); }

:focus-visible { outline: 3px solid #7895b3; outline-offset: 2px; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #c5cdd5; border-radius: var(--radius-pill); }
::-webkit-scrollbar-track { background: #f4f5f6; }

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