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

        :root,
        :host {
            --shimmer-angle: 20deg
        }

        *,
        :before,
        :after {
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-scroll-snap-strictness: proximity;
            --tw-space-x-reverse: 0;
            --tw-border-style: solid;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-tracking: initial;
            --tw-ordinal: initial;
            --tw-slashed-zero: initial;
            --tw-numeric-figure: initial;
            --tw-numeric-spacing: initial;
            --tw-numeric-fraction: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-outline-style: solid;
            --tw-duration: initial;
            --tw-ease: initial;
            --tw-content: "";
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1;
            --tw-animation-delay: 0s;
            --tw-animation-direction: normal;
            --tw-animation-duration: initial;
            --tw-animation-fill-mode: none;
            --tw-animation-iteration-count: 1;
            --tw-enter-blur: 0;
            --tw-enter-opacity: 1;
            --tw-enter-rotate: 0;
            --tw-enter-scale: 1;
            --tw-enter-translate-x: 0;
            --tw-enter-translate-y: 0;
            --tw-exit-blur: 0;
            --tw-exit-opacity: 1;
            --tw-exit-rotate: 0;
            --tw-exit-scale: 1;
            --tw-exit-translate-x: 0;
            --tw-exit-translate-y: 0;
            --scroll-fade-t: 0px;
            --scroll-fade-b: 0px;
            --scroll-fade-s: 0px;
            --scroll-fade-e: 0px;
            --scroll-fade-mask: initial;
            --shimmer-image: initial;
            --shimmer-text-fill: initial
        }

        ::backdrop {
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-scroll-snap-strictness: proximity;
            --tw-space-x-reverse: 0;
            --tw-border-style: solid;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-tracking: initial;
            --tw-ordinal: initial;
            --tw-slashed-zero: initial;
            --tw-numeric-figure: initial;
            --tw-numeric-spacing: initial;
            --tw-numeric-fraction: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-outline-style: solid;
            --tw-duration: initial;
            --tw-ease: initial;
            --tw-content: "";
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1;
            --tw-animation-delay: 0s;
            --tw-animation-direction: normal;
            --tw-animation-duration: initial;
            --tw-animation-fill-mode: none;
            --tw-animation-iteration-count: 1;
            --tw-enter-blur: 0;
            --tw-enter-opacity: 1;
            --tw-enter-rotate: 0;
            --tw-enter-scale: 1;
            --tw-enter-translate-x: 0;
            --tw-enter-translate-y: 0;
            --tw-exit-blur: 0;
            --tw-exit-opacity: 1;
            --tw-exit-rotate: 0;
            --tw-exit-scale: 1;
            --tw-exit-translate-x: 0;
            --tw-exit-translate-y: 0;
            --scroll-fade-t: 0px;
            --scroll-fade-b: 0px;
            --scroll-fade-s: 0px;
            --scroll-fade-e: 0px;
            --scroll-fade-mask: initial;
            --shimmer-image: initial;
            --shimmer-text-fill: initial
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --container-xs: 20rem;
        --container-sm: 24rem;
        --container-lg: 32rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1 / .75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25 / .875);
        --text-base: 1rem;
        --text-base--line-height: calc(1.5 / 1);
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75 / 1.125);
        --font-weight-normal: 400;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --tracking-tight: -.025em;
        --tracking-widest: .1em;
        --leading-tight: 1.25;
        --leading-snug: 1.375;
        --leading-normal: 1.5;
        --leading-relaxed: 1.625;
        --radius-xs: .125rem;
        --ease-in-out: cubic-bezier(.4, 0, .2, 1);
        --animate-spin: spin 1s linear infinite;
        --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
        --aspect-video: 16 / 9;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: Manrope, Arial, sans-serif;
        --default-mono-font-family: var(--font-mono);
        --color-border: var(--border)
    }
}

