@charset "UTF-8";
@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap";

body {
    margin: 0;
    touch-action: manipulation
}

:root {
    --app-height: 100vh
}

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

* {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
    display: block
}

*[hidden] {
    display: none
}

body {
    line-height: 1.5
}

menu,
ol,
ul,
li {
    list-style: none;
    list-style-type: none
}

blockquote,
q {
    quotes: none
}

b,
strong {
    font-weight: bolder
}

select {
    text-transform: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

button {
    cursor: pointer;
    background: transparent;
    background-image: none
}

button:focus {
    outline: 0
}

::-moz-focus-inner {
    border-style: none;
    padding: 0
}

:-moz-ui-invalid {
    box-shadow: none
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

img,
video {
    width: 100%;
    max-width: 100%;
    height: auto
}

input:focus {
    outline: none
}

a:active,
a:focus,
a:visited,
a {
    text-decoration: none
}

body,
canvas {
    -webkit-touch-callout: none
}

canvas {
    -webkit-user-select: none
}

img {
    font-size: 0;
    border: 0;
    outline: 0;
    user-select: none
}

textarea {
    outline: none;
    border: none
}

:root {
    --bp-desktop: 1200px;
    --bp-tablet: 820px;
    --bp-mobile: 480px;
    --color-bg: #fcfcfc;
    --color-bg-alt: #e7e1d6;
    --color-bg-muted: #f1efea;
    --color-highlight: #C9A876;
    --color-dark: #0B0B0A;
    --color-dark-alt: #373647;
    --color-text: #0B0B0A;
    --color-text-light: #fcfcfc;
    --color-text-muted: #585765;
    --color-text-disabled: #8c8c95;
    --color-text-subtle: #b2b1b8;
    --color-border: #e6e6e8;
    --color-border-dark: #373647;
    --font-ui: "Roboto", sans-serif;
    --font-body: "Roboto", sans-serif;
    --text-xs: 12px;
    --text-sm: 14px;
    --text-base: 18px;
    --text-lg: 24px;
    --text-xl: 36px;
    --text-2xl: 80px;
    --text-3xl: 96px;
    --tracking-wide: .72px;
    --tracking-tight: -.96px;
    --tracking-tighter: -1.44px;
    --tracking-tightest: -3.2px;
    --tracking-hero: -5.76px;
    --leading-none: 1;
    --leading-tight: .9;
    --leading-snug: 1.2;
    --leading-normal: 1.4;
    --space-xs: 12px;
    --space-sm: 18px;
    --space-md: 20px;
    --space-lg: 24px;
    --space-xl: 40px;
    --space-2xl: 48px;
    --space-3xl: 96px;
    --space-4xl: 128px;
    --space-5xl: 192px;
    --radius-sm: 2px;
    --radius-md: 12px;
    --radius-full: 156px;
    --btn-height: 40px;
    --header-height: 80px;
    --icon-size: 48px;
    --icon-lg: 96px;
    --ease-default: cubic-bezier(.25, 1, .5, 1)
}

@media (max-width: 820px) {
    :root {
        --header-height: 64px
    }
}

::selection {
    background: #c9a876;
    color: #fff
}

.relative {
    position: relative
}

.fixed-full {
    position: fixed;
    inset: 0
}

.z1 {
    z-index: 1
}

.z2 {
    z-index: 2
}

.dnone {
    display: none !important
}

.vhidden {
    visibility: hidden
}

.flx {
    display: flex
}

.flx-column {
    display: flex;
    flex-direction: column
}

.flx-center {
    display: flex;
    align-items: center;
    justify-content: center
}

.abs-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.space-between {
    justify-content: space-between
}

.align-center {
    align-items: center
}

.w-100 {
    width: 100%
}

.mh-100 {
    min-height: 100vh
}

.pb-30 {
    padding-bottom: 30px
}

.unselectable {
    user-select: none;
    pointer-events: none
}

.udragnone {
    user-select: none;
    -webkit-user-drag: none
}

.deviceorientation-activate.show {
    pointer-events: all;
    position: fixed;
    inset: 0;
    z-index: 100000;
    opacity: 0
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--btn-height);
    padding: 0 var(--space-md);
    border-radius: var(--radius-full);
    font-size: var(--text-xs);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    text-decoration: none;
    transition: opacity .3s var(--ease-default)
}

@media (pointer: fine) {
    .btn:hover {
        opacity: .85
    }
}

.btn--dark {
    background-color: var(--color-dark);
    color: var(--color-text-light)
}

.btn--light {
    background-color: var(--color-bg);
    color: var(--color-text)
}

.pill-btn-span {
    position: relative;
    z-index: 1
}

.pill-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 24px;
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    letter-spacing: .28px;
    text-transform: uppercase;
    text-decoration: none;
    transition: color .3s var(--ease-default)
}

.pill-btn--dark {
    background-color: var(--color-dark);
    color: var(--color-text-light)
}

.pill-btn--glass {
    background-color: #0B0B0A1a;
    backdrop-filter: blur(10px);
    color: var(--color-text)
}

.pill-btn--light {
    background-color: var(--color-bg);
    color: var(--color-text)
}

.pill-btn:disabled {
    pointer-events: none;
    opacity: .6
}

@media all and (pointer: fine) {
    .pill-btn:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: var(--radius-full);
        opacity: 0;
        transition: opacity .3s var(--ease-default);
        background: var(--color-highlight)
    }

    .pill-btn:hover:before {
        opacity: 1
    }

    .pill-btn:hover.pill-btn--glass {
        color: var(--color-text-light)
    }
}

.section-image {
    flex-shrink: 0;
    width: 400px;
    height: 400px;
    border-radius: 24px;
    overflow: hidden
}

.section-image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media all and (max-width: 1380px) {
    .section-image {
        flex-shrink: unset !important
    }
}

@media (max-width: 1200px) {
    .section-image {
        width: 300px;
        height: 300px
    }
}

@media (max-width: 820px) {
    .section-image {
        width: 200px;
        height: 200px
    }
}

.sub-hero {
    display: flex;
    flex-direction: column;
    gap: var(--space-4xl);
    padding: 256px 48px 96px;
    width: 100%
}

.sub-hero .sub-hero__title {
    font-weight: 500;
    font-size: var(--text-3xl);
    line-height: var(--leading-tight);
    letter-spacing: -3.84px;
    color: var(--color-text);
    opacity: 0;
    transform: perspective(1000px) translate(50%) translate3d(-222.2px, 88px, 0) rotateY(60deg) rotateX(35deg);
    transition: opacity 1.5s cubic-bezier(.16, 1, .3, 1), transform 1.5s cubic-bezier(.16, 1, .3, 1)
}

.sub-hero .sub-hero__title span {
    display: block
}

.sub-hero .sub-hero__content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%
}

.sub-hero .sub-hero__icon {
    position: relative;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    overflow: hidden;
    opacity: 0;
    transform: translateY(120px);
    transition: opacity 1s ease .2s, transform 2s cubic-bezier(.16, 1, .3, 1) .2s
}

.sub-hero .sub-hero__icon:before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--color-dark);
    border-radius: 6px;
    z-index: 0;
    transition: background-color .3s ease
}

.sub-hero .sub-hero__icon svg {
    position: relative;
    z-index: 1;
    transition: transform .8s ease
}

.sub-hero .sub-hero__icon svg:last-child {
    position: absolute;
    inset: 0;
    margin: auto;
    transform: translateY(-40px)
}

.sub-hero .sub-hero__body {
    display: flex;
    flex-direction: column;
    gap: 48px;
    max-width: 700px;
    opacity: 0;
    transform: perspective(1000px) translate(50%) translate3d(-222.2px, 88px, 0) rotateY(60deg) rotateX(35deg);
    transition: opacity 1.5s cubic-bezier(.16, 1, .3, 1) .1s, transform 1.5s cubic-bezier(.16, 1, .3, 1) .1s
}

.sub-hero .sub-hero__text {
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    color: var(--color-text-muted)
}

.sub-hero.show .sub-hero__title {
    opacity: 1;
    transform: perspective(1000px) translate(0) translateZ(0) rotateY(0) rotateX(0)
}

.sub-hero.show .sub-hero__icon {
    opacity: 1;
    transform: translateY(0)
}

.sub-hero.show .sub-hero__body {
    opacity: 1;
    transform: perspective(1000px) translate(0) translateZ(0) rotateY(0) rotateX(0)
}

@media (pointer: fine) {
    .sub-hero__icon:hover:before {
        background: var(--color-highlight)
    }

    .sub-hero__icon:hover svg {
        transform: translateY(40px)
    }

    .sub-hero__icon:hover svg:last-child {
        transform: translateY(0)
    }
}

@media (max-width: 1200px) {
    .sub-hero {
        gap: 96px;
        padding: 200px 40px 80px
    }

    .sub-hero .sub-hero__title {
        font-size: 72px;
        letter-spacing: -2.88px
    }

    .sub-hero .sub-hero__body {
        max-width: 550px
    }

    .sub-hero .sub-hero__text {
        font-size: 20px
    }
}

@media (max-width: 820px) {
    .sub-hero {
        gap: 32px;
        padding: 120px 24px 48px
    }

    .sub-hero .sub-hero__title {
        font-size: 32px;
        line-height: 1;
        letter-spacing: -1.28px
    }

    .sub-hero .sub-hero__content {
        flex-direction: column;
        gap: 32px
    }

    .sub-hero .sub-hero__icon {
        display: none
    }

    .sub-hero .sub-hero__body {
        gap: 32px;
        max-width: 100%
    }

    .sub-hero .sub-hero__text {
        font-size: 16px
    }
}

.sub-hero-image__overflow {
    width: 100%;
    overflow: hidden
}

.sub-hero-image {
    padding: 0 48px;
    width: 100%;
    opacity: 0;
    transform: perspective(1000px) translate3d(80px, 60px, -60px);
    transition: opacity 1.3s cubic-bezier(.16, 1, .3, 1) .167s, transform 1.3s cubic-bezier(.16, 1, .3, 1) .167s
}

.sub-hero-image.show {
    opacity: 1;
    transform: perspective(1000px) translateZ(0)
}

.sub-hero-image__wrapper {
    width: 100%;
    background: #c9a876;
    border-radius: 24px;
    overflow: hidden
}

.sub-hero-image__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover
}

@media (max-width: 1200px) {
    .sub-hero-image {
        padding: 0 40px
    }

    .sub-hero-image__wrapper {
        border-radius: 20px
    }
}

@media (max-width: 820px) {
    .sub-hero-image {
        padding: 0 24px
    }

    .sub-hero-image__wrapper {
        border-radius: 12px
    }
}

.sub-section {
    display: flex;
    flex-direction: column;
    gap: var(--space-3xl);
    padding: var(--space-4xl) var(--space-2xl);
    width: 100%
}

.sub-section .sub-section__title {
    font-weight: 500;
    font-size: 64px;
    line-height: var(--leading-none);
    letter-spacing: -2.56px;
    color: var(--color-text);
    max-width: 700px;
    margin: 0;
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 1s cubic-bezier(.16, 1, .3, 1) .4s, transform 1s cubic-bezier(.16, 1, .3, 1) .4s
}

