/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

        *,
        :before,
        :after,
        ::backdrop {
            --tw-space-y-reverse       : 0;
            --tw-border-style          : solid;
            --tw-gradient-position     : initial;
            --tw-gradient-from         : #0000;
            --tw-gradient-via          : #0000;
            --tw-gradient-to           : #0000;
            --tw-gradient-stops        : initial;
            --tw-gradient-via-stops    : initial;
            --tw-gradient-from-position: 0%;
            --tw-gradient-via-position : 50%;
            --tw-gradient-to-position  : 100%;
            --tw-leading               : initial;
            --tw-font-weight           : initial;
            --tw-tracking              : initial;
            --tw-ordinal               : initial;
            --tw-slashed-zero          : initial;
            --tw-numeric-figure        : initial;
            --tw-numeric-spacing       : initial;
            --tw-numeric-fraction      : initial;
            --tw-blur                  : initial;
            --tw-brightness            : initial;
            --tw-contrast              : initial;
            --tw-grayscale             : initial;
            --tw-hue-rotate            : initial;
            --tw-invert                : initial;
            --tw-opacity               : initial;
            --tw-saturate              : initial;
            --tw-sepia                 : initial;
            --tw-drop-shadow           : initial;
            --tw-drop-shadow-color     : initial;
            --tw-drop-shadow-alpha     : 100%;
            --tw-drop-shadow-size      : initial;
            --tw-backdrop-blur         : initial;
            --tw-backdrop-brightness   : initial;
            --tw-backdrop-contrast     : initial;
            --tw-backdrop-grayscale    : initial;
            --tw-backdrop-hue-rotate   : initial;
            --tw-backdrop-invert       : initial;
            --tw-backdrop-opacity      : initial;
            --tw-backdrop-saturate     : initial;
            --tw-backdrop-sepia        : initial;
            --tw-duration              : initial;
            --tw-translate-x           : 0;
            --tw-translate-y           : 0;
            --tw-translate-z           : 0;
            --tw-scale-x               : 1;
            --tw-scale-y               : 1;
            --tw-scale-z               : 1
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-sans                         : -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono                         : ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-black                       : #000;
        --color-white                       : #fff;
        --spacing                           : .25rem;
        --text-3xl                          : 1.875rem;
        --text-3xl--line-height             : calc(2.25 / 1.875);
        --font-weight-light                 : 300;
        --font-weight-normal                : 400;
        --font-weight-medium                : 500;
        --font-weight-semibold              : 600;
        --font-weight-bold                  : 700;
        --font-weight-extrabold             : 800;
        --font-weight-black                 : 900;
        --tracking-tight                    : -.025em;
        --tracking-widest                   : .1em;
        --leading-tight                     : 1.25;
        --radius-xl                         : .75rem;
        --radius-2xl                        : 1rem;
        --blur-md                           : 12px;
        --default-transition-duration       : .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family               : var(--font-sans);
        --default-mono-font-family          : var(--font-mono);
        --font-display                      : "Fustat", sans-serif;
        --font-body                         : "Poppins", sans-serif;
        --font-accent                       : "Sofia Sans Condensed", sans-serif;
        --font-fustat                       : "Fustat", sans-serif;
        --font-poppins                      : "Poppins", sans-serif;
        --font-sofia                        : "Sofia Sans Condensed", sans-serif;
        --color-brand                       : #968ab6;
        --color-brand-deep                  : #7a6fa0;
        --color-brand-soft                  : #c4b8e0;
        --color-accent-blue                 : #072acb;
        --color-accent-amber                : #f5b940;
        --color-ink                         : #000;
        --color-ink-800                     : #111;
        --color-ink-deep                    : #0a0814
    }
}