@layer base {

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

    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

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

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

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

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

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

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

    b,
    strong {
        font-weight: bolder
    }

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

    small {
        font-size: 80%
    }

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

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

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

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

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

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

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

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

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

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

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

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

    ::placeholder {
        opacity: 1
    }

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

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

    textarea {
        resize: vertical
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@layer components;

@layer utilities {
    .\@container\/card-header {
        container: card-header/inline-size
    }

    .\@container\/field-group {
        container: field-group/inline-size
    }

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

    .invisible {
        visibility: hidden
    }

    .visible {
        visibility: visible
    }

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

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .sticky {
        position: sticky
    }

    .inset-0 {
        inset: calc(var(--spacing) * 0)
    }

    .inset-x-0 {
        inset-inline: calc(var(--spacing) * 0)
    }

    .inset-y-0 {
        inset-block: calc(var(--spacing) * 0)
    }

    .inset-s-1\/2 {
        inset-inline-start: 50%
    }

    .start {
        inset-inline-start: var(--spacing)
    }

    .end {
        inset-inline-end: var(--spacing)
    }

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

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

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

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

    .top-3\.5 {
        top: calc(var(--spacing) * 3.5)
    }

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

    .top-\[1px\] {
        top: 1px
    }

    .top-\[50\%\] {
        top: 50%
    }

    .top-\[60\%\] {
        top: 60%
    }

    .top-full {
        top: 100%
    }

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

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

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

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

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

    .right-3\.5 {
        right: calc(var(--spacing) * 3.5)
    }

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

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

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

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

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

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

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

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

    .left-\[50\%\] {
        left: 50%
    }

    .isolate {
        isolation: isolate
    }

    .z-10 {
        z-index: 10
    }

    .z-20 {
        z-index: 20
    }

    .z-50 {
        z-index: 50
    }

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

    .order-first {
        order: -9999
    }

    .order-last {
        order: 9999
    }

    .col-start-2 {
        grid-column-start: 2
    }

    .row-span-2 {
        grid-row: span 2/span 2
    }

    .row-start-1 {
        grid-row-start: 1
    }

    .m-0\! {
        margin: calc(var(--spacing) * 0) !important
    }

    .-mx-1 {
        margin-inline: calc(var(--spacing) * -1)
    }

    .mx-2 {
        margin-inline: calc(var(--spacing) * 2)
    }

    .mx-3\.5 {
        margin-inline: calc(var(--spacing) * 3.5)
    }

    .mx-auto {
        margin-inline: auto
    }

    .-my-2 {
        margin-block: calc(var(--spacing) * -2)
    }

    .my-0 {
        margin-block: calc(var(--spacing) * 0)
    }

    .my-0\.5 {
        margin-block: calc(var(--spacing) * .5)
    }

    .my-1 {
        margin-block: calc(var(--spacing) * 1)
    }

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

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

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

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

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

    .mt-auto {
        margin-top: auto
    }

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

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

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

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

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

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

    .ml-auto {
        margin-left: auto
    }

    .line-clamp-1 {
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    .line-clamp-2 {
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    .block {
        display: block
    }

    .contents {
        display: contents
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .inline-flex {
        display: inline-flex
    }

    .table {
        display: table
    }

    .table-caption {
        display: table-caption
    }

    .table-cell {
        display: table-cell
    }

    .table-row {
        display: table-row
    }

    .field-sizing-content {
        field-sizing: content
    }

    .aspect-square {
        aspect-ratio: 1
    }

    .aspect-video {
        aspect-ratio: var(--aspect-video)
    }

    .size-\(--cell-size\) {
        width: var(--cell-size);
        height: var(--cell-size)
    }

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

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

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

    .size-3\.5 {
        width: calc(var(--spacing) * 3.5);
        height: calc(var(--spacing) * 3.5)
    }

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

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

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

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

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

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

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

    .size-auto {
        width: auto;
        height: auto
    }

    .size-full {
        width: 100%;
        height: 100%
    }

    .h-\(--cell-size\) {
        height: var(--cell-size)
    }

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

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

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

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

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

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

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

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

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

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

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

    .h-\[calc\(--spacing\(5\.5\)\)\] {
        height: calc(calc(var(--spacing) * 5.5))
    }

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

    .h-\[var\(--radix-navigation-menu-viewport-height\)\] {
        height: var(--radix-navigation-menu-viewport-height)
    }

    .h-\[var\(--radix-select-trigger-height\)\] {
        height: var(--radix-select-trigger-height)
    }

    .h-auto {
        height: auto
    }

    .h-full {
        height: 100%
    }

    .h-max {
        height: max-content
    }

    .h-px {
        height: 1px
    }

    .h-svh {
        height: 100svh
    }

    .max-h-\(--radix-context-menu-content-available-height\) {
        max-height: var(--radix-context-menu-content-available-height)
    }

    .max-h-\(--radix-dropdown-menu-content-available-height\) {
        max-height: var(--radix-dropdown-menu-content-available-height)
    }

    .max-h-\(--radix-select-content-available-height\) {
        max-height: var(--radix-select-content-available-height)
    }

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

    .max-h-\[300px\] {
        max-height: 300px
    }

    .max-h-\[min\(calc\(--spacing\(96\)---spacing\(9\)\)\,calc\(var\(--available-height\)---spacing\(9\)\)\)\] {
        max-height: min(calc(calc(var(--spacing) * 96) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)))
    }

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

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

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

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

    .min-h-full {
        min-height: 100%
    }

    .min-h-svh {
        min-height: 100svh
    }

    .w-\(--anchor-width\) {
        width: var(--anchor-width)
    }

    .w-\(--cell-size\) {
        width: var(--cell-size)
    }

    .w-\(--sidebar-width\) {
        width: var(--sidebar-width)
    }

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

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

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

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

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

    .w-3\/4 {
        width: 75%
    }

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

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

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

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

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

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

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

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

    .w-auto {
        width: auto
    }

    .w-fit {
        width: fit-content
    }

    .w-full {
        width: 100%
    }

    .w-max {
        width: max-content
    }

    .w-px {
        width: 1px
    }

    .max-w-\(--available-width\) {
        max-width: var(--available-width)
    }

    .max-w-\(--skeleton-width\) {
        max-width: var(--skeleton-width)
    }

    .max-w-\[80\%\] {
        max-width: 80%
    }

    .max-w-\[calc\(100\%-2rem\)\] {
        max-width: calc(100% - 2rem)
    }

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

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

    .max-w-sm {
        max-width: var(--container-sm)
    }

    .min-w-\(--cell-size\) {
        min-width: var(--cell-size)
    }

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

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

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

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

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

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

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

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

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

    .min-w-\[calc\(var\(--anchor-width\)\+--spacing\(7\)\)\] {
        min-width: calc(var(--anchor-width) + calc(var(--spacing) * 7))
    }

    .min-w-\[var\(--radix-select-trigger-width\)\] {
        min-width: var(--radix-select-trigger-width)
    }

    .flex-1 {
        flex: 1
    }

    .shrink-0 {
        flex-shrink: 0
    }

    .grow {
        flex-grow: 1
    }

    .grow-0 {
        flex-grow: 0
    }

    .basis-full {
        flex-basis: 100%
    }

    .caption-bottom {
        caption-side: bottom
    }

    .border-collapse {
        border-collapse: collapse
    }

    .origin-\(--radix-context-menu-content-transform-origin\) {
        transform-origin: var(--radix-context-menu-content-transform-origin)
    }

    .origin-\(--radix-dropdown-menu-content-transform-origin\) {
        transform-origin: var(--radix-dropdown-menu-content-transform-origin)
    }

    .origin-\(--radix-hover-card-content-transform-origin\) {
        transform-origin: var(--radix-hover-card-content-transform-origin)
    }

    .origin-\(--radix-menubar-content-transform-origin\) {
        transform-origin: var(--radix-menubar-content-transform-origin)
    }

    .origin-\(--radix-popover-content-transform-origin\) {
        transform-origin: var(--radix-popover-content-transform-origin)
    }

    .origin-\(--radix-select-content-transform-origin\) {
        transform-origin: var(--radix-select-content-transform-origin)
    }

    .origin-\(--radix-tooltip-content-transform-origin\) {
        transform-origin: var(--radix-tooltip-content-transform-origin)
    }

    .origin-\(--transform-origin\) {
        transform-origin: var(--transform-origin)
    }

    .-translate-x-1\/2 {
        --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .-translate-x-px {
        --tw-translate-x: -1px;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-x-\[-50\%\] {
        --tw-translate-x: -50%;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-x-px {
        --tw-translate-x: 1px;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .-translate-y-1\/2 {
        --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .-translate-y-3\/4 {
        --tw-translate-y: calc(calc(3 / 4 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-y-0\.5 {
        --tw-translate-y: calc(var(--spacing) * .5);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-y-3\/4 {
        --tw-translate-y: calc(3 / 4 * 100%);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-y-\[-50\%\] {
        --tw-translate-y: -50%;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .translate-y-\[calc\(-50\%_-_2px\)\] {
        --tw-translate-y: calc(-50% - 2px);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .rotate-45 {
        rotate: 45deg
    }

    .rotate-90 {
        rotate: 90deg
    }

    .transform {
        transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )
    }

    .scroll-fade-x {
        --_scroll-fade-size-s: var(--scroll-fade-s-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
        --_scroll-fade-size-e: var(--scroll-fade-e-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
        --scroll-fade-inline: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s, 0px), #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100%)
    }

    .scroll-fade-x:where([dir=rtl], [dir=rtl] *) {
        --scroll-fade-inline: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s, 0px), #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100%)
    }

    .scroll-fade-x {
        -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
        -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
        -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
        -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
        mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
        -webkit-mask-composite: source-in;
        -webkit-mask-composite: source-in;
        -webkit-mask-composite: source-in;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-composite: source-in;
        mask-composite: intersect
    }

    @supports (animation-timeline:scroll()) {
        .scroll-fade-x {
            animation: 1ms ease-in-out scroll-fade-reveal-s, 1ms ease-in-out scroll-fade-reveal-e;
            animation-timeline: scroll(self inline), scroll(self inline);
            animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))) 100%;
            animation-fill-mode: both
        }
    }

    @supports not (animation-timeline:scroll()) {
        .scroll-fade-x {
            --scroll-fade-s: var(--_scroll-fade-size-s);
            --scroll-fade-e: var(--_scroll-fade-size-e)
        }
    }

    .scroll-fade-b {
        --_scroll-fade-size-b: var(--scroll-fade-b-size, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
        --scroll-fade-mask: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b, 0px)), transparent 100%);
        -webkit-mask-image: var(--scroll-fade-mask);
        -webkit-mask-image: var(--scroll-fade-mask);
        -webkit-mask-image: var(--scroll-fade-mask);
        -webkit-mask-image: var(--scroll-fade-mask);
        mask-image: var(--scroll-fade-mask);
        -webkit-mask-composite: source-in;
        -webkit-mask-composite: source-in;
        -webkit-mask-composite: source-in;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-composite: source-in;
        mask-composite: intersect
    }

    @supports (animation-timeline:scroll()) {
        .scroll-fade-b {
            animation: 1ms ease-in-out scroll-fade-reveal-b;
            animation-timeline: scroll(self y);
            animation-range: calc(100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))) 100%;
            animation-fill-mode: both
        }
    }

    @supports not (animation-timeline:scroll()) {
        .scroll-fade-b {
            --scroll-fade-b: var(--_scroll-fade-size-b)
        }
    }

    .animate-caret-blink {
        animation: 1.25s ease-out infinite caret-blink
    }

    .animate-in {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .animate-pulse {
        animation: var(--animate-pulse)
    }

    .animate-spin {
        animation: var(--animate-spin)
    }

    .cursor-default {
        cursor: default
    }

    .cursor-text {
        cursor: text
    }

    .touch-none {
        touch-action: none
    }

    .resize {
        resize: both
    }

    .resize-none {
        resize: none
    }

    .snap-x {
        scroll-snap-type: x var(--tw-scroll-snap-strictness)
    }

    .snap-mandatory {
        --tw-scroll-snap-strictness: mandatory
    }

    .scroll-my-1 {
        scroll-margin-block: calc(var(--spacing) * 1)
    }

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

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

    .list-disc {
        list-style-type: disc
    }

    .list-none {
        list-style-type: none
    }

    .appearance-none {
        -webkit-appearance: none;
        appearance: none
    }

    .auto-rows-min {
        grid-auto-rows: min-content
    }

    .grid-cols-\[0_1fr\] {
        grid-template-columns: 0 1fr
    }

    .grid-rows-\[auto_1fr\] {
        grid-template-rows: auto 1fr
    }

    .grid-rows-\[auto_auto\] {
        grid-template-rows: auto auto
    }

    .flex-col {
        flex-direction: column
    }

    .flex-col-reverse {
        flex-direction: column-reverse
    }

    .flex-row {
        flex-direction: row
    }

    .flex-wrap {
        flex-wrap: wrap
    }

    .place-content-center {
        place-content: center
    }

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

    .items-center {
        align-items: center
    }

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

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

    .items-stretch {
        align-items: stretch
    }

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

    .justify-center {
        justify-content: center
    }

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

    .justify-items-start {
        justify-items: start
    }

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

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

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

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

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

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

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

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

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

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

    .gap-\[--spacing\(var\(--gap\)\)\] {
        gap: calc(var(--spacing) * var(--gap))
    }

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

    .gap-y-0\.5 {
        row-gap: calc(var(--spacing) * .5)
    }

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

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

    .self-stretch {
        align-self: stretch
    }

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

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

    .overflow-auto {
        overflow: auto
    }

    .overflow-hidden {
        overflow: hidden
    }

    .overflow-x-auto {
        overflow-x: auto
    }

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

    .overflow-y-auto {
        overflow-y: auto
    }

    .overscroll-contain {
        overscroll-behavior: contain
    }

    .overscroll-x-contain {
        overscroll-behavior-x: contain
    }

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

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

    .rounded-\[calc\(var\(--radius\)-5px\)\] {
        border-radius: calc(var(--radius) - 5px)
    }

    .rounded-\[inherit\] {
        border-radius: inherit
    }

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

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

    .rounded-md {
        border-radius: .25rem
    }

    .rounded-none {
        border-radius: 0
    }

    .rounded-sm {
        border-radius: .2rem
    }

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

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

    .rounded-l-md {
        border-top-left-radius: .25rem;
        border-bottom-left-radius: .25rem
    }

    .rounded-tl-sm {
        border-top-left-radius: .2rem
    }

    .rounded-r-md {
        border-top-right-radius: .25rem;
        border-bottom-right-radius: .25rem
    }

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

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

    .border-\[1\.5px\] {
        border-style: var(--tw-border-style);
        border-width: 1.5px
    }

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

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

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

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

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

    .border-dashed {
        --tw-border-style: dashed;
        border-style: dashed
    }

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

    .border-\(--color-border\) {
        border-color: var(--color-border)
    }

    .border-border,
    .border-border\/50 {
        border-color: var(--border)
    }

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

    .border-input {
        border-color: var(--input)
    }

    .border-primary {
        border-color: var(--primary)
    }

    .border-transparent {
        border-color: #0000
    }

    .border-t-transparent {
        border-top-color: #0000
    }

    .border-l-transparent {
        border-left-color: #0000
    }

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

    .bg-\[Canvas\] {
        background-color: canvas
    }

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

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

    .bg-black\/50 {
        background-color: #00000080
    }

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

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

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

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

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

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

    .bg-muted,
    .bg-muted\/50 {
        background-color: var(--muted)
    }

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

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

    .bg-primary,
    .bg-primary\/20 {
        background-color: var(--primary)
    }

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

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

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

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

    .bg-clip-padding {
        background-clip: padding-box
    }

    .fill-current {
        fill: currentColor
    }

    .fill-foreground {
        fill: var(--foreground)
    }

    .fill-primary {
        fill: var(--primary)
    }

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

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

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

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

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

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

    .p-\[3px\] {
        padding: 3px
    }

    .p-px {
        padding: 1px
    }

    .px-\(--cell-size\) {
        padding-inline: var(--cell-size)
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .text-center {
        text-align: center
    }

    .text-left {
        text-align: left
    }

    .align-middle {
        vertical-align: middle
    }

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

    .font-sans {
        font-family: Manrope, Arial, sans-serif
    }

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

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

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

    .text-sm\/relaxed {
        font-size: var(--text-sm);
        line-height: var(--leading-relaxed)
    }

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

    .text-\[0\.8rem\] {
        font-size: .8rem
    }

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

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

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

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

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

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

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

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

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

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

    .text-balance {
        text-wrap: balance
    }

    .break-words,
    .wrap-break-word {
        overflow-wrap: break-word
    }

    .whitespace-nowrap {
        white-space: nowrap
    }

    .text-\[CanvasText\] {
        color: canvastext
    }

    .text-accent-foreground {
        color: var(--accent-foreground)
    }

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

    .text-card-foreground {
        color: var(--card-foreground)
    }

    .text-current {
        color: currentColor
    }

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

    .text-foreground,
    .text-foreground\/60 {
        color: var(--foreground)
    }

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

    .text-muted-foreground {
        color: var(--muted-foreground)
    }

    .text-popover-foreground {
        color: var(--popover-foreground)
    }

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

    .text-primary-foreground {
        color: var(--primary-foreground)
    }

    .text-secondary-foreground {
        color: var(--secondary-foreground)
    }

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

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

    .underline-offset-4 {
        text-underline-offset: 4px
    }

    .opacity-0 {
        opacity: 0
    }

    .opacity-50 {
        opacity: .5
    }

    .opacity-60 {
        opacity: .6
    }

    .opacity-70 {
        opacity: .7
    }

    .shadow {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-\[0_0_0_1px_var\(--sidebar-border\)\] {
        --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-border));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-lg {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-md {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-none {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-sm {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-xl {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-xs {
        --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-0 {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-1 {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-2 {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-3 {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-background {
        --tw-ring-color: var(--background)
    }

    .ring-card {
        --tw-ring-color: var(--card)
    }

    .ring-foreground\/10 {
        --tw-ring-color: var(--foreground)
    }

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

    .ring-ring\/50 {
        --tw-ring-color: var(--ring)
    }

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

    .ring-offset-background {
        --tw-ring-offset-color: var(--background)
    }

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

    @media (forced-colors:active) {
        .outline-hidden {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

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

    .transition {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

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

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

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

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

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

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

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

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

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

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

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

    .transition-none {
        transition-property: none
    }

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

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

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

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

    .ease-in-out {
        --tw-ease: var(--ease-in-out);
        transition-timing-function: var(--ease-in-out)
    }

    .ease-linear {
        --tw-ease: linear;
        transition-timing-function: linear
    }

    .contain-content {
        contain: content
    }

    .fade-in-0 {
        --tw-enter-opacity: 0
    }

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

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

    .zoom-in-95 {
        --tw-enter-scale: .95
    }

    .\[--cell-size\:--spacing\(8\)\] {
        --cell-size: calc(var(--spacing) * 8)
    }

    .\[contain-intrinsic-size\:auto_10rem\] {
        contain-intrinsic-size: auto 10rem
    }

    .\[content-visibility\:auto\] {
        content-visibility: auto
    }

    .paused {
        animation-play-state: paused
    }

    .running {
        animation-play-state: running
    }

    .group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *) {
        opacity: 1
    }

    @media (hover:hover) {
        .group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *) {
            opacity: 1
        }
    }

    .group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *) {
        padding-right: calc(var(--spacing) * 8)
    }

    .group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *) {
        width: calc(var(--spacing) * 10);
        height: calc(var(--spacing) * 10)
    }

    .group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *) {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6)
    }

    .group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden:is(:where(.group\/input-group):has([data-slot=combobox-clear]) *) {
        display: none
    }

    .group-has-data-\[slot\=message-footer\]\/message\:-translate-y-8:is(:where(.group\/message):has([data-slot=message-footer]) *) {
        --tw-translate-y: calc(var(--spacing) * -8);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .group-has-data-\[variant\=ghost\]\/message\:px-0:is(:where(.group\/message):has([data-variant=ghost]) *) {
        padding-inline: calc(var(--spacing) * 0)
    }

    .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation=horizontal]) *) {
        text-wrap: balance
    }

    .group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5:is(:where(.group\/item):has([data-slot=item-description]) *) {
        --tw-translate-y: calc(var(--spacing) * .5);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .group-has-\[\[data-slot\=item-description\]\]\/item\:self-start:is(:where(.group\/item):has([data-slot=item-description]) *) {
        align-self: flex-start
    }

    .group-has-\[\>input\]\/input-group\:pt-2\.5:is(:where(.group\/input-group):has(>input) *) {
        padding-top: calc(var(--spacing) * 2.5)
    }

    .group-has-\[\>input\]\/input-group\:pb-2\.5:is(:where(.group\/input-group):has(>input) *) {
        padding-bottom: calc(var(--spacing) * 2.5)
    }

    .group-data-empty\/combobox-content\:flex:is(:where(.group\/combobox-content)[data-empty] *) {
        display: flex
    }

    .group-data-\[align\=end\]\/bubble\:self-end:is(:where(.group\/bubble)[data-align=end] *) {
        align-self: flex-end
    }

    .group-data-\[align\=end\]\/message\:justify-end:is(:where(.group\/message)[data-align=end] *) {
        justify-content: flex-end
    }

    .group-data-\[align\=end\]\/message\:self-end:is(:where(.group\/message)[data-align=end] *) {
        align-self: flex-end
    }

    .group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *) {
        margin-top: calc(var(--spacing) * -8)
    }

    .group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *) {
        display: none
    }

    .group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *) {
        width: calc(var(--spacing) * 8) !important;
        height: calc(var(--spacing) * 8) !important
    }

    .group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *) {
        width: var(--sidebar-width-icon)
    }

    .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *) {
        width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))
    }

    .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *) {
        width: calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)
    }

    .group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *) {
        overflow: hidden
    }

    .group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *) {
        padding: calc(var(--spacing) * 0) !important
    }

    .group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *) {
        padding: calc(var(--spacing) * 2) !important
    }

    .group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *) {
        opacity: 0
    }

    .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *) {
        right: calc(var(--sidebar-width) * -1)
    }

    .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *) {
        left: calc(var(--sidebar-width) * -1)
    }

    .group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *) {
        width: calc(var(--spacing) * 0)
    }

    .group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *) {
        --tw-translate-x: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *) {
        pointer-events: none
    }

    .group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),
    .group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *),
    .group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *) {
        opacity: .5
    }

    .group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *) {
        position: relative
    }

    .group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *) {
        z-index: 10
    }

    .group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused=true] *) {
        border-color: var(--ring)
    }

    .group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *) {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *) {
            --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)
        }
    }

    .group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *) {
        height: calc(var(--spacing) * 9)
    }

    .group-data-\[orientation\=vertical\]\/attachment\:absolute:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        position: absolute
    }

    .group-data-\[orientation\=vertical\]\/attachment\:top-3:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        top: calc(var(--spacing) * 3)
    }

    .group-data-\[orientation\=vertical\]\/attachment\:right-3:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        right: calc(var(--spacing) * 3)
    }

    .group-data-\[orientation\=vertical\]\/attachment\:w-full:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        width: 100%
    }

    .group-data-\[orientation\=vertical\]\/attachment\:gap-1:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        gap: calc(var(--spacing) * 1)
    }

    .group-data-\[orientation\=vertical\]\/attachment\:px-1:is(:where(.group\/attachment)[data-orientation=vertical] *) {
        padding-inline: calc(var(--spacing) * 1)
    }

    .group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *) {
        height: fit-content
    }

    .group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *) {
        width: 100%
    }

    .group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *) {
        flex-direction: column
    }

    .group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *) {
        justify-content: flex-start
    }

    .group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *) {
        right: calc(var(--spacing) * -4)
    }

    .group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *) {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *) {
        left: calc(var(--spacing) * 0)
    }

    .group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *) {
        rotate: 180deg
    }

    .group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *) {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *) {
        width: calc(var(--spacing) * 2.5);
        height: calc(var(--spacing) * 2.5)
    }

    .group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *) {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *) {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3)
    }

    .group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *) {
        display: grid
    }

    .group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *) {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .group-data-\[size\=sm\]\/attachment\:w-8:is(:where(.group\/attachment)[data-size=sm] *) {
        width: calc(var(--spacing) * 8)
    }

    .group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *) {
        width: calc(var(--spacing) * 2);
        height: calc(var(--spacing) * 2)
    }

    .group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *) {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *) {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3)
    }

    .group-data-\[size\=xs\]\/attachment\:w-7:is(:where(.group\/attachment)[data-size=xs] *) {
        width: calc(var(--spacing) * 7)
    }

    .group-data-\[size\=xs\]\/attachment\:rounded-md:is(:where(.group\/attachment)[data-size=xs] *) {
        border-radius: .25rem
    }

    .group-data-\[state\=done\]\/attachment\:opacity-100:is(:where(.group\/attachment)[data-state=done] *) {
        opacity: 1
    }

    .group-data-\[state\=error\]\/attachment\:bg-destructive\/10:is(:where(.group\/attachment)[data-state=error] *) {
        background-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .group-data-\[state\=error\]\/attachment\:bg-destructive\/10:is(:where(.group\/attachment)[data-state=error] *) {
            background-color: color-mix(in oklab, var(--destructive) 10%, transparent)
        }
    }

    .group-data-\[state\=error\]\/attachment\:text-destructive:is(:where(.group\/attachment)[data-state=error] *),
    .group-data-\[state\=error\]\/attachment\:text-destructive\/80:is(:where(.group\/attachment)[data-state=error] *) {
        color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .group-data-\[state\=error\]\/attachment\:text-destructive\/80:is(:where(.group\/attachment)[data-state=error] *) {
            color: color-mix(in oklab, var(--destructive) 80%, transparent)
        }
    }

    .group-data-\[state\=idle\]\/attachment\:opacity-100:is(:where(.group\/attachment)[data-state=idle] *) {
        opacity: 1
    }

    .group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *) {
        rotate: 180deg
    }

    .group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *) {
        --_spread: var(--shimmer-spread, calc(3ch + 40px));
        --_base: currentColor;
        --_highlight: var(--shimmer-color, oklch(from currentColor l c h / calc(alpha* .2)));
        background-image: var(--shimmer-image, linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), var(--_highlight) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, var(--_highlight) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))
    }

    @supports (color:color-mix(in lab, red, red)) {
        .group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *) {
            background-image: var(--shimmer-image, linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))
        }
    }

    .group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *) {
        background-repeat: no-repeat;
        background-size: calc(200% + var(--_spread) * 2) 100%;
        -webkit-text-fill-color: var(--shimmer-text-fill, transparent);
        animation: tw-shimmer var(--shimmer-duration, 2s) linear infinite;
        background-position: 0 0;
        -webkit-background-clip: text;
        background-clip: text
    }

    @media (prefers-color-scheme:dark) {
        .group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *) {
            --_highlight: var(--shimmer-color, oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4)))
        }
    }

    .group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *):where([dir=rtl], [dir=rtl] *) {
        animation-direction: reverse
    }

    .group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *) {
        --_spread: var(--shimmer-spread, calc(3ch + 40px));
        --_base: currentColor;
        --_highlight: var(--shimmer-color, oklch(from currentColor l c h / calc(alpha* .2)));
        background-image: var(--shimmer-image, linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), var(--_highlight) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, var(--_highlight) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))
    }

    @supports (color:color-mix(in lab, red, red)) {
        .group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *) {
            background-image: var(--shimmer-image, linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))
        }
    }

    .group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *) {
        background-repeat: no-repeat;
        background-size: calc(200% + var(--_spread) * 2) 100%;
        -webkit-text-fill-color: var(--shimmer-text-fill, transparent);
        animation: tw-shimmer var(--shimmer-duration, 2s) linear infinite;
        background-position: 0 0;
        -webkit-background-clip: text;
        background-clip: text
    }

    @media (prefers-color-scheme:dark) {
        .group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *) {
            --_highlight: var(--shimmer-color, oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4)))
        }
    }

    .group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *):where([dir=rtl], [dir=rtl] *) {
        animation-direction: reverse
    }

    .group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *) {
        border-radius: .4rem
    }

    .group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *) {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *) {
        background-color: #0000
    }

    .group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *) {
        margin-bottom: calc(var(--spacing) * -2)
    }

    .group-data-\[variant\=separator\]\/marker\:flex-none:is(:where(.group\/marker)[data-variant=separator] *) {
        flex: none
    }

    .group-data-\[variant\=separator\]\/marker\:text-center:is(:where(.group\/marker)[data-variant=separator] *) {
        text-align: center
    }

    .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *) {
        display: block
    }

    .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *),
    .group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=top] *) {
        text-align: center
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:top-full:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        top: 100%
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        margin-top: calc(var(--spacing) * 1.5)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        overflow: hidden
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:rounded-md:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        border-radius: .25rem
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:border:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:bg-popover:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        background-color: var(--popover)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        color: var(--popover-foreground)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:shadow:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:duration-200:is(:where(.group\/navigation-menu)[data-viewport=false] *) {
        --tw-duration: .2s;
        transition-duration: .2s
    }

    .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*) {
        cursor: not-allowed
    }

    .peer-disabled\:opacity-50:is(:where(.peer):disabled~*) {
        opacity: .5
    }

    .peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*) {
        top: calc(var(--spacing) * 1.5)
    }

    .peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*) {
        top: calc(var(--spacing) * 2.5)
    }

    .peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*) {
        top: calc(var(--spacing) * 1)
    }

    .selection\:bg-primary ::selection,
    .selection\:bg-primary::selection {
        background-color: var(--primary)
    }

    .selection\:text-primary-foreground ::selection,
    .selection\:text-primary-foreground::selection {
        color: var(--primary-foreground)
    }

    .file\:inline-flex::file-selector-button {
        display: inline-flex
    }

    .file\:h-7::file-selector-button {
        height: calc(var(--spacing) * 7)
    }

    .file\:border-0::file-selector-button {
        border-style: var(--tw-border-style);
        border-width: 0
    }

    .file\:bg-transparent::file-selector-button {
        background-color: #0000
    }

    .file\:text-sm::file-selector-button {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .file\:font-medium::file-selector-button {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .file\:text-foreground::file-selector-button {
        color: var(--foreground)
    }

    .placeholder\:text-muted-foreground::placeholder {
        color: var(--muted-foreground)
    }

    .before\:mr-1:before {
        content: var(--tw-content);
        margin-right: calc(var(--spacing) * 1)
    }

    .before\:h-px:before {
        content: var(--tw-content);
        height: 1px
    }

    .before\:min-w-0:before {
        content: var(--tw-content);
        min-width: calc(var(--spacing) * 0)
    }

    .before\:flex-1:before {
        content: var(--tw-content);
        flex: 1
    }

    .before\:bg-border:before {
        content: var(--tw-content);
        background-color: var(--border)
    }

    .after\:absolute:after {
        content: var(--tw-content);
        position: absolute
    }

    .after\:-inset-2:after {
        content: var(--tw-content);
        inset: calc(var(--spacing) * -2)
    }

    .after\:inset-y-0:after {
        content: var(--tw-content);
        inset-block: calc(var(--spacing) * 0)
    }

    .after\:left-1\/2:after {
        content: var(--tw-content);
        left: 50%
    }

    .after\:ml-1:after {
        content: var(--tw-content);
        margin-left: calc(var(--spacing) * 1)
    }

    .after\:h-px:after {
        content: var(--tw-content);
        height: 1px
    }

    .after\:w-1:after {
        content: var(--tw-content);
        width: calc(var(--spacing) * 1)
    }

    .after\:w-\[2px\]:after {
        content: var(--tw-content);
        width: 2px
    }

    .after\:min-w-0:after {
        content: var(--tw-content);
        min-width: calc(var(--spacing) * 0)
    }

    .after\:flex-1:after {
        content: var(--tw-content);
        flex: 1
    }

    .after\:-translate-x-1\/2:after {
        content: var(--tw-content);
        --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .after\:bg-border:after {
        content: var(--tw-content);
        background-color: var(--border)
    }

    .after\:bg-foreground:after {
        content: var(--tw-content);
        background-color: var(--foreground)
    }

    .after\:opacity-0:after {
        content: var(--tw-content);
        opacity: 0
    }

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

    .group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after {
        content: var(--tw-content);
        left: 100%
    }

    .group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after {
        content: var(--tw-content);
        inset-inline: calc(var(--spacing) * 0)
    }

    .group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after {
        content: var(--tw-content);
        bottom: -5px
    }

    .group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after {
        content: var(--tw-content);
        height: calc(var(--spacing) * .5)
    }

    .group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after {
        content: var(--tw-content);
        inset-block: calc(var(--spacing) * 0)
    }

    .group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after {
        content: var(--tw-content);
        right: calc(var(--spacing) * -1)
    }

    .group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after {
        content: var(--tw-content);
        width: calc(var(--spacing) * .5)
    }

    .first\:rounded-l-md:first-child {
        border-top-left-radius: .25rem;
        border-bottom-left-radius: .25rem
    }

    .first\:border-l:first-child {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

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

    .last\:rounded-r-md:last-child {
        border-top-right-radius: .25rem;
        border-bottom-right-radius: .25rem
    }

    .last\:border-b-0:last-child {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0
    }

    .focus-within\:border-ring:focus-within {
        border-color: var(--ring)
    }

    .focus-within\:ring-1:focus-within {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-within\:ring-\[3px\]:focus-within {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-within\:ring-ring\/50:focus-within {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .focus-within\:ring-ring\/50:focus-within {
            --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)
        }
    }

    @media (hover:hover) {
        .hover\:bg-accent:hover {
            background-color: var(--accent)
        }

        .hover\:bg-destructive\/90:hover {
            background-color: var(--destructive)
        }

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

        .hover\:bg-muted:hover,
        .hover\:bg-muted\/50:hover {
            background-color: var(--muted)
        }

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

        .hover\:bg-primary\/90:hover {
            background-color: var(--primary)
        }

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

        .hover\:bg-secondary\/80:hover {
            background-color: var(--secondary)
        }

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

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

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

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

        .hover\:underline:hover {
            text-decoration-line: underline
        }

        .hover\:opacity-100:hover {
            opacity: 1
        }

        .hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover {
            --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-accent));
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
        }

        .hover\:ring-4:hover {
            --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
        }
    }

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

    .focus\:bg-accent:focus {
        background-color: var(--accent)
    }

    .focus\:text-accent-foreground:focus {
        color: var(--accent-foreground)
    }

    .focus\:ring-2:focus {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus\:ring-ring:focus {
        --tw-ring-color: var(--ring)
    }

    .focus\:ring-offset-2:focus {
        --tw-ring-offset-width: 2px;
        --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)
    }

    .focus\:outline-hidden:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .focus\:outline-hidden:focus {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .focus-visible\:z-10:focus-visible {
        z-index: 10
    }

    .focus-visible\:border-ring:focus-visible {
        border-color: var(--ring)
    }

    .focus-visible\:ring-0:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-1:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-2:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-4:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-\[3px\]:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-destructive\/20:focus-visible {
        --tw-ring-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .focus-visible\:ring-destructive\/20:focus-visible {
            --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)
        }
    }

    :is(.focus-visible\:ring-ring:focus-visible, .focus-visible\:ring-ring\/50:focus-visible) {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .focus-visible\:ring-ring\/50:focus-visible {
            --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)
        }
    }

    .focus-visible\:ring-offset-1:focus-visible {
        --tw-ring-offset-width: 1px;
        --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)
    }

    .focus-visible\:outline-hidden:focus-visible {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .focus-visible\:outline-hidden:focus-visible {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .focus-visible\:outline-1:focus-visible {
        outline-style: var(--tw-outline-style);
        outline-width: 1px
    }

    .focus-visible\:outline-ring:focus-visible {
        outline-color: var(--ring)
    }

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

    .disabled\:cursor-not-allowed:disabled {
        cursor: not-allowed
    }

    .disabled\:opacity-50:disabled {
        opacity: .5
    }

    :where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize {
        cursor: w-resize
    }

    :where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize {
        cursor: e-resize
    }

    .has-focus\:border-ring:has(:focus) {
        border-color: var(--ring)
    }

    .has-focus\:ring-\[3px\]:has(:focus) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .has-focus\:ring-ring\/50:has(:focus) {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-focus\:ring-ring\/50:has(:focus) {
            --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)
        }
    }

    .has-disabled\:pointer-events-none:has(:disabled) {
        pointer-events: none
    }

    .has-disabled\:cursor-not-allowed:has(:disabled) {
        cursor: not-allowed
    }

    .has-disabled\:opacity-50:has(:disabled) {
        opacity: .5
    }

    .has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]) {
        background-color: var(--muted)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]) {
            background-color: color-mix(in oklab, var(--muted) 50%, transparent)
        }
    }

    .has-aria-invalid\:border-destructive:has([aria-invalid=true]) {
        border-color: var(--destructive)
    }

    .has-aria-invalid\:ring-\[3px\]:has([aria-invalid=true]) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]) {
        --tw-ring-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]) {
            --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)
        }
    }

    .has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]) {
        grid-template-rows: auto auto 1fr
    }

    .has-data-\[slot\=alert-dialog-media\]\:gap-x-6:has([data-slot=alert-dialog-media]) {
        column-gap: calc(var(--spacing) * 6)
    }

    .has-data-\[slot\=attachment-content\]\:w-30:has([data-slot=attachment-content]) {
        width: calc(var(--spacing) * 30)
    }

    .has-data-\[slot\=attachment-content\]\:px-1\.5:has([data-slot=attachment-content]) {
        padding-inline: calc(var(--spacing) * 1.5)
    }

    .has-data-\[slot\=attachment-content\]\:px-2:has([data-slot=attachment-content]) {
        padding-inline: calc(var(--spacing) * 2)
    }

    .has-data-\[slot\=attachment-content\]\:px-2\.5:has([data-slot=attachment-content]) {
        padding-inline: calc(var(--spacing) * 2.5)
    }

    .has-data-\[slot\=attachment-content\]\:py-1:has([data-slot=attachment-content]) {
        padding-block: calc(var(--spacing) * 1)
    }

    .has-data-\[slot\=attachment-content\]\:py-1\.5:has([data-slot=attachment-content]) {
        padding-block: calc(var(--spacing) * 1.5)
    }

    .has-data-\[slot\=attachment-content\]\:py-2:has([data-slot=attachment-content]) {
        padding-block: calc(var(--spacing) * 2)
    }

    .has-data-\[slot\=attachment-media\]\:p-1:has([data-slot=attachment-media]) {
        padding: calc(var(--spacing) * 1)
    }

    .has-data-\[slot\=attachment-media\]\:p-1\.5:has([data-slot=attachment-media]) {
        padding: calc(var(--spacing) * 1.5)
    }

    .has-data-\[slot\=attachment-media\]\:p-2:has([data-slot=attachment-media]) {
        padding: calc(var(--spacing) * 2)
    }

    .has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]) {
        grid-template-columns: 1fr auto
    }

    .has-data-\[slot\=combobox-chip\]\:px-1\.5:has([data-slot=combobox-chip]) {
        padding-inline: calc(var(--spacing) * 1.5)
    }

    .has-data-\[slot\=combobox-chip-remove\]\:pr-0:has([data-slot=combobox-chip-remove]) {
        padding-right: calc(var(--spacing) * 0)
    }

    .has-data-\[state\=checked\]\:border-primary:has([data-state=checked]) {
        border-color: var(--primary)
    }

    .has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]) {
        background-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]) {
            background-color: color-mix(in oklab, var(--primary) 5%, transparent)
        }
    }

    .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible) {
        border-color: var(--ring)
    }

    .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-\[3px\]:has([data-slot=input-group-control]:focus-visible) {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible) {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible) {
            --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)
        }
    }

    .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]) {
        border-color: var(--destructive)
    }

    .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]) {
        --tw-ring-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]) {
            --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)
        }
    }

    .has-\[button\]\:p-0:has(:is(button)) {
        padding: calc(var(--spacing) * 0)
    }

    .has-\[select\:disabled\]\:opacity-50:has(:is(select:disabled)) {
        opacity: .5
    }

    .has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]) {
        height: auto
    }

    .has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]) {
        flex-direction: column
    }

    .has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]) {
        height: auto
    }

    .has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]) {
        flex-direction: column
    }

    .has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]) {
        gap: calc(var(--spacing) * 2)
    }

    .has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]) {
        gap: calc(var(--spacing) * 3)
    }

    .has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]) {
        align-items: flex-start
    }

    .has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]) {
        width: 100%
    }

    .has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]) {
        flex-direction: column
    }

    .has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]) {
        border-radius: .25rem
    }

    .has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]) {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]) {
        gap: calc(var(--spacing) * 3)
    }

    @media (hover:hover) {
        .has-\[\>a\,\>button\]\:hover\:bg-muted\/50:has(>a, >button):hover {
            background-color: var(--muted)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .has-\[\>a\,\>button\]\:hover\:bg-muted\/50:has(>a, >button):hover {
                background-color: color-mix(in oklab, var(--muted) 50%, transparent)
            }
        }
    }

    .has-\[\>button\]\:mr-\[-0\.45rem\]:has(>button) {
        margin-right: -.45rem
    }

    .has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button) {
        margin-left: -.45rem
    }

    .has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd) {
        margin-right: -.35rem
    }

    .has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd) {
        margin-left: -.35rem
    }

    .has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg) {
        grid-template-columns: calc(var(--spacing) * 4) 1fr
    }

    .has-\[\>svg\]\:gap-x-3:has(>svg) {
        column-gap: calc(var(--spacing) * 3)
    }

    .has-\[\>svg\]\:p-0:has(>svg) {
        padding: calc(var(--spacing) * 0)
    }

    .has-\[\>svg\]\:px-1\.5:has(>svg) {
        padding-inline: calc(var(--spacing) * 1.5)
    }

    .has-\[\>svg\]\:px-2:has(>svg) {
        padding-inline: calc(var(--spacing) * 2)
    }

    .has-\[\>svg\]\:px-2\.5:has(>svg) {
        padding-inline: calc(var(--spacing) * 2.5)
    }

    .has-\[\>svg\]\:px-3:has(>svg) {
        padding-inline: calc(var(--spacing) * 3)
    }

    .has-\[\>svg\]\:px-4:has(>svg) {
        padding-inline: calc(var(--spacing) * 4)
    }

    .has-\[\>textarea\]\:h-auto:has(>textarea) {
        height: auto
    }

    .aria-disabled\:pointer-events-none[aria-disabled=true] {
        pointer-events: none
    }

    .aria-disabled\:opacity-50[aria-disabled=true] {
        opacity: .5
    }

    .aria-invalid\:border-destructive[aria-invalid=true] {
        border-color: var(--destructive)
    }

    .aria-invalid\:ring-destructive\/20[aria-invalid=true] {
        --tw-ring-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .aria-invalid\:ring-destructive\/20[aria-invalid=true] {
            --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)
        }
    }

    .aria-selected\:text-muted-foreground[aria-selected=true] {
        color: var(--muted-foreground)
    }

    .aria-\[orientation\=horizontal\]\:h-px[aria-orientation=horizontal] {
        height: 1px
    }

    .aria-\[orientation\=horizontal\]\:w-full[aria-orientation=horizontal] {
        width: 100%
    }

    .aria-\[orientation\=horizontal\]\:after\:left-0[aria-orientation=horizontal]:after {
        content: var(--tw-content);
        left: calc(var(--spacing) * 0)
    }

    .aria-\[orientation\=horizontal\]\:after\:h-1[aria-orientation=horizontal]:after {
        content: var(--tw-content);
        height: calc(var(--spacing) * 1)
    }

    .aria-\[orientation\=horizontal\]\:after\:w-full[aria-orientation=horizontal]:after {
        content: var(--tw-content);
        width: 100%
    }

    .aria-\[orientation\=horizontal\]\:after\:translate-x-0[aria-orientation=horizontal]:after {
        content: var(--tw-content);
        --tw-translate-x: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .aria-\[orientation\=horizontal\]\:after\:-translate-y-1\/2[aria-orientation=horizontal]:after {
        content: var(--tw-content);
        --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .aria-\[orientation\=vertical\]\:flex-col[aria-orientation=vertical] {
        flex-direction: column
    }

    .data-empty\:p-0[data-empty] {
        padding: calc(var(--spacing) * 0)
    }

    .data-highlighted\:bg-accent[data-highlighted] {
        background-color: var(--accent)
    }

    .data-highlighted\:text-accent-foreground[data-highlighted] {
        color: var(--accent-foreground)
    }

    .data-pressed\:bg-transparent[data-pressed] {
        background-color: #0000
    }

    :is(.group-data-\[align\=end\]\/message\:\*\:data-slot\:self-end:is(:where(.group\/message)[data-align=end] *)>*)[data-slot] {
        align-self: flex-end
    }

    .data-\[active\=false\]\:pointer-events-none[data-active=false] {
        pointer-events: none
    }

    .data-\[active\=false\]\:scale-95[data-active=false] {
        --tw-scale-x: 95%;
        --tw-scale-y: 95%;
        --tw-scale-z: 95%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }

    .data-\[active\=false\]\:opacity-0[data-active=false] {
        opacity: 0
    }

    .data-\[active\=false\]\:duration-400[data-active=false] {
        --tw-duration: .4s;
        transition-duration: .4s
    }

    .data-\[active\=false\]\:ease-\[cubic-bezier\(0\.7\,0\,0\.84\,0\)\][data-active=false] {
        --tw-ease: cubic-bezier(.7, 0, .84, 0);
        transition-timing-function: cubic-bezier(.7, 0, .84, 0)
    }

    .data-\[active\=true\]\:z-10[data-active=true] {
        z-index: 10
    }

    .data-\[active\=true\]\:translate-y-0[data-active=true] {
        --tw-translate-y: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[active\=true\]\:scale-100[data-active=true] {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y)
    }

    .data-\[active\=true\]\:border-ring[data-active=true] {
        border-color: var(--ring)
    }

    .data-\[active\=true\]\:bg-accent\/50[data-active=true] {
        background-color: var(--accent)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-\[active\=true\]\:bg-accent\/50[data-active=true] {
            background-color: color-mix(in oklab, var(--accent) 50%, transparent)
        }
    }

    .data-\[active\=true\]\:font-medium[data-active=true] {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .data-\[active\=true\]\:text-accent-foreground[data-active=true] {
        color: var(--accent-foreground)
    }

    .data-\[active\=true\]\:opacity-100[data-active=true] {
        opacity: 1
    }

    .data-\[active\=true\]\:ring-\[3px\][data-active=true] {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .data-\[active\=true\]\:ring-ring\/50[data-active=true] {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-\[active\=true\]\:ring-ring\/50[data-active=true] {
            --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)
        }
    }

    .data-\[active\=true\]\:ease-\[cubic-bezier\(0\.23\,1\,0\.32\,1\)\][data-active=true] {
        --tw-ease: cubic-bezier(.23, 1, .32, 1);
        transition-timing-function: cubic-bezier(.23, 1, .32, 1)
    }

    @media (hover:hover) {
        .data-\[active\=true\]\:hover\:bg-accent[data-active=true]:hover {
            background-color: var(--accent)
        }
    }

    .data-\[active\=true\]\:focus\:bg-accent[data-active=true]:focus {
        background-color: var(--accent)
    }

    .data-\[active\=true\]\:aria-invalid\:border-destructive[data-active=true][aria-invalid=true] {
        border-color: var(--destructive)
    }

    .data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true] {
        --tw-ring-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true] {
            --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent)
        }
    }

    .data-\[align\=end\]\:flex-row-reverse[data-align=end] {
        flex-direction: row-reverse
    }

    .data-\[align\=end\]\:self-end[data-align=end] {
        align-self: flex-end
    }

    .data-\[chips\=true\]\:min-w-\(--anchor-width\)[data-chips=true] {
        min-width: var(--anchor-width)
    }

    .data-\[direction\=end\]\:bottom-4[data-direction=end] {
        bottom: calc(var(--spacing) * 4)
    }

    .data-\[direction\=end\]\:data-\[active\=false\]\:translate-y-full[data-direction=end][data-active=false] {
        --tw-translate-y: 100%;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[direction\=start\]\:top-4[data-direction=start] {
        top: calc(var(--spacing) * 4)
    }

    .data-\[direction\=start\]\:data-\[active\=false\]\:-translate-y-full[data-direction=start][data-active=false] {
        --tw-translate-y: -100%;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[disabled\]\:pointer-events-none[data-disabled] {
        pointer-events: none
    }

    .data-\[disabled\]\:opacity-50[data-disabled] {
        opacity: .5
    }

    .data-\[disabled\=true\]\:pointer-events-none[data-disabled=true] {
        pointer-events: none
    }

    .data-\[disabled\=true\]\:opacity-50[data-disabled=true] {
        opacity: .5
    }

    .data-\[error\=true\]\:text-destructive[data-error=true] {
        color: var(--destructive)
    }

    .data-\[inset\]\:pl-8[data-inset] {
        padding-left: calc(var(--spacing) * 8)
    }

    .data-\[invalid\=true\]\:text-destructive[data-invalid=true] {
        color: var(--destructive)
    }

    .data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end] {
        --tw-enter-translate-x: calc(52*var(--spacing))
    }

    .data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start] {
        --tw-enter-translate-x: calc(52*var(--spacing)*-1)
    }

    .data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end] {
        --tw-exit-translate-x: calc(52*var(--spacing))
    }

    .data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start] {
        --tw-exit-translate-x: calc(52*var(--spacing)*-1)
    }

    .data-\[motion\^\=from-\]\:animate-in[data-motion^=from-] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[motion\^\=from-\]\:fade-in[data-motion^=from-] {
        --tw-enter-opacity: 0
    }

    .data-\[motion\^\=to-\]\:animate-out[data-motion^=to-] {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[motion\^\=to-\]\:fade-out[data-motion^=to-] {
        --tw-exit-opacity: 0
    }

    .data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal] {
        height: calc(var(--spacing) * 1.5)
    }

    .data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal] {
        height: 100%
    }

    .data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal] {
        height: 1px
    }

    .data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal] {
        width: 100%
    }

    .data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal] {
        flex-direction: column
    }

    .data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical] {
        height: auto
    }

    .data-\[orientation\=vertical\]\:h-full[data-orientation=vertical] {
        height: 100%
    }

    .data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical] {
        min-height: calc(var(--spacing) * 44)
    }

    .data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical] {
        width: calc(var(--spacing) * 1.5)
    }

    .data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical] {
        width: auto
    }

    .data-\[orientation\=vertical\]\:w-full[data-orientation=vertical] {
        width: 100%
    }

    .data-\[orientation\=vertical\]\:w-px[data-orientation=vertical] {
        width: 1px
    }

    .data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical] {
        flex-direction: column
    }

    .data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
        color: var(--muted-foreground)
    }

    .data-\[range-end\=true\]\:rounded-md[data-range-end=true] {
        border-radius: .25rem
    }

    .data-\[range-end\=true\]\:rounded-r-md[data-range-end=true] {
        border-top-right-radius: .25rem;
        border-bottom-right-radius: .25rem
    }

    .data-\[range-end\=true\]\:bg-primary[data-range-end=true] {
        background-color: var(--primary)
    }

    .data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true] {
        color: var(--primary-foreground)
    }

    .data-\[range-middle\=true\]\:rounded-none[data-range-middle=true] {
        border-radius: 0
    }

    .data-\[range-middle\=true\]\:bg-accent[data-range-middle=true] {
        background-color: var(--accent)
    }

    .data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true] {
        color: var(--accent-foreground)
    }

    .data-\[range-start\=true\]\:rounded-md[data-range-start=true] {
        border-radius: .25rem
    }

    .data-\[range-start\=true\]\:rounded-l-md[data-range-start=true] {
        border-top-left-radius: .25rem;
        border-bottom-left-radius: .25rem
    }

    .data-\[range-start\=true\]\:bg-primary[data-range-start=true] {
        background-color: var(--primary)
    }

    .data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true] {
        color: var(--primary-foreground)
    }

    .data-\[selected-single\=true\]\:bg-primary[data-selected-single=true] {
        background-color: var(--primary)
    }

    .data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true] {
        color: var(--primary-foreground)
    }

    .data-\[selected\=true\]\:rounded-none[data-selected=true] {
        border-radius: 0
    }

    .data-\[selected\=true\]\:bg-accent[data-selected=true] {
        background-color: var(--accent)
    }

    .data-\[selected\=true\]\:text-accent-foreground[data-selected=true] {
        color: var(--accent-foreground)
    }

    .data-\[side\=bottom\]\:translate-y-1[data-side=bottom] {
        --tw-translate-y: calc(var(--spacing) * 1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom] {
        --tw-enter-translate-y: calc(2*var(--spacing)*-1)
    }

    .data-\[side\=left\]\:-translate-x-1[data-side=left] {
        --tw-translate-x: calc(var(--spacing) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[side\=left\]\:slide-in-from-right-2[data-side=left] {
        --tw-enter-translate-x: calc(2*var(--spacing))
    }

    .data-\[side\=right\]\:translate-x-1[data-side=right] {
        --tw-translate-x: calc(var(--spacing) * 1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[side\=right\]\:slide-in-from-left-2[data-side=right] {
        --tw-enter-translate-x: calc(2*var(--spacing)*-1)
    }

    .data-\[side\=top\]\:-translate-y-1[data-side=top] {
        --tw-translate-y: calc(var(--spacing) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top] {
        --tw-enter-translate-y: calc(2*var(--spacing))
    }

    .data-\[size\=default\]\:h-9[data-size=default] {
        height: calc(var(--spacing) * 9)
    }

    .data-\[size\=default\]\:h-\[1\.15rem\][data-size=default] {
        height: 1.15rem
    }

    .data-\[size\=default\]\:w-8[data-size=default] {
        width: calc(var(--spacing) * 8)
    }

    .data-\[size\=lg\]\:size-10[data-size=lg] {
        width: calc(var(--spacing) * 10);
        height: calc(var(--spacing) * 10)
    }

    .data-\[size\=sm\]\:size-6[data-size=sm] {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6)
    }

    .data-\[size\=sm\]\:h-3\.5[data-size=sm] {
        height: calc(var(--spacing) * 3.5)
    }

    .data-\[size\=sm\]\:h-8[data-size=sm] {
        height: calc(var(--spacing) * 8)
    }

    .data-\[size\=sm\]\:w-6[data-size=sm] {
        width: calc(var(--spacing) * 6)
    }

    .data-\[size\=sm\]\:max-w-xs[data-size=sm] {
        max-width: var(--container-xs)
    }

    .data-\[size\=sm\]\:py-1[data-size=sm] {
        padding-block: calc(var(--spacing) * 1)
    }

    :is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description] {
        color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        :is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description] {
            color: color-mix(in oklab, var(--destructive) 90%, transparent)
        }
    }

    :is(.\*\:data-\[slot\=attachment\]\:flex-none>*)[data-slot=attachment] {
        flex: none
    }

    :is(.\*\:data-\[slot\=attachment\]\:snap-start>*)[data-slot=attachment] {
        scroll-snap-align: start
    }

    :is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar] {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    :is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar] {
        --tw-ring-color: var(--background)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:rounded-none>*)[data-slot=bubble-content] {
        border-radius: 0
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:border-border>*)[data-slot=bubble-content] {
        border-color: var(--border)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.93_calc\(c\*0\.4\)_h\)\]>*)[data-slot=bubble-content] {
        background-color: oklch(from var(--primary) .93 calc(c * .4) h)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-background>*)[data-slot=bubble-content] {
        background-color: var(--background)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-destructive\/10>*)[data-slot=bubble-content] {
        background-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        :is(.\*\:data-\[slot\=bubble-content\]\:bg-destructive\/10>*)[data-slot=bubble-content] {
            background-color: color-mix(in oklab, var(--destructive) 10%, transparent)
        }
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-muted>*)[data-slot=bubble-content] {
        background-color: var(--muted)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-primary>*)[data-slot=bubble-content] {
        background-color: var(--primary)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-secondary>*)[data-slot=bubble-content] {
        background-color: var(--secondary)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:bg-transparent>*)[data-slot=bubble-content] {
        background-color: #0000
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:p-0>*)[data-slot=bubble-content] {
        padding: calc(var(--spacing) * 0)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:text-destructive>*)[data-slot=bubble-content] {
        color: var(--destructive)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:text-foreground>*)[data-slot=bubble-content] {
        color: var(--foreground)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:text-primary-foreground>*)[data-slot=bubble-content] {
        color: var(--primary-foreground)
    }

    :is(.\*\:data-\[slot\=bubble-content\]\:text-secondary-foreground>*)[data-slot=bubble-content] {
        color: var(--secondary-foreground)
    }

    .data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group] {
        gap: calc(var(--spacing) * 3)
    }

    :is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper] {
        height: calc(var(--spacing) * 12)
    }

    :is(.\*\:data-\[slot\=input-group\]\:m-1>*)[data-slot=input-group] {
        margin: calc(var(--spacing) * 1)
    }

    :is(.\*\:data-\[slot\=input-group\]\:mb-0>*)[data-slot=input-group] {
        margin-bottom: calc(var(--spacing) * 0)
    }

    :is(.\*\:data-\[slot\=input-group\]\:h-8>*)[data-slot=input-group] {
        height: calc(var(--spacing) * 8)
    }

    :is(.\*\:data-\[slot\=input-group\]\:border-input\/30>*)[data-slot=input-group] {
        border-color: var(--input)
    }

    @supports (color:color-mix(in lab, red, red)) {
        :is(.\*\:data-\[slot\=input-group\]\:border-input\/30>*)[data-slot=input-group] {
            border-color: color-mix(in oklab, var(--input) 30%, transparent)
        }
    }

    :is(.\*\:data-\[slot\=input-group\]\:bg-input\/30>*)[data-slot=input-group] {
        background-color: var(--input)
    }

    @supports (color:color-mix(in lab, red, red)) {
        :is(.\*\:data-\[slot\=input-group\]\:bg-input\/30>*)[data-slot=input-group] {
            background-color: color-mix(in oklab, var(--input) 30%, transparent)
        }
    }

    :is(.\*\:data-\[slot\=input-group\]\:shadow-none>*)[data-slot=input-group] {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    :is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot=navigation-menu-link]:focus {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    :is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot=navigation-menu-link]:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    :is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value] {
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden
    }

    :is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value] {
        display: flex
    }

    :is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value] {
        align-items: center
    }

    :is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value] {
        gap: calc(var(--spacing) * 2)
    }

    :is(.group-data-\[orientation\=vertical\]\/attachment\:\*\:data-\[slot\=spinner\]\:size-6\!:is(:where(.group\/attachment)[data-orientation=vertical] *)>*)[data-slot=spinner] {
        width: calc(var(--spacing) * 6) !important;
        height: calc(var(--spacing) * 6) !important
    }

    .data-\[spacing\=0\]\:rounded-none[data-spacing="0"] {
        border-radius: 0
    }

    .data-\[spacing\=0\]\:shadow-none[data-spacing="0"] {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .data-\[spacing\=0\]\:first\:rounded-l-md[data-spacing="0"]:first-child {
        border-top-left-radius: .25rem;
        border-bottom-left-radius: .25rem
    }

    .data-\[spacing\=0\]\:last\:rounded-r-md[data-spacing="0"]:last-child {
        border-top-right-radius: .25rem;
        border-bottom-right-radius: .25rem
    }

    .data-\[state\=active\]\:bg-background[data-state=active] {
        background-color: var(--background)
    }

    .data-\[state\=active\]\:text-foreground[data-state=active] {
        color: var(--foreground)
    }

    .group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active] {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active] {
        background-color: #0000
    }

    .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active] {
        --tw-shadow: 0 0 #0000;
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after {
        content: var(--tw-content);
        opacity: 1
    }

    .data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked] {
        --tw-translate-x: calc(100% - 2px);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[state\=checked\]\:border-primary[data-state=checked] {
        border-color: var(--primary)
    }

    .data-\[state\=checked\]\:bg-primary[data-state=checked] {
        background-color: var(--primary)
    }

    .data-\[state\=checked\]\:text-primary-foreground[data-state=checked] {
        color: var(--primary-foreground)
    }

    .data-\[state\=closed\]\:animate-accordion-up[data-state=closed] {
        animation: accordion-up var(--tw-animation-duration, var(--tw-duration, .2s))var(--tw-ease, ease-out)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=closed\]\:animate-out[data-state=closed] {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=closed\]\:duration-300[data-state=closed] {
        --tw-duration: .3s;
        transition-duration: .3s
    }

    .data-\[state\=closed\]\:fade-out-0[data-state=closed] {
        --tw-exit-opacity: 0
    }

    .data-\[state\=closed\]\:zoom-out-95[data-state=closed] {
        --tw-exit-scale: .95
    }

    .data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed] {
        --tw-exit-translate-y: 100%
    }

    .data-\[state\=closed\]\:slide-out-to-left[data-state=closed] {
        --tw-exit-translate-x: -100%
    }

    .data-\[state\=closed\]\:slide-out-to-right[data-state=closed] {
        --tw-exit-translate-x: 100%
    }

    .data-\[state\=closed\]\:slide-out-to-top[data-state=closed] {
        --tw-exit-translate-y: -100%
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:animate-out:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed] {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:fade-out-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed] {
        --tw-exit-opacity: 0
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:zoom-out-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed] {
        --tw-exit-scale: .95
    }

    .data-\[state\=error\]\:border-destructive\/30[data-state=error] {
        border-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-\[state\=error\]\:border-destructive\/30[data-state=error] {
            border-color: color-mix(in oklab, var(--destructive) 30%, transparent)
        }
    }

    .data-\[state\=hidden\]\:animate-out[data-state=hidden] {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=hidden\]\:fade-out[data-state=hidden] {
        --tw-exit-opacity: 0
    }

    .data-\[state\=idle\]\:border-dashed[data-state=idle] {
        --tw-border-style: dashed;
        border-style: dashed
    }

    .data-\[state\=on\]\:bg-accent[data-state=on] {
        background-color: var(--accent)
    }

    .data-\[state\=on\]\:text-accent-foreground[data-state=on] {
        color: var(--accent-foreground)
    }

    .data-\[state\=open\]\:animate-accordion-down[data-state=open] {
        animation: accordion-down var(--tw-animation-duration, var(--tw-duration, .2s))var(--tw-ease, ease-out)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=open\]\:animate-in[data-state=open] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=open\]\:bg-accent[data-state=open],
    .data-\[state\=open\]\:bg-accent\/50[data-state=open] {
        background-color: var(--accent)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-\[state\=open\]\:bg-accent\/50[data-state=open] {
            background-color: color-mix(in oklab, var(--accent) 50%, transparent)
        }
    }

    .data-\[state\=open\]\:bg-secondary[data-state=open] {
        background-color: var(--secondary)
    }

    .data-\[state\=open\]\:text-accent-foreground[data-state=open] {
        color: var(--accent-foreground)
    }

    .data-\[state\=open\]\:text-muted-foreground[data-state=open] {
        color: var(--muted-foreground)
    }

    .data-\[state\=open\]\:opacity-100[data-state=open] {
        opacity: 1
    }

    .data-\[state\=open\]\:duration-500[data-state=open] {
        --tw-duration: .5s;
        transition-duration: .5s
    }

    .data-\[state\=open\]\:fade-in-0[data-state=open] {
        --tw-enter-opacity: 0
    }

    .data-\[state\=open\]\:zoom-in-90[data-state=open] {
        --tw-enter-scale: .9
    }

    .data-\[state\=open\]\:zoom-in-95[data-state=open] {
        --tw-enter-scale: .95
    }

    .data-\[state\=open\]\:slide-in-from-bottom[data-state=open] {
        --tw-enter-translate-y: 100%
    }

    .data-\[state\=open\]\:slide-in-from-left[data-state=open] {
        --tw-enter-translate-x: -100%
    }

    .data-\[state\=open\]\:slide-in-from-right[data-state=open] {
        --tw-enter-translate-x: 100%
    }

    .data-\[state\=open\]\:slide-in-from-top[data-state=open] {
        --tw-enter-translate-y: -100%
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:animate-in:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:fade-in-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open] {
        --tw-enter-opacity: 0
    }

    .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:zoom-in-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open] {
        --tw-enter-scale: .95
    }

    @media (hover:hover) {
        .data-\[state\=open\]\:hover\:bg-accent[data-state=open]:hover {
            background-color: var(--accent)
        }
    }

    .data-\[state\=open\]\:focus\:bg-accent[data-state=open]:focus {
        background-color: var(--accent)
    }

    .data-\[state\=selected\]\:bg-muted[data-state=selected] {
        background-color: var(--muted)
    }

    .data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked] {
        --tw-translate-x: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .data-\[state\=unchecked\]\:bg-input[data-state=unchecked] {
        background-color: var(--input)
    }

    .data-\[state\=visible\]\:animate-in[data-state=visible] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=visible\]\:fade-in[data-state=visible] {
        --tw-enter-opacity: 0
    }

    .data-\[variant\=destructive\]\:text-destructive[data-variant=destructive] {
        color: var(--destructive)
    }

    .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus {
        background-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus {
            background-color: color-mix(in oklab, var(--destructive) 10%, transparent)
        }
    }

    .data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus {
        color: var(--destructive)
    }

    .data-\[variant\=ghost\]\:max-w-full[data-variant=ghost] {
        max-width: 100%
    }

    .data-\[variant\=label\]\:text-sm[data-variant=label] {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .data-\[variant\=legend\]\:text-base[data-variant=legend] {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height))
    }

    .data-\[variant\=line\]\:rounded-none[data-variant=line] {
        border-radius: 0
    }

    .data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0[data-spacing="0"][data-variant=outline] {
        border-left-style: var(--tw-border-style);
        border-left-width: 0
    }

    .data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l[data-spacing="0"][data-variant=outline]:first-child {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .data-\[spacing\=default\]\:data-\[variant\=outline\]\:shadow-xs[data-spacing=default][data-variant=outline] {
        --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom] {
        inset-inline: calc(var(--spacing) * 0)
    }

    .data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom] {
        bottom: calc(var(--spacing) * 0)
    }

    .data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom] {
        margin-top: calc(var(--spacing) * 24)
    }

    .data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom] {
        max-height: 80vh
    }

    .data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom] {
        border-top-left-radius: .4rem;
        border-top-right-radius: .4rem
    }

    .data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom] {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left] {
        inset-block: calc(var(--spacing) * 0)
    }

    .data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left] {
        left: calc(var(--spacing) * 0)
    }

    .data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left] {
        width: 75%
    }

    .data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left] {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right] {
        inset-block: calc(var(--spacing) * 0)
    }

    .data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right] {
        right: calc(var(--spacing) * 0)
    }

    .data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right] {
        width: 75%
    }

    .data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right] {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top] {
        inset-inline: calc(var(--spacing) * 0)
    }

    .data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top] {
        top: calc(var(--spacing) * 0)
    }

    .data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top] {
        margin-bottom: calc(var(--spacing) * 24)
    }

    .data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top] {
        max-height: 80vh
    }

    .data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top] {
        border-bottom-right-radius: .4rem;
        border-bottom-left-radius: .4rem
    }

    .data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top] {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .nth-last-2\:-mt-1:nth-last-child(2) {
        margin-top: calc(var(--spacing) * -1)
    }

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

        .sm\:flex {
            display: flex
        }

        .sm\:max-w-lg {
            max-width: var(--container-lg)
        }

        .sm\:max-w-sm {
            max-width: var(--container-sm)
        }

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

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

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

        .sm\:pr-2\.5 {
            padding-right: calc(var(--spacing) * 2.5)
        }

        .sm\:pl-2\.5 {
            padding-left: calc(var(--spacing) * 2.5)
        }

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

        .sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *) {
            grid-row: span 2/span 2
        }

        .sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *) {
            place-items: start
        }

        .sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *) {
            text-align: left
        }

        .sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *) {
            grid-column-start: 2
        }

        .sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]) {
            grid-template-rows: auto 1fr
        }

        .data-\[size\=default\]\:sm\:max-w-lg[data-size=default] {
            max-width: var(--container-lg)
        }

        .data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],
        .data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right] {
            max-width: var(--container-sm)
        }
    }

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

        .md\:block {
            display: block
        }

        .md\:flex {
            display: flex
        }

        .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
            width: var(--radix-navigation-menu-viewport-width)
        }

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

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

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

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

        .md\:text-left {
            text-align: left
        }

        .md\:text-sm {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height))
        }

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

        .md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*) {
            margin: calc(var(--spacing) * 2)
        }

        .md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*) {
            margin-left: calc(var(--spacing) * 0)
        }

        .md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*) {
            border-radius: .5rem
        }

        .md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*) {
            --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
        }

        .md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*) {
            margin-left: calc(var(--spacing) * 2)
        }

        .md\:after\:hidden:after {
            content: var(--tw-content);
            display: none
        }
    }

    @container field-group (width>=28rem) {
        .\@md\/field-group\:flex-row {
            flex-direction: row
        }

        .\@md\/field-group\:items-center {
            align-items: center
        }

        .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]) {
            align-items: flex-start
        }
    }

    .rtl\:translate-x-1\/2:where(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)), [dir=rtl], [dir=rtl] *) {
        --tw-translate-x: calc(1 / 2 * 100%);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    @media (prefers-color-scheme:dark) {
        .dark\:border-input {
            border-color: var(--input)
        }

        .dark\:bg-destructive\/60 {
            background-color: var(--destructive)
        }

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

        .dark\:bg-input\/30 {
            background-color: var(--input)
        }

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

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

        .dark\:text-muted-foreground {
            color: var(--muted-foreground)
        }

        @media (hover:hover) {
            .dark\:hover\:bg-accent\/50:hover {
                background-color: var(--accent)
            }

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

            .dark\:hover\:bg-input\/50:hover {
                background-color: var(--input)
            }

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

            .dark\:hover\:text-accent-foreground:hover {
                color: var(--accent-foreground)
            }

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

        .dark\:focus-visible\:ring-destructive\/40:focus-visible {
            --tw-ring-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:focus-visible\:ring-destructive\/40:focus-visible {
                --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)
            }
        }

        .dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]) {
            border-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]) {
                border-color: color-mix(in oklab, var(--destructive) 50%, transparent)
            }
        }

        .dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]) {
            --tw-ring-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]) {
                --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)
            }
        }

        .dark\:has-data-\[state\=checked\]\:bg-primary\/10:has([data-state=checked]) {
            background-color: var(--primary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:has-data-\[state\=checked\]\:bg-primary\/10:has([data-state=checked]) {
                background-color: color-mix(in oklab, var(--primary) 10%, transparent)
            }
        }

        .dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]) {
            --tw-ring-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]) {
                --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)
            }
        }

        .dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true] {
            --tw-ring-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true] {
                --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)
            }
        }

        .dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40[data-active=true][aria-invalid=true] {
            --tw-ring-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40[data-active=true][aria-invalid=true] {
                --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent)
            }
        }

        :is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.3_calc\(c\*0\.4\)_h\)\]>*)[data-slot=bubble-content] {
            background-color: oklch(from var(--primary) .3 calc(c * .4) h)
        }

        :is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-destructive\/20>*)[data-slot=bubble-content] {
            background-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            :is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-destructive\/20>*)[data-slot=bubble-content] {
                background-color: color-mix(in oklab, var(--destructive) 20%, transparent)
            }
        }

        .dark\:data-\[state\=active\]\:border-input[data-state=active] {
            border-color: var(--input)
        }

        .dark\:data-\[state\=active\]\:bg-input\/30[data-state=active] {
            background-color: var(--input)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:data-\[state\=active\]\:bg-input\/30[data-state=active] {
                background-color: color-mix(in oklab, var(--input) 30%, transparent)
            }
        }

        .dark\:data-\[state\=active\]\:text-foreground[data-state=active] {
            color: var(--foreground)
        }

        .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active] {
            border-color: #0000
        }

        .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active] {
            background-color: #0000
        }

        .dark\:data-\[state\=checked\]\:bg-primary[data-state=checked] {
            background-color: var(--primary)
        }

        .dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state=checked] {
            background-color: var(--primary-foreground)
        }

        .dark\:data-\[state\=unchecked\]\:bg-foreground[data-state=unchecked] {
            background-color: var(--foreground)
        }

        .dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked] {
            background-color: var(--input)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked] {
                background-color: color-mix(in oklab, var(--input) 80%, transparent)
            }
        }

        .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus {
            background-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus {
                background-color: color-mix(in oklab, var(--destructive) 20%, transparent)
            }
        }
    }

    @media (pointer:coarse) {
        .pointer-coarse\:size-5 {
            width: calc(var(--spacing) * 5);
            height: calc(var(--spacing) * 5)
        }

        .pointer-coarse\:px-3 {
            padding-inline: calc(var(--spacing) * 3)
        }

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

        .pointer-coarse\:text-sm {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height))
        }
    }

    .data-open\:animate-in:where([data-state=open]),
    .data-open\:animate-in:where([data-open]:not([data-open=false])) {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-open\:fade-in-0:where([data-state=open]),
    .data-open\:fade-in-0:where([data-open]:not([data-open=false])) {
        --tw-enter-opacity: 0
    }

    .data-open\:zoom-in-95:where([data-state=open]),
    .data-open\:zoom-in-95:where([data-open]:not([data-open=false])) {
        --tw-enter-scale: .95
    }

    .data-closed\:animate-out:where([data-state=closed]),
    .data-closed\:animate-out:where([data-closed]:not([data-closed=false])) {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-closed\:fade-out-0:where([data-state=closed]),
    .data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])) {
        --tw-exit-opacity: 0
    }

    .data-closed\:zoom-out-95:where([data-state=closed]),
    .data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])) {
        --tw-exit-scale: .95
    }

    .\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
        fill: var(--muted-foreground)
    }

    .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc] {
        stroke: var(--border)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc] {
            stroke: color-mix(in oklab, var(--border) 50%, transparent)
        }
    }

    .\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
        stroke: var(--border)
    }

    .\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff] {
        stroke: #0000
    }

    .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc] {
        stroke: var(--border)
    }

    .\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,
    .\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
        fill: var(--muted)
    }

    .\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc] {
        stroke: var(--border)
    }

    .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff] {
        stroke: #0000
    }

    .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
        padding-inline: calc(var(--spacing) * 2)
    }

    .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
        padding-block: calc(var(--spacing) * 1.5)
    }

    .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
        color: var(--muted-foreground)
    }

    .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
        padding-inline: calc(var(--spacing) * 2)
    }

    .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group] {
        padding-top: calc(var(--spacing) * 0)
    }

    .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
        height: calc(var(--spacing) * 5)
    }

    .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
        width: calc(var(--spacing) * 5)
    }

    .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
        height: calc(var(--spacing) * 12)
    }

    .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
        padding-inline: calc(var(--spacing) * 2)
    }

    .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
        padding-block: calc(var(--spacing) * 3)
    }

    .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
        height: calc(var(--spacing) * 5)
    }

    .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
        width: calc(var(--spacing) * 5)
    }

    .\[\&_img\]\:size-full img {
        width: 100%;
        height: 100%
    }

    .\[\&_img\]\:object-cover img {
        object-fit: cover
    }

    .\[\&_p\]\:leading-relaxed p {
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed)
    }

    .\[\&_svg\]\:pointer-events-none svg {
        pointer-events: none
    }

    .\[\&_svg\]\:shrink-0 svg {
        flex-shrink: 0
    }

    .data-\[direction\=start\]\:\[\&_svg\]\:rotate-180[data-direction=start] svg {
        rotate: 180deg
    }

    .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]) {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3)
    }

    .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]) {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*=size-]),
    .group-data-\[orientation\=vertical\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6:is(:where(.group\/attachment)[data-orientation=vertical] *) svg:not([class*=size-]) {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6)
    }

    .group-data-\[size\=xs\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5:is(:where(.group\/attachment)[data-size=xs] *) svg:not([class*=size-]) {
        width: calc(var(--spacing) * 3.5);
        height: calc(var(--spacing) * 3.5)
    }

    .\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]) {
        color: var(--muted-foreground)
    }

    .\[\&_tr\]\:border-b tr {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .\[\&_tr\:last-child\]\:border-0 tr:last-child {
        border-style: var(--tw-border-style);
        border-width: 0
    }

    .\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content] {
        flex: none
    }

    .\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button {
        border-top-left-radius: .25rem;
        border-bottom-left-radius: .25rem
    }

    .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
        padding-right: calc(var(--spacing) * 0)
    }

    .\[\.border-b\]\:pb-3.border-b {
        padding-bottom: calc(var(--spacing) * 3)
    }

    .\[\.border-b\]\:pb-6.border-b {
        padding-bottom: calc(var(--spacing) * 6)
    }

    .\[\.border-t\]\:pt-3.border-t {
        padding-top: calc(var(--spacing) * 3)
    }

    .\[\.border-t\]\:pt-6.border-t {
        padding-top: calc(var(--spacing) * 6)
    }

    :is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)), [dir=rtl], [dir=rtl] *) *):is(.rdp-button_next>svg),
    :is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)), [dir=rtl], [dir=rtl] *) *):is(.rdp-button_previous>svg) {
        rotate: 180deg
    }

    .\[a\]\:underline:is(a) {
        text-decoration-line: underline
    }

    .\[a\]\:underline-offset-3:is(a) {
        text-underline-offset: 3px
    }

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

    :is(.\*\:\[a\]\:underline>*):is(a) {
        text-decoration-line: underline
    }

    :is(.\*\:\[a\]\:underline-offset-3>*):is(a) {
        text-underline-offset: 3px
    }

    @media (hover:hover) {
        .\[a\]\:hover\:bg-accent\/50:is(a):hover {
            background-color: var(--accent)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .\[a\]\:hover\:bg-accent\/50:is(a):hover {
                background-color: color-mix(in oklab, var(--accent) 50%, transparent)
            }
        }

        .\[a\]\:hover\:text-foreground:is(a):hover,
        :is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover {
            color: var(--foreground)
        }
    }

    .\[button\]\:text-left:is(button) {
        text-align: left
    }

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

    .\[button\,a\]\:outline-none:is(button, a) {
        --tw-outline-style: none;
        outline-style: none
    }

    .\[button\,a\]\:focus-visible\:border-ring:is(button, a):focus-visible {
        border-color: var(--ring)
    }

    .\[button\,a\]\:focus-visible\:ring-3:is(button, a):focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .\[button\,a\]\:focus-visible\:ring-ring\/50:is(button, a):focus-visible {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[button\,a\]\:focus-visible\:ring-ring\/50:is(button, a):focus-visible {
            --tw-ring-color: color-mix(in oklab, var(--ring) 50%, transparent)
        }
    }

    :is(.\*\:\[img\]\:aspect-square>*):is(img) {
        aspect-ratio: 1
    }

    :is(.\*\:\[img\]\:w-full>*):is(img) {
        width: 100%
    }

    :is(.\*\:\[img\]\:object-cover>*):is(img) {
        object-fit: cover
    }

    :is(.\*\:\[span\]\:last\:flex>*):is(span):last-child {
        display: flex
    }

    :is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child {
        align-items: center
    }

    :is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child {
        gap: calc(var(--spacing) * 2)
    }

    :is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg) {
        color: var(--destructive) !important
    }

    :is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-8>*):is(svg:not([class*=size-])) {
        width: calc(var(--spacing) * 8);
        height: calc(var(--spacing) * 8)
    }

    .\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button {
        border-top-right-radius: .25rem;
        border-bottom-right-radius: .25rem
    }

    .\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-md:nth-child(2)[data-selected=true] button {
        border-top-left-radius: .25rem;
        border-bottom-left-radius: .25rem
    }

    .\[\&\>\*\]\:w-full>* {
        width: 100%
    }

    .\[\&\>\*\]\:focus-visible\:relative>:focus-visible {
        position: relative
    }

    .\[\&\>\*\]\:focus-visible\:z-10>:focus-visible {
        z-index: 10
    }

    .\[\&\>\*\]\:data-\[slot\=field\]\:p-4>[data-slot=field] {
        padding: calc(var(--spacing) * 4)
    }

    @container field-group (width>=28rem) {
        .\@md\/field-group\:\[\&\>\*\]\:w-auto>* {
            width: auto
        }
    }

    .\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>:not(:first-child) {
        border-top-left-radius: 0;
        border-top-right-radius: 0
    }

    .\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0
    }

    .\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>:not(:first-child) {
        border-top-style: var(--tw-border-style);
        border-top-width: 0
    }

    .\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>:not(:first-child) {
        border-left-style: var(--tw-border-style);
        border-left-width: 0
    }

    .\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0
    }

    .\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>:not(:last-child) {
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0
    }

    .\[\&\>\.sr-only\]\:w-auto>.sr-only {
        width: auto
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button, a):hover {
        background-color: var(--muted)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button, a):hover {
            background-color: color-mix(in oklch, var(--muted), var(--foreground) 5%)
        }
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button, a):hover {
        background-color: var(--secondary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button, a):hover {
            background-color: color-mix(in oklch, var(--secondary), var(--foreground) 5%)
        }
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.88_calc\(c\*0\.5\)_h\)\]>[data-slot=bubble-content]:is(button, a):hover {
        background-color: oklch(from var(--primary) .88 calc(c * .5) h)
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/20>[data-slot=bubble-content]:is(button, a):hover {
        background-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/20>[data-slot=bubble-content]:is(button, a):hover {
            background-color: color-mix(in oklab, var(--destructive) 20%, transparent)
        }
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted>[data-slot=bubble-content]:is(button, a):hover {
        background-color: var(--muted)
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-primary\/80>[data-slot=bubble-content]:is(button, a):hover {
        background-color: var(--primary)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-primary\/80>[data-slot=bubble-content]:is(button, a):hover {
            background-color: color-mix(in oklab, var(--primary) 80%, transparent)
        }
    }

    .\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:text-foreground>[data-slot=bubble-content]:is(button, a):hover {
        color: var(--foreground)
    }

    @media (prefers-color-scheme:dark) {
        .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.35_calc\(c\*0\.5\)_h\)\]>[data-slot=bubble-content]:is(button, a):hover {
            background-color: oklch(from var(--primary) .35 calc(c * .5) h)
        }

        .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/30>[data-slot=bubble-content]:is(button, a):hover {
            background-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-destructive\/30>[data-slot=bubble-content]:is(button, a):hover {
                background-color: color-mix(in oklab, var(--destructive) 30%, transparent)
            }
        }

        .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-input\/30>[data-slot=bubble-content]:is(button, a):hover {
            background-color: var(--input)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-input\/30>[data-slot=bubble-content]:is(button, a):hover {
                background-color: color-mix(in oklab, var(--input) 30%, transparent)
            }
        }

        .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted\/50>[data-slot=bubble-content]:is(button, a):hover {
            background-color: var(--muted)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-muted\/50>[data-slot=bubble-content]:is(button, a):hover {
                background-color: color-mix(in oklab, var(--muted) 50%, transparent)
            }
        }
    }

    .\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group] {
        gap: calc(var(--spacing) * 4)
    }

    .\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label] {
        flex: auto
    }

    @container field-group (width>=28rem) {
        .\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label] {
            flex: auto
        }
    }

    .has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type {
        border-top-right-radius: .25rem;
        border-bottom-right-radius: .25rem
    }

    .\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]) {
        width: fit-content
    }

    .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox] {
        --tw-translate-y: 2px;
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    :is(.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox], .has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]) {
        margin-top: 1px
    }

    @container field-group (width>=28rem) {
        :is(.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox], .\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]) {
            margin-top: 1px
        }
    }

    .\[\&\>a\]\:underline>a {
        text-decoration-line: underline
    }

    .\[\&\>a\]\:underline-offset-4>a {
        text-underline-offset: 4px
    }

    .\[\&\>a\:hover\]\:text-primary>a:hover {
        color: var(--primary)
    }

    .\[\&\>button\]\:hidden>button {
        display: none
    }

    .\[\&\>input\]\:flex-1>input {
        flex: 1
    }

    .has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input {
        padding-top: calc(var(--spacing) * 3)
    }

    .has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input {
        padding-bottom: calc(var(--spacing) * 3)
    }

    .has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2:has(>[data-align=inline-end])>input {
        padding-right: calc(var(--spacing) * 2)
    }

    .has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2:has(>[data-align=inline-start])>input {
        padding-left: calc(var(--spacing) * 2)
    }

    .\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd {
        border-radius: calc(var(--radius) - 5px)
    }

    .\[\&\>span\]\:text-xs>span {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .\[\&\>span\]\:opacity-70>span {
        opacity: .7
    }

    .\[\&\>span\:last-child\]\:truncate>span:last-child {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden
    }

    .\[\&\>svg\]\:pointer-events-none>svg {
        pointer-events: none
    }

    .\[\&\>svg\]\:size-3>svg {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3)
    }

    .\[\&\>svg\]\:size-3\.5>svg {
        width: calc(var(--spacing) * 3.5);
        height: calc(var(--spacing) * 3.5)
    }

    .\[\&\>svg\]\:size-4>svg {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .\[\&\>svg\]\:h-2\.5>svg {
        height: calc(var(--spacing) * 2.5)
    }

    .\[\&\>svg\]\:h-3>svg {
        height: calc(var(--spacing) * 3)
    }

    .\[\&\>svg\]\:w-2\.5>svg {
        width: calc(var(--spacing) * 2.5)
    }

    .\[\&\>svg\]\:w-3>svg {
        width: calc(var(--spacing) * 3)
    }

    .\[\&\>svg\]\:shrink-0>svg {
        flex-shrink: 0
    }

    .\[\&\>svg\]\:translate-y-0\.5>svg {
        --tw-translate-y: calc(var(--spacing) * .5);
        translate: var(--tw-translate-x) var(--tw-translate-y)
    }

    .\[\&\>svg\]\:text-current>svg {
        color: currentColor
    }

    .\[\&\>svg\]\:text-muted-foreground>svg {
        color: var(--muted-foreground)
    }

    .group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg {
        width: calc(var(--spacing) * 5);
        height: calc(var(--spacing) * 5)
    }

    .group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3)
    }

    .group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,
    .group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg {
        width: calc(var(--spacing) * 2);
        height: calc(var(--spacing) * 2)
    }

    .group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg {
        display: none
    }

    .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]) {
        width: calc(var(--spacing) * 3.5);
        height: calc(var(--spacing) * 3.5)
    }

    .\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]) {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .\[\&\>tr\]\:last\:border-b-0>tr:last-child {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 0
    }

    .\[\&\[aria-orientation\=horizontal\]\>div\]\:rotate-90[aria-orientation=horizontal]>div {
        rotate: 90deg
    }

    .\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
        rotate: 180deg
    }

    [data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
        right: calc(var(--spacing) * -2)
    }

    [data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
        cursor: e-resize
    }

    [data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
        left: calc(var(--spacing) * -2)
    }

    [data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
        cursor: w-resize
    }

    [data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,
    [data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent {
        background-color: #0000
    }

    [data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20 {
        background-color: var(--background)
    }

    @supports (color:color-mix(in lab, red, red)) {
        [data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/20 {
            background-color: color-mix(in oklab, var(--background) 20%, transparent)
        }
    }

    [data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background {
        color: var(--background)
    }

    @media (prefers-color-scheme:dark) {
        [data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10 {
            background-color: var(--background)
        }

        @supports (color:color-mix(in lab, red, red)) {
            [data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10 {
                background-color: color-mix(in oklab, var(--background) 10%, transparent)
            }
        }
    }

    [data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5 {
        margin-top: calc(var(--spacing) * -1.5)
    }

    @media (hover:hover) {
        a.\[a\&\]\:hover\:bg-accent:hover {
            background-color: var(--accent)
        }

        a.\[a\&\]\:hover\:bg-destructive\/90:hover {
            background-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            a.\[a\&\]\:hover\:bg-destructive\/90:hover {
                background-color: color-mix(in oklab, var(--destructive) 90%, transparent)
            }
        }

        a.\[a\&\]\:hover\:bg-primary\/90:hover {
            background-color: var(--primary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            a.\[a\&\]\:hover\:bg-primary\/90:hover {
                background-color: color-mix(in oklab, var(--primary) 90%, transparent)
            }
        }

        a.\[a\&\]\:hover\:bg-secondary\/90:hover {
            background-color: var(--secondary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            a.\[a\&\]\:hover\:bg-secondary\/90:hover {
                background-color: color-mix(in oklab, var(--secondary) 90%, transparent)
            }
        }

        a.\[a\&\]\:hover\:text-accent-foreground:hover {
            color: var(--accent-foreground)
        }

        a.\[a\&\]\:hover\:underline:hover {
            text-decoration-line: underline
        }
    }
}

@property --tw-animation-delay {
    syntax: "*";
    inherits: false;
    initial-value: 0s
}

@property --tw-animation-direction {
    syntax: "*";
    inherits: false;
    initial-value: normal
}

@property --tw-animation-duration {
    syntax: "*";
    inherits: false
}

@property --tw-animation-fill-mode {
    syntax: "*";
    inherits: false;
    initial-value: none
}

@property --tw-animation-iteration-count {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-blur {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-enter-opacity {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-rotate {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-enter-scale {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-enter-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-blur {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-opacity {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-exit-rotate {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-scale {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-exit-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --scroll-fade-t {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0
}

@property --scroll-fade-b {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0
}

@property --scroll-fade-s {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0
}

@property --scroll-fade-e {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0
}

@property --scroll-fade-mask {
    syntax: "*";
    inherits: false
}

@property --shimmer-angle {
    syntax: "<angle>";
    inherits: true;
    initial-value: 20deg
}

@property --shimmer-image {
    syntax: "*";
    inherits: false
}

@property --shimmer-text-fill {
    syntax: "*";
    inherits: false
}

@media (prefers-reduced-motion:reduce) {
    .shimmer {
        -webkit-text-fill-color: currentColor;
        background-image: none;
        animation: none
    }
}

@font-face {
    font-family: Manrope;
    src: url(/fonts/manrope-latin.woff)format("woff");
    font-weight: 200 800;
    font-display: swap
}

@font-face {
    font-family: NotoArabic;
    src: url(/fonts/noto-arabic-subset.woff)format("woff");
    font-weight: 100 900;
    font-display: swap
}

:root {
    --navy: #0b1f3a;
    --blue: #06c;
    --ink: #10243d;
    --sub: #526176;
    --line: #d7dfe8;
    --paper: #f2f5f8;
    --background: #fff;
    --foreground: #10243d;
    --card: #fff;
    --card-foreground: #10243d;
    --popover: #fff;
    --popover-foreground: #10243d;
    --primary: #06c;
    --primary-foreground: #fff;
    --secondary: #edf2f7;
    --secondary-foreground: #10243d;
    --muted: #f2f5f8;
    --muted-foreground: #526176;
    --accent: #e4effb;
    --accent-foreground: #0b1f3a;
    --destructive: #b22136;
    --border: #d7dfe8;
    --input: #bac7d6;
    --ring: #06c;
    --radius: .25rem;
    --read-progress: 0%
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 150px
}

body {
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
    background: #fff;
    margin: 0;
    font-family: Manrope, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7
}

body,
html {
    max-width: 100%
}

html[lang=ar-SA] body {
    font-family: NotoArabic, Arial, sans-serif
}

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

button,
input,
textarea {
    font: inherit
}

button,
a {
    touch-action: manipulation
}

button {
    cursor: pointer
}

button:disabled {
    cursor: wait;
    opacity: .6
}

img {
    max-width: 100%;
    display: block
}

h1,
h2,
h3,
h4,
p {
    margin: 0
}

h1,
h2,
h3,
h4 {
    letter-spacing: -.04em;
    font-weight: 600;
    line-height: 1.15
}

h1 {
    font-size: clamp(2.6rem, 4.8vw, 5.3rem)
}

h2 {
    white-space: pre-line;
    font-size: clamp(2.1rem, 3.45vw, 4rem)
}

h3 {
    font-size: clamp(1.25rem, 1.6vw, 1.6rem)
}

p {
    color: var(--sub)
}

p+p {
    margin-top: 1.1em
}

p a,
.prose a {
    color: var(--blue);
    text-underline-offset: 4px;
    text-decoration: underline
}

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

svg {
    flex-shrink: 0
}

em {
    color: var(--blue);
    font-style: normal
}

:focus-visible {
    outline-offset: 5px;
    outline: 3px solid #1686f4
}

:is(input:focus-visible, textarea:focus-visible) {
    outline-offset: 2px
}

.wrap {
    width: min(90%, 1540px);
    margin-inline: auto
}

.section {
    padding: 112px 0
}

.muted,
.catalogue-section {
    background: var(--paper)
}

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

.dark-section p {
    color: #c1cddd
}

.dark-section .eyebrow {
    color: #86bfff
}

.dark-section .text-link {
    color: #fff
}

.lead {
    color: var(--ink);
    font-size: clamp(1.2rem, 1.65vw, 1.65rem);
    line-height: 1.65
}

.meta {
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--sub);
    font-size: .8rem;
    font-weight: 600
}

.eyebrow {
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--blue);
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    font-size: .76rem;
    font-weight: 750;
    line-height: 1.6;
    display: flex
}

.eyebrow>span:empty {
    background: currentColor;
    width: 24px;
    height: 2px
}

.button {
    background: var(--blue);
    color: #fff;
    border: 1px solid #0000;
    justify-content: center;
    align-items: center;
    gap: 24px;
    min-height: 52px;
    padding: 16px 23px;
    font-size: .88rem;
    font-weight: 650;
    line-height: 1.5;
    transition: background .2s, transform .2s;
    display: inline-flex
}

.button:hover {
    background: #0053a6;
    transform: translateY(-2px)
}

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

.button-white:hover {
    background: #e8f2ff
}

.button-outline {
    color: #fff;
    background: 0 0;
    border-color: #7689a1
}

.button-outline:hover {
    background: #173a62
}

.button-row {
    flex-wrap: wrap;
    align-items: center;
    gap: 28px;
    display: flex
}

.text-link {
    color: var(--blue);
    align-items: center;
    gap: 18px;
    padding: 8px 0;
    font-size: .92rem;
    font-weight: 650;
    display: inline-flex;
    text-decoration: none !important
}

.text-link:hover svg {
    transform: translate(3px, -1px)
}

.text-link svg {
    transition: transform .2s
}

.visual {
    background: #dce4ec;
    display: block;
    overflow: hidden
}

.visual img {
    object-fit: cover;
    object-position: var(--focal, 65% 50%);
    width: 100%;
    height: 100%
}

.section-head {
    grid-template-columns: 1.4fr 1fr;
    align-items: end;
    gap: 80px;
    margin-bottom: 55px;
    display: grid
}

.section-head>div:last-child {
    max-width: 520px
}

.section-head p:not(.eyebrow) {
    font-size: 1.04rem
}

.section-head .text-link {
    margin-top: 18px
}

.split-editorial {
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 10%;
    display: grid
}

.split-editorial h2 {
    max-width: 620px
}

.split-editorial>div>p {
    margin-top: 24px
}

.reading-progress {
    width: var(--read-progress);
    z-index: 90;
    pointer-events: none;
    background: #1686f4;
    height: 3px;
    position: fixed;
    top: 0;
    left: 0
}

.skip-link {
    color: var(--navy);
    z-index: 200;
    background: #fff;
    padding: 16px;
    position: fixed;
    top: -80px;
    left: 16px
}

.skip-link:focus {
    top: 12px
}

.site-header {
    z-index: 60;
    border-bottom: 1px solid var(--line);
    background: #fff;
    justify-content: space-between;
    align-items: center;
    gap: 22px;
    height: 90px;
    padding: 0 3.3%;
    display: flex;
    position: sticky;
    top: 0
}

.wordmark {
    color: var(--navy);
    flex-direction: column;
    flex-shrink: 0;
    display: inline-flex
}

.wordmark>span {
    letter-spacing: -.065em;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.2
}

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

.brand-dot {
    margin-left: 2px
}

.wordmark small {
    letter-spacing: .17em;
    margin-top: 6px;
    font-size: .53rem;
    font-weight: 700
}

.desktop-nav {
    align-items: center;
    gap: 24px;
    display: flex
}

.desktop-nav a,
.desktop-nav button {
    font-size: .82rem;
    font-weight: 650
}

.nav-group>button {
    background: 0 0;
    border: 0;
    gap: 8px;
    padding: 28px 0;
    display: flex
}

.nav-group>a {
    padding: 28px 0
}

.nav-group>a:hover,
.nav-group>button:hover {
    color: var(--blue)
}

.header-actions {
    align-items: center;
    gap: 18px;
    display: flex
}

.header-cta {
    gap: 16px;
    min-height: 46px;
    padding: 12px 16px;
    font-size: .78rem
}

.search-icon {
    margin: -10px;
    padding: 10px
}

.language-link {
    font-size: .82rem;
    font-weight: 700
}

.mobile-menu {
    display: none
}

.mega {
    top: 89px;
    background: #fff;
    grid-template-columns: 24% 1fr;
    gap: 45px;
    max-height: calc(100svh - 100px);
    padding: 38px 5vw;
    display: grid;
    position: absolute;
    inset-inline: 0;
    overflow-y: auto;
    box-shadow: 0 30px 45px #04172b20
}

.mega-intro {
    border-inline-end: 1px solid var(--line);
    padding-inline-end: 32px
}

.mega-intro h2 {
    margin-bottom: 24px;
    font-size: 2rem
}

.mega-links {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px 28px;
    display: grid
}

.mega-links>a {
    border-bottom: 1px solid var(--line);
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    line-height: 1.5;
    display: flex
}

.mega-links>a:hover {
    color: var(--blue)
}

.mega-links svg {
    width: 15px
}

.menu-scrim {
    z-index: 50;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    background: #00122640;
    position: fixed;
    inset: 90px 0 0
}

.mobile-sheet {
    overflow-y: auto;
    width: min(92vw, 440px) !important;
    max-width: 440px !important;
    padding: 26px !important
}

.mobile-sheet [data-slot=sheet-header] {
    padding: 0 0 25px
}

.mobile-sheet nav>div {
    border-bottom: 1px solid var(--line)
}

.mobile-sheet nav>div>a,
.mobile-sheet summary {
    cursor: pointer;
    padding: 18px 0;
    font-size: 1.1rem;
    font-weight: 600;
    display: block
}

.mobile-sheet details a {
    padding: 10px 8px;
    font-size: .95rem;
    display: block
}

.mobile-sheet nav>.button {
    margin-top: 25px
}

.mobile-sheet nav>a:not(.button) {
    padding: 14px 0;
    display: block
}

.menu-close {
    border: 1px solid var(--line);
    align-self: flex-end;
    margin-top: -15px;
    margin-bottom: 10px;
    padding: 6px 12px
}

.hero-carousel {
    isolation: isolate;
    background: var(--navy);
    color: #fff;
    height: clamp(690px, 100svh - 90px, 980px);
    position: relative;
    overflow: hidden
}

.hero-stable {
    z-index: 4;
    letter-spacing: .15em;
    color: #a7c6ec;
    font-size: .75rem;
    font-weight: 650;
    line-height: 1.7;
    position: absolute;
    top: 9%;
    left: 5%
}

.hero-slide {
    opacity: 0;
    visibility: hidden;
    transition: opacity .85s, visibility .85s;
    position: absolute;
    inset: 0
}

.hero-slide.active {
    opacity: 1;
    visibility: visible;
    z-index: 1
}

.hero-image {
    position: absolute;
    inset: 0
}

.hero-image img {
    object-position: 62% 50%
}

.hero-shade {
    background: linear-gradient(90deg, #06172ef7 0%, #091e36d6 31%, #07182f45 67%, #06172e15), linear-gradient(#0000 65%, #06182ff0);
    position: absolute;
    inset: 0
}

.hero-copy {
    top: 25%;
    width: min(68%, 1040px);
    position: absolute;
    inset-inline-start: 5%
}

.hero-service {
    letter-spacing: .025em;
    color: #b4cce9;
    margin-bottom: 23px;
    font-size: .85rem;
    display: block
}

.hero-copy h2 {
    letter-spacing: -.055em;
    margin-bottom: 28px;
    font-size: clamp(3rem, 5.25vw, 6.3rem);
    font-weight: 500;
    line-height: 1.05
}

.hero-copy h2 span {
    display: block
}

.hero-copy p {
    color: #d4dfed;
    max-width: 550px;
    margin-bottom: 34px;
    font-size: 1.05rem;
    line-height: 1.7
}

.hero-explore {
    color: #fff;
    align-items: center;
    gap: 16px;
    font-size: .9rem;
    font-weight: 600;
    display: inline-flex
}

.hero-bottom {
    z-index: 6;
    align-items: end;
    gap: 35px;
    display: flex;
    position: absolute;
    bottom: 30px;
    left: 5%;
    right: 5%
}

.hero-indicators {
    flex: 1;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
    display: grid
}

.hero-indicators button {
    text-align: start;
    color: #c1cfe0;
    background: 0 0;
    border: 0;
    flex-direction: column;
    gap: 8px;
    min-height: 90px;
    padding: 14px 0 20px;
    display: flex;
    position: relative
}

.hero-indicators button>span:first-child {
    letter-spacing: .06em;
    font-size: .8rem
}

.indicator-name {
    max-width: 160px;
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.55
}

.hero-indicators i {
    bottom: 0;
    background: #c4d9f13b;
    height: 2px;
    position: absolute;
    inset-inline: 0
}

.hero-indicators .current {
    color: #fff
}

.hero-indicators .current i {
    background: #2190ff
}

.hero-controls {
    gap: 7px;
    padding-bottom: 8px;
    display: flex
}

.hero-controls button {
    color: #fff;
    background: #10273ab3;
    border: 1px solid #b8d4f34a;
    place-items: center;
    width: 42px;
    height: 42px;
    font-size: 1.1rem;
    display: grid
}

.hero-controls button:hover {
    background: var(--blue)
}

.capability-strip {
    border-bottom: 1px solid var(--line);
    background: #fff
}

.capability-strip>.wrap {
    align-items: center;
    gap: 42px;
    min-height: 84px;
    display: flex
}

.capability-strip span {
    letter-spacing: .1em;
    font-size: .76rem;
    font-weight: 750
}

.capability-strip a {
    color: var(--sub);
    align-items: center;
    gap: 16px;
    margin-left: auto;
    font-size: .85rem;
    display: flex
}

.intro {
    padding: 130px 0
}

.intro-grid {
    grid-template-columns: 1.2fr 1fr;
    gap: 10%;
    display: grid
}

.intro-grid h2 {
    letter-spacing: -.06em;
    font-size: clamp(3rem, 5.5vw, 6rem)
}

.intro-grid .lead {
    margin-bottom: 20px
}

.intro-grid .text-link {
    margin-top: 23px
}

.capabilities-section {
    background: #edf2f7
}

.stack-sequence {
    flex-direction: column;
    gap: 40px;
    padding-bottom: 0;
    display: flex
}

.stack-panel {
    transform-origin: 50% 0;
    will-change: transform;
    background: #fff;
    border: 1px solid #d4dfe9;
    grid-template-columns: 1.13fr 1fr;
    min-height: 590px;
    display: grid;
    position: sticky;
    top: 112px;
    box-shadow: 0 18px 40px #10243d12
}

.stack-visual {
    min-width: 0;
    position: relative
}

.stack-visual .visual {
    position: absolute;
    inset: 0
}

.stack-number {
    color: #fff;
    letter-spacing: -.07em;
    font-size: 5rem;
    font-weight: 300;
    line-height: 1;
    position: absolute;
    bottom: 20px;
    left: 32px
}

.stack-copy {
    padding: 42px 48px
}

.stack-copy>.eyebrow {
    margin-bottom: 16px
}

.stack-feature {
    padding: 23px 0 23px 45px;
    position: relative
}

.stack-feature+.stack-feature {
    border-top: 1px solid var(--line)
}

.stack-feature>svg {
    color: var(--blue);
    width: 27px;
    position: absolute;
    top: 25px;
    left: 0
}

.stack-feature h3 {
    margin-bottom: 14px;
    font-size: 1.55rem
}

.stack-feature p {
    margin-bottom: 10px;
    font-size: .95rem
}

.solution-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    border: none !important;
    margin-top: 32px !important;
}

.solution-tile {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto 1fr auto !important;
    gap: 0 !important;
    align-items: start !important;
    background: #ffffff !important;
    border: 1px solid rgba(11, 31, 58, 0.08) !important;
    border-radius: 18px !important;
    padding: 28px 24px 22px !important;
    min-height: 250px !important;
    position: relative !important;
    overflow: hidden !important;
    text-decoration: none !important;
    box-shadow: 0 4px 20px -2px rgba(11, 31, 58, 0.04), 0 2px 6px -1px rgba(11, 31, 58, 0.02) !important;
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), 
                box-shadow 0.32s cubic-bezier(0.16, 1, 0.3, 1), 
                border-color 0.25s ease,
                background 0.25s ease !important;
}

.solution-tile::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, #0066cc 0%, #258cfb 60%, #00d2ff 100%) !important;
    opacity: 0.85 !important;
    transition: height 0.25s ease, opacity 0.25s ease !important;
    z-index: 2 !important;
}

.solution-tile > svg:first-of-type {
    display: flex !important;
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    width: 24px !important;
    height: 24px !important;
    padding: 11px !important;
    border-radius: 14px !important;
    background: #edf5fd !important;
    color: #0066cc !important;
    border: 1px solid rgba(0, 102, 204, 0.16) !important;
    transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease !important;
    box-sizing: content-box !important;
}

.solution-tile > .meta {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    align-self: start !important;
    justify-self: end !important;
    font-family: inherit !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #0066cc !important;
    background: #f0f7ff !important;
    border: 1px solid rgba(0, 102, 204, 0.22) !important;
    padding: 5px 11px !important;
    border-radius: 9999px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    line-height: 1 !important;
    transition: all 0.25s ease !important;
}

.solution-tile > .meta::before {
    content: 'CORE ' !important;
}

.solution-tile h3 {
    grid-column: 1 / -1 !important;
    grid-row: 2 / 3 !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #0b1f3a !important;
    margin: 20px 0 16px 0 !important;
    letter-spacing: -0.02em !important;
    transition: color 0.2s ease !important;
}

.solution-tile > svg:last-child:not(:first-of-type) {
    grid-column: 2 / 3 !important;
    grid-row: 3 / 4 !important;
    align-self: end !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    padding: 9px !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    color: #0066cc !important;
    border: 1px solid rgba(0, 102, 204, 0.14) !important;
    transition: all 0.25s ease !important;
    box-sizing: content-box !important;
}

.solution-tile-link {
    grid-column: 1 / -1 !important;
    grid-row: 3 / 4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(11, 31, 58, 0.06) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #0066cc !important;
    letter-spacing: 0.01em !important;
    transition: color 0.25s ease !important;
}

.solution-tile-link svg {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    padding: 8px !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    color: #0066cc !important;
    border: 1px solid rgba(0, 102, 204, 0.14) !important;
    transition: all 0.25s ease !important;
    box-sizing: content-box !important;
}

.solution-tile:hover {
    background: #ffffff !important;
    color: #0b1f3a !important;
    border-color: rgba(0, 102, 204, 0.35) !important;
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 36px -8px rgba(0, 102, 204, 0.16), 0 6px 14px -2px rgba(11, 31, 58, 0.04) !important;
}

.solution-tile:hover::before {
    height: 4px !important;
    opacity: 1 !important;
}

.solution-tile:hover > svg:first-of-type {
    background: #0066cc !important;
    color: #ffffff !important;
    transform: scale(1.06) !important;
    box-shadow: 0 6px 16px -2px rgba(0, 102, 204, 0.3) !important;
}

.solution-tile:hover > .meta {
    background: #0066cc !important;
    color: #ffffff !important;
    border-color: #0066cc !important;
}

.solution-tile:hover h3 {
    color: #0066cc !important;
}

.solution-tile:hover > svg:last-child:not(:first-of-type) {
    background: #0066cc !important;
    color: #ffffff !important;
    border-color: #0066cc !important;
    transform: translate(2px, -2px) !important;
}

.solution-tile:hover .solution-tile-link {
    color: #004d99 !important;
}

.solution-tile:hover .solution-tile-link svg {
    background: #0066cc !important;
    color: #ffffff !important;
    border-color: #0066cc !important;
    transform: translate(2px, -2px) !important;
}

.solution-grid.small {
    gap: 20px !important;
}

.solution-grid.small .solution-tile {
    min-height: 220px !important;
    padding: 22px 20px 18px !important;
}

.solution-grid.small .solution-tile > svg:first-of-type {
    display: flex !important;
}

.dark-section .solution-tile {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.2) !important;
}

.dark-section .solution-tile h3 {
    color: #ffffff !important;
}

.dark-section .solution-tile > .meta {
    background: rgba(0, 102, 204, 0.3) !important;
    color: #70b4fa !important;
    border-color: rgba(112, 180, 250, 0.35) !important;
}

.dark-section .solution-tile > svg:first-of-type {
    background: rgba(0, 102, 204, 0.25) !important;
    color: #70b4fa !important;
    border-color: rgba(112, 180, 250, 0.3) !important;
}

.dark-section .solution-tile > svg:last-child {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #70b4fa !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
}

.image-fold {
    background: var(--navy);
    color: #fff;
    transform-origin: top;
    will-change: transform, clip-path;
    height: 84vh;
    min-height: 620px;
    max-height: 1000px;
    position: relative;
    overflow: hidden
}

.image-fold>.visual {
    position: absolute;
    inset: 0
}

.fold-shade {
    background: linear-gradient(90deg, #071b32dd, #071b3260 60%, #071b3220), linear-gradient(#0000, #051426b0);
    position: absolute;
    inset: 0
}

.image-fold .wrap {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    height: 100%;
    display: flex;
    position: relative
}

.image-fold .eyebrow {
    color: #a7ceff
}

.image-fold h2 {
    letter-spacing: -.055em;
    font-size: clamp(3.2rem, 6.1vw, 7rem);
    font-weight: 450
}

.image-fold p:not(.eyebrow) {
    color: #d8e4f0;
    margin: 24px 0 30px
}

.industry-links {
    grid-template-columns: 1fr 1fr;
    column-gap: 60px;
    display: grid
}

.industry-links>a {
    border-bottom: 1px solid var(--line);
    grid-template-columns: 35px 1fr 20px;
    align-items: center;
    gap: 15px;
    padding: 22px 0;
    font-size: 1.04rem;
    font-weight: 550;
    line-height: 1.5;
    display: grid
}

.industry-links>a:hover {
    color: var(--blue)
}

.why-section {
    padding-top: 20px
}

.principle-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 38px;
    display: grid
}

.principle-grid article {
    border-top: 1px solid var(--line);
    padding-top: 24px
}

.principle-grid article>span {
    color: var(--blue);
    font-size: 1rem
}

.principle-grid h3 {
    margin: 32px 0 20px;
    font-size: 1.4rem
}

.principle-grid p {
    font-size: .96rem
}

.global-home {
    background: var(--navy);
    color: #fff
}

.global-home .section-head p,
.global-home p {
    color: #bac9dc
}

.global-home .eyebrow {
    color: #76b9fc
}

.global-home .text-link {
    color: #fff
}

.world-map {
    color: #284664;
    max-width: 1200px;
    margin: 10px auto 30px
}

.world-map svg {
    width: 100%;
    height: auto;
    overflow: visible
}

.world-map path {
    stroke: #122f4c;
    stroke-width: .5px
}

.map-point {
    fill: #5eb2ff
}

.map-halo {
    fill: #168aff30;
    stroke: #168aff66;
    stroke-width: .6px
}

.world-map text {
    fill: #fff;
    font-family: Manrope, sans-serif;
    font-size: 10px;
    font-weight: 600
}

.presence-strip {
    border-top: 1px solid #3a506a;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 28px;
    margin-bottom: 28px;
    display: grid
}

.presence-strip>div {
    padding: 25px 25px 10px 0
}

.presence-strip h3 {
    margin-bottom: 10px;
    font-size: 1.7rem
}

.presence-strip span,
.presence-strip p {
    color: #9fb3cc;
    font-size: .9rem
}

.project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px;
    display: grid
}

.project-card>.visual {
    aspect-ratio: 1.8
}

.project-card>div {
    padding: 28px 0
}

.project-card .eyebrow {
    margin-bottom: 13px
}

.project-card h3 {
    margin-bottom: 15px;
    font-size: 1.8rem
}

.project-card p {
    max-width: 600px
}

.project-card .text-link {
    margin-top: 14px
}

.project-card img,
.article-card img,
.industry-hub-card img {
    transition: transform .6s
}

.project-card:hover img,
.article-card:hover img,
.industry-hub-card:hover img {
    transform: scale(1.035)
}

.image-note {
    color: var(--sub);
    margin-top: 24px;
    font-size: .8rem
}

.gallery-section {
    padding-top: 25px
}

.gallery {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    display: grid
}

.gallery button {
    text-align: start;
    background: 0 0;
    border: 0;
    position: relative
}

.gallery .visual {
    aspect-ratio: 1.5
}

.gallery button>span {
    color: #fff;
    bottom: 0;
    background: linear-gradient(#0000, #071b32e8);
    justify-content: space-between;
    align-items: center;
    padding: 30px 22px 16px;
    font-size: .94rem;
    font-weight: 600;
    display: flex;
    position: absolute;
    inset-inline: 0
}

.gallery-dialog {
    width: 92vw !important;
    max-width: 1100px !important;
    padding: 20px !important
}

.gallery-dialog>.visual {
    height: min(65vh, 680px)
}

.process {
    background: var(--paper)
}

.process-layout {
    grid-template-columns: 1fr 1fr;
    gap: 10%;
    display: grid
}

.process-intro h2 {
    max-width: 520px
}

.process-intro>.visual {
    aspect-ratio: 1.55;
    margin-top: 38px
}

.process-sticky .process-intro {
    align-self: start;
    position: sticky;
    top: 125px
}

.process ol {
    counter-reset: step
}

.process li {
    border-bottom: 1px solid var(--line);
    grid-template-columns: 50px 1fr;
    gap: 24px;
    padding: 36px 0;
    display: grid
}

.process li:first-child {
    padding-top: 0
}

.process li>span {
    color: var(--blue);
    font-size: 1.5rem
}

.process li h3 {
    margin-bottom: 15px;
    font-size: 1.7rem
}

.process li p {
    max-width: 440px
}

.evidence-section {
    background: #e7eef5;
    padding: 70px 0
}

.evidence-grid {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 9%;
    display: grid
}

.evidence-grid h2 {
    font-size: 2.5rem
}

.evidence-grid>div:last-child p {
    color: var(--ink);
    border-bottom: 1px solid #c3d0de;
    gap: 24px;
    margin: 0;
    padding: 14px 0;
    font-size: 1.03rem;
    display: flex
}

.evidence-grid p>span {
    color: var(--blue);
    margin-top: 4px;
    font-size: .8rem
}

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

.engagement-grid article {
    border: 1px solid var(--line);
    background: #fff;
    padding: 35px 30px
}

.engagement-grid article:nth-child(2) {
    border-top: 3px solid var(--blue)
}

.engagement-grid h3 {
    margin-bottom: 20px;
    font-size: 1.7rem
}

.engagement-grid p {
    font-size: .96rem
}

.engagement-grid ul {
    margin: 24px 0
}

.engagement-grid li {
    border-top: 1px solid var(--line);
    padding: 11px 0;
    font-size: .9rem
}

.faq-section {
    background: var(--paper)
}

.faq-layout {
    grid-template-columns: 1fr 1.5fr;
    gap: 9%;
    display: grid;
    align-items: start
}

.faq-layout>div:first-child,
.faq-intro {
    position: sticky;
    top: 110px;
    align-self: start;
    z-index: 5
}

.faq-layout>.faq {
    min-width: 0
}

.faq [data-slot=accordion-trigger] {
    letter-spacing: 0;
    text-align: start;
    border-radius: 0;
    padding: 21px 0;
    font-family: inherit;
    font-size: 1.02rem;
    font-weight: 600;
    line-height: 1.6
}

.faq [data-slot=accordion-content][data-state=closed] {
    display: none
}

.faq [data-slot=accordion-content] p {
    max-width: 95%;
    padding-bottom: 10px;
    font-size: 1rem;
    line-height: 1.75
}

.faq [data-slot=accordion-item] {
    border-color: var(--line)
}

.faq-layout>.text-link {
    align-self: start
}

.article-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 32px;
    display: grid
}

.article-card .visual {
    aspect-ratio: 1.6;
    margin-bottom: 25px
}

.article-card .eyebrow {
    margin-bottom: 15px
}

.article-card h2,
.article-card h3 {
    margin-bottom: 20px;
    font-size: 1.65rem;
    line-height: 1.3
}

.article-card p {
    margin-bottom: 18px;
    font-size: .94rem
}

.partner-band {
    color: #fff;
    background: #102b4c;
    padding: 75px 0
}

.partner-band>.wrap {
    grid-template-columns: 1.3fr 1fr;
    align-items: center;
    gap: 10%;
    display: grid
}

.partner-band p {
    color: #b9cee7
}

.partner-band .eyebrow {
    color: #8cc3ff
}

.partner-band .button {
    margin-top: 28px
}

.cta {
    background: var(--blue);
    color: #fff;
    padding: 82px 0
}

.cta>.wrap {
    justify-content: space-between;
    align-items: center;
    gap: 60px;
    display: flex
}

.cta .eyebrow {
    color: #d5eaff
}

.cta h2 {
    font-size: clamp(2.5rem, 4vw, 4.5rem)
}

.cta p:not(.eyebrow) {
    color: #deedff;
    max-width: 750px;
    margin-top: 22px
}

.cta .button {
    flex-shrink: 0
}

.cta.compact {
    padding: 55px 0
}

.page-hero {
    isolation: isolate;
    background: var(--navy);
    color: #fff;
    min-height: 610px;
    position: relative;
    overflow: hidden
}

.page-hero-image {
    z-index: -2;
    position: absolute;
    inset: 0
}

.page-hero-shade {
    z-index: -1;
    background: linear-gradient(90deg, #071b32f5 0%, #071b32d8 35%, #071b3260 67%, #071b3215), linear-gradient(#0000, #071b3288);
    position: absolute;
    inset: 0
}

.page-hero .wrap {
    padding-bottom: 70px
}

.breadcrumbs {
    color: #6a7a8e;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 27px 0;
    font-size: .75rem;
    line-height: 1.65;
    display: flex
}

.breadcrumbs>span {
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    display: inline-flex
}

.breadcrumbs [aria-current=page] {
    opacity: .8
}

.breadcrumbs a:hover {
    text-decoration: underline
}

.page-hero .breadcrumbs {
    color: #c1d2e6
}

.page-hero-copy {
    width: 70%;
    max-width: 1040px;
    padding-top: 55px
}

.page-hero .eyebrow {
    color: #8bc7ff;
    max-width: 95%;
    font-size: .77rem
}

.page-hero h1 {
    white-space: pre-line;
    font-size: clamp(2.5rem, 4.45vw, 5rem);
    font-weight: 500;
    line-height: 1.12
}

.page-hero-copy>p:not(.eyebrow) {
    color: #cedbea;
    max-width: 760px;
    margin: 26px 0 30px;
    font-size: 1.05rem
}

.page-hero.variant-1 .page-hero-copy {
    width: 64%
}

.page-hero.variant-2 {
    min-height: 670px
}

.page-hero.variant-2 .page-hero-copy {
    max-width: 930px
}

.local-nav {
    z-index: 35;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line);
    background: #fffffff2;
    position: sticky;
    top: 90px
}

.local-nav>.wrap {
    scrollbar-width: thin;
    align-items: center;
    gap: 35px;
    min-height: 62px;
    display: flex;
    overflow-x: auto
}

.local-nav a {
    white-space: nowrap;
    padding: 18px 0;
    font-size: .84rem;
    font-weight: 650
}

.local-nav a:hover {
    color: var(--blue)
}

.service-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    display: grid
}

.service-card {
    background: #fff;
    border: 1px solid #d9e2ec;
    flex-direction: column;
    min-width: 0;
    padding: 26px 24px;
    display: flex
}

.service-card-top {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 26px;
    display: flex
}

.service-card-top svg {
    color: var(--blue);
    width: 24px;
    height: 24px
}

.service-card h3 {
    letter-spacing: -.025em;
    margin-bottom: 16px;
    font-size: 1.14rem;
    line-height: 1.4
}

.service-card h3 a:hover {
    color: var(--blue)
}

.service-card>p {
    margin-bottom: 23px;
    font-size: .91rem;
    line-height: 1.75
}

.deliverable {
    border-top: 1px solid var(--line);
    margin-top: auto;
    padding-top: 15px
}

.deliverable>span {
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--blue);
    font-size: .67rem;
    font-weight: 750
}

.deliverable p {
    color: #364b64;
    margin-top: 7px;
    font-size: .84rem;
    line-height: 1.55
}

.feature-stories {
    grid-template-columns: 1fr 1fr;
    gap: 55px 38px;
    display: grid
}

.feature-stories article>.visual {
    aspect-ratio: 1.7
}

.feature-stories article>div {
    padding: 28px 0
}

.feature-stories .eyebrow {
    margin-bottom: 16px
}

.feature-stories h3 {
    margin-bottom: 20px;
    font-size: 1.9rem
}

.feature-output {
    border-inline-start: 2px solid var(--blue);
    color: var(--ink);
    margin: 20px 0;
    padding-inline-start: 18px;
    font-size: .94rem
}

.feature-output strong {
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--blue);
    margin-bottom: 6px;
    font-size: .7rem;
    display: block
}

.composition-1 .feature-stories {
    display: block
}

.composition-1 .feature-stories article {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 55px;
    margin-bottom: 60px;
    display: grid
}

.composition-1 .feature-stories article:nth-child(2n)>.visual {
    order: 2
}

.composition-1 .feature-stories article>.visual {
    height: 100%;
    min-height: 330px
}

.composition-2 .feature-stories article:first-child {
    grid-column: span 2;
    grid-template-columns: 1.3fr 1fr;
    align-items: center;
    gap: 45px;
    display: grid
}

.large-list {
    margin: 24px 0
}

.large-list li {
    border-bottom: 1px solid #74879c50;
    padding: 17px 0;
    font-size: 1.12rem
}

.systems-diagram {
    background: var(--paper);
    border: 1px solid var(--line);
    text-align: center;
    max-width: 1000px;
    margin: 30px auto;
    padding: 38px
}

.systems-diagram>div:first-child {
    background: var(--navy);
    color: #fff;
    padding: 18px 25px;
    font-size: 1rem;
    font-weight: 600;
    display: inline-block
}

.diagram-branches {
    border-top: 1px solid #8ca8c5;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-top: 22px;
    padding-top: 35px;
    display: grid;
    position: relative
}

.diagram-branches:before {
    content: "";
    background: #8ca8c5;
    width: 1px;
    height: 22px;
    position: absolute;
    top: -22px;
    left: 50%
}

.diagram-branches>span {
    background: #fff;
    border: 1px solid #b4c8df;
    padding: 18px 12px;
    font-size: .9rem;
    position: relative
}

.diagram-branches>span:before {
    content: "";
    background: #8ca8c5;
    width: 1px;
    height: 35px;
    position: absolute;
    top: -36px;
    left: 50%
}

.systems-diagram figcaption {
    color: var(--sub);
    margin-top: 25px;
    font-size: .9rem
}

.engagement-inline {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 60px;
    display: grid
}

.engagement-inline h3 {
    margin-bottom: 15px;
    font-size: 1.35rem
}

.engagement-inline p {
    font-size: .96rem
}

.location-link-strip {
    border-top: 1px solid var(--line);
    flex-wrap: wrap;
    align-items: center;
    gap: 18px 30px;
    margin-top: 60px;
    padding-top: 28px;
    display: flex
}

.location-link-strip h3 {
    font-size: 1rem
}

.location-link-strip a {
    color: var(--blue);
    align-items: center;
    gap: 10px;
    font-size: .86rem;
    display: inline-flex
}

.challenge-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    display: grid
}

.challenge-grid article {
    border-top: 1px solid var(--line);
    padding-top: 25px
}

.challenge-grid article>.meta {
    margin-bottom: 25px;
    display: block
}

.challenge-grid h3 {
    margin-bottom: 20px;
    font-size: 1.7rem
}

.challenge-grid p {
    font-size: 1rem
}

.industry-challenges.layout-1 .challenge-grid {
    grid-template-columns: 1fr
}

.industry-challenges.layout-1 .challenge-grid article {
    grid-template-columns: 50px 1fr 1.5fr;
    gap: 25px;
    display: grid
}

.industry-challenges.layout-2 .challenge-grid article {
    background: var(--paper);
    border-top: 3px solid var(--blue);
    padding: 30px
}

.industry-application-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    display: grid
}

.industry-application-grid article {
    border: 1px solid var(--line)
}

.industry-application-grid article>.visual {
    aspect-ratio: 1.9
}

.industry-application-grid article>div {
    padding: 28px
}

.industry-application-grid h3 {
    margin-bottom: 20px
}

.handover-band {
    background: #e8eff6
}

.industry-hub-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    display: grid
}

.industry-hub-card {
    border-bottom: 1px solid var(--line)
}

.industry-hub-card>.visual {
    aspect-ratio: 1.6
}

.industry-hub-card>div {
    padding: 25px 0;
    position: relative
}

.industry-hub-card h2 {
    margin: 18px 0;
    font-size: 1.6rem
}

.industry-hub-card p {
    padding-right: 35px;
    font-size: .94rem
}

.industry-hub-card svg {
    position: absolute;
    bottom: 28px;
    right: 0
}

.country-grid {
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    grid-template-columns: repeat(4, 1fr);
    display: grid
}

.country-grid>a {
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    min-height: 260px;
    padding: 28px;
    position: relative
}

.country-grid h3 {
    margin: 26px 0 18px;
    font-size: 1.65rem
}

.country-grid p {
    margin-bottom: 30px;
    font-size: .88rem
}

.country-grid svg {
    color: var(--blue);
    position: absolute;
    bottom: 22px;
    right: 24px
}

.country-grid>a:hover {
    background: var(--paper)
}

.full-directory details {
    border-bottom: 1px solid var(--line);
    padding: 23px 0
}

.full-directory summary {
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: 600
}

.directory-links {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 35px;
    margin: 24px 0;
    display: grid
}

.directory-links a {
    color: #345575;
    padding: 6px 0;
    font-size: .9rem;
    line-height: 1.6
}

.directory-links a:hover {
    color: var(--blue);
    text-decoration: underline
}

.filter-bar {
    flex-wrap: wrap;
    gap: 10px;
    margin: 32px 0 40px;
    display: flex
}

.filter-bar button {
    border: 1px solid var(--line);
    background: #fff;
    padding: 10px 16px;
    font-size: .83rem
}

.filter-bar .selected {
    background: var(--navy);
    color: #fff;
    border-color: var(--navy)
}

.empty-state {
    background: var(--paper);
    border: 1px solid var(--line);
    margin: 25px 0;
    padding: 40px
}

.empty-state h2 {
    margin-bottom: 15px;
    font-size: 1.7rem
}

.empty-state a,
.empty-state button {
    color: var(--blue);
    text-decoration: underline
}

.case-steps {
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    display: grid
}

.case-steps li {
    border: 1px solid var(--line);
    background: #fff;
    padding: 25px
}

.case-steps span {
    color: var(--blue);
    margin-bottom: 25px;
    font-size: 2.2rem;
    display: block
}

.case-steps p {
    font-size: 1.05rem
}

.article-header {
    max-width: 1240px;
    padding: 0 0 45px
}

.article-header .eyebrow {
    margin-top: 45px
}

.article-header h1 {
    max-width: 1120px;
    margin-bottom: 28px
}

.article-header .lead {
    max-width: 850px
}

.article-hero {
    max-width: 1350px
}

.article-hero .visual {
    height: 540px
}

.article-layout {
    grid-template-columns: 280px 1fr;
    gap: 8%;
    max-width: 1240px;
    padding: 85px 0 100px;
    display: grid
}

.article-layout aside {
    align-self: start;
    position: sticky;
    top: 125px
}

.article-layout aside a {
    border-bottom: 1px solid var(--line);
    padding: 13px 0;
    font-size: .87rem;
    line-height: 1.6;
    display: block
}

.article-layout aside a:hover {
    color: var(--blue)
}

.prose {
    max-width: 810px
}

.prose section {
    margin-bottom: 45px
}

.prose h2 {
    margin-bottom: 20px;
    font-size: 1.85rem
}

.prose p {
    font-size: 1.04rem;
    line-height: 1.9
}

.prose .systems-diagram {
    margin-top: 35px;
    padding: 25px
}

.source-note {
    background: var(--paper);
    margin: 40px 0;
    padding: 25px
}

.source-note p {
    margin-bottom: 20px;
    font-size: .92rem
}

.source-note a {
    font-size: .92rem
}

.source-note svg {
    margin-inline-start: 10px;
    display: inline
}

.legal-header {
    max-width: 1160px;
    padding-bottom: 45px
}

.legal-header>.eyebrow {
    margin-top: 45px
}

.legal-header h1 {
    margin-bottom: 28px
}

.legal-header .lead {
    max-width: 900px
}

.legal-prose {
    padding: 30px 0 100px
}

.sitemap-group {
    margin-bottom: 55px
}

.sitemap-group h2 {
    border-bottom: 1px solid var(--line);
    padding-bottom: 20px;
    font-size: 2rem
}

.search-surface {
    max-width: 1000px;
    margin: auto;
    padding: 45px 0 100px
}

.search-surface>label {
    margin-bottom: 20px;
    font-size: 1.1rem;
    font-weight: 600;
    display: block
}

.search-surface>input {
    background: var(--paper);
    border: 1px solid #8198b2;
    border-radius: 0;
    width: 100%;
    padding: 20px 24px;
    font-size: 1.2rem
}

.search-surface>p {
    margin: 25px 0
}

.search-results>a {
    border-bottom: 1px solid var(--line);
    padding: 28px 45px 28px 0;
    display: block;
    position: relative
}

.search-results h2 {
    margin: 12px 0;
    font-size: 1.5rem
}

.search-results p {
    font-size: .94rem
}

.search-results svg {
    color: var(--blue);
    position: absolute;
    top: 45px;
    right: 4px
}

.location-hero .page-hero-copy {
    width: 76%;
    max-width: 1150px;
    padding-top: 35px
}

.location-hero h1 {
    font-size: clamp(2.3rem, 3.8vw, 4.4rem);
    line-height: 1.16
}

.location-hero .page-hero-copy>p {
    max-width: 900px
}

.location-overview {
    grid-template-columns: 1.5fr 1fr;
    align-items: start;
    gap: 10%;
    display: grid
}

.location-overview h2 {
    margin-bottom: 28px
}

.location-overview .lead {
    font-size: 1.22rem
}

.location-facts {
    background: var(--paper);
    border-top: 3px solid var(--blue);
    padding: 28px 32px
}

.location-facts h3 {
    margin-bottom: 10px;
    font-size: 1.75rem
}

.location-facts>p {
    font-size: .9rem
}

.location-facts ul {
    flex-wrap: wrap;
    gap: 6px 12px;
    margin: 20px 0;
    display: flex
}

.location-facts li {
    border: 1px solid var(--line);
    background: #fff;
    padding: 3px 9px;
    font-size: .87rem
}

.location-context {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 75px;
    display: grid
}

.location-context>div {
    border-top: 1px solid var(--line);
    padding-top: 25px
}

.location-context h3 {
    margin-bottom: 20px;
    font-size: 1.35rem
}

.location-context p {
    font-size: .97rem
}

.priority-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    display: grid
}

.priority-grid article {
    border: 1px solid var(--line)
}

.priority-grid .visual {
    aspect-ratio: 1.7
}

.priority-grid article>div {
    padding: 28px
}

.priority-grid .eyebrow {
    margin-bottom: 17px
}

.priority-grid h3 {
    margin-bottom: 18px;
    font-size: 1.5rem
}

.priority-grid p {
    font-size: .94rem
}

.priority-grid .text-link {
    margin-top: 15px
}

.area-tags {
    flex-wrap: wrap;
    gap: 12px;
    display: flex
}

.area-tags span {
    background: var(--paper);
    border: 1px solid var(--line);
    padding: 12px 20px;
    font-size: 1rem
}

.location-directory {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 35px;
    margin-top: 32px;
    display: grid
}

.location-directory a {
    border-bottom: 1px solid var(--line);
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding: 17px 0;
    font-size: .93rem;
    font-weight: 600;
    display: flex
}

.location-directory a:hover {
    color: var(--blue)
}

.market-groups,
.province-groups {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    display: grid
}

.market-groups article,
.province-groups article {
    background: var(--paper);
    border: 1px solid var(--line);
    padding: 28px
}

.market-groups h3,
.province-groups h3 {
    margin-bottom: 20px;
    font-size: 1.5rem
}

.market-groups ul {
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 22px;
    display: flex
}

.market-groups li {
    color: var(--blue);
    font-size: .92rem
}

.province-groups a {
    border-bottom: 1px solid var(--line);
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    font-size: 1rem;
    display: flex
}

.special-coverage {
    background: var(--paper);
    border-inline-start: 3px solid var(--blue);
    margin-top: 45px;
    padding: 35px
}

.special-coverage h3 {
    margin-bottom: 20px;
    font-size: 1.65rem
}

.local-application {
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 50px;
    display: grid
}

.local-application>.visual {
    height: 100%;
    min-height: 420px
}

.local-application h2 {
    margin-bottom: 25px;
    font-size: 2.35rem
}

.nearby-section {
    padding-top: 35px
}

.form-layout {
    grid-template-columns: 1fr 1.6fr;
    align-items: start;
    gap: 8%;
    display: grid
}

.form-layout>div:first-child>h2 {
    margin-bottom: 28px;
    font-size: clamp(2rem, 3vw, 3.3rem)
}

.form-sidebar {
    position: sticky;
    top: 125px
}

.form-presence {
    margin-top: 35px
}

.form-presence p {
    border-top: 1px solid var(--line);
    margin: 0;
    padding: 17px 0
}

.form-presence strong {
    color: var(--ink);
    font-size: 1.1rem;
    display: block
}

.form-presence span {
    font-size: .85rem
}

.enquiry-form {
    border: 1px solid var(--line);
    background: #fff;
    min-width: 0;
    padding: 38px
}

.form-heading h2 {
    margin-bottom: 15px;
    font-size: 1.8rem
}

.form-heading .eyebrow {
    margin-bottom: 17px
}

.form-heading>p {
    font-size: .82rem
}

.form-grid {
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-top: 32px;
    display: grid
}

.form-field {
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    font-size: .84rem;
    font-weight: 650;
    display: flex
}

.form-field input,
.form-field textarea,
.form-select {
    width: 100%;
    color: var(--ink);
    background: #fff;
    border: 1px solid #aebfd1;
    border-radius: 0;
    min-height: 48px;
    padding: 12px 14px;
    font-size: .95rem;
    font-weight: 400;
    line-height: 1.65
}

.form-select {
    white-space: normal !important;
    height: auto !important;
    box-shadow: none !important
}

.form-select [data-slot=select-value] {
    text-align: start;
    line-height: 1.4
}

.form-field input[type=file] {
    cursor: pointer;
    padding: 12px;
    font-size: .8rem
}

.form-field input[type=file]::file-selector-button {
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--ink);
    margin-inline-end: 12px;
    padding: 7px 10px
}

.form-field small {
    color: var(--sub);
    font-size: .77rem;
    font-weight: 400;
    line-height: 1.65
}

.enquiry-form fieldset {
    border: 0;
    margin: 30px 0;
    padding: 0
}

.enquiry-form legend {
    margin-bottom: 18px;
    font-size: .9rem;
    font-weight: 650
}

.solution-checkboxes {
    grid-template-columns: 1fr 1fr;
    gap: 14px 22px;
    display: grid
}

.solution-checkboxes label,
.consent {
    cursor: pointer;
    align-items: flex-start;
    gap: 12px;
    font-size: .82rem;
    line-height: 1.6;
    display: flex
}

.solution-checkboxes [data-slot=checkbox],
.consent [data-slot=checkbox] {
    border-color: #8099b5;
    border-radius: 1px;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 3px
}

.enquiry-form>.form-field {
    margin-bottom: 24px
}

.consent {
    margin: 28px 0 25px
}

.consent a {
    color: var(--blue);
    text-decoration: underline
}

.enquiry-form>.button {
    width: 100%;
    font-size: .96rem
}

.honey {
    width: 1px;
    height: 1px;
    position: absolute;
    top: auto;
    left: -10000px;
    overflow: hidden
}

.form-error {
    color: #8d2424;
    background: #fff2f1;
    border: 1px solid #bd4a46;
    margin: 25px 0;
    padding: 20px;
    font-size: .9rem
}

.form-error ul {
    margin-top: 12px;
    padding-inline-start: 20px;
    list-style: outside
}

[aria-invalid=true] {
    border-color: #ba3543 !important
}

.form-success {
    background: var(--paper);
    border: 1px solid var(--line);
    padding: 55px 38px
}

.form-success h2 {
    margin: 25px 0;
    font-size: 2rem
}

.form-success p {
    overflow-wrap: anywhere;
    font-size: .95rem
}

.form-success .button {
    margin-top: 28px
}

.success-symbol {
    width: 54px;
    height: 54px;
    color: var(--blue);
    background: #dcecff;
    place-items: center;
    font-size: 1.7rem;
    display: grid
}

.confirmation {
    max-width: 850px;
    min-height: 65vh;
    padding: 100px 0
}

.confirmation h1 {
    margin: 25px 0
}

.confirmation p {
    margin-bottom: 25px
}

.error-page {
    min-height: 70vh;
    padding: 110px 0
}

.error-page h1 {
    margin-bottom: 28px;
    font-size: clamp(3rem, 6vw, 6rem)
}

.error-page p {
    max-width: 640px;
    margin-bottom: 35px
}

footer {
    color: #fff;
    background: #07182b;
    padding: 75px 0 25px
}

.footer-top {
    grid-template-columns: 1.35fr 1.2fr 1fr 1fr;
    gap: 55px;
    display: grid
}

.footer-brand .wordmark {
    color: #fff
}

.footer-brand .wordmark>span {
    font-size: 2.05rem
}

.footer-brand p {
    color: #91a7c0;
    max-width: 280px;
    margin: 25px 0;
    font-size: .96rem
}

.footer-brand .meta {
    color: #708aa8
}

.footer-top>div>h2 {
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 25px;
    font-size: .84rem
}

.footer-top>div:not(.footer-brand)>a {
    color: #a7bad0;
    align-items: center;
    gap: 12px;
    margin: 12px 0;
    font-size: .82rem;
    line-height: 1.7;
    display: flex
}

.footer-top a:hover {
    color: #fff !important
}

.footer-bottom {
    border-top: 1px solid #263d57;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    margin-top: 60px;
    padding-top: 25px;
    font-size: .73rem;
    display: flex
}

.footer-bottom p {
    color: #869db6
}

.footer-bottom>div {
    color: #a2b5cd;
    flex-wrap: wrap;
    gap: 20px;
    display: flex
}

[dir=rtl] .hero-stable {
    left: auto;
    right: 5%
}

[dir=rtl] .page-hero-shade {
    background: linear-gradient(270deg, #071b32f8, #071b32df 40%, #071b3266 78%, #071b3240)
}

[dir=rtl] .page-hero-copy {
    margin-right: 0
}

[dir=rtl] .page-hero h1 {
    letter-spacing: 0;
    font-size: clamp(2.3rem, 3.5vw, 4.3rem);
    line-height: 1.55
}

[dir=rtl] h2,
[dir=rtl] h3 {
    letter-spacing: 0;
    line-height: 1.5
}

[dir=rtl] .eyebrow {
    letter-spacing: 0
}

[dir=rtl] .wordmark,
[dir=rtl] .world-map {
    direction: ltr
}

[dir=rtl] .enquiry-form {
    line-height: 1.9
}

[dir=rtl] .honey {
    left: auto;
    right: -10000px
}

@media (min-width:2100px) {

    .hero-stable,
    .hero-copy {
        left: calc(50% - 770px)
    }

    .hero-bottom {
        left: calc(50% - 770px);
        right: calc(50% - 770px)
    }

    .hero-copy {
        width: 1100px
    }

    .site-header {
        padding-inline: calc(50% - 860px)
    }

    .hero-copy h2 {
        font-size: 6.2rem
    }

    .page-hero {
        min-height: 740px
    }

    .page-hero-copy {
        padding-top: 80px
    }

    .stack-panel {
        min-height: 680px
    }
}

@media (max-width:1390px) {
    .desktop-nav {
        gap: 18px
    }

    .desktop-nav a,
    .desktop-nav button {
        font-size: .76rem
    }

    .site-header {
        gap: 18px;
        padding-inline: 2.7%
    }

    .wordmark>span {
        font-size: 1.4rem
    }

    .header-actions {
        gap: 14px
    }

    .header-cta {
        gap: 12px;
        padding: 12px 13px;
        font-size: .71rem
    }

    .hero-indicators {
        gap: 18px
    }

    .hero-bottom {
        gap: 25px
    }

    .stack-copy {
        padding: 32px
    }

    .stack-panel {
        min-height: 565px
    }

    .stack-feature h3 {
        font-size: 1.4rem
    }

    .section {
        padding: 90px 0
    }

    .service-card {
        padding: 23px 20px
    }

    .footer-top {
        gap: 35px
    }
}

@media (max-width:1179px) {
    .desktop-nav {
        display: none
    }

    .mobile-menu {
        border: 1px solid var(--line);
        background: 0 0;
        flex-direction: column;
        justify-content: center;
        gap: 7px;
        width: 44px;
        height: 44px;
        padding: 10px;
        display: flex
    }

    .mobile-menu span {
        background: var(--navy);
        width: 22px;
        height: 1.5px;
        display: block
    }

    .site-header {
        height: 80px;
        padding-inline: 4%
    }

    .wordmark>span {
        font-size: 1.65rem
    }

    .header-cta {
        font-size: .8rem
    }

    .hero-carousel {
        height: 760px
    }

    .hero-stable {
        top: 8%
    }

    .hero-copy {
        width: 82%;
        top: 22%
    }

    .hero-copy h2 {
        font-size: clamp(3.5rem, 6.2vw, 5.3rem)
    }

    .hero-indicators {
        gap: 16px
    }

    .indicator-name {
        font-size: .7rem
    }

    .hero-bottom {
        gap: 20px
    }

    .hero-controls {
        flex-direction: column;
        gap: 5px;
        padding-bottom: 0
    }

    .hero-controls button {
        width: 36px;
        height: 36px
    }

    .local-nav {
        top: 80px
    }

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

    .stack-copy {
        padding: 30px
    }

    .stack-feature {
        padding-inline-start: 0
    }

    .stack-feature>svg {
        display: none
    }

    .stack-panel {
        min-height: 570px
    }

    .section-head {
        gap: 55px
    }

    .principle-grid {
        gap: 25px
    }

    .engagement-grid {
        gap: 18px
    }

    .engagement-grid article {
        padding: 30px 24px
    }

    .country-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .form-layout {
        grid-template-columns: 1fr 1.8fr;
        gap: 5%
    }

    .enquiry-form {
        padding: 28px
    }

    .solution-checkboxes {
        grid-template-columns: 1fr
    }

    .article-layout {
        grid-template-columns: 220px 1fr;
        gap: 5%
    }

    .footer-top {
        grid-template-columns: 1.3fr 1fr 1fr
    }

    .footer-top>div:last-child {
        grid-column: 1/-1;
        align-items: center;
        gap: 25px;
        display: flex
    }

    .footer-top>div:last-child h2 {
        margin: 0
    }

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

    .page-hero-copy {
        width: 78% !important
    }

    .location-hero .page-hero-copy {
        width: 88% !important
    }
}

@media (max-width:1023px) {
    .wrap {
        width: 90%
    }

    .section {
        padding: 75px 0
    }

    .section-head {
        gap: 35px
    }

    .stack-panel {
        min-height: 550px;
        position: relative;
        top: auto;
        filter: none !important;
        transform: none !important
    }

    .stack-feature p {
        font-size: .9rem
    }

    .image-fold {
        height: 70vh;
        min-height: 600px;
        clip-path: none !important;
        transform: none !important
    }

    .process-sticky .process-intro,
    .faq-layout>div:first-child,
    .faq-intro,
    .form-sidebar {
        position: relative;
        top: auto
    }

    .capability-strip>.wrap {
        flex-wrap: wrap;
        gap: 25px;
        min-height: 85px;
        padding: 20px 0
    }

    .capability-strip a {
        margin-left: 0
    }

    .principle-grid {
        grid-template-columns: 1fr 1fr;
        gap: 35px
    }

    .industry-hub-grid {
        grid-template-columns: 1fr 1fr
    }

    .challenge-grid {
        gap: 25px
    }

    .challenge-grid h3 {
        font-size: 1.5rem
    }

    .form-layout {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .form-layout>div:first-child {
        max-width: 800px
    }

    .form-presence {
        grid-template-columns: 1fr 1fr;
        gap: 0 30px;
        display: grid
    }

    .solution-checkboxes,
    .priority-grid {
        grid-template-columns: 1fr 1fr
    }

    .priority-grid article:nth-child(3)>.visual {
        display: none
    }

    .location-context {
        gap: 25px
    }

    .location-overview {
        grid-template-columns: 1.3fr 1fr;
        gap: 6%
    }

    .hero-carousel {
        height: 720px
    }

    .hero-copy {
        top: 23%
    }

    .hero-indicators button {
        min-height: 85px
    }

    .hero-indicators {
        gap: 15px
    }

    .hero-copy p {
        max-width: 490px
    }

    .hero-copy h2 {
        font-size: 3.7rem
    }

    .article-grid {
        gap: 24px
    }

    .article-card h3,
    .article-card h2 {
        font-size: 1.4rem
    }

    .engagement-grid {
        grid-template-columns: 1fr
    }

    .engagement-grid article {
        grid-template-columns: 1fr 1fr;
        gap: 15px 35px;
        display: grid
    }

    .engagement-grid article>.eyebrow,
    .engagement-grid article>h3 {
        grid-column: 1;
        margin: 0
    }

    .engagement-grid article>p {
        grid-column: 1
    }

    .engagement-grid article>ul {
        grid-area: 1/2/4;
        align-self: center;
        margin: 0
    }

    .engagement-grid article>.text-link {
        grid-column: 1/-1
    }

    .cta>.wrap {
        display: block
    }

    .cta .button {
        margin-top: 32px
    }

    .location-directory,
    .directory-links {
        grid-template-columns: 1fr 1fr
    }

    .local-nav>.wrap {
        gap: 28px
    }

    .service-card>p {
        font-size: .95rem
    }
}

@media (max-width:799px) {
    h2 {
        font-size: 2.45rem
    }

    .section-head,
    .intro-grid,
    .split-editorial,
    .process-layout,
    .faq-layout,
    .evidence-grid,
    .partner-band>.wrap {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .section-head {
        margin-bottom: 35px
    }

    .section-head>div:last-child {
        max-width: 650px
    }

    .intro-grid h2 {
        font-size: 3.6rem
    }

    .intro {
        padding: 80px 0
    }

    .stack-panel {
        grid-template-columns: 1fr;
        min-height: 0
    }

    .stack-visual {
        height: 330px
    }

    .stack-copy {
        grid-template-columns: 1fr 1fr;
        gap: 10px 30px;
        padding: 28px;
        display: grid
    }

    .stack-copy>.eyebrow {
        grid-column: 1/-1
    }

    .stack-feature+.stack-feature {
        border-top: 0;
        border-inline-start: 1px solid var(--line);
        padding-inline-start: 24px
    }

    .stack-feature h3 {
        font-size: 1.35rem
    }

    .hero-carousel {
        height: 770px
    }

    .hero-copy {
        width: 90%;
        top: 22%
    }

    .hero-copy h2 {
        font-size: 3.7rem
    }

    .hero-bottom {
        align-items: center;
        gap: 22px;
        bottom: 30px
    }

    .hero-indicators {
        flex: 1;
        gap: 14px
    }

    .hero-indicators button {
        min-height: 32px;
        padding: 5px 0 13px
    }

    .indicator-name {
        display: none
    }

    .hero-controls {
        flex-direction: row
    }

    .hero-controls button {
        width: 42px;
        height: 42px
    }

    .hero-shade {
        background: linear-gradient(90deg, #071b32ee, #071b32c8 50%, #071b3275), linear-gradient(#0000, #06182fbb)
    }

    .hero-image img {
        object-position: 67% 50%;
        opacity: .72
    }

    .hero-copy p {
        max-width: 580px;
        font-size: 1rem
    }

    .image-fold {
        min-height: 600px
    }

    .image-fold h2 {
        font-size: 3.9rem
    }

    .industry-links {
        grid-template-columns: 1fr;
        gap: 0
    }

    .industry-links>a {
        padding: 19px 0;
        font-size: 1rem
    }

    .presence-strip {
        grid-template-columns: 1fr 1fr
    }

    .presence-strip>div {
        border-bottom: 1px solid #30465f
    }

    .project-grid {
        gap: 26px
    }

    .project-card h3 {
        font-size: 1.4rem
    }

    .project-card p {
        font-size: .93rem
    }

    .project-card .eyebrow {
        font-size: .66rem
    }

    .gallery {
        grid-template-columns: 1fr 1fr
    }

    .gallery button>span {
        padding: 30px 15px 15px;
        font-size: .85rem
    }

    .process-intro>.visual {
        aspect-ratio: 1.8;
        max-height: 370px
    }

    .process li:first-child {
        padding-top: 25px
    }

    .process li {
        padding: 28px 0
    }

    .process li p {
        max-width: 100%
    }

    .evidence-grid h2 {
        font-size: 2.5rem
    }

    .article-grid {
        grid-template-columns: 1fr 1fr
    }

    .article-grid .article-card:last-child:nth-child(odd) {
        grid-column: 1/-1;
        max-width: 100%
    }

    .article-grid .article-card:last-child:nth-child(odd) .visual {
        aspect-ratio: 2.2
    }

    .page-hero {
        min-height: 620px
    }

    .page-hero-copy {
        padding-top: 35px;
        width: 95% !important
    }

    .page-hero h1 {
        font-size: 3rem
    }

    .page-hero-copy>p:not(.eyebrow) {
        font-size: 1rem
    }

    .page-hero.variant-2 {
        min-height: 620px
    }

    .page-hero-shade {
        background: linear-gradient(90deg, #071b32ed, #071b32bb 70%, #071b3270)
    }

    .page-hero-image img {
        opacity: .75;
        object-position: 70% 50%
    }

    .location-hero .page-hero-copy {
        width: 100% !important
    }

    .location-hero h1 {
        font-size: 2.65rem
    }

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

    .feature-stories {
        gap: 35px 25px
    }

    .feature-stories h3 {
        font-size: 1.6rem
    }

    .composition-1 .feature-stories article {
        gap: 28px
    }

    .composition-1 .feature-stories article>.visual {
        min-height: 370px
    }

    .composition-2 .feature-stories article:first-child {
        grid-column: span 1;
        display: block
    }

    .engagement-inline {
        gap: 25px
    }

    .engagement-inline h3 {
        font-size: 1.1rem
    }

    .engagement-inline p {
        font-size: .9rem
    }

    .challenge-grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .industry-challenges.layout-1 .challenge-grid article {
        grid-template-columns: 35px 1fr;
        gap: 10px 20px
    }

    .industry-challenges.layout-1 .challenge-grid p {
        grid-column: 2
    }

    .industry-challenges.layout-1 .challenge-grid .meta {
        margin: 0
    }

    .industry-application-grid {
        gap: 25px
    }

    .industry-application-grid article>div {
        padding: 22px
    }

    .location-overview {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .location-context {
        grid-template-columns: 1fr;
        margin-top: 40px
    }

    .location-facts {
        max-width: 100%
    }

    .local-application {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .local-application>.visual {
        height: 360px;
        min-height: 0
    }

    .priority-grid {
        gap: 20px
    }

    .priority-grid article>div {
        padding: 23px
    }

    .market-groups,
    .province-groups {
        gap: 20px
    }

    .market-groups article,
    .province-groups article {
        padding: 25px
    }

    .article-header h1 {
        font-size: 3.3rem
    }

    .article-hero .visual {
        height: 420px
    }

    .article-layout {
        grid-template-columns: 1fr;
        gap: 35px;
        padding-top: 40px
    }

    .article-layout aside {
        border-bottom: 1px solid var(--line);
        flex-wrap: wrap;
        gap: 10px 20px;
        padding-bottom: 20px;
        display: flex;
        position: static
    }

    .article-layout aside>.eyebrow {
        width: 100%;
        margin: 0
    }

    .article-layout aside a {
        border: 0;
        max-width: 45%;
        padding: 5px 0
    }

    .case-steps {
        grid-template-columns: 1fr
    }

    .case-steps li {
        align-items: center;
        gap: 25px;
        display: flex
    }

    .case-steps span {
        margin: 0
    }

    .legal-header h1 {
        font-size: 3rem
    }

    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 45px 35px
    }

    .footer-brand {
        grid-column: 1/-1
    }

    .footer-brand p {
        max-width: 420px
    }

    .footer-top>div:last-child {
        grid-column: 1/-1;
        display: block
    }

    .footer-top>div:last-child h2 {
        margin-bottom: 20px
    }

    .footer-bottom {
        display: block
    }

    .footer-bottom>div {
        gap: 15px 22px;
        margin-top: 20px
    }

    .form-grid {
        gap: 20px
    }

    .enquiry-form {
        padding: 28px
    }

    .hero-stable {
        font-size: .68rem
    }

    .search-surface>input {
        font-size: 1rem
    }
}

@media (max-width:599px) {
    .wrap {
        width: 89%
    }

    .section {
        padding: 62px 0
    }

    .site-header {
        gap: 12px;
        height: 74px;
        padding-inline: 5%
    }

    .wordmark>span {
        font-size: 1.4rem
    }

    .wordmark small {
        letter-spacing: .12em;
        font-size: .44rem
    }

    .header-cta {
        display: none
    }

    .header-actions {
        gap: 15px
    }

    .search-icon {
        padding: 8px
    }

    .language-link {
        font-size: .78rem
    }

    .mobile-menu {
        width: 40px;
        height: 40px
    }

    .local-nav {
        top: 74px
    }

    .local-nav>.wrap {
        gap: 25px;
        min-height: 55px
    }

    .local-nav a {
        padding: 16px 0;
        font-size: .76rem
    }

    .eyebrow {
        letter-spacing: .1em;
        margin-bottom: 20px;
        font-size: .68rem
    }

    .hero-carousel {
        height: calc(100svh - 74px);
        min-height: 700px;
        max-height: 880px
    }

    .hero-stable {
        width: 88%;
        font-size: .63rem;
        line-height: 1.8;
        top: 6%;
        left: 5.5%
    }

    .hero-copy {
        width: 89%;
        top: 21%;
        left: 5.5%
    }

    .hero-service {
        max-width: 95%;
        margin-bottom: 20px;
        font-size: .76rem
    }

    .hero-copy h2 {
        letter-spacing: -.05em;
        margin-bottom: 26px;
        font-size: clamp(2.55rem, 10.7vw, 4rem);
        line-height: 1.08
    }

    .hero-copy p {
        max-width: 100%;
        margin-bottom: 27px;
        font-size: .95rem;
        line-height: 1.75
    }

    .hero-copy .button {
        gap: 18px;
        padding: 15px 18px;
        font-size: .81rem
    }

    .button-row {
        gap: 16px
    }

    .hero-explore {
        padding: 8px 0;
        font-size: .82rem
    }

    .hero-image img {
        object-position: 74% 50%;
        opacity: .65
    }

    .hero-bottom {
        flex-wrap: wrap;
        align-items: end;
        gap: 16px;
        bottom: 24px;
        left: 5.5%;
        right: 5.5%
    }

    .hero-indicators {
        flex: 1;
        gap: 13px
    }

    .hero-indicators button>span:first-child {
        font-size: .74rem
    }

    .hero-controls {
        gap: 4px
    }

    .hero-controls button {
        width: 34px;
        height: 38px;
        font-size: 1rem
    }

    .capability-strip>.wrap {
        gap: 12px 19px;
        padding: 22px 0
    }

    .capability-strip span {
        font-size: .65rem
    }

    .capability-strip a {
        flex-basis: 100%;
        margin-top: 6px;
        font-size: .8rem
    }

    .intro-grid h2 {
        font-size: 3.15rem
    }

    .intro-grid .lead {
        font-size: 1.26rem
    }

    .intro-grid p {
        font-size: .98rem
    }

    .section-head {
        gap: 22px
    }

    .section-head h2,
    h2 {
        letter-spacing: -.045em;
        font-size: 2.25rem
    }

    .section-head p:not(.eyebrow) {
        font-size: .98rem
    }

    .stack-sequence {
        gap: 28px
    }

    .stack-visual {
        height: 255px
    }

    .stack-number {
        font-size: 3.7rem;
        bottom: 18px;
        left: 22px
    }

    .stack-copy {
        padding: 26px 24px;
        display: block
    }

    .stack-feature {
        padding: 15px 0 20px
    }

    .stack-feature+.stack-feature {
        border-inline-start: 0;
        border-top: 1px solid var(--line);
        padding-inline-start: 0;
        padding-top: 24px
    }

    .stack-feature h3 {
        font-size: 1.35rem
    }

    .stack-feature p {
        font-size: .95rem
    }

    .stack-copy>.eyebrow {
        font-size: .66rem
    }

    .solution-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

    .solution-tile {
        padding: 22px 18px 18px !important;
        min-height: 220px !important;
    }

    .solution-tile h3 {
        font-size: 1.1rem !important;
        line-height: 1.35 !important;
        margin: 16px 0 14px 0 !important;
    }

    .solution-grid.small .solution-tile {
        min-height: 200px !important;
        padding: 20px 16px 16px !important;
    }

    .image-fold {
        height: 78svh;
        min-height: 600px;
        max-height: none
    }

    .image-fold h2 {
        font-size: 3.1rem
    }

    .image-fold .wrap {
        align-items: flex-start
    }

    .image-fold p:not(.eyebrow) {
        font-size: .96rem
    }

    .image-fold .button {
        gap: 15px;
        padding: 16px;
        font-size: .8rem
    }

    .principle-grid {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .principle-grid h3 {
        margin: 18px 0 15px;
        font-size: 1.45rem
    }

    .world-map {
        margin: 35px -3% 20px
    }

    .world-map text {
        font-size: 11px
    }

    .presence-strip>div {
        padding: 22px 15px 15px 0
    }

    .presence-strip h3 {
        font-size: 1.45rem
    }

    .presence-strip span {
        font-size: .8rem
    }

    .project-grid {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .project-card>div {
        padding: 24px 0
    }

    .project-card h3 {
        font-size: 1.55rem
    }

    .project-card p {
        font-size: 1rem
    }

    .project-card .eyebrow {
        font-size: .68rem
    }

    .gallery {
        gap: 12px
    }

    .gallery .visual {
        aspect-ratio: 1.08
    }

    .gallery button>span {
        gap: 6px;
        padding: 35px 11px 13px;
        font-size: .76rem;
        line-height: 1.5
    }

    .gallery button svg {
        width: 15px
    }

    .gallery-dialog {
        padding: 18px !important
    }

    .gallery-dialog>.visual {
        height: 45vh
    }

    .process li {
        grid-template-columns: 30px 1fr;
        gap: 20px
    }

    .process li h3 {
        font-size: 1.6rem
    }

    .process li p {
        font-size: .96rem
    }

    .evidence-grid h2 {
        font-size: 2.2rem
    }

    .evidence-grid>div:last-child p {
        gap: 16px;
        font-size: .96rem
    }

    .engagement-grid article {
        padding: 30px 26px;
        display: block
    }

    .engagement-grid article>.eyebrow,
    .engagement-grid article>h3 {
        margin-bottom: 20px
    }

    .engagement-grid article>ul {
        margin: 23px 0
    }

    .engagement-grid article>p {
        font-size: .97rem
    }

    .faq [data-slot=accordion-trigger] {
        padding: 20px 0;
        font-size: .94rem
    }

    .faq [data-slot=accordion-content] p {
        font-size: .95rem
    }

    .article-grid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .article-card h2,
    .article-card h3 {
        font-size: 1.7rem
    }

    .article-grid .article-card:last-child:nth-child(odd) .visual {
        aspect-ratio: 1.6
    }

    .partner-band {
        padding: 62px 0
    }

    .partner-band h2 {
        font-size: 2.5rem
    }

    .cta {
        padding: 62px 0
    }

    .cta h2 {
        font-size: 2.7rem
    }

    .cta p:not(.eyebrow) {
        font-size: .97rem
    }

    .cta .button {
        gap: 20px;
        font-size: .84rem
    }

    .page-hero {
        min-height: 660px
    }

    .page-hero .wrap {
        padding-bottom: 48px
    }

    .breadcrumbs {
        gap: 8px;
        padding: 22px 0;
        font-size: .65rem;
        line-height: 1.7
    }

    .breadcrumbs>span {
        gap: 8px
    }

    .page-hero-copy {
        padding-top: 25px;
        width: 100% !important
    }

    .page-hero h1 {
        font-size: 2.7rem;
        line-height: 1.14
    }

    .page-hero-copy>p:not(.eyebrow) {
        margin: 23px 0 27px;
        font-size: .96rem;
        line-height: 1.75
    }

    .page-hero .eyebrow {
        font-size: .69rem
    }

    .page-hero .button {
        gap: 20px;
        font-size: .84rem
    }

    .page-hero.variant-2 {
        min-height: 660px
    }

    .location-hero h1 {
        font-size: 2.4rem
    }

    .location-hero {
        min-height: 730px
    }

    .location-hero .page-hero-copy {
        padding-top: 16px
    }

    .service-grid {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .service-card {
        padding: 25px
    }

    .service-card h3 {
        font-size: 1.2rem
    }

    .service-card>p {
        font-size: 1rem
    }

    .service-card-top {
        margin-bottom: 20px
    }

    .deliverable p {
        font-size: .89rem
    }

    .feature-stories,
    .composition-1 .feature-stories article {
        display: block
    }

    .feature-stories article {
        margin-bottom: 35px
    }

    .composition-1 .feature-stories article>.visual {
        height: 260px;
        min-height: 0
    }

    .feature-stories article>.visual {
        aspect-ratio: 1.5
    }

    .feature-stories h3 {
        font-size: 1.7rem
    }

    .feature-stories article>div {
        padding-top: 24px
    }

    .large-list li {
        font-size: 1rem
    }

    .systems-diagram {
        padding: 22px 15px
    }

    .systems-diagram>div:first-child {
        padding: 15px;
        font-size: .85rem
    }

    .diagram-branches {
        gap: 8px
    }

    .diagram-branches>span {
        padding: 14px 7px;
        font-size: .72rem;
        line-height: 1.6
    }

    .systems-diagram figcaption {
        font-size: .8rem
    }

    .engagement-inline {
        grid-template-columns: 1fr;
        margin-top: 38px
    }

    .engagement-inline h3 {
        font-size: 1.35rem
    }

    .engagement-inline p {
        font-size: .98rem
    }

    .location-link-strip {
        display: block
    }

    .location-link-strip a {
        margin-top: 15px;
        display: flex
    }

    .industry-application-grid {
        grid-template-columns: 1fr
    }

    .industry-hub-grid {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .industry-hub-card h2 {
        font-size: 1.7rem
    }

    .country-grid {
        grid-template-columns: 1fr
    }

    .country-grid>a {
        min-height: 220px;
        padding: 25px
    }

    .country-grid h3 {
        font-size: 1.7rem
    }

    .directory-links,
    .location-directory {
        grid-template-columns: 1fr
    }

    .full-directory summary {
        font-size: 1.3rem
    }

    .market-groups,
    .province-groups {
        grid-template-columns: 1fr
    }

    .location-facts {
        padding: 26px
    }

    .location-context h3 {
        font-size: 1.35rem
    }

    .priority-grid {
        grid-template-columns: 1fr
    }

    .priority-grid article:nth-child(3)>.visual {
        display: block
    }

    .priority-grid h3 {
        font-size: 1.5rem
    }

    .priority-grid p {
        font-size: .97rem
    }

    .area-tags {
        gap: 9px
    }

    .area-tags span {
        padding: 10px 14px;
        font-size: .9rem
    }

    .special-coverage {
        padding: 25px
    }

    .local-application>.visual {
        height: 280px
    }

    .local-application h2 {
        font-size: 2rem
    }

    .form-layout {
        gap: 32px
    }

    .enquiry-form {
        padding: 24px 20px
    }

    .form-heading h2 {
        font-size: 1.6rem
    }

    .form-grid {
        grid-template-columns: 1fr;
        gap: 21px
    }

    .solution-checkboxes {
        grid-template-columns: 1fr;
        gap: 15px
    }

    .solution-checkboxes label {
        font-size: .84rem
    }

    .form-field {
        font-size: .86rem
    }

    .form-field input,
    .form-field textarea,
    .form-select {
        font-size: 1rem
    }

    .form-presence {
        gap: 0 20px
    }

    .form-presence span,
    .consent {
        font-size: .8rem
    }

    .form-success {
        padding: 30px 25px
    }

    .article-header h1 {
        font-size: 2.8rem
    }

    .article-header .eyebrow {
        margin-top: 30px
    }

    .article-header .lead {
        font-size: 1.15rem
    }

    .article-hero .visual {
        height: 300px
    }

    .article-layout aside a {
        max-width: 100%;
        font-size: .85rem
    }

    .prose h2 {
        font-size: 1.65rem
    }

    .prose p {
        font-size: 1rem
    }

    .prose .systems-diagram {
        padding: 18px 12px
    }

    .legal-header h1 {
        font-size: 2.6rem
    }

    .legal-header .lead {
        font-size: 1.1rem
    }

    .case-steps li {
        display: block
    }

    .case-steps span {
        margin-bottom: 18px
    }

    .filter-bar {
        gap: 8px
    }

    .filter-bar button {
        padding: 9px 13px;
        font-size: .75rem
    }

    .search-surface>label {
        font-size: 1rem
    }

    .search-surface>input {
        padding: 16px;
        font-size: 1rem
    }

    .search-results h2 {
        font-size: 1.3rem
    }

    .search-results p {
        font-size: .92rem
    }

    .footer-top {
        gap: 36px 22px
    }

    .footer-top>div>h2 {
        font-size: .73rem
    }

    .footer-top>div:not(.footer-brand)>a {
        font-size: .79rem
    }

    .footer-bottom {
        font-size: .7rem
    }

    .footer-bottom>div {
        gap: 12px 18px
    }

    .footer-brand .wordmark>span {
        font-size: 1.9rem
    }

    footer {
        padding-top: 58px
    }

    [dir=rtl] .page-hero h1 {
        font-size: 2.1rem
    }

    [dir=rtl] .page-hero {
        min-height: 780px
    }

    [dir=rtl] .header-actions {
        gap: 12px
    }
}

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

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

    .stack-panel {
        position: relative;
        top: auto;
        filter: none !important;
        transform: none !important
    }

    .image-fold {
        clip-path: none !important;
        transform: none !important
    }

    .process-sticky .process-intro {
        position: static
    }

    .project-card:hover img,
    .article-card:hover img,
    .industry-hub-card:hover img,
    .button:hover {
        transform: none
    }
}

@media print {

    .site-header,
    .local-nav,
    .hero-controls,
    .hero-indicators,
    .enquiry-form,
    .cta,
    .reading-progress,
    footer {
        display: none !important
    }

    .section {
        padding: 30px 0
    }

    .stack-panel {
        position: static;
        filter: none !important;
        transform: none !important
    }

    .hero-carousel,
    .page-hero {
        color: #000;
        background: #fff;
        height: auto;
        min-height: 0
    }

    .hero-slide {
        opacity: 1;
        visibility: visible;
        page-break-inside: avoid;
        position: static
    }

    .hero-copy {
        color: #000;
        width: 100%;
        position: static
    }

    .hero-image,
    .hero-shade,
    .page-hero-image,
    .page-hero-shade {
        display: none
    }

    .faq [data-slot=accordion-content][data-state=closed] {
        display: block
    }

    .wrap {
        width: 100%
    }
}

.fold-frame {
    overflow: clip
}

.hero-copy h2 {
    letter-spacing: -.035em
}

[id] {
    scroll-margin-top: 0
}

.location-country-map {
    color: #06c;
    margin: 0 0 24px
}

.location-country-map svg {
    background: #edf3f9;
    border-radius: 2px;
    width: 100%;
    height: 190px;
    display: block
}

.location-country-map figcaption {
    color: #526276;
    margin-top: 9px;
    font-size: .7rem;
    line-height: 1.5
}

.country-hierarchy {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 55px;
    display: grid
}

.country-hierarchy>article {
    border-top: 2px solid #06c;
    min-width: 0;
    padding: 25px 0 15px
}

.country-hierarchy h3 {
    margin-bottom: 20px;
    font-size: 1.55rem
}

.country-hierarchy h3>a {
    justify-content: space-between;
    gap: 18px;
    display: flex
}

.country-hierarchy>article>p {
    margin: 14px 0;
    font-size: .94rem
}

.directory-cities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
    display: grid
}

.directory-cities>a,
.directory-boroughs>a {
    border-bottom: 1px solid #d7dfe8;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: 51px;
    padding: 13px 0;
    font-size: .91rem;
    line-height: 1.5;
    display: flex
}

.directory-cities>a:hover,
.directory-boroughs>a:hover {
    color: #06c
}

.directory-cities svg {
    width: 16px
}

.directory-boroughs {
    border-inline-start: 2px solid #ccdced;
    margin: 18px 0;
    padding-inline-start: 20px
}

.directory-boroughs>a {
    font-size: .87rem
}

.coverage-communities {
    flex-wrap: wrap;
    gap: 12px;
    display: flex
}

.coverage-communities>span {
    color: #213e5c;
    background: #edf3f8;
    padding: 12px 17px;
    font-size: .92rem
}

.coverage-note {
    max-width: 900px;
    margin-top: 35px
}

.local-market-intro .lead {
    margin-top: 28px;
    margin-bottom: 25px
}

.local-presence-note {
    background: #f2f6fa;
    border-inline-start: 2px solid #06c;
    margin-top: 32px;
    padding: 22px 25px
}

.local-presence-note .eyebrow {
    margin-bottom: 12px
}

.local-presence-note p {
    font-size: .91rem
}

.local-operating-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 35px;
    margin-top: 65px;
    display: grid
}

.local-operating-grid article {
    border-top: 1px solid #adbed1;
    padding-top: 28px
}

.local-operating-grid h3 {
    margin-bottom: 22px;
    font-size: 1.6rem
}

.local-operating-grid .text-link {
    margin-top: 18px
}

.national-directory {
    background: #f2f5f8
}

.national-directory .country-hierarchy article {
    background: #fff;
    border-top: 3px solid #06c;
    padding: 30px
}

@media (min-width:1900px) {
    .country-hierarchy {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media (max-width:799px) {
    .country-hierarchy {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .national-directory .country-hierarchy article {
        padding: 25px
    }

    .local-operating-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-top: 42px
    }

    .local-operating-grid h3 {
        font-size: 1.55rem
    }

    .local-presence-note {
        padding: 20px
    }

    .country-hierarchy h3 {
        font-size: 1.4rem
    }
}

@media (max-width:389px) {
    .directory-cities {
        grid-template-columns: 1fr
    }

    .capability-copy {
        padding: 23px 20px
    }

    .capability-copy h3 {
        font-size: 1.5rem
    }

    .fold-caption {
        font-size: .6rem
    }

    .fold-caption>span:first-child {
        max-width: 70%
    }

    .fold-line {
        width: 20px
    }
}

.no-script-navigation {
    color: #fff;
    background: #0b1f3a;
    flex-wrap: wrap;
    gap: 24px;
    padding: 20px;
    display: flex
}

.regional-contact {
    overflow-wrap: anywhere;
    min-width: 0;
    margin-block: 1.2rem
}

.regional-contact h3 {
    margin: 0 0 .4rem;
    font-size: 1.15rem;
    line-height: 1.45
}

.regional-contact .regional-role {
    margin: 0 0 .7rem;
    font-size: .9rem;
    line-height: 1.65
}

.regional-contact address {
    text-align: start;
    margin-block: 0 .65rem;
    font-size: .9rem;
    font-style: normal;
    line-height: 1.65
}

.regional-contact address span {
    display: block
}

.regional-contact>a {
    text-underline-offset: 4px;
    width: fit-content;
    max-width: 100%;
    margin-block: .25rem;
    font-size: .95rem;
    line-height: 1.7;
    display: block
}

.regional-contact>a:hover {
    text-decoration: underline
}

.regional-contact .text-link {
    margin-top: .8rem;
    font-size: .85rem
}

.regional-contact-phone {
    margin-block: 1rem 1.2rem
}

.form-presence>.regional-contact {
    border-top: 1px solid var(--line);
    margin: 0;
    padding-block: 1.15rem
}

.form-presence .regional-contact p {
    border: 0;
    margin: 0 0 .8rem;
    padding: 0
}

.form-presence .regional-contact address span {
    font-size: inherit
}

.location-facts>.regional-contact {
    border-top: 1px solid var(--line);
    margin-top: 1.5rem;
    padding-top: 1.4rem
}

.footer-hq-contact span {
    display: block
}

.footer-top a {
    overflow-wrap: anywhere
}

.footer-bottom p {
    max-width: 42rem
}

@media (max-width:480px) {
    .form-presence {
        grid-template-columns: 1fr
    }

    .regional-contact a {
        align-items: center;
        min-height: 36px;
        display: flex
    }

    .regional-contact h3 {
        font-size: 1.15rem
    }
}

.social-links {
    flex-wrap: wrap;
    gap: 6px;
    max-width: 100%;
    margin-block-start: 20px;
    display: flex
}

.social-links>a {
    width: 44px;
    height: 44px;
    color: inherit;
    opacity: .88;
    border: 1px solid;
    flex: 0 0 44px;
    justify-content: center;
    align-items: center;
    margin: 0;
    transition: background-color .18s, color .18s, transform .18s;
    display: inline-flex
}

.social-links svg {
    fill: currentColor;
    flex: none;
    width: 20px;
    height: 20px
}

.social-links>a:hover {
    background: var(--blue);
    color: #fff;
    opacity: 1;
    border-color: var(--blue);
    transform: translateY(-2px)
}

.social-links>a:focus-visible {
    outline-offset: 4px;
    opacity: 1;
    outline: 2px solid
}

.contact-social {
    margin-block-start: 28px
}

.contact-social h3 {
    font-size: 1.15rem;
    line-height: 1.45
}

.contact-social .social-links {
    margin-block-start: 14px
}

@media (prefers-reduced-motion:reduce) {
    .social-links>a {
        transition: none
    }

    .social-links>a:hover {
        transform: none
    }
}

.journey-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    display: grid
}

.journey-grid article {
    border-top: 2px solid var(--blue);
    background: var(--paper);
    padding: 26px 24px 30px;
    transition: transform .22s, box-shadow .22s
}

.journey-grid article:hover,
.work-ways article:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 38px #0b1f3a12
}

.journey-grid .meta {
    color: var(--blue);
    font-size: 1.1rem
}

.journey-grid h3 {
    margin: 28px 0 17px;
    font-size: 1.34rem;
    line-height: 1.32
}

.journey-grid p {
    font-size: .94rem
}

.founder-story .lead {
    color: #fff
}

.founder-story .visual {
    aspect-ratio: 1.7;
    max-width: 640px;
    margin-top: 38px
}

.founder-story .text-link {
    margin-top: 20px
}

.work-hero .page-hero-secondary {
    margin-inline-start: 14px
}

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

.work-ways article {
    transition: transform .22s, box-shadow .22s
}

.work-ways .meta {
    color: var(--blue);
    margin-bottom: 18px;
    display: block
}

.work-disciplines {
    border-top: 1px solid #49617d;
    border-inline-start: 1px solid #49617d;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    display: grid
}

.work-disciplines>div {
    border-bottom: 1px solid #49617d;
    border-inline-end: 1px solid #49617d;
    padding: 22px;
    font-weight: 600;
    line-height: 1.45
}

.work-disciplines span {
    color: #8dc6ff;
    margin-bottom: 20px;
    font-size: .73rem;
    display: block
}

.work-application-form .form-grid {
    align-items: end
}

.work-application-form .form-field {
    margin-bottom: 24px
}

.work-application-form .form-grid .form-field {
    margin-bottom: 0
}

.work-application-form .form-field select {
    width: 100%;
    min-height: 48px;
    color: var(--ink);
    background: #fff;
    border: 1px solid #aebfd1;
    border-radius: 0;
    padding: 12px 14px;
    font-size: .95rem
}

.work-skills input[type=checkbox],
.work-application-form .consent input[type=checkbox] {
    width: 20px;
    height: 20px;
    accent-color: var(--blue);
    flex-shrink: 0;
    margin: 3px 0 0
}

.work-application-form .form-heading h2 {
    margin-bottom: 15px
}

.work-application-form .form-heading {
    margin-bottom: 16px
}

.work-form-note {
    color: var(--sub);
    margin: 0 0 24px;
    font-size: .8rem
}

.work-final-cta h2 {
    max-width: 800px
}

@media (max-width:1179px) {
    .journey-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

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

@media (max-width:799px) {
    .work-ways {
        grid-template-columns: 1fr
    }

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

    .founder-story .visual {
        margin-bottom: 20px
    }
}

@media (max-width:599px) {

    .journey-grid,
    .work-disciplines {
        grid-template-columns: 1fr
    }

    .journey-grid article {
        padding: 22px
    }

    .work-hero .page-hero-secondary {
        width: max-content;
        max-width: 100%;
        margin: 12px 0 0;
        display: flex
    }

    .work-application-form .form-grid {
        grid-template-columns: 1fr
    }

    .work-disciplines>div {
        padding: 18px
    }

    .founder-story .visual {
        aspect-ratio: 1.35
    }
}

@media (prefers-reduced-motion:reduce) {

    .journey-grid article,
    .work-ways article {
        transition: none
    }

    .journey-grid article:hover,
    .work-ways article:hover {
        transform: none
    }
}

@property --tw-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-z {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false
}

@property --tw-scroll-snap-strictness {
    syntax: "*";
    inherits: false;
    initial-value: proximity
}

@property --tw-space-x-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-leading {
    syntax: "*";
    inherits: false
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-tracking {
    syntax: "*";
    inherits: false
}

@property --tw-ordinal {
    syntax: "*";
    inherits: false
}

@property --tw-slashed-zero {
    syntax: "*";
    inherits: false
}

@property --tw-numeric-figure {
    syntax: "*";
    inherits: false
}

@property --tw-numeric-spacing {
    syntax: "*";
    inherits: false
}

@property --tw-numeric-fraction {
    syntax: "*";
    inherits: false
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-outline-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-duration {
    syntax: "*";
    inherits: false
}

@property --tw-ease {
    syntax: "*";
    inherits: false
}

@property --tw-content {
    syntax: "*";
    inherits: false;
    initial-value: ""
}

@property --tw-scale-x {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-scale-y {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-scale-z {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

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

@keyframes pulse {
    50% {
        opacity: .5
    }
}

@keyframes enter {
    0% {
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0)scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1))rotate(var(--tw-enter-rotate, 0));
        filter: blur(var(--tw-enter-blur, 0))
    }
}

@keyframes exit {
    to {
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0)scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1))rotate(var(--tw-exit-rotate, 0));
        filter: blur(var(--tw-exit-blur, 0))
    }
}

@keyframes accordion-down {
    0% {
        height: 0
    }

    to {
        height: var(--radix-accordion-content-height, var(--accordion-panel-height, auto))
    }
}

@keyframes accordion-up {
    0% {
        height: var(--radix-accordion-content-height, var(--accordion-panel-height, auto))
    }

    to {
        height: 0
    }
}

@keyframes caret-blink {

    0%,
    70%,
    to {
        opacity: 1
    }

    20%,
    50% {
        opacity: 0
    }
}

@keyframes scroll-fade-reveal-b {
    0% {
        --scroll-fade-b: var(--_scroll-fade-size-b, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))))
    }

    to {
        --scroll-fade-b: 0px
    }
}

@keyframes scroll-fade-reveal-s {
    0% {
        --scroll-fade-s: 0px
    }

    to {
        --scroll-fade-s: var(--_scroll-fade-size-s, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))))
    }
}

@keyframes scroll-fade-reveal-e {
    0% {
        --scroll-fade-e: var(--_scroll-fade-size-e, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))))
    }

    to {
        --scroll-fade-e: 0px
    }
}

@keyframes tw-shimmer {
    0% {
        background-position: 100% 0
    }

    to {
        background-position: 0 0
    }
}

.capability-stack {
    isolation: isolate;
    gap: 42px;
    display: grid
}

.capability-panel {
    transform-origin: top;
    background: #fff;
    border: 1px solid #d7dfe8;
    grid-template-columns: 1.04fr 1fr;
    min-width: 0;
    display: grid;
    position: relative;
    box-shadow: 0 20px 70px #0b1f3a14
}

.capability-image {
    min-height: 530px;
    position: relative;
    overflow: hidden
}

.capability-image>.visual {
    position: absolute;
    inset: 0
}

.capability-image>span {
    inset-inline-start: 32px;
    color: #fff;
    text-shadow: 0 2px 30px #06172e;
    font-size: 5rem;
    font-weight: 400;
    line-height: 1;
    position: absolute;
    bottom: 20px
}

.capability-copy {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(28px, 4.4vw, 80px);
    display: flex
}

.capability-copy h3 {
    margin-bottom: 25px;
    font-size: clamp(1.8rem, 2.55vw, 3rem)
}

.capability-copy p {
    max-width: 58ch
}

.capability-copy .capability-detail {
    color: #193753;
    border-inline-start: 2px solid #06c;
    margin-top: 25px;
    padding-inline-start: 18px;
    font-size: .94rem
}

.capability-copy .text-link {
    margin-top: 25px
}

.motion-ready [data-stack] {
    top: var(--stack-top, 110px);
    position: sticky;
    transform: translateY(var(--stack-shift, 0)) scale(var(--stack-scale, 1)) !important;
    filter: none !important
}

.motion-ready [data-stack]:focus-within {
    transform: none !important
}

.capability-stack.local-stack .capability-image {
    min-height: 440px
}

.capability-stack.local-stack .capability-copy {
    padding: clamp(25px, 3vw, 55px)
}

.folding-section {
    color: #fff;
    background: #0b1f3a
}

.fold-scene {
    height: 82svh;
    min-height: 380px;
    position: relative
}

.fold-stage {
    isolation: isolate;
    perspective: 1500px;
    background: #0b1f3a;
    height: 100%;
    position: relative;
    overflow: hidden
}

.motion-ready .fold-scene {
    height: 134svh
}

.motion-ready .fold-stage {
    height: calc(100svh - 110px);
    min-height: 350px;
    position: sticky;
    top: 90px
}

.fold-back,
.fold-door,
.fold-vignette {
    position: absolute;
    inset: 0
}

.fold-back>.visual {
    width: 100%;
    height: 100%;
    transform: scale(var(--fold-scale, 1));
    transition: none
}

.fold-door {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    width: 50%;
    opacity: var(--fold-opacity, 1);
    overflow: hidden
}

.fold-door>.visual {
    width: 200%;
    max-width: none;
    position: absolute;
    top: 0;
    bottom: 0
}

.fold-door-left {
    transform-origin: 0;
    transform: translateX(var(--fold-left, 0%)) rotateY(calc(var(--fold-angle, 0deg)*-1));
    right: auto
}

.fold-door-right {
    transform-origin: 100%;
    transform: translateX(var(--fold-right, 0%)) rotateY(var(--fold-angle, 0deg));
    left: 50%
}

.fold-door-right>.visual {
    left: -100%
}

.fold-vignette {
    pointer-events: none;
    background: linear-gradient(#0000 65%, #06172eb8)
}

.fold-caption {
    bottom: 40px;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-shadow: 0 2px 10px #000;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    font-size: .8rem;
    font-weight: 650;
    display: flex;
    position: absolute;
    inset-inline: 5%
}

.fold-caption>span:last-child {
    align-items: center;
    gap: 16px;
    display: flex
}

.fold-line {
    background: #ffffff80;
    width: clamp(50px, 12vw, 240px);
    height: 1px;
    display: block
}

.fold-progress {
    height: 3px;
    transform: scaleX(var(--fold-p, 0));
    transform-origin: 0;
    background: #55adff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.fold-editorial {
    padding: 65px 0 80px
}

.fold-editorial>.wrap {
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
    gap: 10%;
    display: grid
}

.fold-editorial .eyebrow {
    color: #8cc3ff
}

.fold-editorial h2 {
    font-size: clamp(2.4rem, 4.4vw, 3rem)
}

.fold-editorial p {
    color: #c7d7e9;
    max-width: 60ch
}

.fold-editorial .text-link {
    color: #fff;
    margin-top: 20px
}

.story-sequence {
    --story-progress: 25%;
    grid-template-columns: 1.05fr 1fr;
    gap: 7%;
    display: grid;
    position: relative
}

.story-visual {
    background: #d9e3ed;
    align-self: start;
    height: calc(100svh - 205px);
    min-height: 400px;
    max-height: 780px;
    position: sticky;
    top: 160px;
    overflow: hidden
}

.story-image {
    opacity: 0;
    clip-path: inset(0 0 100%);
    transition: clip-path .65s cubic-bezier(.2, .65, .2, 1), opacity .45s, transform 1s;
    position: absolute;
    inset: 0;
    transform: scale(1.04)
}

.story-image.is-current {
    opacity: 1;
    clip-path: inset(0);
    transform: scale(1)
}

.story-image>.visual {
    height: 100%
}

.story-mobile-image {
    display: none !important
}

.story-steps article {
    border-top: 1px solid #d7dfe8;
    flex-direction: column;
    justify-content: center;
    min-height: 420px;
    padding: 65px 0;
    display: flex
}

.story-steps h3 {
    margin-bottom: 25px;
    font-size: clamp(1.7rem, 2.75vw, 3rem)
}

.story-steps p {
    max-width: 58ch
}

.story-steps .text-link {
    margin-top: 20px
}

.story-steps .eyebrow {
    transition: color .3s
}

.story-steps article.is-current .eyebrow {
    color: #06c
}

.story-track {
    inset-inline: 0;
    background: #ffffff40;
    height: 3px;
    position: absolute;
    bottom: 0;
    overflow: hidden
}

.story-track span {
    height: 100%;
    width: var(--story-progress);
    background: #1686f4;
    transition: width .6s;
    display: block
}

.story-geography {
    background: 0 0;
    align-items: center;
    min-height: 350px;
    display: flex;
    overflow: visible
}

.story-geography .world-map {
    width: 100%
}

.global-home .story-steps article {
    border-color: #37506e
}

.global-home .story-steps .eyebrow,
.global-home .story-steps article.is-current .eyebrow {
    color: #8cc3ff
}

.global-home .story-steps article {
    min-height: 350px
}

.process[data-process] ol {
    padding-inline-start: 25px;
    position: relative
}

.process[data-process] ol:before,
.process[data-process] ol:after {
    content: "";
    top: 0;
    bottom: 0;
    background: #cbd9e6;
    width: 2px;
    position: absolute;
    inset-inline-start: 0
}

.process[data-process] ol:after {
    transform: scaleY(var(--process-progress, 1));
    transform-origin: top;
    background: #06c
}

.process[data-process] li {
    transition: transform .5s;
    position: relative
}

.process[data-process] li:before {
    content: "";
    top: 43px;
    z-index: 1;
    background: #f2f5f8;
    border: 2px solid #93aec7;
    border-radius: 50%;
    width: 12px;
    height: 12px;
    transition: background .35s, border-color .35s;
    position: absolute;
    inset-inline-start: -30px
}

.process[data-process] li:first-child:before {
    top: 10px
}

.process[data-process] li.is-current:before {
    background: #06c;
    border-color: #06c
}

.process[data-process] li.is-current>span {
    color: #06c
}

.process[data-process] li>span {
    color: #526176;
    transition: color .4s
}

.motion-ready .will-reveal {
    opacity: .65;
    transition: transform .7s cubic-bezier(.2, .6, .2, 1), opacity .7s;
    transform: translateY(22px)
}

.motion-ready .will-reveal.is-revealed {
    opacity: 1;
    transform: none
}

.service-card {
    transition: transform .25s, box-shadow .25s, border-color .25s
}

.service-card:hover {
    border-color: #70a8dd;
    transform: translateY(-4px);
    box-shadow: 0 14px 35px #0b1f3a0d
}

.button svg {
    transition: transform .2s
}

.button:hover svg {
    transform: translate(4px)
}

[dir=rtl] .button:hover svg {
    transform: translate(-4px)
}

.text-link {
    position: relative
}

.text-link:after {
    content: "";
    bottom: 2px;
    transform-origin: 0;
    background: currentColor;
    height: 1px;
    transition: transform .25s;
    position: absolute;
    inset-inline: 0;
    transform: scaleX(0)
}

.text-link:hover:after {
    transform: scaleX(1)
}

.mega {
    transform-origin: top;
    animation: .2s ease-out mega-arrive
}

@keyframes mega-arrive {
    0% {
        opacity: 0;
        transform: translateY(-8px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@media (min-width:1900px) {
    .wrap {
        width: 90%;
        max-width: 1960px
    }

    .hero-stable,
    .hero-copy {
        left: 5% !important
    }

    .hero-bottom {
        left: 5% !important;
        right: 5% !important
    }

    .site-header {
        padding-inline: 5% !important
    }

    .capability-panel {
        grid-template-columns: 1.2fr 1fr
    }

    .capability-image {
        min-height: 650px
    }

    .story-steps article {
        min-height: 520px
    }

    .story-visual {
        max-height: 900px
    }

    .service-card>p {
        max-width: 48ch
    }
}

@media (max-width:1023px) {
    .motion-ready .stack-panel {
        top: var(--stack-top, 96px);
        position: sticky
    }

    .motion-ready .fold-stage {
        top: 80px
    }

    .capability-image {
        min-height: 450px
    }

    .capability-copy {
        padding: 30px
    }

    .capability-copy h3 {
        font-size: 2rem
    }

    .story-sequence {
        gap: 5%
    }

    .story-visual {
        min-height: 370px;
        top: 150px
    }

    .story-steps article {
        min-height: 420px;
        padding: 40px 0
    }
}

@media (max-width:799px) {
    .capability-stack {
        gap: 25px
    }

    .capability-panel {
        display: block
    }

    .capability-image,
    .capability-stack.local-stack .capability-image {
        height: clamp(195px, 31svh, 315px);
        min-height: 0
    }

    .capability-image>span {
        inset-inline-start: 24px;
        font-size: 3.4rem;
        bottom: 18px
    }

    .capability-copy {
        padding: 27px 25px
    }

    .capability-copy h3 {
        margin-bottom: 18px;
        font-size: 1.7rem
    }

    .capability-copy p {
        font-size: .96rem
    }

    .capability-copy .eyebrow {
        margin-bottom: 16px
    }

    .capability-copy .capability-detail {
        margin-top: 20px;
        font-size: .89rem
    }

    .capability-copy .text-link {
        margin-top: 16px
    }

    .fold-scene {
        height: 72svh
    }

    .motion-ready .fold-scene {
        height: 108svh;
        min-height: 540px
    }

    .motion-ready .fold-stage {
        height: 72svh;
        min-height: 350px;
        top: 80px
    }

    .fold-caption {
        gap: 12px;
        font-size: .67rem;
        bottom: 24px
    }

    .fold-caption>span:first-child {
        max-width: 65%
    }

    .fold-editorial {
        padding: 45px 0 55px
    }

    .fold-editorial>.wrap {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .fold-editorial h2 {
        font-size: 2.6rem
    }

    .story-sequence {
        display: block
    }

    .story-visual {
        display: none
    }

    .story-visual.story-geography {
        height: auto;
        min-height: 0;
        margin-bottom: 40px;
        display: flex;
        position: relative;
        top: auto
    }

    .story-geography .story-track {
        display: none
    }

    .story-steps article {
        border: 0;
        min-height: 0;
        margin-bottom: 35px;
        padding: 0 0 35px;
        display: block
    }

    .story-mobile-image {
        aspect-ratio: 1.45;
        margin-bottom: 28px;
        display: block !important
    }

    .story-steps article>div {
        border-inline-start: 2px solid #d7dfe8;
        padding-inline-start: 22px;
        transition: border-color .4s
    }

    .story-steps article.is-current>div {
        border-color: #06c
    }

    .story-steps h3 {
        margin-bottom: 20px;
        font-size: 1.9rem
    }

    .global-home .story-steps article {
        min-height: 0
    }

    .global-home .story-mobile-image {
        aspect-ratio: 1.9
    }

    .process[data-process] li:first-child:before {
        top: 35px
    }

    .motion-ready .stack-panel {
        top: var(--stack-top, 86px)
    }
}

@media (max-width:599px) {
    .motion-ready .fold-stage {
        top: 74px
    }

    .fold-caption>span:last-child {
        gap: 8px
    }

    .fold-line {
        width: 36px
    }

    .capability-copy {
        padding: 25px 22px
    }

    .capability-copy h3 {
        font-size: 1.6rem
    }

    .stack-visual {
        height: 220px
    }

    .stack-copy {
        padding: 24px
    }

    .stack-feature p {
        font-size: .9rem
    }

    .stack-feature h3 {
        font-size: 1.25rem
    }

    .stack-feature {
        padding-top: 12px
    }

    .stack-feature+.stack-feature {
        padding-top: 18px
    }

    .process[data-process] ol {
        padding-inline-start: 18px
    }

    .process[data-process] li:before {
        inset-inline-start: -23px
    }

    .fold-editorial h2 {
        font-size: 2.3rem
    }
}

@media (prefers-reduced-motion:reduce) {

    [data-stack],
    .motion-ready [data-stack] {
        position: relative !important;
        top: auto !important;
        transform: none !important
    }

    .fold-scene,
    .motion-ready .fold-scene {
        height: auto;
        min-height: 0
    }

    .fold-stage,
    .motion-ready .fold-stage {
        height: 65svh;
        min-height: 320px;
        position: relative;
        top: auto
    }

    .fold-door {
        display: none
    }

    .fold-back>.visual {
        transform: none
    }

    .story-visual {
        position: relative;
        top: auto
    }

    .story-image {
        transition: none
    }

    .will-reveal {
        opacity: 1 !important;
        transform: none !important
    }

    .service-card:hover,
    .button:hover svg,
    .process[data-process] ol:after {
        transform: none
    }
}

@media print {
    [data-stack] {
        position: static !important;
        transform: none !important
    }

    .fold-scene,
    .story-visual {
        display: none
    }

    .story-sequence {
        display: block
    }

    .story-steps article {
        min-height: 0
    }

    .will-reveal {
        opacity: 1 !important;
        transform: none !important
    }
}

.story-geography [data-map-city] {
    opacity: .48;
    transition: opacity .4s
}

.story-geography [data-map-city] .map-halo {
    transform-box: fill-box;
    transform-origin: 50%;
    transition: transform .5s;
    transform: scale(.65)
}

[data-story-index="0"] [data-map-city="0"],
[data-story-index="1"] [data-map-city="1"],
[data-story-index="2"] [data-map-city="2"],
[data-story-index="3"] [data-map-city="3"] {
    opacity: 1
}

[data-story-index="0"] [data-map-city="0"] .map-halo,
[data-story-index="1"] [data-map-city="1"] .map-halo,
[data-story-index="2"] [data-map-city="2"] .map-halo,
[data-story-index="3"] [data-map-city="3"] .map-halo {
    transform: scale(1.35)
}

@media (prefers-reduced-motion:reduce) {
    .story-geography [data-map-city] {
        opacity: 1
    }

    .story-geography [data-map-city] .map-halo {
        transform: none !important
    }
}

/* ==========================================================================
   Prominent Core Local Service Cards (#local-service-pages)
   ========================================================================== */

#local-service-pages .section-head {
    margin-bottom: 40px;
}

#local-service-pages .section-head .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0066cc;
    font-weight: 700;
    letter-spacing: 0.12em;
    font-size: 0.8rem;
    text-transform: uppercase;
}

#local-service-pages .section-head .eyebrow span {
    display: inline-block;
    width: 20px;
    height: 2px;
    background: #0066cc;
}

#local-service-pages .solution-grid,
.local-service-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    border: none !important;
    margin-top: 24px !important;
}

#local-service-pages .solution-tile,
.local-service-tile {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto 1fr auto !important;
    gap: 0 !important;
    align-items: start !important;
    background: #ffffff !important;
    border: 1px solid rgba(11, 31, 58, 0.08) !important;
    border-radius: 18px !important;
    padding: 30px 26px 24px !important;
    min-height: 275px !important;
    position: relative !important;
    overflow: hidden !important;
    text-decoration: none !important;
    box-shadow: 0 4px 20px -2px rgba(11, 31, 58, 0.04), 0 2px 6px -1px rgba(11, 31, 58, 0.02) !important;
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), 
                box-shadow 0.32s cubic-bezier(0.16, 1, 0.3, 1), 
                border-color 0.25s ease,
                background 0.25s ease !important;
}

/* Subtle top accent gradient bar to signal a core service */
#local-service-pages .solution-tile::before,
.local-service-tile::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, #0066cc 0%, #258cfb 60%, #00d2ff 100%) !important;
    opacity: 0.85 !important;
    transition: height 0.25s ease, opacity 0.25s ease !important;
    z-index: 2 !important;
}

/* Card Icon (First SVG) - Prominent badge in top left */
#local-service-pages .solution-tile > svg:first-of-type,
.local-service-tile > svg:first-of-type {
    display: flex !important;
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    width: 26px !important;
    height: 26px !important;
    padding: 12px !important;
    border-radius: 14px !important;
    background: #edf5fd !important;
    color: #0066cc !important;
    border: 1px solid rgba(0, 102, 204, 0.16) !important;
    box-sizing: content-box !important;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.08) !important;
    transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease !important;
}

