:root {
    --dark: #0b0c0e;
    --dark-2: #16181d;
    --blue: #1a6bfc;
    --grey: #5f636a;
    --grey-light: #8c9096;
    --line: #d6d9de;
    --surface: #f3f4f6;
    --tint: #eaf1ff;
    --page: #e8e9eb;
    --dark-gradient: linear-gradient(150deg, #1b1e25 0%, #0b0c0e 55%);
    --ease: cubic-bezier(.2, .8, .2, 1);
    font-size: min(2.2727vw, 13px);
}

@media (min-width: 768px) {
    :root {
        font-size: min(.5208333vw, 10px);
    }
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    background: var(--page);
    color: var(--dark);
    font-family: Figtree, system-ui, -apple-system, sans-serif;
    font-size: 1.6rem;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    overflow-x: clip;
}

img,
video,
svg {
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    cursor: pointer;
}

ul {
    list-style: none;
}

b,
strong {
    font-weight: 500;
}

hr {
    border: 0;
}

.h1 {
    color: #fff;
    font-size: 6.5rem;
    font-weight: 500;
    line-height: .9;
    letter-spacing: -.04em;
}

.h2 {
    font-size: 4rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.04em;
}

.h1 span,
.h2 span {
    color: var(--grey-light);
}

.subtitle {
    color: var(--grey);
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: -.02em;
}

.subtitle strong {
    color: var(--dark);
}

.caps {
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}

@media (min-width: 768px) {
    .h1 {
        font-size: 12rem;
    }

    .h2 {
        margin-left: -.4rem;
        font-size: 7.2rem;
    }

    .subtitle {
        font-size: 2rem;
    }
}

.label {
    display: inline-flex;
    flex: none;
    align-items: center;
    gap: .8rem;
    height: 3.3rem;
    padding: 0 1.4rem 0 1.2rem;
    border-radius: 999px;
    background: var(--surface);
    font-size: 1.4rem;
    font-weight: 500;
    white-space: nowrap;
}

.label__icon {
    width: 2rem;
    height: 1.2rem;
    color: var(--blue);
}

.label--white {
    background: #fff;
}

.label--dark {
    background: rgba(243, 244, 246, .1);
    color: #fff;
}

.label--dark .label__icon {
    color: #fff;
}

.legend {
    display: flex;
    align-items: center;
    gap: .7rem;
    color: rgba(255, 255, 255, .9);
    font-size: 1.2rem;
    font-weight: 500;
    white-space: nowrap;
}

.legend__dot {
    flex: none;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
}

.legend__dot--ring {
    border: 1.6px solid #fff;
}

.legend__dot--outline {
    border: 1.6px solid var(--dark);
}

.legend__dot--blue {
    background: var(--blue);
}

@media (min-width: 768px) {
    .legend {
        gap: 1rem;
        font-size: 1.5rem;
    }
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    width: 100%;
    min-height: 8rem;
    padding: 0 2.8rem;
    border-radius: 999px;
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    transition: background-color .35s, color .35s, border-color .35s, box-shadow .35s;
}

.button__arrow {
    flex: none;
    width: 1.4rem;
    height: 1.4rem;
    opacity: .6;
    transition: transform .4s var(--ease), opacity .4s;
}

.button--small {
    min-height: 6rem;
}

.button--dark {
    background: var(--dark);
    color: #fff;
    box-shadow: 0 1.4rem 2.6rem -.8rem rgba(0, 0, 0, .3);
}

.button--white {
    background: #fff;
    color: var(--dark);
}

.button--outline {
    border: 1px solid rgba(255, 255, 255, .3);
    color: #fff;
}

.button--line {
    border: 1px solid rgba(0, 0, 0, .3);
    color: #000;
}

.button--store {
    gap: 1.2rem;
    padding: 0 2.6rem 0 2rem;
}

.button--store img {
    width: 2.8rem;
    height: 3.4rem;
}

.button--store span {
    display: flex;
    flex-direction: column;
    color: rgba(11, 12, 14, .7);
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.15;
    text-align: left;
}

.button--store strong {
    color: var(--dark);
    font-size: 2rem;
}

@media (min-width: 768px) {
    .button {
        width: auto;
        font-size: 1.7rem;
    }

    .button--store img {
        width: 3rem;
        height: 3.6rem;
    }
}

@media (hover: hover) {
    .button:hover .button__arrow {
        transform: rotate(45deg);
        opacity: 1;
    }

    .button--dark:hover {
        background: var(--blue);
        box-shadow: 0 1.4rem 3rem -.8rem rgba(26, 107, 252, .55);
    }

    .button--white:hover {
        background: var(--blue);
        color: #fff;
    }

    .button--outline:hover {
        border-color: #fff;
        background: #fff;
        color: var(--dark);
    }

    .button--line:hover {
        border-color: var(--dark);
        background: var(--dark);
        color: #fff;
    }

    .button--store:hover span,
    .button--store:hover strong {
        color: #fff;
    }

    .button--store:hover span {
        color: rgba(255, 255, 255, .75);
    }

    .button--store:hover img {
        filter: invert(1);
    }
}

.lockup {
    position: relative;
    display: inline-flex;
    flex: none;
    align-items: center;
    width: 21.5rem;
    height: 5rem;
}

.lockup__stark,
.lockup__elys {
    display: flex;
    align-items: center;
    width: 9.7rem;
    height: 4rem;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: -.05em;
    transition: background-color .45s, color .45s;
}

.lockup__stark {
    padding-left: 2.15rem;
    border-radius: 999px 0 0 999px;
    background: var(--dark-2);
    color: #fff;
}

.lockup__elys {
    margin-left: auto;
    padding-left: 3.35rem;
    border-radius: 0 999px 999px 0;
    background: var(--surface);
    color: var(--dark);
}

.lockup__x {
    position: absolute;
    top: 0;
    left: 8.25rem;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 .8rem 2.4rem rgba(0, 0, 0, .08);
    color: var(--dark);
    transition: transform .5s var(--ease);
}

.lockup__cross {
    width: 1.4rem;
    height: 1.4rem;
}

.lockup:hover .lockup__x {
    transform: rotate(90deg);
}

.chip {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    height: 3.2rem;
    padding: 0 1.5rem 0 1.2rem;
    border-radius: 999px;
    font-size: 1.2rem;
    font-weight: 500;
    white-space: nowrap;
}

.specs-section__chips .chip {
    white-space: normal;
}

.chip__icon {
    width: 2rem;
    height: 1.2rem;
    color: var(--blue);
}

.chip--glass {
    background: rgba(243, 244, 246, .1);
    color: #fff;
    -webkit-backdrop-filter: blur(1.6rem);
    backdrop-filter: blur(1.6rem);
}

.chip--glass .chip__icon {
    color: #fff;
}

.chip--white {
    background: #fff;
    box-shadow: 0 .6rem 1.6rem rgba(15, 31, 77, .07);
    color: var(--dark);
}

.chip--blue {
    padding: 0 1.5rem;
    background: var(--blue);
    color: #fff;
}

.chip--calm {
    padding: 0 1.5rem;
    background: var(--blue);
    box-shadow: 0 .8rem 2rem -.4rem rgba(26, 107, 252, .5);
    color: #fff;
}

.chip--frost {
    height: auto;
    min-height: 2.8rem;
    padding: .4rem 1rem;
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .05);
    color: #fff;
    font-size: 1rem;
    -webkit-backdrop-filter: blur(1.6rem);
    backdrop-filter: blur(1.6rem);
}

.chip--frost::before {
    content: "";
    width: .4rem;
    height: .4rem;
    border-radius: 50%;
    background: #fff;
}

@media (min-width: 768px) {
    .chip--frost {
        min-height: 3.7rem;
        padding: .4rem 1.4rem .4rem 1.2rem;
        font-size: 1.4rem;
    }

    .chip--frost::before {
        width: .7rem;
        height: .7rem;
    }
}

.icon-box {
    display: grid;
    flex: none;
    place-items: center;
    width: 4.4rem;
    height: 4.4rem;
    border-radius: 1.4rem;
    background: var(--tint);
}

.icon-box img {
    width: 2rem;
    height: 2rem;
}

.icon-box--image img {
    width: 100%;
    height: 100%;
}

.arrows {
    display: flex;
    gap: 1rem;
}

.arrows__button {
    display: grid;
    place-items: center;
    width: 5.2rem;
    height: 5.2rem;
    border-radius: 50%;
    background: #fff;
    color: var(--dark);
}

.arrows__button svg {
    width: 1.6rem;
    height: 1.6rem;
}

.arrows__button--dark {
    background: var(--dark);
    color: #fff;
}

@media (min-width: 768px) {
    .arrows__button {
        transition: background .25s, color .25s;
    }

    .arrows__button:hover {
        background: var(--blue);
        color: #fff;
    }
}

.ring-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.5rem;
    height: 1.5rem;
    margin: -.75rem 0 0 -.75rem;
    border: 1.8px solid #fff;
    border-radius: 50%;
}

.ring-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -.3rem;
    width: .4rem;
    height: .4rem;
    margin-top: -.2rem;
    border-radius: 50%;
    background: var(--blue);
    box-shadow: 0 0 .4rem rgba(26, 107, 252, .9);
}

@media (min-width: 768px) {
    .ring-icon {
        width: 1.9rem;
        height: 1.9rem;
        margin: -.95rem 0 0 -.95rem;
        border-width: 2.2px;
    }

    .ring-icon::after {
        right: -.36rem;
        width: .5rem;
        height: .5rem;
        margin-top: -.25rem;
        box-shadow: 0 0 .5rem rgba(26, 107, 252, .9);
    }
}

.stat__number {
    display: flex;
    align-items: flex-start;
    gap: .2rem;
    font-size: 9rem;
    font-weight: 500;
    line-height: .9;
    letter-spacing: -.08em;
    white-space: nowrap;
}

.stat__number sup {
    color: var(--blue);
    font-size: 2.8rem;
    font-weight: 600;
    line-height: .9;
    letter-spacing: -.02em;
}

.stat__label {
    margin-top: .8rem;
    color: var(--grey);
    font-size: 1.6rem;
}

.stat--small .stat__number {
    font-size: 7rem;
    letter-spacing: -.07em;
}

.stat--small .stat__label {
    width: 12.4rem;
    font-size: 1.4rem;
    line-height: 1.4;
}

@media (max-width: 767px) {
    .stat__label br {
        display: none;
    }
}

@media (min-width: 768px) {
    .stat__number {
        gap: 0;
        font-size: 14rem;
    }

    .stat__number sup {
        margin-left: .4rem;
        font-size: 5rem;
        vertical-align: 0;
    }

    .stat__label {
        margin: 1.5rem 0 0 .8rem;
        font-size: 1.9rem;
        white-space: nowrap;
    }

    .stat--small .stat__number {
        font-size: 14rem;
    }

    .stat--small .stat__number sup {
        margin: -.7rem 0 0 1.4rem;
    }

    .stat--small .stat__label {
        width: auto;
        margin: .6rem 0 0;
        font-size: 1.5rem;
        white-space: normal;
    }
}

[fade] {
    opacity: 0;
    transform: translateY(4rem);
    transition: opacity .9s var(--ease) var(--delay, 0s), transform .9s var(--ease) var(--delay, 0s);
}

[fade].is-visible {
    opacity: 1;
    transform: none;
}

.header {
    z-index: 62;
    display: flex;
    align-items: center;
}

.header__nav,
.header__button {
    display: none;
}

.header__burger {
    position: relative;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    background: var(--dark);
    transition: background-color .45s;
}

.header__burger span {
    position: absolute;
    left: 1.6rem;
    width: 1.8rem;
    height: .2rem;
    border-radius: .1rem;
    background: #fff;
    transition: transform .45s var(--ease), top .45s var(--ease), background-color .45s;
}

.header__burger span:first-child {
    top: 2.1rem;
}

.header__burger span:last-child {
    top: 2.7rem;
}

.header.is-open .header__burger span {
    top: 2.4rem;
}

.header.is-open .header__burger span:first-child {
    transform: rotate(45deg);
}

.header.is-open .header__burger span:last-child {
    transform: rotate(-45deg);
}

@media (max-width: 767px) {
    .header {
        position: sticky;
        top: 1rem;
        justify-content: space-between;
        width: 42rem;
        height: 7rem;
        margin: 1rem auto 0;
        padding: 1rem;
        border-radius: 999px;
        background: #fff;
        transition: background-color .45s var(--ease), box-shadow .4s;
    }

    .header.is-stuck:not(.is-open) {
        background: rgba(255, 255, 255, .72);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6), 0 1.2rem 3.2rem -1rem rgba(11, 12, 14, .12);
        -webkit-backdrop-filter: blur(2rem) saturate(1.4);
        backdrop-filter: blur(2rem) saturate(1.4);
    }

    .is-menu-open .header {
        position: fixed;
        top: 1rem;
        left: 50%;
        margin: 0 0 0 -21rem;
    }

    .is-menu-open body {
        padding-top: 8rem;
    }

    .main,
    .footer {
        transition: filter .5s var(--ease);
    }

    .is-menu-open .main,
    .is-menu-open .footer {
        filter: blur(1.6rem) brightness(.85);
    }
}

