*:not(iframe) {
  all: unset;
  display: block;
  box-sizing: border-box;
}
html {
  /**
	 * The palette is constructed in the oklhc space and is based on a tetradic color harmony.
	 * Only normal (i.e. not p3 or rec2020) colors are used. https://oklch.com is used to determine
	 * the most intense colors
	 * The included colors are the following.
	 * - blue: oklch(42.61% 0.235 263.74). The most intense blue is oklch(50.41% 0.254 263.74)
	 * - green: oklch(42.61% 0.235 173.74). The most intense green is oklch(88.94% 0.167 173.74)
	 * - orange: oklch(42.61% 0.235 83.74). The most intense orange is oklch(83.65% 0.17 83.74)
	 * - magenta: oklch(42.61% 0.235 353.74). The most intense magenta is oklch(65.41% 0.266 353.74)
	 * Below the included colors at different levels of lightness are reported.
	 * The reported colors converted to rgb and normalized to exclude p3 and rec2020 colors
	 */
  --blue0: #000000;
  --blue10: #000116;
  --blue20: #000b47;
  --blue30: #001c7f;
  --blue40: #002ebb;
  --blue42: #0033cc;
  --blue50: #0041fc;
  --blue60: #3974ff;
  --blue70: #6b9bff;
  --blue80: #9dbdff;
  --blue90: #cedfff;
  --blue95: #e6efff;
  --blue97: #f0f5ff;
  --blue100: #ffffff;
  --green0: #000000;
  --green10: #000503;
  --green20: #001b15;
  --green30: #00372b;
  --green40: #005544;
  --green50: #00745f;
  --green60: #00967b;
  --green70: #00b998;
  --green80: #00ddb6;
  --green89: #1afed2;
  --green90: #49ffd6;
  --green100: #ffffff;
  --orange0: #000000;
  --orange10: #060300;
  --orange20: #1f1400;
  --orange30: #3c2a00;
  --orange40: #5d4300;
  --orange50: #7f5d00;
  --orange60: #a37800;
  --orange70: #c89500;
  --orange80: #efb300;
  --orange84: #fdbe0e;
  --orange90: #ffd98c;
  --orange100: #ffffff;
  --magenta0: #000000;
  --magenta10: #0c0004;
  --magenta20: #2f0019;
  --magenta30: #570032;
  --magenta40: #83004e;
  --magenta50: #b2006c;
  --magenta60: #df1c8a;
  --magenta65: #fe0d9c;
  --magenta70: #ff52a8;
  --magenta80: #ff99c4;
  --magenta90: #ffcee1;
  --magenta100: #ffffff;
  /**
	 * The scale is based on https://spencermortensen.com/articles/typographic-scale/
	 * In the mobile case the font size of an h1 is two times the font size of the body
	 * and the ratio of the progression should be 1.2599920
	 */
  --fontSizeScaleNotes: 3;
  --fontSizeScaleRatio: 2.25;
  --fontSize1: calc(max(round(nearest, 1rem * pow(var(--fontSizeScaleRatio), -1 / var(--fontSizeScaleNotes)), 0.1rem), 0.8rem));
  --fontSize2: calc(round(nearest, 1rem * pow(var(--fontSizeScaleRatio), 0 / var(--fontSizeScaleNotes)), 0.1rem));
  --fontSize3: calc(round(nearest, 1rem * pow(var(--fontSizeScaleRatio), 1 / var(--fontSizeScaleNotes)), 0.1rem));
  --fontSize4: calc(round(nearest, 1rem * pow(var(--fontSizeScaleRatio), 2 / var(--fontSizeScaleNotes)), 0.1rem));
  --fontSize5: calc(round(nearest, 1rem * pow(var(--fontSizeScaleRatio), 3 / var(--fontSizeScaleNotes)), 0.1rem));
  --lineHeight: 1.4rem;
  /* --- */
  --borderWidth: calc(var(--lineHeight) * 0.1);
  /* It should be * 0.125 */
  --borderRadius: calc(2 * var(--borderWidth));
  --neutral1: var(--blue10);
  /* It should be blue0 */
  --neutral2: var(--blue20);
  --neutral3: var(--blue40);
  --neutralReversed1: var(--blue100);
  --neutralReversed2: var(--blue90);
  --neutralReversed3: var(--blue80);
  --firstAccent1: var(--blue30);
  --firstAccent2: var(--blue42);
  --firstAccentReversed1: var(--blue90);
  --firstAccentReversed2: var(--blue90);
  --secondAccent1: var(--green89);
  --secondAccentReversed1: var(--green80);
  --fullWidth: calc(var(--vw, 1vw) * 100);
  --width: var(--fullWidth);
  background: var(--neutral2);
  color: var(--neutralReversed2);
  /* The line height is set using an absolute unit, so it does not scale with the current font size */
  font: normal 1.0625em/var(--lineHeight) 'Nunito Sans', 'Segoe Ui', Segoe, Tahoma, Geneva, sans-serif;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--lineHeight) * 3);
  text-rendering: optimizeLegibility;
}
head {
  display: none;
}
a {
  cursor: pointer;
  display: inline;
  position: relative;
  text-decoration: underline;
  text-decoration-color: var(--secondAccent1);
  /* color-mix(in srgb, var(--secondAccent1), 50% transparent); */
  text-decoration-thickness: calc(var(--borderWidth) * 0.5);
  text-underline-offset: var(--borderWidth);
}
button {
  cursor: pointer;
}
em {
  display: inline;
  font-style: italic;
}
img {
  display: inline-block;
  max-height: 100%;
  max-width: 100%;
}
fieldset {
  display: flex;
  flex-wrap: wrap;
}
label {
  border-bottom: var(--borderWidth) solid var(--neutral3);
  flex: 1 1 calc(100% - var(--lineHeight));
  margin: calc(var(--lineHeight) * 0.25) calc(var(--lineHeight) * 0.5);
  margin-bottom: calc(-1 * var(--borderWidth));
  padding: calc(var(--lineHeight) * 0.25) 0;
}
label span {
  font-size: var(--fontSize1);
  text-transform: uppercase;
}
input,
textarea {
  width: 100%;
}
textarea {
  height: 6rem;
}
label:has(input[name=email]) {
  left: -100vw;
  position: fixed;
  top: -100vh;
}
form p {
  font-size: var(--fontSize1);
}
p {
  padding: calc(var(--lineHeight) * 0.5);
}
span {
  display: inline;
}
strong {
  color: var(--firstAccentReversed2);
  display: inline;
  font-weight: 600;
}
ul {
  padding: calc(var(--lineHeight) * 0.5);
}
.button {
  background: var(--secondAccent1);
  border-radius: var(--borderRadius);
  color: var(--neutral1);
  cursor: pointer;
  display: inline-block;
  font-size: var(--fontSize1);
  font-weight: 600;
  margin: calc(var(--lineHeight) * 0.25) 0;
  padding: calc(var(--lineHeight) * 0.25) calc(var(--lineHeight) * 0.5);
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 0.5s;
}
.button:before {
  content: none;
}
.button:hover {
  transform: scale(1.1);
}
.button + .button {
  margin-left: calc(var(--lineHeight) * 0.5);
}
.button--secondary {
  background: transparent;
  border: var(--borderWidth) solid var(--secondAccent1);
  color: inherit;
  padding: calc(var(--lineHeight) * 0.25 - var(--borderWidth)) calc(var(--lineHeight) * 0.5 - var(--borderWidth));
}
.button--tertiary {
  background: transparent;
  color: inherit;
}
.button--cta {
  font-size: 1rem;
  padding: calc(var(--lineHeight) * 0.75) var(--lineHeight);
  width: 100%;
}
.buttons {
  display: flex;
  gap: calc(var(--lineHeight) * 0.5);
}
.buttons .button + .button {
  margin-left: 0;
}
.buttons > .button {
  flex: 1 0 0;
}
.intersecable {
  transition: transform 0.5s;
}
.intersecable--separated {
  transform: translateX(calc(-0.5 * var(--lineHeight)));
}
.flash {
  background: linear-gradient(to bottom, var(--firstAccent2), color-mix(in srgb, var(--firstAccent2), 10% transparent));
  height: 100%;
  left: 0;
  position: fixed;
  transition: opacity 1s;
  top: 0;
  width: 100%;
  z-index: 40000;
}
.flash__body {
  font-weight: 600;
  left: 50%;
  max-width: 30rem;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.flash--fading {
  opacity: 0;
}
.fullwidth-slider {
  align-items: center;
  background: var(--neutralReversed1);
  display: flex;
  justify-content: center;
  left: 50%;
  overflow-x: auto;
  padding: var(--lineHeight) 0;
  position: relative;
  transform: translateX(-50%);
  width: calc(100 * var(--vw));
}
.fullwidth-slider .fullwidth-slider__slide {
  flex: 0 0 calc(var(--lineHeight) * 6);
  filter: grayscale(100%);
  max-height: calc(var(--lineHeight) * 3);
  opacity: 0.5;
}
.grid {
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(-1 * var(--lineHeight));
  margin-top: calc(-1 * var(--lineHeight));
}
.grid__item,
.grid__item-group {
  flex: 1 1 calc(100% - var(--lineHeight));
  margin-left: var(--lineHeight);
  margin-top: var(--lineHeight);
}
.icon {
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  direction: ltr;
  display: inline;
  font-family: 'IcoFont' !important;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  speak: none;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
}
.icon:first-child:not(:last-child) {
  margin-right: calc(var(--lineHeight) * 0.25);
}
.icon:last-child:not(:first-child) {
  margin-left: calc(var(--lineHeight) * 0.25);
}
.icon--tracking:before {
  content: "\edd5";
}
.icon--shopping-cart:before {
  content: "\efe7";
}
.icon--monitor:before {
  content: "\ea48";
}
.icon--fork-and-knife:before {
  content: "\eb69";
}
.icon--comment:before {
  content: "\eeeb";
}
.preamble {
  font-size: var(--fontSize3);
  margin-bottom: calc(var(--lineHeight) * -1);
  margin-top: var(--lineHeight);
}
.toggle:after {
  content: attr(data-off-label);
  /*
			color: var(--secondAccentReversed1);
			*/
}
.toggle--on:after {
  content: attr(data-on-label);
}
.tree__label {
  cursor: pointer;
  display: block;
  font-weight: 600;
  padding: calc(var(--lineHeight) * 0.5);
  position: relative;
  width: 100%;
  /* Why is it needed? */
}
.tree__label:before {
  content: '+';
  font-size: 1.5rem;
  font-style: normal;
  position: absolute;
  right: calc(var(--lineHeight) * 0.5);
  transform: translateY(-50%);
  top: 50%;
}
.tree__branch--open > .tree__label:before,
.tree__branch--always-open > .tree__label:before,
.tree__branch--hoverable:hover > .tree__label:before,
.tree__branch:has(.tree__branch--open) > .tree__label:before,
.tree__branch:has(.tree__branch--always-open) > .tree__label:before,
.tree__branch:has(.tree__branch--hoverable:hover) > .tree__label:before {
  content: '-';
}
.tree__label:hover {
  transform: none;
}
.tree__children {
  display: none;
  margin-left: var(--lineHeight);
  padding: 0;
}
.tree__branch--open > .tree__children,
.tree__branch--always-open > .tree__children,
.tree__branch--hoverable:hover > .tree__children,
.tree__branch:has(.tree__branch--open) > .tree__children,
.tree__branch:has(.tree__branch--always-open) > .tree__children,
.tree__branch:has(.tree__branch--hoverable:hover) > .tree__children {
  display: block;
}
.tree__leaf {
  padding: calc(var(--lineHeight) * 0.5);
}
.tree--unclosable .tree__branch--open > .tree__label:before,
.tree--unclosable .tree__branch--always-open > .tree__label:before,
.tree--unclosable .tree__branch--hoverable:hover > .tree__label:before,
.tree--unclosable .tree__branch:has(.tree__branch--open) > .tree__label:before,
.tree--unclosable .tree__branch:has(.tree__branch--always-open) > .tree__label:before,
.tree--unclosable .tree__branch:has(.tree__branch--hoverable:hover) > .tree__label:before {
  content: none;
}
.tree--accordion .tree__label:before {
  right: var(--lineHeight);
}
.tree--accordion .tree__branch:not(.tree__branch--open) {
  background: transparent;
  border-radius: 0;
}
.tree--accordion .tree__branch {
  overflow: hidden;
  padding: 0;
}
.tree--accordion .tree__branch + .tree__branch {
  border-top: var(--borderWidth) solid transparent;
  margin-top: calc(-1 * var(--borderWidth));
}
.tree--accordion .tree__branch:not(.tree__branch--open) + .tree__branch {
  border-top-color: var(--neutral2);
}
.tree--accordion .tree__children {
  flex-wrap: wrap;
  margin: 0;
}
.tree--accordion .tree__leaf {
  flex: 1 0 100%;
}
.tree--accordion .tree__branch--open .tree__children {
  display: flex;
}
.site {
  padding: var(--lineHeight);
}
.site__header {
  height: calc(var(--lineHeight) * 5);
  left: 0;
  padding: var(--lineHeight) calc(50% - var(--width) * 0.5 + var(--lineHeight));
  position: fixed;
  transition: all 0.5s;
  top: 0;
  width: 100%;
  z-index: 20000;
}
.site__logo {
  left: calc(50% - var(--width) * 0.5 + var(--lineHeight) * 1.5);
  height: calc(1.325 * var(--lineHeight));
  position: absolute;
  transition: top 0.5s;
  top: calc(var(--lineHeight) * 2.5 - var(--lineHeight) * 1.325 * 0.5);
}
.site__logo img {
  height: 100%;
}
.site__logo:before {
  content: none;
}
.site__cta {
  position: absolute;
  right: calc(50% - var(--width) * 0.5 + calc(var(--lineHeight) * 1.5));
  transition: transform 0.5s, top 0.5s;
  top: calc(var(--lineHeight) * 1.5);
}
.site__toggle {
  position: absolute;
  right: calc(50% - var(--width) * 0.5 + var(--lineHeight));
  text-align: center;
  transition: top 0.5s;
  top: calc(var(--lineHeight) * 1.5);
  width: 2.25rem;
}
.site__toggle ~ .site__cta {
  right: calc(50% - var(--width) * 0.5 + calc(var(--lineHeight) * 3));
}
.site__menu {
  display: none;
}
.site__header--open,
.site__header--pinned {
  background: linear-gradient(to bottom, var(--firstAccent2), color-mix(in srgb, var(--firstAccent2), 10% transparent));
  backdrop-filter: blur(calc(var(--borderWidth) * 3));
  border-bottom: calc(var(--borderWidth) * 0.5) solid var(--firstAccent1);
  height: calc(var(--lineHeight) * 3);
  padding-bottom: 0;
  padding-top: 0;
}
.site__header--open .site__logo,
.site__header--pinned .site__logo {
  top: calc(var(--lineHeight) * 1.5 - var(--lineHeight) * 1.325 * 0.5);
}
.site__header--open .site__cta,
.site__header--pinned .site__cta {
  background: var(--secondAccent1);
  color: var(--neutral2);
  top: calc(var(--lineHeight) * 0.5);
}
.site__header--open .site__toggle,
.site__header--pinned .site__toggle {
  top: calc(var(--lineHeight) * 0.5);
}
.site__header--open {
  height: 100vh;
  overflow: hidden;
  padding: 0;
}
.site__header--open .site__menu {
  display: block;
  height: calc(100vh - calc(var(--lineHeight) * 3));
  height: calc(100dvh - calc(var(--lineHeight) * 3));
  margin-top: calc(var(--lineHeight) * 3);
  padding: var(--lineHeight) calc(50% - var(--width) / 2 + var(--lineHeight));
  overflow-y: auto;
}
html:has(.site__header--open) {
  overflow-y: hidden;
  /* to hide the scrollbar when the menu is open */
}
.site__body {
  padding: calc(var(--lineHeight) * 0.5) calc(50% - var(--width) * 0.5 + var(--lineHeight));
}
.site__footer {
  font-size: var(--fontSize1);
  padding: calc(var(--lineHeight) * 0.5) calc(50% - var(--width) * 0.5 + var(--lineHeight));
}
.page {
  padding: calc(var(--lineHeight) * 0.5) calc(50% - var(--width) * 0.5 + var(--lineHeight));
}
.page__header {
  background: url(data:image/avif;base64,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) no-repeat center center;
  background-size: 100% 100%;
  padding: calc(var(--lineHeight) * 5.5) calc(50% - var(--width) * 0.5 + var(--lineHeight));
  padding-bottom: var(--lineHeight);
}
.page__title {
  color: var(--neutralReversed1);
  font-family: 'Nunito';
  font-size: var(--fontSize5);
  font-weight: 600;
  letter-spacing: -0.125rem;
  line-height: calc(var(--lineHeight) * 2);
  padding: calc(var(--lineHeight) * 0.5);
  text-rendering: geometricPrecision;
  text-wrap: balance;
}
.page__subtitle {
  color: var(--neutralReversed1);
  font-size: var(--fontSize3);
  text-rendering: geometricPrecision;
  text-wrap: balance;
}
.page__header:has(.webgl-background) {
  position: relative;
}
.page__header:has(.page__illustration) {
  padding-bottom: 0;
}
.page__illustration {
  border: calc(var(--borderWidth) * 0.5) solid var(--firstAccent1);
  border-bottom: 0;
  border-top-left-radius: calc(var(--lineHeight) * 0.25);
  border-top-right-radius: calc(var(--lineHeight) * 0.25);
  display: block;
  overflow: hidden;
  margin-left: calc(-1 * var(--borderWidth) * 0.5);
  margin-right: calc(-1 * var(--borderWidth) * 0.5);
  margin-top: calc(var(--lineHeight) - var(--borderWidth) * 0.5);
}
.page__body {
  background: var(--neutral1);
  color: var(--neutralReversed2);
  padding: calc(var(--lineHeight) * 0.5) calc(50% - var(--width) * 0.5 + var(--lineHeight));
}
.page__footer {
  background: var(--neutral1);
  background: var(--firstAccent2);
  color: var(--neutralReversed2);
  padding: var(--lineHeight) calc(50% - var(--width) * 0.5 + var(--lineHeight));
}
.section {
  padding: var(--lineHeight) calc(50% - var(--width) * 0.5 + var(--lineHeight));
}
.section__header {
  padding: calc(var(--lineHeight) * 0.5);
}
.section__title {
  color: var(--neutralReversed1);
  letter-spacing: -0.125rem;
  font-family: 'Nunito';
  font-weight: 600;
  font-size: var(--fontSize4);
  padding: calc(var(--lineHeight) * 0.5);
  text-rendering: geometricPrecision;
  text-wrap: balance;
}
.section__subtitle {
  color: var(--neutralReversed1);
  font-size: var(--fontSize3);
  text-rendering: geometricPrecision;
  text-wrap: balance;
}
.section__body {
  padding: calc(var(--lineHeight) * 0.5);
}
.section__footer {
  padding: calc(var(--lineHeight) * 0.5);
}
.subsection {
  background: var(--neutral2);
  border-radius: var(--borderRadius);
  padding: calc(var(--lineHeight) * 0.5);
  text-align: left;
}
.subsection__title {
  color: var(--neutralReversed1);
  font-family: 'Nunito';
  font-size: var(--fontSize3);
  font-weight: 600;
  letter-spacing: -0.0625rem;
  padding: calc(var(--lineHeight) * 0.5);
  text-rendering: geometricPrecision;
  text-wrap: balance;
}
.subsection__subtitle {
  color: var(--neutralReversed1);
  font-size: var(--fontSize1);
  margin-top: calc(-1 * var(--lineHeight));
  text-rendering: geometricPrecision;
  text-wrap: balance;
}
.section:has(.section__header, .section__body, .section__footer, .subsection) {
  padding: calc(var(--lineHeight) * 0.5) calc(50% - var(--width) * 0.5 + var(--lineHeight) * 0.5);
}
:where(.section__header, .section__body, .section__footer):has(.subsection) {
  padding: 0;
}
.page:has(.page__header, .page__body, .page__footer, .section),
:where(.page__header, .page__body, .page__footer):has(.section) {
  padding: 0;
}
.site:has(.site__header, .site__body, .site__footer, .page),
:where(.site__header, .site__body, .site__footer):has(.page) {
  padding: 0;
}
/*
@media (prefers-color-scheme: light){
*/
.page__body {
  --neutral1: var(--blue100);
  --neutral2: var(--blue95);
  --neutral3: var(--blue80);
  --neutralReversed1: var(--blue10);
  --neutralReversed2: var(--blue20);
  --neutralReversed3: var(--blue40);
  --firstAccent1: var(--blue90);
  --firstAccent2: var(--blue90);
  --firstAccentReversed1: var(--blue30);
  --firstAccentReversed2: var(--blue42);
  --secondAccent1: var(--green89);
  --secondAccentReversed1: var(--green89);
}
.page__body .button {
  /* hack */
  color: var(--neutralReversed1);
}
.page__body .subsection {
  background: var(--neutral1);
  box-shadow: inset 0 0 0 var(--borderWidth) var(--neutral2);
}
.page__body .tree--accordion .subsection.tree__branch--open {
  border: none;
  margin-top: calc(var(--borderWidth) * -1);
  padding-top: var(--borderWidth);
}
.page__body .tree--accordion .subsection:not(.tree__branch--open) {
  box-shadow: none;
}
/*
}
*/
@media (min-width: 45em) {
  html {
    --fontSizeScaleRatio: 3;
    --lineHeight: 1.5rem;
    --lineHeight: 27px;
    --width: calc(var(--fullWidth) - var(--lineHeight));
    font-size: 1.125em;
  }
  .field--secondary {
    flex: 1 1 calc(50% - var(--lineHeight));
  }
  .button--cta {
    width: auto;
  }
  .grid__item--secondary,
  .grid__item--tertiary,
  .grid__item--quartiary,
  .grid__item-group--secondary,
  .grid__item-group--tertiary,
  .grid__item-group--quartiary {
    flex-basis: calc(50% - var(--lineHeight));
  }
  .tree--accordion .tree__children .tree__leaf {
    flex-basis: 0;
    flex-wrap: nowrap;
  }
  .page__title {
    line-height: calc(var(--lineHeight) * 2);
  }
  .section__header {
    padding-bottom: calc(var(--lineHeight) * 1.5);
    padding-top: calc(var(--lineHeight) * 1.5);
  }
  .section__title {
    line-height: calc(var(--lineHeight) * 2);
  }
  .subsection:has(.subsection__footer) {
    display: flex;
    flex-direction: column;
  }
  .subsection__footer {
    margin-top: auto;
  }
}
@media (min-width: 64em) {
  html {
    --fontSizeScaleRatio: 4;
    --lineHeight: 1.6rem;
    --lineHeight: 32px;
    font-size: 1.25em;
    text-align: center;
  }
  .grid__item--tertiary,
  .grid__item-group--tertiary {
    flex-basis: calc(33.333333% - var(--lineHeight));
  }
  .grid__item--quartiary,
  .grid__item-group--quartiary {
    flex-basis: calc(25% - var(--lineHeight));
  }
  .site__menu {
    text-align: left;
  }
  .site__header--open {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .site__logo {
    text-align: left;
  }
  .site__cta {
    right: calc(50% - var(--width) * 0.5 + calc(var(--lineHeight) * 1.5));
  }
  .site__toggle {
    display: none;
  }
  .site__menu {
    display: flex;
    height: auto;
    justify-content: center;
    margin-top: 0;
  }
  .site__menu .tree__branch + .tree__branch {
    margin: 0;
  }
  .site__menu .tree__label {
    cursor: auto;
    padding: calc(var(--lineHeight) * 0.5);
  }
  .site__menu .tree__branch .tree__label:before {
    content: none !important;
  }
  .site__menu .tree__branch--hoverable .tree__label {
    padding-right: calc(var(--lineHeight) * 0.75);
  }
  .site__menu > .tree__branch:not(:hover) > .tree__children {
    display: none;
  }
  .site__menu > .tree__branch:hover .tree__children {
    display: block;
    margin: 0;
  }
  .site__menu > .tree__branch > .tree__label {
    overflow: hidden;
    padding-bottom: var(--lineHeight);
  }
  .site__menu > .tree__branch:hover > .tree__label:after {
    background: var(--neutral1);
    bottom: calc(-1 * var(--lineHeight));
    content: '';
    left: 50%;
    height: var(--lineHeight);
    position: absolute;
    transform: rotateZ(45deg) translateX(-50%);
    width: var(--lineHeight);
  }
  .site__menu > .tree__branch:hover > .tree__children {
    background: var(--neutral1);
    background: linear-gradient(to bottom, var(--neutral1), color-mix(in srgb, var(--neutral1), 10% transparent));
    backdrop-filter: blur(calc(var(--borderWidth) * 3));
    border: var(--borderWidth) solid var(--neutral2);
    border-top: 0;
    border-bottom-left-radius: var(--borderRadius);
    border-bottom-right-radius: var(--borderRadius);
    color: var(--neutralReversed2);
    left: 50%;
    padding: calc(var(--lineHeight) * 0.5);
    position: fixed;
    transform: translateX(-50%);
    top: calc(var(--lineHeight) * 4);
    width: calc(var(--width) - var(--lineHeight));
  }
  .site__menu > .tree__branch:hover > .tree__children {
    display: flex;
    justify-content: center;
    padding: calc(var(--lineHeight) * 0.5) 0;
    text-align: left;
  }
  .site__menu > .tree__branch:hover > .tree__children > .tree__leaf {
    padding: calc(var(--lineHeight) * 0.5);
  }
  .site__menu > .tree__branch:hover > .tree__children > .tree__branch {
    flex: 0 1 33.333333%;
    padding: 0 calc(var(--lineHeight) * 0.5);
  }
  .site__menu > .tree__branch:hover > .tree__children > .tree__branch + .tree__branch {
    border-left: var(--borderWidth) solid var(--neutral2);
    margin-left: calc(-1 * var(--borderWidth));
  }
  .site__header--open {
    background: transparent;
    height: auto;
    overflow: visible;
  }
  .site__header--open .site__menu {
    display: flex;
    margin-top: 0;
    position: static;
    width: auto;
  }
  .site__header--pinned .site__menu > .tree__branch:hover > .tree__children {
    top: calc(var(--lineHeight) * 3);
  }
  /*
@media (prefers-color-scheme: light) {
*/
  .site__menu > .tree__branch:hover > .tree__label:after {
    background: var(--neutralReversed1);
  }
  .site__menu > .tree__branch:hover > .tree__children {
    --neutralReversed1: var(--blue0);
    --neutralReversed2: var(--blue20);
    --neutralReversed3: var(--blue40);
    --neutral1: var(--blue100);
    --neutral2: var(--blue95);
    --neutral: var(--blue90);
    --firstAccentReversed1: var(--blue30);
    --firstAccentReversed2: var(--blue42);
    --firstAccent1: var(--blue90);
    --firstAccent2: var(--blue90);
    --secondAccentReversed1: var(--green89);
    --secondAccent1: var(--green89);
  }
}
/*					
}
*/
@media (min-width: 85.375em) {
  /* 1366w */
  html {
    --lineHeight: 1.7rem;
    --lineHeight: 37.4px;
    --width: 60rem;
    font-size: 1.375em;
  }
}
@media (min-width: 100em) {
  /* 1600w */
  html {
    --lineHeight: 1.8rem;
    --lineHeight: 43.2px;
    --width: 61rem;
    font-size: 1.5em;
  }
}
