*, :before, :after {
    --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: rgb(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: rgb(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:
}

*, :before, :after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color:#e5e7eb
}

:before, :after {
    --tw-content: ""
}

html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color:transparent
}

body {
    margin: 0;
    line-height:inherit
}

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;
    text-decoration:inherit
}

b, strong {
    font-weight:bolder
}

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

small {
    font-size:80%
}

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

sub {
    bottom:-.25em
}

sup {
    top:-.5em
}

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

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding:0
}

button, select {
    text-transform:none
}

button, input:where([type=button]), input:where([type=reset]), input:where([type=submit]) {
    -webkit-appearance: button;
    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] {
    -webkit-appearance: textfield;
    outline-offset:-2px
}

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

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font:inherit
}

summary {
    display:list-item
}

blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {
    margin:0
}

fieldset {
    margin: 0;
    padding:0
}

legend {
    padding:0
}

ol, ul, menu {
    list-style: none;
    margin: 0;
    padding:0
}

dialog {
    padding:0
}

textarea {
    resize:vertical
}

input::-moz-placeholder, textarea::-moz-placeholder {
    opacity: 1;
    color:#9ca3af
}

input::placeholder, textarea::placeholder {
    opacity: 1;
    color:#9ca3af
}

button, [role=button] {
    cursor:pointer
}

:disabled {
    cursor:default
}

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

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

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

:root {
    color-scheme:dark
}

* {
    border-color:#ffffff14
}

html {
    scroll-behavior:smooth
}

body {
    --tw-bg-opacity: 1;
    background-color: rgb(7 10 20 / var(--tw-bg-opacity, 1));
    font-family: DM Sans, system-ui, sans-serif;
    --tw-text-opacity: 1;
    color: rgb(245 248 255 / var(--tw-text-opacity, 1));
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering:optimizeLegibility
}

h1, h2, h3, h4 {
    font-family:Space Grotesk, system-ui, sans-serif
}

:focus-visible {
    outline: 2px solid #22D3EE;
    outline-offset: 3px;
    border-radius:4px
}

::-moz-selection {
    background: #8b5cf6;
    color:#fff
}

::selection {
    background: #8b5cf6;
    color:#fff
}

.container-x {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 80rem;
    padding-left: 1.25rem;
    padding-right:1.25rem
}

@media (min-width: 640px) {
    .container-x {
        padding-left: 2rem;
        padding-right:2rem
    }
}