.sub-section .sub-section__body {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 1s cubic-bezier(.16, 1, .3, 1) .5s, transform 1s cubic-bezier(.16, 1, .3, 1) .5s
}

.sub-section .sub-section__body p {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted);
    max-width: 800px;
    margin: 0
}

.sub-section.show .sub-section__title,
.sub-section.show .sub-section__body {
    opacity: 1;
    transform: translateY(0)
}

@media (max-width: 1200px) {
    .sub-section {
        gap: 72px;
        padding: 96px 40px
    }

    .sub-section .sub-section__title {
        font-size: 48px;
        letter-spacing: -1.92px
    }

    .sub-section .sub-section__body p {
        max-width: 600px
    }
}

@media (max-width: 820px) {
    .sub-section {
        gap: 32px;
        padding: 48px 24px
    }

    .sub-section .sub-section__title {
        font-size: 24px;
        line-height: 1.1;
        letter-spacing: var(--tracking-tight)
    }

    .sub-section .sub-section__body {
        justify-content: flex-start
    }

    .sub-section .sub-section__body p {
        font-size: 16px;
        max-width: 100%
    }
}

.mission-bridge {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--space-5xl) var(--space-2xl);
    overflow: hidden;
    max-width: 100vw
}

.mission-bridge__bg {
    position: absolute;
    inset: 0;
    pointer-events: none
}

.mission-bridge__ellipse {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: visible
}

.mission-bridge__ellipse ellipse {
    fill: none;
    stroke: #585765;
    stroke-width: 1;
    stroke-dasharray: 2 4;
    animation: dash-move 8s linear infinite;
    animation-play-state: paused
}

.mission-bridge__ellipse--outer {
    width: clamp(600px, 100vw + 100px, 1500px);
    height: clamp(750px, (100vw + 100px) * 8 / 15, 800px)
}

.mission-bridge__ellipse--outer ellipse {
    stroke-dashoffset: 24
}

.mission-bridge__ellipse--inner {
    width: clamp(750px, (100vw + 100px) * 8 / 15, 800px);
    height: clamp(750px, (100vw + 100px) * 8 / 15, 800px)
}

.mission-bridge__ellipse--inner ellipse {
    animation-direction: reverse
}

.mission-bridge.show .mission-bridge__ellipse ellipse {
    animation-play-state: running
}

.mission-bridge__blur {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(1600px, 120vw);
    height: 400px;
    background: radial-gradient(ellipse at center, var(--color-bg) 0%, var(--color-bg) 45%, transparent 100%)
}

.mission-bridge__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2xl);
    text-align: center
}

.mission-bridge__logo {
    width: 128px;
    height: 128px;
    color: #0f32dc
}

.mission-bridge__logo .loader__logo {
    width: 128px;
    height: 128px
}

.mission-bridge__title {
    font-weight: 500;
    font-size: var(--text-2xl);
    line-height: var(--leading-none);
    letter-spacing: var(--tracking-tightest);
    color: var(--color-text);
    max-width: 1200px;
    margin: 0
}

.mission-bridge__title-line {
    display: block
}

.mission-bridge__text {
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    color: var(--color-text-muted);
    max-width: 800px;
    margin: 0
}

.mission-bridge__cta {
    display: flex;
    gap: var(--space-lg)
}

@media (max-width: 820px) {
    .mission-bridge__ellipse--outer {
        height: clamp(600px, (100vw + 100px) * 8 / 15, 750px)
    }

    .mission-bridge__ellipse--inner {
        width: clamp(600px, (100vw + 100px) * 8 / 15, 750px);
        height: clamp(600px, (100vw + 100px) * 8 / 15, 750px)
    }
}

@media (max-width: 1200px) {
    .mission-bridge {
        padding: var(--space-4xl) var(--space-xl)
    }

    .mission-bridge__title {
        font-size: 64px;
        letter-spacing: -2.56px
    }

    .mission-bridge__text {
        font-size: 20px;
        max-width: 600px
    }
}

@media (max-width: 960px) {
    .mission-bridge__title {
        font-size: 6.6vw;
        letter-spacing: -.26vw
    }
}

@media (max-width: 820px) {
    .mission-bridge {
        padding: var(--space-3xl) 24px
    }

    .mission-bridge__blur {
        width: 100vw;
        height: 300px
    }

    .mission-bridge__logo,
    .mission-bridge__logo .loader__logo {
        width: 96px;
        height: 96px
    }

    .mission-bridge__title {
        font-size: 32px;
        letter-spacing: -1.28px
    }

    .mission-bridge__text {
        font-size: 16px;
        max-width: 530px
    }

    .mission-bridge__cta {
        flex-direction: column-reverse;
        gap: var(--space-xs);
        width: 100%;
        max-width: 280px
    }

    .mission-bridge__cta .pill-btn {
        width: 100%
    }
}

@media (max-width: 520px) {
    .mission-bridge__title-line {
        display: inline
    }
}

.accordion-drawer {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
    padding: 0 var(--space-2xl);
    width: 100%;
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 1s cubic-bezier(.16, 1, .3, 1) .5s, transform 1s cubic-bezier(.16, 1, .3, 1) .5s
}

.accordion-drawer.show {
    opacity: 1;
    transform: translateY(0)
}

.accordion-drawer-item {
    border-bottom: 1px solid var(--color-border)
}

.accordion-drawer-item__header {
    width: 100%;
    padding-bottom: var(--space-2xl);
    gap: var(--space-lg)
}

.accordion-drawer-item__text {
    gap: 16px
}

.accordion-drawer-item__number {
    display: flex;
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: 64px;
    line-height: 1;
    letter-spacing: -2.56px;
    color: var(--color-text-disabled)
}

.accordion-drawer-item__digit {
    position: relative;
    display: inline-block;
    overflow: hidden
}

.accordion-drawer-item__digit-default,
.accordion-drawer-item__digit-hover {
    display: inline-block;
    transition: transform .4s var(--ease-default);
    transition-delay: calc(var(--digit-index) * 50ms)
}

.accordion-drawer-item__digit-default {
    position: relative
}

.accordion-drawer-item__digit-hover {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--color-highlight);
    transform: translateY(100%)
}

.accordion-drawer-item__title {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: 64px;
    line-height: 1;
    letter-spacing: -2.56px;
    color: var(--color-text)
}

.accordion-drawer-item__icon {
    flex-shrink: 0;
    width: 40px;
    height: 20px;
    display: flex
}

.accordion-drawer-item__icon img {
    width: 100%;
    height: 100%;
    transition: transform .3s ease
}

.accordion-drawer-item__content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .8s ease
}

.accordion-drawer-item__content-inner {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-2xl)
}

@media (pointer: fine) {
    .accordion-drawer-item__header:hover .accordion-drawer-item__digit-default {
        transform: translateY(-100%);
        transition-duration: .6s
    }

    .accordion-drawer-item__header:hover .accordion-drawer-item__digit-hover {
        transform: translateY(0);
        transition-duration: .6s
    }
}

.accordion-drawer-item--open .accordion-drawer-item__icon img {
    transform: rotate(180deg)
}

.accordion-drawer-item__layout {
    display: flex;
    gap: 40px;
    width: 100%;
    max-width: 1400px;
    justify-content: space-between
}

.accordion-drawer-item__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
    max-width: 800px
}

.accordion-drawer-item__subtitle {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text);
    margin: 0
}

.accordion-drawer-item__description {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted);
    margin: 0
}

.accordion-drawer-item__bullets {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl)
}

.accordion-drawer-item__bullet {
    display: flex;
    flex-direction: column;
    gap: var(--space-md)
}

.accordion-drawer-item__bullet h4 {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text)
}

.accordion-drawer-item__bullet p {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted)
}

@media (max-width: 1200px) {

    .accordion-drawer-item__number,
    .accordion-drawer-item__title {
        font-size: 48px;
        letter-spacing: -1.92px
    }

    .accordion-drawer-item__layout {
        gap: 80px
    }
}

@media (max-width: 1080px) {

    .accordion-drawer-item__layout,
    .outcome {
        gap: 40px
    }
}

@media (max-width: 820px) {
    .accordion-drawer {
        gap: var(--space-lg);
        padding: 0 var(--space-lg)
    }

    .accordion-drawer-item__header {
        padding-bottom: var(--space-lg)
    }

    .accordion-drawer-item__number,
    .accordion-drawer-item__title {
        font-size: 24px;
        line-height: 1.1;
        letter-spacing: var(--tracking-tight)
    }

    .accordion-drawer-item__icon {
        width: 12px;
        height: 6px
    }

    .accordion-drawer-item__content-inner {
        padding-top: 32px;
        padding-bottom: var(--space-lg)
    }

    .accordion-drawer-item__layout {
        flex-direction: column;
        gap: 32px
    }

    .accordion-drawer-item__body {
        gap: 32px
    }

    .accordion-drawer-item__subtitle {
        font-size: 24px;
        line-height: 1.1
    }

    .accordion-drawer-item__description {
        font-size: 16px
    }

    .accordion-drawer-item__bullets {
        gap: 32px
    }

    .accordion-drawer-item__bullet h4 {
        font-size: 24px;
        line-height: 1.1
    }

    .accordion-drawer-item__bullet p {
        font-size: 16px
    }
}

.apply-sections {
    overflow: visible
}

.apply-section-wrapper.sticky-stack__item {
    position: sticky;
    top: 0;
    width: 100%;
    overflow: hidden
}

.apply-section {
    position: relative;
    background: var(--color-bg);
    display: flex;
    justify-content: space-between;
    padding: var(--space-4xl) var(--space-2xl);
    border-bottom: 1px solid var(--color-border);
    min-height: 100vh;
    opacity: 0;
    transform: perspective(1000px) translate3d(200px, 0, -60px);
    transition: opacity 1.3s cubic-bezier(.16, 1, .3, 1) .167s, transform 1.3s cubic-bezier(.16, 1, .3, 1) .167s
}

.apply-section.show {
    opacity: 1;
    transform: perspective(1000px) translateZ(0)
}

.apply-section .apply-section__side {
    flex: 1
}

.apply-section .apply-section__title {
    font-size: var(--text-xl);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -1.44px;
    color: var(--color-text);
    padding: 0 24px 0 0
}

.apply-section .apply-section__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
    width: 800px;
    flex-shrink: 0
}

.apply-section .apply-section__text {
    font-size: var(--text-base);
    line-height: 1.4;
    color: var(--color-text-muted);
    max-width: 600px;
    margin: 0
}

.apply-section .apply-section__image {
    width: 100%;
    height: 400px;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-highlight)
}

.apply-section .apply-section__img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.apply-section .apply-section__overlay {
    position: absolute;
    inset: 0;
    background: #0000;
    pointer-events: none;
    z-index: 10
}

@media (max-width: 1200px) {
    .apply-section {
        gap: 24px;
        padding: 96px 40px
    }

    .apply-section .apply-section__content {
        width: 600px
    }

    .apply-section .apply-section__image {
        height: 320px
    }
}