@layer base {

    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border    : 0 solid;
        margin    : 0;
        padding   : 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border    : 0 solid;
        margin    : 0;
        padding   : 0
    }

    html,
    :host {
        -webkit-text-size-adjust   : 100%;
        tab-size                   : 4;
        line-height                : 1.5;
        font-family                : var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings      : var(--default-font-feature-settings, normal);
        font-variation-settings    : var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height          : 0;
        color           : inherit;
        border-top-width: 1px
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration        : underline dotted
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size  : inherit;
        font-weight: inherit
    }

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

    b,
    strong {
        font-weight: bolder
    }

    code,
    kbd,
    samp,
    pre {
        font-family            : var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings  : var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size              : 1em
    }

    small {
        font-size: 80%
    }

    sub,
    sup {
        vertical-align: baseline;
        font-size     : 75%;
        line-height   : 0;
        position      : relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent    : 0;
        border-color   : inherit;
        border-collapse: collapse
    }

    :-moz-focusring:where(:not(iframe)) {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,
    ul,
    menu {
        list-style: none
    }

    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {
        vertical-align: middle;
        display       : block
    }

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

    button,
    input,
    select,
    optgroup,
    textarea {
        font                   : inherit;
        font-feature-settings  : inherit;
        font-variation-settings: inherit;
        letter-spacing         : inherit;
        color                  : inherit;
        opacity                : 1;
        background-color       : #0000;
        border-radius          : 0
    }

    ::file-selector-button {
        font                   : inherit;
        font-feature-settings  : inherit;
        font-variation-settings: inherit;
        letter-spacing         : inherit;
        color                  : inherit;
        opacity                : 1;
        background-color       : #0000;
        border-radius          : 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

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

    button,
    input:where([type=button], [type=reset], [type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

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

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

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }

    html {
        scroll-behavior: smooth;
        font-size      : 16px;
        position       : relative
    }

    body {
        background-color: var(--color-ink);
        color           : #fff;
        font-family     : var(--font-body);
        position        : relative
    }

    ::-webkit-scrollbar {
        width: 6px
    }

    ::-webkit-scrollbar-track {
        background: var(--color-ink-800)
    }

    ::-webkit-scrollbar-thumb {
        background   : var(--color-brand);
        border-radius: 3px
    }

    ::-webkit-scrollbar-thumb:hover {
        background: var(--color-brand-deep)
    }

    ::selection {
        background: rgba(var(--brand-rgb), .3);
        color     : #fff
    }

    :focus-visible {
        outline       : 2px solid var(--color-brand);
        outline-offset: 3px
    }
}

@layer components {
    .progress-bar {
        transform: scaleX(var(--p, 0))
    }

    .nav-shell {
        transition: transform .4s cubic-bezier(.25, .46, .45, .94), background-color .5s, -webkit-backdrop-filter .5s, backdrop-filter .5s;
        transform : translateY(0)
    }

    .nav-shell.is-hidden {
        transform: translateY(-100%)
    }

    .nav-shell.is-solid {
        -webkit-backdrop-filter: blur(12px);
        background-color       : #000000d9
    }

    .nav-link {
        color     : #fff9;
        transition: color .3s, transform .3s
    }

    .nav-link:hover {
        color    : #fff;
        transform: translateY(-2px)
    }

    .menu-bar {
        transition: transform .3s, opacity .3s
    }

    #menu-toggle.is-open .menu-bar:first-child {
        transform: translateY(8px)rotate(45deg)
    }

    #menu-toggle.is-open .menu-bar:nth-child(2) {
        opacity: 0
    }

    #menu-toggle.is-open .menu-bar:nth-child(3) {
        transform: translateY(-8px)rotate(-45deg)
    }

    #hero-bg:after {
        content       : "";
        pointer-events: none;
        background    : #00000080;
        position      : absolute;
        inset         : 0
    }

    .hero-yt {
        opacity   : 0;
        border    : 0;
        width     : 100vw;
        min-width : 177.78vh;
        height    : 56.25vw;
        min-height: 100vh;
        transition: opacity .6s;
        transform : translate(-50%, -50%)scale(1.3)
    }

    .hero-yt.is-playing {
        opacity: 1
    }

    .hero-yt>div,
    .hero-yt iframe {
        border : 0;
        width  : 100%;
        height : 100%;
        display: block
    }

    .hero-poster {
        object-position    : center 35%;
        opacity            : 1;
        background-image   : url(data:image/webp;base64,UklGRpAAAABXRUJQVlA4IIQAAACQBACdASoYABAAPrVKnkonJCKhsAgA4BaJYgCdMoR4PzKDDeQnmm9Yk9bu6wgA/t34w5Y5bFAjHS1y+qyCRAyKbHvi/vhh+kXqIDiXYMvAtxLYwOhJ2onb8EVipy1Q+c5fxWAUsSujbCUchYHSxGOIXgRrYN88cBSpnAdAten1wgj0AAA=);
        background-position: 50% 35%;
        background-size    : cover;
        transition         : opacity .7s
    }

    .hero-poster.is-hidden {
        opacity: 0
    }

    .hero-glow-orb {
        background: radial-gradient(circle, rgba(var(--brand-rgb), 1) 0%, transparent 70%);
        top       : 10%;
        right     : 10%
    }

    .hero-word {
        opacity   : 1;
        transition: transform .4s cubic-bezier(.25, .46, .45, .94), opacity .4s cubic-bezier(.25, .46, .45, .94);
        display   : block;
        transform : translateY(0)
    }

    .hero-word.is-out {
        opacity  : 0;
        transform: translateY(-60px)
    }

    #hero-content h1 {
        line-height: .9
    }

    .hero-line {
        padding-bottom: .18em;
        overflow      : hidden
    }

    .hero-parallax {
        transform: translateY(var(--hero-y, 0))
    }

    .hero-content-parallax {
        transform: translateY(var(--hero-y, 0));
        opacity  : var(--hero-o, 1)
    }

    .btn-glow {
        transition: transform .3s, box-shadow .3s
    }

    .btn-glow:hover {
        box-shadow: 0 0 30px rgba(var(--brand-rgb), .5);
        transform : scale(1.05)
    }

    .btn-glow:active {
        transform: scale(.95)
    }

    .video-toggle .icon-pause {
        display: inline
    }

    .video-toggle .icon-play,
    .video-toggle.is-paused .icon-pause {
        display: none
    }

    .video-toggle.is-paused .icon-play {
        display: inline
    }

    .reel-modal {
        opacity       : 0;
        pointer-events: none;
        transition    : opacity .4s
    }

    .reel-modal.in {
        opacity       : 1;
        pointer-events: auto
    }

    .ratio-16x9 {
        width         : 100%;
        padding-bottom: 56.25%;
        position      : relative
    }

    .ratio-16x9>*,
    .ratio-16x9 iframe {
        border  : 0;
        width   : 100%;
        height  : 100%;
        position: absolute;
        inset   : 0
    }

    .marquee-set {
        align-items: center;
        display    : flex
    }

    .marquee-item {
        flex-shrink: 0;
        align-items: center;
        display    : flex
    }

    .marquee-cell {
        box-sizing     : border-box;
        flex-shrink    : 0;
        justify-content: center;
        align-items    : center;
        height         : 56px;
        padding-inline : 40px;
        display        : flex
    }

    .marquee-logo {
        object-fit: contain;
        opacity   : .9;
        width     : auto;
        max-height: 56px
    }

    .marquee-wordmark {
        font-family   : var(--font-body);
        letter-spacing: 1px;
        text-transform: uppercase;
        color         : #ffffffb3;
        white-space   : nowrap;
        font-size     : 13px;
        font-weight   : 600
    }

    .marquee-dot {
        background   : #ffffff4d;
        border-radius: 9999px;
        flex-shrink  : 0;
        width        : 4px;
        height       : 4px
    }

    .process-track {
        transform: translate3d(var(--tx, 0px), 0, 0)
    }

    .process-dot {
        transition: width .4s, background-color .4s
    }

    .tech-card {
        transition: border-color .3s, background-color .3s, transform .3s
    }

    .tech-card:hover {
        border-color    : rgba(var(--brand-rgb), .3);
        background-color: #ffffff0a
    }

    .tech-icon,
    .tech-card-icon {
        transition: transform .3s
    }

    .tech-card:hover .tech-icon,
    .tech-card:hover .tech-card-icon {
        transform: scale(1.1)rotate(6deg)
    }

    .tech-gallery {
        width      : 100vw;
        max-width  : 100vw;
        margin-left: calc(50% - 50vw);
        overflow   : hidden
    }

    .gallery-frame {
        transition: transform .3s
    }

    .gallery-frame:hover {
        transform: scale(1.02)
    }

    .gallery-frame:focus-visible {
        outline       : 2px solid var(--color-brand);
        outline-offset: 2px
    }

    .gallery-scrim {
        opacity   : 0;
        transition: opacity .5s
    }

    .gallery-label {
        opacity   : 0;
        transition: transform .5s cubic-bezier(.16, 1, .3, 1), opacity .5s;
        transform : translateY(12px)
    }

    .gallery-frame:hover .gallery-scrim,
    .gallery-frame:focus-visible .gallery-scrim {
        opacity: 1
    }

    .gallery-frame:hover .gallery-label,
    .gallery-frame:focus-visible .gallery-label {
        opacity  : 1;
        transform: translateY(0)
    }

    .work-cursor {
        opacity   : 0;
        left      : var(--cx, 0px);
        top       : var(--cy, 0px);
        transition: opacity .25s, transform .25s;
        transform : translate(-50%, -50%)scale(0)
    }

    .work-cursor.in {
        opacity  : 1;
        transform: translate(-50%, -50%)scale(1)
    }

    .work-media {
        transform: scale(var(--sc, 1)) translate(var(--mx, 0px), var(--my, 0px))
    }

    .watermark {
        color  : var(--color-accent-amber);
        opacity: .08
    }

    .stat-number {
        font-variant-numeric: tabular-nums
    }

    .stat-number .num-sep {
        margin-inline: -.22em
    }

    @media (min-width:40rem) {
        .stat-item+.stat-item:before {
            content   : "";
            background: rgba(var(--brand-rgb), .4);
            width     : 1px;
            height    : 3rem;
            position  : absolute;
            top       : 50%;
            left      : 0;
            transform : translateY(-50%)
        }
    }

    .glow-radial-center {
        background: radial-gradient(circle at 50% 50%, rgba(var(--brand-rgb), .12) 0%, transparent 70%)
    }

    .glow-ellipse-a {
        background: radial-gradient(ellipse 80% 60% at 20% 50%, rgba(var(--brand-rgb), .08) 0%, transparent 60%)
    }

    .glow-ellipse-b {
        background: radial-gradient(ellipse 60% 50% at 80% 80%, rgba(var(--brand-alt-rgb), .06) 0%, transparent 50%)
    }

    .glow-ellipse-c {
        background: radial-gradient(ellipse 60% 50% at 20% 40%, rgba(var(--brand-rgb), .06) 0%, transparent 60%)
    }

    .glow-ellipse-d {
        background: radial-gradient(ellipse 55% 50% at 50% 30%, rgba(var(--brand-rgb), .1) 0%, transparent 62%)
    }

    .glow-ellipse-e {
        background: radial-gradient(ellipse 50% 40% at 85% 70%, rgba(var(--brand-alt-rgb), .04) 0%, transparent 50%)
    }

    .glow-ellipse-f {
        background: radial-gradient(ellipse 40% 40% at 85% 80%, rgba(var(--brand-alt-rgb), .08) 0%, transparent 55%)
    }

    .scrim-deep {
        background: linear-gradient(to top, rgba(var(--ink-deep-rgb), 1), transparent)
    }

    .scrim-deep-soft {
        background: linear-gradient(to top, rgba(var(--ink-deep-rgb), .9) 0%, rgba(var(--ink-deep-rgb), .25) 45%, rgba(var(--ink-deep-rgb), .15) 100%)
    }

    .scrim-deep-lite {
        background: linear-gradient(to top, rgba(var(--ink-deep-rgb), .8) 0%, rgba(var(--ink-deep-rgb), .1) 50%, transparent 100%)
    }

    .scrim-brand {
        background: linear-gradient(to top, rgba(var(--brand-rgb), .2) 0%, rgba(var(--brand-alt-rgb), .06) 55%, transparent 85%)
    }

    .bg-deep {
        background: var(--color-ink-deep)
    }

    .glass-card {
        border                 : 1px solid rgba(var(--brand-rgb), .15);
        -webkit-backdrop-filter: blur(10px);
        background             : #ffffff08
    }

    .quote-card {
        box-shadow: 0 30px 80px -40px rgba(var(--brand-rgb), .4);
        background: linear-gradient(145deg, #ffffff0a 0%, #ffffff03 100%);
        border    : 1px solid #ffffff14
    }

    .tilt-scene,
    .why-stat-card {
        perspective: 800px
    }

    .tilt,
    .why-card-inner {
        transform      : rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
        transform-style: preserve-3d;
        transition     : transform .2s ease-out, border-color .3s, background-color .3s
    }

    .tilt:hover {
        border-color    : rgba(var(--brand-rgb), .4);
        background-color: #ffffff0d
    }

    .why-truth-section {
        background: var(--color-ink-deep)
    }

    .reason-row {
        background: #ffffff05;
        border    : 1px solid #ffffff0f;
        transition: background-color .3s, border-color .3s
    }

    .reason-row.active,
    .reason-row.is-active {
        background  : rgba(var(--brand-rgb), .06);
        border-color: rgba(var(--brand-rgb), .3)
    }

    .reason-bar,
    .reason-progress-bar {
        background      : linear-gradient(to bottom, rgba(var(--brand-rgb), 1), rgba(var(--brand-alt-rgb), 1));
        transform-origin: top;
        transition      : transform .4s;
        transform       : scaleY(0)
    }

    .reason-row.active .reason-bar,
    .reason-row.active .reason-progress-bar,
    .reason-row.is-active .reason-bar,
    .reason-row.is-active .reason-progress-bar {
        transform: scaleY(1)
    }

    .reason-n,
    .reason-num {
        color     : #ffffff40;
        transition: color .3s
    }

    .reason-row.active .reason-n,
    .reason-row.active .reason-num,
    .reason-row.is-active .reason-n,
    .reason-row.is-active .reason-num {
        color: rgba(var(--brand-rgb), 1)
    }

    .reason-t,
    .reason-title {
        color     : #ffffff8c;
        transition: color .3s
    }

    .reason-row.active .reason-t,
    .reason-row.active .reason-title,
    .reason-row.is-active .reason-t,
    .reason-row.is-active .reason-title {
        color: #fff
    }

    .reason-panel,
    .reason-content {
        opacity           : 0;
        grid-template-rows: 0fr;
        transition        : grid-template-rows .4s cubic-bezier(.25, .46, .45, .94), opacity .4s;
        display           : grid
    }

    .reason-panel>div,
    .reason-content>* {
        min-height: 0;
        overflow  : hidden
    }

    .reason-row.active .reason-panel,
    .reason-row.active .reason-content,
    .reason-row.is-active .reason-panel,
    .reason-row.is-active .reason-content {
        opacity           : 1;
        grid-template-rows: 1fr
    }

    .reason-dot {
        background: #ffffff1a;
        width     : 12px;
        transition: width .4s, background-color .4s
    }

    .reason-dot.active {
        background: rgba(var(--brand-rgb), 1);
        width     : 32px
    }

    .reason-img,
    .reason-img-pane {
        opacity   : 0;
        transition: opacity .6s
    }

    .reason-img.active,
    .reason-img-pane.is-active,
    .reason-img-pane.active {
        opacity: 1
    }

    .quote-slide {
        opacity       : 0;
        transform     : translateX(var(--qx, 40px));
        pointer-events: none;
        transition    : opacity .5s, transform .5s cubic-bezier(.25, .46, .45, .94);
        position      : absolute;
        inset         : 0
    }

    .quote-slide.active {
        opacity       : 1;
        pointer-events: auto;
        position      : relative;
        transform     : none
    }

    .quote-progress {
        width: var(--qp, 0%)
    }

    .q-dot {
        transition: width .4s, background-color .4s
    }

    .team-frame {
        aspect-ratio: 21/9
    }

    .team-photo {
        transition: box-shadow .5s;
        box-shadow: 0 0 0 1px #ffffff0f
    }

    .team-photo:hover {
        box-shadow: 0 0 60px -10px rgba(var(--brand-rgb), .45)
    }

    .team-line {
        background      : linear-gradient(to right, rgba(var(--brand-rgb), .5), transparent);
        transform-origin: 0;
        opacity         : .4;
        transition      : transform .45s, opacity .45s;
        transform       : scaleX(.25)
    }

    .team-photo:hover .team-line {
        opacity  : 1;
        transform: scaleX(1)
    }

    .team-glow {
        background: rgba(var(--brand-rgb), .5)
    }

    .team-img {
        transform : scale(var(--sc, 1));
        transition: transform .7s
    }

    .field {
        background  : #ffffff08;
        border-color: #ffffff1a;
        transition  : border-color .3s, background-color .3s, box-shadow .3s
    }

    .field:focus {
        border-color: rgba(var(--brand-rgb), .6);
        box-shadow  : 0 0 0 4px rgba(var(--brand-rgb), .12);
        background  : #ffffff0f;
        outline     : none
    }

    .field.is-invalid,
    .field.is-invalid:hover,
    .field.is-invalid:focus,
    .contact-input.is-invalid,
    .contact-input.is-invalid:hover,
    .contact-input.is-invalid:focus {
        box-shadow  : 0 0 0 4px #ff6b6b1f;
        border-color: #ff6b6ba6 !important
    }

    .field-error {
        color      : #ff8f8f;
        margin-top : 6px;
        font-size  : 12px;
        line-height: 1.5
    }

    .contact-error {
        color        : #ff8f8f;
        background   : #ff6b6b14;
        border       : 1px solid #ff6b6b4d;
        border-radius: 12px;
        padding      : 12px 16px
    }

    .field-error[hidden],
    .contact-error[hidden] {
        display: none
    }

    .btn-submit {
        background-color: var(--color-accent-blue);
        transition      : transform .3s, box-shadow .3s
    }

    .btn-submit:hover {
        transform : scale(1.04);
        box-shadow: 0 0 30px #072acb73
    }

    .btn-submit[disabled] {
        opacity: .55;
        cursor : not-allowed
    }

    .btn-submit[disabled]:hover {
        box-shadow: none;
        transform : none
    }

    .footer-link {
        color          : #ffffff80;
        text-decoration: none;
        transition     : color .3s
    }

    .footer-link:hover {
        color                        : #fff;
        text-decoration              : underline;
        -webkit-text-decoration-color: var(--color-accent-blue);
        -webkit-text-decoration-color: var(--color-accent-blue);
        text-decoration-color        : var(--color-accent-blue);
        text-underline-offset        : 4px
    }

    .social-btn {
        border    : 1px solid #ffffff1a;
        transition: border-color .3s, background-color .3s, transform .3s
    }

    .social-btn:hover {
        border-color: rgba(var(--brand-rgb), .5);
        background  : rgba(var(--brand-rgb), .1);
        transform   : translateY(-2px)
    }
}