@media (min-width: 768px) {
    .header {
        position: fixed;
        top: 1.6rem;
        left: 50%;
        z-index: 50;
        gap: 2.8rem;
        padding: .8rem .8rem .8rem 2rem;
        border: 1px solid rgba(255, 255, 255, .6);
        border-radius: 999px;
        background: rgba(255, 255, 255, .72);
        box-shadow: 0 1.2rem 3.2rem -1rem rgba(11, 12, 14, .12);
        font-size: 1.5rem;
        font-weight: 500;
        white-space: nowrap;
        transform: translate(-50%, -12rem);
        transition: transform .5s var(--ease);
        -webkit-backdrop-filter: blur(2rem) saturate(1.4);
        backdrop-filter: blur(2rem) saturate(1.4);
    }

    .header.is-visible {
        transform: translate(-50%, 0);
    }

    .header__logo {
        display: block;
        width: auto;
        height: auto;
        color: var(--dark);
        font-weight: 600;
        letter-spacing: -.04em;
    }

    .header__logo .lockup__stark,
    .header__logo .lockup__elys,
    .header__logo .lockup__x {
        position: static;
        display: inline;
        width: auto;
        height: auto;
        margin: 0;
        padding: 0;
        border-radius: 0;
        background: none;
        box-shadow: none;
        color: inherit;
        font: inherit;
        letter-spacing: inherit;
    }

    .header__logo .lockup__x {
        margin: 0 .1em;
        color: var(--blue);
    }

    .header__logo .lockup__cross {
        display: inline-block;
        width: .6em;
        height: .6em;
        vertical-align: .02em;
    }

    .header__nav {
        display: flex;
        gap: 2.8rem;
    }

    .header__nav a {
        color: rgba(11, 12, 14, .7);
        transition: color .2s;
    }

    .header__nav a:hover {
        color: var(--dark);
    }

    .header__button {
        display: inline-flex;
        min-height: 4.6rem;
        padding: 0 2rem;
        font-size: 1.5rem;
    }

    .header__burger {
        display: none;
    }
}

.menu {
    display: none;
}

@media (max-width: 767px) {
    .menu {
        position: fixed;
        top: 1rem;
        left: 50%;
        z-index: 61;
        display: flex;
        flex-direction: column;
        width: 42rem;
        height: calc(100dvh - 2rem);
        margin-left: -21rem;
        padding: 11.3rem 0 3rem;
        border-radius: 4rem;
        background: #fff;
        box-shadow: 0 2rem 6rem -2rem rgba(11, 12, 14, .25);
        clip-path: inset(0 0 calc(100% - 7rem) 0 round 3.5rem);
        visibility: hidden;
        transition: clip-path .6s var(--ease), visibility 0s .6s;
    }

    .menu.is-open {
        clip-path: inset(0 0 0 0 round 4rem);
        visibility: visible;
        transition: clip-path .6s var(--ease), visibility 0s;
    }

    .menu__nav {
        display: flex;
        flex: 1;
        flex-direction: column;
        padding: 0 3rem;
        overflow: auto;
    }

    .menu__nav a {
        display: flex;
        align-items: baseline;
        gap: 1.4rem;
        padding: 1.4rem 0;
        color: rgba(11, 12, 14, .9);
        font-size: 4rem;
        font-weight: 500;
        letter-spacing: -.02em;
        opacity: 0;
        transform: translateY(-1.2rem);
        transition: opacity .4s, transform .5s var(--ease);
    }

    .menu__nav li:first-child a {
        color: var(--dark);
    }

    .menu__nav li + li a {
        border-top: 1px solid rgba(11, 12, 14, .1);
    }

    .menu__nav span {
        color: var(--grey-light);
        font-size: 1.3rem;
    }

    .menu__buttons {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        padding: 2rem 3rem 0;
        opacity: 0;
        transform: translateY(1.6rem);
        transition: opacity .4s, transform .5s var(--ease);
    }

    .menu .button--outline {
        border-color: rgba(11, 12, 14, .3);
        color: var(--dark);
    }

    .menu .button--outline:hover {
        background: var(--dark);
        color: #fff;
    }

    .menu.is-open .menu__nav a,
    .menu.is-open .menu__buttons {
        opacity: 1;
        transform: none;
    }

    .menu.is-open li:nth-child(1) a {
        transition-delay: .15s;
    }

    .menu.is-open li:nth-child(2) a {
        transition-delay: .2s;
    }

    .menu.is-open li:nth-child(3) a {
        transition-delay: .25s;
    }

    .menu.is-open li:nth-child(4) a {
        transition-delay: .3s;
    }

    .menu.is-open li:nth-child(5) a,
    .menu.is-open .menu__buttons {
        transition-delay: .35s;
    }
}

.main {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 44rem;
    margin: 0 auto;
    padding: 1rem;
}

.main > section {
    scroll-margin-top: 9rem;
}

@media (min-width: 768px) {
    .main {
        gap: 2rem;
        width: 192rem;
        padding: 2rem 2rem 0;
    }
}

.hero-section {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 4rem 3rem;
    border-radius: 3rem;
    background: #020409;
    color: #fff;
    overflow: hidden;
    overflow: clip;
}