@media (max-width: 820px) {
    .apply-sections {
        width: 100vw;
        overflow: hidden
    }

    .apply-section-wrapper.sticky-stack__item {
        position: relative
    }

    .apply-section {
        min-height: auto;
        flex-direction: column;
        gap: 8px;
        padding: 48px 24px
    }

    .apply-section .apply-section__title {
        font-size: 24px;
        letter-spacing: -.96px;
        padding: 0
    }

    .apply-section .apply-section__content {
        width: 100%;
        gap: 24px
    }

    .apply-section .apply-section__text {
        font-size: 16px;
        max-width: 100%
    }

    .apply-section .apply-section__image {
        height: 280px
    }
}

.outcome {
    display: flex;
    gap: 40px;
    width: 100%;
    justify-content: space-between;
    max-width: 1400px
}

@media (max-width: 1200px) {
    .outcome {
        gap: 80px
    }
}

@media (max-width: 820px) {
    .outcome {
        flex-direction: column;
        gap: 32px
    }
}

.outcome__content {
    flex-shrink: 0;
    width: 800px;
    gap: var(--space-2xl)
}

@media (max-width: 1200px) {
    .outcome__content {
        width: 100%
    }
}

.outcome__header {
    gap: 12px
}

@media (max-width: 820px) {
    .outcome__header {
        gap: var(--space-lg)
    }
}

.outcome__title {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text)
}

@media (max-width: 820px) {
    .outcome__title {
        line-height: 1.1
    }
}

.outcome__subtitle {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted)
}

@media (max-width: 820px) {
    .outcome__subtitle {
        font-size: 16px
    }
}

.outcome__items {
    display: flex;
    gap: var(--space-xl)
}

@media (max-width: 1200px) {
    .outcome__items {
        flex-direction: column
    }
}

.outcome-item {
    flex: 1;
    gap: var(--space-2xl)
}

@media (max-width: 1200px) {
    .outcome-item {
        gap: var(--space-lg)
    }
}

.outcome-item__number {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: 64px;
    line-height: var(--leading-none);
    letter-spacing: -2.56px;
    color: var(--color-text)
}

@media (max-width: 1200px) {
    .outcome-item__number {
        font-size: 48px;
        letter-spacing: -1.92px
    }
}

@media (max-width: 820px) {
    .outcome-item__number {
        font-size: 36px;
        letter-spacing: var(--tracking-tighter);
        line-height: var(--leading-snug)
    }
}

.outcome-item__text {
    gap: var(--space-md)
}

.outcome-item__title {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text)
}

@media (max-width: 820px) {
    .outcome-item__title {
        line-height: 1.1
    }
}

.outcome-item__description {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted)
}

@media (max-width: 820px) {
    .outcome-item__description {
        font-size: 16px
    }
}

@media (max-width: 1080px) {
    .outcome {
        gap: 32px
    }
}

.vectr-engine {
    display: flex;
    flex-direction: column;
    gap: 48px;
    width: 100%;
    max-width: 1400px;
    justify-self: flex-end
}

.vectr-engine__content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    width: 100%
}

.vectr-engine__content_wrapper {
    gap: var(--space-2xl)
}

.vectr-engine__text {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 800px
}

.vectr-engine__title {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text);
    margin: 0
}

.vectr-engine__body {
    display: flex;
    flex-direction: column;
    gap: 0
}

.vectr-engine__body p {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted);
    margin: 0 0 1.4em
}

.vectr-engine__body p:last-child {
    margin-bottom: 0
}

.vectr-engine__features {
    display: flex;
    gap: 40px;
    width: 100%
}

.vectr-engine__feature {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 240px
}

.vectr-engine__feature-title {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text);
    margin: 0
}

.vectr-engine__feature-desc {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted);
    margin: 0
}

@media (max-width: 1200px) {
    .vectr-engine__feature {
        flex: 1;
        width: auto
    }
}

@media (max-width: 820px) {
    .vectr-engine {
        gap: 48px
    }

    .vectr-engine__content {
        flex-direction: column-reverse;
        gap: 32px
    }

    .vectr-engine__text {
        gap: 32px
    }

    .vectr-engine__title {
        font-size: 24px;
        line-height: 1.1
    }

    .vectr-engine__body p {
        font-size: 16px
    }

    .vectr-engine__features {
        flex-direction: column;
        gap: 40px
    }

    .vectr-engine__feature {
        width: 100%
    }

    .vectr-engine__feature-title {
        font-size: 24px;
        line-height: 1.1
    }

    .vectr-engine__feature-desc {
        font-size: 16px
    }
}

.sticky-stack {
    display: flex;
    flex-direction: column
}

.sticky-stack__item {
    position: relative
}

.sticky-stack__item:nth-child(1) {
    z-index: 1
}

.sticky-stack__item:nth-child(2) {
    z-index: 2
}

.sticky-stack__item:nth-child(3) {
    z-index: 3
}

.sticky-stack__item:nth-child(4) {
    z-index: 4
}

.sticky-stack__item:nth-child(5) {
    z-index: 5
}

.sticky-stack__item:nth-child(6) {
    z-index: 6
}

.sticky-stack__item:nth-child(7) {
    z-index: 7
}

.sticky-stack__item:nth-child(8) {
    z-index: 8
}

.sticky-stack__item:nth-child(9) {
    z-index: 9
}

.sticky-stack__item:nth-child(10) {
    z-index: 10
}

.form {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.form__row {
    display: flex;
    gap: 24px
}

@media (max-width: 820px) {
    .form__row {
        flex-direction: column
    }
}

.form__field {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1
}

.form__field--full {
    width: 100%
}

.form__label {
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: 18px;
    line-height: 1.4;
    color: var(--color-text)
}

@media (max-width: 820px) {
    .form__label {
        font-size: 14px
    }
}

.form__required {
    color: red
}

.form__input {
    height: 48px;
    padding: 0 24px;
    border: 1px solid var(--color-text-subtle);
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 18px;
    line-height: 1.4;
    color: var(--color-text);
    background: transparent;
    transition: border-color .2s var(--ease-default)
}

.form__input::placeholder {
    color: var(--color-text-subtle)
}

.form__input:-webkit-autofill,
.form__input:-webkit-autofill:hover,
.form__input:-webkit-autofill:focus,
.form__input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--color-bg) inset !important;
    -webkit-text-fill-color: var(--color-text) !important;
    caret-color: var(--color-text)
}

.form__input:focus {
    outline: none;
    border-color: var(--color-highlight)
}

.form__input--error {
    border-color: red
}

@media (max-width: 820px) {
    .form__input {
        height: 40px;
        font-size: 16px
    }

    .form__input::placeholder {
        font-size: 14px
    }
}

.form__radio-group {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.form__radio-options {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px
}

@media (max-width: 820px) {
    .form__radio-options {
        flex-direction: column
    }
}

.form__radio {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer
}

.form__radio input {
    appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid var(--color-text-subtle);
    border-radius: 100px;
    cursor: pointer;
    transition: border-color .2s var(--ease-default), background-color .2s var(--ease-default)
}

.form__radio input:checked {
    border-color: var(--color-text);
    background-color: var(--color-text);
    box-shadow: inset 0 0 0 4px var(--color-bg)
}

.form__radio input:focus {
    outline: none;
    border-color: var(--color-highlight)
}

@media (pointer: fine) {
    .form__radio:hover input:not(:checked) {
        border-color: var(--color-highlight)
    }
}

.form__radio span {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.3;
    color: var(--color-text)
}

.form__disclaimer-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.form__disclaimer {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.3;
    color: var(--color-text)
}

.form__disclaimer a {
    text-decoration: underline;
    text-decoration-color: currentColor;
    color: inherit;
    transition: text-decoration-color .3s var(--ease-default)
}

@media (pointer: fine) {
    .form__disclaimer a:hover {
        text-decoration-color: var(--color-highlight)
    }
}

.form__disclaimer-details {
    display: inline;
    font-size: 14px;
    line-height: inherit;
    font-family: inherit
}

.form__disclaimer-details summary {
    display: inline-block;
    cursor: pointer;
    font: inherit;
    color: inherit;
    text-decoration: underline;
    text-decoration-color: currentColor;
    transition: text-decoration-color .3s var(--ease-default);
    list-style: none
}

.form__disclaimer-details summary::-webkit-details-marker {
    display: none
}

@media (pointer: fine) {
    .form__disclaimer-details summary:hover {
        text-decoration-color: var(--color-highlight)
    }
}

.form__disclaimer-details[open] summary {
    display: none
}

.form__disclaimer-details>span {
    display: block;
    margin-top: 8px;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit
}

.form__error {
    position: absolute;
    left: 0;
    bottom: -6px;
    font-size: 12px;
    color: red;
    transform: translateY(100%)
}

.form__error:empty {
    display: none
}

@media (max-width: 820px) {
    .form__error {
        position: relative;
        bottom: auto;
        transform: none;
        margin-top: -8px
    }
}

.form__success {
    padding: 24px;
    background: var(--color-bg-muted);
    border-radius: 12px;
    text-align: center
}

.form__success h3 {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: 24px;
    margin-bottom: 8px
}

.form__success p {
    font-size: 16px;
    color: var(--color-text-muted)
}

.form__checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 24px
}

@media (max-width: 820px) {
    .form__checkbox-grid {
        grid-template-columns: 1fr;
        gap: 20px
    }
}

.form__checkbox {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer
}

.form__checkbox input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.form__checkbox-icon {
    width: 20px;
    height: 20px;
    border: 1px solid var(--color-text-subtle);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background-color .2s var(--ease-default), border-color .2s var(--ease-default)
}

.form__checkbox-icon svg {
    opacity: 0;
    color: var(--color-bg);
    transition: opacity .2s var(--ease-default)
}

input:checked+.form__checkbox-icon {
    background: var(--color-text);
    border-color: var(--color-text)
}

input:checked+.form__checkbox-icon svg {
    opacity: 1
}

input:focus+.form__checkbox-icon {
    border-color: var(--color-text)
}

.form__checkbox-label {
    font-family: var(--font-ui);
    font-size: 18px;
    line-height: 1.4;
    color: var(--color-text)
}

@media (max-width: 820px) {
    .form__checkbox-label {
        font-size: 14px
    }
}

.form__radio-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px
}

@media (max-width: 820px) {
    .form__radio-card-grid {
        grid-template-columns: 1fr
    }
}

.form__radio-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--color-text-subtle);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color .2s var(--ease-default)
}

.form__radio-card input {
    appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid var(--color-text-subtle);
    border-radius: 100px;
    flex-shrink: 0;
    transition: border-color .2s var(--ease-default), background-color .2s var(--ease-default)
}

.form__radio-card input:checked {
    border-color: var(--color-text);
    background-color: var(--color-text);
    box-shadow: inset 0 0 0 4px var(--color-bg)
}

.form__radio-card input:focus {
    outline: none;
    border-color: var(--color-text)
}

.form__radio-card span {
    font-family: var(--font-ui);
    font-size: 18px;
    line-height: 1.4;
    color: var(--color-text)
}

@media (max-width: 820px) {
    .form__radio-card span {
        font-size: 14px
    }
}

.form__radio-card:has(input:checked) {
    border-color: var(--color-text)
}