.neon-text {
    background-image: linear-gradient(100deg, #22d3ee, #8b5cf6, #f0469b);
    -webkit-background-clip: text;
    background-clip: text;
    color:transparent
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border-radius: 9999px;
    border-width: 1px;
    border-color: #ffffff14;
    background-color: #0e142299;
    padding: .375rem .875rem;
    font-size: .75rem;
    line-height: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .18em;
    --tw-text-opacity: 1;
    color: rgb(154 167 194 / var(--tw-text-opacity, 1));
    --tw-backdrop-blur: blur(8px);
    -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)
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border-radius: 9999px;
    background-image: linear-gradient(100deg, #22d3ee, #8b5cf6, #f0469b);
    padding: .75rem 1.5rem;
    font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(7 10 20 / var(--tw-text-opacity, 1));
    --tw-shadow: 0 0 24px -2px rgba(34, 211, 238, .55), 0 0 60px -10px rgba(34, 211, 238, .35);
    --tw-shadow-colored: 0 0 24px -2px var(--tw-shadow-color), 0 0 60px -10px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    transition-property: transform;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration:.2s
}

.btn-primary:hover {
    --tw-translate-y: -.125rem;
    transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.btn-primary:active {
    --tw-translate-y: 0px;
    transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border-radius: 9999px;
    border-width: 1px;
    border-color: #ffffff14;
    background-color: #0e142299;
    padding: .75rem 1.5rem;
    font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 600;
    --tw-text-opacity: 1;
    color: rgb(245 248 255 / var(--tw-text-opacity, 1));
    --tw-backdrop-blur: blur(8px);
    -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-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration:.2s
}

.btn-ghost:hover {
    border-color: #22d3ee99;
    --tw-text-opacity: 1;
    color:rgb(34 211 238 / var(--tw-text-opacity, 1))
}

.card {
    border-radius: 1rem;
    border-width: 1px;
    border-color: #ffffff14;
    background-color: #0e1422b3;
    --tw-shadow: 0 1px 0 0 rgba(255, 255, 255, .04) inset, 0 20px 50px -20px rgba(0, 0, 0, .8);
    --tw-shadow-colored: inset 0 1px 0 0 var(--tw-shadow-color), 0 20px 50px -20px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-backdrop-blur: blur(4px);
    -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)
}

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

.pointer-events-none {
    pointer-events:none
}

.fixed {
    position:fixed
}

.absolute {
    position:absolute
}

.relative {
    position:relative
}

.sticky {
    position:sticky
}

.-inset-3 {
    top: -.75rem;
    right: -.75rem;
    bottom: -.75rem;
    left:-.75rem
}

.-inset-4 {
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left:-1rem
}

.inset-0 {
    top: 0;
    right: 0;
    bottom: 0;
    left:0
}

.inset-x-0 {
    left: 0;
    right:0
}

.inset-x-4 {
    left: 1rem;
    right:1rem
}

.-left-16 {
    left:-4rem
}

.-top-32 {
    top:-8rem
}

.bottom-4 {
    bottom:1rem
}

.bottom-5 {
    bottom:1.25rem
}

.bottom-\[-8rem\] {
    bottom:-8rem
}

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

.left-3 {
    left:.75rem
}

.left-4 {
    left:1rem
}

.left-\[-4rem\] {
    left:-4rem
}

.right-0 {
    right:0
}

.right-3 {
    right:.75rem
}

.right-4 {
    right:1rem
}

.right-5 {
    right:1.25rem
}

.right-\[-6rem\] {
    right:-6rem
}

.top-0 {
    top:0
}

.top-10 {
    top:2.5rem
}

.top-24 {
    top:6rem
}

.top-4 {
    top:1rem
}

.top-8 {
    top:2rem
}

.-z-10 {
    z-index:-10
}

.z-50 {
    z-index:50
}

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

.mx-auto {
    margin-left: auto;
    margin-right:auto
}

.mb-5 {
    margin-bottom:1.25rem
}

.mb-6 {
    margin-bottom:1.5rem
}

.mt-0\.5 {
    margin-top:.125rem
}

.mt-1 {
    margin-top:.25rem
}

.mt-10 {
    margin-top:2.5rem
}

.mt-12 {
    margin-top:3rem
}

.mt-14 {
    margin-top:3.5rem
}

.mt-2 {
    margin-top:.5rem
}

.mt-2\.5 {
    margin-top:.625rem
}

.mt-20 {
    margin-top:5rem
}

.mt-3 {
    margin-top:.75rem
}

.mt-4 {
    margin-top:1rem
}

.mt-5 {
    margin-top:1.25rem
}

.mt-6 {
    margin-top:1.5rem
}

.mt-8 {
    margin-top:2rem
}

.block {
    display:block
}

.flex {
    display:flex
}

.inline-flex {
    display:inline-flex
}

.grid {
    display:grid
}

.hidden {
    display:none
}

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

.h-10 {
    height:2.5rem
}

.h-11 {
    height:2.75rem
}

.h-12 {
    height:3rem
}

.h-16 {
    height:4rem
}

.h-2 {
    height:.5rem
}

.h-3\.5 {
    height:.875rem
}

.h-4 {
    height:1rem
}

.h-48 {
    height:12rem
}

.h-5 {
    height:1.25rem
}

.h-6 {
    height:1.5rem
}

.h-8 {
    height:2rem
}

.h-80 {
    height:20rem
}

.h-9 {
    height:2.25rem
}

.h-\[36rem\] {
    height:36rem
}

.h-full {
    height:100%
}

.h-px {
    height:1px
}

.max-h-\[72vh\] {
    max-height:72vh
}

.max-h-\[88vh\] {
    max-height:88vh
}

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

.w-10 {
    width:2.5rem
}

.w-11 {
    width:2.75rem
}

.w-12 {
    width:3rem
}

.w-2 {
    width:.5rem
}

.w-3\.5 {
    width:.875rem
}

.w-4 {
    width:1rem
}

.w-48 {
    width:12rem
}

.w-5 {
    width:1.25rem
}

.w-6 {
    width:1.5rem
}

.w-7 {
    width:1.75rem
}

.w-8 {
    width:2rem
}

.w-80 {
    width:20rem
}

.w-9 {
    width:2.25rem
}

.w-\[36rem\] {
    width:36rem
}

.w-full {
    width:100%
}

.w-max {
    width: -moz-max-content;
    width:max-content
}

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

.min-w-\[11rem\] {
    min-width:11rem
}

.max-w-2xl {
    max-width:42rem
}

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

.max-w-lg {
    max-width:32rem
}

.max-w-sm {
    max-width:24rem
}

.max-w-xl {
    max-width:36rem
}

.flex-1 {
    flex:1 1 0%
}

.shrink-0 {
    flex-shrink:0
}

.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.rotate-180 {
    --tw-rotate: 180deg;
    transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

@keyframes flicker {
    0%, to {
        opacity:1
    }

    41% {
        opacity:1
    }

    42% {
        opacity:.55
    }

    43% {
        opacity:1
    }

    45% {
        opacity:.7
    }

    46% {
        opacity:1
    }
}

.animate-flicker {
    animation:flicker 4.5s linear infinite
}

@keyframes float {
    0%, to {
        transform:translateY(0)
    }

    50% {
        transform:translateY(-10px)
    }
}

.animate-float {
    animation:float 6s ease-in-out infinite
}

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

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

.animate-marquee {
    animation:marquee 28s linear infinite
}

.scroll-mt-20 {
    scroll-margin-top:5rem
}

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

.flex-col {
    flex-direction:column
}

.flex-wrap {
    flex-wrap:wrap
}

.place-items-center {
    place-items:center
}

.items-center {
    align-items:center
}

.justify-center {
    justify-content:center
}

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

.gap-1 {
    gap:.25rem
}

.gap-1\.5 {
    gap:.375rem
}

.gap-10 {
    gap:2.5rem
}

.gap-12 {
    gap:3rem
}

.gap-14 {
    gap:3.5rem
}

.gap-2 {
    gap:.5rem
}

.gap-2\.5 {
    gap:.625rem
}

.gap-3 {
    gap:.75rem
}

.gap-4 {
    gap:1rem
}

.gap-5 {
    gap:1.25rem
}

.gap-8 {
    gap:2rem
}

.gap-px {
    gap:1px
}

.gap-x-12 {
    -moz-column-gap: 3rem;
    column-gap:3rem
}

.gap-x-6 {
    -moz-column-gap: 1.5rem;
    column-gap:1.5rem
}

.gap-y-3 {
    row-gap:.75rem
}

.gap-y-6 {
    row-gap:1.5rem
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom:calc(1rem * var(--tw-space-y-reverse))
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width:calc(1px * var(--tw-divide-y-reverse))
}

.divide-line > :not([hidden]) ~ :not([hidden]) {
    border-color:#ffffff14
}

.overflow-hidden {
    overflow:hidden
}

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space:nowrap
}

.rounded-2xl {
    border-radius:1rem
}

.rounded-3xl {
    border-radius:1.5rem
}

.rounded-\[1\.75rem\] {
    border-radius:1.75rem
}

.rounded-\[2\.25rem\] {
    border-radius:2.25rem
}

.rounded-\[2rem\] {
    border-radius:2rem
}

.rounded-full {
    border-radius:9999px
}

.rounded-lg {
    border-radius:.5rem
}

.rounded-xl {
    border-radius:.75rem
}

.border {
    border-width:1px
}

.border-y {
    border-top-width: 1px;
    border-bottom-width:1px
}

.border-b {
    border-bottom-width:1px
}

.border-t {
    border-top-width:1px
}

.border-cyan\/60 {
    border-color:#22d3ee99
}

.border-line {
    border-color:#ffffff14
}

.border-transparent {
    border-color:transparent
}

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

.bg-bg\/60 {
    background-color:#070a1499
}

.bg-bg\/70 {
    background-color:#070a14b3
}

.bg-bg\/80 {
    background-color:#070a14cc
}

.bg-bg\/95 {
    background-color:#070a14f2
}

.bg-black {
    --tw-bg-opacity: 1;
    background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))
}

