/*!*************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/less-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./assets/less/style.less ***!
  \*************************************************************************************************************************************************************************/
@font-face {
  font-family: 'Bw Seido Round';
  src: url('../fonts/hinted-BwSeidoRound-Bold.woff2') format('woff2'), url('../fonts/hinted-BwSeidoRound-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'Bw Seido Round';
  src: url('../fonts/hinted-BwSeidoRound-Regular.woff2') format('woff2'), url('../fonts/hinted-BwSeidoRound-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
/**
 * @maxFontSize - The max font size (also the fallback)
 */
/* CSS Micro Reset */
* {
  margin: 0;
  padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
th,
td {
  text-align: left;
  vertical-align: top;
}
img,
iframe {
  border: 0;
}
* {
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  box-sizing: border-box;
  font-family: 'Bw Seido Round', /*'Relative',*/ -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
html {
  height: 100%;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  * {
    transition: none !important;
  }
}
body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  width: 100vw;
  max-width: 100%;
  font-family: 'Bw Seido Round', /*'Relative',*/ -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  font-size: calc(14px + (2) * (100vw - 400px) / (860));
  color: #1D2530;
  letter-spacing: 0.03em;
}
@media (min-width: 1260px) {
  body {
    font-size: 16px;
  }
}
@media (max-width: 400px) {
  body {
    font-size: 14px;
  }
}
body.nav-open,
body.modal-open {
  overflow: hidden;
}
main {
  overflow: hidden;
}
main:has(.page) {
  overflow: visible;
}
::selection {
  color: #1D2530;
  background-color: #FF64B2;
}
.container {
  width: 100%;
  max-width: 1400px;
  margin: auto;
}
.mtb {
  margin-top: 40px;
  margin-bottom: 40px;
}
.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: 40px;
}
@media (max-width:  34em ) {
  .grid {
    grid-column-gap: 0;
  }
}
a {
  color: #7B66E2;
}
a:hover {
  text-decoration: none;
}
p {
  line-height: 30px;
}
p:not(:last-child) {
  margin-bottom: 20px;
}
img {
  vertical-align: middle;
  transition: opacity 0.15s ease;
}
img.lazy {
  opacity: 0;
}
.h1,
.h2,
.h3,
.h5 {
  display: block;
}
h1,
.h1 {
  font-size: 56px;
  font-size: calc(32px + (24) * (100vw - 400px) / (860));
  line-height: 70px;
}
@media (min-width: 1260px) {
  h1,
  .h1 {
    font-size: 56px;
  }
}
@media (max-width: 400px) {
  h1,
  .h1 {
    font-size: 32px;
  }
}
@media (max-width:  48em ) {
  h1,
  .h1 {
    line-height: 1.4em;
  }
}
h2,
.h2 {
  font-size: 48px;
  font-size: calc(28px + (20) * (100vw - 400px) / (860));
  line-height: 70px;
}
@media (min-width: 1260px) {
  h2,
  .h2 {
    font-size: 48px;
  }
}
@media (max-width: 400px) {
  h2,
  .h2 {
    font-size: 28px;
  }
}
@media (max-width:  48em ) {
  h2,
  .h2 {
    line-height: 1.7em;
  }
}
h2 + p,
.h2 + p {
  margin-top: 20px;
}
h3,
.h3 {
  font-size: 40px;
  font-size: calc(24px + (16) * (100vw - 400px) / (860));
  line-height: 1.3em;
}
@media (min-width: 1260px) {
  h3,
  .h3 {
    font-size: 40px;
  }
}
@media (max-width: 400px) {
  h3,
  .h3 {
    font-size: 24px;
  }
}
h3 + p,
.h3 + p {
  margin-top: 20px;
}
h5,
.h5 {
  display: block;
  font-size: 24px;
  font-size: calc(16px + (8) * (100vw - 400px) / (860));
  line-height: 1.5em;
}
@media (min-width: 1260px) {
  h5,
  .h5 {
    font-size: 24px;
  }
}
@media (max-width: 400px) {
  h5,
  .h5 {
    font-size: 16px;
  }
}
.video-block {
  position: relative;
  z-index: 2;
  margin: 0 auto 145px !important;
}
.video-block::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: -105px;
  left: 50%;
  display: block;
  width: 100vw;
  height: calc(100% + 210px);
  background-color: hsl(206, 18%, 92%);
  transform: translateX(-50%);
}
@media (max-width:  62em ) {
  .video-block::before {
    top: -50px;
    height: calc(100% + 100px/2);
  }
}
.video-block-copy {
  position: relative;
  z-index: 2;
  grid-column: span 5;
  padding-right: 80px;
}
@media (max-width:  62em ) {
  .video-block-copy {
    grid-column: span 12;
    padding-right: 0px;
  }
}
.video-block-copy h2 {
  margin-bottom: 40px;
  font-size: 56px;
}
@media (max-width:  62em ) {
  .video-block-copy h2 {
    font-size: 48px;
    line-height: 1.2em;
  }
}
.video-block-copy p {
  font-size: 18px;
}
@media (max-width:  62em ) {
  .video-block-copy p {
    font-size: 16px;
  }
}
.video-block-copy footer {
  display: flex;
  align-items: center;
  margin-top: 40px;
}
@media (max-width:  62em ) {
  .video-block-copy footer {
    display: block;
  }
}
.video-block-copy footer a {
  display: inline-block;
  white-space: nowrap;
}
.video-block-copy footer a:first-child {
  padding: 10px 32px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  background-color: #1D2530;
  border-radius: 100px;
  transition: opacity 0.15s ease;
}
.video-block-copy footer a:first-child:hover {
  opacity: 0.5;
}
.video-block-copy footer a:last-child {
  padding: 10px 16px;
  color: #1D2530;
  font-weight: bold;
  text-decoration: none;
}
.video-block-copy footer a:last-child:hover {
  text-decoration: underline;
}
.video-block-img {
  position: relative;
  z-index: 1;
  grid-column: span 7;
}
@media (max-width:  62em ) {
  .video-block-img {
    grid-column: span 12;
    padding-top: 56.25%;
  }
}
.video-block-img::before {
  content: '';
  position: absolute;
  z-index: 1;
  top: -105px;
  left: -240px;
  width: 400px;
  height: calc(100% + 210px);
  background-image: linear-gradient(to right, hsl(205.71, 17.07%, 91.96%) 0%, hsla(205.71, 17.07%, 91.96%, 0.987) 8.1%, hsla(205.71, 17.07%, 91.96%, 0.951) 15.5%, hsla(205.71, 17.07%, 91.96%, 0.896) 22.5%, hsla(205.71, 17.07%, 91.96%, 0.825) 29%, hsla(205.71, 17.07%, 91.96%, 0.741) 35.3%, hsla(205.71, 17.07%, 91.96%, 0.648) 41.2%, hsla(205.71, 17.07%, 91.96%, 0.55) 47.1%, hsla(205.71, 17.07%, 91.96%, 0.45) 52.9%, hsla(205.71, 17.07%, 91.96%, 0.352) 58.8%, hsla(205.71, 17.07%, 91.96%, 0.259) 64.7%, hsla(205.71, 17.07%, 91.96%, 0.175) 71%, hsla(205.71, 17.07%, 91.96%, 0.104) 77.5%, hsla(205.71, 17.07%, 91.96%, 0.049) 84.5%, hsla(205.71, 17.07%, 91.96%, 0.013) 91.9%, hsla(205.71, 17.07%, 91.96%, 0) 100%);
}
@media (max-width:  62em ) {
  .video-block-img::before {
    display: none;
  }
}
.video-block-img > div:first-child {
  opacity: 0.75;
}
.video-block-img img,
.video-block-img video {
  position: absolute;
  z-index: 0;
  top: -105px;
  left: -240px;
  width: calc(100% + (100vw - 1400px) / 2 + 240px);
  height: calc(100% + 210px);
  object-fit: cover;
}
@media (max-width:  1480px ) {
  .video-block-img img,
  .video-block-img video {
    width: calc(100% + 40px + 240px);
  }
}
@media (max-width:  62em ) {
  .video-block-img img,
  .video-block-img video {
    top: 0;
    left: -40px;
    width: 100vw;
    height: 100%;
  }
}
.video-block-img button {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  align-items: center;
  padding: 14px 32px;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  text-transform: uppercase;
  appearance: none;
  background: rgba(29, 37, 48, 0.8);
  border: none;
  border-radius: 100px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.video-block-img button:hover {
  background-color: #1D2530;
}
.video-block-img button svg {
  margin-right: 16px;
  vertical-align: middle;
}
@media (max-width:  62em ) {
  .video-block-img button {
    bottom: 40px;
  }
}
.video-block-modal {
  max-width: unset !important;
  padding-bottom: 0 !important;
}
.video-block-modal::before {
  bottom: 0 !important;
}
.video-block-modal .player {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.video-block-modal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border-radius: 5px;
}
.video-block-modal .modal--close {
  top: -30px;
  transform: translateY(-100%);
}
.introduction {
  padding: 100px 40px 256px;
}
@media (max-width:  48em ) {
  .introduction {
    padding-bottom: 154px !important;
  }
}
.introduction + * {
  padding-top: 354px !important;
}
@media (max-width:  48em ) {
  .introduction + * {
    padding-top: 154px !important;
  }
}
.introduction > header {
  margin-bottom: 100px;
}
.introduction > header p {
  max-width: 680px;
}
.introduction-videos {
  position: absolute;
  left: 0;
  padding-bottom: 20px;
  width: 100vw;
  font-size: 0;
  white-space: nowrap;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: #666F7A #13171D;
}
.introduction-videos::before,
.introduction-videos::after {
  content: '';
  display: inline-block;
  width: calc((100vw - 1400px) / 2);
  height: 10px;
  vertical-align: middle;
}
@media (max-width:  1480px ) {
  .introduction-videos::before,
  .introduction-videos::after {
    width: 40px;
  }
}
.introduction-videos::-webkit-scrollbar {
  width: 16px;
}
.introduction-videos::-webkit-scrollbar-track {
  background: #13171D;
}
.introduction-videos::-webkit-scrollbar-thumb {
  background-color: #666F7A;
  border-radius: 10px;
  border: 3px solid #13171D;
}
.introduction-video {
  display: inline-block;
  width: 90%;
  max-width: 525px;
  vertical-align: middle;
  cursor: pointer;
}
@media (max-width:  48em ) {
  .introduction-video {
    width: 75%;
  }
}
.introduction-video:not(:last-child) {
  margin-right: 40px;
}
.introduction-video-preview {
  position: relative;
  display: block;
  padding-top: 56.25%;
  border-radius: 20px;
  overflow: hidden;
}
.introduction-video-preview::after {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #1D2530;
  border-radius: 20px;
  opacity: 0.2;
  pointer-events: none;
}
.introduction-video-preview img,
.introduction-video-preview video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.introduction-video-preview svg {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  pointer-events: none;
}
@media (max-width:  48em ) {
  .introduction-video-preview svg {
    max-width: 75px;
  }
}
.introduction-video figcaption {
  display: block;
  padding-bottom: 16px;
  color: #A4B1C1;
  font-size: 24px;
}
.introduction-video:nth-child(1n+0) figcaption {
  color: #FF64B2;
}
.introduction-video:nth-child(2n+0) figcaption {
  color: #7B66E2;
}
.introduction-video:nth-child(3n+0) figcaption {
  color: #5AD4FF;
}
.values {
  padding: 150px 40px;
  color: #fff;
  background-color: #1D2530;
  overflow: hidden;
}
.values-header {
  margin-bottom: 80px;
}
.values-header p {
  opacity: 0.5;
  max-width: 50vw;
}
@media (max-width:  62em ) {
  .values-header p {
    max-width: 100%;
  }
}
.values-grid {
  column-count: 3;
  column-gap: 40px;
}
@media (min-width:  62em ) {
  .values-grid .value:nth-last-child(2),
  .values-grid .value:nth-last-child(2) ~ .value {
    transform: translateY(100px);
  }
}
@media (max-width:  62em ) {
  .values-grid {
    column-count: 2;
  }
}
@media (max-width:  48em ) {
  .values-grid {
    column-count: 1;
  }
}
.values-values {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.values-values > div {
  display: inline-block;
  transition: transform 0.3s ease;
}
.values-letter {
  position: relative;
  display: inline-block;
  line-height: normal;
}
@media (max-width:  62em ) {
  .values-letter {
    display: block;
  }
}
.values-letter::before,
.values-letter::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100vw;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease;
}
@media (max-width:  62em ) {
  .values-letter::before,
  .values-letter::after {
    content: unset;
  }
}
.values-letter::before {
  left: 100%;
  background-image: linear-gradient(to right, rgba(29, 37, 48, 0), #1D2530 75%);
}
.values-letter::after {
  right: 100%;
  background-image: linear-gradient(to left, rgba(29, 37, 48, 0), #1D2530 75%);
}
.values-letter > span {
  position: relative;
  color: #A4B1C1;
  font-size: 397px;
  font-weight: 100;
  opacity: 0.1;
  transition: opacity 0.15s ease;
}
.values-letter > span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 10%;
  right: 0;
  display: block;
  width: 100%;
  height: 12px;
  background-color: var(--c);
  border-radius: 10px;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.values-letter > div {
  position: absolute;
  bottom: 25%;
  left: 100%;
  width: 100vw;
  max-width: 350px;
  padding: 0 0 0 10px;
  font-size: 32px;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}
@media (max-width:  62em ) {
  .values-letter > div {
    position: relative;
    left: 0;
    bottom: unset;
  }
}
.values-letter p {
  line-height: 1.5em;
}
.values-letter svg {
  margin-bottom: 10px;
}
.values-letter button {
  position: absolute;
  bottom: 17%;
  left: 107%;
  color: #A4B1C1;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}
@media (max-width:  62em ) {
  .values-letter button {
    display: none;
  }
}
.values-letter.active {
  z-index: 3;
}
.values-letter.active > span,
.values-letter.active::before,
.values-letter.active::after,
.values-letter.active > div,
.values-letter.active > span::after,
.values-letter.active button {
  opacity: 1;
}
.values-letter.active button {
  pointer-events: all;
}
@media (max-width:  62em ) {
  .values-letter > span,
  .values-letter > div,
  .values-letter > span::after {
    opacity: 1;
  }
}
.value {
  display: block;
  margin-bottom: 40px;
  padding: 40px;
  break-inside: avoid;
  background-color: #13171D;
  border-radius: 16px;
  --color: #7B66E2;
}
.value:nth-child(3n - 2) {
  --color: #5AD4FF;
}
.value:nth-child(3n - 1) {
  --color: #FF64B2;
}
.value > span {
  display: block;
  margin-bottom: 20px;
  color: #A4B1C1;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
}
.value > p {
  color: #A4B1C1;
  font-size: 24px;
  line-height: 1.5em;
}
.value em {
  color: var(--color);
  font-style: normal;
}
.careers-block {
  padding: 120px 40px;
  background-color: #EDEDED;
}
.careers-block-heading {
  margin-bottom: 80px !important;
}
.careers-block-heading h2 {
  font-size: 56px;
}
@media (max-width:  62em ) {
  .careers-block-heading h2 {
    font-size: 36px;
  }
}
.careers-block-heading p {
  max-width: 720px;
}
.careers-block-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  grid-gap: 40px;
}
@media (max-width:  34em ) {
  .careers-block-grid {
    grid-template-columns: 1fr;
  }
}
.career-card {
  position: relative;
  display: block;
  color: #1D2530;
  text-decoration: none;
  background-color: #fff;
  border-radius: 16px;
  overflow: hidden;
  transition: box-shadow 0.3s ease-in-out, transform 0.2s ease-in-out;
}
.career-card:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 24px rgba(19, 23, 29, 0.16);
}
.career-card img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.career-card figure {
  position: relative;
}
.career-card figure span {
  position: absolute;
  z-index: 2;
  top: 8px;
  left: 8px;
  display: block;
  padding: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  line-height: 1em;
  background-color: #5AD4FF;
  border-radius: 8px;
}
.career-card figure span.long {
  background-color: #FF64B2;
}
.career-card figure::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100px;
  background-image: linear-gradient(to top, hsl(0, 0%, 100%) 0%, hsla(0, 0%, 100%, 0.987) 8.1%, hsla(0, 0%, 100%, 0.951) 15.5%, hsla(0, 0%, 100%, 0.896) 22.5%, hsla(0, 0%, 100%, 0.825) 29%, hsla(0, 0%, 100%, 0.741) 35.3%, hsla(0, 0%, 100%, 0.648) 41.2%, hsla(0, 0%, 100%, 0.55) 47.1%, hsla(0, 0%, 100%, 0.45) 52.9%, hsla(0, 0%, 100%, 0.352) 58.8%, hsla(0, 0%, 100%, 0.259) 64.7%, hsla(0, 0%, 100%, 0.175) 71%, hsla(0, 0%, 100%, 0.104) 77.5%, hsla(0, 0%, 100%, 0.049) 84.5%, hsla(0, 0%, 100%, 0.013) 91.9%, hsla(0, 0%, 100%, 0) 100%);
}
.career-card-text {
  display: flex;
  align-items: flex-end;
  padding: 0 32px 32px 32px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5em;
}
.tg {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-gap: 16px;
  width: 1400px;
  max-width: calc(100vw - 40px*2);
  margin: 200px auto 100px;
}
.tg--title {
  grid-column: span 2;
}
.tg--filter {
  grid-column: 3/-1;
  font-size: 0;
}
@media (max-width:  62em ) {
  .tg--filter {
    grid-column: 1/-1;
  }
}
.tg--filter button {
  display: inline-block;
  margin: 16px 16px 0 0;
  padding: 10px 24px;
  color: #1D2530;
  font-size: 16px;
  font-weight: 500;
  appearance: none;
  border: 1px solid #1D2530;
  border-radius: 28px;
  background: transparent;
  transition: background-color 0.15s ease, color 0.15s ease;
  cursor: pointer;
}
.tg--filter button:hover,
.tg--filter button.active {
  color: #fff;
  background-color: #1D2530;
}
.tg--spacer {
  grid-column: span 6;
  height: 40px;
}
.tg--item {
  position: relative;
  grid-column: span var(--w, 1);
  border-radius: 16px;
  overflow: hidden;
  transition: opacity 0.5s ease, filter 0.5s ease;
}
@media (max-width:  62em ) {
  .tg--item[style="--w:1"] {
    grid-column: span 2;
  }
  .tg--item[style="--w:2"] {
    grid-column: span 4;
  }
  .tg--item:not([style="--w:1"]):not([style="--w:2"]) {
    grid-column: span 6;
  }
}
@media (max-width:  48em ) {
  .tg--item[style="--w:1"] {
    grid-column: span 3;
  }
  .tg--item[style="--w:2"] {
    grid-column: span 6;
  }
}
.tg--item.hidden {
  opacity: 0.2;
  filter: grayscale(1);
  pointer-events: none;
}
.tg--item picture {
  position: relative;
  display: block;
}
.tg--item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tg--item-placeholder {
  background: #EDEDED;
}
.tg--item-placeholder figure {
  width: 100%;
  height: 100%;
  display: flex;
  align-content: center;
}
.tg--item-placeholder figure svg {
  width: 80px;
  height: 80px;
  margin: auto;
}
.tg--item-placeholder:hover:after {
  opacity: 0 !important;
}
.tg--item-caption figcaption {
  position: absolute;
  z-index: 3;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px;
  color: #fff;
  line-height: 1.4em;
  transform: translateY(100%);
  transition: transform 0.75s ease;
}
.tg--item-caption small {
  display: inline;
}
.tg--item-caption::after {
  content: '';
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(180deg, rgba(29, 37, 48, 0) 28%, rgba(29, 37, 48, 0.5) 83%, #1D2530 100%);
  opacity: 0;
  transform: translateY(50px);
  transition: transform 0.75s ease, opacity 0.75s ease;
}
.tg--item-caption figcaption {
  transform: translateY(0);
}
.tg--item-caption::after {
  opacity: 1;
  transform: translateY(0);
}
.tg--item-caption:hover figcaption {
  transform: translateY(0);
}
.tg--item-caption:hover::after {
  opacity: 1;
  transform: translateY(0);
}
.pd {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: opacity 0.4s ease;
  background-color: rgba(29, 37, 48, 0.7);
  animation: overlayIn 1s ease forwards;
}
@keyframes overlayIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.pd > a:nth-child(1) {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.pd > a:nth-child(2) {
  position: absolute;
  z-index: 4;
  top: 40px;
  right: 720px;
  display: block;
  width: 80px;
  height: 80px;
  background: #fff;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.24), 0 8px 32px 0 rgba(0, 0, 0, 0.16);
  border-radius: 50%;
  transform: translateX(50%);
  animation: closeIn 1s ease forwards;
}
.pd > a:nth-child(2)::before,
.pd > a:nth-child(2)::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 33px;
  height: 2px;
  background-color: #1D2530;
  border-radius: 10px;
}
.pd > a:nth-child(2)::before {
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
}
.pd > a:nth-child(2)::after {
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}
@media (max-width:  62em ) {
  .pd > a:nth-child(2) {
    left: 0;
    right: unset;
    transform: translateX(40px);
  }
}
@keyframes closeIn {
  from {
    transform: translateX(720px);
  }
  to {
    transform: translateX(50%);
  }
}
.pd--modal {
  position: relative;
  z-index: 3;
  float: right;
  height: 100vh;
  width: 720px;
  padding: 80px;
  animation: modalIn 1s ease forwards;
  background: #fff;
  box-shadow: 0 2px 34px 0 rgba(25, 25, 50, 0.3);
  overflow: auto;
}
@keyframes modalIn {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@media (max-width:  62em ) {
  .pd--modal {
    width: 100vw;
    padding: 40px;
  }
}
.pd--modal img {
  max-width: 100%;
}
.pd--modal h1 {
  margin: 30px 0 0;
  font-size: 32px;
}
.pd--modal h4 {
  margin-bottom: 15px;
  color: #FF64B2;
  font-size: 24px;
}
.team-group {
  width: 1400px;
  max-width: calc(100vw - 40px * 2);
  margin: 100px auto;
}
.team-group h3 {
  margin-bottom: 43px;
  font-size: size(40);
}
.team-group ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(325px, 1fr));
  grid-gap: 40px;
  list-style: none;
}
.team-group li {
  background: #13171D;
  border-radius: 16px;
  transition: 0.5s ease-in-out opacity;
}
.team-group li:hover {
  opacity: 0.8;
}
.team-group span {
  display: block;
}
.team-group a {
  display: block;
  padding: 19px 23px 21px;
  text-decoration: none;
}
.team-group--name {
  color: #fff;
  font-size: 22px;
}
.team-group--role {
  color: #FF64B2;
}
.team-group.first ul {
  grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
}
.team-group.first li {
  background: #344051;
}
.team-group.first li .team-group--role {
  color: #5AD4FF;
}
.post-small {
  grid-column: span 12;
  display: flex;
  flex-direction: column;
  color: #1D2530;
  text-decoration: none;
}
@media (max-width:  62em ) {
  .post-small {
    grid-column: span 6;
  }
}
@media (max-width:  48em ) {
  .post-small {
    grid-column: span 12;
  }
}
.post-small strong {
  display: block;
  font-size: 20px;
  font-weight: normal;
}
.post-small time {
  color: #7B66E2;
  font-size: 16px;
  font-weight: bold;
  margin-top: auto;
}
.post-small:hover strong {
  text-decoration: underline;
}
.post-inTheNews {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  grid-column: span 4;
  padding: 32px;
  color: #1D2530;
  text-decoration: none;
  background: #FFFFFF;
  border: 1px solid #DDDDDD;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.1);
  border-radius: 16px;
}
@media (max-width:  62em ) {
  .post-inTheNews {
    grid-column: span 6;
  }
}
@media (max-width:  48em ) {
  .post-inTheNews {
    grid-column: span 12;
  }
}
.post-inTheNews > span {
  display: block;
}
.post-inTheNews svg,
.post-inTheNews img {
  margin-bottom: 20px;
  width: auto;
  height: 32px;
  vertical-align: middle;
}
.post-inTheNews strong {
  display: block;
  font-size: 20px;
  font-weight: normal;
}
.post-inTheNews time {
  display: block;
  margin-top: 16px;
  color: #7B66E2;
}
.post-publication {
  grid-column: span 3;
  color: #1D2530;
  text-decoration: none;
}
@media (max-width:  62em ) {
  .post-publication {
    grid-column: span 6;
  }
}
@media (max-width:  48em ) {
  .post-publication {
    grid-column: span 12;
  }
}
.post-publication figure {
  position: relative;
  display: block;
  border-radius: 16px;
  overflow: hidden;
}
.post-publication figure::after {
  content: '';
  position: absolute;
  z-index: 100;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transition: background 0.25s ease-in-out;
}
.post-publication figure:hover::after {
  background: rgba(123, 102, 226, 0.4);
}
.post-publication img {
  width: 100%;
  height: auto;
  vertical-align: middle;
  background: #FFFFFF;
  border: 1px solid #DDDDDD;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.1);
}
.post-publication small {
  display: block;
  margin-top: 16px;
  color: #7B66E2;
  font-weight: bold;
  text-transform: uppercase;
}
.post-publication span {
  font-size: 16px;
  letter-spacing: -0.1px;
}
.post-publication:hover span {
  text-decoration: underline;
}
.post-event {
  grid-column: span 6;
  padding: 20px 24px;
  color: #1D2530;
  text-decoration: none;
  background: rgba(90, 212, 255, 0.12);
  border-radius: 16px;
}
.post-event:hover {
  background: rgba(90, 212, 255, 0.16);
}
.post-event:hover p {
  text-decoration: underline;
}
@media (max-width:  62em ) {
  .post-event {
    grid-column: span 6;
  }
}
@media (max-width:  48em ) {
  .post-event {
    grid-column: span 12;
  }
}
.post-event p {
  font-size: 18px;
  margin-bottom: 4px;
}
.post-event time {
  display: block;
  color: #5AD4FF;
  font-size: 16px;
  font-weight: bold;
  text-transform: uppercase;
}
.post-event .location {
  font-size: 16px;
  font-weight: 400;
}
.post-event.past {
  filter: grayscale(1);
}
.post-externalPublication {
  grid-column: span 6;
  padding: 20px 24px;
  color: #1D2530;
  text-decoration: none;
  background: rgba(123, 102, 226, 0.08);
  border-radius: 16px;
}
@media (max-width:  62em ) {
  .post-externalPublication {
    grid-column: span 6;
  }
}
@media (max-width:  48em ) {
  .post-externalPublication {
    grid-column: span 12;
  }
}
.post-externalPublication small {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  color: #7B66E2;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}
.post-externalPublication small::after {
  content: '';
  width: 11px;
  height: 11px;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.9870605,8.19848633 L10.9898682,0.918457031 C10.9898682,0.642903646 10.9078166,0.420939128 10.7437134,0.252563477 C10.5796102,0.0841878255 10.3567301,0 10.0750732,0 L2.79492187,0.0128173828 C2.52750651,0.0128173828 2.31125895,0.0982869466 2.1461792,0.269226074 C1.98109945,0.440165202 1.89855957,0.640177409 1.89855957,0.869262695 C1.89855957,1.10453288 1.9850057,1.30265299 2.15789795,1.46362305 C2.3307902,1.6245931 2.53609212,1.70507812 2.77380371,1.70507812 L5.13415527,1.70507812 L8.32580566,1.58166504 L6.96765137,2.78723145 L0.284667969,9.48291016 C0.0948893229,9.66845703 0,9.87556966 0,10.104248 C0,10.2578939 0.0409138997,10.4025269 0.122741699,10.538147 C0.204569499,10.6737671 0.313293457,10.7837931 0.448913574,10.8682251 C0.584533691,10.9526571 0.729654948,10.994873 0.884277344,10.994873 C1.1171875,10.994873 1.32592773,10.9020996 1.51049805,10.7165527 L8.20117188,4.02087402 L9.41320801,2.66271973 L9.2833252,5.72033691 L9.2833252,8.22106934 C9.2833252,8.45552572 9.36643473,8.65952555 9.53265381,8.83306885 C9.69887288,9.00661214 9.89864095,9.09338379 10.131958,9.09338379 C10.3620199,9.09338379 10.5620524,9.00826009 10.7320557,8.8380127 C10.9020589,8.6677653 10.9870605,8.45458984 10.9870605,8.19848633 Z' fill='%237B66E2'/%3E%3C/svg%3E%0A");
}
.post-externalPublication:hover span {
  text-decoration: underline;
}
.site-header {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100vw;
  padding: 50px 40px;
  transition: background-color 0.15s ease;
}
@media (max-width:  62em ) {
  .site-header {
    padding: 0 40px;
  }
}
.nav-open .site-header {
  background-color: #1D2530;
}
.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width:  62em ) {
  .site-header .container {
    height: 100px;
  }
  .site-header .container > a svg {
    max-width: 157px;
  }
}
.site-header nav svg {
  display: none;
}
@media (max-width:  62em ) {
  .site-header nav {
    position: fixed;
    z-index: 5;
    top: 100px;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: scroll;
    overflow-x: hidden;
    padding-top: 20px;
    background-color: #1D2530;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
  }
  .nav-open .site-header nav {
    opacity: 1;
    pointer-events: all;
  }
  .site-header nav svg {
    z-index: 0;
    top: 0;
    right: 0;
    left: auto;
    display: block;
    max-width: 150vw;
    opacity: 0.5;
    transform: rotate(180deg);
  }
}
.site-header ul {
  position: relative;
  z-index: 1;
  list-style: none;
  margin-right: -20px;
}
.site-header li {
  position: relative;
  display: inline-block;
}
@media (max-width:  62em ) {
  .site-header li {
    display: block;
  }
}
.site-header li:hover > .sub {
  opacity: 1;
  transform: translate3d(calc(-50% - 7px), 0, 0);
  pointer-events: all;
}
.site-header li a {
  display: block;
  padding: 20px;
  color: #A4B1C1;
  text-decoration: none;
}
.site-header li a.has-sub:after {
  content: '+';
  color: #5C636B;
}
.site-header li a.active,
.site-header li a:hover {
  color: #7B66E2 !important;
}
@media (max-width:  62em ) {
  .site-header li a {
    position: relative;
    padding: 20px;
    color: #fff !important;
    font-size: 32px;
  }
  .site-header li a.active,
  .site-header li a:hover {
    color: #fff !important;
  }
}
.site-header .sub {
  position: absolute;
  top: 100%;
  left: 50%;
  padding: 20px 10px;
  white-space: nowrap;
  font-size: 18px;
  font-size: calc(16px + (2) * (100vw - 400px) / (860));
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.13);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(calc(-50% - 7px), -5px, 0);
  transition: opacity 0.15s ease, transform 0.15s ease;
}
@media (min-width: 1260px) {
  .site-header .sub {
    font-size: 18px;
  }
}
@media (max-width: 400px) {
  .site-header .sub {
    font-size: 16px;
  }
}
.site-header .sub:before {
  content: '';
  position: absolute;
  top: -8px;
  left: 50%;
  display: block;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 3px;
  transform: translateX(-50%) rotate(45deg);
}
.site-header .sub li {
  display: block;
  width: 100%;
}
.site-header .sub a {
  padding: 9px 25px 8px;
  border-radius: 3px;
}
.site-header .sub a:hover {
  color: #1D2530 !important;
  background-color: rgba(123, 102, 226, 0.3);
}
.site-header .sub a:hover::after {
  display: none;
}
@media (max-width:  62em ) {
  .site-header .sub a {
    color: #A4B1C1 !important;
    font-size: 20px;
  }
}
.site-header .logo-erv {
  transition: fill 0.15s ease;
}
.site-header.light a {
  color: #1D2530;
}
body:not(.nav-open) .site-header.light .logo-erv {
  fill: #1D2530;
}
.site-header.above {
  background: linear-gradient(rgba(29, 37, 48, 0.7), rgba(29, 37, 48, 0));
}
.site-header--toggle {
  position: relative;
  display: block;
  width: 50px;
  height: 30px;
  appearance: none;
  background: none;
  border: none;
  cursor: pointer;
}
@media (min-width:  62em ) {
  .site-header--toggle {
    display: none;
  }
}
.site-header--toggle:before,
.site-header--toggle:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 34px;
  height: 3px;
  transition: transform 0.15s ease;
}
.site-header--toggle:before {
  background-color: #FF64B2;
  transform: translate3d(-50%, -6px, 0);
}
.site-header--toggle:after {
  background-color: #5AD4FF;
  transform: translate3d(-50%, 2px, 0);
}
.nav-open .site-header--toggle:before {
  transform: translate3d(-50%, 0, 0) rotate(30deg);
}
.nav-open .site-header--toggle:after {
  transform: translate3d(-50%, 0, 0) rotate(-30deg);
}
.site-header--contact {
  padding: 20px 40px;
}
@media (min-width:  62em ) {
  .site-header--contact {
    display: none;
  }
}
.site-header--contact a {
  display: block;
  color: #666F7A !important;
  text-decoration: none;
}
.site-header--contact a:not(:last-child) {
  margin-bottom: 10px;
}
.site-footer {
  padding: 80px 40px 60px;
  color: #fff;
  background-color: #1D2530;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .site-footer .grid {
    justify-content: space-between;
  }
}
.site-footer .grid > div {
  grid-column: span 2;
}
@media (max-width:  62em ) {
  .site-footer .grid > div {
    grid-column: span 4;
  }
}
@media (max-width:  48em ) {
  .site-footer .grid > div {
    grid-column: span 12;
  }
}
.site-footer h6 {
  margin-bottom: 20px;
  color: #fff;
  font-size: 24px;
}
.site-footer ul {
  list-style: none;
}
.site-footer a {
  color: #A4B1C1;
  font-size: 18px;
  font-family: 'Bw Seido Round', /*'Relative',*/ -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  text-decoration: none;
}
.site-footer a:hover {
  text-decoration: underline;
}
.site-footer li > a {
  display: block;
  padding: 4px 0;
}
.site-footer-social {
  margin-top: 20px;
  font-size: 0;
}
.site-footer-social a {
  display: inline-block;
  margin-right: 8px;
  transition: opacity 0.15s ease;
}
.site-footer-social a:hover {
  opacity: 0.5;
}
.site-footer-social svg {
  vertical-align: middle;
}
.site-footer-green-lab {
  margin-bottom: auto;
}
@media (max-width:  48em ) {
  .site-footer-green-lab {
    margin-bottom: 40px;
  }
}
.site-footer-green-lab img {
  max-width: 80px;
}
.site-footer-green-lab img:hover {
  opacity: 0.75;
}
.site-footer--logo {
  grid-column: span 4 / -1 !important;
  display: flex;
  flex-direction: column;
  justify-self: end;
  font-size: 12px;
  text-align: right;
}
@media (max-width:  48em ) {
  .site-footer--logo {
    grid-column: span 12 !important;
    text-align: left;
    justify-self: start;
  }
}
.site-footer--logo--icons {
  display: flex;
  margin-bottom: 40px;
  gap: 20px;
}
.site-footer--logo--icons iframe {
  max-width: 80px;
  max-height: 80px;
  margin-left: auto;
}
.site-footer--logo svg {
  vertical-align: middle;
  margin-bottom: 10px;
}
.site-footer--logo p {
  margin-bottom: 0;
  color: #9CA6B5;
  line-height: 1.8em;
}
.site-footer--logo a {
  color: #666F7A;
  font-size: 12px;
  font-family: 'Bw Seido Round', /*'Relative',*/ -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  text-decoration: none;
}
.site-footer--logo a:hover {
  text-decoration: underline;
}
.hero {
  position: relative;
  padding: 430px 40px 100px;
  background-color: #1D2530;
  overflow: hidden;
}
@media (max-width:  62em ) {
  .hero {
    padding-top: 385px;
  }
  .hero p {
    max-width: 100% !important;
  }
}
.hero .container {
  position: relative;
}
.hero h1 {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 56px !important;
  font-size: calc(40px + (16) * (100vw - 400px) / (860)) !important;
}
@media (min-width: 1260px) {
  .hero h1 {
    font-size: 56px;
  }
}
@media (max-width: 400px) {
  .hero h1 {
    font-size: 40px;
  }
}
@media (max-width:  48em ) {
  .hero h1 {
    line-height: 1.5em !important;
  }
}
.hero h1:before {
  content: '';
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: -8px;
  display: block;
  width: 282px;
  height: 25px;
  background-color: #7B66E2;
  border-radius: 25px;
}
.hero p {
  max-width: 50%;
  margin-top: 20px;
  color: #9CA6B5;
  font-size: 23px;
  font-size: calc(18px + (5) * (100vw - 400px) / (860));
}
@media (min-width: 1260px) {
  .hero p {
    font-size: 23px;
  }
}
@media (max-width: 400px) {
  .hero p {
    font-size: 18px;
  }
}
.hero--back {
  position: absolute;
  top: -120px;
  color: #9CA6B5;
  text-decoration: none;
}
@media (max-width:  62em ) {
  .hero--back {
    top: -50px;
  }
}
.hero--back + h1:before {
  background-color: #FF64B2;
}
.hero--details {
  position: absolute;
  z-index: 0;
  top: 50px;
  left: 0;
  max-width: 25vw;
  height: auto;
}
@media (max-width:  62em ) {
  .hero--details {
    display: none;
  }
}
.hero--image-mask {
  position: absolute;
  z-index: 0;
  bottom: 0;
  right: -1px;
  max-width: 50vw;
  height: auto;
}
@media (max-width:  62em ) {
  .hero--image-mask {
    top: 100px;
    bottom: auto;
    max-width: 490px;
  }
}
.hero--news {
  z-index: 0;
  margin-bottom: -330px;
  padding: 260px 40px 380px !important;
}
@media (max-width:  48em ) {
  .hero--news {
    padding: 120px 35px 400px !important;
  }
}
.hero--news .grid {
  align-items: end;
}
.hero--news h1 {
  grid-column: span 5;
}
@media (max-width:  62em ) {
  .hero--news h1 {
    grid-column: span 12;
  }
}
.hero--news p {
  grid-column: span 7;
}
@media (max-width:  62em ) {
  .hero--news p {
    grid-column: span 12;
  }
}
.hero--news svg {
  position: absolute;
}
.hero--news svg:first-of-type {
  bottom: 309px;
  right: -110px;
}
.hero--news svg:last-of-type {
  left: -190px;
  bottom: 20px;
  transform: rotateY(180deg);
}
.person {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  color: #1D2530;
  text-align: left;
  text-decoration: none;
  white-space: normal;
  appearance: none;
  background: #000;
  border: none;
  cursor: pointer;
}
.person img {
  width: 100%;
  height: auto;
  vertical-align: middle;
  border-radius: 3px;
}
.person strong {
  display: block;
  padding: 20px 22px 10px;
  color: #fff;
  font-size: 22px;
  font-size: calc(16px + (6) * (100vw - 400px) / (860));
  font-weight: normal;
}
@media (min-width: 1260px) {
  .person strong {
    font-size: 22px;
  }
}
@media (max-width: 400px) {
  .person strong {
    font-size: 16px;
  }
}
.person small {
  display: block;
  padding: 0 22px 20px;
  color: #FF64B2;
  font-size: 18px;
  font-size: calc(14px + (4) * (100vw - 400px) / (860));
  line-height: 1.5em;
}
@media (min-width: 1260px) {
  .person small {
    font-size: 18px;
  }
}
@media (max-width: 400px) {
  .person small {
    font-size: 14px;
  }
}
.career {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-gap: 40px;
  color: #1D2530;
  text-decoration: none;
  border: 1px solid #EDEDED;
  border-radius: 4px;
  overflow: hidden;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .career {
    display: flex;
  }
}
@media (max-width:  48em ) {
  .career {
    grid-gap: 0;
  }
}
.career img {
  width: 100%;
  height: 100%;
  align-self: stretch;
  object-fit: cover;
  background-color: #EDEDED;
}
@media (max-width:  48em ) {
  .career img {
    height: 150px;
  }
}
.career > span:first-child {
  grid-column: span 2;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .career > span:first-child {
    display: block;
    width: 200px;
    margin-right: 40px;
  }
}
@media (max-width:  48em ) {
  .career > span:first-child {
    grid-column: span 12;
  }
}
.career > span:last-child {
  display: block;
  grid-column: span 6;
  padding: 40px 40px 40px 0;
}
@media (max-width:  48em ) {
  .career > span:last-child {
    grid-column: span 12;
    padding: 40px;
  }
}
.career--location {
  display: block;
  margin: 7px 0 15px;
  color: #A4B1C1;
  font-size: 16px;
  font-size: calc(14px + (2) * (100vw - 400px) / (860));
}
@media (min-width: 1260px) {
  .career--location {
    font-size: 16px;
  }
}
@media (max-width: 400px) {
  .career--location {
    font-size: 14px;
  }
}
.career--more {
  color: #FF64B2;
}
.split {
  padding: 0 40px;
  background-color: #EDEDED;
}
@media (max-width:  62em ) {
  .split {
    padding: 0;
  }
}
.split .grid {
  align-items: center;
}
.split .grid > div {
  grid-column: span 6;
  padding: 40px 0 40px 40px;
}
.split .grid > div:last-child {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media (max-width:  62em ) {
  .split .grid > div {
    grid-column: span 12;
    padding: 0 40px 40px;
  }
}
.split-collage {
  position: relative;
  grid-column: span 6;
  align-self: stretch;
  padding: 0 !important;
}
.split-collage-inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 6px;
  width: 50vw;
}
@media (max-width:  62em ) {
  .split-collage-inner {
    position: relative;
    width: 100vw;
  }
}
.split-collage img {
  grid-column: span 1;
  grid-row: span 1;
  align-self: stretch;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.safari .split-collage img {
  height: unset;
}
.split-collage img:nth-child(3),
.split-collage img:nth-child(4) {
  grid-row: span 2;
}
.split-collage img:nth-child(2) {
  grid-row: span 3;
}
.split-img {
  grid-column: span 6;
  justify-self: end;
  align-self: stretch;
  object-fit: cover;
}
@media (max-width:  62em ) {
  .split-img {
    width: 100vw;
    grid-column: span 12;
  }
}
.split ul,
.split ol {
  margin: 0 0 10px 20px;
}
.split li {
  margin-bottom: 10px;
  line-height: 1.5em;
}
.input {
  position: relative;
  display: block;
}
.input:not(:last-child) {
  margin-bottom: 20px;
}
.input textarea,
.input input {
  width: 100%;
  padding: 15px 0 14px;
  font-family: 'Bw Seido Round', /*'Relative',*/ -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 18px;
  text-indent: 20px;
  letter-spacing: 0.03em;
  appearance: none;
  border: 1px solid rgba(92, 99, 107, 0.5);
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.1s ease;
}
.input textarea:focus,
.input input:focus {
  border-color: #7B66E2;
}
.input textarea:focus + span,
.input input:focus + span {
  color: #7B66E2;
  background-color: #fff;
  transform: translateY(-43px) scale(0.75) translateX(-15%);
}
.input textarea:not(:placeholder-shown):invalid,
.input input:not(:placeholder-shown):invalid {
  border-color: #FF64B2;
}
.input textarea:not(:placeholder-shown):invalid + span,
.input input:not(:placeholder-shown):invalid + span {
  color: #FF64B2;
  background-color: #fff;
  transform: translateY(-43px) scale(0.75) translateX(-15%);
}
.input textarea:not(:placeholder-shown) + span,
.input input:not(:placeholder-shown) + span {
  background-color: #fff;
  transform: translateY(-43px) scale(0.75) translateX(-15%);
}
.input textarea:required + span:after,
.input input:required + span:after {
  content: '*';
}
.input textarea {
  padding: 15px;
  text-indent: unset;
  resize: none;
}
.input textarea + span {
  top: 25px;
}
.input span {
  position: absolute;
  top: 50%;
  left: 10px;
  display: inline-block;
  padding: 0 10px;
  margin: -0.5px 0 0 1px;
  font-size: 18px;
  color: #A4B1C1;
  pointer-events: none;
  transform: translateY(-50%);
  transition: transform 0.1s ease, color 0.1s ease, background-color 0.1s ease;
}
.file {
  position: relative;
  display: block;
  width: 100%;
  padding: 20px;
  color: #9CA6B5;
  text-align: center;
  background-color: rgba(237, 237, 237, 0.5);
  border: 1px dashed rgba(92, 99, 107, 0.5);
  border-radius: 3px;
  cursor: pointer;
}
.file input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.file:not(:last-child) {
  margin-bottom: 20px;
}
.btn {
  display: block;
  width: 100%;
  padding: 20px;
  color: #fff;
  font-family: 'Bw Seido Round', /*'Relative',*/ -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 18px;
  appearance: none;
  background-color: #7B66E2;
  border: none;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.btn:hover {
  background-color: #6951de;
}
.btn-alt {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 15px 20px 15px 0;
  color: #7B66E2;
  font-size: 26px;
  font-size: calc(18px + (8) * (100vw - 400px) / (860));
  text-decoration: none;
}
@media (min-width: 1260px) {
  .btn-alt {
    font-size: 26px;
  }
}
@media (max-width: 400px) {
  .btn-alt {
    font-size: 18px;
  }
}
.btn-alt:after {
  content: '';
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 23px;
  border-right: 3px solid #7B66E2;
  border-bottom: 3px solid #7B66E2;
  transition: transform 0.15s ease;
}
.btn-alt:hover:after {
  transform: translateX(15px);
}
.checkbox {
  display: flex;
  align-items: center;
  font-size: 14px;
}
.checkbox:not(:last-child) {
  margin-bottom: 20px;
}
.checkbox input {
  margin-right: 10px;
}
.post {
  display: block;
  grid-column: span 6;
  color: #1D2530;
  text-decoration: none;
  background: #fff;
  border: 1px solid #EDEDED;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.1);
  border-radius: 16px;
  overflow: hidden;
}
@media (max-width:  48em ) {
  .post {
    grid-column: span 6;
  }
}
@media (max-width:  34em ) {
  .post {
    grid-column: span 12;
  }
}
.post img {
  width: 100%;
  height: auto;
  max-height: 340px;
}
.post > span {
  display: block;
  padding: 40px;
}
.post .h5 {
  margin-bottom: 20px;
}
.post time {
  display: block;
  margin-bottom: 10px;
  color: #7B66E2;
  font-size: 16px;
  font-size: calc(12px + (4) * (100vw - 400px) / (860));
  letter-spacing: 0;
}
@media (min-width: 1260px) {
  .post time {
    font-size: 16px;
  }
}
@media (max-width: 400px) {
  .post time {
    font-size: 12px;
  }
}
.post--featured {
  grid-column: span 12;
  margin-bottom: 100px;
  color: #1D2530;
  text-decoration: none;
  background: #fff;
  box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.1);
  border-radius: 16px;
  overflow: hidden;
}
.post--featured img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width:  62em ) {
  .post--featured img {
    height: 200px;
  }
}
.post--featured > span:first-child {
  grid-column: span 8;
}
@media (max-width:  62em ) {
  .post--featured > span:first-child {
    grid-column: span 12;
  }
}
.post--featured > span:last-child {
  grid-column: span 4;
  padding: 80px 40px 80px 0;
  display: flex;
  flex-direction: column;
}
@media (max-width:  62em ) {
  .post--featured > span:last-child {
    grid-column: span 12;
    padding: 0 40px 40px;
  }
}
.post--featured .label {
  color: #FF64B2;
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: auto;
}
.post--featured .logo {
  max-width: 300px;
  max-height: 40px;
  object-fit: contain;
  margin-bottom: 20px;
}
.post--featured .h3 {
  font-size: 28px;
}
.post--excerpt {
  margin-top: 20px;
  color: #9CA6B5;
  font-size: 16px;
  font-size: calc(14px + (2) * (100vw - 400px) / (860));
  line-height: 27px;
}
@media (min-width: 1260px) {
  .post--excerpt {
    font-size: 16px;
  }
}
@media (max-width: 400px) {
  .post--excerpt {
    font-size: 14px;
  }
}
.modal {
  position: relative;
  width: 100%;
  max-width: 1032px;
  margin: auto;
  padding-bottom: 40px;
  border-radius: 5px;
  transform: scale(0.9);
  transition: transform 0.3s ease;
}
@media (max-width:  48em ) {
  .modal {
    padding-bottom: 20px;
  }
}
.modal:before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 40px;
  background-color: #fff;
  box-shadow: 0 22px 40px 0 rgba(0, 0, 0, 0.2);
  border-radius: 5px;
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .modal:before {
    display: block;
  }
}
@media (max-width:  48em ) {
  .modal:before {
    bottom: 20px;
  }
}
.modal-open .modal {
  transform: scale(1);
}
.modal--overlay,
.modal--overlay-video {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  background-color: rgba(29, 37, 48, 0.9);
  backdrop-filter: blur(5px);
  overflow: auto;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
}
@media (max-width:  48em ) {
  .modal--overlay,
  .modal--overlay-video {
    padding: 20px;
  }
}
.modal-open .modal--overlay {
  opacity: 1;
  pointer-events: all;
}
.modal-open-video .modal--overlay-video {
  opacity: 1;
  pointer-events: all;
}
.modal--close {
  position: absolute;
  z-index: 3;
  top: 40px;
  right: 40px;
  height: 37px;
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
}
@media (max-width:  48em ) {
  .modal--close {
    top: 20px;
    right: 20px;
  }
}
.modal--close:before,
.modal--close:after {
  content: '';
  display: block;
  width: 67px;
  height: 4px;
  background-color: #fff;
  border-radius: 1px;
}
.modal--close:before {
  transform: rotate(30deg);
}
.modal--close:after {
  margin-top: -4px;
  transform: rotate(-30deg);
}
.thanks {
  padding: 80px 40px;
  text-align: center;
  border: 1px solid #CDD4DE;
  box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.13);
  border-radius: 3px;
}
.thanks h5 {
  margin: 40px 0 13.33333333px;
}
.offsite {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 27px 40px;
  grid-column: span 4;
  align-self: stretch;
  color: #1D2530;
  text-decoration: none;
  background-color: #000;
}
@media (max-width:  48em ) {
  .offsite {
    grid-column: span 6;
  }
}
@media (max-width:  34em ) {
  .offsite {
    grid-column: span 12;
  }
}
.offsite span {
  display: block;
}
.offsite-name {
  margin-bottom: 9px;
  color: #fff;
  font-size: 21px;
  font-size: calc(18px + (3) * (100vw - 400px) / (860));
  letter-spacing: 0;
}
@media (min-width: 1260px) {
  .offsite-name {
    font-size: 21px;
  }
}
@media (max-width: 400px) {
  .offsite-name {
    font-size: 18px;
  }
}
.offsite-role {
  margin-bottom: 7px;
  color: #A4B1C1;
  font-size: 16px;
  font-size: calc(14px + (2) * (100vw - 400px) / (860));
  letter-spacing: 0;
  line-height: 1.5em;
}
@media (min-width: 1260px) {
  .offsite-role {
    font-size: 16px;
  }
}
@media (max-width: 400px) {
  .offsite-role {
    font-size: 14px;
  }
}
.offsite-more {
  color: #7B66E2;
  font-size: 16px;
  font-size: calc(14px + (2) * (100vw - 400px) / (860));
}
@media (min-width: 1260px) {
  .offsite-more {
    font-size: 16px;
  }
}
@media (max-width: 400px) {
  .offsite-more {
    font-size: 14px;
  }
}
.offsite-more svg {
  margin-left: 5px;
  vertical-align: text-top;
}
.home {
  padding: 135px 40px 80px !important;
}
.home > section:not(:first-child) {
  margin: 210px auto;
}
@media (max-width:  62em ) {
  .home > section:not(:first-child) {
    margin: 100px auto;
  }
}
.home > section:last-child {
  margin: 210px auto 0;
}
@media (max-width:  62em ) {
  .home {
    padding: 40px;
  }
}
.home--hero {
  position: relative;
  padding: 400px 40px 340px;
  color: #fff;
  background-color: #1D2530;
  overflow: hidden;
}
@media (max-height: 720px) {
  .home--hero {
    padding: 250px 40px;
  }
}
@media (max-width:  62em ) {
  .home--hero {
    padding: 150px 40px 420px;
  }
}
@media (max-width:  62em ) {
  .home--hero {
    padding: 150px 40px 320px;
  }
}
.home--hero h1,
.home--hero p {
  position: relative;
  z-index: 1;
}
.home--hero h1 {
  grid-column: span 7;
}
@media (max-width:  62em ) {
  .home--hero h1 {
    grid-column: span 12;
  }
}
.home--hero h1 em {
  color: #FF64B2;
  font-style: normal;
  display: block;
}
.home--hero p {
  grid-column: span 7;
  color: #9CA6B5;
  font-size: 24px;
  font-size: calc(18px + (6) * (100vw - 400px) / (860));
  line-height: 1.7em;
}
@media (min-width: 1260px) {
  .home--hero p {
    font-size: 24px;
  }
}
@media (max-width: 400px) {
  .home--hero p {
    font-size: 18px;
  }
}
@media (max-width:  62em ) {
  .home--hero p {
    grid-column: span 12;
  }
}
.home--hero img,
.home--hero canvas {
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: -50%;
  width: 90vw;
  height: 90vw;
  max-width: 1600px;
  max-height: 1600px;
  transform: translateX(35%);
}
@media (max-width:  62em ) {
  .home--hero img,
  .home--hero canvas {
    left: -15vw;
    bottom: -60%;
    width: 130vw;
    height: 130vw;
    transform: translateX(0);
  }
}
@media (max-width:  48em ) {
  .home--hero img,
  .home--hero canvas {
    left: -25vw;
    bottom: -30%;
    width: 150vw;
    height: 150vw;
    transform: translateX(0);
  }
}
.home--intro {
  position: relative;
  align-items: center;
  padding: 117px 0 224px;
  color: #fff;
}
.home--intro-btn {
  display: inline-block;
  margin-top: 40px;
  padding: 12px 32px;
  color: #1D2530;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  background: #fff;
  border-radius: 28px;
}
.home--intro:first-child::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 100%;
  width: 100vw;
  height: 365px;
  background-image: linear-gradient(to bottom, rgba(29, 37, 48, 0), #1D2530);
  transform: translateX(-50%);
}
.home--intro::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  background-color: #1D2530;
  transform: translateX(-50%);
}
.home--intro:first-child {
  margin-top: -135px !important;
}
.home--intro .figure {
  position: relative;
  grid-column: span 6;
}
.home--intro .figure figure {
  position: absolute;
  top: 50%;
  right: -20px;
  width: 50vw;
  height: auto;
  transform: translateY(-50%);
}
@media (max-width:  48em ) {
  .home--intro .figure figure {
    position: relative;
    top: unset;
    right: unset;
    width: 100%;
    transform: none;
  }
}
.home--intro .figure svg {
  max-width: 100%;
  height: auto;
  pointer-events: none;
  mask-image: radial-gradient(ellipse 30% 30% at 50% 50%, hsl(0, 0%, 0%) 0%, hsla(0, 0%, 0%, 0.987) 8.1%, hsla(0, 0%, 0%, 0.951) 15.5%, hsla(0, 0%, 0%, 0.896) 22.5%, hsla(0, 0%, 0%, 0.825) 29%, hsla(0, 0%, 0%, 0.741) 35.3%, hsla(0, 0%, 0%, 0.648) 41.2%, hsla(0, 0%, 0%, 0.55) 47.1%, hsla(0, 0%, 0%, 0.45) 52.9%, hsla(0, 0%, 0%, 0.352) 58.8%, hsla(0, 0%, 0%, 0.259) 64.7%, hsla(0, 0%, 0%, 0.175) 71%, hsla(0, 0%, 0%, 0.104) 77.5%, hsla(0, 0%, 0%, 0.049) 84.5%, hsla(0, 0%, 0%, 0.013) 91.9%, hsla(0, 0%, 0%, 0) 100%);
}
@media (max-width:  48em ) {
  .home--intro .figure {
    grid-column: span 12;
  }
}
.home--intro .copy {
  grid-column: span 6;
  font-size: 16px;
}
@media (max-width:  48em ) {
  .home--intro .copy {
    grid-column: span 12;
  }
}
.home--intro .copy h2 + p {
  color: #9CA6B5;
  font-size: 24px !important;
  line-height: 1.5em;
}
.home--intro .copy h2 + p strong {
  color: #fff;
  font-weight: normal;
}
.home--team {
  position: relative;
  z-index: 1;
  align-items: center;
}
.home--team:before {
  content: '';
  position: absolute;
  z-index: -1;
  top: -80px;
  left: 50%;
  bottom: -80px;
  width: 100vw;
  background-color: #e8ecef;
  transform: translateX(-50%);
}
.home--team:after {
  content: '';
  position: absolute;
  z-index: 2;
  top: 0;
  left: 50%;
  display: block;
  width: 285px;
  height: 100%;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(232, 236, 239, 0.8) 100%);
  transform: translateX(calc(50vw - 100%));
  pointer-events: none;
}
@media (max-width:  48em ) {
  .home--team:after {
    display: none;
  }
}
.home--team > div {
  grid-column: span 3;
}
@media (max-width:  62em ) {
  .home--team > div {
    grid-column: span 6;
  }
}
@media (max-width:  48em ) {
  .home--team > div {
    grid-column: span 12;
  }
}
.home--team ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-column: 5 / -1;
  align-items: stretch;
  list-style: none;
  white-space: nowrap;
  overflow: visible;
}
@media (max-width:  62em ) {
  .home--team ul {
    grid-column: span 6;
  }
}
@media (max-width:  48em ) {
  .home--team ul {
    grid-column: span 12;
    min-width: 1000px;
  }
}
.home--team ul a {
  height: 100%;
}
.home--team li {
  display: inline-block;
  width: 285px;
  margin-right: 40px;
}
@media (max-width:  48em ) {
  .home--team li {
    width: 193.5px;
    margin-right: 20px;
  }
}
.home--news ul {
  align-items: stretch;
  list-style: none;
  margin-top: 40px;
}
.home--news li {
  grid-column: span 6;
}
@media (max-width:  48em ) {
  .home--news li {
    grid-column: span 12;
  }
}
.home--news a {
  height: 100%;
}
.about {
  padding: 105px 40px 0 !important;
}
@media (max-width:  62em ) {
  .about {
    padding: 40px;
  }
}
.about p:first-child {
  margin-bottom: 20px;
}
.about .grid {
  grid-row-gap: 100px;
}
.about--text {
  grid-column: span 6;
}
@media (max-width:  48em ) {
  .about--text {
    grid-column: span 12;
    padding-bottom: 40px;
  }
}
.about--spacer {
  grid-column: span 1;
}
@media (max-width: 1100px) {
  .about--spacer {
    display: none;
  }
}
.about--image {
  position: relative;
  z-index: 2;
  grid-column: span 6;
  width: 100%;
  margin-top: 20px;
}
@media (max-width:  48em ) {
  .about--image {
    grid-column: span 12;
    width: auto;
    max-width: 100vw;
  }
}
.about--teamCopy {
  padding-top: 50px;
  margin-bottom: 0;
  grid-row-gap: 40px !important;
}
.about--teamCopy h2 {
  grid-column: span 4;
}
@media (max-width:  62em ) {
  .about--teamCopy h2 {
    grid-column: span 12;
  }
}
.about--teamCopy p {
  grid-column: span 8;
}
@media (max-width:  62em ) {
  .about--teamCopy p {
    grid-column: span 12;
  }
}
.about--teamCopy h2 + p {
  margin-top: 100px;
}
@media (max-width:  62em ) {
  .about--teamCopy h2 + p {
    margin-top: 0;
  }
}
.investors {
  width: 1400px;
  max-width: calc(100vw - 40px * 2);
  margin: 100px auto;
}
.investors ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 40px;
}
.investors ul li {
  flex: 1 0 33%;
  margin-bottom: 80px;
}
.investors ul li a {
  display: block;
}
.investors ul li a:hover {
  opacity: 0.5;
}
.investors ul li a img {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 300px;
  max-height: 160px;
  object-fit: contain;
}
.investors ul li a img.m-ventures {
  max-height: 100px;
}
.investors ul li a img.pfizer {
  max-height: 80px;
}
.tech {
  background-color: #E8ECEF;
  overflow-x: hidden;
}
.tech h2 {
  position: relative;
  font-size: 40px;
  font-size: calc(34px + (6) * (100vw - 400px) / (860));
  line-height: 1.7em;
}
@media (min-width: 1260px) {
  .tech h2 {
    font-size: 40px;
  }
}
@media (max-width: 400px) {
  .tech h2 {
    font-size: 34px;
  }
}
.tech h3 {
  font-size: 30px;
  font-size: calc(24px + (6) * (100vw - 400px) / (860));
  line-height: 1.5em;
}
@media (min-width: 1260px) {
  .tech h3 {
    font-size: 30px;
  }
}
@media (max-width: 400px) {
  .tech h3 {
    font-size: 24px;
  }
}
.tech svg {
  vertical-align: middle;
}
.tech svg.hide {
  visibility: hidden;
  pointer-events: none;
}
.tech .container {
  max-width: 1245px;
}
.tech-card {
  padding: 40px 30px;
  background: #fff;
  box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.13);
  border-radius: 5px;
}
.tech-card p {
  font-size: 14px;
  font-size: calc(12px + (2) * (100vw - 400px) / (860));
  line-height: 1.5em;
}
@media (min-width: 1260px) {
  .tech-card p {
    font-size: 14px;
  }
}
@media (max-width: 400px) {
  .tech-card p {
    font-size: 12px;
  }
}
.tech-peptide {
  display: flex;
  align-items: center;
  width: 100%;
}
.tech-peptide-part {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  transition: all 0.01s ease, opacity 0.15s ease;
}
.tech-peptide-part.fade {
  opacity: 0.3 !important;
}
.tech-peptide svg {
  display: inline-block;
  width: auto;
  height: auto;
  vertical-align: middle;
}
.tech-peptide svg:last-child {
  margin-left: -1.6%;
}
.tech-approach {
  position: relative;
  padding: 145px 40px 0;
}
@media (max-width:  62em ) {
  .tech-approach {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.tech-approach .container {
  position: relative;
  z-index: 2;
  padding-bottom: 100px;
  border-bottom: 5px solid #DCE3EC;
}
.tech-approach-text {
  grid-column: span 7;
}
@media (max-width:  62em ) {
  .tech-approach-text {
    grid-column: span 12;
  }
}
.tech-approach-peptide {
  display: flex;
  align-items: center;
  grid-column: span 5;
}
@media (min-width:  62em ) {
  .tech-approach-peptide svg:last-child {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: 170% 50%;
  }
  @keyframes approachMhcIn {
    0% {
      transform: rotate(90deg) translateX(15%);
      opacity: 0;
    }
    50% {
      transform: rotate(45deg) translateX(15%);
      opacity: 0.5;
    }
    100% {
      transform: rotate(0deg);
      opacity: 1;
    }
  }
  .ready .in .tech-approach-peptide svg:last-child {
    animation: approachMhcIn linear 4s forwards;
  }
}
@media (max-width:  62em ) {
  .tech-approach-peptide {
    grid-column: span 12;
  }
  .tech-approach-peptide svg {
    flex-grow: 1;
  }
}
.tech-approach-solid {
  position: absolute;
  top: 0;
  left: 0;
  bottom: -10%;
  display: block;
  width: 55%;
  background-color: #D4DCE1;
}
@media (max-width:  62em ) {
  .tech-approach-solid {
    top: auto;
    left: -120px;
    height: 500px;
    width: 100px;
  }
}
.tech-approach-solid::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: calc(100% + 85px);
  height: 30%;
  background-image: linear-gradient(to top, #E8ECEF 20%, rgba(232, 236, 239, 0) 100%);
}
.tech-approach-solid svg {
  position: absolute;
  top: 0;
  left: 100%;
  bottom: 0;
  height: 100%;
}
.tech-approach-dotty {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 100%;
  width: auto;
  height: 420px;
  transform: translate3d(-15%, -62%, 0);
}
@media (min-width:  62em ) {
  .tech-approach-dotty {
    transform: translate3d(-15%, -62%, 0) rotate(90deg);
  }
  @keyframes approachDottyIn {
    from {
      transform: translate3d(-15%, -62%, 0) rotate(90deg);
    }
    to {
      transform: translate3d(-15%, -62%, 0) rotate(0deg);
    }
  }
  .ready .in .tech-approach-dotty {
    animation: approachDottyIn linear 4s forwards;
  }
}
@media (max-width:  62em ) {
  .tech-approach-dotty {
    top: auto;
    left: auto;
    right: -340px;
    bottom: -7%;
    height: 200px;
    transform: none;
  }
}
.tech-approach-a,
.tech-approach-b,
.tech-approach-c {
  position: absolute;
  z-index: -1;
}
.tech-approach-a {
  top: 0;
  left: calc(50vw + 35%);
}
.tech-approach-b {
  top: 0;
  left: calc(50vw + 15%);
}
.tech-approach-c {
  bottom: 20px;
  left: calc(50vw + 12%);
}
.tech-benefit {
  padding: 100px 40px;
}
@media (max-width:  62em ) {
  .tech-benefit {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.tech-benefit h2 {
  grid-column: span 12;
}
.tech-benefit-peptide {
  display: flex;
  grid-column: span 12;
  margin-top: 60px;
}
.tech-benefit-peptide .wrap {
  display: inline-block;
  margin: auto;
  padding: 0 6% 2%;
  border: 5px solid #DCE3EC;
  border-top: none;
}
.tech-benefit-peptide .tech-peptide {
  margin-top: -60px;
  max-width: 378px;
}
.tech-benefit-graphics {
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin-bottom: 40px;
}
.tech-benefit-graphics svg {
  max-width: 25%;
  height: auto;
  vertical-align: middle;
}
.tech-benefit-text {
  position: relative;
  grid-column: 3 / 11;
}
@media (max-width:  62em ) {
  .tech-benefit-text {
    grid-column: span 12;
  }
}
.tech-benefit-text::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: -40px;
  left: 50%;
  bottom: -100px;
  width: 5px;
  background-color: #DCE3EC;
  transform: translateX(-50%);
}
.tech-platform {
  padding: 64px 40px 0;
}
@media (max-width:  62em ) {
  .tech-platform {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.tech-platform .grid {
  position: relative;
  grid-template-columns: repeat(11, 1fr);
}
.tech-platform .grid:last-child {
  padding: 40px 0 120px;
}
.tech-platform .grid:last-child::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  bottom: 0;
  width: 5px;
  background-color: #DCE3EC;
  transform: translateX(-50%);
}
.tech-platform h2 {
  grid-column: span 11;
}
@media (max-width:  62em ) {
  .tech-platform-scroll {
    margin: 0 -10px;
    padding: 0 10px;
    overflow: auto;
    scroll-snap-type: x mandatory;
  }
  .tech-platform-scroll .container {
    min-width: calc(100vw * 1.8);
  }
  .tech-platform-scroll .container::after {
    content: '';
    position: absolute;
    top: 0;
    left: 100%;
    display: block;
    width: 20px;
    height: 100%;
  }
  .tech-platform-scroll .container:last-child {
    display: flex;
  }
  .tech-platform-scroll .container:last-child > * {
    position: relative;
    scroll-snap-align: center;
    width: calc(50% - 10px);
  }
  .tech-platform-scroll .container:last-child > *::before {
    content: attr(data-before);
    position: absolute;
    top: -30px;
    left: 50%;
    width: 100%;
    color: #A4B1C1;
    font-size: 16px;
    letter-spacing: 0;
    text-align: center;
    transform: translateX(-50%);
  }
  .tech-platform-scroll .container:last-child > *:first-child {
    margin-right: 20px;
  }
}
.tech-platform-peptide {
  display: flex;
  align-items: center;
  margin-top: 60px;
  grid-column: span 11;
}
@media (max-width:  62em ) {
  .tech-platform-peptide {
    justify-content: space-between;
  }
}
.tech-platform-peptide .part {
  text-align: center;
  width: 50%;
}
@media (max-width:  62em ) {
  .tech-platform-peptide .part svg {
    width: 80%;
    height: auto;
    margin: auto;
  }
}
.tech-platform-peptide .people {
  position: relative;
  display: inline-block;
  padding: 0 3% 2%;
}
.tech-platform-peptide .people::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  bottom: 0;
  border: 5px solid #DCE3EC;
  border-top: none;
}
.tech-platform-text {
  grid-column: span 5;
}
.tech-platform-text:last-child {
  grid-column: 7 / -1;
}
.tech-platform-text .feature {
  display: flex;
}
@media (max-width:  62em ) {
  .tech-platform-text .feature {
    flex-wrap: wrap;
  }
}
.tech-platform-text .feature:not(:last-child) {
  margin-bottom: 16px;
}
.tech-platform-text p {
  flex-shrink: 9999;
}
.tech-platform-text svg {
  width: 95px;
  margin-right: 35px;
}
@media (max-width:  62em ) {
  .tech-platform-text svg {
    margin: 0 0 20px;
  }
}
.tech-what {
  padding: 0 40px 60px;
  background-color: #D4DCE1;
  border-top: 5px solid #D4DCE1;
}
@media (max-width:  62em ) {
  .tech-what {
    padding-top: 0;
    padding-left: 10px;
    padding-right: 10px;
  }
}
.tech-what .grid {
  position: relative;
  z-index: 2;
  grid-template-columns: repeat(11, 1fr);
  max-width: 1800px;
  margin: auto;
}
@media (max-width:  62em ) {
  .tech-what .grid {
    grid-gap: 0;
  }
}
.tech-what h2 {
  text-align: center;
  font-size: 32px;
  line-height: 1.5em;
  margin: 4% 0 3%;
}
.tech-what-text,
.tech-what-targets {
  grid-column: span 3;
  align-self: end;
}
@media (max-width: 80em) {
  .tech-what-text,
  .tech-what-targets {
    grid-column: span 4;
  }
}
@media (max-width:  62em ) {
  .tech-what-text,
  .tech-what-targets {
    grid-column: span 11;
    grid-row: 1;
  }
}
@media (max-width:  62em ) {
  .tech-what-text {
    margin-top: 60px;
  }
}
@media (max-width:  62em ) {
  .tech-what-targets {
    grid-row: 3;
  }
}
.tech-what-graphic {
  position: relative;
  z-index: -1;
  grid-column: span 5;
  align-self: end;
}
@media (max-width: 80em) {
  .tech-what-graphic {
    grid-column: span 3;
  }
}
@media (max-width:  62em ) {
  .tech-what-graphic {
    grid-column: span 11;
    grid-row: 2;
    height: 700px;
  }
}
.tech-what-graphic .tech-peptide {
  position: absolute;
  bottom: 61.1%;
  left: 23.5%;
  width: auto;
  transform: translateX(-50%) rotate(-106deg);
}
.tech-what-graphic .tech-peptide svg {
  height: 62px;
}
.tech-what-graphic .tech-peptide svg.hide {
  transform: rotate(-106deg);
}
.tech-what-graphic .tech-peptide svg:first-child {
  margin-bottom: 3%;
  margin-left: -13%;
}
.tech-what-graphic .tech-peptide svg:last-child {
  margin-left: 1%;
}
@media (max-width:  62em ) {
  .tech-what-graphic .tech-peptide {
    top: 20%;
  }
  .tech-what-graphic .tech-peptide svg {
    height: 60px;
  }
}
.tech-what-graphic > svg {
  position: relative;
  z-index: -1;
  left: 50%;
  bottom: -60px;
  width: calc(100% + 300px);
  height: auto;
  max-width: 1121px;
  transform: translateX(-50%);
}
@media (max-width:  62em ) {
  .tech-what-graphic > svg {
    top: 0;
    bottom: 0;
    width: auto;
    height: calc(100% + 10px);
  }
}
.tech-antigens > div {
  margin-bottom: 120px;
}
.tech-antigens > div .tech-card {
  grid-column: span 12;
}
.tech-antigens > div .tech-card div {
  display: flex;
  margin-top: 24px;
}
.tech-antigens > div .tech-card div p {
  flex-grow: 1;
  flex-basis: 0;
  margin-right: 40px;
}
.tech-footnote {
  background-color: #1D2530;
  padding: 3% 0;
  border-bottom: 1px solid #344051;
  border-top: 1px solid #344051;
  text-align: center;
}
.tech-footnote > div {
  display: flex;
}
@media (max-width:  48em ) {
  .tech-footnote > div {
    flex-direction: column;
  }
}
.tech-footnote p {
  margin-bottom: 0;
  color: #fff;
}
.tech-footnote p small {
  color: #fff;
  font-size: 11px;
}
.tech-footnote a {
  margin-left: auto;
  margin-bottom: auto;
  padding: 4px 24px;
  border: 1px solid #FF64B2;
  border-radius: 40px;
  color: #FF64B2;
  text-decoration: none;
  transition: background 0.5s ease-in-out;
}
.tech-footnote a:hover {
  background: #FF64B2;
  color: #1D2530;
}
@media (max-width:  48em ) {
  .tech-footnote a {
    margin: 20px;
  }
}
.dark-antigens {
  padding: 117px 0 120px;
}
.dark-antigens h2 {
  text-align: left;
}
.dark-antigens .copy h2 + p {
  font-size: 20px !important;
}
.tech-products {
  padding: 117px 0 120px;
}
.tech-products h2 {
  text-align: left !important;
  line-height: 1.3em;
}
.tech-products .copy h2 + p {
  font-size: 20px !important;
}
.tech-products .figure div {
  position: absolute;
  top: 0;
  pointer-events: none;
  z-index: 2;
}
.tech-products .figure img {
  max-width: 800px;
}
@media (max-width:  75em ) {
  .tech-products .figure img {
    max-width: 600px;
  }
}
@media (max-width:  48em ) {
  .tech-products .figure img {
    display: block;
    margin: 0 auto;
  }
}
.tech-products .figure img:first-child {
  animation: spin 60s linear infinite;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.tech-products .figure img.bg {
  position: relative;
  z-index: 1;
  animation: pulse 5s ease-in-out infinite;
}
@keyframes pulse {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
}
.team {
  grid-row-gap: 40px !important;
  margin-top: 40px;
}
.team h3 {
  position: relative;
  margin-top: 135px;
  grid-column: span 12;
}
.team h3 a {
  position: absolute;
  top: -40px;
}
.team button {
  grid-column: span 3;
}
@media (max-width:  62em ) {
  .team button {
    grid-column: span 4;
  }
}
@media (max-width:  48em ) {
  .team button {
    grid-column: span 6;
  }
}
@media (max-width:  34em ) {
  .team button {
    grid-column: span 12;
  }
}
.team--modal-header {
  display: flex;
  align-items: flex-end;
  color: #fff;
  background-color: #000;
  border-radius: 5px 5px 0 0;
  overflow: hidden;
}
@media (max-width:  48em ) {
  .team--modal-header {
    display: block;
  }
  .team--modal-header img {
    width: 100%;
  }
}
.team--modal-header > div {
  padding: 60px;
  flex-shrink: 9999;
}
@media (max-width:  48em ) {
  .team--modal-header > div {
    padding: 40px;
  }
}
.team--modal-header h5 {
  margin-top: -5px;
  margin-bottom: 20px;
  color: #FF64B2;
}
.team--modal-header p {
  color: #9CA6B5;
}
.team--modal-text {
  padding: 80px 100px;
}
@media (max-width:  48em ) {
  .team--modal-text {
    padding: 40px;
  }
}
.careers {
  padding: 110px 40px;
}
@media (max-width:  62em ) {
  .careers {
    padding: 40px;
  }
}
.careers div {
  grid-column: span 4;
}
@media (max-width:  62em ) {
  .careers div {
    grid-column: span 12;
  }
}
.careers ul {
  list-style: none;
  grid-column: span 8;
}
@media (max-width:  62em ) {
  .careers ul {
    grid-column: span 12;
  }
}
.careers li:not(:last-child) {
  margin-bottom: 40px;
}
.careers-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 70px 40px;
  color: #9CA6B5;
  text-align: center;
  background-color: #EDEDED;
  border: 1px solid #EDEDED;
  border-radius: 4px;
}
.careers-empty p {
  max-width: 600px;
}
.careers-split ul {
  list-style: none;
  margin: 0 0 10px 0;
}
.careers-split ul em {
  color: #7B66E2;
  font-style: normal;
}
.careers-modal {
  max-width: 600px;
  padding: 40px 40px 80px;
}
.job {
  padding: 130px 40px;
}
@media (max-width:  62em ) {
  .job {
    padding: 40px;
  }
}
.job--error {
  display: none;
  margin: 40px 0;
  color: darkred;
  font-weight: bold;
}
.job--error.show {
  display: block;
}
.job--text {
  grid-column: span 6;
  padding-top: 20px;
  line-height: 1.7em;
}
@media (max-width:  62em ) {
  .job--text {
    grid-column: span 12;
  }
}
.job--text h3:not(:first-child) {
  margin-top: 80px;
}
.job--text h3 {
  margin-bottom: 20px;
  font-size: 32px;
}
.job--text ul,
.job--text-list {
  list-style: none;
  margin: 25px 0 0 42px;
}
.job--text ul li,
.job--text-list li {
  position: relative;
  line-height: 30px;
}
.job--text ul li:before,
.job--text-list li:before {
  content: '';
  position: absolute;
  top: 2px;
  left: -42px;
  display: block;
  width: 24px;
  height: 24px;
  background-image: url(../svg/check.svg);
}
.job--text ul li:not(:last-child),
.job--text-list li:not(:last-child) {
  margin-bottom: 15px;
}
.job--apply {
  grid-column: span 5 / -1;
}
@media (max-width:  62em ) {
  .job--apply {
    grid-column: span 12;
  }
}
.job--apply h2 {
  margin-bottom: 20px;
}
.job--apply form {
  margin-top: 20px;
  padding: 40px;
  border: 1px solid #CDD4DE;
  box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.13);
  border-radius: 3px;
}
.job--reference {
  margin-bottom: 30px;
  color: #A4B1C1;
  font-family: 'Bw Seido Round', /*'Relative',*/ -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: uppercase;
}
.contact {
  padding: 100px 40px;
}
.contact--direct {
  grid-column: span 5;
}
@media (max-width:  62em ) {
  .contact--direct {
    grid-column: span 12;
  }
}
.contact--direct h4 {
  display: block;
  margin-top: 40px;
  margin-bottom: 20px;
  color: #7B66E2;
  font-size: 18px;
  font-size: calc(14px + (4) * (100vw - 400px) / (860));
}
@media (min-width: 1260px) {
  .contact--direct h4 {
    font-size: 18px;
  }
}
@media (max-width: 400px) {
  .contact--direct h4 {
    font-size: 14px;
  }
}
.contact--direct p {
  font-size: 22px;
  font-size: calc(16px + (6) * (100vw - 400px) / (860));
  line-height: 1.7em;
}
@media (min-width: 1260px) {
  .contact--direct p {
    font-size: 22px;
  }
}
@media (max-width: 400px) {
  .contact--direct p {
    font-size: 16px;
  }
}
.contact--direct a {
  display: block;
  margin-top: 10px;
}
.contact--direct a.social {
  display: inline-block;
  margin-right: 10px;
}
.contact--direct > a:last-child {
  margin-top: 40px;
}
.contact--direct .btn {
  margin-top: 40px;
  font-size: 18px;
  font-size: calc(16px + (2) * (100vw - 400px) / (860));
  text-align: center;
  text-decoration: none;
  background-color: #5AD4FF;
  transition: background-color 0.15s ease;
}
@media (min-width: 1260px) {
  .contact--direct .btn {
    font-size: 18px;
  }
}
@media (max-width: 400px) {
  .contact--direct .btn {
    font-size: 16px;
  }
}
.contact--direct .btn:hover {
  background-color: #00b4f3;
}
.contact--direct .btn svg {
  vertical-align: text-top;
  margin-left: 10px;
}
.contact--form {
  grid-column: span 7 / -1;
}
@media (max-width:  62em ) {
  .contact--form {
    grid-column: span 12;
  }
}
.contact--form .row {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: 1fr 1fr;
}
@media (max-width:  62em ) {
  .contact--form .row {
    display: block;
  }
}
.contact--form .row .input {
  margin-bottom: 20px;
}
.news {
  position: relative;
  z-index: 1;
  padding: 0 40px 100px;
}
.news > .grid {
  margin-bottom: 120px;
  grid-row-gap: 40px;
}
.news > .grid header {
  grid-column: 1 / -1;
}
.news > .grid header h3 {
  margin-bottom: 10px;
  font-size: 32px;
  display: flex;
  align-items: center;
}
.news > .grid header h3 svg {
  height: 32px;
  width: 32px;
  margin-right: 8px;
}
.news > .grid header p {
  margin-top: 0;
  opacity: 0.5;
  font-size: 20px;
}
.news--more {
  grid-column: 1 / -1;
  padding: 18px;
  color: #7B66E2;
  font-size: 16px;
  font-family: 'Bw Seido Round', /*'Relative',*/ -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  appearance: none;
  border: none;
  border-radius: 6px;
  background: rgba(123, 102, 226, 0.16);
  cursor: pointer;
}
#events {
  margin-bottom: 40px !important;
}
.event-list {
  margin-bottom: 40px !important;
}
.article {
  padding: 0 40px 100px;
}
.article h1 {
  margin-top: 70px;
}
.article h4 {
  font-size: 26px;
  font-size: calc(20px + (6) * (100vw - 400px) / (860));
  line-height: 42px;
  color: #7B66E2;
}
@media (min-width: 1260px) {
  .article h4 {
    font-size: 26px;
  }
}
@media (max-width: 400px) {
  .article h4 {
    font-size: 20px;
  }
}
.article time {
  display: block;
  margin-top: 20px;
  margin-bottom: 70px;
  color: #9CA6B5;
}
.article img {
  width: 100%;
  grid-column: span 5;
  object-fit: cover;
  border-radius: 3px;
}
@media (max-width:  34em ) {
  .article img {
    grid-column: span 10;
  }
}
.article img:last-child:nth-child(odd) {
  grid-column: span 10;
}
.article ul {
  margin-left: 20px;
}
.article blockquote {
  margin: 40px 0;
  grid-row-gap: 20px;
}
.article blockquote:last-child {
  margin-bottom: 0;
}
.article blockquote p,
.article blockquote cite {
  margin-bottom: 0;
  grid-column: 2 / -1;
}
@media (max-width:  48em ) {
  .article blockquote p,
  .article blockquote cite {
    grid-column: span 10;
  }
}
.article blockquote p {
  font-size: 26px;
  font-size: calc(20px + (6) * (100vw - 400px) / (860));
  line-height: 42px;
  color: #7B66E2;
}
@media (min-width: 1260px) {
  .article blockquote p {
    font-size: 26px;
  }
}
@media (max-width: 400px) {
  .article blockquote p {
    font-size: 20px;
  }
}
@media (max-width:  48em ) {
  .article blockquote p {
    line-height: 1.7em;
  }
}
.article blockquote p:before {
  content: open-quote;
}
.article blockquote p:after {
  content: close-quote;
}
.article blockquote cite:before {
  content: '\2014\00a0';
}
.article blockquote.small p {
  font-size: 18px;
  font-size: calc(16px + (2) * (100vw - 400px) / (860));
  line-height: 30px;
}
@media (min-width: 1260px) {
  .article blockquote.small p {
    font-size: 18px;
  }
}
@media (max-width: 400px) {
  .article blockquote.small p {
    font-size: 16px;
  }
}
.article hr {
  border: 1px solid #EDEDED;
  margin: 40px 0;
}
.article--banner {
  width: 100vw;
  height: 70vh;
  object-fit: cover;
}
.article--text {
  grid-column: 2 / -2;
}
@media (max-width:  62em ) {
  .article--text {
    grid-column: span 12;
  }
}
.article--text .grid {
  margin: 40px 0;
  grid-template-columns: repeat(10, 1fr);
}
.article--text .grid:last-child {
  margin-bottom: 0;
}
.article--text .text {
  text-align: justify;
}
.article--text .text.first ul {
  font-size: 20px;
}
.article--text .text.first ul li {
  margin-bottom: 10px;
}
.article--split {
  display: flex;
  margin-bottom: 17.5px;
}
.article--split img {
  width: 200px;
  height: 200px;
  margin: 10px 40px 10px 0;
}
@media (max-width:  48em ) {
  .article--split {
    display: block;
  }
}
.page {
  padding: 100px 40px;
}
.page article {
  grid-column-start: 3;
  grid-column-end: span 8;
}
@media (max-width:  48em ) {
  .page article {
    grid-column: span 12;
  }
}
.page article ul,
.page article ol {
  margin: 0 0 40px 40px;
  list-style: disc;
}
.page article ol {
  list-style: decimal;
}
.page article ol ol {
  margin-top: 20px;
  list-style: lower-alpha;
}
.page article li {
  line-height: 30px;
}
.page article li:not(:last-child) {
  margin-bottom: 20px;
}
.page article table {
  margin: 40px 0;
  border-collapse: collapse;
  width: 100%;
  max-width: 800px;
}
.page article td {
  padding: 10px;
  border: 1px solid #eee;
  line-height: 30px;
}
.page article h2,
.page article h3 {
  margin-bottom: 20px;
}
.page article h3 {
  font-size: 24px;
  font-weight: 600;
}
.page nav {
  grid-column-start: 3;
  grid-column-end: span 8;
  position: sticky;
  top: 20px;
}
@media (max-width:  48em ) {
  .page nav {
    grid-column: span 12;
    position: initial;
  }
}
.page nav ul {
  display: flex;
  gap: 20px;
}
@media (max-width:  48em ) {
  .page nav ul {
    flex-direction: column;
  }
}
.page nav ul li {
  width: 100%;
  list-style: none;
}
.page nav ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 16px 40px 12px;
  background: #ffffff;
  border: 1px solid #EDEDED;
  border-radius: 10px;
  text-align: center;
  text-decoration: none;
  color: #9CA6B5;
  line-height: 1.3em;
  font-weight: 600;
}
.page nav ul li a img,
.page nav ul li a svg {
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
}
.page nav ul li a.active {
  border: 1px solid #7B66E2;
  background: #f1f0fc;
  box-shadow: 0 2px 4px rgba(123, 102, 226, 0.24), 0 8px 24px rgba(123, 102, 226, 0.1);
  color: #7B66E2;
}
.page nav ul li a.active svg g {
  stroke: #7B66E2;
}
.error-404 {
  min-height: 100%;
  padding: 0 40px 100px;
  color: #fff;
  background-color: #1D2530;
}
.error-404--text {
  grid-column: span 6;
}
@media (max-width:  62em ) {
  .error-404--text {
    grid-column: span 12;
  }
}
.error-404--close {
  position: relative;
  grid-column: span 12;
  margin-top: 70px;
  padding: 80px 0;
}
.error-404--close:before,
.error-404--close:after {
  content: '';
  position: absolute;
  left: 50%;
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #344051;
  transform: translateX(-50%);
}
.error-404--close:before {
  top: 0;
}
.error-404--close:after {
  bottom: 0;
}
.error-404--close code {
  display: inline-block;
  margin-top: 5px;
  padding: 0 12px;
  color: #A4B1C1;
  font-size: 16px;
  font-size: calc(14px + (2) * (100vw - 400px) / (860));
  background-color: #344051;
  border-radius: 3px;
}
@media (min-width: 1260px) {
  .error-404--close code {
    font-size: 16px;
  }
}
@media (max-width: 400px) {
  .error-404--close code {
    font-size: 14px;
  }
}
@media (min-width:  48em ) {
  .error-404--close code {
    min-width: 400px;
  }
}
.error-404--close ul {
  list-style: none;
}
.error-404--close li:not(:last-child) {
  margin-bottom: 10px;
}
.error-404--close a {
  display: block;
  color: #5AD4FF;
}
.pipeline {
  padding: 84px 40px 100px;
  background-color: #EDEDED;
}
.pipeline--body {
  grid-column: span 12;
}
.pipeline--body p {
  font-size: 24px;
  font-size: calc(16px + (8) * (100vw - 400px) / (860));
  line-height: 1.75em;
}
@media (min-width: 1260px) {
  .pipeline--body p {
    font-size: 24px;
  }
}
@media (max-width: 400px) {
  .pipeline--body p {
    font-size: 16px;
  }
}
.pipeline--chart {
  padding: 0 40px;
  overflow: auto;
  background-color: #EDEDED;
}
@media (max-width:  48em ) {
  .pipeline--chart {
    padding: 0 20px;
  }
}
.pipeline--chart .container {
  position: relative;
  min-width: 1100px;
  padding: 110px 0 164px;
}
.pipeline--chart .col {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  right: 0;
  display: block;
  width: 235px;
  background-color: #fff;
  border: 1px solid #E0E0E0;
  border-bottom: none;
}
.pipeline--chart .col:not(:first-child) {
  border-left: none;
}
.pipeline--chart .col:nth-child(1) {
  background-color: rgba(255, 255, 255, 0.25);
  transform: translateX(-300%);
}
.pipeline--chart .col:nth-child(2) {
  background-color: rgba(255, 255, 255, 0.5);
  transform: translateX(-200%);
}
.pipeline--chart .col:nth-child(3) {
  background-color: rgba(255, 255, 255, 0.75);
  transform: translateX(-100%);
}
.pipeline--chart .col svg {
  display: block;
  width: 39px;
  height: 39px;
  margin-top: -2px;
  margin-right: 15px;
  vertical-align: middle;
  float: right;
}
.pipeline--chart .col h4 {
  display: flex;
  align-items: center;
  padding: 30px 0 30px 20px;
  font-size: 16px;
  font-size: calc(14px + (2) * (100vw - 400px) / (860));
  font-weight: normal;
  line-height: 1.5em;
}
@media (min-width: 1260px) {
  .pipeline--chart .col h4 {
    font-size: 16px;
  }
}
@media (max-width: 400px) {
  .pipeline--chart .col h4 {
    font-size: 14px;
  }
}
.pipeline--chart .bar {
  position: relative;
  z-index: 1;
  margin-bottom: 20px;
  padding: 10px 10px 18px;
  width: calc(100% - (235px * 4) + (235px * 4) * var(--width) - 1px);
  background-color: #fff;
  box-shadow: 0 15px 20px 0 rgba(0, 0, 0, 0.08);
  border-radius: 5px;
}
.pipeline--chart .bar-colour {
  display: flex;
  align-items: center;
  width: 100%;
  height: 21px;
  margin-bottom: 10px;
  padding: 2px 5px 0;
  color: #fff;
  font-size: 10px;
  text-transform: uppercase;
  background-color: var(--color);
  border-radius: 3px;
}
.pipeline--chart .bar-heading {
  color: #303030;
  font-size: 30px;
  font-size: calc(24px + (6) * (100vw - 400px) / (860));
}
@media (min-width: 1260px) {
  .pipeline--chart .bar-heading {
    font-size: 30px;
  }
}
@media (max-width: 400px) {
  .pipeline--chart .bar-heading {
    font-size: 24px;
  }
}
.partners {
  padding: 100px 40px;
}
.partners--intro {
  grid-column: span 4;
  padding: 40px;
  background: linear-gradient(to bottom, rgba(123, 102, 226, 0.2), #fff);
  border-radius: 16px;
  display: block;
  height: 100%;
  text-align: justify;
}
.partners--intro p {
  line-height: 1.4em;
}
.partners--intro p:first-child {
  font-size: 18px;
  font-weight: 600;
}
.partners--body {
  margin-top: 40px;
  grid-column: span 8;
}
.partners--body p {
  font-size: 20px;
  line-height: 1.6em;
  margin-bottom: 16px;
}
@media (max-width:  48em ) {
  .partners--body {
    grid-column: span 12;
  }
}
.partners--list {
  grid-column: span 8;
  list-style: none;
  align-items: stretch;
  margin-top: 0;
}
.partners--list li {
  grid-column: span 6;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.12);
  transition: all 0.3s ease-in-out;
  min-height: 200px;
}
.partners--list li:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 24px 0 rgba(0, 0, 0, 0.1);
}
@media (max-width:  62em ) {
  .partners--list li {
    grid-column: span 6;
  }
}
@media (max-width:  48em ) {
  .partners--list li {
    grid-column: span 12;
  }
}
.partners--list button {
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
  text-align: left;
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
}
.partners--list img {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  padding: 20px 48px;
  height: auto;
  max-height: 200px;
  max-width: 600px;
  width: 100%;
  vertical-align: middle;
  object-fit: contain;
}
.partners--list span {
  display: inline-block;
  padding: 8px 18px 10px 12px;
  color: #1D2530;
  font-family: 'Bw Seido Round', /*'Relative',*/ -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 13px;
  background-color: #D2D6DB;
}
.partners--modal .modal--close:before,
.partners--modal .modal--close:after {
  background-color: #1D2530;
}
.partners--modal-header {
  display: flex;
  align-items: center;
  padding: 70px 110px;
  border-bottom: 2px solid #E5E5E5;
}
.partners--modal-header img {
  margin-right: 40px;
}
@media (max-width:  48em ) {
  .partners--modal-header img {
    margin: 0 0 40px 0;
  }
}
.partners--modal-header h5 {
  color: #FF64B2;
}
@media (max-width:  62em ) {
  .partners--modal-header {
    padding: 70px 40px;
  }
}
@media (max-width:  48em ) {
  .partners--modal-header {
    display: block;
  }
}
.partners--modal-text {
  padding: 70px 110px;
}
@media (max-width:  62em ) {
  .partners--modal-text {
    padding: 70px 40px;
  }
}
.products {
  background-color: #E8ECEF;
}
.products-split,
.products-text {
  margin: 80px 40px;
}
.products-split .container,
.products-text .container {
  background: #fff;
  box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}