@layer utilities {
    .pointer-events-none {
        pointer-events: none
    }

    .invisible {
        visibility: hidden
    }

    .visible {
        visibility: visible
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .inset-0 {
        inset: 0
    }

    .inset-\[-6\%\] {
        inset: -6%
    }

    .inset-\[-20px\] {
        inset: -20px
    }

    .inset-x-0 {
        inset-inline: 0
    }

    .-top-8 {
        top: calc(var(--spacing) * -8)
    }

    .top-0 {
        top: 0
    }

    .top-1\/2 {
        top: 50%
    }

    .top-6 {
        top: calc(var(--spacing) * 6)
    }

    .top-24 {
        top: calc(var(--spacing) * 24)
    }

    .right-0 {
        right: 0
    }

    .right-6 {
        right: calc(var(--spacing) * 6)
    }

    .right-10 {
        right: calc(var(--spacing) * 10)
    }

    .bottom-0 {
        bottom: 0
    }

    .bottom-8 {
        bottom: calc(var(--spacing) * 8)
    }

    .bottom-\[50px\] {
        bottom: 50px
    }

    .bottom-\[60px\] {
        bottom: 60px
    }

    .left-0 {
        left: 0
    }

    .left-1\/2 {
        left: 50%
    }

    .left-6 {
        left: calc(var(--spacing) * 6)
    }

    .left-10 {
        left: calc(var(--spacing) * 10)
    }

    .z-10 {
        z-index: 10
    }

    .z-40 {
        z-index: 40
    }

    .z-50 {
        z-index: 50
    }

    .z-\[60\] {
        z-index: 60
    }

    .z-\[200\] {
        z-index: 200
    }

    .mx-auto {
        margin-inline: auto
    }

    .me-auto {
        margin-inline-end: auto
    }

    .mt-0\.5 {
        margin-top: calc(var(--spacing) * .5)
    }

    .mt-1 {
        margin-top: var(--spacing)
    }

    .mt-2 {
        margin-top: calc(var(--spacing) * 2)
    }

    .mt-3 {
        margin-top: calc(var(--spacing) * 3)
    }

    .mt-6 {
        margin-top: calc(var(--spacing) * 6)
    }

    .mt-10 {
        margin-top: calc(var(--spacing) * 10)
    }

    .mt-12 {
        margin-top: calc(var(--spacing) * 12)
    }

    .mt-24 {
        margin-top: calc(var(--spacing) * 24)
    }

    .mt-auto {
        margin-top: auto
    }

    .mb-1 {
        margin-bottom: var(--spacing)
    }

    .mb-2 {
        margin-bottom: calc(var(--spacing) * 2)
    }

    .mb-2\.5 {
        margin-bottom: calc(var(--spacing) * 2.5)
    }

    .mb-3 {
        margin-bottom: calc(var(--spacing) * 3)
    }

    .mb-4 {
        margin-bottom: calc(var(--spacing) * 4)
    }

    .mb-5 {
        margin-bottom: calc(var(--spacing) * 5)
    }

    .mb-6 {
        margin-bottom: calc(var(--spacing) * 6)
    }

    .mb-7 {
        margin-bottom: calc(var(--spacing) * 7)
    }

    .mb-8 {
        margin-bottom: calc(var(--spacing) * 8)
    }

    .mb-10 {
        margin-bottom: calc(var(--spacing) * 10)
    }

    .mb-12 {
        margin-bottom: calc(var(--spacing) * 12)
    }

    .mb-14 {
        margin-bottom: calc(var(--spacing) * 14)
    }

    .mb-16 {
        margin-bottom: calc(var(--spacing) * 16)
    }

    .mb-20 {
        margin-bottom: calc(var(--spacing) * 20)
    }

    .ml-2 {
        margin-left: calc(var(--spacing) * 2)
    }

    .ml-4 {
        margin-left: calc(var(--spacing) * 4)
    }

    .ml-auto {
        margin-left: auto
    }

    .block {
        display: block
    }

    .contents {
        display: contents
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .inline-flex {
        display: inline-flex
    }

    .aspect-\[4\/5\] {
        aspect-ratio: 4/5
    }

    .size-2 {
        width : calc(var(--spacing) * 2);
        height: calc(var(--spacing) * 2)
    }

    .size-10 {
        width : calc(var(--spacing) * 10);
        height: calc(var(--spacing) * 10)
    }

    .size-11 {
        width : calc(var(--spacing) * 11);
        height: calc(var(--spacing) * 11)
    }

    .size-12 {
        width : calc(var(--spacing) * 12);
        height: calc(var(--spacing) * 12)
    }

    .size-\[100px\] {
        width : 100px;
        height: 100px
    }

    .h-0\.5 {
        height: calc(var(--spacing) * .5)
    }

    .h-1\.5 {
        height: calc(var(--spacing) * 1.5)
    }

    .h-4 {
        height: calc(var(--spacing) * 4)
    }

    .h-6 {
        height: calc(var(--spacing) * 6)
    }

    .h-7 {
        height: calc(var(--spacing) * 7)
    }

    .h-8 {
        height: calc(var(--spacing) * 8)
    }

    .h-9 {
        height: calc(var(--spacing) * 9)
    }

    .h-10 {
        height: calc(var(--spacing) * 10)
    }

    .h-11 {
        height: calc(var(--spacing) * 11)
    }

    .h-12 {
        height: calc(var(--spacing) * 12)
    }

    .h-28 {
        height: calc(var(--spacing) * 28)
    }

    .h-32 {
        height: calc(var(--spacing) * 32)
    }

    .h-\[2px\] {
        height: 2px
    }

    .h-\[8px\] {
        height: 8px
    }

    .h-\[13px\] {
        height: 13px
    }

    .h-\[44px\] {
        height: 44px
    }

    .h-\[52px\] {
        height: 52px
    }

    .h-\[70vh\] {
        height: 70vh
    }

    .h-\[110\%\] {
        height: 110%
    }

    .h-\[120\%\] {
        height: 120%
    }

    .h-\[130\%\] {
        height: 130%
    }

    .h-\[200px\] {
        height: 200px
    }

    .h-\[400px\] {
        height: 400px
    }

    .h-\[600px\] {
        height: 600px
    }

    .h-\[690px\] {
        height: 690px
    }

    .h-\[calc\(100\%-50px\)\] {
        height: calc(100% - 50px)
    }

    .h-\[calc\(110\%\+40px\)\] {
        height: calc(110% + 40px)
    }

    .h-\[clamp\(60px\,8vw\,128px\)\] {
        height: clamp(60px, 8vw, 128px)
    }

    .h-\[clamp\(600px\,63vw\,972px\)\] {
        height: clamp(600px, 63vw, 972px)
    }

    .h-full {
        height: 100%
    }

    .h-px {
        height: 1px
    }

    .h-screen {
        height: 100vh
    }

    .min-h-\[360px\] {
        min-height: 360px
    }

    .min-h-\[480px\] {
        min-height: 480px
    }

    .min-h-screen {
        min-height: 100vh
    }

    .w-1\.5 {
        width: calc(var(--spacing) * 1.5)
    }

    .w-6 {
        width: calc(var(--spacing) * 6)
    }

    .w-8 {
        width: calc(var(--spacing) * 8)
    }

    .w-10 {
        width: calc(var(--spacing) * 10)
    }

    .w-12 {
        width: calc(var(--spacing) * 12)
    }

    .w-\[3px\] {
        width: 3px
    }

    .w-\[8px\] {
        width: 8px
    }

    .w-\[13px\] {
        width: 13px
    }

    .w-\[24px\] {
        width: 24px
    }

    .w-\[280px\] {
        width: 280px
    }

    .w-\[520px\] {
        width: 520px
    }

    .w-\[600px\] {
        width: 600px
    }

    .w-\[calc\(100\%\+40px\)\] {
        width: calc(100% + 40px)
    }

    .w-auto {
        width: auto
    }

    .w-full {
        width: 100%
    }

    .w-max {
        width: max-content
    }

    .w-px {
        width: 1px
    }

    .max-w-\[120px\] {
        max-width: 120px
    }

    .max-w-\[320px\] {
        max-width: 320px
    }

    .max-w-\[345px\] {
        max-width: 345px
    }

    .max-w-\[360px\] {
        max-width: 360px
    }

    .max-w-\[400px\] {
        max-width: 400px
    }

    .max-w-\[442px\] {
        max-width: 442px
    }

    .max-w-\[460px\] {
        max-width: 460px
    }

    .max-w-\[500px\] {
        max-width: 500px
    }

    .max-w-\[520px\] {
        max-width: 520px
    }

    .max-w-\[540px\] {
        max-width: 540px
    }

    .max-w-\[560px\] {
        max-width: 560px
    }

    .max-w-\[580px\] {
        max-width: 580px
    }

    .max-w-\[592px\] {
        max-width: 592px
    }

    .max-w-\[600px\] {
        max-width: 600px
    }

    .max-w-\[700px\] {
        max-width: 700px
    }

    .max-w-\[719px\] {
        max-width: 719px
    }

    .max-w-\[800px\] {
        max-width: 800px
    }

    .max-w-\[980px\] {
        max-width: 980px
    }

    .max-w-\[1100px\] {
        max-width: 1100px
    }

    .max-w-\[1280px\] {
        max-width: 1280px
    }

    .max-w-\[1400px\] {
        max-width: 1400px
    }

    .min-w-0 {
        min-width: 0
    }

    .min-w-\[200px\] {
        min-width: 200px
    }

    .flex-1 {
        flex: 1
    }

    .shrink-0 {
        flex-shrink: 0
    }

    .origin-left {
        transform-origin: 0
    }

    .rotate-90 {
        rotate: 90deg
    }

    .cursor-default {
        cursor: default
    }

    .cursor-none {
        cursor: none
    }

    .cursor-pointer {
        cursor: pointer
    }

    .resize {
        resize: both
    }

    .resize-none {
        resize: none
    }

    .grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr))
    }

    .grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .flex-col {
        flex-direction: column
    }

    .items-center {
        align-items: center
    }

    .items-end {
        align-items: flex-end
    }

    .items-start {
        align-items: flex-start
    }

    .items-stretch {
        align-items: stretch
    }

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

    .justify-center {
        justify-content: center
    }

    .justify-end {
        justify-content: flex-end
    }

    .gap-0 {
        gap: 0
    }

    .gap-1\.5 {
        gap: calc(var(--spacing) * 1.5)
    }

    .gap-2 {
        gap: calc(var(--spacing) * 2)
    }

    .gap-2\.5 {
        gap: calc(var(--spacing) * 2.5)
    }

    .gap-3 {
        gap: calc(var(--spacing) * 3)
    }

    .gap-4 {
        gap: calc(var(--spacing) * 4)
    }

    .gap-5 {
        gap: calc(var(--spacing) * 5)
    }

    .gap-6 {
        gap: calc(var(--spacing) * 6)
    }

    .gap-8 {
        gap: calc(var(--spacing) * 8)
    }

    .gap-10 {
        gap: calc(var(--spacing) * 10)
    }

    .gap-12 {
        gap: calc(var(--spacing) * 12)
    }

    .gap-14 {
        gap: calc(var(--spacing) * 14)
    }

    .gap-\[30px\] {
        gap: 30px
    }

    :where(.space-y-3>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start  : calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
        margin-block-end    : calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))
    }

    .self-start {
        align-self: flex-start
    }

    .overflow-hidden {
        overflow: hidden
    }

    .overflow-x-hidden {
        overflow-x: hidden
    }

    .rounded-2xl {
        border-radius: var(--radius-2xl)
    }

    .rounded-\[14px\] {
        border-radius: 14px
    }

    .rounded-\[28px\] {
        border-radius: 28px
    }

    .rounded-full {
        border-radius: 3.40282e38px
    }

    .rounded-xl {
        border-radius: var(--radius-xl)
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .border-y {
        border-block-style: var(--tw-border-style);
        border-block-width: 1px
    }

    .border-t {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .border-b {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .border-\[\#e5e5ea\] {
        border-color: #e5e5ea
    }

    .border-\[rgba\(150\,138\,182\,0\.2\)\] {
        border-color: #968ab633
    }

    .border-\[rgba\(150\,138\,182\,0\.3\)\] {
        border-color: #968ab64d
    }

    .border-\[rgba\(150\,138\,182\,0\.15\)\] {
        border-color: #968ab626
    }

    .border-\[rgba\(255\,255\,255\,0\.1\)\] {
        border-color: #ffffff1a
    }

    .border-\[rgba\(255\,255\,255\,0\.06\)\] {
        border-color: #ffffff0f
    }

    .border-\[rgba\(255\,255\,255\,0\.08\)\] {
        border-color: #ffffff14
    }

    .border-brand\/15 {
        border-color: #968ab626
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-brand\/15 {
            border-color: color-mix(in oklab, var(--color-brand) 15%, transparent)
        }
    }

    .border-white\/10 {
        border-color: #ffffff1a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-white\/10 {
            border-color: color-mix(in oklab, var(--color-white) 10%, transparent)
        }
    }

    .border-white\/15 {
        border-color: #ffffff26
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-white\/15 {
            border-color: color-mix(in oklab, var(--color-white) 15%, transparent)
        }
    }

    .border-white\/20 {
        border-color: #fff3
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-white\/20 {
            border-color: color-mix(in oklab, var(--color-white) 20%, transparent)
        }
    }

    .border-white\/\[0\.06\] {
        border-color: #ffffff0f
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-white\/\[0\.06\] {
            border-color: color-mix(in oklab, var(--color-white) 6%, transparent)
        }
    }

    .border-white\/\[0\.07\] {
        border-color: #ffffff12
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-white\/\[0\.07\] {
            border-color: color-mix(in oklab, var(--color-white) 7.0%, transparent)
        }
    }

    .border-white\/\[0\.08\] {
        border-color: #ffffff14
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-white\/\[0\.08\] {
            border-color: color-mix(in oklab, var(--color-white) 8%, transparent)
        }
    }

    .bg-\[\#0a0a0a\] {
        background-color: #0a0a0a
    }

    .bg-\[\#0d0d0d\] {
        background-color: #0d0d0d
    }

    .bg-\[\#111\] {
        background-color: #111
    }

    .bg-\[\#968ab6\] {
        background-color: #968ab6
    }

    .bg-\[\#e5e5ea\] {
        background-color: #e5e5ea
    }

    .bg-\[rgb\(10\,8\,20\)\] {
        background-color: #0a0814
    }

    .bg-\[rgba\(150\,138\,182\,0\.1\)\] {
        background-color: #968ab61a
    }

    .bg-\[rgba\(150\,138\,182\,0\.4\)\] {
        background-color: #968ab666
    }

    .bg-\[rgba\(150\,138\,182\,0\.5\)\] {
        background-color: #968ab680
    }

    .bg-\[rgba\(150\,138\,182\,0\.15\)\] {
        background-color: #968ab626
    }

    .bg-\[rgba\(255\,255\,255\,0\.1\)\] {
        background-color: #ffffff1a
    }

    .bg-\[rgba\(255\,255\,255\,0\.02\)\] {
        background-color: #ffffff05
    }

    .bg-\[rgba\(255\,255\,255\,0\.03\)\] {
        background-color: #ffffff08
    }

    .bg-\[rgba\(255\,255\,255\,0\.05\)\] {
        background-color: #ffffff0d
    }

    .bg-black {
        background-color: var(--color-black)
    }

    .bg-black\/20 {
        background-color: #0003
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/20 {
            background-color: color-mix(in oklab, var(--color-black) 20%, transparent)
        }
    }

    .bg-black\/95 {
        background-color: #000000f2
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/95 {
            background-color: color-mix(in oklab, var(--color-black) 95%, transparent)
        }
    }

    .bg-brand {
        background-color: var(--color-brand)
    }

    .bg-brand-deep {
        background-color: var(--color-brand-deep)
    }

    .bg-brand\/40 {
        background-color: #968ab666
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-brand\/40 {
            background-color: color-mix(in oklab, var(--color-brand) 40%, transparent)
        }
    }

    .bg-brand\/50 {
        background-color: #968ab680
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-brand\/50 {
            background-color: color-mix(in oklab, var(--color-brand) 50%, transparent)
        }
    }

    .bg-transparent {
        background-color: #0000
    }

    .bg-white {
        background-color: var(--color-white)
    }

    .bg-white\/5 {
        background-color: #ffffff0d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/5 {
            background-color: color-mix(in oklab, var(--color-white) 5%, transparent)
        }
    }

    .bg-white\/10 {
        background-color: #ffffff1a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/10 {
            background-color: color-mix(in oklab, var(--color-white) 10%, transparent)
        }
    }

    .bg-white\/20 {
        background-color: #fff3
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/20 {
            background-color: color-mix(in oklab, var(--color-white) 20%, transparent)
        }
    }

    .bg-white\/\[0\.02\] {
        background-color: #ffffff05
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/\[0\.02\] {
            background-color: color-mix(in oklab, var(--color-white) 2%, transparent)
        }
    }

    .bg-white\/\[0\.03\] {
        background-color: #ffffff08
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/\[0\.03\] {
            background-color: color-mix(in oklab, var(--color-white) 3%, transparent)
        }
    }

    .bg-gradient-to-b {
        --tw-gradient-position: to bottom in oklab;
        background-image      : linear-gradient(var(--tw-gradient-stops))
    }

    .bg-gradient-to-l {
        --tw-gradient-position: to left in oklab;
        background-image      : linear-gradient(var(--tw-gradient-stops))
    }

    .bg-gradient-to-r {
        --tw-gradient-position: to right in oklab;
        background-image      : linear-gradient(var(--tw-gradient-stops))
    }

    .bg-gradient-to-t {
        --tw-gradient-position: to top in oklab;
        background-image      : linear-gradient(var(--tw-gradient-stops))
    }

    .bg-\[radial-gradient\(ellipse_60\%_50\%_at_80\%_80\%\,rgba\(108\,92\,231\,0\.06\)_0\%\,transparent_50\%\)\] {
        background-image: radial-gradient(60% 50% at 80% 80%, #6c5ce70f 0%, #0000 50%)
    }

    .bg-\[radial-gradient\(ellipse_80\%_60\%_at_20\%_50\%\,rgba\(150\,138\,182\,0\.08\)_0\%\,transparent_60\%\)\] {
        background-image: radial-gradient(80% 60% at 20%, #968ab614 0%, #0000 60%)
    }

    .from-\[\#111\] {
        --tw-gradient-from : #111;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .from-\[\#968ab6\] {
        --tw-gradient-from : #968ab6;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .from-\[rgba\(10\,8\,20\,0\.6\)\] {
        --tw-gradient-from : #0a081499;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .from-\[rgba\(10\,8\,20\,0\.8\)\] {
        --tw-gradient-from : #0a0814cc;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .from-\[rgba\(17\,17\,17\,0\.95\)\] {
        --tw-gradient-from : #111111f2;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .from-black {
        --tw-gradient-from : var(--color-black);
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .from-black\/60 {
        --tw-gradient-from: #0009
    }

    @supports (color:color-mix(in lab, red, red)) {
        .from-black\/60 {
            --tw-gradient-from: color-mix(in oklab, var(--color-black) 60%, transparent)
        }
    }

    .from-black\/60 {
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .from-black\/85 {
        --tw-gradient-from: #000000d9
    }

    @supports (color:color-mix(in lab, red, red)) {
        .from-black\/85 {
            --tw-gradient-from: color-mix(in oklab, var(--color-black) 85%, transparent)
        }
    }

    .from-black\/85 {
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .from-black\/90 {
        --tw-gradient-from: #000000e6
    }

    @supports (color:color-mix(in lab, red, red)) {
        .from-black\/90 {
            --tw-gradient-from: color-mix(in oklab, var(--color-black) 90%, transparent)
        }
    }

    .from-black\/90 {
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .from-transparent {
        --tw-gradient-from : transparent;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .via-\[\#0a0a0f\] {
        --tw-gradient-via      : #0a0a0f;
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops    : var(--tw-gradient-via-stops)
    }

    .via-\[rgba\(10\,8\,20\,0\.1\)\] {
        --tw-gradient-via      : #0a08141a;
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops    : var(--tw-gradient-via-stops)
    }

    .via-\[rgba\(17\,17\,17\,0\.4\)\] {
        --tw-gradient-via      : #1116;
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops    : var(--tw-gradient-via-stops)
    }

    .via-\[rgba\(150\,138\,182\,0\.2\)\] {
        --tw-gradient-via      : #968ab633;
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops    : var(--tw-gradient-via-stops)
    }

    .via-\[rgba\(150\,138\,182\,0\.5\)\] {
        --tw-gradient-via      : #968ab680;
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops    : var(--tw-gradient-via-stops)
    }

    .via-\[rgba\(150\,138\,182\,0\.25\)\] {
        --tw-gradient-via      : #968ab640;
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops    : var(--tw-gradient-via-stops)
    }

    .via-black\/25 {
        --tw-gradient-via: #00000040
    }

    @supports (color:color-mix(in lab, red, red)) {
        .via-black\/25 {
            --tw-gradient-via: color-mix(in oklab, var(--color-black) 25%, transparent)
        }
    }

    .via-black\/25 {
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops    : var(--tw-gradient-via-stops)
    }

    .via-black\/30 {
        --tw-gradient-via: #0000004d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .via-black\/30 {
            --tw-gradient-via: color-mix(in oklab, var(--color-black) 30%, transparent)
        }
    }

    .via-black\/30 {
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops    : var(--tw-gradient-via-stops)
    }

    .via-black\/40 {
        --tw-gradient-via: #0006
    }

    @supports (color:color-mix(in lab, red, red)) {
        .via-black\/40 {
            --tw-gradient-via: color-mix(in oklab, var(--color-black) 40%, transparent)
        }
    }

    .via-black\/40 {
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops    : var(--tw-gradient-via-stops)
    }

    .via-brand\/40 {
        --tw-gradient-via: #968ab666
    }

    @supports (color:color-mix(in lab, red, red)) {
        .via-brand\/40 {
            --tw-gradient-via: color-mix(in oklab, var(--color-brand) 40%, transparent)
        }
    }

    .via-brand\/40 {
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops    : var(--tw-gradient-via-stops)
    }

    .via-transparent {
        --tw-gradient-via      : transparent;
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
        --tw-gradient-stops    : var(--tw-gradient-via-stops)
    }

    .to-\[\#6c5ce7\] {
        --tw-gradient-to   : #6c5ce7;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .to-\[\#111\] {
        --tw-gradient-to   : #111;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .to-\[rgba\(10\,10\,10\,0\.8\)\] {
        --tw-gradient-to   : #0a0a0acc;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .to-black\/10 {
        --tw-gradient-to: #0000001a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .to-black\/10 {
            --tw-gradient-to: color-mix(in oklab, var(--color-black) 10%, transparent)
        }
    }

    .to-black\/10 {
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .to-black\/20 {
        --tw-gradient-to: #0003
    }

    @supports (color:color-mix(in lab, red, red)) {
        .to-black\/20 {
            --tw-gradient-to: color-mix(in oklab, var(--color-black) 20%, transparent)
        }
    }

    .to-black\/20 {
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .to-transparent {
        --tw-gradient-to   : transparent;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .to-white\/30 {
        --tw-gradient-to: #ffffff4d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .to-white\/30 {
            --tw-gradient-to: color-mix(in oklab, var(--color-white) 30%, transparent)
        }
    }

    .to-white\/30 {
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))
    }

    .object-contain {
        object-fit: contain
    }

    .object-cover {
        object-fit: cover
    }

    .p-5 {
        padding: calc(var(--spacing) * 5)
    }

    .p-6 {
        padding: calc(var(--spacing) * 6)
    }

    .p-7 {
        padding: calc(var(--spacing) * 7)
    }

    .p-8 {
        padding: calc(var(--spacing) * 8)
    }

    .px-4 {
        padding-inline: calc(var(--spacing) * 4)
    }

    .px-5 {
        padding-inline: calc(var(--spacing) * 5)
    }

    .px-6 {
        padding-inline: calc(var(--spacing) * 6)
    }

    .px-7 {
        padding-inline: calc(var(--spacing) * 7)
    }

    .px-8 {
        padding-inline: calc(var(--spacing) * 8)
    }

    .px-\[17px\] {
        padding-inline: 17px
    }

    .px-\[25px\] {
        padding-inline: 25px
    }

    .px-\[80px\] {
        padding-inline: 80px
    }

    .py-2\.5 {
        padding-block: calc(var(--spacing) * 2.5)
    }

    .py-3\.5 {
        padding-block: calc(var(--spacing) * 3.5)
    }

    .py-4 {
        padding-block: calc(var(--spacing) * 4)
    }

    .py-5 {
        padding-block: calc(var(--spacing) * 5)
    }

    .py-6 {
        padding-block: calc(var(--spacing) * 6)
    }

    .py-8 {
        padding-block: calc(var(--spacing) * 8)
    }

    .py-10 {
        padding-block: calc(var(--spacing) * 10)
    }

    .py-14 {
        padding-block: calc(var(--spacing) * 14)
    }

    .py-16 {
        padding-block: calc(var(--spacing) * 16)
    }

    .py-24 {
        padding-block: calc(var(--spacing) * 24)
    }

    .py-28 {
        padding-block: calc(var(--spacing) * 28)
    }

    .py-\[12px\] {
        padding-block: 12px
    }

    .pt-2 {
        padding-top: calc(var(--spacing) * 2)
    }

    .pt-4 {
        padding-top: calc(var(--spacing) * 4)
    }

    .pt-8 {
        padding-top: calc(var(--spacing) * 8)
    }

    .pt-10 {
        padding-top: calc(var(--spacing) * 10)
    }

    .pt-12 {
        padding-top: calc(var(--spacing) * 12)
    }

    .pt-16 {
        padding-top: calc(var(--spacing) * 16)
    }

    .pt-20 {
        padding-top: calc(var(--spacing) * 20)
    }

    .pr-10 {
        padding-right: calc(var(--spacing) * 10)
    }

    .pb-0 {
        padding-bottom: 0
    }

    .pb-2 {
        padding-bottom: calc(var(--spacing) * 2)
    }

    .pb-5 {
        padding-bottom: calc(var(--spacing) * 5)
    }

    .pb-6 {
        padding-bottom: calc(var(--spacing) * 6)
    }

    .pb-8 {
        padding-bottom: calc(var(--spacing) * 8)
    }

    .pb-10 {
        padding-bottom: calc(var(--spacing) * 10)
    }

    .pb-14 {
        padding-bottom: calc(var(--spacing) * 14)
    }

    .pb-16 {
        padding-bottom: calc(var(--spacing) * 16)
    }

    .pb-24 {
        padding-bottom: calc(var(--spacing) * 24)
    }

    .pb-32 {
        padding-bottom: calc(var(--spacing) * 32)
    }

    .pl-10 {
        padding-left: calc(var(--spacing) * 10)
    }

    .pl-\[40px\] {
        padding-left: 40px
    }

    .text-center {
        text-align: center
    }

    .text-left {
        text-align: left
    }

    .font-\[\'Fustat\'\,sans-serif\] {
        font-family: Fustat, sans-serif
    }

    .font-\[\'Poppins\'\,sans-serif\] {
        font-family: Poppins, sans-serif
    }

    .font-\[\'Sofia_Sans_Condensed\'\,sans-serif\] {
        font-family: Sofia Sans Condensed, sans-serif
    }

    .font-accent {
        font-family: var(--font-accent)
    }

    .font-body {
        font-family: var(--font-body)
    }

    .font-display {
        font-family: var(--font-display)
    }

    .font-fustat {
        font-family: var(--font-fustat)
    }

    .font-poppins {
        font-family: var(--font-poppins)
    }

    .font-sofia {
        font-family: var(--font-sofia)
    }

    .text-3xl {
        font-size  : var(--text-3xl);
        line-height: var(--tw-leading, var(--text-3xl--line-height))
    }

    .text-\[10px\] {
        font-size: 10px
    }

    .text-\[11px\] {
        font-size: 11px
    }

    .text-\[12px\] {
        font-size: 12px
    }

    .text-\[13px\] {
        font-size: 13px
    }

    .text-\[14px\] {
        font-size: 14px
    }

    .text-\[15px\] {
        font-size: 15px
    }

    .text-\[16px\] {
        font-size: 16px
    }

    .text-\[17px\] {
        font-size: 17px
    }

    .text-\[18px\] {
        font-size: 18px
    }

    .text-\[20px\] {
        font-size: 20px
    }

    .text-\[22px\] {
        font-size: 22px
    }

    .text-\[24px\] {
        font-size: 24px
    }

    .text-\[26px\] {
        font-size: 26px
    }

    .text-\[28px\] {
        font-size: 28px
    }

    .text-\[40px\] {
        font-size: 40px
    }

    .text-\[140px\] {
        font-size: 140px
    }

    .text-\[200px\] {
        font-size: 200px
    }

    .text-\[220px\] {
        font-size: 220px
    }

    .text-\[clamp\(20px\,2\.4vw\,32px\)\] {
        font-size: clamp(20px, 2.4vw, 32px)
    }

    .text-\[clamp\(22px\,2\.8vw\,36px\)\] {
        font-size: clamp(22px, 2.8vw, 36px)
    }

    .text-\[clamp\(28px\,3\.5vw\,48px\)\] {
        font-size: clamp(28px, 3.5vw, 48px)
    }

    .text-\[clamp\(36px\,4\.7vw\,72px\)\] {
        font-size: clamp(36px, 4.7vw, 72px)
    }

    .text-\[clamp\(36px\,5\.5vw\,72px\)\] {
        font-size: clamp(36px, 5.5vw, 72px)
    }

    .text-\[clamp\(40px\,4\.5vw\,64px\)\] {
        font-size: clamp(40px, 4.5vw, 64px)
    }

    .text-\[clamp\(40px\,10vw\,140px\)\] {
        font-size: clamp(40px, 10vw, 140px)
    }

    .text-\[clamp\(48px\,6vw\,80px\)\] {
        font-size: clamp(48px, 6vw, 80px)
    }

    .text-\[clamp\(48px\,9\.2vw\,140px\)\] {
        font-size: clamp(48px, 9.2vw, 140px)
    }

    .leading-\[0\.9\] {
        --tw-leading: .9;
        line-height : .9
    }

    .leading-\[0\.95\] {
        --tw-leading: .95;
        line-height : .95
    }

    .leading-\[1\.0\] {
        --tw-leading: 1;
        line-height : 1
    }

    .leading-\[1\.1\] {
        --tw-leading: 1.1;
        line-height : 1.1
    }

    .leading-\[1\.2\] {
        --tw-leading: 1.2;
        line-height : 1.2
    }

    .leading-\[1\.3\] {
        --tw-leading: 1.3;
        line-height : 1.3
    }

    .leading-\[1\.5\] {
        --tw-leading: 1.5;
        line-height : 1.5
    }

    .leading-\[1\.6\] {
        --tw-leading: 1.6;
        line-height : 1.6
    }

    .leading-\[1\.7\] {
        --tw-leading: 1.7;
        line-height : 1.7
    }

    .leading-\[1\.8\] {
        --tw-leading: 1.8;
        line-height : 1.8
    }

    .leading-\[1\.75\] {
        --tw-leading: 1.75;
        line-height : 1.75
    }

    .leading-\[1\] {
        --tw-leading: 1;
        line-height : 1
    }

    .leading-\[16\.5px\] {
        --tw-leading: 16.5px;
        line-height : 16.5px
    }

    .leading-\[18px\] {
        --tw-leading: 18px;
        line-height : 18px
    }

    .leading-\[21px\] {
        --tw-leading: 21px;
        line-height : 21px
    }

    .leading-\[22\.4px\] {
        --tw-leading: 22.4px;
        line-height : 22.4px
    }

    .leading-\[23\.8px\] {
        --tw-leading: 23.8px;
        line-height : 23.8px
    }

    .leading-\[25\.5px\] {
        --tw-leading: 25.5px;
        line-height : 25.5px
    }

    .leading-\[27\.2px\] {
        --tw-leading: 27.2px;
        line-height : 27.2px
    }

    .leading-\[140px\] {
        --tw-leading: 140px;
        line-height : 140px
    }

    .leading-\[200px\] {
        --tw-leading: 200px;
        line-height : 200px
    }

    .leading-\[220px\] {
        --tw-leading: 220px;
        line-height : 220px
    }

    .leading-none {
        --tw-leading: 1;
        line-height : 1
    }

    .leading-tight {
        --tw-leading: var(--leading-tight);
        line-height : var(--leading-tight)
    }

    .font-black {
        --tw-font-weight: var(--font-weight-black);
        font-weight     : var(--font-weight-black)
    }

    .font-bold {
        --tw-font-weight: var(--font-weight-bold);
        font-weight     : var(--font-weight-bold)
    }

    .font-extrabold {
        --tw-font-weight: var(--font-weight-extrabold);
        font-weight     : var(--font-weight-extrabold)
    }

    .font-light {
        --tw-font-weight: var(--font-weight-light);
        font-weight     : var(--font-weight-light)
    }

    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight     : var(--font-weight-medium)
    }

    .font-normal {
        --tw-font-weight: var(--font-weight-normal);
        font-weight     : var(--font-weight-normal)
    }

    .font-semibold {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight     : var(--font-weight-semibold)
    }

    .tracking-\[-0\.01em\] {
        --tw-tracking : -.01em;
        letter-spacing: -.01em
    }

    .tracking-\[-0\.02em\] {
        --tw-tracking : -.02em;
        letter-spacing: -.02em
    }

    .tracking-\[-0\.03em\] {
        --tw-tracking : -.03em;
        letter-spacing: -.03em
    }

    .tracking-\[-0\.04em\] {
        --tw-tracking : -.04em;
        letter-spacing: -.04em
    }

    .tracking-\[0\.2px\] {
        --tw-tracking : .2px;
        letter-spacing: .2px
    }

    .tracking-\[0\.3px\] {
        --tw-tracking : .3px;
        letter-spacing: .3px
    }

    .tracking-\[0\.5px\] {
        --tw-tracking : .5px;
        letter-spacing: .5px
    }

    .tracking-\[0\.6px\] {
        --tw-tracking : .6px;
        letter-spacing: .6px
    }

    .tracking-\[1\.1px\] {
        --tw-tracking : 1.1px;
        letter-spacing: 1.1px
    }

    .tracking-\[1\.2px\] {
        --tw-tracking : 1.2px;
        letter-spacing: 1.2px
    }

    .tracking-\[1\.3px\] {
        --tw-tracking : 1.3px;
        letter-spacing: 1.3px
    }

    .tracking-\[1\.5px\] {
        --tw-tracking : 1.5px;
        letter-spacing: 1.5px
    }

    .tracking-\[1\.95px\] {
        --tw-tracking : 1.95px;
        letter-spacing: 1.95px
    }

    .tracking-\[1px\] {
        --tw-tracking : 1px;
        letter-spacing: 1px
    }

    .tracking-\[2\.2px\] {
        --tw-tracking : 2.2px;
        letter-spacing: 2.2px
    }

    .tracking-\[2\.4px\] {
        --tw-tracking : 2.4px;
        letter-spacing: 2.4px
    }

    .tracking-\[2\.5px\] {
        --tw-tracking : 2.5px;
        letter-spacing: 2.5px
    }

    .tracking-\[2px\] {
        --tw-tracking : 2px;
        letter-spacing: 2px
    }

    .tracking-\[3\.3px\] {
        --tw-tracking : 3.3px;
        letter-spacing: 3.3px
    }

    .tracking-\[3\.6px\] {
        --tw-tracking : 3.6px;
        letter-spacing: 3.6px
    }

    .tracking-\[3\.9px\] {
        --tw-tracking : 3.9px;
        letter-spacing: 3.9px
    }

    .tracking-\[3\.85px\] {
        --tw-tracking : 3.85px;
        letter-spacing: 3.85px
    }

    .tracking-\[3px\] {
        --tw-tracking : 3px;
        letter-spacing: 3px
    }

    .tracking-tight {
        --tw-tracking : var(--tracking-tight);
        letter-spacing: var(--tracking-tight)
    }

    .tracking-widest {
        --tw-tracking : var(--tracking-widest);
        letter-spacing: var(--tracking-widest)
    }

    .whitespace-nowrap {
        white-space: nowrap
    }

    .text-\[\#968ab6\] {
        color: #968ab6
    }

    .text-\[\#968ab6\]\/\[0\.08\] {
        color: oklab(65.9704% .0299134 -.0585331/.08)
    }

    .text-\[rgba\(150\,138\,182\,0\.7\)\] {
        color: #968ab6b3
    }

    .text-\[rgba\(150\,138\,182\,0\.8\)\] {
        color: #968ab6cc
    }

    .text-\[rgba\(150\,138\,182\,1\)\] {
        color: #968ab6
    }

    .text-\[rgba\(255\,255\,255\,0\.4\)\] {
        color: #fff6
    }

    .text-\[rgba\(255\,255\,255\,0\.5\)\] {
        color: #ffffff80
    }

    .text-\[rgba\(255\,255\,255\,0\.45\)\] {
        color: #ffffff73
    }

    .text-\[rgba\(255\,255\,255\,0\.55\)\] {
        color: #ffffff8c
    }

    .text-brand {
        color: var(--color-brand)
    }

    .text-brand\/30 {
        color: #968ab64d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-brand\/30 {
            color: color-mix(in oklab, var(--color-brand) 30%, transparent)
        }
    }

    .text-brand\/80 {
        color: #968ab6cc
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-brand\/80 {
            color: color-mix(in oklab, var(--color-brand) 80%, transparent)
        }
    }

    .text-white {
        color: var(--color-white)
    }

    .text-white\/25 {
        color: #ffffff40
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/25 {
            color: color-mix(in oklab, var(--color-white) 25%, transparent)
        }
    }

    .text-white\/30 {
        color: #ffffff4d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/30 {
            color: color-mix(in oklab, var(--color-white) 30%, transparent)
        }
    }

    .text-white\/35 {
        color: #ffffff59
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/35 {
            color: color-mix(in oklab, var(--color-white) 35%, transparent)
        }
    }

    .text-white\/40 {
        color: #fff6
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/40 {
            color: color-mix(in oklab, var(--color-white) 40%, transparent)
        }
    }

    .text-white\/45 {
        color: #ffffff73
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/45 {
            color: color-mix(in oklab, var(--color-white) 45%, transparent)
        }
    }

    .text-white\/50 {
        color: #ffffff80
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/50 {
            color: color-mix(in oklab, var(--color-white) 50%, transparent)
        }
    }

    .text-white\/55 {
        color: #ffffff8c
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/55 {
            color: color-mix(in oklab, var(--color-white) 55%, transparent)
        }
    }

    .text-white\/60 {
        color: #fff9
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/60 {
            color: color-mix(in oklab, var(--color-white) 60%, transparent)
        }
    }

    .text-white\/70 {
        color: #ffffffb3
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/70 {
            color: color-mix(in oklab, var(--color-white) 70%, transparent)
        }
    }

    .text-white\/80 {
        color: #fffc
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/80 {
            color: color-mix(in oklab, var(--color-white) 80%, transparent)
        }
    }

    .text-white\/85 {
        color: #ffffffd9
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/85 {
            color: color-mix(in oklab, var(--color-white) 85%, transparent)
        }
    }

    .text-white\/95 {
        color: #fffffff2
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/95 {
            color: color-mix(in oklab, var(--color-white) 95%, transparent)
        }
    }

    .text-white\/\[0\.06\] {
        color: #ffffff0f
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/\[0\.06\] {
            color: color-mix(in oklab, var(--color-white) 6%, transparent)
        }
    }

    .uppercase {
        text-transform: uppercase
    }

    .italic {
        font-style: italic
    }

    .ordinal {
        --tw-ordinal        : ordinal;
        font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )
    }

    .tabular-nums {
        --tw-numeric-spacing: tabular-nums;
        font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )
    }

    .underline {
        text-decoration-line: underline
    }

    .placeholder-white\/25::placeholder {
        color: #ffffff40
    }

    @supports (color:color-mix(in lab, red, red)) {
        .placeholder-white\/25::placeholder {
            color: color-mix(in oklab, var(--color-white) 25%, transparent)
        }
    }

    .opacity-0 {
        opacity: 0
    }

    .opacity-10 {
        opacity: .1
    }

    .opacity-60 {
        opacity: .6
    }

    .opacity-80 {
        opacity: .8
    }

    .opacity-100 {
        opacity: 1
    }

    .opacity-\[0\.4\] {
        opacity: .4
    }

    .opacity-\[0\.07\] {
        opacity: .07
    }

    .mix-blend-difference {
        mix-blend-mode: difference
    }

    .blur {
        --tw-blur: blur(8px);
        filter   : var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )
    }

    .backdrop-blur-md {
        --tw-backdrop-blur     : blur(var(--blur-md));
        -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
        backdrop-filter        : var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )
    }

    .transition-\[box-shadow\] {
        transition-property       : box-shadow;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration       : var(--tw-duration, var(--default-transition-duration))
    }

    .transition-all {
        transition-property       : all;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration       : var(--tw-duration, var(--default-transition-duration))
    }

    .transition-colors {
        transition-property       : color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration       : var(--tw-duration, var(--default-transition-duration))
    }

    .transition-opacity {
        transition-property       : opacity;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration       : var(--tw-duration, var(--default-transition-duration))
    }

    .transition-transform {
        transition-property       : transform, translate, scale, rotate;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration       : var(--tw-duration, var(--default-transition-duration))
    }

    .duration-100 {
        --tw-duration      : .1s;
        transition-duration: .1s
    }

    .duration-300 {
        --tw-duration      : .3s;
        transition-duration: .3s
    }

    .duration-400 {
        --tw-duration      : .4s;
        transition-duration: .4s
    }

    .duration-500 {
        --tw-duration      : .5s;
        transition-duration: .5s
    }

    .duration-700 {
        --tw-duration      : .7s;
        transition-duration: .7s
    }

    .outline-none {
        --tw-outline-style: none;
        outline-style     : none
    }

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

    @media (hover:hover) {
        .group-hover\:-translate-x-1:is(:where(.group):hover *) {
            --tw-translate-x: calc(var(--spacing) * -1);
            translate       : var(--tw-translate-x) var(--tw-translate-y)
        }

        .group-hover\:translate-x-1:is(:where(.group):hover *) {
            --tw-translate-x: var(--spacing);
            translate       : var(--tw-translate-x) var(--tw-translate-y)
        }

        .group-hover\:-translate-y-\[4px\]:is(:where(.group):hover *) {
            --tw-translate-y: calc(4px * -1);
            translate       : var(--tw-translate-x) var(--tw-translate-y)
        }

        .group-hover\:scale-105:is(:where(.group):hover *) {
            --tw-scale-x: 105%;
            --tw-scale-y: 105%;
            --tw-scale-z: 105%;
            scale       : var(--tw-scale-x) var(--tw-scale-y)
        }

        .group-hover\:scale-110:is(:where(.group):hover *) {
            --tw-scale-x: 110%;
            --tw-scale-y: 110%;
            --tw-scale-z: 110%;
            scale       : var(--tw-scale-x) var(--tw-scale-y)
        }

        .group-hover\:scale-\[1\.04\]:is(:where(.group):hover *) {
            scale: 1.04
        }

        .group-hover\:rotate-6:is(:where(.group):hover *) {
            rotate: 6deg
        }

        .group-hover\:border-brand\/60:is(:where(.group):hover *) {
            border-color: #968ab699
        }

        @supports (color:color-mix(in lab, red, red)) {
            .group-hover\:border-brand\/60:is(:where(.group):hover *) {
                border-color: color-mix(in oklab, var(--color-brand) 60%, transparent)
            }
        }

        .group-hover\:text-white:is(:where(.group):hover *) {
            color: var(--color-white)
        }

        .group-hover\:opacity-100:is(:where(.group):hover *) {
            opacity: 1
        }

        .group-hover\/link\:translate-x-\[2px\]:is(:where(.group\/link):hover *) {
            --tw-translate-x: 2px;
            translate       : var(--tw-translate-x) var(--tw-translate-y)
        }
    }

    .group-focus-visible\:scale-110:is(:where(.group):focus-visible *) {
        --tw-scale-x: 110%;
        --tw-scale-y: 110%;
        --tw-scale-z: 110%;
        scale       : var(--tw-scale-x) var(--tw-scale-y)
    }

    @media (hover:hover) {
        .hover\:translate-x-\[4px\]:hover {
            --tw-translate-x: 4px;
            translate       : var(--tw-translate-x) var(--tw-translate-y)
        }

        .hover\:translate-x-\[5px\]:hover {
            --tw-translate-x: 5px;
            translate       : var(--tw-translate-x) var(--tw-translate-y)
        }

        .hover\:scale-105:hover {
            --tw-scale-x: 105%;
            --tw-scale-y: 105%;
            --tw-scale-z: 105%;
            scale       : var(--tw-scale-x) var(--tw-scale-y)
        }

        .hover\:border-\[\#968ab6\]:hover {
            border-color: #968ab6
        }

        .hover\:border-\[rgba\(150\,138\,182\,0\.3\)\]:hover {
            border-color: #968ab64d
        }

        .hover\:border-\[rgba\(150\,138\,182\,0\.4\)\]:hover {
            border-color: #968ab666
        }

        .hover\:border-\[rgba\(150\,138\,182\,0\.5\)\]:hover {
            border-color: #968ab680
        }

        .hover\:border-\[rgba\(150\,138\,182\,0\.6\)\]:hover {
            border-color: #968ab699
        }

        .hover\:border-\[rgba\(255\,255\,255\,0\.14\)\]:hover {
            border-color: #ffffff24
        }

        .hover\:border-white\/40:hover {
            border-color: #fff6
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:border-white\/40:hover {
                border-color: color-mix(in oklab, var(--color-white) 40%, transparent)
            }
        }

        .hover\:bg-\[rgba\(150\,138\,182\,0\.08\)\]:hover {
            background-color: #968ab614
        }

        .hover\:bg-\[rgba\(255\,255\,255\,0\.04\)\]:hover {
            background-color: #ffffff0a
        }

        .hover\:text-\[\#968ab6\]:hover {
            color: #968ab6
        }

        .hover\:text-white:hover {
            color: var(--color-white)
        }

        .hover\:text-white\/60:hover {
            color: #fff9
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:text-white\/60:hover {
                color: color-mix(in oklab, var(--color-white) 60%, transparent)
            }
        }

        .hover\:text-white\/80:hover {
            color: #fffc
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:text-white\/80:hover {
                color: color-mix(in oklab, var(--color-white) 80%, transparent)
            }
        }

        .hover\:text-white\/90:hover {
            color: #ffffffe6
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:text-white\/90:hover {
                color: color-mix(in oklab, var(--color-white) 90%, transparent)
            }
        }
    }

    .active\:scale-90:active {
        --tw-scale-x: 90%;
        --tw-scale-y: 90%;
        --tw-scale-z: 90%;
        scale       : var(--tw-scale-x) var(--tw-scale-y)
    }

    .active\:scale-95:active {
        --tw-scale-x: 95%;
        --tw-scale-y: 95%;
        --tw-scale-z: 95%;
        scale       : var(--tw-scale-x) var(--tw-scale-y)
    }

    @media not all and (min-width:64rem) {
        .max-lg\:hidden {
            display: none
        }

        .max-lg\:w-\[75vw\] {
            width: 75vw
        }

        .max-lg\:max-w-full {
            max-width: 100%
        }

        .max-lg\:flex-col {
            flex-direction: column
        }

        .max-lg\:gap-4 {
            gap: calc(var(--spacing) * 4)
        }

        .max-lg\:pr-4 {
            padding-right: calc(var(--spacing) * 4)
        }

        .max-lg\:pl-4 {
            padding-left: calc(var(--spacing) * 4)
        }
    }

    @media not all and (min-width:48rem) {
        .max-md\:relative {
            position: relative
        }

        .max-md\:flex {
            display: flex
        }

        .max-md\:hidden {
            display: none
        }

        .max-md\:h-\[85vw\] {
            height: 85vw
        }

        .max-md\:h-auto {
            height: auto
        }

        .max-md\:cursor-pointer {
            cursor: pointer
        }

        .max-md\:flex-col {
            flex-direction: column
        }

        .max-md\:items-start {
            align-items: flex-start
        }

        .max-md\:justify-start {
            justify-content: flex-start
        }

        .max-md\:gap-6 {
            gap: calc(var(--spacing) * 6)
        }

        .max-md\:bg-black {
            background-color: var(--color-black)
        }

        .max-md\:px-6 {
            padding-inline: calc(var(--spacing) * 6)
        }

        .max-md\:py-12 {
            padding-block: calc(var(--spacing) * 12)
        }

        .max-md\:pt-6 {
            padding-top: calc(var(--spacing) * 6)
        }
    }

    @media not all and (min-width:40rem) {
        .max-sm\:hidden {
            display: none
        }
    }

    @media (min-width:40rem) {
        .sm\:flex {
            display: flex
        }

        .sm\:h-\[600px\] {
            height: 600px
        }

        .sm\:w-auto {
            width: auto
        }

        .sm\:grid-cols-2 {
            grid-template-columns: repeat(2, minmax(0, 1fr))
        }

        .sm\:flex-row {
            flex-direction: row
        }

        .sm\:items-center {
            align-items: center
        }

        .sm\:items-end {
            align-items: flex-end
        }

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

        .sm\:justify-start {
            justify-content: flex-start
        }

        .sm\:text-right {
            text-align: right
        }
    }

    @media (min-width:48rem) {
        .md\:absolute {
            position: absolute
        }

        .md\:inset-0 {
            inset: 0
        }

        .md\:left-16 {
            left: calc(var(--spacing) * 16)
        }

        .md\:mb-20 {
            margin-bottom: calc(var(--spacing) * 20)
        }

        .md\:mb-28 {
            margin-bottom: calc(var(--spacing) * 28)
        }

        .md\:flex {
            display: flex
        }

        .md\:hidden {
            display: none
        }

        .md\:h-11 {
            height: calc(var(--spacing) * 11)
        }

        .md\:h-\[280px\] {
            height: 280px
        }

        .md\:w-\[220px\] {
            width: 220px
        }

        .md\:w-\[430px\] {
            width: 430px
        }

        .md\:grid-cols-3 {
            grid-template-columns: repeat(3, minmax(0, 1fr))
        }

        .md\:flex-row {
            flex-direction: row
        }

        .md\:items-end {
            align-items: flex-end
        }

        .md\:gap-6 {
            gap: calc(var(--spacing) * 6)
        }

        .md\:gap-16 {
            gap: calc(var(--spacing) * 16)
        }

        .md\:p-6 {
            padding: calc(var(--spacing) * 6)
        }

        .md\:p-8 {
            padding: calc(var(--spacing) * 8)
        }

        .md\:p-10 {
            padding: calc(var(--spacing) * 10)
        }

        .md\:px-8 {
            padding-inline: calc(var(--spacing) * 8)
        }

        .md\:px-10 {
            padding-inline: calc(var(--spacing) * 10)
        }

        .md\:px-12 {
            padding-inline: calc(var(--spacing) * 12)
        }

        .md\:px-16 {
            padding-inline: calc(var(--spacing) * 16)
        }

        .md\:px-20 {
            padding-inline: calc(var(--spacing) * 20)
        }

        .md\:py-6 {
            padding-block: calc(var(--spacing) * 6)
        }

        .md\:py-20 {
            padding-block: calc(var(--spacing) * 20)
        }

        .md\:py-32 {
            padding-block: calc(var(--spacing) * 32)
        }

        .md\:py-40 {
            padding-block: calc(var(--spacing) * 40)
        }

        .md\:pt-\[128px\] {
            padding-top: 128px
        }

        .md\:pb-32 {
            padding-bottom: calc(var(--spacing) * 32)
        }

        .md\:pb-\[80px\] {
            padding-bottom: 80px
        }

        .md\:pl-\[52px\] {
            padding-left: 52px
        }

        .md\:text-\[14px\] {
            font-size: 14px
        }

        .md\:text-\[17px\] {
            font-size: 17px
        }

        .md\:text-\[18px\] {
            font-size: 18px
        }

        .md\:text-\[20px\] {
            font-size: 20px
        }

        .md\:text-\[24px\] {
            font-size: 24px
        }

        .md\:text-\[28px\] {
            font-size: 28px
        }

        .md\:text-\[52px\] {
            font-size: 52px
        }
    }

    @media (min-width:64rem) {
        .lg\:sticky {
            position: sticky
        }

        .lg\:top-32 {
            top: calc(var(--spacing) * 32)
        }

        .lg\:mt-0 {
            margin-top: 0
        }

        .lg\:mt-1 {
            margin-top: var(--spacing)
        }

        .lg\:mb-0 {
            margin-bottom: 0
        }

        .lg\:h-\[800px\] {
            height: 800px
        }

        .lg\:w-\[42\%\] {
            width: 42%
        }

        .lg\:w-\[45\%\] {
            width: 45%
        }

        .lg\:w-\[55\%\] {
            width: 55%
        }

        .lg\:w-\[58\%\] {
            width: 58%
        }

        .lg\:grid-cols-4 {
            grid-template-columns: repeat(4, minmax(0, 1fr))
        }

        .lg\:grid-cols-\[1fr_1\.15fr_auto\] {
            grid-template-columns: 1fr 1.15fr auto
        }

        .lg\:flex-row {
            flex-direction: row
        }

        .lg\:flex-row-reverse {
            flex-direction: row-reverse
        }

        .lg\:items-end {
            align-items: flex-end
        }

        .lg\:items-start {
            align-items: flex-start
        }

        .lg\:gap-10 {
            gap: calc(var(--spacing) * 10)
        }

        .lg\:gap-16 {
            gap: calc(var(--spacing) * 16)
        }

        .lg\:gap-24 {
            gap: calc(var(--spacing) * 24)
        }

        .lg\:pt-\[100px\] {
            padding-top: 100px
        }
    }
}

