/*!***************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./sass/main.scss ***!
  \***************************************************************************************************************************************************************************************************************************************/
.button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.25rem 0.875rem 0.375rem;
  border-radius: 1.875rem;
  border: 0.0625rem solid var(--button-text-color);
  color: var(--button-text-color);
  transition: all 0.5s ease;
}
@media (min-width: 1280px) {
  .button {
    padding: 0.375rem 1.125rem 0.4375rem;
    border: unset;
    border-radius: 2.5rem;
  }
}
@media (min-width: 1640px) {
  .button {
    gap: 0.4166666667vw;
    font-size: 0.8333333333vw;
    padding: 0.3125vw 0.9375vw 0.3645833333vw;
    border-radius: 1.5625vw;
  }
}
.button img {
  width: 0.875rem;
  transition: filter 0.5s ease;
}
@media (min-width: 1640px) {
  .button img {
    width: 0.9375vw;
  }
}
.button img.is-spinning {
  animation: spin 0.9s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.button:hover, .button[selected] {
  color: var(--button-text-hover-color);
  background-color: var(--button-bg-color);
}
.button:hover img, .button[selected] img {
  filter: invert(var(--image-invert)) !important;
}
:root {
  --button-text-color: var(--secondary-color);
  --button-text-hover-color: var(--primary-color);
  --button-bg-color: var(--secondary-color);
  --image-invert: 0;
}
[data-theme=light] {
  --button-text-color: var(--primary-color);
  --button-text-hover-color: var(--secondary-color);
  --button-bg-color: var(--primary-color);
  --image-invert: 1;
}
.message {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 3;
  max-width: 17.5rem;
  opacity: 0;
  visibility: hidden;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  transition: opacity 0.5s ease;
}
@media (min-width: 1052px) {
  .message {
    top: 1.5rem;
    right: 1.5rem;
    max-width: 30rem;
  }
}
@media (min-width: 1640px) {
  .message {
    top: 1.25vw;
    right: 1.25vw;
    max-width: 25vw;
    border-radius: 0.5208333333vw;
  }
}
.message[show] {
  opacity: 1;
  visibility: visible;
}
.message[hiding] {
  opacity: 0;
}
.message--success p {
  color: var(--success-color);
  border: 0.125rem solid var(--success-border-color);
  background-color: var(--success-light-color);
}
.message--error p {
  color: var(--error-color);
  border: 0.125rem solid var(--error-border-color);
  background-color: var(--error-light-color);
}
.message p {
  font-size: 0.875rem;
  line-height: 1.2;
  border-radius: 0.625rem;
  padding: 0.75rem 1.25rem;
}
@media (min-width: 1640px) {
  .message p {
    font-size: 0.8333333333vw;
    border-radius: 0.5208333333vw;
    padding: 0.8333333333vw 1.25vw;
  }
}
.background-canvas {
  position: fixed;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  background: var(--canvas-bg);
}
:root {
  --canvas-bg: var(--primary-color);
  --canvas-char-base: 0;
  --canvas-char-max: 100;
  --canvas-bright-bias: 0.25;
}
[data-theme=light] {
  --canvas-bg: var(--secondary-color);
  --canvas-char-base: 255;
  --canvas-char-max: 210;
  --canvas-bright-bias: 0.35;
}
.settings-popup {
  position: absolute;
  z-index: 20;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: 1.25rem;
  border: 0.125rem solid var(--p-border-color);
  background-color: var(--p-bg-color);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  transform: translateY(0.375rem);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.settings-popup.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.settings-popup ul {
  margin: 0;
  display: flex;
  flex-direction: column;
}
.settings-popup ul li {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.settings-popup ul li button {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0.5625rem;
  align-items: center;
  font-weight: 500;
  font-size: 0.875rem;
  padding: 1.4375rem;
  color: var(--p-text-color);
  background-color: transparent;
}
@media (min-width: 1640px) {
  .settings-popup ul li button {
    gap: 0.3645833333vw;
    font-size: 0.8333333333vw;
  }
}
.settings-popup ul li button img {
  width: 1.0625rem;
}
@media (min-width: 1640px) {
  .settings-popup ul li button img {
    width: 1.0416666667vw;
  }
}
.settings-popup ul li:not(:last-child)::after {
  content: "";
  display: block;
  height: 0.0625rem;
  width: calc(100% - 1.25rem);
  background-color: var(--p-border-color);
}
:root {
  --p-border-color: var(--dark-gray);
  --p-bg-color: var(--black-shadow);
  --p-text-color: var(--secondary-color);
}
[data-theme=light] {
  --p-border-color: var(--light-gray);
  --p-bg-color: var(--white-shadow);
  --p-text-color: var(--primary-color);
}
:root {
  --checkbox-color: var(--primary-color);
  --checkbox-bg-color: var(--secondary-color);
  --checkbox-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJPdXRsaW5lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj48cGF0aCBkPSJNMTgsNmgwYTEsMSwwLDAsMC0xLjQxNCwwTDEyLDEwLjU4Niw3LjQxNCw2QTEsMSwwLDAsMCw2LDZINkExLDEsMCwwLDAsNiw3LjQxNEwxMC41ODYsMTIsNiwxNi41ODZBMSwxLDAsMCwwLDYsMThINmExLDEsMCwwLDAsMS40MTQsMEwxMiwxMy40MTQsMTYuNTg2LDE4QTEsMSwwLDAsMCwxOCwxOGgwYTEsMSwwLDAsMCwwLTEuNDE0TDEzLjQxNCwxMiwxOCw3LjQxNEExLDEsMCwwLDAsMTgsNloiLz48L3N2Zz4K);
  --w-border: var(--dark-gray);
  --label-text-color: var(--gray);
}
[data-theme=light] {
  --checkbox-color: var(--secondary-color);
  --checkbox-bg-color: var(--primary-color);
  --checkbox-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAyMTM0IDIxMzQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+PHBhdGggZD0iTTE2MDAsNTMzLjMzM2MtMzQuNDc5LC0zNC40NjggLTkxLjIxLC0zNC40NjggLTEyNS42ODksMGwtNDA3LjY0NCw0MDcuNjQ1bC00MDcuNjQ1LC00MDcuNjQ1Yy0zNC40NzgsLTM0LjQ2OCAtOTEuMjEsLTM0LjQ2OCAtMTI1LjY4OSwwYy0zNC40NjgsMzQuNDc5IC0zNC40NjgsOTEuMjExIDAsMTI1LjY4OWw0MDcuNjQ1LDQwNy42NDVsLTQwNy42NDUsNDA3LjY0NGMtMzQuNDY4LDM0LjQ3OSAtMzQuNDY4LDkxLjIxIDAsMTI1LjY4OWMzNC40NzksMzQuNDY4IDkxLjIxMSwzNC40NjggMTI1LjY4OSwwbDQwNy42NDUsLTQwNy42NDRsNDA3LjY0NCw0MDcuNjQ0YzM0LjQ3OSwzNC40NjggOTEuMjEsMzQuNDY4IDEyNS42ODksMGMzNC40NjgsLTM0LjQ3OSAzNC40NjgsLTkxLjIxIDAsLTEyNS42ODlsLTQwNy42NDQsLTQwNy42NDRsNDA3LjY0NCwtNDA3LjY0NWMzNC40NjgsLTM0LjQ3OCAzNC40NjgsLTkxLjIxIDAsLTEyNS42ODlaIiBzdHlsZT0iZmlsbDojZmZmO2ZpbGwtcnVsZTpub256ZXJvOyIvPjwvc3ZnPg==);
  --w-border: var(--dark-gray);
  --label-text-color: var(--dark-gray);
}
.waiting-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: auto;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2rem 1rem 1rem;
  background: linear-gradient(to top, var(--form-bg-color) 60%, transparent 100%);
}
@media (min-width: 1280px) {
  .waiting-list {
    gap: 0.9375rem;
    position: relative;
    padding: unset;
    background: unset;
  }
}
@media (min-width: 1640px) {
  .waiting-list {
    gap: 0.78125vw;
  }
}
.waiting-list label {
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 500;
  color: var(--text-color);
}
@media (min-width: 1640px) {
  .waiting-list label {
    font-size: 0.8333333333vw;
  }
}
@media (min-width: 1280px) {
  .waiting-list__label {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (min-width: 1640px) {
  .waiting-list__label {
    padding-left: 1.25vw;
    padding-right: 1.25vw;
  }
}
.waiting-list__enroll {
  position: relative;
  height: 1.84375rem;
}
@media (min-width: 1280px) {
  .waiting-list__enroll {
    height: 2rem;
  }
}
@media (min-width: 1640px) {
  .waiting-list__enroll {
    height: 1.71875vw;
  }
}
.waiting-list__enroll__email {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 1.875rem);
  height: 100%;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.3125rem 4.375rem 0.4375rem 1rem;
  border-radius: 0.4375rem;
  color: var(--form-text-color);
  background-color: var(--input-bg-color);
  box-sizing: border-box;
}
@media (min-width: 1280px) {
  .waiting-list__enroll__email {
    width: calc(100% - 1.875rem);
    padding: 0.375rem 5rem 0.4375rem 1.5rem;
    border-radius: 0.625rem;
  }
}
@media (min-width: 1640px) {
  .waiting-list__enroll__email {
    width: calc(100% - 1.5625vw);
    font-size: 0.8333333333vw;
    padding: 0.3125vw 4.6875vw 0.3645833333vw 1.25vw;
    border-radius: 0.5208333333vw;
  }
}
.waiting-list__enroll__email::-moz-placeholder {
  color: var(--form-placeholder-color);
}
.waiting-list__enroll__email::placeholder {
  color: var(--form-placeholder-color);
}
.waiting-list__enroll__send {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  color: var(--form-text-color);
  background-color: var(--input-bg-color);
  box-shadow: 0 0 0.5rem 0 var(--blue-shadow);
  animation: send-shadow-pulse 3s ease-in-out infinite;
  box-sizing: border-box;
}
.waiting-list__enroll__send:hover {
  color: var(--hover-text-color);
  border-color: var(--accent-color);
  background-color: var(--accent-color);
}
.waiting-list__check {
  display: flex;
  gap: 0.5rem;
}
@media (min-width: 1280px) {
  .waiting-list__check {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (min-width: 1640px) {
  .waiting-list__check {
    padding-left: 1.25vw;
    padding-right: 1.25vw;
  }
}
.waiting-list__check input {
  height: 1rem;
  aspect-ratio: 1/1;
  margin: 0;
  border-radius: 0.3125rem;
  border: 0.0625rem solid var(--w-border);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  cursor: pointer;
  transition: background-color 0.5s ease;
}
@media (min-width: 1640px) {
  .waiting-list__check input {
    height: 0.8333333333vw;
    border-radius: 0.2604166667vw;
  }
}
.waiting-list__check input:checked {
  border-color: var(--checkbox-bg-color);
  background-color: var(--checkbox-bg-color);
  background-image: var(--checkbox-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.waiting-list__check input:checked + label {
  color: var(--checkbox-bg-color);
}
.waiting-list__check label {
  margin-top: calc(0.75rem / 12);
  font-size: 0.75rem;
  line-height: 1.2;
  font-weight: 500;
  color: var(--label-text-color);
  transition: all 0.5s ease;
}
@media (min-width: 1640px) {
  .waiting-list__check label {
    margin-top: calc(0.625vw / 12);
    font-size: 0.625vw;
  }
}
.featured-images {
  display: flex;
  justify-content: center;
  position: relative;
  height: 43.75rem;
  overflow: hidden;
  margin-left: -1rem;
  margin-right: -1rem;
  transform-style: preserve-3d;
}
@media (min-width: 1280px) {
  .featured-images {
    left: -4.84375vw;
    height: 40.625vw;
  }
}
.featured-images figure {
  position: absolute;
  border-radius: 1.5rem;
  width: 13.75rem;
  overflow: hidden;
  border: 0.125rem solid var(--fi-border);
  transform: rotateX(30deg) rotateZ(25deg);
  transform-style: preserve-3d;
  box-shadow: 0.0625rem 0.0625rem 0 0.0625rem #f9f9fb, -0.0625rem 0 1.75rem 0 rgba(34, 33, 81, 0.01), 1.75rem 1.75rem 1.75rem 0 rgba(34, 33, 81, 0.25);
}
.featured-images figure:nth-child(3) {
  bottom: 14.375rem;
}
.featured-images figure:nth-child(2) {
  bottom: 8.125rem;
}
.featured-images figure:nth-child(1) {
  bottom: 1.875rem;
}
@media (min-width: 1280px) {
  .featured-images figure {
    border-radius: 1.6145833333vw;
    width: 16.6666666667vw;
    transform: rotateX(50deg) rotateZ(45deg);
    transition: transform 0.5s ease-in-out, filter 0.5s ease, box-shadow 0.5s ease-in-out;
  }
  .featured-images figure:hover {
    transform: translate3d(0, -0.75rem, 0) rotateX(50deg) rotateZ(45deg);
    box-shadow: 0.0625rem 0.0625rem 0 0.0625rem #f9f9fb, -0.0625rem 0 1.75rem 0 rgba(34, 33, 81, 0.01), 3.375rem 3.375rem 1.75rem -0.625rem rgba(34, 33, 81, 0.15);
  }
  .featured-images figure:nth-child(3) {
    bottom: 7.8125vw;
  }
  .featured-images figure:nth-child(2) {
    bottom: 2.6041666667vw;
  }
  .featured-images figure:nth-child(1) {
    bottom: -2.6041666667vw;
  }
}
:root {
  --fi-border: var(--dark-gray);
}
[data-theme=light] {
  --fi-border: var(--light-gray);
}
* {
  -webkit-tap-highlight-color: transparent;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
* {
  border: none;
}
*:focus:not(:focus-visible) {
  outline: none;
}
input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  box-shadow: none;
  outline: none;
}
input:-webkit-autofill {
  background-color: transparent !important;
  box-shadow: 0 0 0px 1000px white inset !important;
}
input[type=search]::-webkit-search-cancel-button {
  display: none;
}
html {
  -webkit-text-size-adjust: none; /* for iOS Safari */
  -moz-text-size-adjust: none;
       text-size-adjust: none; /* for other mobile browsers */
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
body {
  margin: 0;
  padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure {
  margin: 0;
}
a {
  text-underline-position: under;
  text-decoration-thickness: 8;
}
img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}
menu,
ol,
ul {
  list-style: none;
  padding-left: 0;
}
article ol,
article ul {
  list-style-position: inside;
}
label,
button,
select,
summary,
[type=radio],
[type=submit],
[type=checkbox] {
  cursor: pointer;
}
:root {
  --black: #000000;
  --black-shadow: #000000bb;
  --image-shadow: #00000077;
  --blue: #00bcff;
  --blue-shadow: #00bcffcc;
  --dark-gray: #5a5a5a;
  --gray: #cdcdcd;
  --light-bg: #f8f8f8;
  --light-gray: #dedede;
  --pro: #b63aff;
  --pro-shadow: #b63affcc;
  --white: #ffffff;
  --white-shadow: #ffffffcc;
  --primary-color: var(--black);
  --secondary-color: var(--white);
  --accent-color: var(--blue);
  --success-color: #0aa35a;
  --success-light-color: #0aa35a24;
  --success-border-color: #0aa35a73;
  --error-color: #d44a4a;
  --error-light-color: #d44a4a24;
  --error-border-color: #d44a4a73;
  --info-color: #00bcff;
  --info-light-color: #00bcff24;
  --info-border-color: #00bcff73;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url(fonts/PlusJakartaSans-Light.31ed39c2.woff2) format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url(fonts/PlusJakartaSans-Regular.e4d1960d.woff2) format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url(fonts/PlusJakartaSans-Medium.5f297a38.woff2) format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url(fonts/PlusJakartaSans-SemiBold.0ce49db7.woff2) format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Google Sans Code";
  src: url(fonts/GoogleSansCode-Regular.0ebf7fa7.woff2) format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --font-code-family:
    Google Sans Code, "SFMono-Regular", Consolas, "Liberation Mono", Menlo,
    monospace;
  --font-code-size: 0.9vw;
}
html {
  font-size: 16px;
}
p.bigger-p {
  font-size: 1.25rem;
  line-height: 1.2;
  letter-spacing: -0.025rem;
  font-weight: 300;
  margin-bottom: 1.25rem;
}
@media (min-width: 1640px) {
  p.bigger-p {
    font-size: 1.25vw;
    letter-spacing: -0.0260416667vw;
    margin-bottom: 1.25vw;
  }
}
body,
input,
button {
  font-family: "Plus Jakarta Sans", Sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
code,
pre {
  font-family: "Google Sans Code", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: pretty;
}
h1 {
  font-size: 4.1875rem;
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: -0.1875rem;
}
@media (min-width: 1640px) {
  h1 {
    font-size: 4.375vw;
    letter-spacing: -0.2083333333vw;
  }
}
h2,
.dynamic-title {
  font-size: 1.75rem;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.04375rem;
}
@media (min-width: 1640px) {
  h2,
  .dynamic-title {
    font-size: 1.875vw;
    letter-spacing: -0.0625vw;
  }
}
h3 {
  font-size: 0.875rem;
  font-weight: 500;
}
@media (min-width: 1640px) {
  h3 {
    font-size: 0.8333333333vw;
  }
}
a,
button {
  color: var(--secondary-color);
  transition: all 0.5s;
}
a,
a:visited,
a:active {
  text-decoration: none;
}
* {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
}
[data-theme=dark] img[src$=".svg"] {
  filter: invert(1);
}
html {
  background-color: var(--bg-color);
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
footer {
  margin-top: auto;
}
:root {
  --bg-color: var(--primary-color);
}
[data-theme=light] {
  --bg-color: var(--secondary-color);
}
.main-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 0.0625rem solid var(--border);
}
.main-header__logo {
  display: flex;
  gap: 0.875rem;
  align-items: center;
  font-size: 0.875rem;
  letter-spacing: 0.09375rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--text-color);
}
.main-header__logo img {
  height: 1.75rem;
}
@media (min-width: 1640px) {
  .main-header__logo {
    gap: 0.9375vw;
    font-size: 0.9375vw;
    letter-spacing: 0.1041666667vw;
  }
  .main-header__logo img {
    height: 1.6666666667vw;
  }
}
.main-header__settings {
  display: flex;
  gap: 1rem;
}
.main-header__settings a {
  padding: 0.5rem;
  aspect-ratio: 1/1;
}
.main-header__settings a span {
  display: none;
}
@media (min-width: 1280px) {
  .main-header__settings {
    gap: 2rem;
  }
  .main-header__settings a {
    padding: 0.375rem 1.125rem 0.4375rem;
    aspect-ratio: unset;
  }
  .main-header__settings a span {
    display: inline-block;
  }
}
@media (min-width: 1640px) {
  .main-header__settings {
    gap: 1.6666666667vw;
  }
  .main-header__settings a {
    padding: 0.3125vw 0.9375vw 0.3645833333vw;
  }
}
.main-footer {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-top: 1.5rem;
  padding-bottom: 8.75rem;
  border-top: 0.0625rem solid var(--border);
}
@media (min-width: 1280px) {
  .main-footer {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}
@media (min-width: 1640px) {
  .main-footer {
    padding-top: 1.25vw;
    padding-bottom: 1.25vw;
    gap: 0.4166666667vw;
  }
}
.main-footer__copy {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: space-between;
  font-size: 0.875rem;
  font-weight: 500;
}
@media (min-width: 1640px) {
  .main-footer__copy {
    font-size: 0.8333333333vw;
  }
}
.main-footer p,
.main-footer span,
.main-footer a {
  color: var(--f-text);
}
.main-footer__legal {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.625rem;
}
@media (min-width: 1280px) {
  .main-footer__legal {
    font-size: 0.75rem;
  }
}
@media (min-width: 1640px) {
  .main-footer__legal {
    font-size: 0.625vw;
  }
}
.main-footer__legal__check {
  display: flex;
  gap: 0.5rem;
}
.main-footer__legal__check input {
  height: 1rem;
  aspect-ratio: 1/1;
  margin: 0;
  border-radius: 0.3125rem;
  border: 0.0625rem solid var(--w-border);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  cursor: pointer;
  transition: background-color 0.5s ease;
}
@media (min-width: 1640px) {
  .main-footer__legal__check input {
    height: 0.8333333333vw;
    border-radius: 0.2604166667vw;
  }
}
.main-footer__legal__check input:checked {
  border-color: var(--checkbox-bg-color);
  background-color: var(--checkbox-bg-color);
  background-image: var(--checkbox-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.main-footer__legal__check input:checked + label {
  color: var(--checkbox-bg-color);
}
.main-footer__legal__check label {
  margin-top: calc(0.75rem / 12);
  font-size: 0.75rem;
  line-height: 1.2;
  font-weight: 500;
  color: var(--label-text-color);
  transition: all 0.5s ease;
}
@media (min-width: 1640px) {
  .main-footer__legal__check label {
    margin-top: calc(0.625vw / 12);
    font-size: 0.625vw;
  }
}
.main-footer__legal p {
  font-weight: 500;
}
.main-footer__legal a {
  white-space: nowrap;
}
:root {
  --f-text: var(--secondary-color);
}
[data-theme=light] {
  --f-text: var(--primary-gray);
}
body[data-front-page] {
  min-height: 100vh;
  display: grid;
  grid-template-rows: 4rem 1fr 4rem;
}
@media (min-width: 1640px) {
  body[data-front-page] {
    grid-template-rows: 4.2708333333vw 1fr 4.2708333333vw;
  }
}
.main-header,
.main-footer {
  min-height: 4rem;
  margin-left: 1rem;
  margin-right: 1rem;
}
@media (min-width: 1280px) {
  .main-header,
  .main-footer {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
}
@media (min-width: 1640px) {
  .main-header,
  .main-footer {
    min-height: 4.2708333333vw;
    margin-left: 1.25vw;
    margin-right: 1.25vw;
  }
}
.main-content {
  margin-left: 1rem;
  margin-right: 1rem;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.4166666667vw;
}
@media (min-width: 1052px) {
  .main-content {
    grid-template-columns: 1fr 2fr;
  }
}
@media (min-width: 1280px) {
  .main-content {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
}
@media (min-width: 1640px) {
  .main-content {
    margin-left: 1.25vw;
    margin-right: 1.25vw;
  }
}
.main-content > div {
  padding-top: 2.1875rem;
  color: var(--text-color);
}
@media (min-width: 1280px) {
  .main-content > div {
    padding-top: 2.1875rem;
    padding-bottom: 2.625rem;
  }
}
@media (min-width: 1640px) {
  .main-content > div {
    padding-top: 2.34375vw;
    padding-bottom: 2.7083333333vw;
  }
}
.main-content__heading {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: start;
}
@media (min-width: 1052px) {
  .main-content__heading {
    position: sticky;
    top: 0;
  }
}
@media (min-width: 1280px) {
  .main-content__heading {
    position: sticky;
    top: 0;
    height: calc(100vh - 4rem);
  }
}
@media (min-width: 1640px) {
  .main-content__heading {
    height: calc(100vh - 4.2708333333vw);
  }
}
.main-content__heading h2 {
  max-width: 16.25rem;
  margin-bottom: 1rem;
}
@media (min-width: 1280px) {
  .main-content__heading h2 {
    max-width: unset;
    margin: unset;
  }
}
.main-content__heading--coming-soon {
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 1.875rem;
}
@media (min-width: 1280px) {
  .main-content__heading--coming-soon {
    margin-bottom: 0;
  }
}
@media (min-width: 1640px) {
  .main-content__heading--coming-soon {
    font-size: 0.8333333333vw;
  }
}
.main-content__heading--coming-soon .coming-dots {
  display: inline-flex;
}
.main-content__heading--coming-soon .coming-dots span {
  animation: dot-bounce 1.5s ease-in-out infinite;
}
.main-content__heading--coming-soon .coming-dots span:nth-child(2) {
  animation-delay: 0.15s;
}
.main-content__heading--coming-soon .coming-dots span:nth-child(3) {
  animation-delay: 0.3s;
}
.main-content__heading--titles {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 1640px) {
  .main-content__heading--titles {
    gap: 2.0833333333vw;
  }
}
.main-content__heading--titles code {
  display: flex;
  gap: 0.3125rem;
  font-size: 1.5rem;
  line-height: 1.5rem;
  transition: opacity 0.5s ease;
}
@media (min-width: 1280px) {
  .main-content__heading--titles code {
    display: inline-flex;
    margin-left: 0.3125rem;
  }
}
@media (min-width: 1640px) {
  .main-content__heading--titles code {
    gap: 0.2604166667vw;
    font-size: 1.6666666667vw;
    line-height: 1.6666666667vw;
    margin-left: 0.2604166667vw;
  }
}
.main-content__heading--titles code .code-char {
  padding: 0.125rem 0.25rem 0.25rem;
  border-bottom: 0.125rem solid var(--border);
}
@media (min-width: 1640px) {
  .main-content__heading--titles code .code-char {
    padding: 0.1041666667vw 0.2604166667vw 0.2604166667vw;
  }
}
.main-content__description {
  display: flex;
  flex-direction: column;
}
.main-content__description .bigger-p {
  width: 100%;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
}
@media (min-width: 1280px) {
  .main-content__description .bigger-p {
    width: 85%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (min-width: 1640px) {
  .main-content__description .bigger-p {
    width: 65%;
    padding-left: 1.25vw;
    padding-right: 1.25vw;
  }
}
.main-content__description .bigger-p + .bigger-p {
  padding-bottom: 2.5rem;
  border-bottom: 0.0625rem solid var(--border);
}
@media (min-width: 1052px) {
  .main-content__description .bigger-p + .bigger-p {
    padding-bottom: unset;
    border: unset;
  }
}
.main-content__description ul.features {
  padding-top: 0.75rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
@media (min-width: 1052px) {
  .main-content__description ul.features {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
}
@media (min-width: 1280px) {
  .main-content__description ul.features {
    padding-top: 0.875rem;
    margin-left: 0;
    margin-right: 0;
  }
}
@media (min-width: 1640px) {
  .main-content__description ul.features {
    padding-top: 0.7291666667vw;
    gap: 0.4166666667vw;
  }
}
.main-content__description ul.features li {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem 1rem 1.125rem 1rem;
  border-radius: 1.4375rem;
  border: 0.125rem solid var(--border);
}
@media (min-width: 1280px) {
  .main-content__description ul.features li {
    padding: 0.875rem 1.5625rem 1.125rem 1.5625rem;
  }
}
@media (min-width: 1640px) {
  .main-content__description ul.features li {
    gap: 0.6770833333vw;
    padding: 1.1458333333vw 1.3020833333vw 1.5625vw 1.3020833333vw;
    border-radius: 1.6145833333vw;
  }
}
.main-content__description ul.features li h3 {
  display: flex;
  gap: 0.5rem;
}
.main-content__description ul.features li h3 img {
  width: 1rem;
}
@media (min-width: 1640px) {
  .main-content__description ul.features li h3 {
    gap: 0.5729166667vw;
  }
  .main-content__description ul.features li h3 img {
    width: 1.0416666667vw;
  }
}
.main-content__description ul.features li p {
  font-size: 0.875rem;
}
@media (min-width: 1640px) {
  .main-content__description ul.features li p {
    font-size: 0.8333333333vw;
  }
}
.main-content__description .soon-available {
  font-size: 0.875rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.375rem;
  margin-bottom: 1.5625rem;
}
@media (min-width: 1052px) {
  .main-content__description .soon-available {
    justify-content: start;
    gap: 0.75rem;
    margin-top: 1.5625rem;
    margin-bottom: 2.1875rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (min-width: 1640px) {
  .main-content__description .soon-available {
    font-size: 0.8333333333vw;
    gap: 0.625vw;
    margin-top: 1.3020833333vw;
    margin-bottom: 1.8229166667vw;
    padding-left: 1.25vw;
    padding-right: 1.25vw;
  }
}
.main-content__description .soon-available > span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1.75rem;
  width: 1.75rem;
  border-radius: 1.75rem;
  border: 0.125rem solid var(--text-color);
}
.main-content__description .soon-available > span img {
  position: relative;
  top: -0.0625rem;
}
@media (min-width: 1280px) {
  .main-content__description .soon-available > span {
    height: 2.25rem;
    width: 2.25rem;
    border-radius: 2.25rem;
  }
  .main-content__description .soon-available > span img {
    top: -0.0625rem;
  }
}
@media (min-width: 1640px) {
  .main-content__description .soon-available > span {
    height: 2.0833333333vw;
    width: 2.0833333333vw;
    border-radius: 2.0833333333vw;
  }
  .main-content__description .soon-available > span img {
    top: -0.0520833333vw;
  }
}
.main-content__description .soon-available__android img {
  width: 1rem;
}
@media (min-width: 1280px) {
  .main-content__description .soon-available__android img {
    width: 1.25rem;
  }
}
@media (min-width: 1640px) {
  .main-content__description .soon-available__android img {
    width: 1.1458333333vw;
  }
}
.main-content__description .soon-available__ios img {
  width: 0.875rem;
}
@media (min-width: 1280px) {
  .main-content__description .soon-available__ios img {
    width: 1.125rem;
  }
}
@media (min-width: 1640px) {
  .main-content__description .soon-available__ios img {
    width: 1.0416666667vw;
  }
}
@keyframes dot-bounce {
  0%, 60%, 100% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-20%);
  }
}
@keyframes send-shadow-pulse {
  0%, 100% {
    box-shadow: 0 0 0.5rem 0 var(--blue-shadow);
  }
  50% {
    box-shadow: 0 0 1rem 0.1875rem var(--blue-shadow);
  }
}
:root {
  --text-color: var(--secondary-color);
  --form-text-color: var(--primary-color);
  --input-bg-color: var(--secondary-color);
  --form-bg-color: var(--primary-color);
  --form-placeholder-color: var(--dark-gray);
  --hover-bg-color: var(--primary-color);
  --hover-text-color: var(--secondary-color);
  --border: var(--dark-gray);
}
[data-theme=light] {
  --text-color: var(--primary-color);
  --form-text-color: var(--secondary-color);
  --input-bg-color: var(--primary-color);
  --form-bg-color: var(--secondary-color);
  --form-placeholder-color: var(--gray);
  --hover-bg-color: var(--secondary-color);
  --hover-text-color: var(--primary-color);
  --border: var(--light-gray);
}
[data-theme=light] form button img {
  filter: invert(1);
}
[data-theme=light] form button:hover img {
  filter: invert(0) !important;
}
[data-theme=dark] form button img {
  filter: invert(0) !important;
}
[data-theme=dark] form button:hover img {
  filter: invert(1) !important;
}

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