@font-face {
font-family: "Source Sans 3";
src: url("/fonts/source-sans-3-normal.woff2") format("woff2");
font-weight: 300 700;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: "Source Sans 3";
src: url("/fonts/source-sans-3-italic.woff2") format("woff2");
font-weight: 300 700;
font-style: italic;
font-display: swap;
}
@font-face {
font-family: "Source Code Pro";
src: url("/fonts/source-code-pro-normal.woff2") format("woff2");
font-weight: 400;
font-style: normal;
font-display: swap;
}
.visually-hidden {
position: absolute !important;
width: 1px; height: 1px;
margin: -1px; padding: 0;
overflow: hidden;
clip: rect(0 0 0 0);
white-space: nowrap;
border: 0;
}
body { display: flex; flex-direction: column; min-height: 100vh; }
body > .rg-container { width: 100%; }
body > main { flex: 1 0 auto; overflow-wrap: break-word; } 
.page-header { padding-block: var(--rg-space-7) var(--rg-space-5); }
.page-header h1 { max-width: 24ch; }
.page-header .rg-eyebrow { margin-bottom: var(--rg-space-3); }
.page-header:not(:has(> .rg-eyebrow)) { padding-top: calc(var(--rg-space-7) + 1.4 * var(--rg-text-label) + var(--rg-space-3)); }
.page-logo { margin: var(--rg-space-6) 0 0; }
.page-logo img { display: block; box-sizing: content-box; max-height: 4rem; width: auto; }
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) .page-logo img { background: var(--rg-neutral-0); }
}
:root[data-theme="dark"] .page-logo img { background: var(--rg-neutral-0); }
.page-header .figure { margin: var(--rg-space-6) 0 0; }
.page-intro { padding-bottom: var(--rg-space-7); }
.page-intro > :last-child { margin-bottom: 0; }
.page-aside { padding-bottom: var(--rg-space-7); }
.page-aside__title { margin: 0 0 var(--rg-space-4); }
.page-aside > :last-child { margin-bottom: 0; }
.page-aside .rg-person { max-width: 28rem; margin-bottom: var(--rg-space-5); }
.page-aside .rg-node-list { margin-bottom: 0; }
.page-aside--figure .figure { margin: 0; }
@media (min-width: 1024px) {
.page-top--side { display: grid; grid-template-columns: minmax(0, var(--rg-prose-max)) minmax(0, 1fr); column-gap: var(--rg-space-8); align-items: start; }
.page-top--side > .page-aside { padding-top: var(--rg-space-7); }
.page-top--side > .page-aside--figure { padding-top: calc(var(--rg-space-7) + 1.4 * var(--rg-text-label) + var(--rg-space-3)); }
.page-top--side .page-aside .rg-person { max-width: none; }
}
.page--home .rg-hero { padding-block: clamp(3rem, 2rem + 4vw, 6rem) var(--rg-space-8); }
.page--home .rg-display { max-width: 16ch; }
.hero-mission { max-width: var(--rg-prose-max); margin: 0 0 var(--rg-space-5); }
.hero-text > :last-child { margin-bottom: 0; }
.page--home .rg-hero .figure { margin: var(--rg-space-7) 0 0; }
@media (min-width: 1024px) {
.page--home .rg-hero { display: grid; grid-template-columns: minmax(0, var(--rg-prose-max)) minmax(0, 1fr); column-gap: var(--rg-space-8); align-items: center; }
.page--home .rg-hero .figure { margin: 0; }
}
.page--home .rg-hero .figure--graph svg { max-width: 36rem; margin-inline: auto; }
.page--home .rg-hero .figure--graph figcaption { margin-inline: auto; max-width: 36rem; }
@media (max-width: 1023px) {
.page--home .rg-hero .figure--graph svg, .page--home .rg-hero .figure--graph figcaption { margin-inline: 0; }
}
.page-section, .page-end { padding-block: var(--rg-space-7); }
.page-section h2 { max-width: var(--rg-prose-max); }
.page-section > :last-child { margin-bottom: 0; }
.page-section > h3, .section-block > h3 { margin-top: var(--rg-space-6); }
@media (min-width: 1024px) {
.section--split { display: grid; grid-template-columns: minmax(0, var(--rg-prose-max)) minmax(0, 1fr); column-gap: var(--rg-space-8); align-items: start; }
.section--split > * { grid-column: 1; }
.section--split > .rg-marker, .section--split > .rg-cards, .section--split > .rg-people,
.section--split > .table-wrap, .section--split > .figure, .section--split > .logo-row,
.section--split > .rg-stats { grid-column: 1 / -1; }
.section--split > .figure--portrait { grid-column: 1; }
.section--split > .section-aside { grid-column: 2; grid-row: 2 / span 40; margin: 0; }
.section--split > .figure--graph.section-aside svg { margin-inline: auto; }
.section--split > .rg-stats.section-aside { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); }
.section-block.section--split > .section-aside { grid-row: 1 / span 40; margin-top: var(--rg-space-6); }
}
@media (min-width: 1024px) {
.section--split > .logo-row.section-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
.section-pair { display: grid; grid-template-columns: minmax(0, var(--rg-prose-max)) minmax(0, 1fr); column-gap: var(--rg-space-8); align-items: start; }
}
.figure--graph svg { display: block; width: 100%; max-width: 26rem; height: auto; }
.figure { margin: var(--rg-space-5) 0; }
.figure img { display: block; max-width: 100%; height: auto; }
.figure--diagram img { max-width: min(100%, 34rem); }
.figure--picture img { max-width: min(100%, 45rem); }
.figure--portrait img { max-width: min(100%, 18rem); }
.section-aside.figure--square img { max-width: min(100%, 32rem); }
.figure figcaption { margin-top: var(--rg-space-3); max-width: var(--rg-prose-max); color: var(--rg-color-text-muted); font-size: var(--rg-text-small); }
@media (max-width: 767px) {
.figure--chart { overflow-x: auto; }
.figure--chart img { min-width: 36rem; }
}
.rg-stats { max-width: 60rem; }
.table-wrap { width: fit-content; max-width: min(100%, 60rem); }
.rg-card .rg-entity-legend { margin-top: auto; padding-top: var(--rg-space-2); }
.rg-stats { margin-block: var(--rg-space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 7.5rem), 1fr)); }
.page-aside .rg-stats { margin-top: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 1024px) and (max-width: 1279px) {
.page-top--side .page-aside .rg-stats { grid-template-columns: minmax(0, 1fr); }
}
.rg-people { margin-top: var(--rg-space-6); }
.object-cards { margin-top: var(--rg-space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); }
.object-cards p { font-size: var(--rg-text-small); }
.page-section > .rg-person { margin-bottom: var(--rg-space-5); max-width: 32rem; }
.entry-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--rg-space-6) var(--rg-space-7); margin: var(--rg-space-5) 0 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .entry-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.entry { max-width: none; margin: 0; padding-top: var(--rg-space-4); border-top: 1px solid var(--rg-color-text); font-size: var(--rg-text-small); }
.entry > span { display: block; }
.entry__authors { color: var(--rg-color-text-muted); }
.entry__title { margin-block: var(--rg-space-2); font-size: var(--rg-text-body); font-weight: var(--rg-weight-semibold); line-height: var(--rg-leading-heading); }
.logo-row {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--rg-space-6) var(--rg-space-5);
align-items: center;
margin: var(--rg-space-6) 0 0;
padding: 0;
list-style: none;
}
.logo-row > li { display: flex; align-items: center; justify-content: flex-start; min-width: 0; }
.logo-row img { display: block; height: clamp(2rem, 4.5rem / sqrt(var(--logo-shape, 2)), 3.5rem); width: auto; max-width: 100%; object-fit: contain; }
.logo-row .logo--block img { height: 3rem; }
@media (min-width: 600px) { .logo-row { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 767px) {
.logo-row img { height: clamp(1.5rem, 3.5rem / sqrt(var(--logo-shape, 2)), 3rem); }
.logo-row .logo--block img { height: 2.5rem; }
}
.table-wrap { margin-block: var(--rg-space-5); }
.table-wrap table { min-width: 28rem; }
.rg-table caption { caption-side: bottom; padding-top: var(--rg-space-3); color: var(--rg-color-text-muted); font-size: var(--rg-text-small); text-align: left; }
.rg-table caption a { color: inherit; }
.rg-table td .rg-entity-tag { margin: 0 var(--rg-space-3) var(--rg-space-1) 0; }
.rg-table code { white-space: nowrap; }
.page-end p:not(.rg-marker) { max-width: var(--rg-prose-max); }
.signup-form { display: grid; gap: var(--rg-space-4); justify-items: start; margin-top: var(--rg-space-5); }
@media (min-width: 1024px) {
#subscribe { display: grid; grid-template-columns: minmax(0, var(--rg-prose-max)) minmax(0, 1fr); column-gap: var(--rg-space-8); align-items: start; }
#subscribe > * { grid-column: 1; }
#subscribe > .rg-marker { grid-column: 1 / -1; }
#subscribe > .signup-form { grid-column: 2; grid-row: 2 / span 2; margin-top: 0; }
}
.signup-form .rg-field { width: 100%; }
.signup-form .rg-notice { max-width: 32rem; }
.signup-form .rg-notice[hidden] { display: none; }
.contact-details p { margin-block: var(--rg-space-2); }
.site-footer { padding-block: var(--rg-space-7) var(--rg-space-5); }
.footer-grid {
display: grid;
gap: var(--rg-space-6);
grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}
.footer-logo { height: 32px; width: auto; }
.footer-tagline { margin-top: var(--rg-space-4); font-weight: var(--rg-weight-semibold); }
.footer-links { margin: 0; padding: 0; list-style: none; }
.footer-links li + li { margin-top: var(--rg-space-2); }
.footer-bottom { margin-top: var(--rg-space-6); font-size: var(--rg-text-small); }
.footer-bottom::before { content: ""; display: block; margin-bottom: var(--rg-space-4); border-top: 1px solid var(--rg-color-border); }
.footer-bottom p { margin-bottom: var(--rg-space-2); }
.footer-version { color: var(--rg-color-text-muted); font-variant-numeric: tabular-nums; }
