/* Base: element defaults only, all values from tokens.css. */
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--mx-white);
  color: var(--mx-ink);
  font-family: var(--mx-font-ui);
  font-size: var(--mx-text-base);
  line-height: var(--mx-leading);
}
h1, h2, h3, h4 { font-family: var(--mx-font-display); font-weight: 500; color: var(--mx-forest); margin: 0; }
a { color: var(--mx-leaf-dark); }
a:hover { color: var(--mx-forest); }
img { max-width: 100%; height: auto; }
:focus-visible { outline: var(--mx-focus); outline-offset: 2px; }
.mx-container { max-width: var(--mx-container); margin: 0 auto; padding-inline: var(--mx-gutter); }

/* Page sections */
.mx-section { padding-top: var(--mx-space-18); }
.mx-section--last { padding-bottom: 96px; }
.mx-section__head {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;
	gap: var(--mx-space-4);
	margin-bottom: 28px;
}
.mx-section__title { font-size: var(--mx-h2); line-height: 1.15; }
.mx-section__link { font-size: var(--mx-text-base); font-weight: 600; }
.mx-split { display: flex; flex-wrap: wrap; gap: var(--mx-space-12); }
.mx-split > * { flex: 1 1 460px; min-width: 0; }
.mx-prose { display: flex; flex-direction: column; gap: var(--mx-space-4); }
.mx-prose p { margin: 0; font-size: 17px; line-height: 1.65; color: var(--mx-ink-soft); max-width: 36em; }
.mx-latin { font-family: var(--mx-font-display); font-style: italic; }
.mx-num { font-variant-numeric: tabular-nums; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
