/*! Compiled Tailwind CSS utilities — inlined into style.css per project preference */
*,
:after,
:before {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/
*,
:after,
:before {
    border: 0 solid #e5e7eb;
    box-sizing: border-box
}

:after,
:before {
    --tw-content: ""
}

:host,
html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    font-family: Source Sans\ 3, ui-sans-serif, system-ui, sans-serif;
    font-feature-settings: normal;
    font-variation-settings: normal;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent
}

body {
    line-height: inherit;
    margin: 0
}

hr {
    border-top-width: 1px;
    color: inherit;
    height: 0
}

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;
    text-decoration: inherit
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
pre,
samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
    font-feature-settings: normal;
    font-size: 1em;
    font-variation-settings: normal
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font-family: inherit;
    font-feature-settings: inherit;
    font-size: 100%;
    font-variation-settings: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0
}

button,
select {
    text-transform: none
}

button,
input:where([type=button]),
input:where([type=reset]),
input:where([type=submit]) {
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
    margin: 0
}

fieldset {
    margin: 0
}

fieldset,
legend {
    padding: 0
}

menu,
ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    color: #9ca3af;
    opacity: 1
}

input::placeholder,
textarea::placeholder {
    color: #9ca3af;
    opacity: 1
}

[role=button],
button {
    cursor: pointer
}

:disabled {
    cursor: default
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
    display: block;
}

img,
video {
    height: auto;
    max-width: 100%
}

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

.sr-only {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0, 0, 0, 0);
    border-width: 0;
    white-space: nowrap
}

.pointer-events-none {
    pointer-events: none
}

.invisible {
    visibility: hidden
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.inset-0 {
    inset: 0
}

.inset-8 {
    inset: 2rem
}

.-bottom-6 {
    bottom: -1.5rem
}

.-left-4 {
    left: -1rem
}

.-left-\[calc\(0\.5rem\+6px\)\] {
    left: calc(-.5rem + -6px)
}

.-left-\[calc\(0\.75rem\+5px\)\] {
    left: calc(-.75rem + -5px)
}

.right-0 {
    right: 0
}

.top-0 {
    top: 0
}

.top-1\.5 {
    top: .375rem
}

.z-\[1\] {
    z-index: 1
}

.z-\[2\] {
    z-index: 2
}

.order-1 {
    order: 1
}

.order-2 {
    order: 2
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.mb-0\.5 {
    margin-bottom: .125rem
}

.mb-10 {
    margin-bottom: 2.5rem
}

.mb-12 {
    margin-bottom: 3rem
}

.mb-14 {
    margin-bottom: 3.5rem
}

.mb-2 {
    margin-bottom: .5rem
}

.mb-3 {
    margin-bottom: .75rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-5 {
    margin-bottom: 1.25rem
}

.mb-6 {
    margin-bottom: 1.5rem
}

.mb-8 {
    margin-bottom: 2rem
}

.ml-1 {
    margin-left: .25rem
}

.ml-2 {
    margin-left: .5rem
}

.mr-1 {
    margin-right: .25rem
}

.mr-2 {
    margin-right: .5rem
}

.mt-0\.5 {
    margin-top: .125rem
}

.mt-1 {
    margin-top: .25rem
}

.mt-4 {
    margin-top: 1rem
}

.mt-6 {
    margin-top: 1.5rem
}

.mt-8 {
    margin-top: 2rem
}

.mt-auto {
    margin-top: auto
}

.block {
    display: block
}

.inline {
    display: inline
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

.grid {
    display: grid
}

.hidden {
    display: none
}

.h-2\.5 {
    height: .625rem
}

.h-28 {
    height: 7rem
}

.h-3 {
    height: .75rem
}

.h-5 {
    height: 1.25rem
}

.h-64 {
    height: 16rem
}

.h-\[4\.25rem\] {
    height: 4.25rem
}

.h-\[calc\(100\%-4rem\)\] {
    height: calc(100% - 4rem)
}

.min-h-\[140px\] {
    min-height: 140px
}

.min-h-\[280px\] {
    min-height: 280px
}

.min-h-screen {
    min-height: 100vh
}

.w-2\.5 {
    width: .625rem
}

.w-28 {
    width: 7rem
}

.w-3 {
    width: .75rem
}

.w-5 {
    width: 1.25rem
}

.w-64 {
    width: 16rem
}

.w-\[4\.25rem\] {
    width: 4.25rem
}

.w-\[calc\(100\%-4rem\)\] {
    width: calc(100% - 4rem)
}

.w-full {
    width: 100%
}

.min-w-0 {
    min-width: 0
}

.max-w-2xl {
    max-width: 42rem
}

.max-w-3xl {
    max-width: 48rem
}

.max-w-4xl {
    max-width: 56rem
}

.max-w-7xl {
    max-width: 80rem
}

.max-w-\[320px\] {
    max-width: 320px
}

.max-w-\[400px\] {
    max-width: 400px
}

.max-w-lg {
    max-width: 32rem
}

.max-w-md {
    max-width: 28rem
}

.max-w-none {
    max-width: none
}

.max-w-prose {
    max-width: 65ch
}

.max-w-xl {
    max-width: 36rem
}

.flex-1 {
    flex: 1 1 0%
}

.shrink-0 {
    flex-shrink: 0
}

.-translate-y-1\/3 {
    --tw-translate-y: -33.333333%
}

.-translate-y-1\/3,
.translate-x-1\/3 {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-x-1\/3 {
    --tw-translate-x: 33.333333%
}

.cursor-pointer {
    cursor: pointer
}

.resize-y {
    resize: vertical
}

.list-none {
    list-style-type: none
}

.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.flex-col {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

.items-start {
    align-items: flex-start
}

.items-center {
    align-items: center
}

.items-stretch {
    align-items: stretch
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.gap-1 {
    gap: .25rem
}

.gap-10 {
    gap: 2.5rem
}

.gap-12 {
    gap: 3rem
}

.gap-14 {
    gap: 3.5rem
}

.gap-2 {
    gap: .5rem
}

.gap-3 {
    gap: .75rem
}

.gap-4 {
    gap: 1rem
}

.gap-5 {
    gap: 1.25rem
}

.gap-6 {
    gap: 1.5rem
}

.gap-7 {
    gap: 1.75rem
}

.gap-8 {
    gap: 2rem
}

.space-y-12>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-bottom: calc(3rem*var(--tw-space-y-reverse));
    margin-top: calc(3rem*(1 - var(--tw-space-y-reverse)))
}

.space-y-2>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-bottom: calc(.5rem*var(--tw-space-y-reverse));
    margin-top: calc(.5rem*(1 - var(--tw-space-y-reverse)))
}

.space-y-4>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-bottom: calc(1rem*var(--tw-space-y-reverse));
    margin-top: calc(1rem*(1 - var(--tw-space-y-reverse)))
}

.space-y-5>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-bottom: calc(1.25rem*var(--tw-space-y-reverse));
    margin-top: calc(1.25rem*(1 - var(--tw-space-y-reverse)))
}

.space-y-6>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-bottom: calc(1.5rem*var(--tw-space-y-reverse));
    margin-top: calc(1.5rem*(1 - var(--tw-space-y-reverse)))
}

.space-y-8>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-bottom: calc(2rem*var(--tw-space-y-reverse));
    margin-top: calc(2rem*(1 - var(--tw-space-y-reverse)))
}

.self-start {
    align-self: flex-start
}

.overflow-hidden {
    overflow: hidden
}

.break-all {
    word-break: break-all
}

.rounded {
    border-radius: .25rem
}

.rounded-2xl {
    border-radius: 1rem
}

.rounded-3xl {
    border-radius: 1.5rem
}

.rounded-\[1\.35rem\] {
    border-radius: 1.35rem
}

.rounded-full {
    border-radius: 9999px
}

.rounded-xl {
    border-radius: .75rem
}

.border {
    border-width: 1px
}

.border-y {
    border-top-width: 1px
}

.border-b,
.border-y {
    border-bottom-width: 1px
}

.border-l {
    border-left-width: 1px
}

.border-l-2 {
    border-left-width: 2px
}

.border-t {
    border-top-width: 1px
}

.border-glow\/15 {
    border-color: rgba(106, 124, 255, .15)
}

.border-glow\/20 {
    border-color: rgba(106, 124, 255, .2)
}

.border-glow\/25 {
    border-color: rgba(106, 124, 255, .25)
}

.border-glow\/30 {
    border-color: rgba(106, 124, 255, .3)
}

.border-glow\/35 {
    border-color: rgba(106, 124, 255, .35)
}

.border-white\/10 {
    border-color: hsla(0, 0%, 100%, .1)
}

.border-white\/15 {
    border-color: hsla(0, 0%, 100%, .15)
}

.border-white\/25 {
    border-color: hsla(0, 0%, 100%, .25)
}

.border-white\/5 {
    border-color: hsla(0, 0%, 100%, .05)
}

.bg-glow {
    --tw-bg-opacity: 1;
    background-color: rgb(106 124 255/var(--tw-bg-opacity, 1))
}

.bg-glow\/10 {
    background-color: rgba(106, 124, 255, .1)
}

.bg-glow\/50 {
    background-color: rgba(106, 124, 255, .5)
}

.bg-glow\/55 {
    background-color: rgba(106, 124, 255, .55)
}

.bg-glow\/70 {
    background-color: rgba(106, 124, 255, .7)
}

.bg-glow\/80 {
    background-color: rgba(106, 124, 255, .8)
}

.bg-indigo\/35 {
    background-color: rgba(15, 23, 42, .35)
}

.bg-mutedblue\/15 {
    background-color: rgba(36, 59, 122, .15)
}

.bg-night {
    --tw-bg-opacity: 1;
    background-color: rgb(4 6 18/var(--tw-bg-opacity, 1))
}

.bg-night\/45 {
    background-color: rgba(4, 6, 18, .45)
}

.bg-night\/80 {
    background-color: rgba(4, 6, 18, .8)
}

.bg-night\/90 {
    background-color: rgba(4, 6, 18, .9)
}

.bg-gradient-to-b {
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops))
}