/* Number / Badge (.meta) in top right */
#local-service-pages .solution-tile > .meta,
.local-service-tile > .meta {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    justify-self: end !important;
    align-self: start !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    color: #0066cc !important;
    background: #f0f6fc !important;
    padding: 6px 12px !important;
    border-radius: 9999px !important;
    border: 1px solid rgba(0, 102, 204, 0.16) !important;
    line-height: 1 !important;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease !important;
}

#local-service-pages .solution-tile > .meta::before,
.local-service-tile > .meta::before {
    content: 'CORE ';
    opacity: 0.75;
    font-weight: 600;
}

/* Service Title (h3) */
#local-service-pages .solution-tile h3,
.local-service-tile h3 {
    grid-column: 1 / -1 !important;
    grid-row: 2 / 3 !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #0b1f3a !important;
    letter-spacing: -0.025em !important;
    margin-top: 26px !important;
    margin-bottom: 26px !important;
    align-self: start !important;
    transition: color 0.25s ease !important;
}

/* Bottom Action Label (::after) on the left */
#local-service-pages .solution-tile::after,
.local-service-tile::after {
    content: 'Explore Service' !important;
    grid-column: 1 / 2 !important;
    grid-row: 3 / 4 !important;
    align-self: end !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #0066cc !important;
    letter-spacing: 0.01em !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: color 0.25s ease, transform 0.25s ease !important;
}