.hero-section__video {
    order: 1;
    height: 33.75rem;
    margin: -5rem -3rem 0;
    object-fit: cover;
    object-position: 91.67% 50%;
    -webkit-mask-image: linear-gradient(transparent, #000 18%, #000 72%, transparent);
    mask-image: linear-gradient(transparent, #000 18%, #000 72%, transparent);
    animation: hero-media 1.6s .2s var(--ease) backwards;
}

.hero-section__top {
    display: none;
}

.hero-section__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.hero-section__legends {
    display: flex;
    gap: 2rem;
    animation: hero-up .9s .15s var(--ease) backwards;
}

.hero-section__title {
    width: 34.4rem;
}

.hero-section__phrase {
    animation: hero-phrase 1s .3s var(--ease) backwards;
}

.hero-section__phrase:first-child {
    color: inherit;
}

.hero-section__phrase:last-child {
    color: rgba(255, 255, 255, .42);
    animation-delay: .6s;
}

.hero-section__subtitle {
    width: 28.6rem;
    margin-top: .5rem;
    color: var(--grey-light);
    font-size: 1.8rem;
    animation: hero-up .9s .85s var(--ease) backwards;
}

.hero-section__subtitle strong {
    color: #fff;
}

.hero-section__buttons {
    display: flex;
    flex-direction: column;
    order: 2;
    gap: 1rem;
}

.hero-section__buttons > * {
    animation: hero-up .7s .85s var(--ease) backwards;
}

.hero-section__buttons > :nth-child(2) {
    animation-delay: .97s;
}

.hero-section__buttons > :nth-child(3) {
    animation-delay: 1.2s;
}

.hero-section__note {
    margin-top: .6rem;
    color: rgba(255, 255, 255, .45);
    font-size: 1.3rem;
    font-weight: 500;
    text-align: center;
}

@media (min-width: 768px) {
    .hero-section {
        gap: 0;
        min-height: 90rem;
        padding: 3.7rem 5rem 5rem;
        border-radius: 3.6rem;
    }

    .hero-section__video {
        position: absolute;
        top: 0;
        right: -8.8rem;
        width: 181.9rem;
        height: 100%;
        margin: 0;
        object-position: 50% 23%;
        -webkit-mask-image: linear-gradient(90deg, transparent, #000 24rem);
        mask-image: linear-gradient(90deg, transparent, #000 24rem);
        animation-delay: .1s;
    }

    .hero-section__top {
        position: relative;
        display: flex;
        align-items: center;
        gap: 4rem;
        margin-top: -1.7rem;
    }

    .hero-section__nav {
        display: flex;
        gap: 3.2rem;
        color: rgba(255, 255, 255, .7);
        font-size: 1.5rem;
        font-weight: 500;
        animation: hero-up .9s .2s var(--ease) backwards;
    }

    .hero-section__lockup {
        animation: hero-up .9s .2s var(--ease) backwards;
    }

    .hero-section__get {
        position: absolute;
        top: -.5rem;
        right: -3.5rem;
        width: 17.4rem;
        animation: hero-up .9s .2s var(--ease) backwards;
    }

    .hero-section__content {
        position: relative;
        gap: 0;
        width: 70rem;
        margin-top: auto;
    }

    .hero-section__legends {
        gap: 3rem;
    }

    .hero-section__title {
        width: 69.5rem;
        margin-top: 2.4rem;
    }

    .hero-section__subtitle {
        width: auto;
        margin-top: 2rem;
        font-size: 2rem;
    }

    .hero-section__subtitle strong {
        display: block;
    }

    .hero-section__buttons {
        position: relative;
        margin-top: 5rem;
        flex-flow: row wrap;
        align-items: center;
        width: 67rem;
    }

    .hero-section__buttons .button--white {
        width: 36rem;
    }

    .hero-section__buttons .button--outline {
        width: 30rem;
    }

    .hero-section__note {
        display: none;
    }
}

@media (min-width: 768px) and (hover: hover) {
    .hero-section__nav a:hover {
        color: #fff;
    }
}

.research-section {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 3rem;
    border-radius: 3rem;
    background: #fff;
    overflow: hidden;
    overflow: clip;
}

.research-section__top {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.research-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.research-section__title {
    width: 33rem;
}

.research-section__author {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    padding: 1rem 3rem 1rem 1rem;
    border-radius: 8.4rem;
    background: var(--surface);
}

.research-section__author img {
    width: 5.2rem;
    height: 5.2rem;
    border-radius: 50%;
    box-shadow: 0 0 0 3px #fff;
}

.research-section__author p {
    flex: 1;
    color: var(--grey);
    font-size: 1.4rem;
    line-height: 1.5;
}

.research-section__author strong {
    color: var(--dark);
}

.research-section__stats {
    display: flex;
    flex-direction: column;
}

.research-section__stats .stat {
    padding: 2.4rem 0;
    border-bottom: 1px solid var(--line);
}

.research-section__stats .stat:first-child {
    padding-top: 0;
}

.research-section__stats .stat:last-child {
    border-bottom: 0;
}

.research-section__pulse {
    position: relative;
    height: 6.2rem;
    margin: 0 -3rem;
    overflow: hidden;
}

.research-section__pulse-line {
    position: absolute;
    top: 0;
    left: -14rem;
    width: 113.3rem;
    height: 6.1rem;
}

.research-section__pulse-fill {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 7.8rem;
    overflow: hidden;
}

.research-section__partners {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 1rem;
}

.research-section__group {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.research-section__caption {
    color: var(--grey-light);
    font-size: 1.2rem;
    line-height: 1.35;
}

.research-section__caption br {
    display: none;
}

.research-section__logos {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.research-section__logos img {
    width: auto;
    height: 3.4rem;
    opacity: .75;
}

.research-section__logos--media {
    gap: 2.8rem;
}

.research-section__logos--media img:first-child {
    height: 2.9rem;
}

.research-section__logos--media img:last-child {
    height: 2.7rem;
}

@media (min-width: 768px) {
    .research-section {
        display: block;
        padding: 7rem 28rem;
        border-radius: 3.6rem;
    }

    .research-section__top {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
        gap: 0;
    }

    .research-section__title {
        width: 59rem;
    }

    .research-section__author {
        border-radius: 999px;
    }

    .research-section__author img {
        box-shadow: none;
    }

    .research-section__author p {
        flex: none;
        width: 25.3rem;
        font-size: 1.5rem;
    }

    .research-section__stats {
        display: grid;
        grid-template-columns: 51.9rem 47.6rem auto;
        margin: 8rem 0 0 -.8rem;
    }

    .research-section__stats .stat,
    .research-section__stats .stat:first-child {
        padding: 0;
        border: 0;
    }

    .research-section__pulse {
        position: absolute;
        top: 60.6rem;
        left: -.4rem;
        width: 187.2rem;
        height: 10.2rem;
        margin: 0;
        overflow: visible;
    }

    .research-section__pulse-line {
        left: 0;
        width: 187.2rem;
        height: 10.2rem;
        overflow: visible;
    }

    .research-section__pulse-fill {
        height: 13rem;
    }

    .research-section__partners {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 0;
        height: 10.8rem;
        margin-top: 23.5rem;
        padding-top: .8rem;
    }

    .research-section__group {
        flex-direction: row;
        align-items: center;
        gap: 5.6rem;
    }

    .research-section__caption {
        font-size: 1.3rem;
    }

    .research-section__caption br {
        display: inline;
    }

    .research-section__logos,
    .research-section__logos--media {
        gap: 5.6rem;
    }
}

.signals-section {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    padding: 3rem;
    border-radius: 3rem;
    background: var(--surface);
    overflow: hidden;
    overflow: clip;
}

.signals-section__top {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.signals-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.signals-section__title {
    width: 33.6rem;
}

.signals-section__subtitle {
    width: 33.2rem;
}

.signals-section__list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.signals-section__diagram {
    display: none;
}

@media (max-width: 767px) {
    .signals-section__title br {
        display: none;
    }
}

@media (min-width: 768px) {
    .signals-section {
        display: block;
        padding: 7rem 28rem 0;
        border-radius: 3.6rem;
    }

    .signals-section__top {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
        gap: 0;
    }

    .signals-section__title {
        width: auto;
    }

    .signals-section__subtitle {
        width: 42.4rem;
        margin-bottom: -.2rem;
    }

    .signals-section__list {
        flex-direction: row;
        gap: 2.4rem;
        margin-top: 6rem;
    }

    .signals-section__diagram {
        position: relative;
        display: block;
        height: 83.2rem;
        margin: 0 -28rem;
        pointer-events: none;
    }

    .signals-section__lines {
        position: absolute;
        top: 0;
        left: 48.4rem;
        width: 89.6rem;
        height: 21.1rem;
        overflow: visible;
    }

    .signals-section__lines path {
        stroke-width: 1;
        opacity: .3;
    }

    .signals-section__orb {
        position: absolute;
        top: 19rem;
        left: 80rem;
        width: 28rem;
        height: 28rem;
        border-radius: 50%;
        box-shadow: 0 3rem 9rem rgba(26, 107, 252, .4);
        object-fit: cover;
        animation: float 7s ease-in-out infinite;
    }

    .signals-section__result {
        position: absolute;
        top: 53rem;
        left: 81.1rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        width: 25.9rem;
        text-align: center;
    }

    .signals-section__badge {
        display: inline-flex;
        align-items: center;
        height: 4.4rem;
        padding: 0 2rem;
        border-radius: 999px;
        background: var(--dark);
        color: #fff;
        font-size: 1.7rem;
        font-weight: 500;
    }

    .signals-section__result p {
        color: var(--grey);
        font-size: 1.6rem;
        line-height: 1.45;
    }

    .signals-section__result strong {
        color: var(--dark);
    }

    .signals-section__sources {
        position: absolute;
        top: 68rem;
        left: 52.8rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.4rem;
        width: 80.8rem;
        pointer-events: auto;
    }

    .signals-section__sources .caps {
        color: var(--grey-light);
    }

    .signals-section__sources-list {
        display: flex;
        align-items: center;
        gap: 1rem;
    }
}

.source {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    height: 5.4rem;
    padding: 0 2rem 0 .8rem;
    border: 1px solid rgba(11, 12, 14, .08);
    border-radius: 999px;
    background: #fff;
    white-space: nowrap;
}

.source__icon {
    display: grid;
    place-items: center;
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 50%;
    background: var(--surface);
}

.source__icon img {
    width: 1.8rem;
    height: 1.8rem;
}

.source__icon .ring-icon {
    position: relative;
    top: auto;
    left: auto;
    width: 2rem;
    height: 2rem;
    margin: 0;
}

.source__name {
    font-size: 1.5rem;
    font-weight: 500;
}

.source__name span {
    display: block;
    color: var(--grey-light);
    font-size: 1.2rem;
    font-weight: 400;
}

.source--dark {
    height: 5.2rem;
    border: 0;
    background: var(--dark);
    color: #fff;
}

.source--dark .source__icon {
    background: rgba(255, 255, 255, .1);
}

.source--dark .source__name span {
    color: rgba(255, 255, 255, .6);
}

.signal-card {
    border-radius: 2.7rem;
    background: #fff;
    overflow: hidden;
}

.signal-card--wearable {
    background: var(--dark-gradient);
    color: #fff;
}

.signal-card__visual {
    position: relative;
    width: 36rem;
    height: 30.6rem;
    overflow: hidden;
}

.signal-card__chart {
    position: relative;
    width: 42.4rem;
    height: 36rem;
    transform: scale(.849);
    transform-origin: 0 0;
}

.signal-card__caption {
    position: absolute;
    top: 3rem;
    left: 2.8rem;
    color: var(--grey-light);
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.signal-card__value {
    position: absolute;
    top: 4.8rem;
    left: 2.8rem;
    font-size: 2.6rem;
    font-weight: 500;
    letter-spacing: -.02em;
    white-space: nowrap;
}

.signal-card__days {
    position: absolute;
    top: 30.8rem;
    left: 1.8rem;
    display: flex;
}

.signal-card__days::before {
    content: "";
    position: absolute;
    top: -1.2rem;
    left: 1rem;
    width: 36.8rem;
    height: 1px;
    background: rgba(11, 12, 14, .12);
}

.signal-card__days li {
    width: 5.6rem;
    color: rgba(11, 12, 14, .45);
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-align: center;
}

.signal-card--wearable .signal-card__caption {
    color: rgba(255, 255, 255, .5);
}

.signal-card--wearable .signal-card__days::before {
    background: rgba(255, 255, 255, .12);
}

.signal-card--wearable .signal-card__days li {
    color: rgba(255, 255, 255, .45);
}

.signal-card__stem,
.signal-card__line,
.signal-card__dot,
.signal-card__chip,
.signal-card__event,
.signal-card__ticks {
    position: absolute;
    transition: opacity .5s var(--ease), transform .6s var(--ease), background-color .4s, color .4s, box-shadow .4s;
}

.signal-card__stem {
    top: 14.6rem;
    left: 15.5rem;
    width: 1px;
    height: 15rem;
    background: var(--blue);
}

.signal-card__stem--next {
    top: 20.6rem;
    left: 27.1rem;
    height: 9rem;
}

.signal-card__dot {
    top: 29.1rem;
    left: 15.1rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: var(--blue);
}

.signal-card__dot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: inherit;
    opacity: 0;
}

.signal-card__dot--next {
    left: 26.7rem;
}

.signal-card__event {
    top: 10.4rem;
    left: 9.4rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.4rem 1rem 1rem;
    border-radius: 1.4rem;
    background: #fff;
    box-shadow: 0 .8rem 2.4rem rgba(15, 31, 77, .1);
    white-space: nowrap;
}

.signal-card__event-icon {
    display: grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    border-radius: 1rem;
    background: var(--blue);
    color: #fff;
}

.signal-card__event-icon svg {
    width: 1.6rem;
    height: 1.6rem;
}

.signal-card__event p {
    color: var(--grey);
    font-size: 1.2rem;
}

.signal-card__event strong {
    display: block;
    margin-bottom: .2rem;
    color: var(--dark);
    font-size: 1.4rem;
}

.signal-card--medical .signal-card__chip {
    top: 16.4rem;
    left: 21.4rem;
}

.signal-card__wave {
    position: absolute;
    top: 15rem;
    left: 0;
    width: 42.4rem;
    height: 12rem;
    overflow: hidden;
}

.signal-card__wave svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 66.4rem;
    height: 12rem;
    animation: wave 2.2s linear infinite;
    will-change: transform;
}

.signal-card__chips {
    position: absolute;
    top: 10.4rem;
    left: 2.8rem;
    display: flex;
    gap: .6rem;
}

.signal-card__ticks {
    top: 29.3rem;
    left: 4.1rem;
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 11.2rem 0 currentColor, 22.4rem 0 currentColor, 33.6rem 0 currentColor;
    color: rgba(11, 12, 14, .15);
}

.signal-card__line {
    width: 1px;
    background: rgba(11, 12, 14, .15);
}

.signal-card--mood .signal-card__dot {
    top: 29.2rem;
    width: .8rem;
    height: .8rem;
}

.signal-card__line--panic {
    top: 17.2rem;
    left: 10rem;
    height: 12.4rem;
}

.signal-card__dot--panic {
    left: 9.6rem;
}

.signal-card__chip--panic {
    top: 15.4rem;
    left: 5.4rem;
}

.signal-card__line--overwhelmed {
    top: 12.2rem;
    left: 21.2rem;
    height: 17.4rem;
}

.signal-card__dot--overwhelmed {
    left: 20.8rem;
}

.signal-card__chip--overwhelmed {
    top: 10.4rem;
    left: 15.3rem;
}

.signal-card__line--sleep {
    top: 20.2rem;
    left: 32.4rem;
    height: 9.4rem;
}

.signal-card__dot--sleep {
    left: 32rem;
}

.signal-card__chip--sleep {
    top: 18.4rem;
    left: 26.7rem;
}

.signal-card__dot--overwhelmed,
.signal-card__dot--sleep {
    background: rgba(11, 12, 14, .3);
}

.signal-card__dot--overwhelmed::after,
.signal-card__dot--sleep::after {
    display: none;
}

.signal-card__line--calm {
    top: 10.6rem;
    left: 38rem;
    height: 19rem;
    background: var(--blue);
}

.signal-card__dot--calm {
    left: 37.6rem;
}

.signal-card__chip--calm {
    top: 7.4rem;
    left: 27.8rem;
}

.signal-card__extra {
    opacity: 0;
    pointer-events: none;
}

.signal-card__extra.chip {
    transform: translateY(1rem);
}

.signal-card__stem.signal-card__extra,
.signal-card__line.signal-card__extra {
    transform: scaleY(0);
    transform-origin: 50% 100%;
}

.signal-card__dot.signal-card__extra {
    transform: scale(0);
}

.signal-card__body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0 2.4rem 2.4rem;
}

.signal-card__legend {
    gap: .8rem;
    color: rgba(11, 12, 14, .27);
}

.signal-card__legend .legend__dot {
    width: .8rem;
    height: .8rem;
}

.signal-card__legend .legend__dot--outline {
    opacity: .3;
}

.signal-card--wearable .signal-card__legend {
    color: rgba(255, 255, 255, .27);
}

.signal-card__title {
    font-size: 2.8rem;
    font-weight: 500;
    letter-spacing: -.02em;
}

.signal-card__text {
    color: var(--grey);
    font-size: 1.6rem;
    line-height: 1.5;
}

.signal-card--wearable .signal-card__text {
    color: rgba(255, 255, 255, .6);
}

.signal-card--wearable .signal-card__text strong {
    color: #fff;
}

@media (hover: hover) {
    .signal-card:hover .signal-card__extra {
        opacity: 1;
        transform: none;
    }

    .signal-card:hover .signal-card__extra.chip {
        transition-delay: .25s;
    }

    .signal-card:hover .signal-card__dot.signal-card__extra {
        transition-delay: .05s;
    }

    .signal-card:hover .signal-card__event {
        box-shadow: 0 1.6rem 3.2rem -.6rem rgba(15, 31, 77, .2);
        transform: translateY(-.6rem);
    }

    .signal-card:hover .signal-card__dot::after {
        animation: ping 1.4s ease-out infinite;
    }

    .signal-card:hover .signal-card__chip--panic {
        background: #fff;
        box-shadow: 0 .6rem 1.6rem rgba(15, 31, 77, .07);
        color: var(--grey-light);
    }

    .signal-card:hover .signal-card__chip--overwhelmed,
    .signal-card:hover .signal-card__chip--sleep {
        opacity: .55;
    }

    .signal-card:hover .signal-card__ticks {
        color: rgba(26, 107, 252, .5);
    }
}

@media (min-width: 768px) {
    .signal-card {
        width: 42.4rem;
        min-height: 57.4rem;
        border-radius: 3.2rem;
        transition: opacity .9s var(--ease) var(--delay, 0s), transform .9s var(--ease) var(--delay, 0s), box-shadow .5s var(--ease);
    }

    .signal-card:nth-child(2) {
        --delay: .15s;
    }

    .signal-card:nth-child(3) {
        --delay: .3s;
    }

    .signal-card:hover {
        box-shadow: 0 2.4rem 4.8rem -1.6rem rgba(15, 31, 77, .18);
    }

    .signal-card__visual {
        width: auto;
        height: auto;
        overflow: visible;
    }

    .signal-card__chart {
        transform: none;
    }

    .signal-card__body {
        gap: 1.2rem;
        padding: 2.8rem 3.2rem 3.6rem;
    }

    .signal-card__legend {
        gap: 1rem;
        color: rgba(11, 12, 14, .9);
        font-size: 1.5rem;
    }

    .signal-card__legend .legend__dot {
        width: 1rem;
        height: 1rem;
    }

    .signal-card__legend .legend__dot--outline {
        opacity: 1;
    }

    .signal-card--wearable .signal-card__legend {
        color: rgba(255, 255, 255, .9);
    }

    .signal-card__title {
        font-size: 3rem;
    }
}

.program-section {
    position: relative;
    height: calc(81.4rem + 160vh);
    scroll-margin-top: 2rem;
}

.program-section__inner {
    position: sticky;
    top: min(9rem, calc(100vh - 82.4rem));
}

.program-section__steps {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 3rem;
    border-radius: 3rem;
    background: #fff;
    overflow: hidden;
    overflow: clip;
}

.program-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.program-section__title {
    margin-top: 1rem;
}

.program-section__subtitle {
    margin-top: 1.5rem;
}

.program-section__progress {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
}

.program-section__counter {
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
}

.program-section__counter span:first-child {
    display: inline-block;
    transition: opacity .16s;
}

.program-section__counter span:last-child {
    margin-left: .8rem;
    color: var(--grey-light);
    font-size: 2rem;
    font-weight: 400;
}

.program-section__chart {
    display: none;
}

.progress {
    position: relative;
    display: grid;
    grid-template-columns: 8.1rem 15.1rem 11.6rem;
    grid-template-rows: .6rem auto;
    column-gap: .6rem;
    row-gap: 1rem;
    width: 36rem;
    height: 3.4rem;
}

.progress__segment {
    position: relative;
    height: .6rem;
    border-radius: .3rem;
    background: var(--surface);
    overflow: hidden;
    transition: background-color .4s;
}

.progress__segment.is-active {
    background: var(--tint);
}

.progress__fill {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: .6rem;
    border-radius: .3rem;
    background: var(--blue);
    transition: width .5s var(--ease);
}

.progress__dot {
    position: absolute;
    top: -.3rem;
    left: 2.5rem;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background: var(--blue);
    box-shadow: 0 0 0 2px #fff;
    transition: left .5s var(--ease);
}

.progress__label {
    grid-row: 2;
    color: var(--grey-light);
    font-size: 1.3rem;
    font-weight: 500;
    transition: color .4s;
}

.progress__label.is-active {
    color: var(--dark);
}

.program-group {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.program-group__title {
    display: flex;
    align-items: center;
    gap: 1rem;
    height: 1.4rem;
    padding: 0 0 0 1.8rem;
    color: var(--grey-light);
    font-size: 1.2rem;
    font-weight: 600;
    text-transform: uppercase;
    transition: color .3s;
}

.program-group__title svg {
    width: 2.8rem;
    height: 1.4rem;
    color: var(--line);
    transition: color .3s;
}

.program-group__title.is-active {
    color: var(--dark);
}

.program-group__title.is-active svg {
    color: var(--blue);
}

.program-group__list {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.program-section__stages {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    margin: .4rem -1.8rem 0;
}

.program-stage {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    min-height: 6.8rem;
    padding: 0 1.8rem;
    border-radius: 1.6rem;
    transition: background .35s;
}

.program-stage__icon {
    display: grid;
    flex: none;
    place-items: center;
    width: 4.4rem;
    height: 4.4rem;
    border: 1px solid rgba(11, 12, 14, .08);
    border-radius: 1.4rem;
    background: #fff;
    opacity: .55;
    transition: background .35s, box-shadow .35s, border-color .35s;
}

.program-stage__icon svg {
    width: 2.2rem;
    height: 2.2rem;
    fill: none;
    stroke: var(--dark);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke .35s;
}

.program-stage__name {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: .2rem;
    color: rgba(11, 12, 14, .4);
    font-size: 1.8rem;
    font-weight: 500;
    transition: color .35s;
}

.program-stage__name span {
    color: rgba(95, 99, 106, .6);
    font-size: 1.4rem;
    font-weight: 400;
    transition: color .35s;
}

.program-stage__days {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .4rem;
    color: var(--grey-light);
    font-size: 1.4rem;
    font-weight: 500;
    text-align: right;
    white-space: nowrap;
    transition: color .35s;
}

.program-stage__days span {
    display: none;
    min-height: 1.6rem;
    font-size: 1.3rem;
    font-weight: 400;
    transition: color .35s;
}

.program-stage.is-done .program-stage__icon,
.program-stage.is-current .program-stage__icon {
    border-color: transparent;
    opacity: 1;
}

.program-stage.is-done .program-stage__icon {
    background: var(--tint);
}

.program-stage.is-done .program-stage__icon svg {
    stroke: var(--blue);
}

.program-stage.is-done .program-stage__name,
.program-stage.is-current .program-stage__name {
    color: var(--dark);
}

.program-stage.is-done .program-stage__name span,
.program-stage.is-current .program-stage__name span {
    color: var(--grey);
}

.program-stage.is-done .program-stage__days {
    color: var(--blue);
}

.program-stage.is-current {
    background: var(--surface);
}

.program-stage.is-current .program-stage__icon {
    background: var(--blue);
    box-shadow: 0 1rem 2rem -.4rem rgba(26, 107, 252, .45);
}

.program-stage.is-current .program-stage__icon svg {
    stroke: #fff;
}

.program-stage.is-current .program-stage__days {
    color: var(--blue);
}

@media (min-width: 768px) {
    .program-section {
        height: calc(93rem + 180vh);
    }

    .program-section__inner {
        top: max(2rem, calc(50vh - 46.5rem));
        display: flex;
        gap: 2rem;
        min-height: 93rem;
    }

    .program-section__steps,
    .program-section__chart {
        position: relative;
        display: block;
        width: 93rem;
        min-height: 93rem;
        padding: 7rem;
        border-radius: 3.6rem;
        overflow: hidden;
        overflow: clip;
    }

    .program-section__progress {
        display: none;
    }

    .program-section__stages {
        gap: 0;
        margin: 4rem 0 0;
    }

    .program-group {
        gap: 0;
    }

    .program-group__title {
        gap: .8rem;
        height: 4.4rem;
        padding: 2.3rem 0 .7rem .4rem;
    }

    .program-group__list {
        gap: 0;
    }

    .program-stage {
        gap: 2rem;
        min-height: 8.6rem;
        padding: 0 2rem 0 1.2rem;
        border-radius: 2.2rem;
    }

    .program-stage__icon {
        width: 5.6rem;
        height: 5.6rem;
        border-radius: 1.6rem;
    }

    .program-stage__icon svg {
        width: 2.6rem;
        height: 2.6rem;
    }

    .program-stage__name {
        gap: .4rem;
        font-size: 2.4rem;
        letter-spacing: -.02em;
    }

    .program-stage__name span {
        font-size: 1.5rem;
        letter-spacing: 0;
    }

    .program-stage__days {
        font-size: 1.5rem;
    }

    .program-stage.is-done .program-stage__days {
        color: var(--dark);
    }

    .program-stage.is-done .program-stage__days span,
    .program-stage.is-current .program-stage__days span {
        display: block;
    }

    .program-stage.is-done .program-stage__days span {
        color: var(--blue);
    }

    .program-stage.is-current .program-stage__days span {
        color: var(--grey);
    }

    .program-section__chart {
        background: var(--dark-gradient);
        color: #fff;
    }

    .program-section__caption {
        color: rgba(255, 255, 255, .6);
        font-size: 1.6rem;
        font-weight: 500;
    }

    .program-section__day {
        display: flex;
        align-items: baseline;
        gap: .6rem;
        margin: 1.3rem 0 0 -.6rem;
        font-size: 12rem;
        font-weight: 500;
        line-height: .95;
        letter-spacing: -.04em;
        white-space: nowrap;
    }

    .program-section__day span:first-child {
        transition: opacity .16s;
    }

    .program-section__day span:last-child {
        color: rgba(255, 255, 255, .4);
        font-size: 4rem;
        font-weight: 400;
        letter-spacing: -.02em;
    }

    .program-section__status {
        position: absolute;
        top: 17.1rem;
        right: 7rem;
        display: flex;
        align-items: center;
        gap: .8rem;
        height: 3.7rem;
        padding: 0 1.4rem 0 1.2rem;
        border-radius: 999px;
        background: rgba(255, 255, 255, .1);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15);
        font-size: 1.4rem;
        font-weight: 500;
        white-space: nowrap;
    }

    .program-section__status::before {
        content: "";
        width: .8rem;
        height: .8rem;
        border-radius: 50%;
        background: var(--blue);
    }

    .program-section__chart .chart {
        margin-top: 9rem;
    }
}

.chart {
    position: relative;
    width: 78.6rem;
    height: 55.4rem;
}

.chart__grid {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, .06);
}

.chart__grid:nth-child(1) {
    top: 14rem;
}

.chart__grid:nth-child(2) {
    top: 25rem;
}

.chart__grid:nth-child(3) {
    top: 36rem;
}

.chart__bars {
    position: absolute;
    bottom: 8.4rem;
    left: 0;
    display: flex;
    align-items: flex-end;
    gap: .2766rem;
}

.chart__bar {
    position: relative;
    flex: none;
    width: .6rem;
    border-radius: .3rem;
    background: linear-gradient(rgba(255, 255, 255, .24), rgba(255, 255, 255, .03));
    overflow: hidden;
}

.chart__bar::before,
.chart__bar::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .4s;
}

.chart__bar::before {
    background: linear-gradient(#1a6bfc, rgba(26, 107, 252, .12));
}

.chart__bar::after {
    background: linear-gradient(#7aabff, rgba(26, 107, 252, .35));
}

.chart__bar.is-past,
.chart__bar.is-current {
    background: none;
}

.chart__bar.is-past::before,
.chart__bar.is-current::after {
    opacity: 1;
}

.chart__marker {
    position: absolute;
    top: 0;
    left: 0;
    transition: transform .5s var(--ease);
}

.chart__marker::before {
    content: "";
    position: absolute;
    top: 3.2rem;
    left: 0;
    width: 1px;
    height: 4.6rem;
    background: rgba(255, 255, 255, .5);
}

.chart__marker span {
    position: absolute;
    top: 0;
    left: 0;
    padding: .8rem 1.2rem;
    border-radius: 999px;
    background: #fff;
    color: var(--dark);
    font-size: 1.3rem;
    font-weight: 500;
    white-space: nowrap;
    transform: translateX(-50%);
}

.chart__phases {
    position: absolute;
    top: 52.3rem;
    left: 0;
    display: flex;
    gap: .9rem;
}

.chart__phase {
    position: relative;
    padding-top: 1.4rem;
    color: rgba(255, 255, 255, .55);
    font-size: 1.4rem;
    font-weight: 500;
    white-space: nowrap;
    transition: color .3s;
}

.chart__phase::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .3rem;
    border-radius: .2rem;
    background: rgba(255, 255, 255, .25);
    transition: background .3s;
}

.chart__phase:nth-child(1) {
    width: 17.5rem;
}

.chart__phase:nth-child(2) {
    width: 33.3rem;
}

.chart__phase:nth-child(3) {
    width: 25.4rem;
}

.chart__phase.is-passed {
    color: rgba(255, 255, 255, .75);
}

.chart__phase.is-passed::before,
.chart__phase.is-done::before {
    background: rgba(26, 107, 252, .55);
}

.chart__phase.is-active,
.chart__phase.is-done {
    color: #fff;
}

.chart__phase.is-active::before {
    background: var(--blue);
}

.how-section {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.how-section__content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 3.6rem;
    order: -1;
    padding: 3rem;
    border-radius: 3rem;
    background: #fff;
    overflow: hidden;
    overflow: clip;
}

.how-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.how-section__title {
    margin-top: 1rem;
}

.how-section__subtitle {
    width: 27.5rem;
    margin-top: 1.5rem;
}

.how-section__stats {
    display: flex;
    gap: 2.4rem;
    margin-top: -.4rem;
}

.how-section__stats .stat {
    flex: 1;
}

.how-section__deck {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
    padding: 3rem;
    border-radius: 3rem;
    background: var(--dark);
    color: #fff;
    overflow: hidden;
    overflow: clip;
}

.how-section__hint {
    margin-top: -1.2rem;
    color: rgba(255, 255, 255, .4);
    font-size: 1.3rem;
    font-weight: 500;
    text-align: center;
}

@media (max-width: 767px) {
    .how-section__subtitle br {
        display: none;
    }
}

@media (min-width: 768px) {
    .how-section {
        flex-direction: row;
        gap: 2rem;
        min-height: 93rem;
    }

    .how-section__content,
    .how-section__deck {
        display: flex;
        width: 93rem;
        min-height: 93rem;
        border-radius: 3.6rem;
    }

    .how-section__content {
        gap: 0;
        order: 0;
        padding: 7rem;
    }

    .how-section__subtitle {
        width: auto;
    }

    .how-section__head {
        margin-bottom: 4rem;
    }

    .how-section__stats {
        gap: 11.5rem;
        margin: auto 0 0 -.8rem;
    }

    .how-section__stats .stat {
        flex: none;
    }

    .how-section__stats .stat:first-child .stat__label {
        width: 18rem;
    }

    .how-section__button {
        width: 79rem;
        margin-top: 5rem;
    }

    .how-section__deck {
        gap: 0;
        padding: 17.5rem 0 0;
    }

    .how-section__deck::before {
        content: "";
        position: absolute;
        top: 3rem;
        left: 3rem;
        width: 87rem;
        height: 87rem;
        border-radius: 50%;
        background: var(--dark-2);
    }

    .how-section__hint {
        position: relative;
        margin-top: 2.3rem;
    }
}

.deck {
    position: relative;
    width: 36rem;
    height: 48.1rem;
}

.deck__cards {
    position: relative;
    width: 52rem;
    height: 60.6rem;
    margin-top: 6.577rem;
    transform: scale(.6923);
    transform-origin: 0 0;
}

.deck__dots {
    display: flex;
    gap: .8rem;
}

.deck__dot {
    width: 1.6rem;
    height: .4rem;
    border-radius: .2rem;
    background: rgba(255, 255, 255, .25);
    transition: all .4s;
}

.deck__dot.is-active {
    width: 4rem;
    background: #fff;
}

@media (min-width: 768px) {
    .deck {
        width: auto;
        height: auto;
    }

    .deck__cards {
        margin-top: 0;
        transform: none;
    }

    .deck__dots {
        position: relative;
        margin-top: 2.8rem;
    }
}

.deck-card {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 52rem;
    height: 60.6rem;
    padding: 3.6rem;
    border-radius: 3.6rem;
    background: #fff;
    color: var(--dark);
    overflow: hidden;
    cursor: grab;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    transform-origin: 50% 50%;
    transition: transform .7s var(--ease), opacity .7s, box-shadow .7s;
}

.deck-card:active {
    cursor: grabbing;
}

.deck-card img {
    pointer-events: none;
    -webkit-user-drag: none;
}

.deck-card--blue {
    background: linear-gradient(131deg, #4a8bff 0%, #1453d6 71%);
}

.deck-card--dark {
    background: linear-gradient(131deg, #2b3240 0%, #171a21 71%);
}

.deck-card.is-front {
    z-index: 3;
    box-shadow: 0 3rem 6rem rgba(0, 0, 0, .35);
    transform: none;
}

.deck-card.is-middle {
    z-index: 2;
    transform: translateY(-5.8rem) rotate(4deg) scale(.92);
}

.deck-card.is-back {
    z-index: 1;
    transform: translateY(-11.5rem) rotate(8deg) scale(.84);
}

.deck-card.is-leaving {
    z-index: 4;
    opacity: 0;
    transform: translateY(16rem) rotate(-8deg) scale(.95);
}

.deck-card__number {
    display: grid;
    flex: none;
    place-items: center;
    width: 5.2rem;
    height: 5.2rem;
    border-radius: 50%;
    background: var(--dark);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 500;
}

.deck-card__title {
    margin-top: 2.2rem;
    font-size: 4.4rem;
    font-weight: 500;
    letter-spacing: -.02em;
}

.deck-card__text {
    margin-top: .5rem;
    color: var(--grey);
    font-size: 1.6rem;
    line-height: 1.5;
}

.deck-card--blue .deck-card__number,
.deck-card--dark .deck-card__number {
    background: #fff;
    color: var(--blue);
}

.deck-card--blue .deck-card__title,
.deck-card--dark .deck-card__title {
    color: #fff;
}

.deck-card--blue .deck-card__text,
.deck-card--dark .deck-card__text {
    color: rgba(255, 255, 255, .85);
}

.app-screen {
    display: flex;
    flex: none;
    flex-direction: column;
    align-items: flex-start;
    width: 44.8rem;
    height: 32rem;
    margin-top: auto;
    padding: 2.2rem 2.4rem 0;
    border-radius: 2.4rem;
    background: #fff;
    overflow: hidden;
}

.app-screen--grey {
    background: var(--surface);
}

.app-screen__head {
    display: flex;
    flex: none;
    align-items: center;
    gap: 1rem;
    color: var(--grey-light);
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.app-screen__head img {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
}

.app-screen__title {
    width: 40rem;
    margin-top: 1.2rem;
    color: var(--dark);
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -.02em;
}

.app-screen__text {
    margin-top: .8rem;
    color: var(--grey);
    font-size: 1.4rem;
}

.app-screen__caption {
    margin-top: 3.6rem;
    color: var(--grey-light);
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.app-screen__rows {
    width: 40rem;
    margin-top: .7rem;
}

.app-screen__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 4rem;
    border-bottom: 1px solid rgba(11, 12, 14, .06);
    color: var(--grey);
    font-size: 1.4rem;
}

.app-screen__row:last-child {
    border-bottom: 0;
}

.app-screen__bar {
    position: relative;
    width: 20rem;
    height: .6rem;
    border-radius: .3rem;
    background: rgba(11, 12, 14, .08);
    overflow: hidden;
}

.app-screen__bar span {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    border-radius: .3rem;
    background: var(--blue);
}

.app-screen__options {
    display: flex;
    margin-top: 2.2rem;
    flex-direction: column;
    gap: .8rem;
    width: 40rem;
}

.app-screen__option {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    height: 4.8rem;
    padding: 0 1.8rem 0 1.6rem;
    border-radius: 1.4rem;
    background: var(--surface);
    color: var(--dark);
    font-size: 1.5rem;
    font-weight: 500;
}

.app-screen__pulse {
    width: 2rem;
    height: 1.2rem;
    color: var(--blue);
}

.app-screen__chevron {
    width: .8rem;
    height: 1.2rem;
    margin-left: auto;
    color: var(--grey-light);
}

.app-screen__option.is-active {
    background: var(--blue);
}

.app-screen__option.is-active,
.app-screen__option.is-active svg {
    color: #fff;
}

.app-screen__graph {
    flex: none;
    width: 44.8rem;
    height: 13rem;
    margin: -.2rem -2.4rem 0;
}

.app-screen__graph-line {
    stroke-dasharray: 460;
    stroke-dashoffset: 460;
}

.deck-card.is-front .app-screen__graph-line {
    animation: draw 1.6s .3s cubic-bezier(.3, .7, .3, 1) forwards;
}

.app-screen__axis {
    display: flex;
    margin-top: .2rem;
    justify-content: space-between;
    width: 40rem;
    color: var(--grey-light);
    font-size: 1.1rem;
}

.app-screen__stats {
    display: flex;
    margin-top: 1.1rem;
    justify-content: space-between;
    width: 40rem;
}

.app-screen__stats li {
    display: flex;
    align-items: baseline;
    gap: .6rem;
    color: var(--grey-light);
    font-size: 1.1rem;
}

.app-screen__stats strong {
    color: var(--dark);
    font-size: 2.2rem;
    letter-spacing: -.02em;
}

.specs-section {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    padding: 3rem;
    border-radius: 3rem;
    background: var(--surface);
    overflow: hidden;
    overflow: clip;
}

.specs-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.specs-section__subtitle {
    width: 27.1rem;
    margin-top: -1.7rem;
}

.specs-section__ring {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 40rem;
    padding: 3rem 0 3rem 19rem;
    border-radius: 2.4rem;
    background: var(--dark);
    color: #fff;
    overflow: hidden;
}

.specs-section__ring img {
    position: absolute;
    top: -8.5rem;
    left: -48.4rem;
    width: 101.8rem;
    height: 56.9rem;
    object-fit: cover;
}

.specs-section__ring-title,
.specs-section__ring-caption,
.specs-section__chips {
    position: relative;
}

.specs-section__ring-title {
    width: 15rem;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.05;
    letter-spacing: -.02em;
}

.specs-section__ring-caption {
    width: 15rem;
    margin-top: 1rem;
    color: rgba(255, 255, 255, .55);
    line-height: 1.5;
}

.specs-section__chips {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
    margin-top: auto;
}

.specs-section__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: -2.2rem;
}

.specs-section__button {
    margin-top: -.2rem;
}

.spec__title {
    color: var(--grey-light);
    font-weight: 500;
    text-transform: uppercase;
}

.spec__value {
    font-weight: 500;
    letter-spacing: -.04em;
}

.spec__label {
    color: #000;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: -.02em;
}

.spec__text {
    color: var(--grey-light);
    font-size: 1.4rem;
    line-height: 1.4;
    letter-spacing: -.02em;
}

@media (max-width: 767px) {
    .spec {
        display: flex;
        flex-direction: column;
        gap: 2.2rem;
        min-height: 26.4rem;
        padding: 2.4rem 0;
    }

    .spec:nth-child(odd) {
        padding-right: 1.8rem;
        border-right: 1px solid var(--line);
    }

    .spec:nth-child(even) {
        padding-left: 1.8rem;
    }

    .spec:nth-child(1),
    .spec:nth-child(2) {
        border-bottom: 1px solid var(--line);
    }

    .spec__title {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: .8rem;
        font-size: 1.3rem;
    }

    .spec__title .icon-box {
        width: 3.6rem;
        height: 3.6rem;
        border-radius: 1.1rem;
    }

    .spec__value {
        font-size: 4.6rem;
    }

    .spec__info {
        margin-top: -1.4rem;
    }

    .spec__label {
        margin-bottom: .8rem;
    }

    .spec:nth-child(4) .spec__text {
        width: 12.3rem;
    }
}

@media (min-width: 768px) {
    .specs-section {
        display: grid;
        grid-template-columns: 64rem 80rem 30rem;
        gap: 4.8rem 0;
        padding: 7rem;
        border-radius: 3.6rem;
    }

    .specs-section__subtitle {
        grid-column: 2;
        grid-row: 1;
        width: 52rem;
        margin-top: 5.5rem;
    }

    .specs-section__button {
        grid-column: 3;
        grid-row: 1;
        width: 30rem;
        margin-top: 4.5rem;
        border: 1px solid rgba(0, 0, 0, .3);
        background: none;
        box-shadow: none;
        color: #000;
    }

    .specs-section__button:hover {
        border-color: var(--dark);
        background: var(--dark);
        box-shadow: none;
        color: #fff;
    }

    .specs-section__ring {
        grid-column: 1;
        grid-row: 2;
        width: 60rem;
        min-height: 42rem;
        padding: 3.2rem;
        border-radius: 2.8rem;
    }

    .specs-section__ring img {
        top: -8.5rem;
        left: -9.7rem;
        width: 105.6rem;
        height: 58.9rem;
        transition: transform 1.2s var(--ease);
    }

    .specs-section__ring:hover img {
        transform: scale(1.04) rotate(-2deg);
    }

    .specs-section__ring-title {
        width: auto;
        font-size: 3.2rem;
    }

    .specs-section__ring-caption {
        width: auto;
        margin-top: 1.4rem;
        font-size: 1.1rem;
        line-height: normal;
    }

    .specs-section__list {
        position: relative;
        grid-column: 2 / 4;
        grid-row: 2;
        width: 112rem;
        min-height: 42rem;
        margin: 0 0 0 -2.4rem;
    }

    .specs-section__list::before {
        content: "";
        position: absolute;
        top: 1.6rem;
        bottom: 1.6rem;
        left: 56rem;
        width: 1px;
        background: rgba(11, 12, 14, .12);
    }

    .spec {
        position: relative;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto 1fr;
        column-gap: 2rem;
        min-height: 21rem;
        padding: 2.8rem 3.2rem 2.6rem 3rem;
    }

    .spec:nth-child(-n + 2)::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: -1px;
        left: 1.6rem;
        height: 1px;
        background: rgba(11, 12, 14, .12);
    }

    .spec:nth-child(2)::after {
        right: 1.6rem;
        left: 0;
    }

    .spec__title {
        display: flex;
        grid-column: 1 / -1;
        align-items: center;
        gap: 1.2rem;
        margin-left: .2rem;
        font-size: 1.2rem;
    }

    .spec__value {
        align-self: end;
        margin-bottom: -.5rem;
        font-size: 6.4rem;
    }

    .spec__info {
        align-self: end;
        text-align: right;
    }

    .spec__label {
        margin-bottom: .5rem;
    }

    .spec:nth-child(1) .spec__text,
    .spec:nth-child(2) .spec__text {
        width: 16.2rem;
        margin-left: auto;
    }
}

.story-section {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    padding: 3rem;
    border-radius: 3rem;
    background: var(--dark);
    color: #fff;
    overflow: hidden;
    overflow: clip;
}

.story-section__bg,
.story-section__cursor {
    display: none;
}

.story-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.story-section__title {
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.04em;
}

.story-section__subtitle {
    width: 32.3rem;
    margin-top: .5rem;
    color: rgba(255, 255, 255, .75);
}

.story-section__subtitle strong {
    color: #fff;
}

.story-section__video {
    position: relative;
    height: 23rem;
    border-radius: 2rem;
    background: #000;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1);
    overflow: hidden;
}

.story-section__video img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .4;
    transition: opacity .3s;
}

.story-section__play {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    place-items: center;
    width: 6.4rem;
    height: 6.4rem;
    margin: -3.2rem 0 0 -3.2rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 .8rem 5rem -.4rem rgba(0, 0, 0, .5);
    color: var(--dark);
}

.story-section__play svg {
    width: 1.5rem;
    height: 1.7rem;
    overflow: visible;
}

.story-section__list {
    display: flex;
    flex-direction: column;
    margin-top: -.4rem;
}

.episode {
    cursor: pointer;
}

.episode__image {
    flex: none;
    overflow: hidden;
}

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

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

.episode__show {
    font-weight: 500;
    text-transform: uppercase;
}

.episode__title {
    font-weight: 500;
}

@media (max-width: 767px) {
    .episode {
        display: flex;
        align-items: center;
        gap: 1.4rem;
        padding: 1.2rem 0;
        border-top: 1px solid rgba(255, 255, 255, .12);
    }

    .episode:first-child {
        display: none;
    }

    .episode:nth-child(2) {
        border-top: 0;
    }

    .episode__image {
        width: 10.4rem;
        height: 5.8rem;
        border-radius: 1rem;
    }

    .episode__info {
        gap: .4rem;
    }

    .episode__show {
        color: rgba(255, 255, 255, .5);
        font-size: 1.2rem;
    }

    .episode__title {
        font-size: 1.6rem;
        line-height: 1.4;
    }

    .episode__title br {
        display: none;
    }

    .episode.is-active .episode__title {
        color: #9ec0ff;
    }
}

@media (min-width: 768px) {
    .story-section {
        display: block;
        min-height: 104.5rem;
        padding: 7rem 7.2rem 6.9rem;
        border-radius: 3.6rem;
        cursor: none;
    }

    .story-section__bg {
        position: absolute;
        inset: 0;
        display: block;
    }

    .story-section__bg img {
        position: absolute;
        top: -4rem;
        left: -6rem;
        width: 200rem;
        height: 112.5rem;
        object-fit: cover;
        filter: blur(4rem);
        transition: filter .6s, opacity .3s;
    }

    .story-section__bg::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(rgba(11, 12, 14, .6), rgba(11, 12, 14, .55) 60%, #0a0a0d 85%);
        transition: opacity .6s;
    }

    .story-section.is-playing .story-section__bg img {
        filter: none;
    }

    .story-section.is-playing .story-section__bg::after {
        opacity: .4;
    }

    .story-section__head {
        position: relative;
        align-items: center;
        gap: 0;
        text-align: center;
    }

    .story-section__title {
        margin-top: 15rem;
        font-size: 20rem;
        white-space: nowrap;
        transition: opacity .3s, transform .3s;
    }

    .story-section__subtitle {
        width: 42.4rem;
        margin-top: 1.5rem;
        line-height: 1.2;
        transition: opacity .3s;
    }

    .story-section__title.is-switching,
    .story-section__subtitle.is-switching {
        opacity: 0;
        transform: translateY(1rem);
    }

    .story-section__video {
        display: none;
    }

    .story-section__list {
        position: relative;
        flex-direction: row;
        gap: 1.6rem;
        margin-top: 17.8rem;
        cursor: auto;
    }

    .episode {
        display: flex;
        flex-direction: column;
        gap: 1.2rem;
        width: 27.6rem;
        padding: .8rem .8rem 1.6rem;
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 2rem;
        background-color: rgba(255, 255, 255, .07);
        transition: opacity .9s var(--ease) var(--delay, 0s), transform .9s var(--ease) var(--delay, 0s), background-color .3s, border-color .3s;
    }

    .episode__image {
        width: 26rem;
        height: 14.6rem;
        border-radius: 1.3rem;
        isolation: isolate;
        transform: translateZ(0);
    }

    .episode__image img {
        transition: transform .6s var(--ease);
        will-change: transform;
    }

    .episode__info {
        gap: .6rem;
        padding: 0 .4rem;
    }

    .episode__show {
        color: rgba(255, 255, 255, .55);
        font-size: 1.1rem;
        letter-spacing: .06em;
    }

    .episode__title {
        color: #fff;
        font-size: 1.5rem;
        line-height: 1.3;
    }

    .episode:hover,
    .episode.is-active {
        border-color: rgba(255, 255, 255, .45);
        background-color: #fff;
    }

    .episode:hover .episode__image img {
        transform: scale(1.06);
    }

    .episode:hover .episode__show,
    .episode.is-active .episode__show {
        color: rgba(11, 12, 14, .55);
    }

    .episode:hover .episode__title,
    .episode.is-active .episode__title {
        color: var(--dark);
    }

    .story-section__cursor {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        display: block;
        width: 26rem;
        height: 26rem;
        margin: -13rem 0 0 -13rem;
        pointer-events: none;
        translate: 20.2rem 24.3rem;
        will-change: translate;
        transition: scale .25s, opacity .25s;
    }

    .story-section__cursor.is-hidden {
        opacity: 0;
        scale: .2;
    }

    .story-section__cursor-ring {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        overflow: visible;
        animation: spin 16s linear infinite;
    }

    .story-section__cursor-ring text {
        fill: #fff;
        font: 500 1.3rem Figtree, sans-serif;
        letter-spacing: .2em;
    }

    .story-section__cursor-button {
        position: absolute;
        top: 5rem;
        left: 5rem;
        display: grid;
        place-items: center;
        width: 16rem;
        height: 16rem;
        border-radius: 50%;
        background: #fff;
        box-shadow: 0 1.2rem 3rem -.6rem rgba(0, 0, 0, .3);
        color: var(--dark);
    }

    .story-section__cursor-button svg {
        width: 2.1rem;
        height: 2.4rem;
        overflow: visible;
    }

    .story-section__cursor-icon--pause,
    .story-section.is-playing .story-section__cursor-icon--play {
        display: none;
    }

    .story-section.is-playing .story-section__cursor-icon--pause {
        display: block;
    }
}

.team-section {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    padding: 3rem;
    border-radius: 3rem;
    background: #fff;
    overflow: hidden;
    overflow: clip;
}

.team-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.team-section__title {
    width: 30.9rem;
}

.team-section__slider {
    position: relative;
    height: 36rem;
    margin-top: -.4rem;
    border-radius: 2rem;
    background: var(--dark);
    color: #fff;
    overflow: hidden;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
}

.team-section__slider:active {
    cursor: grabbing;
}

.team-section__slides {
    position: absolute;
    inset: 0;
}

.team-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .35s;
}

.team-slide.is-active {
    opacity: 1;
}

.team-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(11, 12, 14, 0) 45%, rgba(11, 12, 14, .85));
}

.team-slide__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

.team-slide--renat .team-slide__image {
    left: -6rem;
    width: 48rem;
    height: 36rem;
}

.team-slide__name,
.team-slide__quote {
    position: absolute;
    z-index: 1;
    left: 2rem;
}

.team-slide__name {
    top: 2rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    font-size: 1.6rem;
    font-weight: 500;
}

.team-slide__name span {
    color: rgba(255, 255, 255, .6);
    font-size: 1.4rem;
    font-weight: 400;
}

.team-slide__quote {
    bottom: 2rem;
    width: 32rem;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.02em;
}

.team-slide__break {
    display: none;
}

.team-section__arrows {
    display: none;
}

.team-section__arrows .arrows__button {
    background: var(--dark);
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
    transition: background-color .3s ease, color .3s ease, box-shadow .3s ease;
}

@media (min-width: 768px) and (hover: hover) {
    .team-section__arrows .arrows__button:hover {
        background: #fff;
        color: var(--dark);
        box-shadow: inset 0 0 0 1px #fff;
    }
}

.team-section__avatars {
    display: flex;
    gap: 1.2rem;
    margin-top: -.8rem;
}

.team-section__avatar {
    position: relative;
    width: 5rem;
    height: 5rem;
    border-radius: 1.3rem;
    opacity: .4;
    overflow: hidden;
    transition: opacity .3s;
}

.team-section__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team-section__avatar.is-active {
    opacity: 1;
}

.team-section__members {
    display: grid;
}

.team-member {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    grid-area: 1 / 1;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s, visibility .35s;
}

.team-member.is-active {
    opacity: 1;
    visibility: visible;
}

.team-member__name {
    display: none;
}

.team-member__number {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.6rem;
    font-size: 5.6rem;
    font-weight: 500;
    line-height: .95;
    letter-spacing: -.06em;
    white-space: nowrap;
}

.team-member__number span {
    width: 14rem;
    color: var(--grey);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    white-space: normal;
}

.team-member__facts {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.fact {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    min-height: 8.2rem;
    padding: 1.8rem;
    border-radius: 2rem;
    background: rgba(11, 12, 14, .03);
}

.fact p {
    max-width: 22.5rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
    text-wrap: balance;
}

.fact br {
    display: none;
}

@media (max-width: 767px) {
    .team-section__title br {
        display: none;
    }
}

@media (min-width: 768px) {
    .team-section {
        display: grid;
        grid-template-columns: 93rem 93rem;
        grid-template-rows: auto auto 1fr;
        gap: 0 2rem;
        min-height: 93rem;
        padding: 0;
        border-radius: 0;
        background: none;
        overflow: visible;
    }

    .team-section::before {
        content: "";
        grid-column: 2;
        grid-row: 1 / 4;
        border-radius: 3.6rem;
        background: #fff;
    }

    .team-section__head,
    .team-section__avatars,
    .team-section__members {
        grid-column: 2;
    }

    .team-section__head {
        grid-row: 1;
        padding: 7rem 7rem 0;
    }

    .team-section__title {
        width: auto;
    }

    .team-section__slider {
        grid-column: 1;
        grid-row: 1 / 4;
        height: auto;
        margin: 0;
        border-radius: 3.6rem;
    }

    .team-slide__image {
        transition: transform 1.2s var(--ease);
    }

    .team-section__slider:hover .team-slide__image {
        transform: scale(1.03);
    }

    .team-slide--renat .team-slide__image {
        top: -8rem;
        left: -17.8rem;
        width: 134.6rem;
        height: 101rem;
    }

    .team-slide__name,
    .team-slide__quote {
        left: 7rem;
    }

    .team-slide__name {
        top: 7rem;
        font-size: 1.5rem;
    }

    .team-slide__name span {
        font-size: 1.3rem;
    }

    .team-slide__quote {
        bottom: 7rem;
        width: auto;
        max-width: 62rem;
        font-size: 4.6rem;
        line-height: 1.1;
    }

    .team-slide__break {
        display: inline;
    }

    .team-section__arrows {
        position: absolute;
        right: 7rem;
        bottom: 7rem;
        z-index: 2;
        display: flex;
    }

    .team-section__avatars {
        grid-row: 2;
        margin: 2rem 7rem 0;
    }

    .team-section__avatar {
        width: 7.2rem;
        height: 7.2rem;
        border-radius: 1.8rem;
    }

    .team-section__avatar:hover {
        opacity: .75;
    }

    .team-section__avatar.is-active {
        opacity: 1;
    }

    .team-section__members {
        grid-row: 3;
        align-self: start;
        margin: 0 7rem;
    }

    .team-member {
        display: block;
    }

    .team-member__name {
        display: flex;
        align-items: baseline;
        gap: 1.5rem;
        margin-top: 2.8rem;
        font-size: 4rem;
        font-weight: 500;
        letter-spacing: -.02em;
        white-space: nowrap;
    }

    .team-member__name span {
        color: var(--blue);
        font-size: 1.2rem;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .team-member__number {
        display: block;
        margin: 2rem 0 0 -.6rem;
        font-size: 14rem;
    }

    .team-member__number span {
        display: block;
        width: auto;
        margin: .5rem 0 0 .6rem;
        font-size: 1.7rem;
        line-height: normal;
    }

    .team-member__facts {
        flex-direction: row;
        gap: 1.4rem;
        margin-top: 6.4rem;
    }

    .fact {
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0;
        width: 25.4rem;
        min-height: 17.3rem;
        padding: 2.4rem;
        border-radius: 2.4rem;
        background: rgba(11, 12, 14, .02);
    }

    .fact p {
        max-width: none;
        font-size: 1.8rem;
        text-wrap: wrap;
    }

    .fact br {
        display: inline;
    }
}

.ambassadors-section {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.8rem;
    padding: 3rem;
    border-radius: 3rem;
    background: var(--surface);
    overflow: hidden;
    overflow: clip;
}

.ambassadors-section__marquee {
    align-self: stretch;
    width: calc(100% + 6rem);
    height: 8.4rem;
    margin: -1.8rem -3rem 0;
    overflow: hidden;
}

.marquee {
    display: flex;
    align-items: center;
    gap: .8rem;
    width: max-content;
    animation: marquee 22s linear infinite;
}

.marquee p {
    font-size: 8.4rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.04em;
    white-space: nowrap;
}

.marquee img {
    width: 4.6rem;
    height: 4.6rem;
    opacity: .12;
    animation: spin 12s linear infinite;
}

.ambassadors-section__row {
    display: flex;
    align-self: stretch;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1.6rem;
    margin-top: -1.3rem;
}

.ambassadors-section__subtitle {
    width: 17.1rem;
    font-size: 1.8rem;
}

.ambassadors-section__slider {
    align-self: stretch;
    touch-action: pan-y;
}

.ambassadors-section__list {
    display: flex;
    gap: 1rem;
    will-change: transform;
}

.ambassadors-section__list.is-animated {
    transition: transform .6s var(--ease);
}

.ambassador-card {
    display: flex;
    flex: none;
    flex-direction: column;
    gap: 2.4rem;
    width: 34rem;
    min-height: 28.1rem;
    padding: 3rem;
    border-radius: 2.4rem;
    background: #fff;
}

.ambassador-card__head {
    display: flex;
    align-items: center;
    gap: 1.4rem;
}

.ambassador-card__head img {
    flex: none;
    width: 5.2rem;
    height: 5.2rem;
    border-radius: 50%;
    object-fit: cover;
    pointer-events: none;
}

.ambassador-card__name {
    font-size: 1.6rem;
    font-weight: 500;
}

.ambassador-card__name span {
    display: block;
    margin-top: .2rem;
    color: var(--grey);
    font-size: 1.1rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ambassador-card__text {
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: -.02em;
}

.ambassador-card__role {
    color: var(--grey-light);
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}

@media (min-width: 768px) {
    .ambassadors-section {
        flex-flow: row wrap;
        align-content: flex-start;
        gap: 0;
        padding: 10rem 0;
        border-radius: 3.2rem;
    }

    .ambassadors-section__label {
        order: 1;
        margin: 2rem 0 0 30.4rem;
    }

    .ambassadors-section__marquee {
        width: 100%;
        height: auto;
        margin: 0;
    }

    .marquee {
        gap: 2rem;
        animation-duration: 30s;
    }

    .marquee p {
        font-size: 22rem;
    }

    .marquee img {
        width: 12rem;
        height: 12rem;
    }

    .ambassadors-section__row {
        align-self: flex-start;
        align-items: flex-start;
        order: 2;
        width: 69.6rem;
        margin: 2rem 17.3rem 0 auto;
    }

    .ambassadors-section__subtitle {
        width: 28.5rem;
        font-size: 2rem;
        line-height: 1.45;
    }

    .ambassadors-section__slider {
        order: 3;
        width: 100%;
        margin-top: 5rem;
        cursor: grab;
    }

    .ambassadors-section__list {
        gap: 1.6rem;
    }

    .ambassador-card {
        justify-content: space-between;
        gap: 0;
        min-height: 40rem;
        padding: 2.8rem;
        transition: background-color .35s, color .35s;
    }

    .ambassador-card__name span {
        transition: color .35s;
    }

    .ambassador-card__text {
        font-size: 2rem;
        line-height: 1.3;
    }
}

@media (min-width: 768px) and (hover: hover) {
    .ambassador-card:hover {
        background: var(--dark);
        color: #fff;
    }

    .ambassador-card:hover .ambassador-card__name span {
        color: var(--grey-light);
    }
}

.partners-section {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding: 3rem;
    border-radius: 3rem;
    background: var(--dark-gradient);
    color: #fff;
    overflow: hidden;
    overflow: clip;
}

.partners-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.partners-section__title {
    width: 30.5rem;
    color: #fff;
}

.partners-section__title span {
    color: rgba(255, 255, 255, .5);
}

.partners-section__subtitle {
    margin-top: -1.5rem;
    color: rgba(255, 255, 255, .5);
}

.partners-section__subtitle strong {
    color: #fff;
}

.partners-section__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    order: 2;
}

.partners-section__button {
    order: 3;
    margin-top: -.6rem;
}

.partner-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.6rem;
    min-height: 17.5rem;
    padding: 1.8rem;
    border-radius: 1.8rem;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
    color: #fff;
}

.partner-card__icon {
    display: grid;
    place-items: center;
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}

.partner-card__icon svg {
    width: 1.7rem;
    height: 1.7rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.partner-card__title {
    width: 13.9rem;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.01em;
}

.partner-card__number {
    position: absolute;
    top: 2.9rem;
    right: 1.8rem;
    color: rgba(255, 255, 255, .4);
    font-size: 1.2rem;
    font-weight: 500;
}

@media (max-width: 767px) {
    .partners-section__title span br {
        display: none;
    }
}

@media (min-width: 768px) {
    .partners-section {
        display: grid;
        grid-template-columns: 1fr 57rem;
        grid-template-rows: auto auto auto;
        gap: 0;
        padding: 7rem 7rem 6.6rem;
        border-radius: 3.6rem;
    }

    .partners-section__head {
        grid-column: 1;
        grid-row: 1 / 3;
    }

    .partners-section__title {
        width: auto;
    }

    .partners-section__subtitle {
        grid-column: 2;
        grid-row: 1;
        width: 52.2rem;
        margin-top: 4.3rem;
    }

    .partners-section__button {
        grid-column: 2;
        grid-row: 2;
        width: 57rem;
        margin-top: 4.6rem;
    }

    .partners-section__list {
        display: flex;
        grid-column: 1 / 3;
        grid-row: 3;
        gap: 1.2rem;
        margin-top: 7rem;
    }

    .partner-card {
        width: 28rem;
        min-height: 28rem;
        padding: 2.8rem;
        border-radius: 2.8rem;
        transition: background-color .3s, color .3s, box-shadow .3s;
    }

    .partner-card__icon {
        width: 5.6rem;
        height: 5.6rem;
        transition: background-color .3s;
    }

    .partner-card__icon svg {
        width: 2.6rem;
        height: 2.6rem;
    }

    .partner-card__title {
        width: 22rem;
        font-size: 2.2rem;
    }

    .partner-card__number {
        top: 4.8rem;
        right: 2.8rem;
        font-size: 1.3rem;
        transition: color .3s;
    }

    .partner-card:hover {
        background: #fff;
        box-shadow: none;
        color: var(--dark);
    }

    .partner-card:hover .partner-card__icon {
        background: var(--dark);
        color: #fff;
    }

    .partner-card:hover .partner-card__number {
        color: var(--grey-light);
    }
}

.pricing-section {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 3rem 1rem 1rem;
    border-radius: 3rem;
    background: var(--surface);
    overflow: hidden;
    overflow: clip;
}

.pricing-section__aside {
    padding: 0 2rem 3rem;
}

.pricing-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.pricing-section__title {
    margin-top: 1rem;
}

.pricing-section__subtitle {
    width: 27.8rem;
    margin-top: 1.5rem;
}

.pricing-section__cards {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 3rem;
    border-radius: 2.4rem;
    background: #fff;
    overflow: hidden;
}

.price-card--dark {
    gap: 4rem;
    background: var(--dark);
    color: #fff;
}

.price-card__brand {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.2rem;
}

.price-card__brand img {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
}

.price-card__brand strong {
    font-size: 1.6rem;
    letter-spacing: -.02em;
}

.price-card__for {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    color: rgba(11, 12, 14, .5);
    font-size: 1.2rem;
    letter-spacing: -.02em;
}

.price-card__for::before {
    content: "";
    width: 1px;
    height: 1.9rem;
    background: rgba(11, 12, 14, .15);
}

.price-card__price {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.price-card__number {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .8rem;
    font-size: 7rem;
    font-weight: 500;
    line-height: .9;
    letter-spacing: -.06em;
}

.price-card__number span {
    color: rgba(11, 12, 14, .5);
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: -.02em;
}

.price-card__caption {
    color: rgba(11, 12, 14, .5);
}

.price-card__line {
    height: 1px;
    background: rgba(11, 12, 14, .1);
}

.price-card__included {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.price-card__included-title {
    font-size: 1.8rem;
    font-weight: 500;
}

.price-card__included-text {
    width: 31.1rem;
    color: rgba(11, 12, 14, .55);
    font-size: 1.5rem;
    line-height: 1.5;
}

.price-card__features,
.price-card__features ul {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.price-card__features li {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: 1.6rem;
}

.price-card__features svg {
    flex: none;
    width: 1.6rem;
    height: 1.3rem;
    margin: .55rem .4rem;
    color: var(--blue);
}

.price-card__features strong {
    font-weight: 600;
}

.price-card__button {
    margin-top: .4rem;
}

.price-card .price-card__button.button--dark {
    box-shadow: 0 1.4rem 2.4rem -.6rem rgba(0, 0, 0, .35);
}

.price-card__visual {
    position: absolute;
    inset: 0;
}

.price-card__visual img {
    position: absolute;
    top: -6.8rem;
    left: -8.5rem;
    width: 81.6rem;
    height: 45.6rem;
    object-fit: cover;
    transform: rotate(180deg) scaleY(-1);
}

.price-card__visual::after {
    content: "";
    position: absolute;
    top: 20.6rem;
    left: -2.2rem;
    width: 44.3rem;
    height: 18.7rem;
    background: linear-gradient(rgba(11, 12, 14, 0), #0b0c0e);
}

.price-card--dark > *:not(.price-card__visual) {
    position: relative;
}

.price-card--dark .price-card__brand {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
}

.price-card__badge {
    position: relative;
    flex: none;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);
}

.price-card--dark .price-card__brand p {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.price-card--dark .price-card__brand strong {
    width: 11.3rem;
    font-size: 1.8rem;
    line-height: 1.2;
    letter-spacing: 0;
    white-space: normal;
}

.price-card--dark .price-card__for {
    color: rgba(255, 255, 255, .55);
    font-weight: 500;
    letter-spacing: 0;
}

.price-card--dark .price-card__for::before {
    display: none;
}

.price-card--dark .price-card__price {
    gap: 1rem;
}

.price-card--dark .price-card__number {
    margin-bottom: .4rem;
    color: #fff;
    line-height: 1;
    letter-spacing: -.04em;
}

.price-card__old {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    height: 4rem;
    padding: 0 1.4rem;
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
    color: rgba(255, 255, 255, .55);
    font-size: 1.8rem;
    font-weight: 500;
    text-decoration: line-through;
}

.price-card--dark .price-card__caption {
    color: rgba(255, 255, 255, .5);
}

.price-card--dark .price-card__features {
    gap: 1.4rem;
    margin-top: -2rem;
    padding: 2rem 1.8rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 2.4rem;
    -webkit-backdrop-filter: blur(3rem);
    backdrop-filter: blur(3rem);
}

.price-card--dark .price-card__features ul {
    gap: 1.4rem;
}

.price-card--dark .price-card__features li {
    font-weight: 500;
}

.price-card--dark .price-card__features svg {
    margin: .45rem .3rem;
    color: #fff;
    opacity: .5;
}

.price-card--dark .price-card__button {
    margin-top: -2rem;
}

@media (min-width: 768px) {
    .pricing-section {
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
        gap: 0;
        padding: 7rem;
        border-radius: 3.6rem;
        overflow: visible;
    }

    .pricing-section__aside {
        width: 64.3rem;
        padding: 0;
    }

    .pricing-section__head {
        position: sticky;
        top: max(9rem, calc(50vh - 21rem));
    }

    .pricing-section__title {
        width: 64.3rem;
    }

    .pricing-section__subtitle {
        width: 48rem;
    }

    .pricing-section__cards {
        gap: 2rem;
        width: 93rem;
    }

    .price-card {
        display: grid;
        grid-template-columns: 43.4rem 30rem 1fr;
        grid-template-rows: auto auto auto auto 1fr;
        align-items: start;
        gap: 0;
        width: 93rem;
        min-height: 64rem;
        padding: 6rem;
        border-radius: 3.6rem;
    }

    .price-card:first-child {
        position: sticky;
        top: max(2rem, calc(50vh - 32rem));
        transform-origin: 50% 0;
    }

    .price-card--dark {
        z-index: 2;
        grid-template-rows: auto auto auto 1fr;
    }

    .price-card__brand {
        grid-column: 1 / -1;
        gap: 1.4rem;
    }

    .price-card__brand img {
        width: 3.4rem;
        height: 3.4rem;
    }

    .price-card__brand strong {
        font-size: 2rem;
    }

    .price-card__for {
        gap: 1.4rem;
        font-size: 1.8rem;
    }

    .price-card__for::before {
        height: 2.2rem;
    }

    .price-card__price {
        display: block;
        margin: 4.2rem 0 0 -.6rem;
    }

    .price-card__number {
        gap: 1.2rem;
        font-size: 12rem;
    }

    .price-card__number span {
        font-size: 2.4rem;
    }

    .price-card__caption {
        margin: 2.3rem 0 0 .6rem;
        font-size: 1.1rem;
    }

    .price-card__included {
        display: block;
        grid-column: 2;
        grid-row: 2;
        margin-top: 10.6rem;
    }

    .price-card__included-text {
        width: auto;
        margin-top: 1.2rem;
    }

    .price-card__line {
        grid-column: 1 / -1;
        grid-row: 3;
        margin-top: 3.9rem;
    }

    .price-card__features {
        grid-column: 1 / -1;
        grid-row: 4;
        flex-direction: row;
        gap: 9rem;
        margin-top: 3.9rem;
    }

    .price-card__features ul {
        gap: 1.8rem;
        width: 33.8rem;
    }

    .price-card__features ul:last-child {
        flex: 1;
        width: auto;
    }

    .price-card__features li {
        gap: 1.4rem;
        font-size: 1.7rem;
    }

    .price-card__button,
    .price-card--dark .price-card__button {
        grid-column: 1 / -1;
        grid-row: -2;
        align-self: end;
        margin: 0;
    }

    .price-card__visual img {
        top: -21.4rem;
        left: 15.9rem;
        width: 110.8rem;
        height: 61.9rem;
        transform: none;
    }

    .price-card__visual::after {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background:
            linear-gradient(90deg, #0b0c0e, rgba(11, 12, 14, 0)) 15.9rem 0 / 27rem 40.5rem no-repeat,
            linear-gradient(rgba(11, 12, 14, 0), #0b0c0e) 15.9rem 9.5rem / 110.8rem 31rem no-repeat,
            linear-gradient(rgba(11, 12, 14, 0), #0b0c0e 36%, #0b0c0e) 0 32.2rem / 93rem 31.8rem no-repeat;
    }

    .price-card--dark .price-card__brand {
        flex-direction: row;
        align-items: center;
        gap: 1.2rem;
    }

    .price-card__badge {
        width: 3.4rem;
        height: 3.4rem;
    }

    .price-card--dark .price-card__brand p {
        flex-direction: row;
        align-items: center;
        gap: 1.2rem;
    }

    .price-card--dark .price-card__brand strong {
        width: auto;
        font-size: 2rem;
        line-height: normal;
    }

    .price-card--dark .price-card__for {
        gap: 1.2rem;
        font-weight: 400;
    }

    .price-card--dark .price-card__for::before {
        display: block;
        height: 1.8rem;
        background: rgba(255, 255, 255, .25);
    }

    .price-card--dark .price-card__price {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: auto 1fr;
        align-items: start;
        gap: 0 2.55rem;
        margin: 2.6rem 0 0 -.6rem;
    }

    .price-card--dark .price-card__number {
        margin: 0;
        font-size: 13.2rem;
    }

    .price-card__old {
        justify-self: start;
        margin-top: 7.2rem;
    }

    .price-card--dark .price-card__caption {
        grid-column: 1 / -1;
        margin: 1rem 0 0 .6rem;
    }

    .price-card--dark .price-card__features {
        grid-row: auto;
        gap: 4rem;
        min-height: 14.8rem;
        margin-top: 4.7rem;
        padding: 2.4rem 2.8rem;
    }

    .price-card--dark .price-card__features ul {
        gap: 1.6rem;
        width: 33.4rem;
    }

    .price-card--dark .price-card__features li {
        gap: 1.2rem;
        font-size: 1.6rem;
    }
}

.faq-section {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 3rem;
    padding: 3rem;
    border-radius: 3rem;
    background: #fff;
    overflow: hidden;
    overflow: clip;
}

.faq-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.faq-section__title {
    font-size: 8rem;
    font-weight: 500;
    line-height: .9;
    letter-spacing: -.04em;
}

.faq-section__subtitle {
    width: 31.8rem;
    margin-top: .5rem;
}

.faq-section__list {
    display: flex;
    flex-direction: column;
}

.faq-card {
    display: grid;
    grid-template-rows: auto 0fr;
    padding: 2.2rem 0;
    border-top: 1px solid rgba(11, 12, 14, .1);
    cursor: pointer;
    transition: grid-template-rows .6s cubic-bezier(.65, 0, .35, 1);
}

.faq-card.is-open {
    grid-template-rows: auto 1fr;
}

.faq-card:last-child {
    border-bottom: 1px solid rgba(11, 12, 14, .1);
}

.faq-card__header {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    width: 100%;
    min-height: 2.9rem;
    text-align: left;
}

.faq-card__number {
    flex: none;
    width: 1.6rem;
    color: var(--grey-light);
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: .06em;
}

.faq-card__question {
    flex: 1;
    max-width: 26rem;
    margin-right: auto;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: -.02em;
}

.faq-card__icon {
    position: relative;
    flex: none;
    width: 2.4rem;
    height: 2.4rem;
}

.faq-card__icon::before,
.faq-card__icon::after {
    content: "";
    position: absolute;
    top: 1.1rem;
    left: .5rem;
    width: 1.4rem;
    height: 1.6px;
    border-radius: 1px;
    background: var(--dark);
    transition: transform .5s var(--ease);
}

.faq-card__icon::after {
    transform: rotate(90deg);
}

.faq-card.is-open .faq-card__icon::after {
    transform: rotate(0);
}

.faq-card__body {
    overflow: hidden;
}

.faq-card__body p {
    padding-top: 1.2rem;
    color: var(--grey);
    font-size: 1.6rem;
    line-height: 1.5;
    opacity: 0;
    transform: translateY(-.8rem);
    transition: opacity .35s, transform .5s var(--ease);
}

.faq-card.is-open .faq-card__body p {
    opacity: 1;
    transform: none;
    transition: opacity .5s .15s, transform .6s .15s var(--ease);
}

.faq-section__support {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    padding: 3rem;
    border-radius: 2.4rem;
    background: var(--surface);
}

.faq-section__support-title {
    display: flex;
    align-items: center;
    gap: 2rem;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -.02em;
}

.faq-section__support-title span {
    flex: none;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background: var(--blue);
    box-shadow: 0 0 0 2px #fff;
    animation: ring 2s ease-out infinite;
}

.faq-section__support-text {
    width: 25.2rem;
    margin-top: -1.4rem;
    color: var(--grey);
    font-size: 1.6rem;
    line-height: 1.5;
}

.faq-section__support .button {
    font-size: 1.6rem;
}

@media (max-width: 767px) {
    .faq-section__subtitle br {
        display: none;
    }
}

@media (min-width: 768px) {
    .faq-section {
        display: grid;
        grid-template-columns: 53.6rem 76rem;
        grid-template-rows: auto 1fr;
        justify-content: center;
        gap: 4.8rem 2.4rem;
        padding: 10rem 7rem;
        border-radius: 3.2rem;
    }

    .faq-section__head {
        grid-column: 1;
        grid-row: 1;
    }

    .faq-section__title {
        font-size: 22rem;
    }

    .faq-section__subtitle {
        width: 42rem;
    }

    .faq-section__list {
        grid-column: 2;
        grid-row: 1 / 3;
    }

    .faq-card {
        padding: 2.6rem 0;
    }

    .faq-card__header {
        gap: 2.8rem;
    }

    .faq-card__question {
        max-width: none;
        margin: 0;
        font-size: 2.2rem;
        transition: color .2s;
    }

    .faq-card:hover .faq-card__question {
        color: var(--blue);
    }

    .faq-card__body p {
        width: 69.6rem;
        padding-top: 1.6rem;
        line-height: 1.6;
    }

    .faq-section__support {
        grid-column: 1;
        grid-row: 2;
        align-self: end;
        width: 44rem;
        padding: 3.2rem;
        border-radius: 2.8rem;
    }

    .faq-section__support-title {
        font-size: 3rem;
    }

    .faq-section__support-text {
        width: 26.8rem;
        font-size: 1.7rem;
    }

    .faq-section__support .button {
        width: 37.6rem;
        font-size: 1.7rem;
    }
}

.start-section {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 3rem;
    border-radius: 3rem;
    background: var(--dark-gradient);
    color: #fff;
    overflow: hidden;
    overflow: clip;
}

.start-section__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.start-section__title {
    margin-top: 1rem;
    color: #fff;
}

.start-section__title span {
    color: rgba(255, 255, 255, .45);
}

.start-section__subtitle {
    margin-top: 1.5rem;
    color: rgba(255, 255, 255, .6);
}

.start-section__subtitle strong {
    color: #fff;
}

.start-section__robot {
    position: relative;
    height: 34rem;
    margin-bottom: -1rem;
    overflow: hidden;
}

.start-section__robot img {
    position: absolute;
    top: .2rem;
    left: -6.6rem;
    width: 47.8rem;
    height: 37.6rem;
    object-fit: contain;
}

.start-section__buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.start-section__facts {
    display: none;
}

@media (min-width: 768px) {
    .start-section {
        z-index: 2;
        min-height: 70.7rem;
        padding: 9rem 0 9rem 28.4rem;
        border-radius: 3.6rem;
        overflow: visible;
    }

    .start-section__head {
        position: relative;
    }

    .start-section__title {
        width: 65rem;
    }

    .start-section__subtitle {
        width: 53.6rem;
    }

    .start-section__robot {
        position: absolute;
        top: -13.7rem;
        left: 78.2rem;
        height: auto;
        margin: 0;
        overflow: visible;
    }

    .start-section__robot img {
        position: static;
        width: 107.3rem;
        height: 84.4rem;
    }

    .start-section__buttons {
        position: relative;
        flex-direction: row;
        gap: 1.2rem;
        margin-top: 2.5rem;
    }

    .start-section__buttons .button {
        width: 30rem;
    }

    .start-section__facts {
        position: relative;
        display: flex;
        gap: 2.8rem;
        margin: 2rem 0 0 .2rem;
    }

    .start-section__facts li {
        display: flex;
        align-items: center;
        gap: .8rem;
        color: rgba(255, 255, 255, .6);
        font-size: 1.5rem;
        white-space: nowrap;
    }

    .start-section__facts li::before {
        content: "";
        width: .6rem;
        height: .6rem;
        border-radius: 50%;
        background: var(--blue);
        animation: blink 2s ease-in-out infinite;
    }

    .start-section__facts li:nth-child(2)::before {
        animation-delay: .4s;
    }

    .start-section__facts li:nth-child(3)::before {
        animation-delay: .8s;
    }
}

.footer {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    width: 42rem;
    margin: 0 auto 1rem;
    padding: 3rem 3rem 0;
}

.footer__contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.footer__label {
    color: rgba(0, 0, 0, .45);
}

.footer__contact .footer__label {
    font-size: 1.3rem;
}

.footer__mail {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: #000;
    font-size: 3.4rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.04em;
}

.footer__mail span {
    color: var(--blue);
    font-size: 3rem;
}

.footer__middle {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    margin-top: -.4rem;
    padding-top: 4rem;
    border-top: 1px solid rgba(0, 0, 0, .12);
}

.footer__menu {
    display: flex;
    flex-wrap: wrap;
    gap: 3.2rem 6rem;
}

.footer__group:first-child {
    width: 100%;
}

.footer__group,
.footer__list {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.footer__list a {
    color: #000;
    font-size: 1.6rem;
    font-weight: 500;
}

.footer__scope {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.footer__text {
    color: rgba(0, 0, 0, .5);
    font-size: 1.4rem;
    line-height: 1.5;
}

.footer__bottom {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    margin-top: -.4rem;
    padding-top: 2.4rem;
    border-top: 1px solid rgba(0, 0, 0, .12);
}

.footer__bottom::before {
    content: "";
    position: absolute;
    top: -.2rem;
    left: 0;
    width: 2.4rem;
    height: .2rem;
    background: var(--dark);
}

.footer__copyright {
    width: 27.3rem;
    color: rgba(0, 0, 0, .4);
    font-size: 1.3rem;
    line-height: 1.5;
}

.footer__brand {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: -.02em;
}

.footer__brand span {
    color: var(--blue);
    font-size: 2.2rem;
}

.footer__wordmark {
    width: 36rem;
    height: auto;
    margin-top: -.4rem;
}

@media (min-width: 768px) {
    .footer {
        display: block;
        width: 188rem;
        margin: 10rem auto 0;
        padding: 0 6.9rem 0 7.5rem;
    }

    .footer__contact {
        gap: 0;
    }

    .footer__contact .footer__label {
        font-size: 1.2rem;
    }

    .footer__mail {
        align-items: flex-start;
        gap: 1.8rem;
        margin: 1.4rem 0 0 -.6rem;
        font-size: 9.6rem;
    }

    .footer__mail span {
        margin-top: 1.2rem;
        font-size: 7.2rem;
        transition: transform .3s var(--ease);
    }

    .footer__mail:hover span {
        transform: translate(.6rem, -.6rem);
    }

    .footer__middle {
        flex-direction: row;
        justify-content: space-between;
        gap: 0;
        margin-top: 8.4rem;
        padding-top: 3.9rem;
    }

    .footer__menu {
        flex-wrap: nowrap;
        gap: 9.6rem;
    }

    .footer__group:first-child {
        width: auto;
    }

    .footer__list a {
        transition: color .2s;
    }

    .footer__list a:hover {
        color: var(--blue);
    }

    .footer__scope {
        width: 56rem;
    }

    .footer__text {
        font-size: 1.3rem;
    }

    .footer__bottom {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 0;
        margin-top: 7.2rem;
        padding-top: 2.1rem;
    }

    .footer__copyright {
        width: auto;
        font-size: 1.2rem;
        line-height: normal;
    }

    .footer__wordmark {
        width: 188rem;
        height: 29.7rem;
        margin: 10rem -6.9rem 0 -7.5rem;
    }
}

@keyframes hero-line {
    from {
        opacity: 0;
        clip-path: inset(0 -30% 100% -30%);
        transform: translateY(60%);
    }

    to {
        opacity: 1;
        clip-path: inset(-30%);
        transform: none;
    }
}

@keyframes hero-up {
    from {
        opacity: 0;
        transform: translateY(2rem);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes hero-media {
    from {
        opacity: 0;
        filter: blur(1.2rem);
        transform: scale(1.08);
    }

    to {
        opacity: 1;
        filter: none;
        transform: none;
    }
}

@keyframes hero-orb {
    from {
        opacity: 0;
        transform: scale(.85);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes hero-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes beam-pulse {
    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: .1;
    }
}

@keyframes hero-phrase {
    from {
        opacity: 0;
        filter: blur(1rem);
    }

    to {
        opacity: 1;
        filter: none;
    }
}

@keyframes float {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-1.6rem);
    }
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes marquee {
    to {
        transform: translateX(-50%);
    }
}

@keyframes wave {
    to {
        transform: translateX(-12rem);
    }
}

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

@keyframes ping {
    0% {
        opacity: .6;
        transform: scale(1);
    }

    100% {
        opacity: 0;
        transform: scale(3);
    }
}

@keyframes ring {
    0% {
        box-shadow: 0 0 0 2px #fff, 0 0 0 2px rgba(26, 107, 252, .55);
    }

    70%,
    100% {
        box-shadow: 0 0 0 2px #fff, 0 0 0 1.2rem rgba(26, 107, 252, 0);
    }
}

@keyframes blink {
    0%,
    100% {
        opacity: 1;
        box-shadow: 0 0 0 0 rgba(26, 107, 252, .6);
    }

    50% {
        opacity: .35;
        box-shadow: 0 0 0 .5rem rgba(26, 107, 252, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

.static [fade] {
    opacity: 1;
    transform: none;
    transition: none;
}

.static .program-section {
    height: auto;
}

.static .program-section__inner,
.static .price-card:first-child {
    position: relative;
    top: 0;
}

.static .pricing-section__head {
    position: static;
}