.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops))
}

.bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops))
}

.from-glow {
    --tw-gradient-from: #6a7cff var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(106, 124, 255, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-glow\/25 {
    --tw-gradient-from: rgba(106, 124, 255, .25) var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(106, 124, 255, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-indigo\/35 {
    --tw-gradient-from: rgba(15, 23, 42, .35) var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(15, 23, 42, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-indigo\/60 {
    --tw-gradient-from: rgba(15, 23, 42, .6) var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(15, 23, 42, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-mutedblue\/35 {
    --tw-gradient-from: rgba(36, 59, 122, .35) var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(36, 59, 122, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-mutedblue\/70 {
    --tw-gradient-from: rgba(36, 59, 122, .7) var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(36, 59, 122, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-night {
    --tw-gradient-from: #040612 var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(4, 6, 18, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-night\/80 {
    --tw-gradient-from: rgba(4, 6, 18, .8) var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(4, 6, 18, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.via-indigo\/35 {
    --tw-gradient-to: rgba(15, 23, 42, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgba(15, 23, 42, .35) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-indigo\/40 {
    --tw-gradient-to: rgba(15, 23, 42, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgba(15, 23, 42, .4) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-indigo\/45 {
    --tw-gradient-to: rgba(15, 23, 42, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgba(15, 23, 42, .45) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-indigo\/55 {
    --tw-gradient-to: rgba(15, 23, 42, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgba(15, 23, 42, .55) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-mutedblue\/20 {
    --tw-gradient-to: rgba(36, 59, 122, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgba(36, 59, 122, .2) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-mutedblue\/25 {
    --tw-gradient-to: rgba(36, 59, 122, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgba(36, 59, 122, .25) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-night {
    --tw-gradient-to: rgba(4, 6, 18, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #040612 var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-night\/90 {
    --tw-gradient-to: rgba(4, 6, 18, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgba(4, 6, 18, .9) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.to-indigo\/80 {
    --tw-gradient-to: rgba(15, 23, 42, .8) var(--tw-gradient-to-position)
}

.to-mutedblue {
    --tw-gradient-to: #243b7a var(--tw-gradient-to-position)
}

.to-mutedblue\/20 {
    --tw-gradient-to: rgba(36, 59, 122, .2) var(--tw-gradient-to-position)
}

.to-mutedblue\/25 {
    --tw-gradient-to: rgba(36, 59, 122, .25) var(--tw-gradient-to-position)
}

.to-night {
    --tw-gradient-to: #040612 var(--tw-gradient-to-position)
}

.to-night\/90 {
    --tw-gradient-to: rgba(4, 6, 18, .9) var(--tw-gradient-to-position)
}

.object-contain {
    -o-object-fit: contain;
    object-fit: contain
}

.p-1 {
    padding: .25rem
}

.p-10 {
    padding: 2.5rem
}

.p-5 {
    padding: 1.25rem
}

.p-6 {
    padding: 1.5rem
}

.p-7 {
    padding: 1.75rem
}

.p-8 {
    padding: 2rem
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}

.py-10 {
    padding-bottom: 2.5rem;
    padding-top: 2.5rem
}

.py-12 {
    padding-bottom: 3rem;
    padding-top: 3rem
}

.py-14 {
    padding-bottom: 3.5rem;
    padding-top: 3.5rem
}

.py-16 {
    padding-bottom: 4rem;
    padding-top: 4rem
}

.py-3 {
    padding-bottom: .75rem;
    padding-top: .75rem
}

.py-5 {
    padding-bottom: 1.25rem;
    padding-top: 1.25rem
}

.py-6 {
    padding-bottom: 1.5rem;
    padding-top: 1.5rem
}

.pb-12 {
    padding-bottom: 3rem
}

.pb-16 {
    padding-bottom: 4rem
}

.pb-20 {
    padding-bottom: 5rem
}

.pb-4 {
    padding-bottom: 1rem
}

.pl-0 {
    padding-left: 0
}

.pl-5 {
    padding-left: 1.25rem
}

.pl-6 {
    padding-left: 1.5rem
}

.pl-8 {
    padding-left: 2rem
}

.pt-1 {
    padding-top: .25rem
}

.pt-10 {
    padding-top: 2.5rem
}

.pt-2 {
    padding-top: .5rem
}

.pt-4 {
    padding-top: 1rem
}

.pt-6 {
    padding-top: 1.5rem
}

.text-center {
    text-align: center
}

.align-middle {
    vertical-align: middle
}

.font-display {
    font-family: DM Sans, ui-sans-serif, system-ui, sans-serif
}

.font-sans {
    font-family: Source Sans\ 3, ui-sans-serif, system-ui, sans-serif
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}

.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
}

.text-\[0\.65rem\] {
    font-size: .65rem
}

.text-\[0\.9375rem\] {
    font-size: .9375rem
}

.text-\[1\.65rem\] {
    font-size: 1.65rem
}

.text-\[2rem\] {
    font-size: 2rem
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}

.text-sm {
    font-size: .875rem;
    line-height: 1.25rem
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
}

.text-xs {
    font-size: .75rem;
    line-height: 1rem
}

.font-bold {
    font-weight: 700
}

.font-semibold {
    font-weight: 600
}

.uppercase {
    text-transform: uppercase
}

.normal-case {
    text-transform: none
}

.not-italic {
    font-style: normal
}

.leading-\[1\.08\] {
    line-height: 1.08
}

.leading-relaxed {
    line-height: 1.625
}

.leading-snug {
    line-height: 1.375
}

.tracking-\[0\.16em\] {
    letter-spacing: .16em
}

.tracking-\[0\.22em\] {
    letter-spacing: .22em
}

.tracking-normal {
    letter-spacing: 0
}

.tracking-wider {
    letter-spacing: .05em
}

.text-glow {
    --tw-text-opacity: 1;
    color: rgb(106 124 255/var(--tw-text-opacity, 1))
}

.text-glow\/75 {
    color: rgba(106, 124, 255, .75)
}

.text-glow\/95 {
    color: rgba(106, 124, 255, .95)
}

.text-mist {
    --tw-text-opacity: 1;
    color: rgb(224 231 255/var(--tw-text-opacity, 1))
}

.text-mist\/50 {
    color: rgba(224, 231, 255, .5)
}

.text-mist\/55 {
    color: rgba(224, 231, 255, .55)
}

.text-mist\/65 {
    color: rgba(224, 231, 255, .65)
}

.text-mist\/70 {
    color: rgba(224, 231, 255, .7)
}

.text-mist\/75 {
    color: rgba(224, 231, 255, .75)
}

.text-mist\/80 {
    color: rgba(224, 231, 255, .8)
}

.text-mist\/85 {
    color: rgba(224, 231, 255, .85)
}

.text-night {
    --tw-text-opacity: 1;
    color: rgb(4 6 18/var(--tw-text-opacity, 1))
}

.no-underline {
    text-decoration-line: none
}

.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.opacity-80 {
    opacity: .8
}

.opacity-85 {
    opacity: .85
}

.opacity-95 {
    opacity: .95
}

.opacity-\[0\.07\] {
    opacity: .07
}

.shadow {
    --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color)
}

.shadow,
.shadow-\[0_0_12px_rgba\(106\2c 124\2c 255\2c 0\.8\)\] {
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_0_12px_rgba\(106\2c 124\2c 255\2c 0\.8\)\] {
    --tw-shadow: 0 0 12px rgba(106, 124, 255, .8);
    --tw-shadow-colored: 0 0 12px var(--tw-shadow-color)
}

.shadow-\[0_24px_80px_-24px_rgba\(106\2c 124\2c 255\2c 0\.32\)\] {
    --tw-shadow: 0 24px 80px -24px rgba(106, 124, 255, .32);
    --tw-shadow-colored: 0 24px 80px -24px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_24px_80px_-24px_rgba\(106\2c 124\2c 255\2c 0\.35\)\] {
    --tw-shadow: 0 24px 80px -24px rgba(106, 124, 255, .35);
    --tw-shadow-colored: 0 24px 80px -24px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-glow {
    --tw-shadow-color: #6a7cff;
    --tw-shadow: var(--tw-shadow-colored)
}

.outline {
    outline-style: solid
}

.ring-4 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.ring-night {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(4 6 18/var(--tw-ring-opacity, 1))
}

.blur-3xl {
    --tw-blur: blur(64px)
}

.blur-3xl,
.blur-xl {
    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)
}

.blur-xl {
    --tw-blur: blur(24px)
}

.backdrop-blur-md {
    --tw-backdrop-blur: blur(12px);
    -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-colors {
    transition-duration: .15s;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.transition-shadow {
    transition-duration: .15s;
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.transition-transform {
    transition-duration: .15s;
    transition-property: transform;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.duration-300 {
    transition-duration: .3s
}

.duration-500 {
    transition-duration: .5s
}

.placeholder\:text-mist\/35::-moz-placeholder {
    color: rgba(224, 231, 255, .35)
}

.placeholder\:text-mist\/35::placeholder {
    color: rgba(224, 231, 255, .35)
}

.open\:border-glow\/35[open] {
    border-color: rgba(106, 124, 255, .35)
}

.hover\:text-glow:hover {
    --tw-text-opacity: 1;
    color: rgb(106 124 255/var(--tw-text-opacity, 1))
}

.hover\:text-mist:hover {
    --tw-text-opacity: 1;
    color: rgb(224 231 255/var(--tw-text-opacity, 1))
}

.focus\:border-glow:focus {
    --tw-border-opacity: 1;
    border-color: rgb(106 124 255/var(--tw-border-opacity, 1))
}

.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus\:ring-glow:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(106 124 255/var(--tw-ring-opacity, 1))
}

.focus\:ring-glow\/35:focus {
    --tw-ring-color: rgba(106, 124, 255, .35)
}

.group[open] .group-open\:rotate-180 {
    --tw-rotate: 180deg
}

.group[open] .group-open\:rotate-180,
.group[open] .group-open\:rotate-45 {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group[open] .group-open\:rotate-45 {
    --tw-rotate: 45deg
}

@media (min-width:360px) {
    .min-\[360px\]\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem
    }
}

@media (min-width:400px) {
    .min-\[400px\]\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem
    }
}

@media (min-width:640px) {
    .sm\:order-1 {
        order: 1
    }

    .sm\:order-2 {
        order: 2
    }

    .sm\:col-span-2 {
        grid-column: span 2/span 2
    }

    .sm\:ml-auto {
        margin-left: auto
    }

    .sm\:mr-0 {
        margin-right: 0
    }

    .sm\:block {
        display: block
    }

    .sm\:w-auto {
        width: auto
    }

    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .sm\:grid-cols-\[1\.1fr_1fr\] {
        grid-template-columns: 1.1fr 1fr
    }

    .sm\:grid-cols-\[1fr_1\.1fr\] {
        grid-template-columns: 1fr 1.1fr
    }

    .sm\:gap-12 {
        gap: 3rem
    }

    .sm\:p-10 {
        padding: 2.5rem
    }

    .sm\:p-12 {
        padding: 3rem
    }

    .sm\:p-14 {
        padding: 3.5rem
    }

    .sm\:p-6 {
        padding: 1.5rem
    }

    .sm\:p-7 {
        padding: 1.75rem
    }

    .sm\:p-8 {
        padding: 2rem
    }

    .sm\:px-6 {
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }

    .sm\:py-16 {
        padding-bottom: 4rem;
        padding-top: 4rem
    }

    .sm\:py-20 {
        padding-bottom: 5rem;
        padding-top: 5rem
    }

    .sm\:py-24 {
        padding-bottom: 6rem;
        padding-top: 6rem
    }

    .sm\:py-4 {
        padding-bottom: 1rem;
        padding-top: 1rem
    }

    .sm\:pb-24 {
        padding-bottom: 6rem
    }

    .sm\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
    }

    .sm\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem
    }

    .sm\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem
    }

    .sm\:text-\[0\.9375rem\] {
        font-size: .9375rem
    }

    .sm\:text-\[1\.65rem\] {
        font-size: 1.65rem
    }

    .sm\:text-\[2rem\] {
        font-size: 2rem
    }

    .sm\:text-base {
        font-size: 1rem;
        line-height: 1.5rem
    }

    .sm\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem
    }

    .sm\:text-sm {
        font-size: .875rem;
        line-height: 1.25rem
    }

    .sm\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
    }
}

@media (min-width:768px) {
    .md\:col-span-2 {
        grid-column: span 2/span 2
    }

    .md\:-translate-y-4 {
        --tw-translate-y: -1rem
    }

    .md\:-translate-y-4,
    .md\:translate-y-4 {
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .md\:translate-y-4 {
        --tw-translate-y: 1rem
    }

    .md\:translate-y-8 {
        --tw-translate-y: 2rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .md\:grid-cols-\[minmax\(0\2c 2fr\)_minmax\(0\2c 1fr\)\] {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr)
    }

    .md\:pb-6 {
        padding-bottom: 1.5rem
    }

    .md\:hover\:-translate-y-2:hover {
        --tw-translate-y: -0.5rem
    }

    .md\:hover\:-translate-y-2:hover,
    .md\:hover\:translate-y-6:hover {
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .md\:hover\:translate-y-6:hover {
        --tw-translate-y: 1.5rem
    }
}

@media (min-width:1024px) {
    .lg\:sticky {
        position: sticky
    }

    .lg\:top-28 {
        top: 7rem
    }

    .lg\:top-32 {
        top: 8rem
    }

    .lg\:order-1 {
        order: 1
    }

    .lg\:order-2 {
        order: 2
    }

    .lg\:col-span-1 {
        grid-column: span 1/span 1
    }

    .lg\:col-span-2 {
        grid-column: span 2/span 2
    }

    .lg\:col-span-5 {
        grid-column: span 5/span 5
    }

    .lg\:col-span-7 {
        grid-column: span 7/span 7
    }

    .lg\:mx-0 {
        margin-left: 0;
        margin-right: 0
    }

    .lg\:mb-16 {
        margin-bottom: 4rem
    }

    .lg\:mr-0 {
        margin-right: 0
    }

    .lg\:grid {
        display: grid
    }

    .lg\:hidden {
        display: none
    }

    .lg\:min-h-full {
        min-height: 100%
    }

    .lg\:w-auto {
        width: auto
    }

    .lg\:max-w-\[48rem\] {
        max-width: 48rem
    }

    .lg\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr))
    }

    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .lg\:grid-cols-\[300px_minmax\(0\2c 1fr\)\] {
        grid-template-columns: 300px minmax(0, 1fr)
    }

    .lg\:grid-cols-\[340px_minmax\(0\2c 1fr\)\] {
        grid-template-columns: 340px minmax(0, 1fr)
    }

    .lg\:grid-cols-\[minmax\(0\2c 1\.12fr\)_minmax\(0\2c 0\.88fr\)\] {
        grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr)
    }

    .lg\:grid-cols-\[minmax\(0\2c 1fr\)_300px\] {
        grid-template-columns: minmax(0, 1fr) 300px
    }

    .lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 340px\)\] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 340px)
    }

    .lg\:grid-cols-\[minmax\(0\2c 220px\)_minmax\(0\2c 1fr\)\] {
        grid-template-columns: minmax(0, 220px) minmax(0, 1fr)
    }

    .lg\:grid-cols-\[minmax\(0\2c 240px\)_minmax\(0\2c 1fr\)\] {
        grid-template-columns: minmax(0, 240px) minmax(0, 1fr)
    }

    .lg\:flex-row {
        flex-direction: row
    }

    .lg\:items-end {
        align-items: flex-end
    }

    .lg\:items-center {
        align-items: center
    }

    .lg\:justify-between {
        justify-content: space-between
    }

    .lg\:gap-16 {
        gap: 4rem
    }

    .lg\:gap-20 {
        gap: 5rem
    }

    .lg\:gap-5 {
        gap: 1.25rem
    }

    .lg\:gap-6 {
        gap: 1.5rem
    }

    .lg\:gap-8 {
        gap: 2rem
    }

    .lg\:space-y-0>:not([hidden])~:not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-bottom: calc(0px*var(--tw-space-y-reverse));
        margin-top: calc(0px*(1 - var(--tw-space-y-reverse)))
    }

    .lg\:justify-self-end {
        justify-self: end
    }

    .lg\:border-0 {
        border-width: 0
    }

    .lg\:border-r {
        border-right-width: 1px
    }

    .lg\:border-white\/10 {
        border-color: hsla(0, 0%, 100%, .1)
    }

    .lg\:p-14 {
        padding: 3.5rem
    }

    .lg\:p-16 {
        padding: 4rem
    }

    .lg\:px-8 {
        padding-left: 2rem;
        padding-right: 2rem
    }

    .lg\:py-20 {
        padding-bottom: 5rem;
        padding-top: 5rem
    }

    .lg\:py-24 {
        padding-bottom: 6rem;
        padding-top: 6rem
    }

    .lg\:py-28 {
        padding-bottom: 7rem;
        padding-top: 7rem
    }

    .lg\:pb-0 {
        padding-bottom: 0
    }

    .lg\:pr-10 {
        padding-right: 2.5rem
    }

    .lg\:pt-14 {
        padding-top: 3.5rem
    }

    .lg\:text-right {
        text-align: right
    }

    .lg\:text-\[2\.15rem\] {
        font-size: 2.15rem
    }

    .lg\:text-\[2\.75rem\] {
        font-size: 2.75rem
    }

    .lg\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
    }
}

@media (min-width:1280px) {
    .xl\:col-span-1 {
        grid-column: span 1/span 1
    }

    .xl\:col-span-2 {
        grid-column: span 2/span 2
    }

    .xl\:max-w-\[52rem\] {
        max-width: 52rem
    }

    .xl\:-translate-y-6 {
        --tw-translate-y: -1.5rem
    }

    .xl\:-translate-y-6,
    .xl\:translate-y-10 {
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .xl\:translate-y-10 {
        --tw-translate-y: 2.5rem
    }

    .xl\:translate-y-4 {
        --tw-translate-y: 1rem
    }

    .xl\:-rotate-1,
    .xl\:translate-y-4 {
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .xl\:-rotate-1 {
        --tw-rotate: -1deg
    }

    .xl\:rotate-1 {
        --tw-rotate: 1deg;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .xl\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .xl\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .xl\:grid-cols-\[240px_minmax\(0\2c 1fr\)\] {
        grid-template-columns: 240px minmax(0, 1fr)
    }

    .xl\:grid-cols-\[260px_minmax\(0\2c 1fr\)\] {
        grid-template-columns: 260px minmax(0, 1fr)
    }

    .xl\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 400px\)\] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 400px)
    }

    .xl\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 420px\)\] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 420px)
    }

    .xl\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 440px\)\] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 440px)
    }

    .xl\:grid-cols-\[minmax\(280px\2c 400px\)_minmax\(0\2c 1fr\)\] {
        grid-template-columns: minmax(280px, 400px) minmax(0, 1fr)
    }

    .xl\:gap-14 {
        gap: 3.5rem
    }

    .xl\:gap-16 {
        gap: 4rem
    }

    .xl\:gap-20 {
        gap: 5rem
    }

    .xl\:justify-self-end {
        justify-self: end
    }

    .xl\:hover\:-translate-y-4:hover {
        --tw-translate-y: -1rem
    }

    .xl\:hover\:-translate-y-4:hover,
    .xl\:hover\:translate-y-8:hover {
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }

    .xl\:hover\:translate-y-8:hover {
        --tw-translate-y: 2rem
    }

    .xl\:hover\:rotate-0:hover {
        --tw-rotate: 0deg;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
    }
}

/* ----- Original style.css ----- */
:root {
    --color-deep-night: #040612;
    --color-dark-indigo: #0f172a;
    --color-muted-blue: #243b7a;
    --color-soft-glow: #6a7cff;
    --color-light-mist: #e0e7ff;
    --font-display: "DM Sans", ui-sans-serif, system-ui, sans-serif;
    --font-body: "Source Sans 3", ui-sans-serif, system-ui, sans-serif;
    --space-3xs: 0.25rem;
    --space-2xs: 0.5rem;
    --space-xs: 0.75rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2rem;
    --space-xl: 3rem;
    --space-2xl: 4.5rem;
    --space-3xl: 7rem;
    --radius-sm: 0.5rem;
    --radius-md: 0.875rem;
    --radius-lg: 1.375rem;
    --radius-xl: 2rem;
    --radius-full: 9999px;
    --blur-glass: 24px;
    --shadow-soft: 0 16px 48px rgba(4, 6, 18, 0.55);
    --shadow-glow: 0 0 0 1px rgba(106, 124, 255, 0.2),
        0 28px 96px rgba(36, 59, 122, 0.4);
    --shadow-neu: 10px 12px 32px rgba(4, 6, 18, 0.55),
        -4px -4px 24px rgba(106, 124, 255, 0.07);
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    margin: 0;
    font-family: var(--font-body);
    font-size: clamp(1rem, 0.96rem + 0.22vw, 1.125rem);
    line-height: 1.65;
    color: var(--color-light-mist);
    background-color: var(--color-deep-night);
    background-image:
        radial-gradient(ellipse 120% 90% at 10% -15%, rgba(106, 124, 255, 0.26), transparent 58%),
        radial-gradient(ellipse 90% 70% at 95% 10%, rgba(36, 59, 122, 0.42), transparent 52%),
        radial-gradient(ellipse 70% 50% at 50% 105%, rgba(106, 124, 255, 0.08), transparent 60%),
        linear-gradient(165deg, #040612 0%, #0a1228 38%, #050814 100%);
    min-height: 100vh;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: var(--color-soft-glow);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.22em;
    transition: color 0.28s var(--ease-out), opacity 0.28s var(--ease-out);
}

a:hover {
    color: var(--color-light-mist);
}

:focus-visible {
    outline: 2px solid var(--color-soft-glow);
    outline-offset: 3px;
}

.ds-heading {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.12;
    color: var(--color-light-mist);
}

.ds-kicker {
    font-family: var(--font-display);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(224, 231, 255, 0.68);
}

.ds-glass {
    background: linear-gradient(
        155deg,
        rgba(15, 23, 42, 0.78) 0%,
        rgba(4, 6, 18, 0.52) 55%,
        rgba(36, 59, 122, 0.12) 100%
    );
    backdrop-filter: blur(var(--blur-glass)) saturate(1.65);
    -webkit-backdrop-filter: blur(var(--blur-glass)) saturate(1.65);
    border: 1px solid rgba(224, 231, 255, 0.1);
    box-shadow:
        var(--shadow-soft),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.ds-neu-slab {
    background: linear-gradient(152deg, #12192f 0%, #0a0f24 50%, #080d1e 100%);
    box-shadow: var(--shadow-neu);
    border-radius: var(--radius-xl);
}

.ds-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2xs);
    padding: var(--space-xs) var(--space-lg);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 0.9375rem;
    border-radius: var(--radius-full);
    border: none;
    cursor: pointer;
    overflow: hidden;
    transition:
        transform 0.38s var(--ease-spring),
        box-shadow 0.38s var(--ease-out),
        background 0.38s var(--ease-out);
}

.ds-btn--primary {
    background: linear-gradient(125deg, var(--color-soft-glow) 0%, #5f6cff 48%, var(--color-muted-blue) 100%);
    color: var(--color-deep-night);
    box-shadow:
        0 12px 36px rgba(106, 124, 255, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.ds-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow:
        0 18px 52px rgba(106, 124, 255, 0.52),
        inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

.ds-btn--primary:active {
    transform: translateY(0);
}

.ds-btn--ghost {
    background: rgba(224, 231, 255, 0.04);
    color: var(--color-light-mist);
    border: 1px solid rgba(224, 231, 255, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.ds-btn--ghost:hover {
    border-color: rgba(106, 124, 255, 0.45);
    background: rgba(106, 124, 255, 0.12);
}

.ds-chip {
    display: inline-flex;
    align-items: center;
    padding: var(--space-3xs) var(--space-sm);
    border-radius: var(--radius-full);
    font-size: 0.8125rem;
    font-weight: 600;
    background: rgba(106, 124, 255, 0.16);
    color: var(--color-light-mist);
    border: 1px solid rgba(106, 124, 255, 0.32);
}

.ds-card {
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    transition:
        transform 0.45s var(--ease-out),
        box-shadow 0.45s var(--ease-out);
}

.ds-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-glow);
}

.ds-field-error {
    font-size: 0.8125rem;
    color: #fca5a5;
    margin-top: var(--space-3xs);
    min-height: 1.25rem;
}

.ds-field-error[hidden] {
    display: none;
}

.site-footer__disclaimer {
    font-size: 0.6875rem;
    line-height: 1.65;
    color: rgba(224, 231, 255, 0.58);
    max-width: 56rem;
}

.site-footer__disclaimer p + p {
    margin-top: 0.75rem;
}

.site-footer__disclaimer strong {
    color: rgba(224, 231, 255, 0.82);
    font-weight: 600;
}

.site-footer__disclaimer a {
    color: var(--color-soft-glow);
    text-decoration: none;
}

.site-footer__disclaimer a:hover {
    color: var(--color-light-mist);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cookie-banner {
    position: fixed;
    z-index: 9999;
    inset-inline: var(--space-sm);
    bottom: var(--space-sm);
    max-width: 520px;
    padding: var(--space-lg);
    border-radius: var(--radius-xl);
    transform: translateY(120%);
    opacity: 0;
    transition:
        transform 0.55s var(--ease-out),
        opacity 0.45s var(--ease-out);
}

.cookie-banner.is-visible {
    transform: translateY(0);
    opacity: 1;
}

.cookie-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-md);
}

.cookie-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-md);
    background: rgba(4, 6, 18, 0.76);
    backdrop-filter: blur(12px) saturate(1.4);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.35s var(--ease-out),
        visibility 0.35s;
}

.cookie-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.cookie-modal__panel {
    width: min(520px, 100%);
    max-height: min(88vh, 640px);
    overflow-y: auto;
    padding: var(--space-xl);
    border-radius: var(--radius-xl);
}

.cookie-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-sm) 0;
    border-bottom: 1px solid rgba(224, 231, 255, 0.09);
}

.cookie-switch {
    position: relative;
    width: 52px;
    height: 28px;
    flex-shrink: 0;
}

.cookie-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.cookie-switch__slider {
    position: absolute;
    inset: 0;
    background: rgba(224, 231, 255, 0.14);
    border-radius: var(--radius-full);
    cursor: pointer;
    transition: background 0.35s var(--ease-out);
}

.cookie-switch__slider::before {
    content: "";
    position: absolute;
    height: 22px;
    width: 22px;
    left: 4px;
    bottom: 3px;
    background: var(--color-light-mist);
    border-radius: var(--radius-full);
    transition: transform 0.35s var(--ease-spring);
    box-shadow: 0 2px 8px rgba(4, 6, 18, 0.35);
}

.cookie-switch input:checked + .cookie-switch__slider {
    background: linear-gradient(120deg, var(--color-soft-glow), var(--color-muted-blue));
}

.cookie-switch input:checked + .cookie-switch__slider::before {
    transform: translateX(22px);
}

.cookie-switch input:disabled + .cookie-switch__slider {
    opacity: 0.45;
    cursor: not-allowed;
}

.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity 0.78s var(--ease-out),
        transform 0.78s var(--ease-out);
}

.reveal.is-inview {
    opacity: 1;
    transform: translateY(0);
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 200;
    transition:
        box-shadow 0.38s var(--ease-out),
        background 0.38s var(--ease-out),
        border-color 0.38s var(--ease-out),
        backdrop-filter 0.38s var(--ease-out);
}

.site-header__row {
    position: relative;
    z-index: 210;
}

.site-header.is-scrolled {
    box-shadow: var(--shadow-soft);
    background: rgba(12, 18, 34, 0.72) !important;
    backdrop-filter: blur(20px) saturate(1.55);
    -webkit-backdrop-filter: blur(20px) saturate(1.55);
    border-bottom-color: rgba(106, 124, 255, 0.12) !important;
}

.skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.skip-link:focus {
    left: var(--space-sm);
    top: var(--space-sm);
    width: auto;
    height: auto;
    padding: var(--space-xs) var(--space-sm);
    background: var(--color-soft-glow);
    color: var(--color-deep-night);
    z-index: 10001;
}

.shadow-soft {
    box-shadow: var(--shadow-soft);
}

.shadow-glow {
    box-shadow: var(--shadow-glow);
}

.site-brand {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.2;
    max-width: min(70vw, 16rem);
}

@media (min-width: 480px) {
    .site-brand {
        max-width: none;
    }
}

.nav-burger {
    position: relative;
    z-index: 120;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(224, 231, 255, 0.16);
    border-radius: var(--radius-md);
    background: rgba(15, 23, 42, 0.55);
    cursor: pointer;
    backdrop-filter: blur(12px);
    transition:
        border-color 0.28s var(--ease-out),
        background 0.28s var(--ease-out),
        box-shadow 0.28s var(--ease-out);
}

.nav-burger:hover {
    border-color: rgba(106, 124, 255, 0.45);
    background: rgba(36, 59, 122, 0.38);
    box-shadow: 0 0 0 1px rgba(106, 124, 255, 0.15);
}

.nav-burger__lines {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 22px;
    pointer-events: none;
}

.nav-burger__line {
    display: block;
    height: 2px;
    width: 100%;
    border-radius: var(--radius-full);
    background: var(--color-light-mist);
    transition:
        transform 0.38s var(--ease-out),
        opacity 0.28s var(--ease-out),
        translate 0.38s var(--ease-out);
}

.nav-burger.is-active .nav-burger__line:nth-child(1) {
    translate: 0 8px;
    rotate: 45deg;
}

.nav-burger.is-active .nav-burger__line:nth-child(2) {
    opacity: 0;
}

.nav-burger.is-active .nav-burger__line:nth-child(3) {
    translate: 0 -8px;
    rotate: -45deg;
}

.nav-backdrop {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: var(--site-header-h, 56px);
    z-index: 105;
    background: rgba(4, 6, 18, 0.68);
    backdrop-filter: blur(10px) saturate(1.3);
    -webkit-backdrop-filter: blur(10px) saturate(1.3);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.35s var(--ease-out),
        visibility 0.35s;
}

body.site-nav-open .nav-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.site-nav {
    position: fixed;
    z-index: 110;
    top: var(--site-header-h, 56px);
    left: auto;
    right: 0;
    bottom: 0;
    width: min(420px, 92vw);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: var(--space-xs);
    padding: var(--space-lg) var(--space-md) calc(var(--space-xl) + env(safe-area-inset-bottom, 0));
    background: linear-gradient(
        168deg,
        rgba(15, 23, 42, 0.97) 0%,
        rgba(4, 6, 18, 0.98) 52%,
        rgba(36, 59, 122, 0.38) 100%
    );
    border-left: 1px solid rgba(106, 124, 255, 0.14);
    box-shadow: var(--shadow-glow);
    transform: translateX(100%);
    visibility: hidden;
    transition:
        transform 0.45s var(--ease-out),
        visibility 0.45s;
}

body.site-nav-open .site-nav {
    height: 100vh;
    transform: translateX(0);
    visibility: visible;
}

.site-nav__link {
    display: block;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-lg);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.0625rem;
    color: var(--color-light-mist);
    text-decoration: none;
    border: 1px solid transparent;
    transition:
        background 0.28s var(--ease-out),
        border-color 0.28s var(--ease-out),
        color 0.28s var(--ease-out);
}

.site-nav__link:hover {
    background: rgba(106, 124, 255, 0.14);
    border-color: rgba(106, 124, 255, 0.28);
    color: var(--color-light-mist);
}

.site-nav__link[aria-current="page"] {
    color: var(--color-soft-glow);
    border-color: rgba(106, 124, 255, 0.38);
    background: rgba(106, 124, 255, 0.1);
}

@media (min-width: 1024px) {
    .nav-burger {
        display: none;
    }

    .nav-backdrop {
        display: none;
    }

    .site-nav {
        position: static;
        inset: auto;
        flex-direction: row;
        align-items: center;
        gap: var(--space-lg);
        padding: 0;
        margin-left: auto;
        background: transparent;
        border: none;
        box-shadow: none;
        transform: none;
        visibility: visible;
        width: auto;
        max-width: none;
    }

    .site-nav__link {
        padding: var(--space-2xs) var(--space-xs);
        font-size: 0.9375rem;
        font-weight: 600;
    }
}

body.site-nav-open {
    overflow: hidden;
}

@media (min-width: 1024px) {
    body.site-nav-open {
        overflow: visible;
    }
}

.policy-hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(224, 231, 255, 0.09);
}

.policy-hero__mesh {
    position: absolute;
    inset: -20% -10% -40%;
    background:
        radial-gradient(ellipse 80% 60% at 20% 15%, rgba(106, 124, 255, 0.24), transparent 55%),
        radial-gradient(ellipse 70% 50% at 85% 35%, rgba(36, 59, 122, 0.46), transparent 50%),
        linear-gradient(145deg, rgba(4, 6, 18, 0.92), rgba(15, 23, 42, 0.95));
    pointer-events: none;
}

.policy-hero__grid {
    position: absolute;
    inset: 0;
    opacity: 0.16;
    background-image:
        linear-gradient(rgba(224, 231, 255, 0.11) 1px, transparent 1px),
        linear-gradient(90deg, rgba(224, 231, 255, 0.07) 1px, transparent 1px);
    background-size: 32px 32px;
    pointer-events: none;
}

.policy-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(2rem, 6vw, 4rem) var(--space-md) clamp(2.25rem, 5vw, 3.5rem);
}