/* Arrow Icon (Last SVG) - Interactive button in bottom right */
#local-service-pages .solution-tile > svg:last-child,
.local-service-tile > svg:last-child {
    grid-column: 2 / 3 !important;
    grid-row: 3 / 4 !important;
    justify-self: end !important;
    align-self: end !important;
    width: 17px !important;
    height: 17px !important;
    padding: 10px !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    color: #0066cc !important;
    border: 1px solid rgba(0, 102, 204, 0.14) !important;
    box-sizing: content-box !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), 
                background 0.25s ease, 
                color 0.25s ease,
                box-shadow 0.25s ease !important;
}

/* Hover State - WOW Factor Elevation & Accent Glow */
#local-service-pages .solution-tile:hover,
.local-service-tile:hover {
    background: #ffffff !important;
    color: #0b1f3a !important;
    border-color: rgba(0, 102, 204, 0.35) !important;
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 42px -10px rgba(0, 102, 204, 0.18), 0 8px 18px -4px rgba(11, 31, 58, 0.06) !important;
}

#local-service-pages .solution-tile:hover::before,
.local-service-tile:hover::before {
    height: 4px !important;
    opacity: 1 !important;
}

#local-service-pages .solution-tile:hover > svg:first-of-type,
.local-service-tile:hover > svg:first-of-type {
    background: #0066cc !important;
    color: #ffffff !important;
    transform: scale(1.08) !important;
    box-shadow: 0 8px 18px -2px rgba(0, 102, 204, 0.32) !important;
}

