/*! 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)))) {

        *,
        :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
        }

        ::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
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --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;
        --radius-sm: .25rem;
        --radius-md: .375rem;
        --radius-lg: .5rem;
        --radius-xl: .75rem;
        --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: var(--font-sans);
        --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
    }

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

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

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

    .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-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: var(--radius-lg)
    }

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

    .rounded-none {
        border-radius: 0
    }

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

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

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

    .rounded-l-md {
        border-top-left-radius: var(--radius-md);
        border-bottom-left-radius: var(--radius-md)
    }

    .rounded-tl-sm {
        border-top-left-radius: var(--radius-sm)
    }

    .rounded-r-md {
        border-top-right-radius: var(--radius-md);
        border-bottom-right-radius: var(--radius-md)
    }

    .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-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-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-foreground {
        background-color: var(--foreground)
    }

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

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

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

    .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: var(--font-sans)
    }

    .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-background {
        color: var(--background)
    }

    .text-current {
        color: currentColor
    }

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

    .antialiased {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }

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

    .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: var(--radius-md)
    }

    .group-data-\[state\=done\]\/attachment\:opacity-100:is(:where(.group\/attachment)[data-state=done] *),
    .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-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *) {
        border-radius: var(--radius-lg)
    }

    .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: var(--radius-md)
    }

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

    .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: var(--radius-md);
        border-bottom-left-radius: var(--radius-md)
    }

    .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: var(--radius-md);
        border-bottom-right-radius: var(--radius-md)
    }

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

    :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-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-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-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-\[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: var(--radius-md)
    }

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

    .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-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-closed\:animate-out[data-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-closed\:fade-out-0[data-closed] {
        --tw-exit-opacity: 0
    }

    .data-closed\:zoom-out-95[data-closed] {
        --tw-exit-scale: .95
    }

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

    .data-open\:animate-in[data-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-open\:fade-in-0[data-open] {
        --tw-enter-opacity: 0
    }

    .data-open\:zoom-in-95[data-open] {
        --tw-enter-scale: .95
    }

    .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\]\:font-medium[data-active=true] {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

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

    .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-\[inset\]\:pl-8[data-inset] {
        padding-left: calc(var(--spacing) * 8)
    }

    .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: var(--radius-md)
    }

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

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

    .data-\[range-start\=true\]\:rounded-md[data-range-start=true] {
        border-radius: var(--radius-md)
    }

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

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

    .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\=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-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-foreground>*)[data-slot=bubble-content] {
        color: var(--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: var(--radius-md);
        border-bottom-left-radius: var(--radius-md)
    }

    .data-\[spacing\=0\]\:last\:rounded-r-md[data-spacing="0"]:last-child {
        border-top-right-radius: var(--radius-md);
        border-bottom-right-radius: var(--radius-md)
    }

    .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\=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\=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\=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\]\: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
    }

    .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\=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: var(--radius-lg);
        border-top-right-radius: var(--radius-lg)
    }

    .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: var(--radius-lg);
        border-bottom-left-radius: var(--radius-lg)
    }

    .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: var(--radius-xl)
        }

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

    .dark\:border-input:is(.dark *) {
        border-color: var(--input)
    }

    .dark\:bg-input\/30:is(.dark *) {
        background-color: var(--input)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:bg-input\/30:is(.dark *) {
            background-color: color-mix(in oklab, var(--input) 30%, transparent)
        }
    }

    .dark\:bg-transparent:is(.dark *) {
        background-color: #0000
    }

    .dark\:text-muted-foreground:is(.dark *) {
        color: var(--muted-foreground)
    }

    @media (hover:hover) {
        .dark\:hover\:bg-input\/50:is(.dark *):hover {
            background-color: var(--input)
        }

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

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

    :is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.3_calc\(c\*0\.4\)_h\)\]:is(.dark *)>*)[data-slot=bubble-content] {
        background-color: oklch(from var(--primary) .3 calc(c * .4) h)
    }

    .dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active] {
        border-color: var(--input)
    }

    .dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active] {
        background-color: var(--input)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active] {
            background-color: color-mix(in oklab, var(--input) 30%, transparent)
        }
    }

    .dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active] {
        color: var(--foreground)
    }

    .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(.dark *):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(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active] {
        background-color: #0000
    }

    .dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked] {
        background-color: var(--foreground)
    }

    .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked] {
        background-color: var(--input)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked] {
            background-color: color-mix(in oklab, var(--input) 80%, 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))
        }
    }

    .\[\&_\.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],
    .\[\&_\.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: var(--radius-md);
        border-bottom-left-radius: var(--radius-md)
    }

    .\[\&\: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\: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(.\*\:\[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: var(--radius-md);
        border-bottom-right-radius: var(--radius-md)
    }

    .\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-md:nth-child(2)[data-selected=true] button {
        border-top-left-radius: var(--radius-md);
        border-bottom-left-radius: var(--radius-md)
    }

    .\[\&\>\*\]\: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\]\:text-foreground>[data-slot=bubble-content]:is(button, a):hover {
        color: var(--foreground)
    }

    .dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.35_calc\(c\*0\.5\)_h\)\]:is(.dark *)>[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-input\/30:is(.dark *)>[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:is(.dark *)>[data-slot=bubble-content]:is(button, a):hover {
            background-color: color-mix(in oklab, var(--input) 30%, 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: var(--radius-md);
        border-bottom-right-radius: var(--radius-md)
    }

    .\[\&\>\[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
    }

    .\[\&\>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)
    }

    [data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *) {
        background-color: var(--background)
    }

    @supports (color:color-mix(in lab, red, red)) {
        [data-slot=tooltip-content] .dark\:\[\[data-slot\=tooltip-content\]_\&\]\:bg-background\/10:is(.dark *) {
            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\: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
}

:root {
    /* ---- site-wide brand tokens, unified with the case-study page's
       design system (public/css/case-studies.css) so both stylesheets
       share one palette. Names kept identical to that file's --cs-*
       tokens for a single source of truth across the site. ---- */
    --cs-cream: #F8F4ED;
    --cs-cream-card: #ECEBE0;
    --cs-forest: #0b1a10;
    --cs-forest-card: #16311F;
    --cs-lime: #9BC53D;
    --cs-ink: #0F261C;
    --cs-sage: #5D7962;
    --cs-on-dark: #F8F4ED;
    --cs-body-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --cs-display-font: "Space Grotesk", var(--cs-body-font);

    --background: var(--cs-cream);
    --foreground: var(--cs-ink);
    --card: var(--cs-cream-card);
    --card-foreground: var(--cs-ink);
    --popover: var(--cs-cream);
    --popover-foreground: var(--cs-ink);
    --primary: var(--cs-forest);
    --primary-foreground: var(--cs-on-dark);
    --secondary: var(--cs-cream-card);
    --secondary-foreground: var(--cs-forest);
    --muted: var(--cs-cream-card);
    --muted-foreground: var(--cs-sage);
    --accent: var(--cs-lime);
    --accent-foreground: var(--cs-forest);
    --border: rgba(15, 38, 28, .14);
    --input: rgba(15, 38, 28, .14);
    --ring: var(--cs-forest);
    --radius: 1rem
}

.dark {
    --background: #17231c;
    --foreground: #fff;
    --popover: #17231c;
    --popover-foreground: #fff;
    --border: #435348
}

* {
    box-sizing: border-box
}

/* ---------- Themed scrollbar ----------
   A custom thin scrollbar (kept, not hidden entirely) so the page/drag
   affordance survives — matches the site's forest-green palette instead
   of the mismatched default OS scrollbar. Works fine alongside Lenis
   smooth-scroll (public/js/smooth-scroll.js), which smooths the *native*
   scroll rather than replacing it, so the real scrollbar still tracks
   position correctly.

   Design: no track colour and no arrow buttons, just a slim rounded
   brand-green pill floating in the gutter, which firms up on hover/drag.
   The thumb's transparent border + padding-box clip is what insets it
   from the gutter edges. */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 35px;
    scrollbar-gutter: stable;
    overflow-y: scroll;
}

/* Standard properties for Firefox only: Chrome/Edge 121+ also support
   them, but setting them there switches off every ::-webkit-scrollbar
   rule below (and brings back the plain bar with arrow buttons). */
@supports (-moz-appearance: none) {
    html {
        scrollbar-width: thin;
        scrollbar-color: rgba(82, 123, 63, .55) transparent;
    }
}

::-webkit-scrollbar {
    width: 12px;
    height: 12px;
    background: transparent;
}

::-webkit-scrollbar-track,
::-webkit-scrollbar-corner {
    background: transparent;
}

::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
}

::-webkit-scrollbar-thumb {
    min-height: 48px;
    background-color: rgba(82, 123, 63, .55);
    background-clip: padding-box;
    border: 3px solid transparent;
    border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #527B3F;
    border-width: 2px;
}

::-webkit-scrollbar-thumb:active {
    background-color: #173D2C;
    border-width: 2px;
}

body {
    color: var(--cs-ink);
    -webkit-font-smoothing: antialiased;
    /* background: var(--cs-cream); */
    margin: 0;
    font-family: var(--cs-body-font);
    font-size: 16px
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--cs-display-font);
}

button,
a,
input,
textarea {
    -webkit-tap-highlight-color: transparent
}

button,
a {
    touch-action: manipulation
}

button {
    font: inherit;
    cursor: pointer
}

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

button:disabled {
    opacity: .6;
    cursor: wait
}

:is(button:focus-visible, a:focus-visible, summary:focus-visible) {
    outline-offset: 5px;
    outline: 3px solid #6a9138
}

.wrap {
    width: min(1200px, 100% - 80px);
    margin: auto
}

.announcement {
    color: #fff;
    letter-spacing: 1.2px;
    background: #183e2d;
    justify-content: center;
    gap: 40px;
    padding: 12px;
    font-size: 11px;
    display: flex
}

.announcement span {
    color: #d4edab;
    letter-spacing: 0;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    display: flex
}

.header {
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    height: 99px;
    display: flex
}

.brand {
    letter-spacing: -1.5px;
    white-space: nowrap;
    align-items: baseline;
    font-size: 29px;
    font-weight: 800;
    display: flex
}

.brand>span:not(.brand-icon) {
    color: #4e7140
}

.brand small {
    letter-spacing: -.3px;
    margin-left: 2px;
    font-size: 13px;
    font-weight: 400
}

.brand-icon {
    background: #d8efaa;
    border-radius: 9px;
    align-self: center;
    margin-right: 8px;
    padding: 7px;
    display: flex
}

.brand-logo {
    height: 36px;
    border-radius: 10px;
    width: auto;
    display: block
}

.header nav {
    color: #515b54;
    gap: 27px;
    font-family: Mona Sans, sans-serif;
    font-size: 14px;
    display: flex
}

.header nav a:hover {
    color: #1d522b
}

.mobile-menu-toggle,
.mobile-menu {
    display: none
}

/* ---------- Buttons ----------
   Each variant below is a single, self-contained class: apply exactly one
   (.btn-primary / .btn-outline / .btn-accent) to fully style a button or
   link. .btn-sm is an optional size modifier layered on top of a variant.
   Selectors elsewhere that need to target "any button regardless of
   variant" (e.g. .plan [class*="btn-"]) match on the shared "btn-" prefix
   instead of a common base class, so no second class is ever required. */

.btn-primary,
.btn-outline,
.btn-accent {
    justify-content: center;
    align-items: center;
    gap: 28px;
    padding: 18px 25px;
    font-size: 15px;
    font-weight: 600;
    font-family: var(--cs-display-font);
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s, background .2s, border-color .2s;
    display: inline-flex
}

.btn-primary:hover,
.btn-outline:hover,
.btn-accent:hover {
    transform: translateY(-2px)
}



.btn-primary {
    display: inline-flex;
    align-items: center;
    border: none;
        background: #173D2C;
    color: #FFFFFF;
    padding: 16px 30px;
    font-family: Mona Sans, sans-serif;
    font-weight: 600;
    text-transform: capitalize;
    font-size: 15.6px;
    line-height: 23.4px;
    letter-spacing: 0;
    text-align: center;
    border-radius: 8.4px;
    gap: 10px;
    text-decoration: none;
}