.policy-hero__panel {
    max-width: 42rem;
    padding: var(--space-lg);
    border-radius: var(--radius-xl);
    border: 1px solid rgba(224, 231, 255, 0.11);
    background: linear-gradient(145deg, rgba(15, 23, 42, 0.85), rgba(4, 6, 18, 0.74));
    backdrop-filter: blur(18px) saturate(1.5);
    -webkit-backdrop-filter: blur(18px) saturate(1.5);
    box-shadow: var(--shadow-soft);
}

.policy-date-pill {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-3xs) var(--space-sm);
    margin-bottom: var(--space-md);
    border-radius: var(--radius-full);
    font-family: var(--font-display);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(224, 231, 255, 0.88);
    border: 1px solid rgba(106, 124, 255, 0.38);
    background: rgba(106, 124, 255, 0.14);
}

.policy-body {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--space-md);
    padding-right: var(--space-md);
}

.policy-section {
    margin-bottom: clamp(2rem, 5vw, 3rem);
    padding-bottom: clamp(1.75rem, 4vw, 2.5rem);
    border-bottom: 1px solid rgba(224, 231, 255, 0.07);
}

.policy-section:last-child {
    border-bottom: none;
}

.policy-toc {
    position: sticky;
    top: calc(var(--site-header-h, 56px) + 8px);
    padding: var(--space-md);
    border-radius: var(--radius-lg);
    border: 1px solid rgba(224, 231, 255, 0.1);
    background: rgba(15, 23, 42, 0.52);
    backdrop-filter: blur(12px);
}

