/* Forge engine: reset. Brand-free; no colour, size or font values live here. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; tab-size: 4; scroll-padding-top: calc(var(--nav-h, 64px) + 1rem); }
body { margin: 0; min-height: 100vh; }
h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd { margin: 0; }
:where(ol[class], ul[class]) { list-style: none; margin: 0; padding: 0; }
img, picture, video, canvas, svg { display: block; max-width: 100%; }
img, video { height: auto; }
input, button, textarea, select { font: inherit; color: inherit; letter-spacing: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
a { color: inherit; text-decoration-skip-ink: auto; }
table { border-collapse: collapse; border-spacing: 0; }
summary { cursor: pointer; }
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
:where(h1, h2, h3, h4, p, li, dd) { overflow-wrap: break-word; }
/* The hidden attribute always wins: a display rule must never resurrect a
   hidden panel, buy bar or notice. */
[hidden] { display: none !important; }