.bg-cyan {
    --tw-bg-opacity: 1;
    background-color:rgb(34 211 238 / var(--tw-bg-opacity, 1))
}

.bg-cyan\/10 {
    background-color:#22d3ee1a
}

.bg-cyan\/15 {
    background-color:#22d3ee26
}

.bg-cyan\/20 {
    background-color:#22d3ee33
}

.bg-line {
    background-color:#ffffff14
}

.bg-pink\/20 {
    background-color:#f0469b33
}

.bg-surface {
    --tw-bg-opacity: 1;
    background-color:rgb(14 20 34 / var(--tw-bg-opacity, 1))
}

.bg-surface-2 {
    --tw-bg-opacity: 1;
    background-color:rgb(20 28 46 / var(--tw-bg-opacity, 1))
}

.bg-surface-2\/60 {
    background-color:#141c2e99
}

.bg-surface\/30 {
    background-color:#0e14224d
}

.bg-surface\/40 {
    background-color:#0e142266
}

.bg-surface\/60 {
    background-color:#0e142299
}

.bg-surface\/70 {
    background-color:#0e1422b3
}

.bg-surface\/80 {
    background-color:#0e1422cc
}

.bg-surface\/95 {
    background-color:#0e1422f2
}

.bg-violet\/20 {
    background-color:#8b5cf633
}