.btn-primary:hover {
    background: var(--cs-forest-card)
}

.btn-outline {
    color: inherit;
    background: 0 0;
    border: 1px solid var(--border);
    border-radius: 12px
}

.btn-outline:hover {
    border-color: var(--cs-forest)
}

.btn-accent {
    color: var(--cs-forest);
    background: var(--cs-lime);
    border: 1px solid #0000;
    border-radius: 999px;
    font-weight: 700;
    gap: 10px;
    padding: 16px 28px
}

.btn-sm {
    gap: 15px;
    padding: 13px 17px;
    font-size: 13px
}

.hero {
    grid-template-columns: 1.08fr 1fr;
    align-items: center;
    gap: 15px;
    min-height: 655px;
    padding-top: 30px;
    padding-bottom: 65px;
    display: grid
}

.eyebrow {
    letter-spacing: 1.6px;
    color: var(--cs-sage);
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    font-size: 11px;
    font-weight: 700;
    display: flex
}

.mini-line {
    background: var(--cs-lime);
    width: 21px;
    height: 2px
}

h1 {
    letter-spacing: -4px;
    margin: 0 0 25px;
    font-size: clamp(48px, 5.1vw, 72px);
    font-weight: 600;
    line-height: 1.07
}

h1>span {
    color: #5d7962;
    white-space: nowrap;
    position: relative
}

/* h1>span:after {
    content: "";
    background: #cce69b;
    border-radius: 100%;
    width: 100%;
    height: 5px;
    position: absolute;
    bottom: -8px;
    left: 0
} */

p {
    color: #6c756d;
    line-height: 1.65
}

.hero-copy>p {
    max-width: 470px;
    margin: 30px 0;
    font-size: 17px
}

.actions {
    align-items: center;
    gap: 25px;
    display: flex
}

.text-link {
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex
}

.hero-checks {
    color: #737b70;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 29px;
    font-size: 11px;
    display: flex
}

.hero-checks span {
    align-items: center;
    gap: 5px;
    display: flex
}

.hero-checks svg {
    color: #56723b;
    width: 13px
}

.hero-showcase {
    isolation: isolate;
    background: radial-gradient(#eaf1d8 0, #f5f8ee 49%, #fff 72%);
    height: 535px;
    position: relative
}

.showcase-label {
    text-align: center;
    letter-spacing: 2px;
    color: #7c8970;
    margin-top: 10px;
    font-size: 10px
}

.app-preview {
    background: #fcfcf9;
    border: 6px solid #fff;
    border-radius: 30px;
    width: 225px;
    padding: 12px 13px;
    position: absolute;
    overflow: hidden;
    box-shadow: 0 20px 40px #23312218
}

.app-top {
    justify-content: space-between;
    margin-bottom: 20px;
    font-size: 9px;
    font-weight: 600;
    display: flex
}

.app-preview h3 {
    letter-spacing: -1px;
    justify-content: space-between;
    margin: 0;
    font-size: 25px;
    font-weight: 700;
    display: flex
}

.app-preview>p {
    margin: 5px 0 17px;
    font-size: 10px
}

.back {
    background: #f5f7ee;
    height: 385px;
    top: 64px;
    right: 12px;
    transform: rotate(10deg)
}

.front {
    z-index: 2;
    height: 389px;
    top: 102px;
    left: 25px;
    transform: rotate(-7deg)
}

.booking-head {
    background: #f1dedb;
    border-radius: 9px;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    display: flex
}

.booking-head strong {
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.1
}

.booking-head span {
    font-size: 9px
}

.appointment {
    margin: 11px 0;
    font-size: 10px
}

.appointment>span {
    justify-content: space-between;
    display: flex
}

.appointment small {
    color: #8b8d86;
    font-size: 8px
}

.day-row {
    text-align: center;
    gap: 7px;
    margin-bottom: 10px;
    font-size: 8px;
    display: flex
}

.day-row b {
    background: #f1f0eb;
    border-radius: 4px;
    padding: 6px 8px;
    line-height: 1.7
}

.day-row b:nth-child(2) {
    color: #fff;
    background: #213b2d
}

.app-preview button {
    color: #fff;
    background: #213b2d;
    border: 0;
    border-radius: 5px;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 8px;
    font-size: 9px;
    display: flex
}

.app-bottom {
    text-align: center;
    color: #727b6b;
    margin-top: 11px;
    font-size: 8px
}

.activity {
    background: #d8ec9b;
    border-radius: 9px;
    flex-direction: column;
    gap: 16px;
    padding: 20px 13px;
    display: flex
}

.activity strong {
    font-size: 23px;
    line-height: 1.1
}

.activity span {
    font-size: 8px
}

.stat-row {
    gap: 28px;
    padding: 15px;
    display: flex
}

.stat-row>div {
    flex-direction: column;
    font-size: 8px;
    display: flex
}

.stat-row b {
    font-size: 24px
}

.price-sticker {
    z-index: 3;
    background: #e2f4b1;
    border: 3px solid #fff;
    border-radius: 12px;
    align-items: center;
    gap: 12px;
    padding: 15px 19px;
    display: flex;
    position: absolute;
    bottom: 42px;
    right: -2px;
    transform: rotate(-5deg);
    box-shadow: 0 8px 22px #213b2d12
}

.price-sticker span {
    flex-direction: column;
    gap: 4px;
    font-size: 11px;
    display: flex
}

.price-sticker strong {
    font-size: 21px
}

.concept-note {
    text-align: center;
    color: #8a9183;
    font-size: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0
}

.benefit-strip {
    background: var(--cs-cream-card);
    border-block: 1px solid #10271c14;
}

.benefit-strip>.wrap {
    justify-content: space-between;
    gap: 20px;
    padding-block: 25px;
    display: flex
}

.benefit-strip span {
    color: #66715f;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    display: flex
}

.benefit-strip svg {
    color: #64854c;
    width: 19px
}

.section {
    padding-top: 100px;
    padding-bottom: 100px
}

h2 {
    font-size: clamp(30px, 3.4vw, 46px);
    line-height: 1.12;
    font-weight: 700;
    font-family: var(--cs-display-font);
    letter-spacing: -0.01em;
    margin: 0;
}

h2 span.highlight {
    display: block;
    color: #5d7962;
}

.section-heading {
    justify-content: space-between;
    align-items: end;
    margin-bottom: 35px;
    display: flex
}

.section-heading p {
    margin-bottom: 24px;
    font-size: 15px
}

.section .eyebrow {
    margin-bottom: 18px
}

.filters {
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 30px;
    display: flex
}

.filters button {
    color: #6d7568;
    background: rgba(199, 211, 194, .16);
    border: 1px solid #e1e5dc;
    border-radius: 30px;
    padding: 10px 18px;
    font-size: 13px
}

.filters .active {
    color: #fff;
    background: #234432;
    border-color: #234432
}

.example-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    display: grid
}

.example-card {
    text-align: left;
    background: var(--cs-cream-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 0;
    transition: transform .2s;
    overflow: hidden
}

.example-card:hover {
    transform: translateY(-5px)
}

/* previously a different pastel per category (.pink/.lime/.orange/.blue);
   unified to the case-study system's single cream card tone so the only
   color variation across cards comes from the product photography, not
   the card background */
.pink,
.lime,
.orange,
.blue {
    --demo: var(--cs-cream-card);
    --demo-inner: var(--cs-cream-card);
}

.example-visual {
    background: var(--demo);
    min-height: 227px;
    padding: 24px 22px 0;
    overflow: hidden
}

.example-brand {
    letter-spacing: -1px;
    justify-content: space-between;
    font-size: 23px;
    font-weight: 700;
    display: flex
}

.example-visual>h3 {
    max-width: 180px;
    margin: 20px 0;
    font-family: Georgia, serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 1.15
}

.mini-ui {
    background: var(--demo-inner);
    border-radius: 9px 9px 0 0;
    padding: 12px;
    box-shadow: 0 5px 15px #00000005
}

.mini-ui>div:first-child {
    align-items: center;
    gap: 6px;
    font-size: 10px;
    display: flex
}

.mini-ui svg:last-child {
    margin-left: auto
}

.mini-ui-lines {
    gap: 5px;
    margin-top: 10px;
    display: flex
}

.mini-ui-lines span {
    background: #68776620;
    border-radius: 10px;
    width: 60%;
    height: 4px
}

.mini-ui-lines span+span {
    width: 25%
}

.example-caption {
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    padding: 20px 16px;
    display: flex
}

.example-caption h3 {
    margin: 0 0 5px;
    font-size: 14px;
    font-weight: 600
}

.example-caption p {
    margin: 0;
    font-size: 11px
}

.round-arrow {
    border: 1px solid #e5e8df;
    border-radius: 50%;
    padding: 7px;
    display: flex
}

.fine-print {
    margin-top: 24px;
    font-size: 12px
}

.fine-print a {
    text-decoration: underline
}

.why-section {
    color: #fff;
    background: var(--cs-forest);
    padding: 80px 0
}

.why-grid {
    grid-template-columns: 1fr 1fr;
    gap: 85px;
    display: grid
}

.why-section .eyebrow {
    color: var(--cs-lime)
}

.why-section h2 {
    font-size: 46px;
    line-height: 1.2
}

h2 span.mutedHighlight {
    color: rgba(245, 247, 244, .5);
}

.why-section p {
    color: #bed0c2;
    font-size: 15px
}

.why-section .text-link {
    color: #d9eba8;
    margin-top: 20px
}

.why-reasons>div {
    border-bottom: 1px solid #ffffff20;
    gap: 22px;
    padding: 22px 0;
    display: flex
}

.why-reasons>div:first-child {
    padding-top: 0
}

.why-reasons>div>span {
    color: #c8df97;
    padding-top: 4px;
    font-size: 12px
}

.why-reasons h3 {
    margin: 0 0 10px;
    font-size: 19px;
    font-weight: 500
}

.why-reasons p {
    margin: 0;
    font-size: 14px
}

.center {
    text-align: center;
    margin-bottom: 48px
}

.center .eyebrow {
    justify-content: center
}

.center p {
    font-size: 15px
}

.pricing-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 23px;
    display: grid
}

.plan {
    background: var(--cs-cream-card);
    border: 1px solid #10271c1a;
    border-radius: 16px;
    padding: 30px;
    position: relative
}

/* numbered badge, same recipe as the case-study page's Evidence Wall
   feature cards (.cs-feature-badge in case-studies.css) */
.plan-badge {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: var(--cs-forest);
    color: var(--cs-on-dark);
    font-family: var(--cs-display-font);
    font-size: 14px;
    letter-spacing: .4px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.plan h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 500
}

.plan>p {
    margin: 10px 0 23px;
    font-size: 13px;
    color: var(--cs-sage)
}

.plan.featured {
    border: 1px solid var(--cs-lime)
}

.plan-tag {
    white-space: nowrap;
    letter-spacing: 1px;
    color: var(--cs-forest);
    background: var(--cs-lime);
    border-radius: 20px;
    padding: 8px 15px;
    font-size: 9px;
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translate(-50%)
}

.price {
    flex-direction: column;
    margin-bottom: 25px;
    display: flex
}

.price small {
    letter-spacing: 1px;
    font-size: 9px
}

.price strong {
    letter-spacing: -2px;
    margin: 5px 0;
    font-size: 49px;
    font-weight: 500
}

.price span {
    color: var(--cs-sage);
    font-size: 12px
}

.plan [class*="btn-"] {
    justify-content: space-between;
    width: 100%;
    padding: 13px;
    font-size: 13px
}

.plan ul {
    margin: 25px 0 0;
    padding: 0;
    list-style: none
}

.plan li {
    color: var(--cs-sage);
    align-items: start;
    gap: 9px;
    margin: 16px 0;
    font-size: 12px;
    line-height: 1.5;
    display: flex
}

.plan li svg {
    color: var(--cs-forest);
    flex-shrink: 0
}

