.graphic-background {
    overflow: hidden;
    position: relative
}

.graphic-background svg {
    display: block;
    height: 100%;
    left: 0;
    overflow: visible;
    position: absolute;
    top: 0;
    visibility: hidden;
    width: 100%
}

.graphic-background__main-shape {
    stroke: var(--graphic-background__stroke, none);
    stroke-width: var(--09ca1794);
    fill: var(--graphic-background__fill, none);
    stroke-linecap: square;
    stroke-miterlimit: 1
}

.graphic-background__bottom-left-shape,
.graphic-background__bottom-right-shape,
.graphic-background__top-left-shape,
.graphic-background__top-right-shape {
    stroke: var(--graphic-background__stroke, none);
    stroke-width: var(--09ca1794);
    fill: var(--graphic-background__addon-fill, var(--graphic-background__fill, none));
    stroke-linecap: square;
    stroke-miterlimit: 1
}

.graphic-background--is-ready svg {
    visibility: visible
}

.graphic-pattern {
    align-items: center;
    display: flex;
    justify-content: center;
    position: absolute
}

.graphic-pattern__canvas {
    display: block
}

.graphic-pattern__inner {
    height: -moz-min-content;
    height: min-content;
    position: relative;
    width: -moz-min-content;
    width: min-content
}

.graphic-pattern__addon {
    inset: 0;
    position: absolute
}

.graphic-pattern--x-pin-left {
    justify-content: flex-start
}

.graphic-pattern--x-pin-right {
    justify-content: flex-end
}

.graphic-pattern--y-pin-top {
    align-items: flex-start
}

.graphic-pattern--y-pin-bottom {
    align-items: flex-end
}

.graphic-frame {
    overflow: hidden
}

.graphic-frame svg {
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    visibility: hidden;
    width: 100%
}

.graphic-frame__frame-rect {
    stroke: currentColor;
    stroke-width: 1px;
    fill: none;
    stroke-linecap: square;
    stroke-miterlimit: 1
}

.graphic-frame--ready svg {
    visibility: visible
}

.graphic-corners {
    position: relative
}

.graphic-corners__canvas {
    display: block;
    pointer-events: none;
    position: absolute;
    z-index: 10
}

.graphic-corners__collider {
    height: calc(var(--7a5abb73)*.1rem);
    pointer-events: none;
    position: absolute;
    width: calc(var(--7a5abb73)*.1rem)
}

.graphic-corners__collider-1 {
    left: calc(var(--f5b526ac)*.1rem);
    top: calc(var(--f5b526aa)*.1rem)
}

.graphic-corners__collider-2 {
    right: calc(var(--f5b526ac)*.1rem);
    top: calc(var(--f5b526aa)*.1rem)
}

.graphic-corners__collider-3 {
    bottom: calc(var(--f5b526aa)*.1rem);
    right: calc(var(--f5b526ac)*.1rem)
}

.graphic-corners__collider-4 {
    bottom: calc(var(--f5b526aa)*.1rem);
    left: calc(var(--f5b526ac)*.1rem)
}

.graphic-corners__content {
    position: relative;
    z-index: 1
}

.graphic-slashes {
    --graphic-slashes__slice: var(--3529f9ea);
    --graphic-slashes__height: var(--96650a64);
    border-radius: .5rem;
    contain: paint;
    font-size: calc(var(--graphic-slashes__slice, 19)*.1rem);
    height: calc(var(--graphic-slashes__height, 18)*.1rem);
    overflow: hidden;
    position: absolute;
    width: 10rem
}

.graphic-slashes__bars {
    background-position: right 0 top 0;
    background-repeat: repeat-x;
    background-size: auto 100%;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: calc(100% + 1em);
    will-change: transform
}

.section-title {
    display: flex;
    flex-direction: column
}

.section-title,
.section-title__corners {
    width: -moz-fit-content;
    width: fit-content
}