.bg-gradient-to-t {
    background-image:linear-gradient(to top, var(--tw-gradient-stops))
}

.bg-grid-faint {
    background-image:linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px)
}

.bg-neon-gradient {
    background-image:linear-gradient(100deg, #22d3ee, #8b5cf6, #f0469b)
}

.from-bg\/80 {
    --tw-gradient-from: rgb(7 10 20 / .8) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(7 10 20 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

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

.to-bg\/10 {
    --tw-gradient-to: rgb(7 10 20 / .1) var(--tw-gradient-to-position)
}

.object-contain {
    -o-object-fit: contain;
    object-fit:contain
}

.object-cover {
    -o-object-fit: cover;
    object-fit:cover
}

.p-1 {
    padding:.25rem
}

.p-4 {
    padding:1rem
}

.p-5 {
    padding:1.25rem
}

.p-7 {
    padding:1.75rem
}

.p-8 {
    padding:2rem
}

.px-1 {
    padding-left: .25rem;
    padding-right:.25rem
}

.px-2\.5 {
    padding-left: .625rem;
    padding-right:.625rem
}

.px-3 {
    padding-left: .75rem;
    padding-right:.75rem
}

.px-3\.5 {
    padding-left: .875rem;
    padding-right:.875rem
}

.px-4 {
    padding-left: 1rem;
    padding-right:1rem
}

.py-1 {
    padding-top: .25rem;
    padding-bottom:.25rem
}

.py-1\.5 {
    padding-top: .375rem;
    padding-bottom:.375rem
}

.py-14 {
    padding-top: 3.5rem;
    padding-bottom:3.5rem
}

.py-16 {
    padding-top: 4rem;
    padding-bottom:4rem
}

.py-2 {
    padding-top: .5rem;
    padding-bottom:.5rem
}

.py-2\.5 {
    padding-top: .625rem;
    padding-bottom:.625rem
}

.py-24 {
    padding-top: 6rem;
    padding-bottom:6rem
}

.py-3 {
    padding-top: .75rem;
    padding-bottom:.75rem
}

.py-4 {
    padding-top: 1rem;
    padding-bottom:1rem
}

.py-8 {
    padding-top: 2rem;
    padding-bottom:2rem
}

.pb-20 {
    padding-bottom:5rem
}

.pt-2 {
    padding-top:.5rem
}

.pt-24 {
    padding-top:6rem
}

.pt-28 {
    padding-top:7rem
}

.pt-6 {
    padding-top:1.5rem
}

.text-left {
    text-align:left
}

.text-center {
    text-align:center
}

.text-right {
    text-align:right
}

.font-heading {
    font-family:Space Grotesk, system-ui, sans-serif
}

.text-2xl {
    font-size: 1.5rem;
    line-height:2rem
}

.text-4xl {
    font-size: 2.25rem;
    line-height:2.5rem
}

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

.text-base {
    font-size: 1rem;
    line-height:1.5rem
}

.text-display {
    font-size: clamp(2.6rem, 7vw, 5.5rem);
    line-height: 1.02;
    letter-spacing:-.02em
}

.text-h1 {
    font-size: clamp(2rem, 4.5vw, 3.25rem);
    line-height: 1.08;
    letter-spacing:-.02em
}

.text-h2 {
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    line-height: 1.15;
    letter-spacing:-.01em
}

.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-medium {
    font-weight:500
}

.font-semibold {
    font-weight:600
}

.uppercase {
    text-transform:uppercase
}

.leading-relaxed {
    line-height:1.625
}

.leading-snug {
    line-height:1.375
}

.tracking-\[0\.18em\] {
    letter-spacing:.18em
}

.tracking-\[0\.22em\] {
    letter-spacing:.22em
}

.tracking-tight {
    letter-spacing:-.025em
}

.tracking-wide {
    letter-spacing:.025em
}

.text-amber {
    --tw-text-opacity: 1;
    color:rgb(251 191 36 / var(--tw-text-opacity, 1))
}

.text-bg {
    --tw-text-opacity: 1;
    color:rgb(7 10 20 / var(--tw-text-opacity, 1))
}

.text-cyan {
    --tw-text-opacity: 1;
    color:rgb(34 211 238 / var(--tw-text-opacity, 1))
}

.text-ink {
    --tw-text-opacity: 1;
    color:rgb(245 248 255 / var(--tw-text-opacity, 1))
}

.text-ink-muted {
    --tw-text-opacity: 1;
    color:rgb(154 167 194 / var(--tw-text-opacity, 1))
}

.text-ink-muted\/70 {
    color:#9aa7c2b3
}

.text-pink {
    --tw-text-opacity: 1;
    color:rgb(240 70 155 / var(--tw-text-opacity, 1))
}

.text-transparent {
    color:transparent
}

.text-violet {
    --tw-text-opacity: 1;
    color:rgb(139 92 246 / var(--tw-text-opacity, 1))
}

.text-white {
    --tw-text-opacity: 1;
    color:rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.opacity-10 {
    opacity:.1
}

.opacity-25 {
    opacity:.25
}

.shadow-card {
    --tw-shadow: 0 1px 0 0 rgba(255, 255, 255, .04) inset, 0 20px 50px -20px rgba(0, 0, 0, .8);
    --tw-shadow-colored: inset 0 1px 0 0 var(--tw-shadow-color), 0 20px 50px -20px 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-cyan {
    --tw-shadow: 0 0 24px -2px rgba(34, 211, 238, .55), 0 0 60px -10px rgba(34, 211, 238, .35);
    --tw-shadow-colored: 0 0 24px -2px var(--tw-shadow-color), 0 0 60px -10px var(--tw-shadow-color);
    box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.blur-2xl {
    --tw-blur: blur(40px);
    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-3xl {
    --tw-blur: blur(64px);
    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-\[110px\] {
    --tw-blur: blur(110px);
    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-\[120px\] {
    --tw-blur: blur(120px);
    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)
}

.filter {
    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 {
    --tw-backdrop-blur: blur(8px);
    -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)
}

.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)
}

.backdrop-blur-xl {
    --tw-backdrop-blur: blur(24px);
    -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-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration:.15s
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration:.15s
}

.transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration:.15s
}

.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration:.15s
}

.duration-200 {
    transition-duration:.2s
}

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

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

.\[-webkit-text-stroke\:1px_rgba\(255\, 255\, 255\, 0\.18\)\] {
    -webkit-text-stroke:1px rgba(255, 255, 255, .18)
}

.\[background-size\:56px_56px\] {
    background-size:56px 56px
}

.\[mask-image\:linear-gradient\(90deg\, transparent\, black_12\%\, black_88\%\, transparent\)\] {
    -webkit-mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent);
    mask-image:linear-gradient(90deg, transparent, black 12%, black 88%, transparent)
}

.\[mask-image\:radial-gradient\(ellipse_at_center\, black\, transparent_72\%\)\] {
    -webkit-mask-image: radial-gradient(ellipse at center, black, transparent 72%);
    mask-image:radial-gradient(ellipse at center, black, transparent 72%)
}

.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .6s cubic-bezier(.22, 1, .36, 1), transform .6s cubic-bezier(.22, 1, .36, 1);
    will-change:opacity, transform
}

.reveal.is-visible {
    opacity: 1;
    transform:none
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior:auto
    }

    *, *:before, *:after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration:.001ms !important
    }

    .reveal {
        opacity: 1;
        transform:none
    }
}