.scope-note {
    background: var(--cs-cream-card);
    border-radius: 12px;
    align-items: start;
    gap: 15px;
    margin-top: 25px;
    padding: 20px 25px;
    display: flex
}

.scope-note svg {
    color: var(--cs-forest);
    flex-shrink: 0
}

.scope-note p {
    margin: 0;
    font-size: 12px
}

.scope-note strong {
    color: var(--cs-ink)
}

.how-section {
    background: var(--cs-cream)
}

.steps {
    grid-template-columns: repeat(4, 1fr);
    gap: 35px;
    margin-top: 45px;
    display: grid
}

.steps article>span {
    color: #618542;
    border-bottom: 1px solid #dce3d2;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
    font-size: 13px;
    display: flex
}

.steps h3 {
    margin: 22px 0 12px;
    font-size: 18px;
    font-weight: 500
}

.steps p {
    font-size: 14px
}

.faq {
    grid-template-columns: .8fr 1.2fr;
    gap: 75px;
    display: grid
}

.faq details {
    border-bottom: 1px solid #dfe5db;
    padding: 22px 0
}

.faq details:first-child {
    padding-top: 0
}

.faq summary {
    cursor: pointer;
    justify-content: space-between;
    gap: 20px;
    font-size: 15px;
    list-style: none;
    display: flex
}

.faq summary>span {
    color: #71816a;
    font-size: 20px
}

.faq details p {
    margin-bottom: 0;
    font-size: 14px
}

/* FAQ: a native, keyboard-accessible accordion with a calmer reading rhythm. */
.faq > div:first-child {
    align-self: start;
    position: sticky;
    top: 42px
}

.faq > div:last-child {
    border-top: 1px solid rgba(15, 38, 28, .16)
}

.faq .faq-item {
    border: 0;
    border-bottom: 1px solid rgba(15, 38, 28, .16);
    padding: 0;
    transition: background-color .24s ease, box-shadow .24s ease
}

.faq .faq-item[open] {
    background: var(--cs-cream-card);
    box-shadow: inset 3px 0 0 var(--cs-lime)
}

.faq .faq-item summary {
    color: var(--cs-forest);
    align-items: center;
    grid-template-columns: 38px minmax(0, 1fr) 42px;
    gap: 16px;
    padding: 23px 24px;
    font-family: var(--cs-display-font);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1.3;
    list-style: none;
    display: grid
}

.faq .faq-item summary::-webkit-details-marker {
    display: none
}

.faq .faq-number {
    color: var(--cs-sage);
    font-family: var(--cs-body-font);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1
}

.faq .faq-question {
    min-width: 0
}

.faq .faq-toggle {
    color: var(--cs-forest);
    background: rgba(155, 197, 61, .2);
    border-radius: 50%;
    place-items: center;
    width: 42px;
    height: 42px;
    transition: color .24s ease, background-color .24s ease, transform .24s ease;
    display: grid
}

.faq .faq-item[open] .faq-toggle {
    color: var(--cs-on-dark);
    background: var(--cs-forest);
    transform: rotate(45deg)
}

.faq .faq-answer {
    grid-template-rows: 0fr;
    transition: grid-template-rows .28s ease;
    display: grid
}

.faq .faq-item[open] .faq-answer {
    grid-template-rows: 1fr
}

.faq .faq-answer > div {
    min-height: 0;
    overflow: hidden
}

.faq .faq-answer p {
    color: var(--cs-sage);
    max-width: 610px;
    margin: 0;
    padding: 0 72px 26px 78px;
    font-size: 15px;
    line-height: 1.7
}

.enquiry-section {
    background: #edf3df;
    padding: 80px 0
}

.enquiry-grid {
    grid-template-columns: .9fr 1.1fr;
    gap: 90px;
    display: grid
}

.enquiry-grid h2 {
    font-size: 49px
}

.enquiry-grid>div>p {
    max-width: 360px;
    font-size: 16px
}

.enquiry-perks {
    flex-direction: column;
    gap: 18px;
    margin-top: 32px;
    display: flex
}

.enquiry-perks>span {
    color: #526444;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    display: flex
}

.enquiry-perks svg {
    width: 16px
}

.enquiry-grid form {
    background: #fff;
    border: 1px solid #dfe6d5;
    border-radius: 13px;
    padding: 30px
}

.form-row {
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    display: grid
}

form label {
    margin-bottom: 18px;
    font-size: 12px;
    font-weight: 600;
    display: block
}

form label>span {
    color: #7f8779;
    font-weight: 400
}

input:not([type=radio]),
textarea {
    width: 100%;
    font: inherit;
    resize: vertical;
    background: #fff;
    border: 1px solid #dfe3d9;
    border-radius: 6px;
    outline-color: #73934c;
    margin-top: 8px;
    padding: 12px;
    font-size: 13px;
    display: block
}

form fieldset {
    border: 0;
    margin: 0 0 18px;
    padding: 0
}

form legend {
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 600
}

.plan-options {
    flex-wrap: wrap;
    gap: 7px;
    display: flex
}

.plan-options label {
    cursor: pointer;
    margin: 0
}

.plan-options input {
    opacity: 0;
    pointer-events: none;
    position: absolute
}

.plan-options span {
    border: 1px solid #dee4d7;
    border-radius: 5px;
    padding: 9px 12px;
    font-size: 11px;
    display: block
}

.plan-options input:checked+span {
    color: #2c4923;
    background: #edf4de;
    border-color: #86a354
}

.plan-options input:focus-visible+span {
    outline: 2px solid #52783a
}

.form-privacy {
    margin: 0 0 17px;
    font-size: 11px
}

.enquiry-grid [class*="btn-"] {
    justify-content: space-between;
    width: 100%
}

.form-status {
    margin-bottom: 0;
    font-size: 13px
}

.form-status:empty {
    display: none
}

/* Enquiry form: use the same root palette, type and rounded geometry as the
   rest of the refreshed site UI. */
.enquiry-section {
    background: var(--cs-cream-card)
}

.enquiry-grid form {
    color: var(--cs-forest);
    background: var(--cs-cream);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 32px
}

.enquiry-grid form label,
.enquiry-grid form legend {
    color: var(--cs-forest);
    font-family: var(--cs-body-font);
    font-weight: 600
}

.enquiry-grid form label > span {
    color: var(--cs-sage)
}

.enquiry-grid form input:not([type=radio]),
.enquiry-grid form textarea {
    color: var(--cs-ink);
    background: var(--cs-cream);
    border: 1px solid rgba(15, 38, 28, .18);
    border-radius: 10px;
    font-family: var(--cs-body-font);
    font-size: 15px;
    transition: border-color .2s ease, box-shadow .2s ease
}

.enquiry-grid form input::placeholder,
.enquiry-grid form textarea::placeholder {
    color: var(--cs-sage);
    opacity: .88
}

.enquiry-grid form input:not([type=radio]):focus,
.enquiry-grid form textarea:focus {
    border-color: var(--cs-lime);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(155, 197, 61, .2)
}

.enquiry-grid form .plan-options span {
    color: var(--cs-sage);
    background: transparent;
    border-color: rgba(15, 38, 28, .18);
    border-radius: 9px;
    font-family: var(--cs-body-font);
    font-size: 14px;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease
}

.enquiry-grid form .plan-options input:checked + span {
    color: var(--cs-forest);
    background: rgba(155, 197, 61, .2);
    border-color: var(--cs-lime)
}

.enquiry-grid form .plan-options input:focus-visible + span {
    outline: 2px solid var(--cs-lime);
    outline-offset: 2px
}

.enquiry-grid form .form-privacy {
    color: var(--cs-sage);
    font-family: var(--cs-body-font);
    line-height: 1.6
}

footer {
    flex-direction: column;
    gap: 24px;
    padding-block: 48px 34px;
    display: flex
}

.footer-top {
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #dde3dd;
    display: flex
}

.footer-brand {
    gap: 10px;
    display: flex;
    flex-direction: column
}

.footer-tagline {
    color: #899080;
    font-size: 13px;
    margin: 0
}

.footer-socials {
    align-items: center;
    gap: 10px;
    display: flex
}

.social-icon {
    color: #f3f6f3;
    background: var(--cs-forest);
    border-radius: 50%;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    display: flex;
    transition: background .2s, transform .2s
}

.social-icon:hover {
    color: var(--cs-forest);
    background: var(--cs-lime);
    transform: translateY(-2px)
}

.footer-bottom {
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    display: flex
}

.footer-bottom>span {
    color: #899080;
    font-size: 12px
}

.footer-links {
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    font-size: 13px;
    display: flex
}

.footer-links a {
    color: #69736c;
    align-items: center;
    gap: 6px;
    display: inline-flex
}

.footer-links a:hover {
    color: var(--cs-forest)
}

/* Shared case-study footer treatment, used throughout the site. */
footer.site-footer {
    /* Locked to the site's root palette so scoped page styles cannot drift it. */
    color: #F8F4ED;
    background: #0f261c;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    margin-inline: 0;
    padding-inline: max(40px, calc((100% - 1200px) / 2));
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif
}

footer.site-footer .footer-top {
    border-bottom-color: rgba(248, 244, 237, .15)
}

footer.site-footer .footer-tagline,
footer.site-footer .footer-bottom > span {
    color: rgba(248, 244, 237, .62);
    font-family: inherit
}

footer.site-footer .footer-links a {
    color: #F8F4ED;
    font-family: "Space Grotesk", "Inter", sans-serif;
    font-weight: 500
}

footer.site-footer .footer-links a:hover {
    color: #9BC53D
}

footer.site-footer .social-icon {
    color: #F8F4ED;
    background: #16311F
}

footer.site-footer .social-icon:hover {
    color: #0b1a10;
    background: #9BC53D
}

.whatsapp-float {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 56px;
    height: 56px;
    background: #25d366;
    color: #fff;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    display: flex;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .22);
    transition: transform .2s, opacity .3s, visibility .3s;
    z-index: 60
}

.whatsapp-float:hover {
    transform: scale(1.08)
}

/* Until the visitor scrolls down (partials/site-footer-revamp). visibility
   also takes it out of the tab order while hidden. */
.whatsapp-float.is-hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px);
    pointer-events: none
}

.demo-dialog {
    background: #fff;
    border-radius: 18px;
    padding: 28px;
    max-width: 490px !important
}

.demo-content {
    background: var(--demo);
    border-radius: 12px;
    padding: 24px
}

.demo-content>h3 {
    margin: 20px 0;
    font-family: Georgia, serif;
    font-size: 30px
}

.demo-option {
    background: #ffffffb0;
    border: 0;
    border-radius: 8px;
    justify-content: space-between;
    width: 100%;
    margin: 9px 0;
    padding: 15px;
    font-size: 14px;
    display: flex
}

.demo-selection {
    background: #fff9;
    border-radius: 8px;
    gap: 10px;
    margin-top: 20px;
    padding: 12px;
    display: flex
}

.demo-selection p {
    margin: 0;
    font-size: 13px
}

.demo-selection svg {
    flex-shrink: 0
}

.demo-content>[class*="btn-"] {
    width: 100%;
    font-size: 13px
}

@media (min-width:1500px) {
    .hero {
        min-height: 710px
    }
}

@media (max-width:1050px) {
    .header nav {
        gap: 17px;
        font-size: 12px
    }

    .header>[class*="btn-"] {
        display: none
    }

    .hero {
        gap: 0
    }

    .hero h1 {
        font-size: 59px
    }

    .hero-showcase {
        transform-origin: 50%;
        transform: scale(.9)
    }

    .hero-checks {
        gap: 10px
    }

    .example-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .why-grid,
    .enquiry-grid {
        gap: 45px
    }

    .benefit-strip span {
        font-size: 11px
    }

    .plan {
        padding: 24px
    }

    .plan li {
        font-size: 11px
    }

    .actions {
        gap: 17px
    }

    .text-link {
        font-size: 12px
    }
}