.policy-toc a {
    display: block;
    padding: var(--space-3xs) 0;
    font-size: 0.875rem;
    color: rgba(224, 231, 255, 0.78);
    text-decoration: none;
}

.policy-toc a:hover {
    color: var(--color-soft-glow);
}

.thanks-stage {
    position: relative;
    overflow: hidden;
}

.thanks-stage__bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 30% 20%, rgba(106, 124, 255, 0.2), transparent 45%),
        radial-gradient(circle at 80% 70%, rgba(36, 59, 122, 0.38), transparent 50%);
    pointer-events: none;
}

@keyframes aurora-drift {
    0%,
    100% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 0.45;
    }

    33% {
        transform: translate3d(3%, -4%, 0) scale(1.08);
        opacity: 0.75;
    }

    66% {
        transform: translate3d(-4%, 2%, 0) scale(0.96);
        opacity: 0.55;
    }
}

@keyframes aurora-drift-reverse {
    0%,
    100% {
        transform: translate3d(0, 0, 0) scale(1.05);
        opacity: 0.35;
    }

    50% {
        transform: translate3d(-5%, -3%, 0) scale(1);
        opacity: 0.65;
    }
}

@keyframes float-soft {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-14px);
    }
}

@keyframes marquee-slide {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@keyframes border-shimmer {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 200% 50%;
    }
}