@media (pointer: fine) {
    .form__radio-card:hover {
        border-color: var(--color-text)
    }
}

.form__textarea {
    padding: 24px;
    border: 1px solid var(--color-text-subtle);
    border-radius: 12px;
    font-family: var(--font-body);
    font-size: 18px;
    line-height: 1.4;
    color: var(--color-text);
    background: transparent;
    resize: none;
    min-height: 120px;
    transition: border-color .2s var(--ease-default)
}

.form__textarea::placeholder {
    color: var(--color-text-subtle)
}

.form__textarea:focus {
    outline: none;
    border-color: var(--color-text)
}

@media (max-width: 820px) {
    .form__textarea {
        padding: 16px;
        font-size: 16px
    }

    .form__textarea::placeholder {
        font-size: 14px
    }
}

.form__file-upload {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 48px;
    padding: 0 24px;
    border: 1px solid var(--color-text-subtle);
    border-radius: 100px;
    cursor: pointer;
    transition: border-color .2s var(--ease-default)
}

.form__file-upload[hidden] {
    display: none
}

@media (pointer: fine) {
    .form__file-upload:hover {
        border-color: var(--color-text)
    }
}

@media (max-width: 820px) {
    .form__file-upload {
        height: 40px
    }
}

.form__file-upload-text {
    font-family: var(--font-body);
    font-size: 18px;
    line-height: 1.4;
    color: var(--color-text-subtle)
}

@media (max-width: 820px) {
    .form__file-upload-text {
        font-size: 14px
    }
}

.form__file-upload svg {
    color: var(--color-text-subtle);
    flex-shrink: 0
}

.form__file-input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0
}

.form__file-loading,
.form__file-filled {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    height: 48px;
    padding: 0 24px;
    border: 1px solid var(--color-text-subtle);
    border-radius: 100px
}

@media (max-width: 820px) {

    .form__file-loading,
    .form__file-filled {
        height: 40px;
        padding: 0 18px
    }
}

.form__file-loading[hidden],
.form__file-filled[hidden] {
    display: none
}

.form__file-loading-text,
.form__file-filled-name {
    font-family: var(--font-body);
    font-size: 18px;
    line-height: 1.4;
    color: var(--color-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0
}

@media (max-width: 820px) {

    .form__file-loading-text,
    .form__file-filled-name {
        font-size: 14px
    }
}

.form__file-loading-text {
    color: var(--color-text-subtle)
}

.form__file-spinner {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid var(--color-text-subtle);
    border-top-color: var(--color-text);
    flex-shrink: 0;
    animation: form-file-spin .8s linear infinite
}

.form__file-remove {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text);
    flex-shrink: 0;
    transition: opacity .2s var(--ease-default)
}

@media (pointer: fine) {
    .form__file-remove:hover {
        opacity: .6
    }
}

.form__file-remove svg {
    display: block
}

@keyframes form-file-spin {
    to {
        transform: rotate(360deg)
    }
}

.request-crew {
    display: flex;
    min-height: min(100vh - 80px, 850px);
    margin-top: 80px;
    overflow: hidden
}

@media (max-width: 820px) {
    .request-crew {
        flex-direction: column;
        min-height: auto
    }
}

.request-crew__left {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 48px
}

.request-crew__left:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background: var(--color-border);
    transform: scaleY(0);
    transform-origin: top center;
    transition: transform 1.5s cubic-bezier(.16, 1, .3, 1) .15s
}

@media (max-width: 820px) {
    .request-crew__left {
        padding: 48px 24px
    }

    .request-crew__left:after {
        display: none
    }
}

.request-crew__right {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px
}

@media (max-width: 820px) {
    .request-crew__right {
        position: relative;
        padding: 48px 24px
    }

    .request-crew__right:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: var(--color-border);
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform 1.5s cubic-bezier(.16, 1, .3, 1) .4s
    }
}

.request-crew__title {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: 64px;
    line-height: 1;
    letter-spacing: -2.56px;
    color: var(--color-text);
    opacity: 0;
    transform: perspective(1000px) translate(50%) translate3d(-222.2px, 88px, 0) rotateY(60deg) rotateX(35deg);
    transition: opacity 1.5s cubic-bezier(.16, 1, .3, 1), transform 1.5s cubic-bezier(.16, 1, .3, 1)
}

@media (max-width: 820px) {
    .request-crew__title {
        font-size: 32px;
        letter-spacing: -1.28px
    }
}

.request-crew__description {
    font-family: var(--font-body);
    font-size: 24px;
    line-height: 1.2;
    color: var(--color-text);
    opacity: 0;
    transform: perspective(1000px) translate(50%) translate3d(-222.2px, 88px, 0) rotateY(60deg) rotateX(35deg);
    transition: opacity 1.5s cubic-bezier(.16, 1, .3, 1) .1s, transform 1.5s cubic-bezier(.16, 1, .3, 1) .1s
}

.request-crew__description p {
    margin: 0
}

@media (max-width: 820px) {
    .request-crew__description {
        font-size: 16px;
        margin-top: 32px
    }
}

.request-crew__form-wrapper {
    width: 100%;
    max-width: 524px
}

.request-crew__form-wrapper>.form>* {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 1s cubic-bezier(.16, 1, .3, 1), transform 1s cubic-bezier(.16, 1, .3, 1)
}

.request-crew__form-wrapper>.form>:nth-child(1) {
    transition-delay: .5s
}

.request-crew__form-wrapper>.form>:nth-child(2) {
    transition-delay: .6s
}

.request-crew__form-wrapper>.form>:nth-child(3) {
    transition-delay: .7s
}

.request-crew__form-wrapper>.form>:nth-child(4) {
    transition-delay: .8s
}

.request-crew__form-wrapper>.form>:nth-child(5) {
    transition-delay: .9s
}

.request-crew__form-wrapper>.form>:nth-child(6) {
    transition-delay: 1s
}

.request-crew__form-wrapper>.form>:nth-child(7) {
    transition-delay: 1.1s
}

.request-crew__form-wrapper>.form>:nth-child(8) {
    transition-delay: 1.2s
}

.request-crew.show .request-crew__left:after {
    transform: scaleY(1)
}

.request-crew.show .request-crew__title,
.request-crew.show .request-crew__description {
    opacity: 1;
    transform: perspective(1000px) translate(0) translateZ(0) rotateY(0) rotateX(0)
}

.request-crew.show .request-crew__form-wrapper>.form>* {
    opacity: 1;
    transform: translateY(0)
}

.request-crew.show .request-crew__right:before {
    transform: scaleX(1)
}

.apply-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 24px 140px;
    transition: opacity .3s var(--ease-default), visibility .3s var(--ease-default)
}

@media (max-width: 820px) {
    .apply-modal {
        padding: 64px 0 120px
    }
}

.apply-modal--close-inline {
    justify-content: flex-start
}

.apply-modal--close-inline .apply-modal__container {
    margin: 0
}

.apply-modal--close-inline .apply-modal__close {
    position: relative;
    bottom: auto;
    left: auto;
    transform: none;
    margin-top: 40px
}

.apply-modal.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible
}

.apply-modal.is-open .apply-modal__overlay {
    opacity: 1
}

.apply-modal.is-open .apply-modal__container {
    opacity: 1;
    transform: scale(1)
}

.apply-modal.is-closing {
    pointer-events: none
}

.apply-modal.is-closing .apply-modal__overlay {
    opacity: 0
}

.apply-modal.is-closing .apply-modal__container {
    opacity: 0;
    transform: scale(.95)
}

.apply-modal__overlay {
    position: fixed;
    inset: 0;
    background: #0f32dce6;
    backdrop-filter: blur(25px);
    opacity: 0;
    transition: opacity .4s var(--ease-default);
    pointer-events: none
}

.apply-modal__container {
    position: relative;
    margin: auto;
    transform: scale(.95);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    opacity: 0;
    transition: opacity .3s var(--ease-default), transform .3s var(--ease-default)
}

@media (max-width: 820px) {
    .apply-modal__container {
        gap: 24px;
        width: calc(100% - 48px);
        max-width: 327px
    }
}

.apply-modal__card {
    width: 500px
}

@media (max-width: 820px) {
    .apply-modal__card {
        width: 100%
    }
}

.apply-modal__title {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: -.04em;
    color: var(--color-text);
    margin: 0
}

@media (max-width: 820px) {
    .apply-modal__title {
        font-size: 20px;
        line-height: 1.1
    }
}

.apply-modal__form {
    gap: 24px
}

.apply-modal__close {
    position: fixed;
    display: flex;
    flex-direction: column;
    gap: 8px;
    bottom: 38px;
    z-index: 100000000;
    left: 50%;
    transform: translate(-50%);
    font-family: var(--font-ui);
    font-size: 12px;
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-bg);
    padding: 16px;
    transition: opacity .2s var(--ease-default)
}

@media (pointer: fine) {
    .apply-modal__close:hover {
        opacity: .7
    }

    .apply-modal__close:hover .am-close-line {
        transform: scaleX(0)
    }
}

.am-close-line {
    width: 100%;
    height: 1px;
    background: var(--color-bg);
    transition: transform .3s var(--ease-default);
    transform-origin: center
}

.modal-card {
    background: var(--color-bg);
    border: 4px solid rgba(252, 252, 252, .1);
    border-radius: 12px;
    padding: 48px;
    display: flex;
    flex-direction: column;
    gap: 32px
}

@media (max-width: 820px) {
    .modal-card {
        padding: 24px
    }
}

.modal-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%
}