@media (max-width:760px) {
    .wrap {
        width: calc(100% - 40px)
    }

    body.mobile-menu-open {
        overflow: hidden
    }

    .header nav,
    .header > [class*="btn-"] {
        display: none
    }

    .header {
        height: 76px;
        position: relative
    }

    .mobile-menu-toggle {
        color: var(--cs-forest);
        background: transparent;
        border: 0;
        flex-direction: column;
        justify-content: center;
        gap: 6px;
        width: 44px;
        height: 44px;
        margin-right: -8px;
        padding: 10px;
        display: flex
    }

    .mobile-menu-toggle span {
        background: currentColor;
        border-radius: 4px;
        width: 24px;
        height: 2px;
        margin-left: auto;
        transition: transform .2s ease
    }

    .mobile-menu-toggle span:last-child {
        width: 16px
    }

    .mobile-menu {
        color: var(--cs-on-dark);
        background: var(--cs-forest);
        font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
        z-index: 100;
        width: 100%;
        min-height: 100dvh;
        padding: max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));
        position: fixed;
        inset: 0;
        display: block;
        overflow-y: auto
    }

    .mobile-menu[hidden] {
        display: none
    }

    .mobile-menu-inner {
        flex-direction: column;
        width: min(100%, 560px);
        min-height: calc(100dvh - 40px);
        margin: auto;
        display: flex
    }

    .mobile-menu-top {
        justify-content: space-between;
        align-items: center;
        min-height: 56px;
        display: flex
    }

    .mobile-menu-brand img {
        width: auto;
        height: 27px;
        display: block
    }

    .mobile-menu-close {
        color: var(--cs-forest);
        background: var(--cs-on-dark);
        border: 0;
        border-radius: 50%;
        place-items: center;
        width: 42px;
        height: 42px;
        display: grid
    }

    .mobile-menu-nav {
        flex-direction: column;
        align-items: flex-start;
        gap: clamp(13px, 2.4vh, 22px);
        margin: clamp(58px, 11vh, 105px) 0 44px;
        display: flex
    }

    .mobile-menu-nav a {
        color: var(--cs-on-dark);
        font-family: var(--cs-display-font);
        font-size: clamp(32px, 10vw, 45px);
        font-weight: 500;
        letter-spacing: -.055em;
        line-height: 1.05;
        transition: color .18s ease, transform .18s ease
    }

    .mobile-menu-nav a:last-child {
        color: var(--cs-lime);
        align-items: center;
        gap: 9px;
        margin-top: 8px;
        font-size: clamp(20px, 6.4vw, 27px);
        letter-spacing: -.035em;
        display: flex
    }

    .mobile-menu-nav a:active {
        color: var(--cs-lime);
        transform: translateX(4px)
    }

    .mobile-menu-footer {
        color: rgba(248, 244, 237, .72);
        border-top: 1px solid rgba(248, 244, 237, .16);
        margin-top: auto;
        padding-top: 22px;
        font-size: 12px;
        line-height: 1.45
    }

    .mobile-menu-footer p {
        color: var(--cs-lime);
        letter-spacing: .08em;
        text-transform: uppercase;
        margin: 0 0 11px;
        font-size: 10px;
        font-weight: 700
    }

    .mobile-menu-footer > a {
        color: var(--cs-on-dark);
        width: fit-content;
        margin: 5px 0;
        display: block
    }

    .mobile-menu-footer > div {
        justify-content: space-between;
        color: rgba(248, 244, 237, .45);
        border-top: 1px solid rgba(248, 244, 237, .1);
        margin-top: 20px;
        padding-top: 14px;
        font-size: 10px;
        display: flex
    }

    .announcement {
        gap: 16px;
        font-size: 9px
    }

    .announcement span {
        font-size: 10px
    }

    .header {
        height: 80px
    }

    .brand {
        font-size: 25px
    }

    .brand-logo {
        height: 28px
    }

    .header nav a {
        display: none
    }

    .hero {
        grid-template-columns: 1fr;
        padding-top: 30px;
        padding-bottom: 30px
    }

    .hero h1 {
        letter-spacing: -2.8px;
        font-size: 55px
    }

    .hero .eyebrow {
        font-size: 9px
    }

    .hero-copy>p {
        font-size: 16px
    }

    .hero-showcase {
        width: min(470px, 100%);
        height: 510px;
        margin: auto;
        transform: scale(.95)
    }

    .front {
        left: 8px
    }

    .back {
        right: 4px
    }

    .price-sticker {
        right: -2px
    }

    .benefit-strip>.wrap {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        display: grid
    }

    .benefit-strip span {
        gap: 7px;
        font-size: 10px
    }

    .section {
        padding-block: 65px
    }

    .section-heading {
        display: block
    }

    .section-heading p {
        margin: 20px 0 0
    }

    .section h2,
    h2 {
        font-size: 36px
    }

    .example-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px
    }

    .example-visual {
        min-height: 208px;
        padding: 18px 14px 0
    }

    .example-visual>h3 {
        font-size: 22px
    }

    .example-caption {
        padding: 16px 11px
    }

    .example-caption h3 {
        font-size: 12px
    }

    .example-caption p {
        font-size: 10px
    }

    .round-arrow {
        display: none
    }

    .example-brand {
        font-size: 21px
    }

    .mini-ui {
        padding: 9px
    }

    .mini-ui>div:first-child {
        font-size: 8px
    }

    .mini-ui svg {
        width: 14px
    }

    .filters {
        gap: 6px
    }

    .filters button {
        padding: 9px 12px;
        font-size: 11px
    }

    .why-grid,
    .pricing-grid,
    .faq,
    .enquiry-grid {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .faq > div:first-child {
        position: static
    }

    .faq .faq-item summary {
        grid-template-columns: 30px minmax(0, 1fr) 38px;
        gap: 11px;
        padding: 19px 16px;
        font-size: 16px
    }

    .faq .faq-toggle {
        width: 38px;
        height: 38px
    }

    .faq .faq-answer p {
        padding: 0 16px 22px 57px;
        font-size: 14px;
        line-height: 1.65
    }

    .why-section {
        padding-block: 60px
    }

    .why-section h2 {
        font-size: 33px
    }

    .why-reasons {
        margin-top: 10px
    }

    .plan {
        padding: 28px
    }

    .plan li,
    .plan>p {
        font-size: 14px
    }

    .plan [class*="btn-"] {
        font-size: 15px
    }

    .plan-tag {
        font-size: 10px
    }

    .steps {
        grid-template-columns: 1fr 1fr;
        gap: 25px
    }

    .steps h3 {
        font-size: 17px
    }

    .steps p {
        font-size: 13px
    }

    .enquiry-section {
        padding-block: 60px
    }

    .enquiry-grid h2 {
        font-size: 44px
    }

    .enquiry-grid form {
        padding: 23px
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0
    }

    footer {
        gap: 20px;
        padding-block: 36px 26px
    }

    footer.site-footer {
        padding-inline: 20px
    }

    .footer-top {
        gap: 18px
    }

    .footer-bottom>span {
        font-size: 11px
    }

    .demo-dialog {
        max-height: 90dvh;
        overflow: auto;
        width: calc(100% - 30px) !important
    }

    .hero-checks,
    .eyebrow {
        font-size: 10px
    }
}

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

    * {
        transition: none !important
    }
}

.plan-options label {
    align-items: center;
    gap: 6px;
    display: flex
}

.plan-options label>button {
    opacity: 0;
    position: absolute
}

.plan-options label>button[data-state=checked]+span {
    color: #2c4923;
    background: #edf4de;
    border-color: #86a354
}

.plan-options label>button:focus-visible+span {
    outline: 2px solid #52783a
}

.header nav,
.filters button,
.example-caption h3,
.plan>p,
.plan li,
.plan [class*="btn-"],
.text-link,
form label,
form legend,
.plan-options span,
input:not([type=radio]),
textarea {
    font-size: 16.6px;
}

.example-caption p,
.hero-checks,
.fine-print,
.scope-note p,
.form-privacy,
.enquiry-perks>span {
    font-size: 12px
}