@keyframes shimmer-text {
    0% {
        background-position: 0% center;
    }

    100% {
        background-position: 200% center;
    }
}

.home-hero {
    position: relative;
    min-height: min(92vh, 900px);
    display: flex;
    align-items: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(224, 231, 255, 0.09);
}

.home-hero__blobs {
    position: absolute;
    inset: -15% -20%;
    pointer-events: none;
}

.home-hero__blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(88px);
    will-change: transform;
}

.home-hero__blob--a {
    width: min(72vw, 520px);
    height: min(72vw, 520px);
    left: -8%;
    top: 8%;
    background: radial-gradient(circle, rgba(106, 124, 255, 0.48), transparent 68%);
    animation: aurora-drift 18s ease-in-out infinite;
}

.home-hero__blob--b {
    width: min(60vw, 420px);
    height: min(60vw, 420px);
    right: -6%;
    bottom: 10%;
    background: radial-gradient(circle, rgba(36, 59, 122, 0.58), transparent 65%);
    animation: aurora-drift-reverse 22s ease-in-out infinite;
}

.home-hero__blob--c {
    width: min(45vw, 320px);
    height: min(45vw, 320px);
    left: 38%;
    bottom: -6%;
    background: radial-gradient(circle, rgba(224, 231, 255, 0.14), transparent 62%);
    animation: aurora-drift 26s ease-in-out infinite reverse;
}