.products-split img {
  border-radius: 4px 0 0 4px;
  grid-column: span 7;
  width: 100%;
  object-fit: cover;
}
@media (max-width:  62em ) {
  .products-split img {
    grid-column: span 12;
  }
}
.products-split .container > div {
  grid-column: span 5;
  align-self: end;
  padding: 40px 40px 40px 0;
}
@media (max-width:  62em ) {
  .products-split .container > div {
    padding: 0 40px 40px;
    grid-column: span 12;
  }
}
.products-text .container {
  padding: 40px;
}
.products-text .container > div {
  grid-column: span 6;
}
@media (max-width:  62em ) {
  .products-text .container > div {
    grid-column: span 12;
  }
}
.products-text .icons {
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin-bottom: 40px;
}
.event-banner {
  background: rgba(29, 37, 48);
  padding: 240px 0 64px;
}
.event-banner h1 {
  grid-column: 2 / -2;
  color: #fff;
}
.event {
  padding: 40px 0;
}
.event-meta {
  grid-column: 2 / 5;
}
@media (max-width:  75em ) {
  .event-meta {
    grid-column: 1 / 5;
  }
}
@media (max-width:  48em ) {
  .event-meta {
    grid-column: 2 / 12;
  }
}
.event-meta > div {
  background: #EDEDED;
  padding: 20px 24px;
  border-radius: 16px;
  position: sticky;
  top: 20px;
}
.event-meta > div dl {
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  opacity: 0.5;
}
.event-meta > div dt {
  font-size: 20px;
}
.event-meta > div dt:not(:last-child) {
  margin-bottom: 20px;
}
.event-content {
  grid-column: 5 / -2;
}
@media (max-width:  48em ) {
  .event-content {
    grid-column: 2 / 12;
  }
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .grid {
    display: flex;
    flex-wrap: wrap;
  }
}
body {
  overflow-x: hidden;
}


/*# sourceMappingURL=style.b9f3a0f6264c1d1c1a03.css.map*/