.industry-phone {
    --phone-accent: #264b39;
    --phone-bg: #fffdfb;
    color: #25352c;
    text-align: left;
    background: linear-gradient(145deg, #fafcf7, #989f98 44%, #f0f2ed 73%, #808d83);
    border: 2px solid #c8ccc6;
    border-radius: 36px;
    flex-shrink: 0;
    width: 230px;
    height: 457px;
    padding: 6px;
    font-family: Arial, Helvetica, sans-serif;
    position: relative;
    box-shadow: 0 24px 34px -12px #17302645, 0 3px 6px #1a2f2522
}

.industry-phone:before {
    content: "";
    background: #9da49e;
    border-radius: 2px;
    width: 3px;
    height: 42px;
    position: absolute;
    top: 87px;
    left: -4px
}

.industry-phone:after {
    content: "";
    background: #9da49e;
    border-radius: 2px;
    width: 3px;
    height: 34px;
    position: absolute;
    top: 116px;
    right: -4px
}

.phone-screen {
    background: var(--phone-bg);
    border-radius: 28px;
    flex-direction: column;
    height: 100%;
    display: flex;
    position: relative;
    overflow: hidden
}

.phone-camera {
    z-index: 3;
    background: #18201d;
    border-radius: 15px;
    width: 61px;
    height: 17px;
    position: absolute;
    top: 13px;
    left: 50%;
    transform: translate(-50%);
    box-shadow: inset 0 0 0 1px #3b443e
}

.phone-camera:after {
    content: "";
    background: #182c3c;
    border-radius: 50%;
    width: 7px;
    height: 7px;
    position: absolute;
    top: 5px;
    right: 7px;
    box-shadow: inset 1px 1px 2px #5a646c
}

.phone-status {
    justify-content: space-between;
    padding: 13px 14px 12px;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    display: flex
}

.phone-status>span:last-child {
    gap: 3px;
    display: flex
}

.phone-status svg {
    width: 10px;
    height: 10px
}

.phone-brand {
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px 8px;
    display: flex
}

.phone-brand>span:first-child {
    letter-spacing: -1px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1
}

.phone-avatar {
    color: #455846;
    background: #edf0e6;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 23px;
    height: 23px;
    display: flex
}

.phone-avatar svg {
    width: 13px
}

.phone-intro {
    color: #738074;
    padding: 0 14px 12px;
    font-size: 11px;
    line-height: 1.2
}

.phone-photo {
    border-radius: 10px;
    flex-shrink: 0;
    height: 141px;
    margin: 0 10px;
    position: relative;
    overflow: hidden
}

.phone-photo>img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.phone-favourite {
    background: #fffffff0;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 23px;
    height: 23px;
    display: flex;
    position: absolute;
    top: 8px;
    right: 8px
}

.phone-favourite svg {
    width: 13px;
    height: 13px
}

.phone-content {
    flex-direction: column;
    flex: 1;
    padding: 10px 13px 0;
    display: flex
}

.phone-detail {
    flex-direction: column;
    gap: 4px;
    display: flex
}

.phone-detail strong {
    font-size: 12px;
    line-height: 1.3
}

.phone-detail>span {
    color: #7d867b;
    font-size: 9px
}

.phone-calendar {
    gap: 6px;
    margin: 10px 0;
    display: flex
}

.phone-calendar>span {
    text-align: center;
    color: #70796c;
    border: 1px solid #e9eae4;
    border-radius: 5px;
    flex-direction: column;
    gap: 3px;
    width: 32px;
    padding: 5px;
    font-size: 8px;
    display: flex
}

.phone-calendar b {
    font-size: 11px
}

.phone-calendar .chosen {
    color: #fff;
    background: var(--phone-accent);
    border-color: var(--phone-accent)
}

.phone-action {
    background: var(--phone-accent);
    color: #fff;
    border-radius: 6px;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    margin-top: auto;
    padding: 9px 10px;
    font-size: 9px;
    font-weight: 600;
    display: flex
}

.phone-action svg {
    width: 12px;
    height: 12px
}

.phone-nav {
    flex-shrink: 0;
    justify-content: space-around;
    padding: 10px 10px 6px;
    display: flex
}

.phone-nav>span {
    color: #899183;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    font-size: 7px;
    display: flex
}

.phone-nav>span:first-child {
    color: var(--phone-accent)
}

.phone-nav svg {
    width: 12px;
    height: 12px
}

.phone-home {
    background: #24372d;
    border-radius: 3px;
    flex-shrink: 0;
    width: 65px;
    height: 3px;
    margin: 0 auto 5px
}

.phone-meta {
    color: #7f8c79;
    border-top: 1px solid #e8ebe4;
    justify-content: space-between;
    align-items: center;
    margin: 11px 0 12px;
    padding: 8px 0;
    font-size: 9px;
    display: flex
}

.phone-meta>span {
    align-items: center;
    gap: 5px;
    display: flex
}

.phone-meta svg {
    width: 12px;
    height: 12px
}

.phone-photo-tag {
    color: #27382a;
    letter-spacing: .3px;
    background: #d5ef92;
    border-radius: 4px;
    align-items: center;
    gap: 5px;
    padding: 6px 7px;
    font-size: 7px;
    display: flex;
    position: absolute;
    bottom: 8px;
    left: 8px
}

.phone-photo-tag svg {
    fill: currentColor;
    width: 10px;
    height: 10px
}

.phone-workout {
    justify-content: space-between;
    align-items: end;
    margin: 10px 0;
    display: flex
}

.phone-workout>span {
    flex-direction: column;
    gap: 2px;
    font-size: 7px;
    display: flex
}

.phone-workout b {
    font-size: 22px;
    line-height: 1
}

.phone-workout .workout-bars {
    flex-direction: row;
    align-items: end;
    gap: 4px;
    height: 24px;
    display: flex
}

.workout-bars i {
    background: #a8c96c;
    border-radius: 2px;
    width: 6px;
    height: 12px
}

.workout-bars i:nth-child(2) {
    height: 18px
}

.workout-bars i:nth-child(3) {
    height: 14px
}

.workout-bars i:nth-child(4) {
    height: 23px
}

.workout-bars i:nth-child(5) {
    height: 20px
}

.phone-fitness {
    --phone-bg: #192a24;
    --phone-accent: #d6ed98;
    color: #f4f6eb;
    background: linear-gradient(140deg, #88978a, #2c4034 45%, #b5beb0);
    border-color: #718578
}

.phone-fitness .phone-brand>span:first-child {
    font-style: italic
}

.phone-fitness .phone-intro,
.phone-fitness .phone-detail>span {
    color: #a5b2a5
}

.phone-fitness .phone-avatar {
    color: #d7e8c4;
    background: #314839
}

.phone-fitness .phone-action {
    color: #233824
}

.phone-fitness .phone-home {
    background: #c0cdb7
}

.phone-beauty .phone-brand>span:first-child,
.phone-food .phone-brand>span:first-child,
.phone-wellbeing .phone-brand>span:first-child,
.phone-travel .phone-brand>span:first-child,
.phone-retail .phone-brand>span:first-child {
    font-family: Georgia, serif;
    font-weight: 400
}

.phone-food {
    --phone-bg: #fffaf0;
    --phone-accent: #9c4730
}

.phone-retail {
    --phone-bg: #f7f9fa;
    --phone-accent: #263c50
}

.phone-wellbeing {
    --phone-bg: #fff8f4;
    --phone-accent: #a16a65
}

.phone-property {
    --phone-accent: #4b6c7b
}

.phone-trades {
    --phone-accent: #96602a
}

.phone-logistics {
    --phone-accent: #286298
}

.phone-travel {
    --phone-accent: #50693f
}

.phone-pets {
    --phone-accent: #937041
}

.phone-events {
    --phone-accent: #655480
}

.phone-progress {
    color: #6c7e56;
    margin: 10px 0 13px;
    font-size: 8px
}

.phone-progress>i {
    background: #e3ebd5;
    border-radius: 5px;
    height: 5px;
    margin-top: 7px;
    display: block
}

.phone-progress b {
    background: #93b860;
    border-radius: 5px;
    width: 40%;
    height: 100%;
    display: block
}

.phone-mood {
    color: #987a70;
    margin: 10px 0 13px;
    font-size: 8px
}

.phone-mood>div {
    align-items: center;
    gap: 10px;
    margin-top: 7px;
    display: flex
}

.phone-mood>div>span {
    background: #eedad4;
    border-radius: 8px;
    padding: 4px 7px
}

.phone-delivery {
    align-items: center;
    gap: 7px;
    margin: 17px 0;
    font-size: 8px;
    display: flex
}

.phone-delivery span {
    align-items: center;
    gap: 4px;
    display: flex
}

.phone-delivery svg {
    width: 11px
}

.phone-delivery i {
    background: #9db3c0;
    width: 25px;
    height: 1px
}

.rich-showcase {
    background: transparent;
    height: 585px;
    transform: none
}

.rich-showcase .showcase-label {
    padding-top: 2px
}

.hero-phone-position {
    z-index: 2;
    position: absolute
}

.hero-fitness {
    top: 50px;
    right: 7px;
    transform: rotate(11deg)
}

.hero-beauty {
    z-index: 3;
    top: 111px;
    left: 13px;
    transform: rotate(-9deg)
}

.hero-orbit {
    z-index: 0;
    border: 1px solid #c6d49e70;
    border-radius: 50%;
    width: 440px;
    height: 400px;
    position: absolute;
    top: 102px;
    left: 0;
    transform: rotate(-25deg)
}

.hero-detail-card {
    z-index: 4;
    background: #fffe;
    border: 1px solid #e7ebdc;
    border-radius: 11px;
    align-items: center;
    gap: 9px;
    padding: 12px 15px;
    display: flex;
    position: absolute;
    top: 60px;
    left: 0;
    transform: rotate(-6deg);
    box-shadow: 0 10px 25px #243c2110
}

.hero-detail-card>span {
    color: #8a9182;
    flex-direction: column;
    gap: 3px;
    font-size: 10px;
    display: flex
}

.hero-detail-card strong {
    color: #33442b;
    font-size: 12px;
    font-weight: 500
}

.detail-check {
    color: #668a44;
    background: #eaf3d7;
    border-radius: 50%;
    padding: 7px;
    display: flex
}

.hero-demo-link {
    display: none !important;
    z-index: 5;
    background: #fff;
    border: 1px solid #dfe7d2;
    border-radius: 30px;
    align-items: center;
    gap: 15px;
    padding: 10px 14px;
    font-size: 12px;
    display: flex;
    position: absolute;
    bottom: 12px;
    left: 40px;
    box-shadow: 0 8px 20px #2039230d
}

.rich-showcase .price-sticker {
    z-index: 4;
    bottom: 51px;
    right: -2px;
    transform: rotate(-4deg)
}

.rich-showcase .concept-note {
    font-size: 10px;
    bottom: -24px
}

.hero {
    gap: 25px;
    padding-top: 25px;
    padding-bottom: 90px
}

.hero-copy {
    z-index: 5;
    position: relative
}

.example-card {
    border-radius: 15px
}

.example-visual {
    isolation: isolate;
    background: var(--demo);
    height: 362px;
    min-height: 0;
    padding: 0;
    position: relative
}

.visual-overline {
    letter-spacing: 1.35px;
    z-index: 4;
    color: #5e695d;
    font-size: 8px;
    font-weight: 600;
    position: absolute;
    top: 20px;
    left: 19px;
    right: 12px
}

.industry-wordmark {
    letter-spacing: -1.4px;
    z-index: 2;
    color: #394836;
    font-family: Georgia, serif;
    font-size: 33px;
    font-weight: 400;
    position: absolute;
    top: 45px;
    left: 18px
}

.industry-photo-panel {
    z-index: 0;
    border-radius: 0 70px 70px 0;
    width: 182px;
    height: 205px;
    position: absolute;
    top: 96px;
    left: -21px;
    overflow: hidden;
    transform: rotate(-9deg);
    box-shadow: 0 17px 20px -10px #2d352829
}

.industry-photo-panel>img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.card-phone-position {
    z-index: 2;
    transform-origin: 50%;
    width: 150px;
    height: 292px;
    position: absolute;
    top: 68px;
    right: 15px;
    transform: rotate(8deg)
}

.card-phone-position>.industry-phone {
    transform-origin: 0 0;
    transform: scale(.65)
}

.industry-floating-tag {
    z-index: 4;
    color: #4d6245;
    background: #ffffffed;
    border: 1px solid #fff;
    border-radius: 8px;
    align-items: center;
    gap: 6px;
    max-width: calc(100% - 25px);
    padding: 10px 9px;
    display: flex;
    position: absolute;
    bottom: 32px;
    left: 14px;
    box-shadow: 0 5px 12px #263b2615
}

.industry-floating-tag>span {
    font-size: 9px;
    line-height: 1.2
}

.concept-marker {
    letter-spacing: 1.2px;
    color: #73816b;
    font-size: 7px;
    position: absolute;
    bottom: 12px;
    left: 17px
}

.example-caption {
    z-index: 5;
    background: #fff;
    min-height: 89px;
    position: relative
}

.example-caption h3 {
    font-size: 14px
}

.example-caption p {
    font-size: 12px;
    line-height: 1.4
}

.example-card:hover .card-phone-position {
    transform: translateY(-5px)rotate(5deg)
}

.card-phone-position {
    transition: transform .3s
}

.visual-fitness .industry-wordmark {
    font-family: Arial, sans-serif;
    font-style: italic;
    font-weight: 800
}

.visual-fitness {
    background: #e4edcf
}

.visual-fitness .industry-photo-panel {
    border-radius: 0 7px 7px 0;
    transform: rotate(-5deg)
}

.visual-food {
    background: #f4dec6
}

.visual-retail {
    background: #dce7ec
}

.visual-retail .industry-photo-panel {
    border-radius: 0 10px 10px 0;
    transform: rotate(-7deg)
}

.visual-education {
    background: #e5ecd1
}

.visual-wellbeing {
    background: #f1e1de
}

.visual-property {
    background: #dce7e8
}

.visual-property .industry-photo-panel {
    border-radius: 0 8px 8px 0
}

.visual-trades {
    background: #f0e1c8
}

.visual-logistics {
    background: #dce7f0
}

.visual-travel {
    background: #e5ead8
}

.visual-pets {
    background: #f2e4cf
}

.visual-events {
    background: #e8e3ed
}

.visual-events .industry-photo-panel {
    border-radius: 0 9px 9px 0
}

.idea-visual {
    background: linear-gradient(120deg, #ffffff0e, #ffffff03);
    border: 1px solid #ffffff23;
    border-radius: 12px;
    max-width: 460px;
    margin-top: 34px;
    padding: 17px 18px 22px
}

.idea-visual-top {
    letter-spacing: 1px;
    color: #b9cdad;
    justify-content: space-between;
    align-items: center;
    font-size: 8px;
    display: flex
}

.idea-visual-top>span:first-child {
    align-items: center;
    gap: 7px;
    display: flex
}

.idea-visual-content {
    align-items: center;
    gap: 17px;
    margin-top: 22px;
    display: flex
}

.idea-image-stack {
    flex-shrink: 0;
    align-items: center;
    padding-left: 2px;
    display: flex
}

.idea-image-stack>img {
    object-fit: cover;
    border: 2px solid #c2d6b7;
    border-radius: 8px;
    width: 52px;
    height: 64px;
    transform: rotate(-9deg)
}

.idea-image-stack>img+img {
    margin-left: -21px;
    transform: rotate(0)
}

.idea-image-stack>img:last-child {
    transform: rotate(10deg)
}

.idea-visual-content>svg {
    color: #bed795;
    flex-shrink: 0
}

.idea-feature {
    align-items: center;
    gap: 8px;
    display: flex
}

.idea-feature>svg {
    color: #d4e6a9;
    flex-shrink: 0
}

.idea-feature>span {
    color: #c8d8c3;
    font-size: 11px;
    line-height: 1.6
}

.idea-feature strong {
    color: #f0f5e7;
    font-weight: 400
}

.demo-photo-banner {
    border-radius: 9px;
    height: 175px;
    margin: -4px -4px 20px;
    position: relative;
    overflow: hidden
}

.demo-photo-banner>img {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.demo-photo-banner:after {
    content: "";
    background: linear-gradient(#0000 30%, #142820b0);
    position: absolute;
    inset: 0
}

.demo-photo-banner .example-brand {
    color: #fff;
    z-index: 1;
    font-size: 30px;
    position: absolute;
    bottom: 16px;
    left: 17px;
    right: 17px
}

.demo-content>h3 {
    font-size: 26px
}

.demo-dialog {
    max-height: 90dvh;
    overflow-y: auto
}

@media (min-width:1100px) {
    .rich-showcase {
        margin-left: 6px
    }

    .hero-fitness {
        right: 2px
    }
}

@media (max-width:1050px) and (min-width:761px) {
    .rich-showcase {
        height: 550px
    }

    .hero-phone-position {
        transform-origin: 0 0;
        scale: .87
    }

    .hero-fitness {
        top: 55px;
        right: -30px
    }

    .hero-beauty {
        top: 130px;
        left: 0
    }

    .hero-orbit {
        width: 340px;
        height: 330px
    }

    .hero-detail-card {
        top: 80px;
        left: 8px
    }

    .hero-demo-link {
        bottom: -4px;
        left: 40px
    }

    .rich-showcase .price-sticker {
        padding: 12px;
        bottom: 40px;
        right: -10px
    }

    .rich-showcase .price-sticker strong {
        font-size: 18px
    }

    .idea-visual-content {
        gap: 10px
    }

    .idea-feature>span {
        font-size: 10px
    }

    .idea-image-stack>img {
        width: 43px;
        height: 58px
    }
}

@media (max-width:760px) {
    .hero {
        gap: 15px;
        padding-bottom: 65px
    }

    .rich-showcase {
        height: 580px;
        margin-top: 10px;
        transform: none
    }

    .hero-phone-position {
        transform-origin: 0 0;
        scale: .91
    }

    .hero-fitness {
        top: 55px;
        right: -14px
    }

    .hero-beauty {
        top: 130px;
        left: 6px
    }

    .hero-detail-card {
        top: 73px;
        left: 8px
    }

    .hero-demo-link {
        bottom: 13px;
        left: 38px
    }

    .rich-showcase .price-sticker {
        padding: 12px;
        bottom: 51px;
        right: -1px
    }

    .rich-showcase .price-sticker strong {
        font-size: 20px
    }

    .rich-showcase .concept-note {
        bottom: -10px
    }

    .hero-orbit {
        width: calc(100% - 10px);
        height: 350px;
        top: 128px;
        left: 5px
    }

    .example-visual {
        height: 320px
    }

    .visual-overline {
        letter-spacing: .6px;
        font-size: 7px;
        line-height: 1.3;
        top: 17px;
        left: 12px;
        right: 8px
    }

    .industry-wordmark {
        font-size: 29px;
        top: 44px;
        left: 12px
    }

    .industry-photo-panel {
        width: 147px;
        height: 173px;
        top: 95px;
        left: -24px
    }

    .card-phone-position {
        width: 122px;
        height: 235px;
        top: 79px;
        right: 3px;
        transform: rotate(7deg)
    }

    .card-phone-position>.industry-phone {
        transform: scale(.53)
    }

    .industry-floating-tag {
        gap: 4px;
        max-width: calc(100% - 13px);
        padding: 8px 6px;
        bottom: 25px;
        left: 8px
    }

    .industry-floating-tag>span {
        font-size: 8px
    }

    .industry-floating-tag>svg {
        width: 11px
    }

    .concept-marker {
        font-size: 6px;
        bottom: 9px;
        left: 11px
    }

    .example-caption {
        min-height: 96px;
        padding: 17px 12px
    }

    .example-caption h3 {
        font-size: 13px
    }

    .example-caption p {
        font-size: 11px
    }

    .idea-visual {
        max-width: 100%
    }

    .idea-feature>span {
        font-size: 11px
    }

    .idea-visual-content {
        gap: 15px
    }

    .idea-image-stack>img {
        width: 49px;
        height: 64px
    }
}

@media (max-width:380px) {
    .hero-phone-position {
        scale: .8
    }

    .hero-fitness {
        top: 57px;
        right: -33px
    }

    .hero-beauty {
        top: 135px;
        left: 4px
    }

    .rich-showcase {
        height: 536px
    }

    .hero-detail-card {
        left: 2px
    }

    .rich-showcase .price-sticker {
        bottom: 47px;
        right: -2px
    }

    .hero-demo-link {
        bottom: 0;
        left: 28px
    }

    .card-phone-position {
        width: 113px;
        right: 0
    }

    .card-phone-position>.industry-phone {
        transform: scale(.49)
    }

    .example-visual {
        height: 306px
    }

    .industry-wordmark {
        font-size: 25px
    }

    .industry-floating-tag {
        max-width: calc(100% - 10px)
    }

    .industry-floating-tag>span {
        font-size: 7px
    }

    .idea-visual-content {
        gap: 8px
    }

    .idea-feature>span {
        font-size: 10px
    }
}


.blog-page h1,
.article-page h1 {
    letter-spacing: -.04em;
    margin: 22px 0;
    font-size: clamp(36px, 6vw, 68px);
    line-height: 1.1
}

.blog-empty {
    background: var(--cs-cream-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    margin-top: 48px;
    padding: 70px 35px
}

.blog-empty span {
    letter-spacing: .15em;
    font-size: 13px
}

.blog-empty h2 {
    margin: 18px 0;
    font-size: 32px
}

.blog-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 50px;
    display: grid
}

.blog-card {
    background: var(--cs-cream-card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 24px;
    overflow: hidden
}

.blog-card img {
    aspect-ratio: 16/10;
    object-fit: cover;
    border-radius: 12px;
    width: 100%;
    margin-bottom: 20px
}

.blog-card h2 {
    margin: 16px 0;
    font-size: 26px
}

.blog-card time {
    color: var(--cs-sage);
    font-size: 14px
}

.article-page {
    max-width: 800px;
    margin: auto;
    padding: 65px 24px
}

.article-page .eyebrow {
    margin-top: 55px
}

.article-intro {
    color: var(--cs-sage);
    font-size: 22px
}

.article-cover {
    border-radius: 18px;
    width: 100%;
    margin: 30px 0
}

.article-body {
    margin: 40px 0;
    font-size: 18px;
    line-height: 1.85
}

.article-body p {
    white-space: pre-wrap;
    margin: 24px 0
}

.article-body h2 {
    margin-top: 36px;
    font-size: 30px
}

.admin-shell {
    color: #172333;
    background: #f3f5f8;
    grid-template-columns: 250px 1fr;
    min-height: 100vh;
    display: grid
}

.admin-sidebar {
    color: #fff;
    background: linear-gradient(180deg, #132a1f, #0e2018);
    flex-direction: column;
    gap: 22px;
    padding: 26px 20px;
    display: flex;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto
}

.admin-sidebar-head {
    justify-content: space-between;
    align-items: center;
    display: flex
}

.admin-sidebar .brand {
    color: #fff
}

.admin-sidebar .brand-logo {
    height: 28px;
    width: auto;
    display: block
}

.admin-sidebar-close {
    color: #fff;
    opacity: .7;
    background: none;
    border: 0;
    padding: 4px;
    cursor: pointer;
    display: none
}

.admin-sidebar-label {
    letter-spacing: .13em;
    color: #8fae9c;
    margin: 0;
    font-size: 11.5px
}

.admin-nav {
    flex-direction: column;
    gap: 4px;
    display: flex
}

.admin-nav-item {
    color: #c7d6cc;
    text-align: left;
    align-items: center;
    gap: 12px;
    width: 100%;
    background: none;
    border: 0;
    border-radius: 10px;
    padding: 11px 12px;
    font-size: 14.5px;
    font-weight: 600;
    transition: background .15s, color .15s;
    display: flex
}

.admin-nav-item:hover {
    color: #fff;
    background: rgba(255, 255, 255, .07)
}

.admin-nav-item svg {
    color: #9db8a8;
    flex-shrink: 0
}

.admin-nav-item span {
    flex: 1
}

.admin-nav-item[data-state="active"] {
    color: #132a1f;
    background: #d4f080
}

.admin-nav-item[data-state="active"] svg {
    color: #132a1f
}

.nav-badge {
    color: #fff;
    background: #dc2626;
    border-radius: 999px;
    padding: 2px 7px;
    font-size: 11px;
    font-weight: 700
}

.admin-nav-item[data-state="active"] .nav-badge {
    color: #d4f080;
    background: #132a1f
}

.admin-sidebar-foot {
    flex-direction: column;
    gap: 12px;
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    display: flex
}

.admin-sidebar-foot>a {
    color: #c7d6cc;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    display: flex
}

.admin-sidebar-foot>a:hover {
    color: #fff
}

.admin-account {
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
    display: flex
}

.admin-avatar {
    color: #132a1f;
    background: #d4f080;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 34px;
    height: 34px;
    font-weight: 700;
    flex-shrink: 0;
    display: flex
}

.admin-account strong {
    font-size: 14px;
    display: block
}

.admin-account small {
    color: #9db8a8;
    font-size: 12px
}

.admin-signout {
    color: #e2a5a5;
    align-items: center;
    gap: 8px;
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    font-size: 13.5px;
    font-weight: 600;
    display: flex
}

.admin-signout:hover {
    color: #f3b8b8
}

.admin-sidebar-backdrop {
    display: none
}

.admin-sidebar-toggle {
    color: #172333;
    background: none;
    border: 0;
    margin-right: 4px;
    padding: 6px;
    display: none
}

.admin-topbar {
    align-items: flex-start;
    gap: 12px;
    display: flex
}

.admin-main {
    width: 100%;
    min-width: 0;
    max-width: 1400px;
    padding: 40px 45px
}

.admin-main h1 {
    letter-spacing: -.03em;
    margin: 12px 0;
    font-size: 38px
}

.admin-main h2 {
    letter-spacing: -.02em;
    font-size: 23px
}

.admin-main p {
    color: #5f6e7c;
    line-height: 1.6
}

.admin-toast-stack {
    z-index: 80;
    flex-direction: column;
    gap: 10px;
    max-width: 360px;
    position: fixed;
    top: 20px;
    right: 20px;
    display: flex
}

.admin-error,
.admin-message {
    background: #fff;
    border-radius: 10px;
    padding: 13px 16px;
    font-size: 14px;
    display: none;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
    animation: toast-in .25s ease
}

.admin-error:not(:empty),
.admin-message:not(:empty) {
    display: block
}

.admin-error {
    color: #a31e28;
    border: 1px solid #fecaca;
    border-left: 4px solid #dc2626
}

.admin-message {
    color: #0f5132;
    border: 1px solid #a7f3d0;
    border-left: 4px solid #0f8a4c
}

@keyframes toast-in {
    from {
        opacity: 0;
        transform: translateY(-6px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.admin-stats {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin: 30px 0;
    display: grid
}

.admin-stats article {
    background: #fff;
    border: 1px solid #e0e6ec;
    border-radius: 14px;
    flex-direction: column;
    padding: 22px;
    display: flex
}

.stat-icon {
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    margin-bottom: 14px;
    display: flex
}

.stat-icon-blue {
    color: #2456c9;
    background: #eaf1ff
}

.stat-icon-amber {
    color: #b0630a;
    background: #fff4e5
}

.stat-icon-green {
    color: #0f8a4c;
    background: #e7f8ef
}

.stat-icon-slate {
    color: #425063;
    background: #f1f4f1
}

.stat-label {
    color: #576575;
    font-size: 14px;
    display: block
}

.admin-stats strong {
    margin-top: 6px;
    font-size: 34px;
    display: block
}

.stat-trend {
    color: #0f8a4c;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
    font-size: 12.5px;
    font-weight: 600;
    display: inline-flex
}

.admin-panels .tab-panel[hidden] {
    display: none
}

.admin-panel {
    background: #fff;
    border: 1px solid #e0e6ec;
    border-radius: 16px;
    padding: 28px
}

.admin-toolbar {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    display: flex
}

.admin-toolbar-secondary {
    margin-top: -6px
}

.admin-toolbar-actions {
    flex-wrap: wrap;
    gap: 10px;
    display: flex
}

.admin-search {
    flex: 1;
    min-width: 200px;
    max-width: 420px;
    position: relative
}

.admin-search svg {
    color: #8a97a6;
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%)
}

.admin-search input {
    padding-left: 38px !important
}

.toolbar-count {
    color: #8a97a6;
    margin: -8px 0 16px;
    font-size: 13px
}

.admin-main select {
    background: #fff;
    border: 1px solid #cbd4dd;
    border-radius: 8px;
    min-width: 150px;
    padding: 9px 11px;
    font-size: 14px;
    font-family: inherit
}

.admin-main input,
.admin-main textarea {
    color: #172333;
    width: 100%;
    font: inherit;
    background: #fff;
    border: 1px solid #cbd4dd;
    border-radius: 8px;
    min-height: 44px;
    padding: 12px
}

.admin-main textarea {
    resize: vertical
}

.admin-main label {
    gap: 9px;
    margin: 20px 0;
    font-size: 14px;
    font-weight: 600;
    display: grid
}

.admin-main label>textarea {
    font-weight: 400
}

.badge {
    color: #425063;
    background: #f1f4f1;
    white-space: nowrap;
    border-radius: 999px;
    align-items: center;
    padding: 4px 10px;
    font-size: 12.5px;
    font-weight: 600;
    display: inline-flex
}

.badge-draft {
    color: #b0630a;
    background: #fff4e5
}

.badge-published {
    color: #0f8a4c;
    background: #e7f8ef
}

.enquiry-item[data-status="New"] .badge {
    color: #2456c9;
    background: #eaf1ff
}

.enquiry-item[data-status="Contacted"] .badge {
    color: #b0630a;
    background: #fff4e5
}

.enquiry-item[data-status="In progress"] .badge {
    color: #6b32d6;
    background: #f1ebff
}

.enquiry-item[data-status="Closed"] .badge {
    color: #0f8a4c;
    background: #e7f8ef
}

.enquiry-item,
.content-group {
    border-bottom: 1px solid #e0e6ec;
    padding: 18px 0
}

.enquiry-item summary {
    cursor: pointer;
    align-items: center;
    gap: 14px;
    display: flex
}

.enquiry-avatar {
    color: #fff;
    background: var(--cs-forest);
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    font-size: 14px;
    font-weight: 700;
    flex-shrink: 0;
    display: flex
}

.enquiry-summary-main {
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 2px;
    display: flex
}

.enquiry-summary-main strong {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden
}

.enquiry-summary-main small {
    color: #8a97a6;
    font-size: 12.5px
}

.enquiry-item summary time {
    color: #8a97a6;
    white-space: nowrap;
    font-size: 13px
}

.chevron {
    color: #8a97a6;
    flex-shrink: 0;
    transition: transform .2s
}

details[open]>summary .chevron {
    transform: rotate(180deg)
}

.enquiry-body {
    padding-top: 16px
}

.enquiry-contact {
    color: #425063;
    align-items: center;
    gap: 6px;
    margin: 4px 0;
    font-size: 14px;
    display: flex
}

.enquiry-idea {
    white-space: pre-wrap
}

.content-group summary {
    cursor: pointer;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 700;
    display: flex
}

.content-group summary .chevron {
    margin-left: auto
}

.content-group label {
    word-break: break-word;
    color: #566371
}

.admin-empty {
    color: #8a97a6;
    text-align: center;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 60px 20px;
    display: flex
}

.admin-empty svg {
    opacity: .5
}

.admin-empty p {
    color: #8a97a6;
    margin: 0
}

.admin-row-actions {
    gap: 6px;
    display: flex
}

.icon-btn {
    color: #425063;
    background: #fff;
    border: 1px solid #e0e6ec;
    border-radius: 8px;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    display: inline-flex
}

.icon-btn:hover {
    background: #f3f5f8
}

.icon-btn-danger:hover {
    color: #b91c1c;
    background: #fff0f1;
    border-color: #fecaca
}

.settings-panel {
    max-width: 800px
}

.admin-hint {
    background: #f0f5fa;
    border-radius: 10px;
    padding: 16px;
    font-size: 14px
}

.dialog-backdrop {
    z-index: 50;
    background: rgba(0, 0, 0, .5);
    position: fixed;
    inset: 0
}

.dialog-panel {
    z-index: 51;
    background: #fff;
    border-radius: 12px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 20px 60px rgba(0, 0, 0, .25)
}

.dialog-close {
    opacity: .6;
    background: none;
    border: 0;
    padding: 0;
    font-size: 20px;
    line-height: 1;
    position: absolute;
    top: 14px;
    right: 14px
}

.post-editor {
    max-height: 90vh;
    padding: 28px;
    overflow: auto;
    width: calc(100vw - 32px) !important;
    max-width: 760px !important
}

.post-editor h2 {
    margin: 0 0 4px;
    font-size: 18px
}

.post-editor .desc {
    color: #64748b;
    margin: 0 0 8px;
    font-size: 14px
}

.post-editor label {
    gap: 8px;
    margin: 16px 0;
    font-size: 14px;
    font-weight: 600;
    display: grid
}

.post-editor input,
.post-editor textarea,
.post-editor select {
    border: 1px solid #cbd4dd;
    border-radius: 8px;
    width: 100%;
    padding: 12px;
    font-size: 16px
}

.post-editor p {
    font-size: 14px
}

.admin-shell button:disabled {
    opacity: .55;
    cursor: wait
}

@media (max-width:850px) {
    .admin-shell {
        grid-template-columns: 1fr
    }

    .admin-sidebar {
        z-index: 70;
        width: 270px;
        max-width: 82vw;
        height: 100vh;
        transition: transform .25s ease;
        position: fixed;
        top: 0;
        left: 0;
        transform: translateX(-100%);
        box-shadow: 0 0 40px rgba(0, 0, 0, .3)
    }

    body.sidebar-open .admin-sidebar {
        transform: translateX(0)
    }

    .admin-sidebar-close {
        display: block
    }

    .admin-sidebar-backdrop {
        z-index: 60;
        background: rgba(0, 0, 0, .45);
        display: none;
        position: fixed;
        inset: 0
    }

    body.sidebar-open .admin-sidebar-backdrop {
        display: block
    }

    .admin-sidebar-toggle {
        display: inline-flex
    }

    .admin-main {
        padding: 24px 16px
    }

    .admin-stats {
        grid-template-columns: repeat(2, 1fr)
    }

    .admin-toolbar {
        flex-wrap: wrap
    }

    .admin-panel {
        padding: 20px
    }

    .admin-toast-stack {
        max-width: none;
        top: 12px;
        left: 12px;
        right: 12px
    }

    .blog-grid {
        grid-template-columns: 1fr
    }

    .header nav {
        flex-wrap: wrap;
        gap: 12px;
        display: flex !important
    }

    .header {
        flex-wrap: wrap;
        gap: 16px;
        height: auto;
        padding-top: 18px;
        padding-bottom: 18px
    }

    .brand-logo {
        height: 24px
    }

    .media-field {
        flex-direction: column;
        align-items: flex-start
    }
}

/* ---------- Video testimonials (public) ---------- */

.testimonial-slider {
    position: relative
}

.testimonial-grid {
    scroll-snap-type: x mandatory;
    scroll-padding-left: 4px;
    scrollbar-width: none;
    gap: 22px;
    padding-bottom: 4px;
    display: flex;
    overflow-x: auto
}

.testimonial-grid::-webkit-scrollbar {
    display: none
}

.testimonial-card {
    text-align: left;
    background: var(--cs-forest-card);
    border: 1px solid rgba(199, 211, 194, .16);
    border-radius: 16px;
    flex: 0 0 calc((100% - 44px) / 3);
    scroll-snap-align: start;
    transition: transform .2s;
    overflow: hidden
}

.testimonial-nav {
    color: var(--cs-forest);
    background: #fff;
    border: 1px solid #e5e8df;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    display: flex;
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    transition: transform .2s, opacity .2s;
    box-shadow: 0 8px 20px #213b2d26
}

.testimonial-nav:hover {
    transform: translateY(-50%) scale(1.06)
}

.testimonial-nav:disabled {
    opacity: .35;
    pointer-events: none
}

.testimonial-nav-prev {
    left: -14px
}

.testimonial-nav-next {
    right: -14px
}

.testimonial-card:hover {
    transform: translateY(-5px)
}

.testimonial-media {
    aspect-ratio: 4 / 5;
    width: 100%;
    background: var(--cs-cream-card) center / cover no-repeat;
    border: 0;
    padding: 0;
    display: block;
    position: relative
}

.testimonial-media:after {
    content: "";
    background: linear-gradient(180deg, #17231c00 55%, #17231c66);
    position: absolute;
    inset: 0
}

.testimonial-play {
    color: var(--cs-forest);
    background: #fffffff2;
    border-radius: 50%;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    display: flex;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform .2s;
    box-shadow: 0 8px 22px #213b2d33
}

.testimonial-media:hover .testimonial-play {
    transform: translate(-50%, -50%) scale(1.08)
}

.testimonial-play svg {
    margin-left: 3px
}

.testimonial-badge {
    color: var(--cs-forest);
    letter-spacing: .4px;
    background: var(--cs-lime);
    border-radius: 20px;
    padding: 5px 12px;
    font-size: 10px;
    font-weight: 700;
    position: absolute;
    z-index: 1;
    top: 14px;
    left: 14px
}

.testimonial-body {
    padding: 18px 18px 20px
}

.testimonial-quote {
    color: var(--cs-on-dark);
    margin: 0 0 16px;
    font-size: 13.5px;
    line-height: 1.55
}

.testimonial-person {
    align-items: center;
    gap: 11px;
    display: flex
}

.testimonial-avatar {
    border-radius: 50%;
    width: 38px;
    height: 38px;
    object-fit: cover;
    flex-shrink: 0
}

.testimonial-avatar-fallback {
    color: #fff;
    background: var(--cs-forest);
    justify-content: center;
    align-items: center;
    font-size: 13px;
    font-weight: 700;
    display: flex
}

.testimonial-meta {
    min-width: 0;
    flex-direction: column;
    display: flex
}

.testimonial-meta strong {
    color: var(--cs-on-dark);
    font-size: 13.5px
}

/* eyebrow-style treatment (uppercase, tracked, lime) for the existing
   role/company line, matching how the case-study page labels sections */
.testimonial-meta small {
    color: var(--cs-lime);
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    font-size: 10.5px
}

/* ---------- Video testimonial lightbox ---------- */

.testimonial-dialog {
    background: #fff;
    border-radius: 18px;
    padding: 0 !important;
    max-width: 460px !important;
    overflow: hidden
}

.testimonial-dialog-media {
    background: #0e1712;
    line-height: 0
}

.testimonial-dialog-video {
    width: 100%;
    max-height: 74vh;
    background: #000;
    display: block
}

.testimonial-embed-wrap {
    aspect-ratio: 9 / 16;
    max-height: 74vh;
    margin: auto;
    position: relative
}

.testimonial-embed-wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
    position: absolute;
    inset: 0
}

.testimonial-embed-fallback {
    color: #bcd0c1;
    text-align: center;
    padding: 60px 24px;
    font-size: 14px
}

.testimonial-dialog-info {
    padding: 22px 24px 26px
}

.testimonial-dialog-quote {
    color: #333c36;
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.6
}

.testimonial-dialog-person strong {
    font-size: 15px;
    display: block
}

.testimonial-dialog-person span {
    color: #7b8174;
    font-size: 13px
}

.testimonial-fallback-link {
    color: var(--cs-forest);
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex
}

.testimonial-fallback-link svg {
    flex-shrink: 0
}

.testimonial-dialog-close {
    color: var(--cs-forest);
    background: #fff;
    border: 0;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    display: flex;
    position: absolute;
    top: 12px;
    right: 12px;
    box-shadow: 0 4px 14px #00000030
}

@media (max-width:1050px) {
    .testimonial-card {
        flex-basis: calc((100% - 22px) / 2)
    }
}

@media (max-width:760px) {
    .testimonial-grid {
        gap: 14px;
        padding-bottom: 6px
    }

    .testimonial-card {
        flex-basis: 78%
    }

    .testimonial-nav {
        display: none
    }

    .testimonial-dialog {
        width: calc(100% - 24px) !important;
        max-height: 90dvh;
        overflow: auto
    }

    .testimonial-embed-wrap,
    .testimonial-dialog-video {
        max-height: 60vh
    }
}

/* ---------- Case studies (homepage) ----------
   New class names only — every value below (colours, radius, spacing,
   shadows, transitions) is copied from the existing .testimonial-slider
   carousel and .example-card / .example-caption / .round-arrow recipes
   already used elsewhere on this page, not invented for this section. */

.work-slider {
    position: relative
}

.work-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    display: grid
}

.work-track {
    scroll-snap-type: x mandatory;
    scroll-padding-left: 4px;
    scrollbar-width: none;
    gap: 22px;
    padding-bottom: 4px;
    display: flex;
    overflow-x: auto
}

.work-track::-webkit-scrollbar {
    display: none
}

.work-card {
    text-align: left;
    background: linear-gradient(120deg, #ffffff0e, #ffffff03);
    border: 1px solid #ffffff23;
    border-radius: 13px;
    flex: 0 0 calc((100% - 44px) / 3);
    scroll-snap-align: start;
    transition: transform .2s;
    overflow: hidden;
    display: block;
    text-decoration: none;
    color: inherit
}

.work-card:hover {
    transform: translateY(-5px)
}

.work-thumb {
    aspect-ratio: 4 / 5;
    width: 100%;
    background: #173D2C;
    display: block;
    position: relative;
    overflow: hidden
}

.work-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.work-caption {
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    padding: 20px 16px;
    display: flex
}

.work-caption h3 {
    margin: 0 0 5px;
    font-size: 22px;
    font-weight: 600
}

.work-caption p {
    margin: 0;
    color: #bed0c2;
    font-size: 14px;
}

/* The homepage work section inherits the former inspiration block's light canvas. */
.work-section .work-card {
    color: var(--cs-ink);
    background: var(--cs-cream-card);
    border-color: var(--border)
}

.work-section .work-thumb {
    background: #173D2C
}

.work-section .work-caption p {
    color: var(--cs-sage)
}

.work-section .work-nav {
    background: var(--cs-cream);
    border-color: var(--border)
}

.work-nav {
    color: var(--cs-forest);
    background: #fff;
    border: 1px solid #e5e8df;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    display: flex;
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    transition: transform .2s, opacity .2s;
    box-shadow: 0 8px 20px #213b2d26
}

.work-nav:hover {
    transform: translateY(-50%) scale(1.06)
}

.work-nav:disabled {
    opacity: .35;
    pointer-events: none
}

.work-nav-prev {
    left: -14px
}

.work-nav-next {
    right: -14px
}

.work-more {
    text-align: center;
    margin-top: 40px
}

@media (max-width:1050px) {
    .work-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .work-card {
        flex-basis: calc((100% - 22px) / 2)
    }
}

@media (max-width:760px) {
    .work-grid {
        grid-template-columns: 1fr;
        gap: 14px
    }

    .work-track {
        gap: 14px;
        padding-bottom: 6px
    }

    .work-card {
        flex-basis: 78%
    }

    .work-nav {
        display: none
    }
}

/* ---------- Video testimonials (admin) ---------- */

.testimonial-thumb {
    background: #f1f4f1;
    border-radius: 8px;
    width: 56px;
    height: 56px;
    object-fit: cover;
    display: block
}

.badge-upload {
    color: #2456c9;
    background: #eaf1ff
}

.badge-instagram {
    color: #b0630a;
    background: #fff4e5
}

.icon-btn-active {
    color: #0f8a4c;
    background: #e7f8ef;
    border-color: #a7f3d0
}

.icon-btn-featured-active {
    color: #b0630a;
    background: #fff4e5;
    border-color: #fde3b8
}

.icon-btn-featured-active svg {
    fill: currentColor
}

.source-toggle {
    gap: 10px;
    margin: 16px 0;
    display: flex
}

.source-toggle button {
    color: #425063;
    background: #fff;
    border: 1px solid #cbd4dd;
    border-radius: 8px;
    flex: 1;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    font-size: 14px;
    font-weight: 600;
    display: flex
}

.source-toggle button[aria-pressed="true"] {
    color: #132a1f;
    background: #d4f080;
    border-color: #d4f080
}

.media-field {
    align-items: center;
    gap: 14px;
    display: flex
}

.media-preview {
    background: #f3f5f8;
    object-fit: cover;
    border: 1px solid #cbd4dd;
    border-radius: 8px;
    width: 88px;
    height: 88px;
    flex-shrink: 0;
    display: block
}

.media-field-input {
    min-width: 0;
    flex: 1
}

.media-field-input input[type="file"] {
    width: 100%;
    font-size: 13px
}

.media-field-hint {
    color: #8a97a6;
    margin: 4px 0 0;
    font-size: 12px
}

.switch-row {
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
    display: flex
}

.switch-row>span {
    font-size: 14px;
    font-weight: 600
}

.switch-row .switch {
    width: 42px;
    height: 24px;
    flex-shrink: 0;
    margin: 0;
    display: inline-block;
    position: relative
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
    padding: 0;
    border: 0
}

.switch-track {
    background: #cbd4dd;
    border-radius: 999px;
    transition: background .15s;
    position: absolute;
    inset: 0
}

.switch-track:before {
    content: "";
    background: #fff;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    transition: transform .15s;
    position: absolute;
    top: 3px;
    left: 3px;
    box-shadow: 0 1px 3px #0000004d
}

.switch input:checked+.switch-track {
    background: var(--cs-forest)
}

.switch input:checked+.switch-track:before {
    transform: translateX(18px)
}

.order-cell {
    align-items: center;
    gap: 4px;
    display: flex
}

.order-cell span {
    text-align: center;
    width: 20px;
    font-size: 13px;
    font-weight: 600
}

@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(--bits-accordion-content-height, var(--reka-accordion-content-height, var(--kb-accordion-content-height, var(--ngp-accordion-content-height, auto)))))
    }
}

@keyframes accordion-up {
    0% {
        height: var(--radix-accordion-content-height, var(--bits-accordion-content-height, var(--reka-accordion-content-height, var(--kb-accordion-content-height, var(--ngp-accordion-content-height, auto)))))
    }

    to {
        height: 0
    }
}

@keyframes caret-blink {

    0%,
    70%,
    to {
        opacity: 1
    }

    20%,
    50% {
        opacity: 0
    }
}
/* —— Blog pages aligned to homepage theme —— */
.header nav a.is-active {
    color: var(--primary);
    font-weight: 500
}

.filters a {
    color: #6d7568;
    background: #fff;
    border: 1px solid #e1e5dc;
    border-radius: 30px;
    padding: 10px 18px;
    font-size: 13px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: background .15s, color .15s, border-color .15s
}

.filters a:hover {
    color: var(--primary);
    border-color: #c7d6cc
}

.filters a.active {
    color: #fff;
    background: #234432;
    border-color: #234432
}

.blog-page .section-heading {
    margin-bottom: 28px
}

.blog-page .section-heading h1 {
    letter-spacing: -.04em;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(36px, 6vw, 68px);
    line-height: 1.1;
    color: var(--foreground)
}

.blog-filters {
    margin-top: 8px;
    margin-bottom: 12px
}

.blog-empty {
    background: var(--secondary);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    margin-top: 40px;
    padding: 70px 35px;
    text-align: center
}

.blog-empty span {
    letter-spacing: .15em;
    font-size: 12px;
    color: var(--muted-foreground);
    font-weight: 700
}

.blog-empty h2 {
    margin: 18px 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 4vw, 40px);
    color: var(--primary)
}

.blog-empty p {
    color: var(--muted-foreground);
    margin-bottom: 28px
}

.blog-card {
    color: inherit;
    text-decoration: none;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .2s, border-color .2s, box-shadow .2s
}

.blog-card:hover {
    transform: translateY(-3px);
    border-color: #c7d6cc;
    box-shadow: 0 14px 30px rgba(23, 61, 44, .08)
}

.blog-card img {
    aspect-ratio: 16/10;
    object-fit: cover;
    border-radius: 12px;
    width: 100%;
    margin-bottom: 18px;
    background: var(--muted)
}

.blog-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: center;
    margin-bottom: 8px
}

.blog-card time,
.blog-card-cats {
    color: var(--muted-foreground);
    font-size: 13px;
    letter-spacing: .02em
}

.blog-card h2 {
    margin: 8px 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(22px, 2.4vw, 28px);
    line-height: 1.2;
    color: var(--primary)
}

.blog-card p {
    color: #596574;
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 18px;
    flex: 1
}

.blog-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--primary);
    font-size: 14px
}

.blog-cta {
    margin-top: 20px
}

.blog-cta-grid {
    align-items: center
}

.blog-cta-action {
    display: flex;
    justify-content: flex-end
}

.article-page {
    max-width: 820px;
    margin: 0 auto;
    padding: 40px 24px 80px
}

.article-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 28px;
    font-size: 14px
}

.article-page .eyebrow {
    margin-top: 0;
    margin-bottom: 14px
}

.article-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px
}