.home-hero__grain {
    position: absolute;
    inset: 0;
    opacity: 0.055;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.anim-float-card {
    animation: float-soft 9s ease-in-out infinite;
}

.anim-float-card--delay {
    animation-delay: -4s;
}

.text-gradient-live {
    background: linear-gradient(
        105deg,
        var(--color-light-mist) 0%,
        var(--color-soft-glow) 40%,
        var(--color-light-mist) 80%
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: shimmer-text 11s ease-in-out infinite;
}

.marquee-shell {
    overflow: hidden;
    border-block: 1px solid rgba(224, 231, 255, 0.09);
    background: linear-gradient(
        90deg,
        rgba(15, 23, 42, 0.96),
        rgba(36, 59, 122, 0.38),
        rgba(15, 23, 42, 0.96)
    );
}

.marquee-track {
    display: flex;
    width: max-content;
    animation: marquee-slide 38s linear infinite;
}

.marquee-track:hover {
    animation-play-state: paused;
}

.marquee-track span {
    flex-shrink: 0;
    padding: var(--space-sm) var(--space-xl);
    font-family: var(--font-display);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(224, 231, 255, 0.62);
}

.marquee-track span::after {
    content: " \00b7 ";
    margin-left: var(--space-xl);
    color: rgba(106, 124, 255, 0.48);
}

.hover-rise {
    transition:
        transform 0.45s var(--ease-spring),
        box-shadow 0.45s var(--ease-out),
        border-color 0.38s var(--ease-out);
}

.hover-rise:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-glow);
}