:root {
    --brand-rgb    : 150, 138, 182;
    --brand-alt-rgb: 108, 92, 231;
    --ink-deep-rgb : 10, 8, 20
}

@keyframes marquee {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-50%)
    }
}

.marquee-track {
    will-change: transform;
    align-items: center;
    width      : max-content;
    animation  : 40s linear infinite marquee;
    display    : flex
}

.marquee-wrap:hover .marquee-track {
    animation-play-state: paused
}

[data-reveal],
.animate-on-scroll {
    opacity    : 0;
    will-change: opacity, transform;
    transition : opacity .8s cubic-bezier(.25, .46, .45, .94), transform .8s cubic-bezier(.25, .46, .45, .94);
    transform  : translateY(60px)
}

.animate-on-scroll.in {
    opacity  : 1;
    transform: none
}

[data-reveal=left] {
    transform: translate(-60px)
}

[data-reveal=right] {
    transform: translate(60px)
}

[data-reveal=none] {
    transform: none
}

[data-reveal=scale] {
    transform: scale(.95)
}

[data-reveal].in {
    opacity  : 1;
    transform: none
}

.reason-row .reason-arrow {
    rotate: 0deg
}

.reason-row.active .reason-arrow,
.reason-row.is-active .reason-arrow {
    rotate: 90deg
}