.modal-nav__arrow {
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: var(--color-text);
    color: var(--color-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color .3s var(--ease-default)
}

.modal-nav__arrow:disabled {
    background: #e6e6e8;
    color: #b2b1b8;
    pointer-events: none
}

@media (pointer: fine) {
    .modal-nav__arrow:not(:disabled):hover {
        background: var(--color-highlight)
    }
}

.modal-nav__arrow svg {
    display: block
}

.modal-nav__counter {
    font-family: var(--font-ui);
    font-size: 14px;
    line-height: 1.4;
    color: var(--color-text);
    user-select: none
}

.modal-steps-wrapper {
    position: relative;
    width: 500px;
    min-height: 540px
}

@media (max-width: 820px) {
    .modal-steps-wrapper {
        width: 100%
    }
}

.modal-step {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
    transition: opacity .6s var(--ease-default), transform .6s var(--ease-default)
}

.modal-step--active {
    position: relative;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    z-index: 10
}

.modal-step--complete {
    opacity: 1;
    transform: translateY(0) scale(.8);
    pointer-events: none;
    z-index: 1
}

.modal-step--complete.modal-card {
    background: #fcfcfcb3;
    filter: blur(20px);
    transition: filter .9s var(--ease-default), background-color .9s var(--ease-default), transform .9s var(--ease-default)
}

.review-summary {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.review-summary__item {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.review-summary__item h4 {
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: 18px;
    line-height: 1;
    color: var(--color-text);
    margin: 0
}

@media (max-width: 820px) {
    .review-summary__item h4 {
        font-size: 14px
    }
}

.review-summary__item--hidden {
    display: none
}

.review-summary__content {
    font-family: var(--font-ui);
    font-size: 18px;
    line-height: 1.4;
    color: var(--color-text)
}

@media (max-width: 820px) {
    .review-summary__content {
        font-size: 14px
    }
}

.review-summary__content p {
    margin: 0
}

.modal-success {
    display: none
}

.modal-success--active {
    display: flex
}

.modal-success__title {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: -.04em;
    color: var(--color-text);
    margin: 0
}

@media (max-width: 820px) {
    .modal-success__title {
        line-height: 1.1
    }
}

.modal-success__body {
    font-family: var(--font-ui);
    font-size: 18px;
    line-height: 1.4;
    color: var(--color-text);
    margin: 0
}

@media (max-width: 820px) {
    .modal-success__body {
        font-size: 14px
    }
}

.modal-success__cta {
    width: 100%;
    display: flex;
    justify-content: center
}

.apply-modal__close--hidden {
    display: none !important
}

@keyframes dash-move {
    to {
        stroke-dashoffset: -24
    }
}

@keyframes dash-move-reverse {
    to {
        stroke-dashoffset: 48
    }
}

@keyframes draw-line {
    to {
        stroke-dashoffset: 0
    }
}

@keyframes erase-line-outer {
    0% {
        stroke-dasharray: 3700 3700;
        stroke-dashoffset: 0
    }

    to {
        stroke-dasharray: 0 3700;
        stroke-dashoffset: -3700
    }
}

@keyframes erase-line-inner {
    0% {
        stroke-dasharray: 2520 2520;
        stroke-dashoffset: 0
    }

    to {
        stroke-dasharray: 0 2520;
        stroke-dashoffset: -2520
    }
}

@keyframes logo-rotate {
    0% {
        transform: rotate(-60deg)
    }

    to {
        transform: rotate(0)
    }
}

@keyframes cube-fade {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes cube-slide {
    0% {
        transform: translate(var(--cube-tx), var(--cube-ty))
    }

    to {
        transform: translate(0)
    }
}

@keyframes fade-out {
    to {
        opacity: 0;
        transform: translateY(-40px)
    }
}

#loader {
    position: fixed;
    inset: 0;
    z-index: 100000
}

#loader .loader__logo {
    color: var(--color-highlight);
    z-index: 1;
    width: clamp(80px, min((100vw - 120px) * .064, (100vh - 60px) * .12), 96px);
    height: clamp(80px, min((100vw - 120px) * .064, (100vh - 60px) * .12), 96px);
    animation: logo-rotate 1.5s ease-out forwards
}

#loader .loader__logo .arrow-mask-line {
    stroke-dasharray: 60;
    stroke-dashoffset: 60;
    animation: draw-line .5s ease-out both .8s
}

#loader .loader__logo [id^=cube_] {
    animation: cube-fade .4s ease both, cube-slide .4s ease-out both
}

#loader .loader__logo #cube_01 {
    --cube-tx: 0px;
    --cube-ty: -20px;
    animation-delay: 0s
}

#loader .loader__logo #cube_02 {
    --cube-tx: 14px;
    --cube-ty: -14px;
    animation-delay: .08s
}

#loader .loader__logo #cube_03 {
    --cube-tx: 20px;
    --cube-ty: 0px;
    animation-delay: .16s
}

#loader .loader__logo #cube_04 {
    --cube-tx: 14px;
    --cube-ty: 14px;
    animation-delay: .24s
}

#loader .loader__logo #cube_05 {
    --cube-tx: 0px;
    --cube-ty: 20px;
    animation-delay: .32s
}

#loader .loader__logo #cube_06 {
    --cube-tx: -14px;
    --cube-ty: 14px;
    animation-delay: .4s
}

#loader .loader__logo #cube_07 {
    --cube-tx: -20px;
    --cube-ty: 0px;
    animation-delay: .48s
}

#loader .loader__logo #cube_08 {
    --cube-tx: -14px;
    --cube-ty: -14px;
    animation-delay: .56s
}

#loader .loader__ellipse {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: visible
}

#loader .loader__ellipse ellipse {
    fill: none;
    stroke: #585765;
    stroke-width: 1;
    stroke-dasharray: 2 4;
    animation: dash-move 4s linear infinite
}

#loader .loader__ellipse--outer {
    width: 1500px;
    max-width: calc(100vw - 120px);
    aspect-ratio: 1500/800;
    max-height: calc(100vh - 60px)
}

#loader .loader__ellipse--outer ellipse {
    stroke-dashoffset: 24
}

#loader .loader__ellipse--inner {
    width: 800px;
    aspect-ratio: 1;
    max-width: min(100vh - 60px, (100vw - 120px) * 8 / 15)
}

#loader .loader__ellipse .loader__draw {
    stroke-dasharray: 3700;
    stroke-dashoffset: 3700;
    animation: draw-line 2s ease-out forwards
}

#loader .loader__ellipse .loader__draw--inner {
    stroke-dasharray: 2520;
    stroke-dashoffset: 2520;
    animation: draw-line 1.8s ease-out forwards .2s
}

#loader.hide .loader__logo {
    animation: fade-out .6s ease forwards .5s
}

#loader.hide .loader__draw--outer {
    animation: erase-line-outer 2s ease both
}

#loader.hide .loader__draw--inner {
    animation: erase-line-inner 2s ease both .2s
}

@media (max-width: 820px) {
    #loader .loader__logo {
        width: 48px;
        height: 48px
    }

    #loader .loader__ellipse--outer {
        width: 330px;
        height: 176px;
        max-width: none;
        max-height: none;
        aspect-ratio: auto
    }

    #loader .loader__ellipse--inner {
        width: 176px;
        height: 176px;
        max-width: none;
        aspect-ratio: auto
    }
}

html.lenis,
html.lenis body {
    height: auto
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: clip
}

.lenis.lenis-smooth iframe {
    pointer-events: none
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--header-height);
    padding: 0 var(--space-sm) 0 2px;
    z-index: 11;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: transform 1.2s var(--ease-default);
    transform: translate3d(0, -100%, 0)
}

header.show {
    transform: translateZ(0)
}

header .header__nav-left {
    display: flex;
    align-items: center
}

header .header__nav-left a {
    padding: 16px;
    font-size: var(--text-xs);
    line-height: 100%;
    font-weight: 400;
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-text);
    text-decoration: none;
    transition: opacity .3s var(--ease-default), color .3s var(--ease-default)
}

@media (pointer: fine) {
    header .header__nav-left a:hover {
        color: var(--color-highlight)
    }
}

header .header__logo {
    position: absolute;
    left: 50%;
    transform: translate(-50%)
}

header .header__logo a {
    display: block;
    color: var(--color-text);
    padding: 18px
}

header .header__logo svg {
    width: 93px;
    height: 16px
}

header .header__logo svg path {
    transition: fill .3s var(--ease-default)
}

@media (min-width: 769px) {
    header.header--white .header__nav-left a {
        color: var(--color-text-light)
    }

    header.header--white .header__logo svg path {
        fill: var(--color-text-light)
    }

    header.header--white .pill-btn--glass {
        background-color: #fcfcfc26;
        color: var(--color-text-light)
    }
}

header .header__nav-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-lg);
    width: 400px
}

header .header__nav-right .header__ctas {
    display: flex;
    align-items: center;
    gap: 10px
}

@media (max-width: 820px) {
    header {
        padding: 0;
        background-color: transparent;
        transition: background-color .3s var(--ease-default), transform 1.2s var(--ease-default)
    }

    header .header__nav-left {
        display: none
    }

    header .header__logo {
        position: static;
        transform: none
    }

    header .header__logo svg {
        width: 69px;
        height: 12px
    }

    header .header__nav-right {
        z-index: 8;
        width: auto;
        gap: var(--space-lg)
    }

    header .header__nav-right .header__ctas {
        display: none
    }

    header:after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #e6e6e8;
        opacity: 0;
        transition: opacity .3s var(--ease-default)
    }

    header.sub-page,
    header.header--white {
        background-color: var(--color-bg)
    }

    header.sub-page:after,
    header.header--white:after {
        opacity: 1
    }

    header.menu-open {
        background-color: transparent
    }

    header.menu-open:after {
        opacity: 0
    }
}

html.preload .mobile-nav,
html.preload .mobile-nav *,
html.preload .mobile-nav__overlay {
    transition: none !important
}

.mobile-nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9;
    pointer-events: none
}

@media (max-width: 820px) {
    .mobile-nav {
        display: block
    }
}

.mobile-nav__overlay {
    position: fixed;
    inset: 0;
    background: #0B0B0A4d;
    backdrop-filter: blur(25px);
    opacity: 0;
    pointer-events: none;
    z-index: 9;
    transition: opacity .4s var(--ease-default)
}

.mobile-nav__panel-bg {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translate(-50%) translate3d(0, -40px, 0);
    width: calc(100% - 24px);
    height: 0;
    background: var(--color-bg);
    border-radius: 24px;
    opacity: 0;
    transition: opacity .3s var(--ease-default), transform .4s var(--ease-default), height .4s var(--ease-default)
}

.mobile-nav__panel {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translate(-50%);
    width: calc(100% - 24px);
    padding: 64px 12px 12px;
    overflow: hidden;
    border-radius: 24px
}

.mobile-nav__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: var(--space-lg);
    opacity: 0;
    transition: opacity .3s var(--ease-default)
}

.mobile-nav__logo .logo {
    width: 80px;
    height: auto
}

.mobile-nav__close {
    padding: 8px
}

.mobile-nav__close svg {
    display: block
}

.mobile-nav__list {
    display: flex;
    flex-direction: column;
    align-items: center
}

.mobile-nav__item {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .6s var(--ease-default), transform .6s var(--ease-default)
}

.mobile-nav__item a {
    display: flex;
    padding: 12px;
    font-size: var(--text-base);
    line-height: 100%;
    letter-spacing: 1.08px;
    text-transform: uppercase;
    color: var(--color-text);
    text-decoration: none;
    transition: opacity .3s var(--ease-default)
}

@media (pointer: fine) {
    .mobile-nav__item a:hover {
        opacity: .7
    }
}

.mobile-nav__ctas {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 14px
}

.mncta {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .6s var(--ease-default), transform .6s var(--ease-default)
}

.mobile-nav__cta {
    width: 100%;
    justify-content: center
}

.mobile-nav__overlay.show {
    opacity: 1;
    pointer-events: auto
}

.mobile-nav.is-open {
    pointer-events: auto
}

.mobile-nav.is-open .mobile-nav__panel-bg {
    opacity: 1;
    height: 280px;
    transform: translate(-50%) translateZ(0)
}

.mobile-nav.is-open .mobile-nav__header {
    opacity: 1
}

.mobile-nav.is-open .mobile-nav__item,
.mobile-nav.is-open .mncta {
    opacity: 1;
    transform: translateY(0)
}

.mobile-nav.is-closing .mobile-nav__header,
.mobile-nav.is-closing .mobile-nav__item,
.mobile-nav.is-closing .mncta {
    opacity: 0;
    transform: translateY(0);
    transition-delay: 0s !important
}

.mobile-nav.is-closing .mobile-nav__panel-bg {
    transition-delay: .1s
}

