*,
*::after,
*::before {
  box-sizing: inherit;
}
* {
  font: inherit;
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
hr {
  margin: 0;
  padding: 0;
  border: 0;
}
html {
  box-sizing: border-box;
}
body {
  background-color: var(--color-bg, white);
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main,
form legend {
  display: block;
}
ol,
ul,
menu {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
button,
input,
textarea,
select {
  margin: 0;
}
.btn,
.form-control,
.link,
.reset {
  background-color: rgba(0, 0, 0, 0);
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  line-height: inherit;
  -webkit-appearance: none;
  appearance: none;
}
select.form-control::-ms-expand {
  display: none;
}
textarea {
  resize: vertical;
  overflow: auto;
  vertical-align: top;
}
input::-ms-clear {
  display: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img,
video,
svg {
  max-width: 100%;
}
[data-theme] {
  background-color: var(--color-bg, hsl(0deg, 0%, 100%));
  color: var(--color-contrast-high, hsl(210deg, 7%, 21%));
}
:root {
  --space-unit: 1rem;
}
:root,
* {
  --space-xxxxs: calc(0.125 * var(--space-unit));
  --space-xxxs: calc(0.25 * var(--space-unit));
  --space-xxs: calc(0.375 * var(--space-unit));
  --space-xs: calc(0.5 * var(--space-unit));
  --space-sm: calc(0.75 * var(--space-unit));
  --space-md: calc(1.25 * var(--space-unit));
  --space-lg: calc(2 * var(--space-unit));
  --space-xl: calc(3.25 * var(--space-unit));
  --space-xxl: calc(5.25 * var(--space-unit));
  --space-xxxl: calc(8.5 * var(--space-unit));
  --space-xxxxl: calc(13.75 * var(--space-unit));
  --component-padding: var(--space-md);
}
:root {
  --heading-line-height: 1.2;
  --body-line-height: 1.4;
}
body {
  font-size: var(--text-base-size, 1rem);
  font-family: var(--font-primary, sans-serif);
  color: var(--color-contrast-high, hsl(210deg, 7%, 21%));
  font-weight: var(--body-font-weight, normal);
}
h1,
h2,
h3,
h4 {
  color: var(--color-contrast-higher, hsl(204deg, 28%, 7%));
  line-height: var(--heading-line-height, 1.2);
  font-weight: var(--heading-font-weight, 700);
}
h1 {
  font-size: var(--text-xxl, 2rem);
}
h2 {
  font-size: var(--text-xl, 1.75rem);
}
h3 {
  font-size: var(--text-lg, 1.375rem);
}
h4 {
  font-size: var(--text-md, 1.125rem);
}
small {
  font-size: var(--text-sm, 0.75rem);
}
a,
.link {
  color: var(--color-primary, hsl(250deg, 84%, 54%));
  text-decoration: underline;
}
strong {
  font-weight: bold;
}
s {
  text-decoration: line-through;
}
u {
  text-decoration: underline;
}
.text-component h1,
.text-component h2,
.text-component h3,
.text-component h4 {
  line-height: calc(
    var(--heading-line-height) * var(--line-height-multiplier, 1)
  );
  margin-bottom: calc(
    var(--space-unit) * 0.3125 * var(--text-space-y-multiplier, 1)
  );
}
.text-component h2,
.text-component h3,
.text-component h4 {
  margin-top: calc(
    var(--space-unit) * 0.9375 * var(--text-space-y-multiplier, 1)
  );
}
.text-component p,
.text-component blockquote,
.text-component ul li,
.text-component ol li {
  line-height: calc(var(--body-line-height) * var(--line-height-multiplier, 1));
}
.text-component ul,
.text-component ol,
.text-component p,
.text-component blockquote,
.text-component .text-component__block {
  margin-bottom: calc(
    var(--space-unit) * 0.9375 * var(--text-space-y-multiplier, 1)
  );
}
.text-component ul,
.text-component ol {
  list-style-position: inside;
}
.text-component ul ul,
.text-component ul ol,
.text-component ol ul,
.text-component ol ol {
  padding-left: 1em;
  margin-bottom: 0;
}
.text-component ul {
  list-style-type: disc;
}
.text-component ol {
  list-style-type: decimal;
}
.text-component img {
  display: block;
  margin: 0 auto;
}
.text-component figcaption {
  text-align: center;
  margin-top: calc(var(--space-unit) * 0.5);
}
.text-component em {
  font-style: italic;
}
.text-component hr {
  margin-top: calc(
    var(--space-unit) * 1.875 * var(--text-space-y-multiplier, 1)
  );
  margin-bottom: calc(
    var(--space-unit) * 1.875 * var(--text-space-y-multiplier, 1)
  );
  margin-left: auto;
  margin-right: auto;
}
.text-component > *:first-child {
  margin-top: 0;
}
.text-component > *:last-child {
  margin-bottom: 0;
}
.text-component__block--full-width {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media (min-width: 48rem) {
  .text-component__block--left,
  .text-component__block--right {
    width: 45%;
  }
  .text-component__block--left img,
  .text-component__block--right img {
    width: 100%;
  }
  .text-component__block--left {
    float: left;
    margin-right: calc(
      var(--space-unit) * 0.9375 * var(--text-space-y-multiplier, 1)
    );
  }
  .text-component__block--right {
    float: right;
    margin-left: calc(
      var(--space-unit) * 0.9375 * var(--text-space-y-multiplier, 1)
    );
  }
}
@media (min-width: 90rem) {
  .text-component__block--outset {
    width: calc(100% + 10.5 * var(--space-unit));
  }
  .text-component__block--outset img {
    width: 100%;
  }
  .text-component__block--outset:not(.text-component__block--right) {
    margin-left: calc(-5.25 * var(--space-unit));
  }
  .text-component__block--left,
  .text-component__block--right {
    width: 50%;
  }
  .text-component__block--right.text-component__block--outset {
    margin-right: calc(-5.25 * var(--space-unit));
  }
}
.btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  text-decoration: none;
  font-size: var(--btn-font-size, 1em);
  padding-top: var(--btn-padding-y, 0.5em);
  padding-bottom: var(--btn-padding-y, 0.5em);
  padding-left: var(--btn-padding-x, 0.75em);
  padding-right: var(--btn-padding-x, 0.75em);
  border-radius: var(--btn-radius, 0.25em);
}
.btn--sm {
  font-size: var(--btn-font-size-sm, 0.8em);
}
.btn--md {
  font-size: var(--btn-font-size-md, 1.2em);
}
.btn--lg {
  font-size: var(--btn-font-size-lg, 1.4em);
}
.btn--icon {
  padding: var(--btn-padding-y, 0.5em);
}
.form-control {
  font-size: var(--form-control-font-size, 1em);
  padding-top: var(--form-control-padding-y, 0.5em);
  padding-bottom: var(--form-control-padding-y, 0.5em);
  padding-left: var(--form-control-padding-x, 0.75em);
  padding-right: var(--form-control-padding-x, 0.75em);
  border-radius: var(--form-control-radius, 0.25em);
}
.form-legend {
  color: var(--color-contrast-higher, hsl(204deg, 28%, 7%));
  line-height: var(--heading-line-height, 1.2);
  font-size: var(--text-md, 1.125rem);
  margin-bottom: var(--space-sm);
}
.form-label {
  display: inline-block;
  font-size: var(--text-sm, 0.75rem);
}
:root {
  --radius: 0.375em;
}