#local-service-pages .solution-tile:hover > .meta,
.local-service-tile:hover > .meta {
    background: #0066cc !important;
    color: #ffffff !important;
    border-color: #0066cc !important;
}

#local-service-pages .solution-tile:hover h3,
.local-service-tile:hover h3 {
    color: #0066cc !important;
}

#local-service-pages .solution-tile:hover::after,
.local-service-tile:hover::after {
    color: #004d99 !important;
    transform: translateX(4px) !important;
}

#local-service-pages .solution-tile:hover > svg:last-child,
.local-service-tile:hover > svg:last-child {
    background: #0066cc !important;
    color: #ffffff !important;
    border-color: #0066cc !important;
    transform: translate(3px, -3px) !important;
    box-shadow: 0 6px 14px rgba(0, 102, 204, 0.3) !important;
}

/* RTL Support (Arabic Pages) */
[dir="rtl"] #local-service-pages .solution-tile::after,
[dir="rtl"] .local-service-tile::after,
html[lang='ar-SA'] #local-service-pages .solution-tile::after,
html[lang='ar-SA'] .local-service-tile::after {
    content: 'استكشف التخصص' !important;
}

[dir="rtl"] #local-service-pages .solution-tile > .meta::before,
[dir="rtl"] .local-service-tile > .meta::before,
html[lang='ar-SA'] #local-service-pages .solution-tile > .meta::before,
html[lang='ar-SA'] .local-service-tile > .meta::before {
    content: 'الأساسي ' !important;
}

[dir="rtl"] #local-service-pages .solution-tile:hover::after,
[dir="rtl"] .local-service-tile:hover::after,
html[lang='ar-SA'] #local-service-pages .solution-tile:hover::after,
html[lang='ar-SA'] .local-service-tile:hover::after {
    transform: translateX(-4px) !important;
}

[dir="rtl"] #local-service-pages .solution-tile:hover > svg:last-child,
[dir="rtl"] .local-service-tile:hover > svg:last-child,
html[lang='ar-SA'] #local-service-pages .solution-tile:hover > svg:last-child,
html[lang='ar-SA'] .local-service-tile:hover > svg:last-child {
    transform: translate(-3px, -3px) !important;
}

/* Responsive adjustments */
@media (max-width: 1023px) {
    #local-service-pages .solution-grid,
    .local-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

@media (max-width: 639px) {
    #local-service-pages .solution-grid,
    .local-service-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    
    #local-service-pages .solution-tile,
    .local-service-tile {
        padding: 24px 20px 20px !important;
        min-height: 230px !important;
    }

    #local-service-pages .solution-tile h3,
    .local-service-tile h3 {
        font-size: 1.15rem !important;
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }
}