.section-title__corners {
    margin: calc(var(--section-title__offset-y, .5rem)*-1) calc(var(--section-title__offset-x, 2rem)*-1);
    order: 2;
    position: relative
}

.section-title__heading {
    background-color: var(--section-title__background-color, transparent);
    -webkit-clip-path: inset(0 50% 0 50%);
    clip-path: inset(0 50% 0 50%);
    font-family: initial;
    font-family: Hexaframe CF, sans-serif;
    font-size: 5.5rem;
    font-style: normal;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.2;
    line-height: 1;
    margin: -.06em 0 .06em;
    opacity: 0;
    padding: calc(var(--section-title__offset-y, .5rem) + .1em) calc(var(--section-title__offset-x, 2rem));
    text-transform: none;
    text-transform: uppercase;
    width: -moz-fit-content;
    width: fit-content
}

@media screen and (max-width:1279px) {
    .section-title__heading {
        font-size: 5rem
    }
}

@media screen and (max-width:1023px) {
    .section-title__heading {
        font-size: 4.5rem
    }
}

@media screen and (max-width:767px) {
    .section-title__heading {
        font-size: 2.7rem;
        font-size: 2.75rem
    }
}

.section-title__overline {
    align-items: center;
    display: flex;
    margin-bottom: .8rem;
    order: 1;
    width: 100%
}

@media screen and (max-width:1023px) {
    .section-title__overline {
        justify-content: center
    }
}

@media screen and (max-width:767px) {
    .section-title__overline {
        margin-bottom: .4rem
    }
}

