:root {
  --vh: 100vh;
  --color-a: rgba(255, 255, 255, 1);
  --color-b: rgba(0, 0, 0, 1);
  --color-c: rgba(247, 116, 40, 1);
  --color-c-light: rgba(255, 157, 101, 1);
  --color-d: rgba(203, 238, 255, 1);
  --color-e: rgba(245, 245, 245, 1);
  --color-f: #929292;
  --gridGap: 1rem;
  --gridMargin: 1rem;
  --gridCols: 18;
  --gridColWidth: calc( ( 100% - ( var(--gridGap) * ( var(--gridCols) - 1 ) ) ) / var(--gridCols) );
}

/* FONTS ========================================================================== */
@font-face {
  font-family: "WorkSans";
  src: url("/assets/fonts/Work-Sans-2.010/variable/WorkSans[wght].ttf") format("truetype-variations");
  font-weight: 100 900;
  font-stretch: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "WorkSans";
  src: url("/assets/fonts/Work-Sans-2.010/variable/WorkSans-Italic[wght].ttf") format("truetype-variations");
  font-weight: 100 900;
  font-stretch: normal;
  font-style: italic;
  font-display: block;
}
/* ========================================================================== */
html.wf-loading, html.wf-loading body {
  overflow-x: clip;
}

picture, figure, img {
  display: block;
  margin: 0;
  padding: 0;
  position: relative;
  max-width: 100%;
  width: auto;
}

*:focus {
  outline: 0;
}

pre {
  opacity: 0.35;
  margin: 10rem 0;
}

b, strong, em, i, cite, var, address, dfn {
  font-weight: inherit;
  font-style: italic;
}

button {
  font: inherit;
  color: inherit;
  font-size: 100%;
  line-height: 1;
  margin: 0;
  overflow: visible;
  text-transform: none;
  -webkit-appearance: button;
  border: 0;
  outline: 0;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: "WorkSans", sans-serif;
  background: var(--color-a);
}

/* FONTS ========================================================================== */
@font-face {
  font-family: "WorkSans";
  src: url("/assets/fonts/Work-Sans-2.010/variable/WorkSans[wght].ttf") format("truetype-variations");
  font-weight: 100 900;
  font-stretch: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "WorkSans";
  src: url("/assets/fonts/Work-Sans-2.010/variable/WorkSans-Italic[wght].ttf") format("truetype-variations");
  font-weight: 100 900;
  font-stretch: normal;
  font-style: italic;
  font-display: block;
}
/* --------------------- */
/* --- Custom Cursor --- */
/* ---------------------------- */
/* --- Container Breakpoint --- */
/* ----------------- */
/* --- Mask Icon --- */
/* ------------------- */
/* --- Flex Center --- */
/* ------------------- */
/* --- BREAKPOINTS --- */
/* --- Source: https://davidhellmann.com/blog/development/sass-breakpoint-mixin --- */
html, body, main {
  scroll-behavior: smooth;
}

body, main, section, article, div, figure, img {
  box-sizing: border-box;
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}

body, main {
  min-height: 100svh;
  width: 100%;
  max-width: 100vw;
  overflow-x: clip;
}

body:before {
  content: "";
  display: block;
  position: fixed;
  pointer-events: none;
  inset: 0 var(--gridMargin);
  z-index: 100;
  opacity: 0;
  mix-blend-mode: multiply;
  background: repeating-linear-gradient(90deg, red 0, red var(--gridColWidth), white var(--gridColWidth), white calc(var(--gridColWidth) + var(--gridGap)));
}

body {
  padding: 0;
}
body > main, body > footer {
  z-index: 1;
}
body > aside {
  z-index: 2;
  pointer-events: none;
}
@media (min-width: 1000px) {
  body {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    grid-template-rows: repeat(2, auto);
    justify-content: start;
    align-items: start;
  }
  body > main, body > footer {
    grid-column-start: 1;
    grid-column-end: -1;
  }
  body > main, body > aside {
    grid-row: 1/span 1;
  }
  body > footer {
    grid-row: 2/span 1;
  }
  body > aside {
    grid-column: 1/span 1;
    position: sticky;
    top: 0;
  }
}
@media (max-width: 999px) {
  body {
    display: block;
  }
  body > aside {
    position: fixed;
    inset: 0;
    left: auto;
    width: auto;
  }
}