.reason-arrow {
    transition: rotate .4s
}

#reasons-list .reason-row {
    background-color: #ffffff05;
    border-color    : #ffffff0f
}

#reasons-list .reason-row.active,
#reasons-list .reason-row.is-active {
    background-color: rgba(var(--brand-rgb), .06);
    border-color    : rgba(var(--brand-rgb), .3)
}

#reason-dots .reason-dot,
#reason-dots-container .reason-dot {
    cursor: pointer;
    width : 12px
}

#reason-dots .reason-dot.active,
#reason-dots-container .reason-dot.active {
    background-color: rgba(var(--brand-rgb), 1);
    width           : 32px
}

#reasons-list .reason-content {
    padding-bottom: 0;
    transition    : padding-bottom .4s, grid-template-rows .4s cubic-bezier(.25, .46, .45, .94), opacity .4s
}

#reasons-list .reason-row.active .reason-content,
#reasons-list .reason-row.is-active .reason-content {
    padding-bottom: 1.5rem
}

.work-split-scrim {
    background: linear-gradient(90deg, #0000 0% 50%, #0a0a0acc 100%)
}

.work-split-num {
    left : 2.5rem;
    right: auto
}

@media (min-width:1024px) {
    .work-split-row:nth-child(2n of .work-split-row) {
        flex-direction: row-reverse
    }

    .work-split-row:nth-child(2n of .work-split-row) .work-split-scrim {
        background: linear-gradient(270deg, #0000 0% 50%, #0a0a0acc 100%)
    }

    .work-split-row:nth-child(2n of .work-split-row) .work-split-num {
        left : auto;
        right: 2.5rem
    }

    .work-split-row:nth-child(2n of .work-split-row) [data-reveal=left] {
        transform: translate(60px)
    }

    .work-split-row:nth-child(2n of .work-split-row) [data-reveal=left].in {
        transform: none
    }
}

@keyframes fadeUp {
    0% {
        opacity  : 0;
        transform: translateY(30px)
    }

    to {
        opacity  : 1;
        transform: none
    }
}

@keyframes fadeDown {
    0% {
        opacity  : 0;
        transform: translateY(-20px)
    }

    to {
        opacity  : 1;
        transform: none
    }
}

@keyframes rise {
    0% {
        transform: translateY(200px)
    }

    to {
        transform: none
    }
}

.anim-fade-up {
    opacity        : 0;
    animation      : .8s cubic-bezier(.25, .46, .45, .94) forwards fadeUp;
    animation-delay: var(--d, 0s)
}

.anim-fade-down {
    opacity        : 0;
    animation      : .5s forwards fadeDown;
    animation-delay: var(--d, 0s)
}

.anim-rise {
    animation      : 1s cubic-bezier(.25, .46, .45, .94) forwards rise;
    animation-delay: var(--d, 0s);
    transform      : translateY(200px)
}

.d-1 {
    --d: .1s
}

.d-2 {
    --d: .2s
}

.d-3 {
    --d: .3s
}

.d-4 {
    --d: .4s
}

.d-5 {
    --d: .5s
}

.d-6 {
    --d: .6s
}

.d-7 {
    --d: .7s
}

.d-8 {
    --d: .8s
}

.d-9 {
    --d: .9s
}

.d-10 {
    --d: 1s
}

.d-11 {
    --d: 1.1s
}

.d-12 {
    --d: 1.2s
}

.d-13 {
    --d: 1.3s
}

.d-14 {
    --d: 1.4s
}

.d-15 {
    --d: 1.5s
}

.d-16 {
    --d: 1.6s
}

@keyframes floaty {

    0%,
    to {
        opacity  : var(--o0, .1);
        transform: translateY(0)
    }

    50% {
        opacity  : var(--o1, .5);
        transform: translateY(-30px)
    }
}

.particle,
.tech-particle,
.why-particle {
    background     : rgba(var(--brand-rgb), .3);
    width          : var(--sz, 4px);
    height         : var(--sz, 4px);
    left           : var(--x, 50%);
    top            : var(--y, 50%);
    opacity        : var(--o0, .1);
    animation      : floaty var(--dur, 5s) ease-in-out infinite;
    animation-delay: var(--dl, 0s);
    will-change    : transform, opacity;
    border-radius  : 9999px;
    position       : absolute
}

.particle:first-child {
    --x  : 7%;
    --y  : 18%;
    --sz : 4px;
    --dur: 4.2s;
    --dl : .3s;
    --o1 : .45
}

.particle:nth-child(2) {
    --x  : 22%;
    --y  : 71%;
    --sz : 6px;
    --dur: 5.6s;
    --dl : 1.2s;
    --o1 : .38
}

.particle:nth-child(3) {
    --x  : 39%;
    --y  : 12%;
    --sz : 3px;
    --dur: 3.4s;
    --dl : .8s;
    --o1 : .5
}

.particle:nth-child(4) {
    --x  : 55%;
    --y  : 46%;
    --sz : 5px;
    --dur: 6.1s;
    --dl : 2.1s;
    --o1 : .32
}

.particle:nth-child(5) {
    --x  : 68%;
    --y  : 83%;
    --sz : 4px;
    --dur: 4.8s;
    --dl : .1s;
    --o1 : .44
}

.particle:nth-child(6) {
    --x  : 81%;
    --y  : 27%;
    --sz : 7px;
    --dur: 5.2s;
    --dl : 1.7s;
    --o1 : .3
}

.particle:nth-child(7) {
    --x  : 93%;
    --y  : 62%;
    --sz : 3px;
    --dur: 3.9s;
    --dl : .6s;
    --o1 : .48
}

.particle:nth-child(8) {
    --x  : 14%;
    --y  : 39%;
    --sz : 5px;
    --dur: 6.4s;
    --dl : 2.6s;
    --o1 : .35
}

.particle:nth-child(9) {
    --x  : 30%;
    --y  : 92%;
    --sz : 4px;
    --dur: 4.5s;
    --dl : 1.1s;
    --o1 : .42
}

.particle:nth-child(10) {
    --x  : 47%;
    --y  : 24%;
    --sz : 6px;
    --dur: 5.9s;
    --dl : .4s;
    --o1 : .36
}

.particle:nth-child(11) {
    --x  : 61%;
    --y  : 68%;
    --sz : 3px;
    --dur: 3.6s;
    --dl : 1.9s;
    --o1 : .5
}

.particle:nth-child(12) {
    --x  : 75%;
    --y  : 9%;
    --sz : 5px;
    --dur: 6.8s;
    --dl : .9s;
    --o1 : .33
}

.particle:nth-child(13) {
    --x  : 88%;
    --y  : 51%;
    --sz : 4px;
    --dur: 4.1s;
    --dl : 2.3s;
    --o1 : .46
}

.particle:nth-child(14) {
    --x  : 3%;
    --y  : 78%;
    --sz : 6px;
    --dur: 5.4s;
    --dl : 1.4s;
    --o1 : .34
}

.particle:nth-child(15) {
    --x  : 34%;
    --y  : 55%;
    --sz : 3px;
    --dur: 3.2s;
    --dl : .2s;
    --o1 : .52
}

.particle:nth-child(16) {
    --x  : 50%;
    --y  : 87%;
    --sz : 5px;
    --dur: 6.6s;
    --dl : 2.8s;
    --o1 : .31
}

.particle:nth-child(17) {
    --x  : 66%;
    --y  : 33%;
    --sz : 4px;
    --dur: 4.7s;
    --dl : .7s;
    --o1 : .43
}

.particle:nth-child(18) {
    --x  : 84%;
    --y  : 74%;
    --sz : 7px;
    --dur: 5.1s;
    --dl : 1.6s;
    --o1 : .29
}

.particle:nth-child(19) {
    --x  : 18%;
    --y  : 5%;
    --sz : 3px;
    --dur: 3.8s;
    --dl : 2.4s;
    --o1 : .49
}

.particle:nth-child(20) {
    --x  : 97%;
    --y  : 41%;
    --sz : 5px;
    --dur: 6.2s;
    --dl : 1s;
    --o1 : .37
}

.tech-particle.p1 {
    --x  : 7%;
    --y  : 18%;
    --sz : 4px;
    --dur: 4.2s;
    --dl : .3s;
    --o1 : .45
}

.tech-particle.p2 {
    --x  : 22%;
    --y  : 71%;
    --sz : 6px;
    --dur: 5.6s;
    --dl : 1.2s;
    --o1 : .38
}

.tech-particle.p3 {
    --x  : 39%;
    --y  : 12%;
    --sz : 3px;
    --dur: 3.4s;
    --dl : .8s;
    --o1 : .5
}

.tech-particle.p4 {
    --x  : 55%;
    --y  : 46%;
    --sz : 5px;
    --dur: 6.1s;
    --dl : 2.1s;
    --o1 : .32
}

.tech-particle.p5 {
    --x  : 68%;
    --y  : 83%;
    --sz : 4px;
    --dur: 4.8s;
    --dl : .1s;
    --o1 : .44
}

.why-particle.p1 {
    --x  : 14%;
    --y  : 22%;
    --sz : 5px;
    --dur: 5.6s;
    --dl : .4s;
    --o1 : .4
}

.why-particle.p2 {
    --x  : 38%;
    --y  : 74%;
    --sz : 3px;
    --dur: 4.2s;
    --dl : 1.3s;
    --o1 : .48
}

.why-particle.p3 {
    --x  : 67%;
    --y  : 31%;
    --sz : 6px;
    --dur: 6.4s;
    --dl : .9s;
    --o1 : .34
}

.why-particle.p4 {
    --x  : 88%;
    --y  : 66%;
    --sz : 4px;
    --dur: 4.9s;
    --dl : 2.1s;
    --o1 : .44
}

@keyframes glowPulse {

    0%,
    to {
        opacity  : .1;
        transform: scale(1)
    }

    50% {
        opacity  : .15;
        transform: scale(1.2)
    }
}

@keyframes bounceY {

    0%,
    to {
        transform: translate(-50%)
    }

    50% {
        transform: translate(-50%, 8px)
    }
}

.hero-glow {
    animation: 8s ease-in-out infinite glowPulse
}

.scroll-indicator {
    animation: 2s ease-in-out infinite bounceY
}

@keyframes nudgeX {

    0%,
    to {
        transform: translate(0)
    }

    50% {
        transform: translate(4px)
    }
}

.nudge-x {
    animation: 2s ease-in-out infinite nudgeX;
    display  : inline-block
}

@media (max-width:1023px) {
    .process-viewport {
        height  : auto;
        overflow: visible
    }

    .process-track {
        padding-inline: 1.5rem;
        flex-direction: column;
        align-items   : stretch;
        gap           : 1rem;
        height        : auto;
        padding-bottom: 3rem;
        position      : static;
        transform     : none
    }

    .process-card {
        width : 100%;
        height: 480px
    }

    #process-dots,
    #process-prev,
    #process-next {
        display: none
    }
}

.mobile-menu {
    opacity       : 0;
    pointer-events: none;
    transition    : opacity .3s
}

.mobile-menu.in {
    opacity       : 1;
    pointer-events: auto
}

@media (max-height:667px) {
    #hero-content {
        top: 90px
    }
}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    .marquee-track {
        flex-wrap      : wrap;
        justify-content: center;
        width          : auto;
        animation      : none
    }

    .marquee-set-b {
        display: none
    }

    [data-reveal],
    .animate-on-scroll {
        transition: none;
        opacity   : 1 !important;
        transform : none !important
    }

    .particle,
    .tech-particle,
    .why-particle,
    .hero-glow,
    .scroll-indicator,
    .nudge-x {
        animation: none !important
    }

    .anim-fade-up,
    .anim-fade-down,
    .anim-rise {
        opacity  : 1;
        animation: none;
        transform: none
    }

    .hero-word {
        transition: none
    }
}