.menu-btn {
    display: none;
    width: 66px;
    height: 64px;
    padding: 0;
    background: none;
    border: none;
    position: relative;
    z-index: 11
}

@media (max-width: 820px) {
    .menu-btn {
        display: flex;
        align-items: center;
        justify-content: center
    }
}

.menu-btn__icon {
    display: block;
    position: relative;
    width: 30px;
    height: 10px
}

.menu-btn__line {
    position: absolute;
    left: 0;
    width: 30px;
    height: 2px;
    background: var(--color-dark);
    transition: transform .3s var(--ease-default), opacity .3s var(--ease-default)
}

.menu-btn__line--1 {
    top: 0
}

.menu-btn__line--2 {
    top: 4px
}

.menu-btn__line--3 {
    top: 8px
}

.menu-btn[aria-expanded=true] {
    pointer-events: none
}

.hero-spacer {
    min-height: max(40svh, 420px);
    width: 100%
}

.hero {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none
}

.hero .hero__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2xl);
    text-align: center;
    color: var(--color-text);
    padding-top: var(--space-4xl)
}

.hero .hero__title {
    font-weight: 500;
    font-size: var(--text-3xl);
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-hero);
    opacity: 0;
    transform: perspective(1000px) translate(50%) translate3d(-222.2px, 88px, 0) rotateY(60deg) rotateX(35deg);
    transition: opacity 1.5s cubic-bezier(.16, 1, .3, 1), transform 1.5s cubic-bezier(.16, 1, .3, 1)
}

.hero .hero__title span {
    display: block
}

.hero .hero__subtitle {
    max-width: 620px;
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    opacity: 0;
    transform: perspective(1000px) translate(50%) translate3d(-222.2px, 88px, 0) rotateY(60deg) rotateX(35deg);
    transition: opacity 1.5s cubic-bezier(.16, 1, .3, 1) .3s, transform 1.5s cubic-bezier(.16, 1, .3, 1) .3s
}

.hero .hero__subtitle br.sp {
    display: none
}

.hero .hero__subtitle span {
    display: block
}

.hero.show .hero__title,
.hero.show .hero__subtitle {
    opacity: 1;
    transform: perspective(1000px) translate(0) translateZ(0) rotateY(0) rotateX(0)
}

.hero.show .hero__scroll-btn>span:after {
    transform: scaleX(1) translateZ(0)
}

.hero.show .hsbtn-in {
    transform: translateZ(0)
}

.hero.hide .hsbtn-in {
    transform: translate3d(0, calc(100% + 7px), 0);
    transition: transform .35s ease
}

.hero.hide .hero__scroll-btn>span:after {
    transform: scaleX(0) translateZ(0);
    transition: transform .4s cubic-bezier(.55, 0, 1, .45) .1s
}

.hero .hero__scroll-btn {
    white-space: nowrap;
    position: absolute;
    bottom: var(--space-2xl);
    left: 50%;
    transform: translate(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--btn-height);
    padding: 0 var(--space-md);
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: .28px;
    text-transform: uppercase
}

.hero .hero__scroll-btn>span {
    overflow: hidden;
    position: relative;
    padding: 0 0 8px
}

.hero .hero__scroll-btn>span:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: currentColor;
    transform: scaleX(0) translateZ(0);
    transition: transform .9s cubic-bezier(.16, 1, .3, 1) .25s
}

.hsbtn-in {
    display: flex;
    transform: translate3d(0, calc(100% + 7px), 0);
    transition: transform 1.5s cubic-bezier(.16, 1, .3, 1) .65s
}

@media (max-width: 1024px) {
    .hero .hero__content {
        padding-top: 100px;
        gap: 32px
    }

    .hero .hero__title {
        font-size: 64px;
        letter-spacing: -3px
    }

    .hero .hero__subtitle {
        font-size: var(--text-base)
    }
}

@media (max-width: 820px) {
    .hero .hero__content {
        padding-top: 126px;
        padding-left: var(--space-md);
        padding-right: var(--space-md);
        gap: var(--space-lg)
    }

    .hero .hero__title {
        font-size: 44px;
        letter-spacing: -2px
    }

    .hero .hero__subtitle {
        font-size: 16px;
        max-width: 328px
    }

    .hero .hero__subtitle br.sp {
        display: none
    }

    .hero .hero__subtitle span {
        display: inline
    }

    .hero .hero__scroll-btn {
        bottom: 32px;
        font-size: 11px
    }
}

.flow {
    --flow-height-multiplier: 1;
    position: relative;
    height: calc(456svh * var(--flow-height-multiplier));
    width: 100%
}

.flow__wrapper {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100svh;
    display: flex;
    align-items: flex-end
}

.flow__steps {
    position: relative;
    padding: var(--space-2xl);
    display: flex;
    flex-direction: column;
    width: max-content
}

.flow__step {
    display: flex;
    flex-direction: column;
    backface-visibility: hidden
}

.flow__header {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    cursor: pointer
}

.flow__step--active .flow__header {
    cursor: default;
    pointer-events: none
}

.flow__number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--icon-size);
    height: var(--icon-size);
    border-radius: var(--radius-md);
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: var(--text-sm);
    color: var(--color-text);
    flex-shrink: 0;
    position: relative
}

.flow__number span {
    position: relative;
    z-index: 1
}

.flow__number:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: var(--color-bg);
    transform: scale(0);
    transition: transform .5s cubic-bezier(.16, 1, .3, 1);
    will-change: transform
}

.flow__title {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: var(--text-lg);
    line-height: 1.3;
    color: var(--color-text);
    margin: 0;
    transform: scale(.5833);
    transform-origin: left center;
    transition: transform .5s cubic-bezier(.16, 1, .3, 1);
    will-change: transform
}

.flow__body {
    display: grid;
    grid-template-rows: 0px 0fr;
    overflow: hidden;
    transition: grid-template-rows .6s cubic-bezier(.16, 1, .3, 1)
}

.flow__body:before {
    content: "";
    min-height: 0;
    overflow: hidden
}

.flow__body-inner {
    display: flex;
    gap: var(--space-md);
    min-height: 0;
    overflow: hidden
}

.flow__track {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--icon-size);
    height: 100%;
    flex-shrink: 0
}

.flow__track-bar {
    width: 2px;
    height: 100%;
    background: #0B0B0A33;
    border-radius: var(--radius-sm);
    position: relative;
    overflow: hidden
}

.flow__track-fill {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-dark);
    transform: scaleY(0);
    transform-origin: top center;
    will-change: transform
}

.flow__description {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted);
    max-width: 500px;
    margin: 0;
    opacity: 0;
    transform: translateY(8px);
    will-change: opacity, transform;
    transition: opacity .5s cubic-bezier(.16, 1, .3, 1), transform .5s cubic-bezier(.16, 1, .3, 1)
}

.flow__step--active .flow__number:before {
    transform: scale(1);
    transition-duration: .6s
}

.flow__step--active .flow__title {
    transform: scale(1);
    line-height: var(--leading-snug)
}

.flow__step--active .flow__body {
    grid-template-rows: var(--space-lg) 1fr
}

.flow__step--active .flow__description {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .15s
}

@media (max-width: 820px) {
    .flow {
        --flow-height-multiplier: 1.25
    }

    .flow__wrapper {
        height: 100dvh
    }

    .flow__steps {
        padding: 24px;
        bottom: 0;
        left: 0
    }

    .flow__description {
        max-width: 280px;
        font-size: 16px
    }

    .flow__step--active .flow__title {
        transform: scale(1)
    }

    .flow__title {
        font-size: 20px;
        transform: scale(.7)
    }

    .flow__number {
        width: 40px;
        height: 40px
    }

    .flow__track {
        width: 40px
    }
}

.features {
    position: relative;
    width: 100%;
    height: auto;
    background: var(--color-bg)
}

.features__sticky {
    position: static;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--space-3xl);
    padding: 120px var(--space-xl)
}

.features__sticky .features__title {
    font-weight: 500;
    font-size: 64px;
    line-height: var(--leading-none);
    letter-spacing: var(--tracking-tightest);
    color: var(--color-text)
}

.features__sticky .features__grid {
    display: flex;
    gap: var(--space-xl);
    width: 100%
}

.feature-item {
    flex: 1;
    min-width: 0;
    padding-left: var(--space-lg);
    border-left: 1px solid var(--color-border)
}

.feature-item .feature-item__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl)
}

.feature-item .feature-item__icon {
    width: 96px;
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center
}

.feature-item .feature-item__icon img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.feature-item .feature-item__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-md)
}

.feature-item .feature-item__title {
    font-weight: 500;
    font-size: var(--text-lg);
    line-height: var(--leading-none);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text)
}

.feature-item .feature-item__description {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted)
}

@media (max-width: 1200px) {
    .features {
        height: auto
    }

    .features__sticky {
        position: static;
        height: auto;
        padding: 120px var(--space-xl);
        gap: 64px
    }

    .features__sticky .features__title {
        font-size: 56px;
        letter-spacing: -2px
    }

    .features__sticky .features__grid {
        flex-wrap: wrap;
        gap: 32px
    }

    .feature-item {
        flex: 1 1 calc(50% - 16px);
        min-width: 280px;
        gap: 32px
    }

    .feature-item .feature-item__title {
        font-size: 20px
    }
}

@media (max-width: 820px) {
    .features__sticky {
        padding: 80px 24px;
        gap: 96px
    }

    .features__sticky .features__title {
        font-size: 32px;
        letter-spacing: -1.5px
    }

    .features__sticky .features__grid {
        flex-direction: column;
        gap: var(--space-2xl)
    }

    .feature-item {
        flex: 1 1 100%;
        gap: 32px;
        padding-left: 0;
        padding-bottom: 48px;
        border-left: none;
        border-bottom: 1px solid var(--color-border)
    }

    .feature-item:last-child {
        border-bottom: none;
        padding-bottom: 0
    }

    .feature-item .feature-item__title {
        font-size: var(--text-base)
    }

    .feature-item .feature-item__content {
        gap: 32px
    }
}

.standards {
    padding: var(--space-5xl) var(--space-xl);
    background-color: var(--color-bg)
}

.standards__container {
    display: flex;
    align-items: center;
    gap: 134px;
    justify-content: center;
}

.standards__image {
    width: 800px;
    height: 400px;
    border-radius: 24px;
    overflow: hidden
}

.standards__image img {
    object-fit: cover;
    height: 100%
}

.standards__content {
    min-width: 570px;
    max-width: 570px;
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl)
}

.standards__title {
    font-weight: 500;
    font-size: 64px;
    line-height: var(--leading-none);
    letter-spacing: -2.56px;
    color: var(--color-text)
}

.standards__title span {
    display: block
}

.standards__description {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted)
}

@media (max-width: 1280px) {
    .standards {
        padding: 120px var(--space-xl)
    }

    .standards__container {
        gap: 64px
    }

    .standards__image {
        width: 50%;
        height: 350px
    }

    .standards__title {
        font-size: 48px;
        letter-spacing: -2px
    }
}