.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -.125rem;
    transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:-translate-y-1:hover {
    --tw-translate-y: -.25rem;
    transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:border-cyan\/60:hover {
    border-color:#22d3ee99
}

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

.hover\:bg-surface:hover {
    --tw-bg-opacity: 1;
    background-color:rgb(14 20 34 / var(--tw-bg-opacity, 1))
}

.hover\:bg-surface-2:hover {
    --tw-bg-opacity: 1;
    background-color:rgb(20 28 46 / var(--tw-bg-opacity, 1))
}

.hover\:text-cyan:hover {
    --tw-text-opacity: 1;
    color:rgb(34 211 238 / var(--tw-text-opacity, 1))
}

.hover\:text-ink:hover {
    --tw-text-opacity: 1;
    color:rgb(245 248 255 / var(--tw-text-opacity, 1))
}

.focus\:not-sr-only:focus {
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space:normal
}

.focus\:fixed:focus {
    position:fixed
}

.focus\:left-4:focus {
    left:1rem
}

.focus\:top-4:focus {
    top:1rem
}

.focus\:z-\[100\]:focus {
    z-index:100
}

.focus\:rounded-lg:focus {
    border-radius:.5rem
}

.focus\:bg-cyan:focus {
    --tw-bg-opacity: 1;
    background-color:rgb(34 211 238 / var(--tw-bg-opacity, 1))
}

.focus\:px-4:focus {
    padding-left: 1rem;
    padding-right:1rem
}

.focus\:py-2:focus {
    padding-top: .5rem;
    padding-bottom:.5rem
}

.focus\:text-sm:focus {
    font-size: .875rem;
    line-height:1.25rem
}

.focus\:font-semibold:focus {
    font-weight:600
}

.focus\:text-bg:focus {
    --tw-text-opacity: 1;
    color:rgb(7 10 20 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:scale-105 {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:border-cyan\/60 {
    border-color:#22d3ee99
}

.group:hover .group-hover\:text-cyan {
    --tw-text-opacity: 1;
    color:rgb(34 211 238 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:shadow-glow-cyan {
    --tw-shadow: 0 0 24px -2px rgba(34, 211, 238, .55), 0 0 60px -10px rgba(34, 211, 238, .35);
    --tw-shadow-colored: 0 0 24px -2px var(--tw-shadow-color), 0 0 60px -10px var(--tw-shadow-color);
    box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.group:hover .group-hover\:shadow-glow-pink {
    --tw-shadow: 0 0 24px -2px rgba(240, 70, 155, .55), 0 0 60px -10px rgba(240, 70, 155, .35);
    --tw-shadow-colored: 0 0 24px -2px var(--tw-shadow-color), 0 0 60px -10px var(--tw-shadow-color);
    box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.group:hover .group-hover\:shadow-glow-violet {
    --tw-shadow: 0 0 24px -2px rgba(139, 92, 246, .55), 0 0 60px -10px rgba(139, 92, 246, .35);
    --tw-shadow-colored: 0 0 24px -2px var(--tw-shadow-color), 0 0 60px -10px var(--tw-shadow-color);
    box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

@media (min-width: 640px) {
    .sm\:left-6 {
        left:1.5rem
    }

    .sm\:right-6 {
        right:1.5rem
    }

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

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

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

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

    .sm\:p-10 {
        padding:2.5rem
    }

    .sm\:py-28 {
        padding-top: 7rem;
        padding-bottom:7rem
    }

    .sm\:pt-28 {
        padding-top:7rem
    }

    .sm\:pt-36 {
        padding-top:9rem
    }
}

@media (min-width: 768px) {
    .md\:flex {
        display:flex
    }

    .md\:hidden {
        display:none
    }

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

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

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

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

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

@media (min-width: 1024px) {
    .lg\:block {
        display:block
    }

    .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-4 {
        grid-template-columns:repeat(4, minmax(0, 1fr))
    }

    .lg\:grid-cols-\[0\.9fr_1\.1fr\] {
        grid-template-columns:.9fr 1.1fr
    }

    .lg\:grid-cols-\[1\.05fr_0\.95fr\] {
        grid-template-columns:1.05fr .95fr
    }

    .lg\:grid-cols-\[1\.6fr_1fr\] {
        grid-template-columns:1.6fr 1fr
    }

    .lg\:border-b-0 {
        border-bottom-width:0px
    }

    .lg\:border-r {
        border-right-width:1px
    }

    .lg\:pb-28 {
        padding-bottom: 7rem
    }
}

/* ═══════════════════════════════════════════════
   Language dropdown
═══════════════════════════════════════════════ */

.lang-dropdown {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    z-index: 200;
    min-width: 11rem;
    padding: 0.375rem;
    border-radius: 0.875rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(14, 20, 34, 0.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
    opacity: 0;
    transform: translateY(-6px) scale(0.97);
    pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.lang-dropdown.is-open {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.lang-dropdown li button {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0.5rem 0.875rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #9aa7c2;
    transition: background 0.15s, color 0.15s;
    cursor: pointer;
}

.lang-dropdown li button:hover {
    background: rgba(255, 255, 255, 0.05);
    color: #f5f8ff;
}

.lang-dropdown li button[aria-selected="true"] {
    color: #22d3ee;
}

/* Chevron rotation when open */
[aria-label="Language"].lang-open .lucide-chevron-down {
    transform: rotate(180deg);
}

/* ═══════════════════════════════════════════════
   Process step numbers
═══════════════════════════════════════════════ */

#process .card > span:first-child {
    -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.45);
    color: transparent;
}

/* ═══════════════════════════════════════════════
   Mobile menu
═══════════════════════════════════════════════ */

#mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 49;
    padding-top: 4rem; /* clears h-16 header */
    padding-bottom: 1.5rem;
    background: rgba(7, 10, 20, 0.97);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    transform: translateY(-100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

#mobile-menu.is-open {
    transform: translateY(0);
    pointer-events: auto;
}

@media (min-width: 768px) {
    #mobile-menu { display: none; }
}

.mobile-menu__links {
    display: flex;
    flex-direction: column;
    margin-top: 0.5rem;
}

.mobile-menu__links li a {
    display: block;
    padding: 1rem 0;
    font-size: 1.125rem;
    font-weight: 500;
    color: #9aa7c2;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: color 0.2s, padding-left 0.2s;
}

.mobile-menu__links li a:hover {
    color: #f5f8ff;
    padding-left: 0.375rem;
}

.mobile-menu__cta {
    margin-top: 1.5rem;
    display: flex;
}

/* Active burger state */
#mobile-burger.is-open {
    border-color: rgba(34, 211, 238, 0.5);
    color: #22d3ee;
}

/* ═══════════════════════════════════════════════
   Work filter tabs
═══════════════════════════════════════════════ */

[role="tab"][aria-selected="true"] {
    border-color: rgba(34, 211, 238, 0.6) !important;
    background-color: rgba(34, 211, 238, 0.1) !important;
    color: #22d3ee !important;
}

[role="tab"][aria-selected="false"] {
    border-color: rgba(255, 255, 255, 0.07) !important;
    background-color: rgba(14, 20, 34, 0.6) !important;
    color: #9aa7c2 !important;
}

[role="tab"][aria-selected="false"]:hover {
    color: #f5f8ff !important;
}

/* ═══════════════════════════════════════════════
   Portfolio inline expand panel
═══════════════════════════════════════════════ */

/* Active card highlight */
#work .grid a[data-slug].is-active {
    border-color: var(--panel-color, rgba(34,211,238,.6));
    box-shadow: 0 0 0 1px var(--panel-color, rgba(34,211,238,.4));
}

/* Panel wrapper — spans all grid columns */
.portfolio-panel {
    grid-column: 1 / -1;
    position: relative;
    border-radius: 1.25rem;
    border: 1px solid rgba(255,255,255,0.10);
    background-color: rgba(14,20,34,0.90);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    overflow: hidden;
    padding: 2rem;
    margin-top: 0.25rem;
}

/* Ambient glow blob (top-left) */
.portfolio-panel__glow {
    pointer-events: none;
    position: absolute;
    top: -4rem;
    left: -4rem;
    width: 18rem;
    height: 18rem;
    border-radius: 50%;
    background: rgba(var(--panel-rgb, 34,211,238), 0.12);
    filter: blur(60px);
    z-index: 0;
}

/* Everything above glow */
.portfolio-panel > *:not(.portfolio-panel__glow) {
    position: relative;
    z-index: 1;
}

/* Close button */
.portfolio-panel__close {
    flex-shrink: 0;
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.625rem;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.05);
    color: #9aa7c2;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.portfolio-panel__close:hover {
    border-color: var(--panel-color, #22d3ee);
    color: var(--panel-color, #22d3ee);
    background: rgba(var(--panel-rgb, 34,211,238), 0.08);
}

/* Header */
.portfolio-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.portfolio-panel__title {
    margin-top: 0.75rem;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #f5f8ff;
}
.portfolio-panel__scope {
    margin-top: 0.375rem;
    font-size: 0.9375rem;
    color: #9aa7c2;
}

/* Hero image */
.portfolio-panel__hero {
    margin-bottom: 1.75rem;
}
.portfolio-panel__hero img {
    width: 100%;
    max-height: 52vh;
    border-radius: 0.875rem;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,0.08);
}

/* Body two-column */
.portfolio-panel__body {
    display: grid;
    gap: 1.75rem;
    margin-bottom: 1.75rem;
}
@media (min-width: 768px) {
    .portfolio-panel__body {
        grid-template-columns: 1.6fr 1fr;
    }
}

/* Left column */
.portfolio-panel__section-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #f5f8ff;
    margin-bottom: 0.625rem;
}
.portfolio-panel__text {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: #9aa7c2;
}

/* Services list */
.portfolio-panel__services {
    display: grid;
    gap: 0.5rem;
}
@media (min-width: 480px) {
    .portfolio-panel__services {
        grid-template-columns: repeat(2, 1fr);
    }
}
.portfolio-panel__service {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(255,255,255,0.07);
    background: rgba(255,255,255,0.03);
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #f5f8ff;
}
.portfolio-panel__check {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    flex-shrink: 0;
    border-radius: 0.5rem;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(14,20,34,0.8);
    color: var(--panel-color, #22d3ee);
}

/* Aside / details card */
.portfolio-panel__details {
    padding: 1.5rem;
}
.portfolio-panel__details-label {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #9aa7c2;
    margin-bottom: 1rem;
}
.portfolio-panel__dl {
    border-top: 1px solid rgba(255,255,255,0.07);
}
.portfolio-panel__dl > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.625rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}
.portfolio-panel__dl dt {
    font-size: 0.8125rem;
    color: #9aa7c2;
}
.portfolio-panel__dl dd {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #f5f8ff;
    text-align: right;
}

/* Aside CTA box */
.portfolio-panel__cta {
    margin-top: 1.25rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(255,255,255,0.07);
    background: rgba(var(--panel-rgb, 34,211,238), 0.05);
    padding: 1.125rem;
}
.portfolio-panel__cta-title {
    font-weight: 600;
    font-size: 0.9375rem;
    color: #f5f8ff;
    margin-bottom: 0.375rem;
}
.portfolio-panel__cta-text {
    font-size: 0.8125rem;
    line-height: 1.6;
    color: #9aa7c2;
    margin-bottom: 0.875rem;
}
.portfolio-panel__cta-btn {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Gallery grid */
.portfolio-panel__gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}
@media (min-width: 640px) {
    .portfolio-panel__gallery {
        grid-template-columns: repeat(4, 1fr);
    }
}
.portfolio-panel__gallery-item {
    display: block;
    overflow: hidden;
    border-radius: 0.75rem;
    border: 1px solid rgba(255,255,255,0.07);
    cursor: zoom-in;
}
.portfolio-panel__gallery-item img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}
.portfolio-panel__gallery-item:hover img {
    transform: scale(1.05);
}

/* Dynamic glow for service cards — reads CSS vars set per-card */
.group:hover .group-hover\:shadow-glow-custom {
    --tw-shadow: 0 0 24px -2px var(--svc-glow-1, rgba(34,211,238,.55)), 0 0 60px -10px var(--svc-glow-2, rgba(34,211,238,.35));
    --tw-shadow-colored: 0 0 24px -2px var(--tw-shadow-color), 0 0 60px -10px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)
}