@property --tw-space-y-reverse {
    syntax       : "*";
    inherits     : false;
    initial-value: 0
}

@property --tw-border-style {
    syntax       : "*";
    inherits     : false;
    initial-value: solid
}

@property --tw-gradient-position {
    syntax  : "*";
    inherits: false
}

@property --tw-gradient-from {
    syntax       : "<color>";
    inherits     : false;
    initial-value: #0000
}

@property --tw-gradient-via {
    syntax       : "<color>";
    inherits     : false;
    initial-value: #0000
}

@property --tw-gradient-to {
    syntax       : "<color>";
    inherits     : false;
    initial-value: #0000
}

@property --tw-gradient-stops {
    syntax  : "*";
    inherits: false
}

@property --tw-gradient-via-stops {
    syntax  : "*";
    inherits: false
}

@property --tw-gradient-from-position {
    syntax       : "<length-percentage>";
    inherits     : false;
    initial-value: 0%
}

@property --tw-gradient-via-position {
    syntax       : "<length-percentage>";
    inherits     : false;
    initial-value: 50%
}

@property --tw-gradient-to-position {
    syntax       : "<length-percentage>";
    inherits     : false;
    initial-value: 100%
}

@property --tw-leading {
    syntax  : "*";
    inherits: false
}

@property --tw-font-weight {
    syntax  : "*";
    inherits: false
}