.article-cats a {
    color: var(--primary);
    background: var(--secondary);
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 12px;
    text-decoration: none;
    font-weight: 600
}

.article-cats a:hover {
    background: #e7f8ef;
    border-color: #c7d6cc
}

.article-page h1 {
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -.04em;
    margin: 8px 0 18px;
    font-size: clamp(36px, 6vw, 64px);
    line-height: 1.1;
    color: var(--primary)
}

.article-intro {
    color: #596574;
    font-size: clamp(18px, 2.2vw, 22px);
    line-height: 1.5;
    margin: 0 0 28px
}

.article-cover {
    border-radius: 18px;
    width: 100%;
    margin: 10px 0 28px;
    border: 1px solid var(--border)
}

.article-body {
    margin: 20px 0 48px;
    font-size: 18px;
    line-height: 1.85;
    color: var(--foreground)
}

.article-body > *:first-child {
    margin-top: 0
}

.article-body p {
    white-space: normal;
    margin: 1.15em 0
}

.article-body h2,
.article-body h3 {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--primary);
    letter-spacing: -.02em;
    line-height: 1.25;
    margin: 1.6em 0 .6em
}

.article-body h2 {
    font-size: 30px
}

.article-body h3 {
    font-size: 24px
}

.article-body a {
    color: var(--primary);
    text-decoration: underline;
    text-underline-offset: 3px
}