.section-title__subtitle {
    color: var(--section-title__subtitle-color, #f2f2ed);
    font-family: initial;
    font-family: Alaca, sans-serif;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    font-weight: 800;
    letter-spacing: normal;
    letter-spacing: .1em;
    line-height: 1.2;
    opacity: 0;
    padding-top: .25em;
    text-transform: none;
    text-transform: uppercase
}

@media screen and (max-width:767px) {
    .section-title__subtitle {
        font-size: 1.3rem;
        font-size: 1rem
    }
}

.section-title__subtitle>div>div {
    position: relative
}

.section-title__subtitle>div>div:after {
    color: var(--section-title__subtitle-color, #f2f2ed);
    content: "";
    left: 0;
    position: absolute;
    top: 0
}

.section-title__subtitle>div>div[data-glitch] {
    color: transparent
}

.section-title__subtitle>div>div[data-glitch]:after {
    content: attr(data-glitch)
}

.section-title__slashes {
    margin-left: 2.8rem;
    opacity: 0;
    position: relative;
    width: 6.3rem
}

@media screen and (max-width:767px) {
    .section-title__slashes {
        margin-left: .8rem;
        width: 5.5rem
    }
}

.section-title .section-title-clip {
    opacity: 0
}

.base-button {
    --button-color-fill: #f5455a;
    --button-color-fill-hover: #f2f2ed;
    --button-color-text: #f2f2ed;
    --button-color-text-hover: #f5455a;
    --button-color-icon-foreground: var(--button-color-fill);
    --button-color-icon-background: var(--button-color-text);
    background: transparent;
    border: 0;
    cursor: pointer;
    display: block;
    margin: 0;
    opacity: 0;
    padding: 0;
    pointer-events: none;
    position: relative
}

.base-button--is-loading .base-button__icon,
.base-button--is-loading .base-button__text {
    opacity: 0
}

.base-button--is-loading .base-button__content:before {
    align-items: center;
    content: "Loading...";
    display: flex;
    inset: 0;
    justify-content: center;
    position: absolute
}

.base-button__content {
    align-items: center;
    color: var(--button-color-text);
    display: flex;
    gap: 1rem;
    justify-content: center;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: color .5s cubic-bezier(.25, .46, .45, .94);
    width: 100%;
    z-index: 10
}

.base-button__text {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block
}

.base-button__icon {
    display: block;
    margin-top: .1em;
    order: 2
}

.base-button__icon svg {
    display: block;
    height: 1rem;
    width: 1rem
}

.base-button__icon svg path,
.base-button__icon svg rect {
    transition: all .5s cubic-bezier(.25, .46, .45, .94);
    transition-property: fill, stroke
}

.base-button__icon svg path[fill],
.base-button__icon svg rect[fill] {
    fill: var(--button-color-icon-foreground)
}

.base-button__icon svg path[stroke],
.base-button__icon svg rect[stroke] {
    stroke: var(--button-color-icon-foreground)
}

.base-button__icon svg rect:first-of-type {
    fill: var(--button-color-icon-background)
}

.base-button__spawned {
    filter: blur(2px);
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1
}

.base-button__spawned svg {
    display: block;
    height: 100%;
    overflow: visible;
    width: 100%
}

.base-button__spawned svg path {
    fill: var(--button-color-fill-hover)
}

.base-button__background {
    position: relative;
    z-index: 1
}

.base-button__background svg {
    display: block;
    position: relative;
    z-index: 10
}

.base-button__background svg .button__core-base,
.base-button__background svg .button__corner-base,
.base-button__background svg .button__minibar-base {
    fill: var(--button-color-fill);
    opacity: 0
}

.base-button__background svg .button__core-fill,
.base-button__background svg .button__corner-fill,
.base-button__background svg .button__minibar-fill {
    fill: var(--button-color-fill-hover);
    opacity: 0
}

.base-button__background svg .button__core-flash {
    fill: var(--button-color-fill);
    opacity: 0
}

.base-button__background svg .button__core-stroke {
    stroke: var(--button-color-fill);
    opacity: 0
}

.base-button__background svg .button__core-stroke-fill {
    stroke: var(--button-color-fill-hover);
    opacity: 0
}

.base-button.is-hover-active {
    --button-color-icon-foreground: var(--button-color-fill-hover);
    --button-color-icon-background: var(--button-color-text-hover)
}

.base-button.is-hover-active .base-button__content {
    color: var(--button-color-text-hover)
}

.base-button--size-large {
    font-family: initial;
    font-family: Hexaframe CF, sans-serif;
    font-size: 2.2rem;
    font-style: normal;
    font-weight: 400;
    height: 6.1rem;
    letter-spacing: normal;
    line-height: 1.18;
    text-transform: none;
    text-transform: uppercase;
    width: 28.8rem
}

@media screen and (max-width:1279px) {
    .base-button--size-large {
        font-weight: 400
    }
}

.base-button--size-large .base-button__content {
    height: 5.2rem
}

.base-button--size-large .base-button__background {
    display: block
}

.base-button--size-large .base-button__background svg {
    height: 6.1rem;
    overflow: visible;
    width: 28.8rem
}

.base-button--size-normal {
    font-family: initial;
    font-family: Hexaframe CF, sans-serif;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    height: 4.1rem;
    letter-spacing: normal;
    line-height: 1.1875;
    text-transform: none;
    text-transform: uppercase;
    width: 20.9rem
}

@media screen and (max-width:1279px) {
    .base-button--size-normal {
        font-weight: 400
    }
}

.base-button--size-normal .base-button__content {
    height: 3.8rem
}

.base-button--size-normal .base-button__background {
    display: block
}

.base-button--size-normal .base-button__background svg {
    height: 4.1rem;
    overflow: visible;
    width: 20.9rem
}

.base-button--size-small {
    font-family: initial;
    font-family: Hexaframe CF, sans-serif;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 400;
    height: 3.5rem;
    letter-spacing: normal;
    line-height: 1.1667;
    text-transform: none;
    text-transform: uppercase;
    width: 19rem
}

@media screen and (max-width:1279px) {
    .base-button--size-small {
        font-weight: 400
    }
}

.base-button--size-small .base-button__content {
    height: 3rem
}

.base-button--size-small .base-button__background {
    display: block
}

.base-button--size-small .base-button__background svg {
    height: 3.5rem;
    overflow: visible;
    width: 19rem
}

.base-button--size-small:is(.base-button--short) {
    height: 3.5rem;
    width: 13.2rem
}

.base-button--size-small:is(.base-button--short) .base-button__content {
    height: 3rem
}

.base-button--size-small:is(.base-button--short) .base-button__background {
    display: block
}

.base-button--size-small:is(.base-button--short) .base-button__background svg {
    height: 3.5rem;
    overflow: visible;
    width: 13.2rem
}

.base-button--white {
    --button-color-fill: #f2f2ed;
    --button-color-fill-hover: #39c7cb;
    --button-color-text: #f5455a;
    --button-color-text-hover: #f2f2ed
}

.base-button--blue {
    --button-color-fill: #39c7cb;
    --button-color-fill-hover: #f2f2ed;
    --button-color-text: #f2f2ed;
    --button-color-text-hover: #39c7cb
}

.form-input {
    display: flex;
    height: 5.4rem;
    position: relative
}

@media screen and (max-width:767px) {
    .form-input {
        height: 4.3rem;
        margin-bottom: 8.2rem
    }
}

.form-input__background {
    inset: 0;
    position: absolute;
    z-index: 1
}

@media screen and (max-width:767px) {
    .form-input__background {
        bottom: auto;
        height: 4.3rem;
        left: 0;
        right: auto;
        top: 0;
        width: 100%
    }
}

.form-input__main {
    flex-grow: 1;
    position: relative;
    z-index: 10
}

.form-input__input {
    background: transparent;
    border: 0;
    color: var(--form-input-color, #f2f2ed);
    font-family: initial;
    font-family: Alaca, sans-serif;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    font-weight: 500;
    height: 100%;
    letter-spacing: normal;
    line-height: 1.4285;
    padding: 1.6rem 2.2rem .1rem;
    text-transform: none;
    width: 100%
}

@media screen and (max-width:1023px) {
    .form-input__input {
        font-size: max(16px, 1.4rem)
    }
}

.form-input__input:-webkit-autofill,
.form-input__input:-webkit-autofill:focus,
.form-input__input:-webkit-autofill:hover {
    -webkit-text-fill-color: var(--form-input-color, #f2f2ed) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: var(--form-input-color, #f2f2ed) !important
}

.form-input__label {
    align-items: center;
    color: var(--form-input-placeholder, var(--form-input-color, #f2f2ed));
    display: flex;
    font-family: initial;
    font-family: Alaca, sans-serif;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    font-weight: 500;
    inset: 0;
    letter-spacing: normal;
    line-height: 1.4285;
    padding: .7rem 2.2rem .5rem;
    pointer-events: none;
    position: absolute;
    text-transform: none;
    transform-origin: 0 0;
    transition: transform .4s cubic-bezier(.23, 1, .32, 1)
}

.form-input__after {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 0 .6rem;
    position: relative;
    z-index: 15
}

@media screen and (max-width:767px) {
    .form-input__after {
        left: 0;
        padding: 0;
        position: absolute;
        top: calc(100% + 1.1rem);
        width: 100%
    }
}

.form-input--has-value .form-input__label,
.form-input--is-focused .form-input__label {
    text-transform: uppercase;
    transform: translate(.4rem, -.9rem) scale(.85)
}

@media screen and (max-width:767px) {

    .form-input--has-value .form-input__label,
    .form-input--is-focused .form-input__label {
        transform: translate(.4rem, -.6rem) scale(.85)
    }
}

.form-input-background {
    display: flex
}

.form-input-background:before {
    box-shadow: 1px 0 0 var(--form-input-background, #171a23), -1px 0 0 var(--form-input-background, #171a23);
    content: "";
    display: block;
    flex-grow: 1;
    height: 5.4rem;
    order: 2
}

@media screen and (max-width:767px) {
    .form-input-background:before {
        height: 4.3rem;
        width: calc(100% + .2rem)
    }
}

@media screen and (max-width:519px) {
    .form-input-background:before {
        height: 100%;
        margin: 0 -.2rem;
        width: calc(100% + .8rem)
    }
}

@media screen and (max-width:374px) {
    .form-input-background:before {
        height: 4.3rem;
        margin: 0;
        width: calc(100% + .2rem)
    }
}

.form-input-background__before {
    display: block;
    flex-grow: 0;
    height: 5.4rem;
    order: 1;
    width: .9rem
}

.form-input-background__after {
    display: block;
    flex-grow: 0;
    height: 5.4rem;
    order: 3;
    width: 1.6rem
}

.form-input-background__after path,
.form-input-background__before path {
    fill: var(--form-input-background, #171a23)
}

.fade-enter-active,
.fade-leave-active {
    transition: opacity .2s ease-out
}

.fade-enter-from,
.fade-leave-to {
    opacity: 0
}

.form-error {
    background-color: #f2f2ed;
    border-radius: .4rem;
    color: #f5455a;
    font-family: initial;
    font-family: Alaca, sans-serif;
    font-size: 1.1rem;
    font-style: normal;
    font-weight: 400;
    letter-spacing: normal;
    letter-spacing: .05em;
    line-height: 1.4;
    padding: .5rem 2.2rem .15rem;
    position: relative;
    text-transform: none;
    text-transform: uppercase;
    width: -moz-max-content;
    width: max-content
}

.form-error:before {
    content: "[Error]: "
}

.form-error:after {
    border-color: transparent transparent #f2f2ed;
    border-style: solid;
    border-width: 0 .6rem .6rem;
    bottom: 100%;
    content: "";
    display: block;
    height: 0;
    left: 4rem;
    position: absolute;
    width: 0
}

.form-checkbox {
    display: grid;
    gap: 0 1.4rem;
    grid-template-columns: 2.3rem 1fr;
    padding: 0 1.5rem 0 1.4rem;
    position: relative
}

@media screen and (max-width:767px) {
    .form-checkbox {
        padding: 0
    }
}

.form-checkbox__main {
    grid-column: 1/span 1;
    position: relative
}

.form-checkbox__background svg {
    display: block;
    height: 2.1rem;
    width: 2.3rem
}

@media screen and (max-width:767px) {
    .form-checkbox__background svg {
        height: 2.7rem;
        width: 2.7rem
    }
}

.form-checkbox__forground {
    align-items: center;
    display: flex;
    height: 2.1rem;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 2.3rem
}

@media screen and (max-width:767px) {
    .form-checkbox__forground {
        height: 2.7rem;
        width: 2.7rem
    }
}

.form-checkbox__checkmark svg {
    display: block;
    height: .9rem;
    width: 1.3rem
}

.form-checkbox__input {
    cursor: pointer;
    height: 2.1rem;
    left: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 3.7rem;
    z-index: 100
}

.form-checkbox__label {
    cursor: pointer;
    font-family: initial;
    font-family: Vastago Grotesk, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    font-weight: 500;
    grid-column: 2/span 1;
    letter-spacing: normal;
    letter-spacing: .05em;
    line-height: 1.2;
    text-transform: none
}

@media screen and (max-width:1279px) {
    .form-checkbox__label {
        font-size: 1.3rem
    }
}

@media screen and (max-width:767px) {
    .form-checkbox__label {
        font-size: 1.14rem
    }
}

.form-checkbox__label a {
    font-weight: 700;
    text-transform: uppercase
}

.form-checkbox__label p:not(:first-child) {
    margin-top: 1.2em
}

.form-checkbox__error {
    grid-column: 1/span 2;
    justify-self: flex-start;
    margin-top: .8rem
}

.form-checkbox__error.form-error {
    left: 0;
    position: absolute;
    top: 100%
}

.visually-hidden {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    white-space: inherit;
    width: auto
}

.form-field-group {
    position: relative
}

.form-field-group__error {
    left: 0;
    margin-top: .4rem;
    top: 100%;
    width: -moz-fit-content;
    width: fit-content;
    z-index: 16
}

.form-field-group__error.form-error {
    position: absolute
}