/*-------*/ /* --------------------- */
/* --- Custom Cursor --- */
/* ---------------------------- */
/* --- Container Breakpoint --- */
/* ----------------- */
/* --- Mask Icon --- */
/* ------------------- */
/* --- Flex Center --- */
/* ------------------- */
/* --- BREAKPOINTS --- */
/* --- Source: https://davidhellmann.com/blog/development/sass-breakpoint-mixin --- */
/*-------*/
/* MIXINS ========================================================================== */
/* --- Font Styles --- */
.fs__underline {
  text-decoration: underline;
  -webkit-text-decoration-thickness: 1px;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.fs__bold {
  font-weight: 500;
}

.fs__uppercase {
  text-transform: uppercase;
  font-variant-numeric: normal;
  -moz-font-feature-settings: "case";
  -webkit-font-feature-settings: "case";
  font-feature-settings: "case";
  letter-spacing: 0.01em;
}

/* --- Paragraph Styles --- */
.fs__bigtext {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.2; /* 1.95rem */
  letter-spacing: -0.015rem;
}

.fs__text {
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 1.625rem */
  letter-spacing: -0.0125rem;
}

.fs__smalltext {
  font-size: max(14px, 0.75rem);
  line-height: 1.115;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 1.3rem */
  letter-spacing: -0.01rem;
}

.fs__h1 {
  font-size: 5rem;
  letter-spacing: -0.05em;
  line-height: 0.94;
}

.fs__h2 {
  color: var(--color-c);
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1; /* 3.15rem */
  letter-spacing: -0.09rem;
}

.fs__h3 {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.2; /* 1.95rem */
  letter-spacing: -0.015rem;
  font-weight: 500;
}

.fs__h4 {
  text-align: center;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.25rem; /* 125% */
  letter-spacing: 0.02rem;
  text-transform: uppercase;
}

/* ========================================================================== */
html, body {
  font-size: max(16px, 14px + 0.4vw);
  line-height: 1.1;
  letter-spacing: 0;
  font-family: "WorkSans", sans-serif, sans-serif;
  font-weight: normal;
  font-style: normal;
  color: inherit;
  letter-spacing: 0;
  /* improve text rendering */
  word-break: break-word;
  -webkit-hyphenate-limit-chars: 10 5 5;
  -ms-hyphenate-limit-chars: auto 10 5 5;
  hyphenate-limit-chars: 10 5 5;
  -webkit-hyphenate-limit-lines: 2;
  -ms-hyphenate-limit-lines: 2;
  hyphenate-limit-lines: 2;
  -webkit-font-feature-settings: "kern" on, "ss02" on, "ss06" on, "ss01" on;
  font-feature-settings: "kern" on, "ss02" on, "ss06" on, "ss01" on;
  -webkit-font-kerning: normal;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  -webkit-text-size-adjust: 100%;
  color: currentColor;
}
html ::-moz-selection, body ::-moz-selection {
  background: currentColor;
  color: var(--color-a);
}
html ::selection, body ::selection {
  background: currentColor;
  color: var(--color-a);
}

a, button, input, label {
  cursor: pointer;
}

a, a:hover, a:link, a:visited {
  text-decoration: none;
  color: var(--color-c);
}

a:hover {
  color: var(--color-b);
}

p a, p a:hover, p a:link, p a:visited {
  text-decoration: underline;
  -webkit-text-decoration-thickness: 1px;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

p {
  margin: 0;
  padding: 0;
}
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: inherit;
  font-size: inherit;
  font-style: inherit;
  margin: 0;
  padding: 0;
  font-weight: 500;
  text-wrap: balance;
}

h2 {
  color: var(--color-c);
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1; /* 3.15rem */
  letter-spacing: -0.09rem;
}

h3 {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.2; /* 1.95rem */
  letter-spacing: -0.015rem;
  font-weight: 500;
}

h4 {
  text-align: center;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.25rem; /* 125% */
  letter-spacing: 0.02rem;
  text-transform: uppercase;
}

.caption, figcaption {
  line-height: 1.3;
  overflow: visible;
}

.obfuscate {
  text-align: left;
  display: inline-block;
  font-variant-ligatures: discretionary-ligatures;
}

hr {
  margin: 2rem 0;
  border: 0;
  height: 1px;
  background-color: currentColor;
}

ul {
  margin: 0.3rem 0;
  list-style: none;
  display: flex;
  flex-flow: column nowrap;
  gap: 0.3rem;
}
ul li {
  position: relative;
  display: block;
}
ul li:before {
  content: "";
  position: absolute;
  left: -1em;
  top: 0.45em;
  height: 1ex;
  width: 1ex;
  border-radius: 50%;
  background-color: var(--color-c);
}

/* Open Type Features ========================================================================== */
/*
font-variant-numeric: normal;
font-variant-numeric: ordinal;
font-variant-numeric: slashed-zero;
font-variant-numeric: lining-nums;
font-variant-numeric: oldstyle-nums;
font-variant-numeric: proportional-nums;
font-variant-numeric: tabular-nums;
font-variant-numeric: diagonal-fractions;
font-variant-numeric: stacked-fractions;
font-variant-numeric: oldstyle-nums stacked-fractions;

-moz-font-feature-settings: "ss19";
-webkit-font-feature-settings: "ss19";
font-feature-settings: "ss19";
*/
.ot-lining-nums {
  font-variant-numeric: lining-nums;
}

.ot-ss01 {
  -moz-font-feature-settings: "ss01";
  -webkit-font-feature-settings: "ss01";
  font-feature-settings: "ss01";
}

.ot-smcp {
  font-variant-caps: small-caps;
  -moz-font-feature-settings: "smcp";
  -webkit-font-feature-settings: "smcp";
  font-feature-settings: "smcp";
}

.ot-case {
  -moz-font-feature-settings: "case";
  -webkit-font-feature-settings: "case";
  font-feature-settings: "case";
}

.ot-liga {
  -moz-font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
}

.module-wrapper.module-wrapper--columns {
  background: var(--color-e);
  padding: 0 1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.module {
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 0.5rem 1rem;
  margin: 0;
}
@media (min-width: 800px) {
  .module {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
@media (min-width: 1000px) {
  .module {
    display: grid;
    grid-template-columns: repeat(18, 1fr);
    gap: 1rem;
  }
}

.module__content {
  container-type: inline-size;
  width: 100%;
}
@container (max-inline-size: 60ch) {
  .module__content p, .module__content h2, .module__content h3, .module__content h4, .module__content h5, .module__content h6, .module__content li {
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
    /* legacy properties */
    -webkit-hyphenate-limit-before: 3;
    -webkit-hyphenate-limit-after: 2;
    /* current proposal */
    -moz-hyphenate-limit-chars: 8 4 4; /* not yet supported */
    -webkit-hyphenate-limit-chars: 8 4 4; /* not yet supported */
    -ms-hyphenate-limit-chars: 8 4 4;
    hyphenate-limit-chars: 8 4 4;
    -ms-hyphenate-limit-lines: 2;
    -webkit-hyphenate-limit-lines: 2;
    hyphenate-limit-lines: 2;
    -webkit-hyphenate-limit-last: always;
    -moz-hyphenate-limit-last: always;
    -ms-hyphenate-limit-last: always;
    hyphenate-limit-last: always;
    -webkit-hyphenate-limit-zone: 8%;
    -moz-hyphenate-limit-zone: 8%;
    -ms-hyphenate-limit-zone: 8%;
    hyphenate-limit-zone: 8%;
  }
}

.module.default {
  padding: 1rem;
  gap: 1rem;
}
.module.default.app {
  background: #fff;
}
.module.default.app {
  background: #FFEEE4;
}
.module.default.uber-uns {
  background: #FAFAFA;
}
.module.default.prinzip {
  background: rgb(203, 238, 255);
}
.module.default .module__cover picture {
  position: sticky;
  top: 1rem;
}
.module.default .module__cover img {
  border-radius: 0.625rem;
  max-height: calc(100dvh - 2rem);
}
.module.default .module__cover, .module.default .module__content {
  grid-row: 1/span 1;
}
.module.default .content__header {
  margin-bottom: 2rem;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.6rem;
}
.module.default .content__header .subhead-top {
  color: var(--color-c);
  font-weight: 600;
  font-size: 1.25rem;
}
.module.default .content__header .title {
  transform: translateY(-0.3rem);
}
.module.default .content__main {
  padding-bottom: 1rem;
}
@media (max-width: 799px) {
  .module.default {
    display: flex;
    flex-flow: column nowrap;
    gap: 2rem;
  }
}
@media (min-width: 800px) {
  .module.default .content__header {
    margin-bottom: 5rem;
  }
  .module.default:nth-child(even) .module__cover {
    grid-column: 1/span 1;
  }
  .module.default:nth-child(even) .module__content {
    grid-column: 2/span 1;
  }
  .module.default:nth-child(odd) .module__cover {
    grid-column: 2/span 1;
  }
  .module.default:nth-child(odd) .module__content {
    grid-column: 1/span 1;
  }
}
@media (min-width: 1000px) {
  .module.default:nth-child(even) .module__cover {
    grid-column: 3/span 8;
  }
  .module.default:nth-child(even) .module__content {
    grid-column: 11/span 8;
  }
  .module.default:nth-child(odd) .module__cover {
    grid-column: 11/span 8;
  }
  .module.default:nth-child(odd) .module__content {
    grid-column: 3/span 8;
  }
}

.module.footer {
  padding: 2rem 1rem;
  background: rgb(187, 187, 187);
  color: #F5F5F5;
  font-size: max(14px, 0.75rem);
  line-height: 1.115;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 1.3rem */
  letter-spacing: -0.01rem;
}
@media (min-width: 800px) {
  .module.footer .copyright {
    grid-column-start: 1;
    grid-column-end: -1;
  }
}
@media (min-width: 1000px) {
  .module.footer .copyright {
    grid-column-start: 3;
    grid-column-end: -1;
  }
}

.module.contact {
  padding: 5rem 2rem;
  background: var(--color-d);
}
.module.contact .contact__item-group {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem 1.5rem;
}
.module.contact .contact__item-group.social h4 {
  flex: 0 0 100%;
  width: 100%;
}
.module.contact .contact__item-group .contact__item h4 {
  margin-bottom: 0.5rem;
}
.module.contact .contact__item-group .contact__item a.btn {
  min-width: 15ch;
}
.module.contact .module__content {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 4rem;
  grid-column-end: -1;
}
.module.contact .content__main {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 3rem;
}
@media (min-width: 800px) {
  .module.contact .module__content {
    grid-column-start: 1;
  }
}
@media (min-width: 1000px) {
  .module.contact .module__content {
    grid-column-start: 3;
  }
}
@media (min-width: 1600px) {
  .module.contact .module__content {
    grid-column-start: 1;
  }
}

.module.legal {
  background: var(--color-e);
  color: var(--color-f);
  display: block;
}
.module.legal h3 {
  font-size: 1.875rem;
  font-style: normal;
  font-weight: 600;
  line-height: 105%; /* 1.96875rem */
  letter-spacing: -0.05625rem;
}
.module.legal .module__content {
  display: flex;
  flex-flow: column nowrap;
  gap: 1.6rem;
  max-width: 50ch;
}
.module.legal .content__main {
  font-size: max(14px, 0.75rem);
  line-height: 1.115;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 1.3rem */
  letter-spacing: -0.01rem;
}

.module-wrapper.legal {
  padding: 5rem 0;
}
@media (max-width: 799px) {
  .module-wrapper.legal {
    display: flex;
    flex-flow: column nowrap;
    gap: 2rem;
  }
}
@media (min-width: 800px) {
  .module-wrapper.legal {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .module-wrapper.legal > .module:nth-child(1) {
    grid-column: 1/span 1;
  }
  .module-wrapper.legal > .module:nth-child(2) {
    grid-column: 2/span 1;
  }
}
@media (min-width: 1000px) {
  .module-wrapper.legal {
    display: grid;
    grid-template-columns: repeat(18, 1fr);
    gap: 1rem;
  }
  .module-wrapper.legal > .module:nth-child(1) {
    grid-column: 4/span 7;
  }
  .module-wrapper.legal > .module:nth-child(2) {
    grid-column: 12/span 7;
  }
}

.module.hero {
  min-height: 100svh;
  color: var(--color-c);
}
.module.hero .background, .module.hero .foreground {
  grid-column-start: 1;
  grid-column-end: -1;
  z-index: 1;
}
.module.hero .background {
  inset: 0 -1rem;
}
.module.hero .background, .module.hero .background picture {
  position: absolute;
  overflow: clip;
}
.module.hero .background picture {
  inset: 0;
}
.module.hero .background img {
  opacity: 0.2;
  filter: blur(7px);
}
.module.hero .foreground {
  padding: 2rem 1rem;
  padding: min(2rem, 2vh) 1rem;
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  min-height: 100svh;
  gap: 1rem;
  gap: min(1rem, 1vh);
}
.module.hero .foreground > * {
  flex: 0 0 auto;
}
.module.hero .logo {
  max-width: 90vw;
  width: 24rem;
  max-height: 15vh;
}
.module.hero .logo svg {
  max-height: 100%;
  margin: 0 auto;
  display: block;
}
.module.hero .app-mockup {
  height: calc(100svh - 22rem);
  min-height: 300px;
  padding: max(1rem, 4vh) 0;
}
.module.hero .app-mockup, .module.hero .app-mockup picture {
  flex: 1 1 auto;
  width: 100%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}
.module.hero .app-mockup picture, .module.hero .app-mockup img {
  height: 100%;
  object-fit: contain;
  flex: 1 1 100%;
}
.module.hero .claim, .module.hero .intro {
  max-width: 24ch;
}
.module.hero .claim, .module.hero .scroll-to-content {
  text-align: center;
  font-size: 1.7rem;
  font-size: clamp(18px, 1.7rem, 6vmin);
  font-style: normal;
  font-weight: 400;
  line-height: 105%; /* 1.867rem */
  letter-spacing: -0.01rem;
}
.module.hero .intro {
  text-align: center;
  font-size: 2.2rem;
  font-size: clamp(18px, 2.2rem, 6vmin);
  font-style: normal;
  font-weight: 400;
  line-height: 105%; /* 2.33381rem */
  letter-spacing: -0.02rem;
}
@media (min-width: 1000px) {
  .module.hero .foreground {
    grid-column-start: 3;
  }
}
@media (min-width: 1600px) {
  .module.hero .foreground {
    grid-column-start: 1;
  }
}

.module.menu {
  display: block;
  padding: 0;
  padding-left: 1rem;
  height: 100dvh;
}
.module.menu .nav__hero {
  max-width: 8rem;
  opacity: 1;
}
body.transition-ready .module.menu .nav__hero {
  transition: opacity 0.2s ease;
}
.module.menu .nav__hero svg {
  max-width: 100%;
  height: auto;
}
.module.menu .module__content, .module.menu .nav {
  height: 100%;
  min-height: 100%;
  position: relative;
}
.module.menu .nav {
  height: auto;
}
.module.menu .module__content > nav {
  box-sizing: border-box;
  display: flex;
  flex-flow: column nowrap;
  gap: 2rem;
  padding: 1rem 0;
}
.module.menu .module__content > nav a {
  pointer-events: auto;
  color: #747474;
}
.module.menu .module__content > nav a:hover {
  color: var(--color-c);
}
.module.menu .nav__main, .module.menu .nav__sub {
  display: flex;
  flex-flow: column nowrap;
}
.module.menu .nav__main a, .module.menu .nav__sub a {
  white-space: nowrap;
}
.module.menu .nav__main {
  gap: 1rem;
}
.module.menu .nav__sub {
  font-size: max(14px, 0.75rem);
  line-height: 1.115;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 1.3rem */
  letter-spacing: -0.01rem;
  flex: 1 1 auto;
  justify-content: flex-end;
}
@media (max-width: 999px) {
  .module.menu {
    background: white;
    box-shadow: 0 0 2rem rgba(90, 110, 120, 0.2);
    transition: transform 0.4s ease;
  }
  .module.menu .module__content {
    container-type: normal;
    width: auto;
  }
  .module.menu nav {
    min-width: 20ch;
    max-width: 99vw;
  }
  body.show-menu .module.menu {
    transform: translate(0);
  }
  body:not(.show-menu) .module.menu {
    transform: translate(100%);
  }
}
@media (min-width: 1000px) {
  body:not(.is-scrolled) .module.menu .nav__hero {
    opacity: 0;
  }
}

.component.blocks-builder {
  display: flex;
  flex-flow: column nowrap;
  gap: 1.5rem;
  list-style: none;
  counter-reset: blocks-counter;
}

.block {
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 1.625rem */
  letter-spacing: -0.0125rem;
}

.block.is-numbered {
  --number-height: 2.8rem;
  counter-increment: blocks-counter;
  padding-left: calc(var(--number-height) + 1rem);
}
.block.is-numbered:before {
  content: counter(blocks-counter);
  width: var(--number-height);
  height: var(--number-height);
  line-height: var(--number-height);
  color: var(--color-c);
  text-align: center;
  font-size: 1.67rem;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.02rem;
  flex-shrink: 0;
  border: 1px solid currentColor;
  border-radius: 1.6rem;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
}

.block.block--heading {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.2; /* 1.95rem */
  letter-spacing: -0.015rem;
  font-weight: 500;
  margin: 0 0;
}

.block.block--bigtext {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.2; /* 1.95rem */
  letter-spacing: -0.015rem;
}
.block.block--bigtext p + p {
  margin-top: 1rem;
}

.block.block--text {
  margin: 0 0;
}
.block.block--text p + p {
  margin-top: 1rem;
}

.block.block--image {
  margin: 0 0;
}
.block.block--image img {
  border-radius: 0;
}
.block.block--image figcaption {
  font-size: max(14px, 0.75rem);
  line-height: 1.115;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 1.3rem */
  letter-spacing: -0.01rem;
  text-align: center;
}
.block.block--image img + figcaption {
  margin-top: 0;
}

.block.block--thumbtext {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 1.4rem;
}
.block.block--thumbtext .thumbtext__image {
  --ratio: auto;
  width: 4.2rem;
}
.block.block--thumbtext .thumbtext__image picture, .block.block--thumbtext .thumbtext__image img {
  -webkit-aspect-ratio: var(--ratio);
  aspect-ratio: var(--ratio);
  width: 100%;
  height: auto;
}

.block.collapsible .dropdown {
  display: flex;
  flex-flow: column nowrap;
  gap: 1rem;
}

div {
  box-sizing: border-box;
}

.dropdown + .dropdown {
  margin-top: 5px;
}

.dropdown__header {
  cursor: pointer;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  padding-left: 0;
  padding-right: 1rem;
}
.dropdown__header h3 {
  max-width: 26ch;
}
.dropdown--active .dropdown__header, .dropdown__header:hover {
  color: var(--color-c);
}
.dropdown__header:before {
  content: "";
  position: absolute;
  top: 0.25em;
  right: 0;
  left: auto;
  width: 1rem;
  height: 1rem;
  background-color: currentcolor;
  background-image: none !important;
  -webkit-mask-image: url("../img/icons/plus.svg");
  mask-image: url("../img/icons/plus.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-origin: border-box;
  mask-origin: border-box;
  -webkit-mask-position: center;
  mask-position: center;
}
.dropdown--active .dropdown__header:before {
  background-color: currentcolor;
  background-image: none !important;
  -webkit-mask-image: url("../img/icons/minus.svg");
  mask-image: url("../img/icons/minus.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-origin: border-box;
  mask-origin: border-box;
  -webkit-mask-position: center;
  mask-position: center;
}

.dropdown__content {
  --aniDur: 0.2s;
  --height: 0;
  padding: 0;
  max-height: var(--height);
  overflow: hidden;
  opacity: 0;
  transition: max-height var(--aniDur) ease-out, opacity var(--aniDur) ease-out;
}
.dropdown--active .dropdown__content {
  opacity: 1;
  transition: max-height var(--aniDur) ease-out, opacity var(--aniDur) ease-out calc(var(--aniDur) * 0.5);
}
.dropdown__content > *:first-child {
  margin-top: 0.75rem;
}
.dropdown__content > *:last-child {
  margin-bottom: 0.75rem;
}

a.btn {
  color: var(--color-c);
  border-radius: 1.5rem;
  border: 1px solid currentColor;
  padding: 1rem 2rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-flow: row nowrap;
}
a.btn:hover {
  background: var(--color-c);
  color: var(--color-a);
}

.menu-toggle {
  pointer-events: auto;
  position: fixed;
  z-index: 1000;
  bottom: 1rem;
  right: 0.5rem;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  text-align: center;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background-color: var(--color-a);
}
.menu-toggle span.bar {
  background-color: var(--color-c);
  position: absolute;
  left: 50%;
  top: 50%;
  height: 2px;
  width: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.2s linear, opacity 0.2s linear;
  opacity: 1;
}
.menu-toggle span.bar:nth-child(1) {
  top: 30%;
}
.menu-toggle span.bar:nth-child(3) {
  top: 70%;
}
body.show-menu .menu-toggle span.bar:nth-child(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
body.show-menu .menu-toggle span.bar:nth-child(2) {
  opacity: 0;
}
body.show-menu .menu-toggle span.bar:nth-child(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (max-width: 999px) {
  .menu-toggle {
    display: block;
  }
}
@media (min-width: 1000px) {
  .menu-toggle {
    display: none;
  }
}

.module.menu .module__content > nav a.IO--intersecting {
  color: var(--color-c);
}

/*# sourceMappingURL=default.css.map */