.article-body ul,
.article-body ol {
    margin: 1em 0;
    padding-left: 1.35em
}

.article-body li {
    margin: .4em 0
}

.article-body blockquote {
    margin: 1.4em 0;
    padding: 4px 0 4px 18px;
    border-left: 4px solid var(--accent);
    color: #425063;
    font-style: italic
}

.article-body img {
    max-width: 100%;
    border-radius: 14px;
    margin: 1.2em 0;
    border: 1px solid var(--border)
}

.article-footer-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    background: var(--secondary);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 28px 30px;
    margin-top: 20px
}

.article-footer-cta h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(24px, 3vw, 34px);
    letter-spacing: -.03em;
    margin: 8px 0 10px;
    color: var(--primary)
}

.article-footer-cta p {
    color: var(--muted-foreground);
    margin: 0;
    max-width: 36rem
}

@media (max-width: 900px) {
    .blog-cta-action {
        justify-content: flex-start
    }

    .article-footer-cta {
        padding: 22px
    }
}

/* Lenis owns smoothing; native CSS smooth scrolling on top of it double-smooths
   every programmatic scroll frame (Lenis adds .lenis to <html>). */
html.lenis,
html.lenis body {
    height: auto;
}

html.lenis:not(.lenis-autoToggle) {
    scroll-behavior: auto !important;
}

html.lenis-stopped {
    overflow: hidden;
}