@property --tw-tracking {
    syntax  : "*";
    inherits: false
}

@property --tw-ordinal {
    syntax  : "*";
    inherits: false
}

@property --tw-slashed-zero {
    syntax  : "*";
    inherits: false
}

@property --tw-numeric-figure {
    syntax  : "*";
    inherits: false
}

@property --tw-numeric-spacing {
    syntax  : "*";
    inherits: false
}

@property --tw-numeric-fraction {
    syntax  : "*";
    inherits: false
}

@property --tw-blur {
    syntax  : "*";
    inherits: false
}

@property --tw-brightness {
    syntax  : "*";
    inherits: false
}

@property --tw-contrast {
    syntax  : "*";
    inherits: false
}

@property --tw-grayscale {
    syntax  : "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax  : "*";
    inherits: false
}

@property --tw-invert {
    syntax  : "*";
    inherits: false
}

@property --tw-opacity {
    syntax  : "*";
    inherits: false
}

@property --tw-saturate {
    syntax  : "*";
    inherits: false
}

@property --tw-sepia {
    syntax  : "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax  : "*";
    inherits: false
}

@property --tw-drop-shadow-color {
    syntax  : "*";
    inherits: false
}

@property --tw-drop-shadow-alpha {
    syntax       : "<percentage>";
    inherits     : false;
    initial-value: 100%
}