@media (max-width: 1079px) {
    .standards__container {
        flex-direction: column;
        gap: 48px;
        align-items: flex-start
    }

    .standards {
        padding: 0 24px 96px
    }

    .standards__image {
        width: 100%;
        height: auto;
        aspect-ratio: 2/1;
        border-radius: var(--radius-md)
    }

    .standards__content {
        max-width: 600px;
        min-width: auto
    }
}

@media (max-width: 820px) {
    .standards__content {
        gap: 32px
    }

    .standards__title {
        font-size: 32px;
        letter-spacing: -1.28px
    }

    .standards__description {
        font-size: 17px
    }
}

.faq {
    position: relative;
    width: 100%;
    background-color: var(--color-bg);
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    padding: 0 var(--space-2xl)
}

.faq .faq__container {
    display: flex;
    gap: 48px;
    max-width: 1600px;
    margin: 0 auto
}

.faq .faq__left,
.faq .faq__right {
    padding: var(--space-4xl) 0
}

.faq .faq__left {
    flex: 1;
    max-width: 704px
}

.faq .faq__right {
    flex: 1;
    display: flex;
    flex-direction: column
}

.faq .faq__title {
    font-weight: 500;
    font-size: 64px;
    line-height: var(--leading-none);
    letter-spacing: var(--tracking-tightest);
    color: var(--color-text);
    margin: 0
}

.faq_split_bar {
    min-height: 0;
    width: 1px;
    background-color: var(--color-border)
}

.faq-item {
    border-bottom: 1px solid var(--color-border)
}

.faq-item:first-child {
    margin-top: -48px
}

.faq-item .faq-item__header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-lg);
    padding: 48px 0;
    text-align: left
}

.faq-item .faq-item__question {
    font-weight: 500;
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text)
}

.faq-item .faq-item__icon {
    flex-shrink: 0;
    width: 40px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #0B0B0A;
    transition: background .3s ease
}

.faq-item .faq-item__icon img {
    width: 100%;
    height: 100%;
    transition: transform .3s ease;
    transform: rotate(180deg)
}

.faq-item .faq-item__content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .6s ease, padding .5s ease
}

.faq-item .faq-item__answer {
    font-size: var(--text-base);
    line-height: 1.5;
    color: var(--color-text-muted);
    margin: 0;
    padding-bottom: 32px
}

@media (pointer: fine) {
    .faq-item .faq-item__header:hover .faq-item__icon {
        background: var(--color-highlight)
    }
}

.faq-item.faq-item--open .faq-item__icon img {
    transform: rotate(0)
}

@media (max-width: 1200px) {
    .faq {
        padding: 120px var(--space-xl)
    }

    .faq .faq__title {
        font-size: 56px;
        letter-spacing: -2px
    }

    .faq-item .faq-item__question {
        font-size: 20px
    }

    .faq-item .faq-item__answer {
        font-size: 16px
    }
}

@media all and (max-width: 1080px) {
    .faq__container {
        flex-direction: column
    }

    .faq .faq__left,
    .faq .faq__right {
        max-width: 100%;
        padding: 0
    }

    .faq_split_bar {
        width: 100%;
        height: 1px
    }

    .faq-item:last-child {
        border-bottom: none
    }
}

@media (max-width: 820px) {
    .faq {
        padding: 0 var(--space-lg)
    }

    .faq .faq__container {
        flex-direction: column;
        gap: var(--space-2xl);
        padding-bottom: 12px
    }

    .faq .faq__left {
        flex: none;
        max-width: 100%;
        padding-top: var(--space-3xl)
    }

    .faq .faq__title {
        font-size: 32px;
        letter-spacing: -1.28px
    }

    .faq-item:first-child {
        border-top: none
    }

    .faq-item .faq-item__header {
        gap: var(--space-xs);
        padding: var(--space-2xl) 0
    }

    .faq-item .faq-item__question {
        font-size: 20px
    }

    .faq-item .faq-item__icon {
        width: 40px;
        height: 24px
    }

    .faq-item .faq-item__answer {
        font-size: 16px;
        line-height: var(--leading-normal);
        padding-bottom: var(--space-2xl)
    }

    .faq-item .faq-item__content {
        margin-top: -16px
    }
}

.cta-section {
    position: relative;
    width: 100%;
    background-color: var(--color-dark);
    border-bottom: 1px solid var(--color-border-dark);
    padding: var(--space-4xl) var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl)
}

.cta-section .cta-section__title {
    font-weight: 500;
    font-size: var(--text-2xl);
    line-height: var(--leading-none);
    letter-spacing: var(--tracking-tightest);
    color: var(--color-text-light);
    margin: 0
}

.cta-section .cta-section__title span {
    display: block
}

.cta-section .cta-section__subtitle {
    font-size: 24px;
    line-height: 1.2;
    color: #b2b1b8;
    margin: 0;
    max-width: 600px
}

@media (max-width: 1200px) {
    .cta-section {
        padding: var(--space-3xl) var(--space-xl)
    }

    .cta-section .cta-section__title {
        font-size: 56px;
        letter-spacing: -2px
    }
}

@media (max-width: 820px) {
    .cta-section {
        padding: 48px 24px;
        gap: 48px
    }

    .cta-section .cta-section__title {
        font-size: 32px;
        letter-spacing: -1.5px
    }

    .cta-section .cta-section__subtitle {
        font-size: 18px
    }

    .cta-section .cta-section__title span {
        display: inline
    }
}

.industry-card {
    gap: 48px
}

.industry-card .industry-card__image {
    position: relative;
    height: 400px;
    border-radius: 24px;
    overflow: hidden
}

.industry-card .industry-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.industry-card .industry-card__title {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: -.96px;
    color: var(--color-text);
    margin: 0;
    max-width: 600px
}

.industry-card .industry-card__services {
    display: flex;
    flex-direction: column;
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0
}

.industry-card .industry-card__service {
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -.8px;
    color: var(--color-text);
    text-transform: capitalize
}

.industry-card .industry-card__divider {
    height: 1px;
    background: #d9d9d9
}

@media (max-width: 820px) {
    .industry-card {
        gap: 24px
    }

    .industry-card .industry-card__image {
        height: auto;
        aspect-ratio: 2/1;
        border-radius: 12px
    }

    .industry-card .industry-card__title {
        font-size: 20px;
        letter-spacing: -.8px
    }

    .industry-card .industry-card__services {
        gap: 14px
    }

    .industry-card .industry-card__service {
        font-size: 16px;
        letter-spacing: -.64px
    }
}

.industries-title {
    font-size: var(--text-xl);
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -1.44px;
    padding: 48px;
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 1s cubic-bezier(.16, 1, .3, 1) .4s, transform 1s cubic-bezier(.16, 1, .3, 1) .4s
}

.industries-title.show {
    opacity: 1;
    transform: translateY(0)
}

.industry-section {
    border-bottom: 1px solid #d9d9d9;
    overflow: visible;
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 1s cubic-bezier(.16, 1, .3, 1) .5s, transform 1s cubic-bezier(.16, 1, .3, 1) .5s
}

.industry-section.show {
    opacity: 1;
    transform: translateY(0)
}

.industry-row-wrapper {
    position: sticky;
    top: 0
}

.industry-row {
    position: relative;
    display: flex;
    gap: 48px;
    padding: 96px 48px;
    background: var(--color-bg);
    justify-content: space-between
}

.industry-row__nav {
    flex-shrink: 0;
    padding-top: 24px;
    align-self: flex-start
}

.industry-row__card {
    flex: 1;
    max-width: 800px
}

.industry-row__overlay {
    position: absolute;
    inset: 0;
    background: #0000;
    pointer-events: none;
    z-index: 10
}

.industry-nav {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.industry-nav__item {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: -.96px;
    color: var(--color-text-subtle);
    text-decoration: none;
    transition: color .3s var(--ease-default)
}

.industry-nav__item.is-active {
    color: var(--color-text)
}

@media (pointer: fine) {
    .industry-nav__item:hover {
        color: var(--color-text)
    }
}

@media (max-width: 820px) {
    .industry-row-wrapper {
        position: relative
    }

    .industry-row {
        flex-direction: column;
        padding: 64px 24px;
        min-height: auto
    }

    .industry-row__nav {
        display: none
    }

    .industry-row__card {
        max-width: 100%
    }
}

.stat-carousel-section {
    justify-content: flex-end;
    padding: 48px;
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 1s cubic-bezier(.16, 1, .3, 1) .35s, transform 1s cubic-bezier(.16, 1, .3, 1) .35s
}

.stat-carousel-section.show {
    opacity: 1;
    transform: translateY(0)
}

.stat-carousel {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 800px;
    width: 100%
}

.stat-carousel__slide {
    display: none
}

.stat-carousel__slide.is-active {
    display: block
}

.stat-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    background-color: var(--color-dark);
    border-radius: 24px;
    height: 400px;
    padding: 48px
}

.stat-card__text {
    display: flex;
    flex-direction: column;
    gap: 24px;
    color: var(--color-text-light)
}

.stat-card__value {
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: 128px;
    line-height: 1.1;
    letter-spacing: -5.12px
}

.stat-card__description {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: var(--text-xl);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tighter)
}

.stat-card__grid {
    display: flex;
    flex-wrap: wrap;
    width: 300px;
    flex-shrink: 0;
    align-content: flex-start
}

.stat-card__dot {
    width: 30px;
    height: 30px;
    border-radius: 50%
}

.stat-card__dot--filled {
    background-color: #0f32dc
}

.stat-card__dot--unfilled {
    background-color: var(--color-text-light)
}

.stat-carousel__indicators {
    gap: 12px
}

.stat-carousel__indicator {
    width: 60px;
    height: 2px;
    border-radius: 10px;
    background-color: var(--color-text-subtle);
    transition: background-color .3s var(--ease-default)
}

.stat-carousel__indicator.is-active {
    background-color: var(--color-dark)
}

@media (pointer: fine) {
    .stat-carousel__indicator:hover {
        background-color: var(--color-dark)
    }
}

.stat-carousel__arrows {
    gap: 12px
}

.stat-carousel__arrow {
    width: 60px;
    height: 40px;
    border-radius: 12px;
    background-color: var(--color-dark);
    transition: opacity .3s var(--ease-default)
}

.stat-carousel__arrow:disabled {
    opacity: .3;
    pointer-events: none
}

@media (pointer: fine) {
    .stat-carousel__arrow:hover {
        opacity: .85
    }
}

.stat-carousel__chevron {
    width: 24px;
    height: auto
}

.stat-carousel__chevron--down {
    transform: rotate(180deg)
}

@media (max-width: 820px) {
    .stat-carousel-section {
        padding: 24px
    }
}

@media (max-width: 820px) {
    .stat-carousel {
        gap: 24px
    }

    .stat-card {
        flex-direction: column;
        align-items: flex-start;
        height: auto;
        border-radius: 12px;
        padding: 24px;
        gap: 24px
    }

    .stat-card__text {
        gap: 32px
    }

    .stat-card__value {
        font-size: 64px;
        letter-spacing: -2.56px
    }

    .stat-card__description {
        font-weight: 600;
        font-size: 20px;
        line-height: var(--leading-normal)
    }

    .stat-card__grid {
        width: 270px
    }

    .stat-card__dot {
        width: 27px;
        height: 27px
    }

    .stat-carousel__indicator {
        width: 30px
    }

    .stat-carousel__arrow {
        width: 40px;
        height: 40px;
        border-radius: 10px
    }
}