.ring-shimmer {
    position: relative;
    border-radius: var(--radius-xl);
}

.ring-shimmer::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(
        120deg,
        rgba(106, 124, 255, 0.38),
        rgba(224, 231, 255, 0.14),
        rgba(106, 124, 255, 0.48),
        rgba(36, 59, 122, 0.52)
    );
    background-size: 300% 300%;
    animation: border-shimmer 10s linear infinite;
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

[data-stagger] > * {
    opacity: 0;
    transform: translateY(36px);
}

[data-stagger].is-inview > * {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 0.72s var(--ease-out),
        transform 0.72s var(--ease-out);
}

[data-stagger].is-inview > *:nth-child(1) {
    transition-delay: 0.04s;
}

[data-stagger].is-inview > *:nth-child(2) {
    transition-delay: 0.1s;
}

[data-stagger].is-inview > *:nth-child(3) {
    transition-delay: 0.16s;
}

[data-stagger].is-inview > *:nth-child(4) {
    transition-delay: 0.22s;
}

[data-stagger].is-inview > *:nth-child(5) {
    transition-delay: 0.28s;
}

[data-stagger].is-inview > *:nth-child(6) {
    transition-delay: 0.34s;
}

[data-stagger].is-inview > *:nth-child(7) {
    transition-delay: 0.4s;
}

