@font-face {
  font-family: "Source Sans";
  src: url("assets/source-sans-3-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 650;
  font-display: swap;
}
:root {
  color-scheme: light;
  --ink: #182830;
  --body: #34454c;
  --muted: #546770;
  --link: #215d77;
  --rule: #d3dfe3;
  --wash: #f3f7f8;
  --width: 1030px;
  --display: "Source Sans", "Segoe UI", Arial, sans-serif;
  font-family: "Source Sans", "Segoe UI", Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 18px; }
body { margin: 0; color: var(--body); background: #fff; font-size: 17px; line-height: 1.52; font-weight: 415; }
h1, h2, h3, p, ul, ol, figure { margin: 0; }
h1, h2, h3 { font-family: var(--display); color: var(--ink); }
a, summary { color: var(--link); }
a { text-decoration: none; }
a:hover, summary:hover { text-decoration: underline; text-underline-offset: 3px; }
a:focus-visible, summary:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--link); outline-offset: 4px; border-radius: 2px; }
::selection { background: #dcecf1; color: var(--ink); }
.sr-only, .skip:not(:focus) { position: absolute; height: 1px; width: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip:focus { position: fixed; z-index: 6; left: 12px; top: 10px; background: #fff; padding: 6px 12px; }
.page-width { width: min(var(--width), calc(100% - clamp(40px,10vw,144px))); margin-inline: auto; }
[hidden] { display: none !important; }
@media (max-width: 650px) {
  .page-width { width: calc(100% - 36px); }
}
@media print {
  .skip { display: none; }
  .page-width { width: 100%; }
}