.privacy-layout {
    display: flex;
    gap: 96px;
    padding: 96px 48px 296px;
    justify-content: space-between;
    max-width: 1400px
}

.privacy-layout__nav {
    flex-shrink: 0;
    position: sticky;
    top: 96px;
    align-self: flex-start;
    opacity: 0;
    transform: translate(80px);
    transition: opacity 1.3s cubic-bezier(.16, 1, .3, 1) .25s, transform 1.3s cubic-bezier(.16, 1, .3, 1) .25s
}

.privacy-layout.show .privacy-layout__nav {
    opacity: 1;
    transform: translate(0)
}

.privacy-layout__body {
    flex: 1;
    max-width: 800px;
    overflow: hidden
}

.privacy-nav {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.privacy-nav__item {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -.72px;
    color: var(--color-text-subtle);
    text-decoration: none;
    transition: color .2s var(--ease-default)
}

.privacy-nav__item.is-active {
    color: var(--color-text)
}

@media (pointer: fine) {
    .privacy-nav__item:hover {
        color: var(--color-text)
    }
}

.privacy-sections {
    display: flex;
    flex-direction: column;
    gap: 64px;
    opacity: 0;
    transform: translate(80px);
    transition: opacity 1.3s cubic-bezier(.16, 1, .3, 1) .35s, transform 1.3s cubic-bezier(.16, 1, .3, 1) .35s
}

.privacy-layout.show .privacy-sections {
    opacity: 1;
    transform: translate(0)
}

.privacy-sections__updated {
    font-size: var(--text-sm);
    color: var(--color-text-subtle)
}

.privacy-section {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.privacy-section__title {
    font-size: var(--text-lg);
    font-weight: 500;
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight)
}

.privacy-section__content {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted)
}

.privacy-section__content p {
    margin: 0 0 16px
}

.privacy-section__content p:last-child {
    margin-bottom: 0
}

.privacy-section__content ul,
.privacy-section__content ol {
    margin: 0 0 16px;
    padding-left: 24px
}

.privacy-section__content li {
    margin-bottom: 8px
}

.privacy-section__content a {
    color: var(--color-text);
    text-decoration: underline
}

.privacy-contact {
    padding-top: 32px;
    border-top: 1px solid var(--color-border)
}

.privacy-contact p {
    margin: 0 0 8px;
    font-size: var(--text-base);
    color: var(--color-text-muted)
}

.privacy-contact p:last-child {
    margin-bottom: 0
}

.privacy-contact a {
    color: var(--color-text)
}

@media (max-width: 820px) {
    .privacy-layout {
        flex-direction: column;
        padding: 64px 24px
    }

    .privacy-layout__nav {
        display: none
    }

    .privacy-layout__body {
        max-width: 100%
    }

    .privacy-sections {
        gap: 48px
    }

    .privacy-section__title {
        font-size: 20px
    }
}

.privacy-request__layout {
    max-width: 800px;
    margin: 0 auto;
    padding: 64px 48px 160px;
    display: flex;
    flex-direction: column;
    gap: 48px
}

.privacy-request__intro,
.privacy-request__alternatives {
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-muted)
}

.privacy-request__intro h2,
.privacy-request__alternatives h2 {
    font-size: var(--text-lg);
    font-weight: 500;
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text)
}

.privacy-request__intro p,
.privacy-request__alternatives p {
    margin: 0
}

.privacy-request__intro a,
.privacy-request__alternatives a {
    color: var(--color-text);
    text-decoration: underline
}

.privacy-request__alternatives {
    padding-top: 32px;
    border-top: 1px solid var(--color-border)
}

.privacy-request__alternatives ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.privacy-request__alternatives small {
    font-size: var(--text-sm);
    color: var(--color-text-subtle)
}

@media (max-width: 820px) {
    .privacy-request__layout {
        padding: 48px 24px 96px;
        gap: 32px
    }
}

.footer {
    width: 100%;
    background-color: var(--color-dark)
}

.footer-nav {
    display: flex;
    width: 100%;
    height: 200px;
    border-bottom: 1px solid var(--color-border-dark)
}

.footer-nav-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--space-2xl);
    height: 100%;
    text-decoration: none;
    border-right: 1px solid var(--color-border-dark);
    position: relative;
    overflow: hidden
}

.footer-nav-btn:last-child {
    border-right: none
}

.footer-nav-btn .footer-nav-btn__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: var(--color-bg);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .8s var(--ease-default)
}

.footer-nav-btn .footer-nav-btn__label {
    position: relative;
    z-index: 1;
    font-weight: 500;
    font-size: var(--text-xl);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tighter);
    color: var(--color-text-light);
    transition: transform .8s var(--ease-default), color .8s var(--ease-default)
}

.footer-nav-btn .footer-nav-btn__arrows {
    position: relative;
    z-index: 1;
    width: 23px;
    height: 32px;
    overflow: hidden
}

.footer-nav-btn .footer-nav-btn__arrow {
    position: absolute;
    top: 0;
    width: 23px;
    height: 32px;
    transition: transform .8s var(--ease-default)
}

.footer-nav-btn .footer-nav-btn__arrow--current {
    left: 0
}

.footer-nav-btn .footer-nav-btn__arrow--next {
    left: -100%
}

@media all and (pointer: fine) {
    .footer-nav-btn:hover .footer-nav-btn__bg {
        transform: scaleX(1)
    }

    .footer-nav-btn:hover .footer-nav-btn__label {
        color: var(--color-dark);
        transform: translate(10px)
    }

    .footer-nav-btn:hover .footer-nav-btn__arrow--current {
        transform: translate(200%)
    }

    .footer-nav-btn:hover .footer-nav-btn__arrow--next {
        transform: translate(100%)
    }
}

.footer__bottom {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
    padding: var(--space-2xl)
}

.footer__logo {
    width: 100%;
    height: auto;
    overflow: hidden
}

.footer__logo path {
    transform: translateY(calc(100% + 2px))
}

.footer__bottom.is-visible .footer__logo path {
    transform: translateY(0);
    transition: transform .8s var(--ease-default)
}

.footer__bottom.is-visible .footer__logo path:nth-child(1) {
    transition-delay: 0s
}

.footer__bottom.is-visible .footer__logo path:nth-child(2) {
    transition-delay: .06s
}

.footer__bottom.is-visible .footer__logo path:nth-child(3) {
    transition-delay: .12s
}

.footer__bottom.is-visible .footer__logo path:nth-child(4) {
    transition-delay: .18s
}

.footer__bottom.is-visible .footer__logo path:nth-child(5) {
    transition-delay: .24s
}

.footer__meta {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    font-size: var(--text-sm);
    line-height: var(--leading-normal)
}

.footer__copyright {
    margin-right: auto;
    color: var(--color-text-disabled)
}

.footer__privacy {
    position: relative;
    color: var(--color-text-light)
}

.footer__privacy:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background-color: var(--color-highlight);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .3s var(--ease-default)
}

.footer__credit {
    color: var(--color-text-disabled);
    transition: color .3s var(--ease-default)
}

@media all and (pointer: fine) {
    .footer__privacy:hover:after {
        transform: scaleX(1)
    }

    .footer__credit:hover {
        color: var(--color-text-light)
    }
}

@media (max-width: 1200px) {
    .footer-nav {
        height: 160px
    }

    .footer-nav-btn {
        padding: 0 var(--space-lg)
    }

    .footer-nav-btn .footer-nav-btn__label {
        font-size: 28px
    }
}

@media (max-width: 820px) {
    .footer-nav {
        flex-direction: column;
        height: auto;
        border-top: 1px solid var(--color-border-dark)
    }

    .footer-nav-btn {
        flex: none;
        height: 72px;
        border-right: none;
        border-bottom: 1px solid var(--color-border-dark);
        padding: 0 var(--space-lg)
    }

    .footer-nav-btn:last-child {
        border-bottom: none
    }

    .footer-nav-btn .footer-nav-btn__label {
        font-size: 20px;
        letter-spacing: var(--tracking-tight)
    }

    .footer-nav-btn .footer-nav-btn__arrows,
    .footer-nav-btn .footer-nav-btn__arrow {
        width: 18px;
        height: 26px
    }

    .footer__bottom {
        padding: var(--space-2xl) var(--space-lg);
        gap: var(--space-2xl)
    }

    .footer__meta {
        flex-wrap: wrap;
        row-gap: var(--space-lg)
    }

    .footer__copyright {
        flex: 1
    }

    .footer__credit {
        width: 100%
    }
}

@font-face {
    font-family: Soehne Buch;
    src: url(/fonts/test-soehne-leicht.woff2) format("woff2");
    font-weight: 300;
    font-style: normal
}

@font-face {
    font-family: Soehne Buch;
    src: url(/fonts/test-soehne-buch-kursiv.woff2) format("woff2");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: Soehne Buch;
    src: url(/fonts/test-soehne-dreiviertelfett.woff2) format("woff2");
    font-weight: 700;
    font-style: normal
}

@font-face {
    font-family: Soehne Buch;
    src: url(/fonts/test-soehne-extrafett.woff2) format("woff2");
    font-weight: 900;
    font-style: normal
}

body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text);
    background-color: var(--color-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

canvas {
    position: fixed;
    top: 0;
    left: 0;
    user-select: none;
    pointer-events: none;
    touch-action: pan-y;
    z-index: -1;
    opacity: 0;
    transition: opacity .7s ease-out
}

canvas.is-ready {
    opacity: 1
}

body.debug canvas {
    opacity: 1 !important
}

#app {
    position: relative;
    pointer-events: none
}

.lil-gui {
    top: initial !important;
    bottom: 0
}

.transition-pages {
    position: fixed;
    inset: 0;
    z-index: 9;
    pointer-events: none
}

.transition-pages:before,
.transition-pages:after {
    content: "";
    position: absolute;
    inset: 0
}

.transition-pages:before {
    background-color: #000;
    opacity: 0
}

.transition-pages:after {
    background-color: var(--color-bg);
    transform-origin: right top;
    transform: rotate(-90deg) translateZ(0)
}

.transition-pages.to-home:after {
    background-color: #e4e2de
}

.transition-pages.show:after {
    transform: rotate(0) translateZ(0);
    transition: transform .72s ease-in-out
}

.transition-pages.show:before {
    opacity: .2;
    transition: opacity .6s ease-in-out
}

.transition-pages.hide:before {
    opacity: 0;
    display: none
}

.transition-pages.hide:after {
    transform: rotate(-90deg) translateZ(0);
    transition: none
}

@media (max-width: 980px) {
    .transition-pages.show:after {
        transition: transform .45s ease-in-out
    }

    .transition-pages.show:before {
        transition: opacity .35s ease-in-out
    }
}

@media all and (max-width: 820px) {
    br.pc {
        display: none
    }
}

#app[data-astro-cid-5hce7sga] {
    width: 100%;
    height: 100%;
    overflow: hidden
}

#app[data-astro-cid-5hce7sga]>canvas[data-astro-cid-5hce7sga] {
    z-index: -1
}