:root {
  color-scheme: dark light;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

:where(html, body, #__next) {
  min-height: 100%;
  width: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

:where(input, textarea, select, button) {
  font: inherit;
  color: inherit;
  border: 0;
  padding: 0;
  background-color: transparent;
  border-radius: 0;
  appearance: none;
}

:where(svg, img, picture, video, iframe, canvas) {
  display: block;
}

:any-link {
  text-decoration: none;
}

ul {
  padding: 0;
}

:root {
  --mobileNavOffset: calc(var(--spaceOuter) * 2 + var(--space2XL));
}

body {
  font-family: var(--fontStack);
  font-weight: var(--fontWeightRegular);
  background-color: rgb(var(--rgbBackground));
  transition: background var(--durationM) ease;
  color: var(--colorTextBody);
  width: 100vw;
  overflow-x: hidden;
}

body:focus {
    outline: none;
  }

:where(code, pre) {
  font-family: var(--monoFontStack);
}

::selection {
  background: rgb(var(--rgbAccent));
  color: rgb(var(--rgbBlack));
}

:focus {
  outline: 4px solid rgb(var(--rgbText));
  outline-offset: 4px;
}

:focus:not(:focus-visible) {
  outline: none;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes reveal {
  0% {
    transform: scale3d(0, 1, 1);
    transform-origin: left;
  }

  50% {
    transform: scale3d(1, 1, 1);
    transform-origin: left;
  }

  51% {
    transform: scale3d(1, 1, 1);
    transform-origin: right;
  }

  100% {
    transform: scale3d(0, 1, 1);
    transform-origin: right;
  }
}

.Icon_icon__t_YgI {
  fill: currentColor;
}

.Monogram_monogram__tnGpV {
  fill: var(--colorTextTitle);
  transition: fill var(--durationL) ease;
}

.Monogram_cls__NmRT7 {
  stroke: var(--colorTextTitle);
  stroke-miterlimit: 10;
  stroke-width: 0.25px;
}

.Monogram_highlight__ly_rQ {
  fill: rgb(var(--rgbAccent));
  opacity: 0;
  transform: scale3d(1, 0, 1);
  transform-origin: top;
  transition: opacity 0.1s ease var(--durationM);
}

@media (prefers-reduced-motion: no-preference) {

.Monogram_highlight__ly_rQ {
    transition: transform var(--durationM) var(--bezierFastoutSlowin),
      opacity 0.1s ease var(--durationM);
}
  }

:is(a:focus, a:hover, .Monogram_monogram__tnGpV:hover) .Monogram_highlight__ly_rQ {
    opacity: 1;
    transform: scale3d(1, 1, 1);
    transform-origin: bottom;
    transition: opacity 0.1s ease;
}

@media (prefers-reduced-motion: no-preference) {

:is(a:focus, a:hover, .Monogram_monogram__tnGpV:hover) .Monogram_highlight__ly_rQ {
      transition: transform var(--durationM) var(--bezierFastoutSlowin), opacity 0.1s ease;
}
    }

.Text_text__I2GnQ {
  line-height: var(--lineHeightBody);
  color: var(--colorTextBody);
}
.Text_text__I2GnQ[data-size='s'] {
    font-size: var(--fontSizeBodyS);
  }
.Text_text__I2GnQ[data-size='m'] {
    font-size: var(--fontSizeBodyM);
  }
.Text_text__I2GnQ[data-size='l'] {
    font-size: var(--fontSizeBodyL);
  }
.Text_text__I2GnQ[data-size='xl'] {
    font-size: var(--fontSizeBodyXL);
  }
.Text_text__I2GnQ[data-align='auto'] {
    text-align: inherit;
  }
.Text_text__I2GnQ[data-align='start'] {
    text-align: start;
  }
.Text_text__I2GnQ[data-align='center'] {
    text-align: center;
  }
.Text_text__I2GnQ[data-weight='auto'] {
    font-weight: inherit;
  }
.Text_text__I2GnQ[data-weight='regular'] {
    font-weight: var(--fontWeightRegular);
  }
.Text_text__I2GnQ[data-weight='medium'] {
    font-weight: var(--fontWeightMedium);
  }
.Text_text__I2GnQ[data-weight='bold'] {
    font-weight: var(--fontWeightBold);
  }
.Text_text__I2GnQ[data-secondary='true'] {
    color: var(--colorTextLight);
  }

.VisuallyHidden_hidden__D_ZwH {
  position: absolute;
}
.VisuallyHidden_hidden__D_ZwH[data-hidden='true'],
  .VisuallyHidden_hidden__D_ZwH[data-show-on-focus='true']:not(:focus) {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    word-wrap: normal;
  }

.Loader_loader__3yamk {
  display: flex;
  justify-content: center;
  width: var(--size);
  height: var(--size);
}

.Loader_text__uupzy {
  color: inherit;
}

.Loader_content__rvat_ {
  display: grid;
  grid-template-columns: repeat(3, var(--spanSize));
  gap: var(--gapSize);
  align-items: center;
  justify-content: center;
  transform: skewX(22deg);
}

@keyframes Loader_loaderSpan__hIbqq {
  0% {
    transform: scaleY(0);
    opacity: 0.5;
    transform-origin: top;
  }

  40% {
    transform: scaleY(1);
    opacity: 1;
    transform-origin: top;
  }

  60% {
    transform: scaleY(1);
    opacity: 1;
    transform-origin: bottom;
  }

  100% {
    transform: scaleY(0);
    opacity: 0.5;
    transform-origin: bottom;
  }
}

.Loader_span__qI8wq {
  height: 60%;
  background: currentColor;
  animation: Loader_loaderSpan__hIbqq 1s var(--bezierFastoutSlowin) infinite;
  transform: scaleY(0);
  transform-origin: top left;
}

.Loader_span__qI8wq:nth-child(2) {
    animation-delay: 0.1s;
  }

.Loader_span__qI8wq:nth-child(3) {
    animation-delay: 0.2s;
  }

.Button_button__L2wUb {
  --buttonSize: calc((56 / 16) * 1rem);
  --buttonFontSize: calc((18 / 16) * 1rem);
  --buttonFocusWidth: 4px;
  --buttonPadding: 0 var(--spaceL);
  --buttonTextColor: rgb(var(--rgbBackground));
  --buttonTextOpacity: 1;
  --buttonLoaderDelay: 0s;

  height: var(--buttonSize);
  padding: var(--buttonPadding);
  cursor: pointer;
  transition-property: opacity, color, background;
  transition-duration: var(--durationS);
  transition-timing-function: var(--bezierFastoutSlowin);
  display: inline-flex;
  align-items: center;
  color: var(--buttonTextColor);
  position: relative;
  isolation: isolate;
}

.Button_button__L2wUb:active {
    transition-duration: calc(var(--durationXS) / 2);
  }

.Button_button__L2wUb::after {
    content: '';
    transition-property: opacity, color, background;
    transition-duration: var(--durationM);
    transition-timing-function: var(--bezierFastoutSlowin);
    background: rgb(var(--rgbPrimary));
    position: absolute;
    inset: 0;
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%);
  }

@media (prefers-reduced-motion: no-preference) {

.Button_button__L2wUb {
    transition-property: transform, opacity, color, background;
}

    .Button_button__L2wUb:hover {
      transform: scale(1.05);
    }

    .Button_button__L2wUb:active {
      transform: scale(1);
    }
  }

.Button_button__L2wUb[data-secondary='true'] {
    --buttonSpace: 10px;
    --buttonTextColor: rgb(var(--rgbPrimary));

    background: none;
    padding-left: var(--buttonSpace);
    padding-right: var(--buttonSpace);
    position: relative;
    left: calc(var(--buttonSpace) * -1);
    height: calc((32 / 16) * 1rem);
  }

.Button_button__L2wUb[data-secondary='true']::after {
      content: '';
      height: calc((32 / 16) * 1rem);
      position: absolute;
      inset: 0;
      background-color: rgb(var(--rgbPrimary) / 0.2);
      transform: scale3d(0, 1, 1);
      transform-origin: right;
      clip-path: none;
    }

.Button_button__L2wUb[data-secondary='true']:hover {
      transform: none;
      background: transparent;
    }

.Button_button__L2wUb[data-secondary='true']:hover::after {
      transform: scale3d(1, 1, 1);
      transform-origin: left;
    }

.Button_button__L2wUb[data-secondary='true'][data-icon='chevronRight'] {
      padding-left: calc(var(--buttonSpace) / 2);
    }

@media (prefers-reduced-motion: no-preference) {
      .Button_button__L2wUb[data-secondary='true']::after {
        transition: transform var(--durationM) var(--bezierFastoutSlowin);
      }
    }

.Button_button__L2wUb[data-loading='true'] {
    --buttonTextOpacity: 0;
  }

.Button_button__L2wUb[data-icon-only='true'] {
    --buttonPadding: 0;
    --buttonTextColor: var(--colorTextBody);

    width: var(--buttonSize);
    align-items: center;
    justify-content: center;
    padding: 0;
  }

.Button_button__L2wUb[data-icon-only='true']:hover {
      transform: none;
    }

.Button_button__L2wUb[data-icon-only='true']::after {
      background: rgb(var(--rgbText) / 0);
    }

.Button_button__L2wUb[data-icon-only='true']:hover::after {
      background: rgb(var(--rgbText) / 0.1);
    }

.Button_button__L2wUb[disabled] {
    pointer-events: none;
    opacity: 0.4;
  }

.Button_text__t2U9w {
  font-size: var(--buttonFontSize);
  font-weight: var(--fontWeightMedium);
  opacity: var(--buttonTextOpacity);
  position: relative;
  line-height: 1;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity var(--durationM) var(--bezierFastoutSlowin);
}

.Button_loader__aTo2D {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: rgb(var(--rgbBackground));
  opacity: 0;
  transition: opacity var(--durationM) ease var(--buttonLoaderDelay);
}

.Button_loader__aTo2D[data-visible='true'] {
    opacity: 1;
  }

.Button_icon__mSIRG {
  transition-property: opacity, fill;
  transition-duration: var(--durationS);
  transition-timing-function: var(--bezierFastoutSlowin);
}

@media (prefers-reduced-motion: no-preference) {

.Button_icon__mSIRG {
    transition-property: transform, opacity, fill;
}
  }

.Button_icon__mSIRG[data-start='true'] {
    margin-right: var(--spaceS);
  }

.Button_icon__mSIRG[data-end='true'] {
    margin-left: var(--spaceS);
  }

@media (prefers-reduced-motion: no-preference) {

.Button_button__L2wUb:hover .Button_icon__mSIRG[data-shift='true'] {
      transform: translate3d(var(--spaceXS), 0, 0);
}
  }

.Button_button__L2wUb[data-loading='true'] .Button_icon__mSIRG {
    opacity: 0;
}

button.NavToggle_toggle__gmiZu {
  --offset: var(--spaceXS);
  --inset: calc(var(--spaceOuter) - var(--offset));

  position: fixed;
  top: var(--inset);
  right: var(--inset);
  z-index: var(--zIndex4);
  display: none;
}

@media (max-width: 696px), (max-height: 696px) {

button.NavToggle_toggle__gmiZu {
    display: flex;
}
  }

.NavToggle_inner__0uerT {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}

.NavToggle_icon__aG8yu {
  --iconSize: var(--spaceXL);

  position: absolute;
  transition-property: opacity, fill;
  transition-duration: var(--durationM);
  transition-timing-function: var(--bezierFastoutSlowin);
  opacity: 1;
  transform: rotate(0deg);
  fill: var(--colorTextBody);
  width: var(--iconSize);
  height: var(--iconSize);
}

@media (prefers-reduced-motion: no-preference) {

.NavToggle_icon__aG8yu {
    transition-delay: 0.1s;
    transition-property: opacity, transform, fill;
}
  }

.NavToggle_icon__aG8yu[data-open='true'] {
    opacity: 0;
  }

@media (prefers-reduced-motion: no-preference) {

.NavToggle_icon__aG8yu[data-open='true'] {
      transition-delay: 0s;
      transform: rotate(45deg);
  }
    }

.NavToggle_icon__aG8yu[data-close='true'] {
    opacity: 0;
  }

@media (prefers-reduced-motion: no-preference) {

.NavToggle_icon__aG8yu[data-close='true'] {
      transition-delay: 0s;
      transform: rotate(-45deg);
  }
    }

.NavToggle_icon__aG8yu.NavToggle_icon__aG8yu[data-open='true'][data-close='true'] {
    opacity: 1;
  }

@media (prefers-reduced-motion: no-preference) {

.NavToggle_icon__aG8yu.NavToggle_icon__aG8yu[data-open='true'][data-close='true'] {
      transition-delay: 0.1s;
      transform: rotate(0deg);
  }
    }

.ThemeToggle_toggle__w8LEU {
  --offset: 6px;
  --inset: calc(var(--spaceOuter) - var(--offset));

  position: fixed;
  z-index: var(--zIndex4);
  top: var(--inset);
  right: var(--inset);
  transform: translate3d(0, 0, 0);
}

@media (max-width: 696px), (max-height: 696px) {
    .ThemeToggle_toggle__w8LEU:not([data-mobile='true']) {
      display: none;
    }
  }

.ThemeToggle_toggle__w8LEU[data-mobile='true'] {
    --offset: var(--spaceXS);
    --inset: calc(var(--spaceXL) - var(--offset));

    top: unset;
    bottom: var(--inset);
    margin-top: 0;
    margin-right: 0;
  }

.ThemeToggle_circle__qVSRK {
  fill: currentColor;
  transform: scale(0.6);
  transform-origin: center;
}

@media (prefers-reduced-motion: no-preference) {

.ThemeToggle_circle__qVSRK {
    transition-property: transform, fill;
    transition-duration: var(--durationL);
    transition-delay: 0s;
    transition-timing-function: var(--bezierFastoutSlowin);
}
  }

.ThemeToggle_circle__qVSRK[data-mask='true'] {
    fill: white;
  }

body[data-theme='dark'] .ThemeToggle_circle__qVSRK {
    transform: none;
}

@media (prefers-reduced-motion: no-preference) {

body[data-theme='dark'] .ThemeToggle_circle__qVSRK {
      transition-delay: 0.3s;
}
    }

.ThemeToggle_mask__Y09BP {
  fill: black;
  transform: translate3d(100%, -100%, 0);
}

@media (prefers-reduced-motion: no-preference) {

.ThemeToggle_mask__Y09BP {
    transition: transform var(--durationL) var(--bezierFastoutSlowin);
    transition-delay: 0s;
}
  }

body[data-theme='dark'] .ThemeToggle_mask__Y09BP {
    transform: none;
}

@media (prefers-reduced-motion: no-preference) {

body[data-theme='dark'] .ThemeToggle_mask__Y09BP {
      transition-delay: 0.3s;
}
    }

.ThemeToggle_path__9hTG0 {
  stroke: currentColor;
  fill: none;
  stroke-linecap: round;
  stroke-width: 3;
  stroke-dasharray: 7 7;
  stroke-dashoffset: 0;
  opacity: 1;
}

@media (prefers-reduced-motion: no-preference) {

.ThemeToggle_path__9hTG0 {
    transition-property: stroke-dashoffset, opacity;
    transition-duration: var(--durationL);
    transition-timing-function: var(--bezierFastoutSlowin);
    transition-delay: 0.3s;
}
  }

body[data-theme='dark'] .ThemeToggle_path__9hTG0 {
    stroke-dashoffset: 7;
    opacity: 0;
}

@media (prefers-reduced-motion: no-preference) {

body[data-theme='dark'] .ThemeToggle_path__9hTG0 {
      transition-delay: 0s;
}
    }

.Navbar_navbar__7Exjr {
  --headerNavFontSize: calc((16 / 16) * 1rem);

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  width: var(--space2XL);
  position: fixed;
  top: var(--spaceOuter);
  left: var(--spaceOuter);
  bottom: var(--spaceOuter);
  z-index: var(--zIndex4);
  isolation: isolate;
}

@media (max-width: 696px) {

.Navbar_navbar__7Exjr {
    --headerNavFontSize: calc((22 / 16) * 1rem);
}
  }

@media (max-width: 696px), (max-height: 696px) {

.Navbar_navbar__7Exjr {
    bottom: auto;
}
  }

.Navbar_logo__keI4H {
  display: flex;
  position: relative;
  padding: var(--spaceS) var(--spaceS) var(--spaceL);
  z-index: var(--zIndex2);
}

@media (max-width: 696px) {

.Navbar_logo__keI4H {
    margin-left: var(--space2XL);
    padding-bottom: var(--spaceS);
}
  }

.Navbar_nav__Ymaux {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  flex: 1 1 auto;
  max-width: var(--space2XL);
}

@media (max-width: 696px), (max-height: 696px) {

.Navbar_nav__Ymaux {
    display: none;
}
  }

.Navbar_navList__mg4Oa {
  transform: rotate(-90deg) translate3d(-50%, 0, 0);
  display: flex;
  flex-direction: row-reverse;
  position: relative;
  top: calc(var(--spaceM) * -1);
}

.Navbar_navLink__Havgb {
  padding: var(--spaceM);
  color: rgb(var(--rgbText) / 0.8);
  font-weight: var(--fontWeightMedium);
  font-size: var(--headerNavFontSize);
  text-decoration: none;
  position: relative;
  transition: color var(--durationS) ease 0.1s;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}

.Navbar_navLink__Havgb:hover,
  .Navbar_navLink__Havgb:active,
  .Navbar_navLink__Havgb:focus,
  .Navbar_navLink__Havgb[aria-current='page'] {
    color: var(--colorTextBody);
  }

.Navbar_navLink__Havgb::after {
    content: '';
    position: absolute;
    right: var(--spaceS);
    left: var(--spaceS);
    height: 4px;
    background: rgb(var(--rgbAccent));
    transform: scaleX(0);
    transform-origin: right;
  }

@media (prefers-reduced-motion: no-preference) {
    .Navbar_navLink__Havgb::after {
      transition: transform var(--durationM) var(--bezierFastoutSlowin);
    }
  }

.Navbar_navLink__Havgb:hover::after,
  .Navbar_navLink__Havgb:active::after,
  .Navbar_navLink__Havgb:focus::after,
  .Navbar_navLink__Havgb[aria-current='page']::after {
    transform: scaleX(1);
    transform-origin: left;
  }

.Navbar_navIcons__KC2a8 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: var(--zIndex2);
}

@media (max-width: 696px), (max-height: 696px) {

.Navbar_navIcons__KC2a8 {
    flex-direction: row;
    position: absolute;
    bottom: var(--spaceXL);
    left: var(--spaceXL);
}
  }

@media (max-width: 820px) and (max-height: 420px) {

.Navbar_navIcons__KC2a8 {
    left: var(--spaceL);
    transform: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
  }

.Navbar_navIconLink__W8ZFX {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spaceS);
  width: var(--space2XL);
  height: var(--space2XL);
  color: var(--colorTextLight);
  transition: color var(--durationM) var(--bezierFastoutSlowin);
}

.Navbar_navIconLink__W8ZFX:hover,
  .Navbar_navIconLink__W8ZFX:focus,
  .Navbar_navIconLink__W8ZFX:active {
    color: rgb(var(--rgbAccent));
  }

.Navbar_navIcon__lI_cE {
  fill: currentColor;
  transition: fill var(--durationM) ease;
}

.Navbar_mobileNav__oBcFx {
  position: fixed;
  inset: 0;
  background: rgb(var(--rgbBackground) / 0.9);
  transform: translate3d(0, -100%, 0);
  transition-property: background;
  transition-duration: var(--durationL);
  transition-timing-function: var(--bezierFastoutSlowin);
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(16px);
}

@media (max-width: 696px), (max-height: 696px) {

.Navbar_mobileNav__oBcFx {
    display: flex;
}
  }

@media (prefers-reduced-motion: no-preference) {

.Navbar_mobileNav__oBcFx {
    transition-property: transform, background;
    transform: translate3d(0, -100%, 0);
}
  }

.Navbar_mobileNav__oBcFx[data-visible='true'] {
    transform: none;
  }

.Navbar_mobileNavLink__7KN69 {
  width: 100%;
  font-size: var(--headerNavFontSize);
  text-align: center;
  text-decoration: none;
  color: var(--colorTextBody);
  padding: var(--spaceL);
  opacity: 0;
  transition-property: opacity;
  transition-duration: var(--durationS);
  transition-timing-function: var(--bezierFastoutSlowin);
  transition-delay: var(--transitionDelay);
  position: relative;
  top: calc(var(--spaceM) * -1);
}

@media (prefers-reduced-motion: no-preference) {

.Navbar_mobileNavLink__7KN69 {
    transition-property: transform, opacity;
    transform: translate3d(0, calc(var(--spaceXL) * -1), 0);
}
  }

@media (max-width: 820px) and (max-height: 420px) {

.Navbar_mobileNavLink__7KN69 {
    top: auto;
}
  }

@media (max-width: 400px), (max-height: 360px) {

.Navbar_mobileNavLink__7KN69 {
    --headerNavFontSize: calc((18 / 16) * 1rem);
}
  }

.Navbar_mobileNavLink__7KN69::after {
    content: '';
    position: absolute;
    top: 50%;
    right: var(--space3XL);
    left: var(--space3XL);
    height: 4px;
    background: rgb(var(--rgbAccent));
    transform: scaleX(0) translateY(-1px);
    transform-origin: right;
  }

@media (prefers-reduced-motion: no-preference) {
    .Navbar_mobileNavLink__7KN69::after {
      transition: transform var(--durationM) var(--bezierFastoutSlowin);
    }
  }

.Navbar_mobileNavLink__7KN69:hover::after,
  .Navbar_mobileNavLink__7KN69:active::after,
  .Navbar_mobileNavLink__7KN69:focus::after {
    transform: scaleX(1) translateY(-1px);
    transform-origin: left;
  }

.Navbar_mobileNavLink__7KN69[data-visible='true'] {
    opacity: 1;
    transform: none;
  }

.App_app__x2qc1 {
  width: 100%;
  position: relative;
  display: grid;
  grid-template: 100% / 100%;
}

.App_page__ZYUk8 {
  grid-area: 1 / 1;
  min-height: 100lvh;
}

.App_skip__Hmpeg {
  isolation: isolate;
  color: rgb(var(--rgbBackground));
  z-index: var(--zIndex4);
}

.App_skip__Hmpeg:focus {
    padding: var(--spaceS) var(--spaceM);
    position: fixed;
    top: var(--spaceM);
    left: var(--spaceM);
    text-decoration: none;
    font-weight: var(--fontWeightMedium);
    line-height: 1;
    box-shadow: 0 0 0 4px rgb(var(--rgbBackground)), 0 0 0 8px rgb(var(--rgbText));
  }

.App_skip__Hmpeg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgb(var(--rgbPrimary));
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%);
    z-index: -1;
  }