[data-stagger].is-inview > *:nth-child(8) {
    transition-delay: 0.46s;
}

[data-stagger].is-inview > *:nth-child(9) {
    transition-delay: 0.52s;
}

[data-stagger].is-inview > *:nth-child(10) {
    transition-delay: 0.58s;
}

.page-hero {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    min-height: min(88vh, 840px);
    border-bottom: 1px solid rgba(224, 231, 255, 0.09);
}

.page-hero__mesh {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 85% 55% at 100% -10%, rgba(106, 124, 255, 0.28), transparent 52%),
        radial-gradient(ellipse 75% 50% at -5% 105%, rgba(36, 59, 122, 0.44), transparent 55%),
        linear-gradient(168deg, #040612 0%, #0c142c 42%, #050814 100%);
}

.page-hero__gridlines {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.06;
    background-image:
        linear-gradient(rgba(224, 231, 255, 0.42) 1px, transparent 1px),
        linear-gradient(90deg, rgba(224, 231, 255, 0.42) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: radial-gradient(
        ellipse 80% 70% at 50% 35%,
        #000 15%,
        transparent 72%
    );
}

.page-hero__accent {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    filter: blur(96px);
    will-change: transform;
}

.page-hero__accent--a {
    width: min(70vw, 440px);
    height: min(70vw, 440px);
    top: -14%;
    right: -6%;
    background: radial-gradient(circle, rgba(106, 124, 255, 0.44), transparent 68%);
    animation: aurora-drift 23s ease-in-out infinite;
}

.page-hero__accent--b {
    width: min(58vw, 380px);
    height: min(58vw, 380px);
    bottom: -20%;
    left: -8%;
    background: radial-gradient(circle, rgba(36, 59, 122, 0.5), transparent 66%);
    animation: aurora-drift-reverse 27s ease-in-out infinite;
}

.page-hero__grain {
    position: absolute;
    inset: 0;
    opacity: 0.048;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.page-hero__shell {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 80rem;
    margin-inline: auto;
    padding: clamp(3rem, 6vw, 5.5rem) clamp(1rem, 4vw, 2rem);
}

.page-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.42rem 1rem 0.42rem 0.48rem;
    border-radius: 999px;
    border: 1px solid rgba(224, 231, 255, 0.14);
    background: rgba(4, 6, 18, 0.55);
    backdrop-filter: blur(14px) saturate(1.4);
    font-family: var(--font-display);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(224, 231, 255, 0.88);
}

.page-hero__eyebrow-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 999px;
    background: linear-gradient(
        148deg,
        rgba(106, 124, 255, 0.4),
        rgba(36, 59, 122, 0.32)
    );
    border: 1px solid rgba(106, 124, 255, 0.4);
    font-size: 1.125rem;
    line-height: 1;
    color: var(--color-soft-glow);
}

.page-hero__headline {
    font-size: clamp(1.65rem, 2vw + 1rem, 2.65rem);
    line-height: 1.09;
    letter-spacing: -0.02em;
}

.page-hero__channel-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    margin-top: 0.125rem;
    border-radius: 999px;
    background: linear-gradient(
        148deg,
        rgba(106, 124, 255, 0.4),
        rgba(36, 59, 122, 0.32)
    );
    border: 1px solid rgba(106, 124, 255, 0.4);
    font-size: 1.125rem;
    line-height: 1;
    color: var(--color-soft-glow);
}

@media (prefers-reduced-motion: reduce) {
    .home-hero__blob,
    .page-hero__accent--a,
    .page-hero__accent--b,
    .anim-float-card,
    .text-gradient-live,
    .marquee-track {
        animation: none !important;
    }

    .home-hero__blob {
        opacity: 0.35;
    }

    .page-hero__accent--a,
    .page-hero__accent--b {
        opacity: 0.38;
    }

    .text-gradient-live {
        background: none;
        color: var(--color-light-mist);
        -webkit-background-clip: unset;
        background-clip: unset;
    }

    [data-stagger] > * {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

@media (max-width: 320px) {
    html {
        font-size: 95%;
    }

    body {
        font-size: 0.9375rem;
        line-height: 1.62;
    }

    .cookie-banner {
        inset-inline: var(--space-2xs);
        bottom: var(--space-2xs);
        padding: var(--space-md);
        max-width: none;
        border-radius: var(--radius-lg);
    }

    .cookie-banner__actions {
        flex-direction: column;
    }

    .cookie-banner__actions .ds-btn {
        width: 100%;
        justify-content: center;
    }

    .cookie-modal__panel {
        padding: var(--space-md);
        border-radius: var(--radius-lg);
    }

    .site-brand {
        font-size: 0.8125rem;
        letter-spacing: -0.03em;
        max-width: calc(100vw - 5.5rem);
    }

    .nav-burger {
        width: 42px;
        height: 42px;
    }

    .policy-hero__inner {
        padding-left: var(--space-sm);
        padding-right: var(--space-sm);
    }

    .policy-hero__panel {
        padding: var(--space-md);
    }

    .policy-body {
        padding-left: var(--space-sm);
        padding-right: var(--space-sm);
    }

    .ds-heading {
        letter-spacing: -0.03em;
    }

    .cookie-banner .ds-btn,
    .cookie-modal .ds-btn {
        padding: var(--space-2xs) var(--space-md);
        font-size: 0.875rem;
        width: 100%;
        max-width: 100%;
    }

    .thanks-actions .ds-btn {
        padding: var(--space-2xs) var(--space-md);
        font-size: 0.875rem;
        width: 100%;
        justify-content: center;
    }

    .thanks-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .policy-toc {
        position: static;
        margin-bottom: var(--space-lg);
    }

    .skip-link:focus {
        left: var(--space-2xs);
        top: var(--space-2xs);
        padding: var(--space-2xs) var(--space-xs);
        font-size: 0.8125rem;
    }
}
