*, *::before, *::after { box-sizing: border-box; }
body, h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd { margin: 0; padding: 0; }
ul[role="list"], ol[role="list"] { list-style: none; }
html { scroll-behavior: smooth; }
body { min-height: 100vh; line-height: 1.5; text-rendering: optimizeSpeed; }
img, picture, video, canvas, svg { display: block; max-width: 100%; }
input, button, textarea, select { font: inherit; }
a { text-decoration: none; color: inherit; }

/* Anchor scroll offset for fixed nav */
section[id] { scroll-margin-top: 5rem; }

::selection { background: rgba(0, 123, 255, 0.35); color: #fff; }