@property --tw-drop-shadow-size {
    syntax  : "*";
    inherits: false
}

@property --tw-backdrop-blur {
    syntax  : "*";
    inherits: false
}

@property --tw-backdrop-brightness {
    syntax  : "*";
    inherits: false
}

@property --tw-backdrop-contrast {
    syntax  : "*";
    inherits: false
}

@property --tw-backdrop-grayscale {
    syntax  : "*";
    inherits: false
}

@property --tw-backdrop-hue-rotate {
    syntax  : "*";
    inherits: false
}

@property --tw-backdrop-invert {
    syntax  : "*";
    inherits: false
}

@property --tw-backdrop-opacity {
    syntax  : "*";
    inherits: false
}

@property --tw-backdrop-saturate {
    syntax  : "*";
    inherits: false
}

@property --tw-backdrop-sepia {
    syntax  : "*";
    inherits: false
}

@property --tw-duration {
    syntax  : "*";
    inherits: false
}

@property --tw-translate-x {
    syntax       : "*";
    inherits     : false;
    initial-value: 0
}

@property --tw-translate-y {
    syntax       : "*";
    inherits     : false;
    initial-value: 0
}

@property --tw-translate-z {
    syntax       : "*";
    inherits     : false;
    initial-value: 0
}

@property --tw-scale-x {
    syntax       : "*";
    inherits     : false;
    initial-value: 1
}

@property --tw-scale-y {
    syntax       : "*";
    inherits     : false;
    initial-value: 1
}

@property --tw-scale-z {
    syntax       : "*";
    inherits     : false;
    initial-value: 1
}