*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; background: var(--theme-body-gradient, var(--theme-bg, #070b14)); scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 20px); }
body, h1, h2, h3, p, ol { margin: 0; }
body { min-width: 320px; min-height: 100vh; min-height: 100dvh; background: var(--theme-body-gradient, var(--theme-bg, #070b14)); }
#main-content { min-height: 100vh; min-height: 100dvh; }
@supports (-webkit-touch-callout: none) {
  html,
  body,
  #main-content { min-height: -webkit-fill-available; }
}
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
ol { padding: 0; list-style: none; }
[hidden] { display: none !important; }
dialog { padding: 0; }
:focus-visible { outline: 3px solid var(--color-gold-primary); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; z-index: 9999; top: auto; left: -9999px; width: 1px; height: 1px; padding: 0; overflow: hidden; border-radius: 8px; background: var(--color-electric-blue-light); color: var(--color-bg-primary); font-weight: 800; white-space: nowrap; }
.skip-link:focus, .skip-link:focus-visible { top: 16px; left: 16px; width: auto; height: auto; padding: 10px 14px; overflow: visible; }
