/* Base document styles, accessibility and content sections */
* { box-sizing: border-box; }
html { min-width: 320px; width: 100%; margin: 0; scroll-behavior: smooth; background: var(--color-night); scroll-padding-top: 5rem; }
body { width: 100%; min-width: 320px; min-height: 100vh; margin: 0; color: var(--color-text); background: var(--color-night); line-height: 1.6; }
a { color: inherit; }
a:focus-visible { outline: 3px solid var(--color-sky); outline-offset: 4px; border-radius: .35rem; }
:where(button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid #d5f6ff; outline-offset: 3px; }
:where(button, input, select, textarea):disabled { cursor: not-allowed; }
@media (forced-colors: active) {
  :where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid Highlight; outline-offset: 3px; }
  .skip-link { color: ButtonText; background: ButtonFace; border: 1px solid ButtonText; }
}
button, input, select, textarea { font: inherit; }
::selection { color: #031629; background: #a8eaff; }
.skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; padding: .65rem 1rem; color: #031629; background: #b9edff; border-radius: .5rem; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.content-section { width: min(100% - 3rem, var(--content-width)); margin-inline: auto; padding: clamp(3rem, 8vw, 6rem) 0; border-bottom: 1px solid rgb(164 226 255 / 14%); scroll-margin-top: 2rem; }
.section-kicker { margin: 0 0 .5rem; color: #81dcff; font-size: .72rem; font-weight: 700; letter-spacing: .2em; }
.content-section h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.1; }
.content-section > p:not(.section-kicker) { max-width: 52rem; color: var(--color-muted); }
.section-links { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.5rem; }
.section-links a { padding: .7rem 1rem; border: 1px solid var(--glass-border); border-radius: .7rem; background: rgb(18 65 99 / 45%); text-decoration: none; }
.section-links a span { margin-left: .7rem; color: var(--color-sky); }
.site-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; width: min(100% - 3rem, var(--content-width)); margin: 0 auto; padding: 1.5rem 0 2rem; color: var(--color-muted); font-size: .85rem; }
.site-footer p { margin: 0; }
.footer-brand { color: white; font-weight: 700; letter-spacing: .12em; text-decoration: none; }
.visually-hidden, .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
