@layer properties {
    @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or
        ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
        *,
        :before,
        :after,
        ::backdrop {
            --tw-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-space-y-reverse: 0;
            --tw-space-x-reverse: 0;
            --tw-divide-y-reverse: 0;
            --tw-border-style: solid;
            --tw-gradient-position: initial;
            --tw-gradient-from: #0000;
            --tw-gradient-via: #0000;
            --tw-gradient-to: #0000;
            --tw-gradient-stops: initial;
            --tw-gradient-via-stops: initial;
            --tw-gradient-from-position: 0%;
            --tw-gradient-via-position: 50%;
            --tw-gradient-to-position: 100%;
            --tw-font-weight: initial;
            --tw-tracking: 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-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial;
            --tw-backdrop-blur: initial;
            --tw-backdrop-brightness: initial;
            --tw-backdrop-contrast: initial;
            --tw-backdrop-grayscale: initial;
            --tw-backdrop-hue-rotate: initial;
            --tw-backdrop-invert: initial;
            --tw-backdrop-opacity: initial;
            --tw-backdrop-saturate: initial;
            --tw-backdrop-sepia: initial;
            --tw-duration: initial;
            --tw-ease: initial;
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1;
        }
    }
}
@layer theme {
    :root,
    :host {
        --font-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;
        --font-mono:
            ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
            "Liberation Mono", "Courier New", monospace;
        --color-red-50: oklch(97.1% 0.013 17.38);
        --color-red-100: oklch(93.6% 0.032 17.717);
        --color-red-200: oklch(88.5% 0.062 18.334);
        --color-red-400: oklch(70.4% 0.191 22.216);
        --color-red-500: oklch(63.7% 0.237 25.331);
        --color-red-600: oklch(57.7% 0.245 27.325);
        --color-red-700: oklch(50.5% 0.213 27.518);
        --color-red-900: oklch(39.6% 0.141 25.723);
        --color-amber-100: oklch(96.2% 0.059 95.617);
        --color-amber-400: oklch(82.8% 0.189 84.429);
        --color-amber-500: oklch(76.9% 0.188 70.08);
        --color-amber-600: oklch(66.6% 0.179 58.318);
        --color-amber-900: oklch(41.4% 0.112 45.904);
        --color-emerald-100: oklch(95% 0.052 163.051);
        --color-emerald-400: oklch(76.5% 0.177 163.223);
        --color-emerald-500: oklch(69.6% 0.17 162.48);
        --color-emerald-600: oklch(59.6% 0.145 163.225);
        --color-emerald-900: oklch(37.8% 0.077 168.94);
        --color-cyan-100: oklch(95.6% 0.045 203.388);
        --color-cyan-400: oklch(78.9% 0.154 211.53);
        --color-cyan-500: oklch(71.5% 0.143 215.221);
        --color-cyan-600: oklch(60.9% 0.126 221.723);
        --color-cyan-900: oklch(39.8% 0.07 227.392);
        --color-violet-100: oklch(94.3% 0.029 294.588);
        --color-violet-400: oklch(70.2% 0.183 293.541);
        --color-violet-500: oklch(60.6% 0.25 292.717);
        --color-violet-600: oklch(54.1% 0.281 293.009);
        --color-violet-900: oklch(38% 0.189 293.745);
        --color-pink-100: oklch(94.8% 0.028 342.258);
        --color-pink-400: oklch(71.8% 0.202 349.761);
        --color-pink-500: oklch(65.6% 0.241 354.308);
        --color-pink-600: oklch(59.2% 0.249 0.584);
        --color-pink-900: oklch(40.8% 0.153 2.432);
        --color-gray-50: oklch(98% 0.005 60);
        --color-gray-100: oklch(96% 0.006 60);
        --color-gray-200: oklch(92% 0.008 60);
        --color-gray-300: oklch(86% 0.01 60);
        --color-gray-400: oklch(70% 0.012 60);
        --color-gray-500: oklch(55% 0.012 60);
        --color-gray-600: oklch(45% 0.01 60);
        --color-gray-700: oklch(37% 0.008 60);
        --color-gray-800: oklch(27% 0.006 60);
        --color-gray-900: oklch(20% 0.004 60);
        --color-gray-950: oklch(14% 0.003 60);
        --color-black: #000;
        --color-white: #fff;
        --spacing: 0.25rem;
        --container-xs: 20rem;
        --container-sm: 24rem;
        --container-md: 28rem;
        --container-xl: 36rem;
        --container-2xl: 42rem;
        --container-3xl: 48rem;
        --container-4xl: 56rem;
        --container-7xl: 80rem;
        --text-xs: 0.75rem;
        --text-xs--line-height: calc(1 / 0.75);
        --text-sm: 0.875rem;
        --text-sm--line-height: calc(1.25 / 0.875);
        --text-base: 1rem;
        --text-base--line-height: 1.5;
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75 / 1.125);
        --text-xl: 1.25rem;
        --text-xl--line-height: calc(1.75 / 1.25);
        --text-2xl: 1.5rem;
        --text-2xl--line-height: calc(2 / 1.5);
        --text-3xl: 1.875rem;
        --text-3xl--line-height: 1.2;
        --text-4xl: 2.25rem;
        --text-4xl--line-height: calc(2.5 / 2.25);
        --text-5xl: 3rem;
        --text-5xl--line-height: 1;
        --text-6xl: 3.75rem;
        --text-6xl--line-height: 1;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --tracking-tight: -0.025em;
        --tracking-wide: 0.025em;
        --tracking-wider: 0.05em;
        --radius-md: 0.375rem;
        --radius-lg: 0.5rem;
        --radius-xl: 0.75rem;
        --radius-2xl: 1rem;
        --radius-3xl: 1.5rem;
        --ease-out: cubic-bezier(0, 0, 0.2, 1);
        --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
        --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
        --blur-sm: 8px;
        --blur-lg: 16px;
        --blur-3xl: 64px;
        --aspect-video: 16 / 9;
        --default-transition-duration: 0.15s;
        --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        --font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
        --color-primary-50: oklch(97% 0.02 180);
        --color-primary-100: oklch(93% 0.04 180);
        --color-primary-200: oklch(86% 0.08 180);
        --color-primary-300: oklch(76% 0.12 180);
        --color-primary-400: oklch(65% 0.14 180);
        --color-primary-500: oklch(55% 0.14 180);
        --color-primary-600: oklch(48% 0.12 180);
        --color-primary-700: oklch(42% 0.1 180);
        --color-primary-800: oklch(36% 0.08 180);
        --color-primary-900: oklch(30% 0.06 180);
        --color-accent-100: oklch(93% 0.05 45);
        --color-accent-300: oklch(79% 0.15 45);
        --color-accent-400: oklch(72% 0.18 45);
        --color-accent-500: oklch(65% 0.18 40);
        --color-accent-600: oklch(58% 0.16 38);
        --color-accent-700: oklch(50% 0.14 36);
        --color-accent-900: oklch(35% 0.08 32);
    }
}
@layer base {
    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0;
    }
    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0;
    }
    html,
    :host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(
            --default-font-family,
            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;
        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: -0.25em;
    }
    sup {
        top: -0.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"]) {
        appearance: button;
    }
    ::file-selector-button {
        appearance: button;
    }
    ::-webkit-inner-spin-button {
        height: auto;
    }
    ::-webkit-outer-spin-button {
        height: auto;
    }
    [hidden]:where(:not([hidden="until-found"])) {
        display: none !important;
    }
}
@layer components;
@layer utilities {
    .pointer-events-none {
        pointer-events: none;
    }
    .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;
    }
    .sticky {
        position: sticky;
    }
    .inset-0 {
        inset: calc(var(--spacing) * 0);
    }
    .inset-1 {
        inset: calc(var(--spacing) * 1);
    }
    .inset-2 {
        inset: calc(var(--spacing) * 2);
    }
    .inset-x-0 {
        inset-inline: calc(var(--spacing) * 0);
    }
    .inset-y-0 {
        inset-block: calc(var(--spacing) * 0);
    }
    .start {
        inset-inline-start: var(--spacing);
    }
    .end {
        inset-inline-end: var(--spacing);
    }
    .-top-4 {
        top: calc(var(--spacing) * -4);
    }
    .-top-8 {
        top: calc(var(--spacing) * -8);
    }
    .-top-24 {
        top: calc(var(--spacing) * -24);
    }
    .-top-40 {
        top: calc(var(--spacing) * -40);
    }
    .top-0 {
        top: calc(var(--spacing) * 0);
    }
    .top-1\/2 {
        top: 50%;
    }
    .top-3 {
        top: calc(var(--spacing) * 3);
    }
    .top-8 {
        top: calc(var(--spacing) * 8);
    }
    .top-24 {
        top: calc(var(--spacing) * 24);
    }
    .-right-1 {
        right: calc(var(--spacing) * -1);
    }
    .-right-2 {
        right: calc(var(--spacing) * -2);
    }
    .-right-4 {
        right: calc(var(--spacing) * -4);
    }
    .-right-8 {
        right: calc(var(--spacing) * -8);
    }
    .-right-24 {
        right: calc(var(--spacing) * -24);
    }
    .-right-40 {
        right: calc(var(--spacing) * -40);
    }
    .right-0 {
        right: calc(var(--spacing) * 0);
    }
    .right-3 {
        right: calc(var(--spacing) * 3);
    }
    .right-4 {
        right: calc(var(--spacing) * 4);
    }
    .-bottom-1 {
        bottom: calc(var(--spacing) * -1);
    }
    .-bottom-2 {
        bottom: calc(var(--spacing) * -2);
    }
    .-bottom-6 {
        bottom: calc(var(--spacing) * -6);
    }
    .-bottom-24 {
        bottom: calc(var(--spacing) * -24);
    }
    .-bottom-40 {
        bottom: calc(var(--spacing) * -40);
    }
    .bottom-3 {
        bottom: calc(var(--spacing) * 3);
    }
    .-left-6 {
        left: calc(var(--spacing) * -6);
    }
    .-left-8 {
        left: calc(var(--spacing) * -8);
    }
    .-left-24 {
        left: calc(var(--spacing) * -24);
    }
    .-left-40 {
        left: calc(var(--spacing) * -40);
    }
    .left-1\/2 {
        left: 50%;
    }
    .left-3 {
        left: calc(var(--spacing) * 3);
    }
    .left-4 {
        left: calc(var(--spacing) * 4);
    }
    .z-20 {
        z-index: 20;
    }
    .z-30 {
        z-index: 30;
    }
    .z-40 {
        z-index: 40;
    }
    .z-50 {
        z-index: 50;
    }
    .mx-auto {
        margin-inline: auto;
    }
    .my-6 {
        margin-block: calc(var(--spacing) * 6);
    }
    .mt-0\.5 {
        margin-top: calc(var(--spacing) * 0.5);
    }
    .mt-1 {
        margin-top: calc(var(--spacing) * 1);
    }
    .mt-2 {
        margin-top: calc(var(--spacing) * 2);
    }
    .mt-3 {
        margin-top: calc(var(--spacing) * 3);
    }
    .mt-4 {
        margin-top: calc(var(--spacing) * 4);
    }
    .mt-5 {
        margin-top: calc(var(--spacing) * 5);
    }
    .mt-6 {
        margin-top: calc(var(--spacing) * 6);
    }
    .mt-8 {
        margin-top: calc(var(--spacing) * 8);
    }
    .mt-10 {
        margin-top: calc(var(--spacing) * 10);
    }
    .mt-12 {
        margin-top: calc(var(--spacing) * 12);
    }
    .mt-16 {
        margin-top: calc(var(--spacing) * 16);
    }
    .mt-20 {
        margin-top: calc(var(--spacing) * 20);
    }
    .mt-auto {
        margin-top: auto;
    }
    .-mb-px {
        margin-bottom: -1px;
    }
    .mb-4 {
        margin-bottom: calc(var(--spacing) * 4);
    }
    .mb-6 {
        margin-bottom: calc(var(--spacing) * 6);
    }
    .mb-8 {
        margin-bottom: calc(var(--spacing) * 8);
    }
    .ml-1 {
        margin-left: calc(var(--spacing) * 1);
    }
    .ml-2 {
        margin-left: calc(var(--spacing) * 2);
    }
    .line-clamp-2 {
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden;
    }
    .line-clamp-3 {
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden;
    }
    .block {
        display: block;
    }
    .flex {
        display: flex;
    }
    .grid {
        display: grid;
    }
    .hidden {
        display: none;
    }
    .inline-block {
        display: inline-block;
    }
    .inline-flex {
        display: inline-flex;
    }
    .aspect-square {
        aspect-ratio: 1;
    }
    .aspect-video {
        aspect-ratio: var(--aspect-video);
    }
    .h-2 {
        height: calc(var(--spacing) * 2);
    }
    .h-3 {
        height: calc(var(--spacing) * 3);
    }
    .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-10 {
        height: calc(var(--spacing) * 10);
    }
    .h-12 {
        height: calc(var(--spacing) * 12);
    }
    .h-14 {
        height: calc(var(--spacing) * 14);
    }
    .h-16 {
        height: calc(var(--spacing) * 16);
    }
    .h-20 {
        height: calc(var(--spacing) * 20);
    }
    .h-24 {
        height: calc(var(--spacing) * 24);
    }
    .h-32 {
        height: calc(var(--spacing) * 32);
    }
    .h-40 {
        height: calc(var(--spacing) * 40);
    }
    .h-96 {
        height: calc(var(--spacing) * 96);
    }
    .h-full {
        height: 100%;
    }
    .h-px {
        height: 1px;
    }
    .min-h-\[calc\(100vh-5rem\)\] {
        min-height: calc(100vh - 5rem);
    }
    .w-2 {
        width: calc(var(--spacing) * 2);
    }
    .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-6 {
        width: calc(var(--spacing) * 6);
    }
    .w-7 {
        width: calc(var(--spacing) * 7);
    }
    .w-8 {
        width: calc(var(--spacing) * 8);
    }
    .w-10 {
        width: calc(var(--spacing) * 10);
    }
    .w-11 {
        width: calc(var(--spacing) * 11);
    }
    .w-12 {
        width: calc(var(--spacing) * 12);
    }
    .w-14 {
        width: calc(var(--spacing) * 14);
    }
    .w-16 {
        width: calc(var(--spacing) * 16);
    }
    .w-20 {
        width: calc(var(--spacing) * 20);
    }
    .w-24 {
        width: calc(var(--spacing) * 24);
    }
    .w-32 {
        width: calc(var(--spacing) * 32);
    }
    .w-40 {
        width: calc(var(--spacing) * 40);
    }
    .w-64 {
        width: calc(var(--spacing) * 64);
    }
    .w-72 {
        width: calc(var(--spacing) * 72);
    }
    .w-96 {
        width: calc(var(--spacing) * 96);
    }
    .w-full {
        width: 100%;
    }
    .max-w-2xl {
        max-width: var(--container-2xl);
    }
    .max-w-3xl {
        max-width: var(--container-3xl);
    }
    .max-w-4xl {
        max-width: var(--container-4xl);
    }
    .max-w-7xl {
        max-width: var(--container-7xl);
    }
    .max-w-md {
        max-width: var(--container-md);
    }
    .max-w-sm {
        max-width: var(--container-sm);
    }
    .max-w-xl {
        max-width: var(--container-xl);
    }
    .max-w-xs {
        max-width: var(--container-xs);
    }
    .flex-1 {
        flex: 1;
    }
    .shrink-0 {
        flex-shrink: 0;
    }
    .grow {
        flex-grow: 1;
    }
    .-translate-x-1\/2 {
        --tw-translate-x: -50%;
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .translate-x-0 {
        --tw-translate-x: calc(var(--spacing) * 0);
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .translate-x-5 {
        --tw-translate-x: calc(var(--spacing) * 5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .translate-x-full {
        --tw-translate-x: 100%;
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .-translate-y-1\/2 {
        --tw-translate-y: -50%;
        translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .rotate-180 {
        rotate: 180deg;
    }
    .transform {
        transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,)
            var(--tw-skew-x,) var(--tw-skew-y,);
    }
    .animate-ping {
        animation: var(--animate-ping);
    }
    .cursor-pointer {
        cursor: pointer;
    }
    .columns-1 {
        columns: 1;
    }
    .break-inside-avoid {
        break-inside: avoid;
    }
    .grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .flex-col {
        flex-direction: column;
    }
    .flex-wrap {
        flex-wrap: wrap;
    }
    .items-baseline {
        align-items: baseline;
    }
    .items-center {
        align-items: center;
    }
    .items-start {
        align-items: flex-start;
    }
    .justify-between {
        justify-content: space-between;
    }
    .justify-center {
        justify-content: center;
    }
    .justify-end {
        justify-content: flex-end;
    }
    .gap-1 {
        gap: calc(var(--spacing) * 1);
    }
    .gap-2 {
        gap: calc(var(--spacing) * 2);
    }
    .gap-3 {
        gap: calc(var(--spacing) * 3);
    }
    .gap-4 {
        gap: calc(var(--spacing) * 4);
    }
    .gap-5 {
        gap: calc(var(--spacing) * 5);
    }
    .gap-6 {
        gap: calc(var(--spacing) * 6);
    }
    .gap-8 {
        gap: calc(var(--spacing) * 8);
    }
    .gap-12 {
        gap: calc(var(--spacing) * 12);
    }
    :where(.space-y-1 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
            calc(var(--spacing) * 1) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
            calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))
        );
    }
    :where(.space-y-2 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
            calc(var(--spacing) * 2) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
            calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))
        );
    }
    :where(.space-y-3 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
            calc(var(--spacing) * 3) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
            calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse))
        );
    }
    :where(.space-y-4 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
            calc(var(--spacing) * 4) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
            calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))
        );
    }
    :where(.space-y-5 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
            calc(var(--spacing) * 5) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
            calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse))
        );
    }
    :where(.space-y-6 > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(
            calc(var(--spacing) * 6) * var(--tw-space-y-reverse)
        );
        margin-block-end: calc(
            calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))
        );
    }
    :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))
        );
    }
    :where(.divide-y > :not(:last-child)) {
        --tw-divide-y-reverse: 0;
        border-bottom-style: var(--tw-border-style);
        border-top-style: var(--tw-border-style);
        border-top-width: calc(1px * var(--tw-divide-y-reverse));
        border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    }
    :where(.divide-gray-100 > :not(:last-child)) {
        border-color: var(--color-gray-100);
    }
    .overflow-hidden {
        overflow: hidden;
    }
    .overflow-x-auto {
        overflow-x: auto;
    }
    .rounded {
        border-radius: 0.25rem;
    }
    .rounded-2xl {
        border-radius: var(--radius-2xl);
    }
    .rounded-3xl {
        border-radius: var(--radius-3xl);
    }
    .rounded-full {
        border-radius: 3.40282e38px;
    }
    .rounded-lg {
        border-radius: var(--radius-lg);
    }
    .rounded-md {
        border-radius: var(--radius-md);
    }
    .rounded-xl {
        border-radius: var(--radius-xl);
    }
    .border {
        border-style: var(--tw-border-style);
        border-width: 1px;
    }
    .border-2 {
        border-style: var(--tw-border-style);
        border-width: 2px;
    }
    .border-t {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px;
    }
    .border-b {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
    }
    .border-b-2 {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 2px;
    }
    .border-gray-200 {
        border-color: var(--color-gray-200);
    }
    .border-gray-300 {
        border-color: var(--color-gray-300);
    }
    .border-gray-600 {
        border-color: var(--color-gray-600);
    }
    .border-gray-700 {
        border-color: var(--color-gray-700);
    }
    .border-primary-200 {
        border-color: var(--color-primary-200);
    }
    .border-primary-500 {
        border-color: var(--color-primary-500);
    }
    .border-primary-600 {
        border-color: var(--color-primary-600);
    }
    .border-red-200 {
        border-color: var(--color-red-200);
    }
    .border-red-600 {
        border-color: var(--color-red-600);
    }
    .border-transparent {
        border-color: #0000;
    }
    .border-white\/30 {
        border-color: #ffffff4d;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .border-white\/30 {
            border-color: color-mix(
                in oklab,
                var(--color-white) 30%,
                transparent
            );
        }
    }
    .bg-accent-100 {
        background-color: var(--color-accent-100);
    }
    .bg-accent-400\/20 {
        background-color: #fd793333;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .bg-accent-400\/20 {
            background-color: color-mix(
                in oklab,
                var(--color-accent-400) 20%,
                transparent
            );
        }
    }
    .bg-accent-500 {
        background-color: var(--color-accent-500);
    }
    .bg-accent-500\/20 {
        background-color: #e65f2a33;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .bg-accent-500\/20 {
            background-color: color-mix(
                in oklab,
                var(--color-accent-500) 20%,
                transparent
            );
        }
    }
    .bg-amber-100 {
        background-color: var(--color-amber-100);
    }
    .bg-black\/40 {
        background-color: #0006;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .bg-black\/40 {
            background-color: color-mix(
                in oklab,
                var(--color-black) 40%,
                transparent
            );
        }
    }
    .bg-cyan-100 {
        background-color: var(--color-cyan-100);
    }
    .bg-emerald-100 {
        background-color: var(--color-emerald-100);
    }
    .bg-gray-50 {
        background-color: var(--color-gray-50);
    }
    .bg-gray-100 {
        background-color: var(--color-gray-100);
    }
    .bg-gray-100\/50 {
        background-color: #f5f1ee80;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .bg-gray-100\/50 {
            background-color: color-mix(
                in oklab,
                var(--color-gray-100) 50%,
                transparent
            );
        }
    }
    .bg-gray-200 {
        background-color: var(--color-gray-200);
    }
    .bg-gray-300 {
        background-color: var(--color-gray-300);
    }
    .bg-gray-800 {
        background-color: var(--color-gray-800);
    }
    .bg-gray-900 {
        background-color: var(--color-gray-900);
    }
    .bg-gray-950\/60 {
        background-color: #0a090899;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .bg-gray-950\/60 {
            background-color: color-mix(
                in oklab,
                var(--color-gray-950) 60%,
                transparent
            );
        }
    }
    .bg-pink-100 {
        background-color: var(--color-pink-100);
    }
    .bg-primary-50 {
        background-color: var(--color-primary-50);
    }
    .bg-primary-100 {
        background-color: var(--color-primary-100);
    }
    .bg-primary-400 {
        background-color: var(--color-primary-400);
    }
    .bg-primary-400\/20 {
        background-color: #00a79233;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .bg-primary-400\/20 {
            background-color: color-mix(
                in oklab,
                var(--color-primary-400) 20%,
                transparent
            );
        }
    }
    .bg-primary-500 {
        background-color: var(--color-primary-500);
    }
    .bg-primary-600 {
        background-color: var(--color-primary-600);
    }
    .bg-red-50 {
        background-color: var(--color-red-50);
    }
    .bg-red-100 {
        background-color: var(--color-red-100);
    }
    .bg-red-500 {
        background-color: var(--color-red-500);
    }
    .bg-violet-100 {
        background-color: var(--color-violet-100);
    }
    .bg-white {
        background-color: var(--color-white);
    }
    .bg-white\/10 {
        background-color: #ffffff1a;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .bg-white\/10 {
            background-color: color-mix(
                in oklab,
                var(--color-white) 10%,
                transparent
            );
        }
    }
    .bg-white\/20 {
        background-color: #fff3;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .bg-white\/20 {
            background-color: color-mix(
                in oklab,
                var(--color-white) 20%,
                transparent
            );
        }
    }
    .bg-white\/80 {
        background-color: #fffc;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .bg-white\/80 {
            background-color: color-mix(
                in oklab,
                var(--color-white) 80%,
                transparent
            );
        }
    }
    .bg-white\/90 {
        background-color: #ffffffe6;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .bg-white\/90 {
            background-color: color-mix(
                in oklab,
                var(--color-white) 90%,
                transparent
            );
        }
    }
    .bg-white\/95 {
        background-color: #fffffff2;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .bg-white\/95 {
            background-color: color-mix(
                in oklab,
                var(--color-white) 95%,
                transparent
            );
        }
    }
    .bg-gradient-to-b {
        --tw-gradient-position: to bottom in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops));
    }
    .bg-gradient-to-br {
        --tw-gradient-position: to bottom right in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops));
    }
    .bg-gradient-to-r {
        --tw-gradient-position: to right in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops));
    }
    .from-accent-500 {
        --tw-gradient-from: var(--color-accent-500);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .from-amber-500 {
        --tw-gradient-from: var(--color-amber-500);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .from-cyan-500 {
        --tw-gradient-from: var(--color-cyan-500);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .from-emerald-500 {
        --tw-gradient-from: var(--color-emerald-500);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .from-gray-100 {
        --tw-gradient-from: var(--color-gray-100);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .from-pink-500 {
        --tw-gradient-from: var(--color-pink-500);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .from-primary-500 {
        --tw-gradient-from: var(--color-primary-500);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .from-primary-500\/10 {
        --tw-gradient-from: #0085741a;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .from-primary-500\/10 {
            --tw-gradient-from: color-mix(
                in oklab,
                var(--color-primary-500) 10%,
                transparent
            );
        }
    }
    .from-primary-500\/10 {
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .from-primary-600 {
        --tw-gradient-from: var(--color-primary-600);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .from-red-500 {
        --tw-gradient-from: var(--color-red-500);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .from-violet-500 {
        --tw-gradient-from: var(--color-violet-500);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-accent-400 {
        --tw-gradient-to: var(--color-accent-400);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-accent-500 {
        --tw-gradient-to: var(--color-accent-500);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-accent-500\/10 {
        --tw-gradient-to: #e65f2a1a;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .to-accent-500\/10 {
            --tw-gradient-to: color-mix(
                in oklab,
                var(--color-accent-500) 10%,
                transparent
            );
        }
    }
    .to-accent-500\/10 {
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-accent-600 {
        --tw-gradient-to: var(--color-accent-600);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-amber-600 {
        --tw-gradient-to: var(--color-amber-600);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-cyan-600 {
        --tw-gradient-to: var(--color-cyan-600);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-emerald-600 {
        --tw-gradient-to: var(--color-emerald-600);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-pink-600 {
        --tw-gradient-to: var(--color-pink-600);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-primary-500 {
        --tw-gradient-to: var(--color-primary-500);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-primary-600 {
        --tw-gradient-to: var(--color-primary-600);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-red-600 {
        --tw-gradient-to: var(--color-red-600);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-violet-600 {
        --tw-gradient-to: var(--color-violet-600);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .to-white {
        --tw-gradient-to: var(--color-white);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .object-cover {
        object-fit: cover;
    }
    .p-1 {
        padding: calc(var(--spacing) * 1);
    }
    .p-2 {
        padding: calc(var(--spacing) * 2);
    }
    .p-2\.5 {
        padding: calc(var(--spacing) * 2.5);
    }
    .p-4 {
        padding: calc(var(--spacing) * 4);
    }
    .p-5 {
        padding: calc(var(--spacing) * 5);
    }
    .p-6 {
        padding: calc(var(--spacing) * 6);
    }
    .p-8 {
        padding: calc(var(--spacing) * 8);
    }
    .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-5 {
        padding-inline: calc(var(--spacing) * 5);
    }
    .px-6 {
        padding-inline: calc(var(--spacing) * 6);
    }
    .px-8 {
        padding-inline: calc(var(--spacing) * 8);
    }
    .py-0\.5 {
        padding-block: calc(var(--spacing) * 0.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-2\.5 {
        padding-block: calc(var(--spacing) * 2.5);
    }
    .py-3 {
        padding-block: calc(var(--spacing) * 3);
    }
    .py-4 {
        padding-block: calc(var(--spacing) * 4);
    }
    .py-6 {
        padding-block: calc(var(--spacing) * 6);
    }
    .py-12 {
        padding-block: calc(var(--spacing) * 12);
    }
    .py-16 {
        padding-block: calc(var(--spacing) * 16);
    }
    .py-20 {
        padding-block: calc(var(--spacing) * 20);
    }
    .pt-4 {
        padding-top: calc(var(--spacing) * 4);
    }
    .pt-6 {
        padding-top: calc(var(--spacing) * 6);
    }
    .pr-4 {
        padding-right: calc(var(--spacing) * 4);
    }
    .pr-12 {
        padding-right: calc(var(--spacing) * 12);
    }
    .pb-3 {
        padding-bottom: calc(var(--spacing) * 3);
    }
    .pb-4 {
        padding-bottom: calc(var(--spacing) * 4);
    }
    .pb-6 {
        padding-bottom: calc(var(--spacing) * 6);
    }
    .pl-12 {
        padding-left: calc(var(--spacing) * 12);
    }
    .text-center {
        text-align: center;
    }
    .text-left {
        text-align: left;
    }
    .font-display {
        font-family: var(--font-display);
    }
    .text-2xl {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
    .text-3xl {
        font-size: var(--text-3xl);
        line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
    .text-4xl {
        font-size: var(--text-4xl);
        line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
    .text-5xl {
        font-size: var(--text-5xl);
        line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
    .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-xl {
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
    }
    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height));
    }
    .font-bold {
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
    }
    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
    }
    .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-wide {
        --tw-tracking: var(--tracking-wide);
        letter-spacing: var(--tracking-wide);
    }
    .tracking-wider {
        --tw-tracking: var(--tracking-wider);
        letter-spacing: var(--tracking-wider);
    }
    .text-accent-400 {
        color: var(--color-accent-400);
    }
    .text-accent-500 {
        color: var(--color-accent-500);
    }
    .text-accent-600 {
        color: var(--color-accent-600);
    }
    .text-accent-700 {
        color: var(--color-accent-700);
    }
    .text-amber-600 {
        color: var(--color-amber-600);
    }
    .text-cyan-600 {
        color: var(--color-cyan-600);
    }
    .text-emerald-600 {
        color: var(--color-emerald-600);
    }
    .text-gray-300 {
        color: var(--color-gray-300);
    }
    .text-gray-400 {
        color: var(--color-gray-400);
    }
    .text-gray-500 {
        color: var(--color-gray-500);
    }
    .text-gray-600 {
        color: var(--color-gray-600);
    }
    .text-gray-700 {
        color: var(--color-gray-700);
    }
    .text-gray-900 {
        color: var(--color-gray-900);
    }
    .text-pink-600 {
        color: var(--color-pink-600);
    }
    .text-primary-400 {
        color: var(--color-primary-400);
    }
    .text-primary-500 {
        color: var(--color-primary-500);
    }
    .text-primary-600 {
        color: var(--color-primary-600);
    }
    .text-primary-700 {
        color: var(--color-primary-700);
    }
    .text-red-600 {
        color: var(--color-red-600);
    }
    .text-red-700 {
        color: var(--color-red-700);
    }
    .text-violet-600 {
        color: var(--color-violet-600);
    }
    .text-white {
        color: var(--color-white);
    }
    .text-white\/10 {
        color: #ffffff1a;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .text-white\/10 {
            color: color-mix(in oklab, var(--color-white) 10%, transparent);
        }
    }
    .text-white\/70 {
        color: #ffffffb3;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .text-white\/70 {
            color: color-mix(in oklab, var(--color-white) 70%, transparent);
        }
    }
    .text-white\/80 {
        color: #fffc;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .text-white\/80 {
            color: color-mix(in oklab, var(--color-white) 80%, transparent);
        }
    }
    .uppercase {
        text-transform: uppercase;
    }
    .line-through {
        text-decoration-line: line-through;
    }
    .antialiased {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
    .opacity-10 {
        opacity: 0.1;
    }
    .opacity-50 {
        opacity: 0.5;
    }
    .opacity-75 {
        opacity: 0.75;
    }
    .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-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-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);
    }
    .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-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-4 {
        --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);
    }
    .shadow-primary-500\/25 {
        --tw-shadow-color: #00857440;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .shadow-primary-500\/25 {
            --tw-shadow-color: color-mix(
                in oklab,
                color-mix(in oklab, var(--color-primary-500) 25%, transparent)
                    var(--tw-shadow-alpha),
                transparent
            );
        }
    }
    .shadow-primary-500\/30 {
        --tw-shadow-color: #0085744d;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .shadow-primary-500\/30 {
            --tw-shadow-color: color-mix(
                in oklab,
                color-mix(in oklab, var(--color-primary-500) 30%, transparent)
                    var(--tw-shadow-alpha),
                transparent
            );
        }
    }
    .ring-white {
        --tw-ring-color: var(--color-white);
    }
    .ring-white\/20 {
        --tw-ring-color: #fff3;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .ring-white\/20 {
            --tw-ring-color: color-mix(
                in oklab,
                var(--color-white) 20%,
                transparent
            );
        }
    }
    .blur-3xl {
        --tw-blur: blur(var(--blur-3xl));
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
            var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
            var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }
    .filter {
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
            var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
            var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }
    .backdrop-blur {
        --tw-backdrop-blur: blur(8px);
        -webkit-backdrop-filter: var(--tw-backdrop-blur,)
            var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
            var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
            var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
            var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
        backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
            var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
            var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
            var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
            var(--tw-backdrop-sepia,);
    }
    .backdrop-blur-lg {
        --tw-backdrop-blur: blur(var(--blur-lg));
        -webkit-backdrop-filter: var(--tw-backdrop-blur,)
            var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
            var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
            var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
            var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
        backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
            var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
            var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
            var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
            var(--tw-backdrop-sepia,);
    }
    .backdrop-blur-sm {
        --tw-backdrop-blur: blur(var(--blur-sm));
        -webkit-backdrop-filter: var(--tw-backdrop-blur,)
            var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
            var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
            var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
            var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
        backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
            var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
            var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
            var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
            var(--tw-backdrop-sepia,);
    }
    .transition {
        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-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-transform {
        transition-property: transform, translate, scale, rotate;
        transition-timing-function: var(
            --tw-ease,
            var(--default-transition-timing-function)
        );
        transition-duration: var(
            --tw-duration,
            var(--default-transition-duration)
        );
    }
    .duration-200 {
        --tw-duration: 0.2s;
        transition-duration: 0.2s;
    }
    .duration-300 {
        --tw-duration: 0.3s;
        transition-duration: 0.3s;
    }
    .ease-in-out {
        --tw-ease: var(--ease-in-out);
        transition-timing-function: var(--ease-in-out);
    }
    .ease-out {
        --tw-ease: var(--ease-out);
        transition-timing-function: var(--ease-out);
    }
    @media (hover: hover) {
        .group-hover\:translate-x-1:is(:where(.group):hover *) {
            --tw-translate-x: calc(var(--spacing) * 1);
            translate: var(--tw-translate-x) var(--tw-translate-y);
        }
        .group-hover\:scale-105:is(:where(.group):hover *) {
            --tw-scale-x: 105%;
            --tw-scale-y: 105%;
            --tw-scale-z: 105%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
        }
        .group-hover\:scale-150:is(:where(.group):hover *) {
            --tw-scale-x: 150%;
            --tw-scale-y: 150%;
            --tw-scale-z: 150%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
        }
        .group-hover\:text-primary-500:is(:where(.group):hover *) {
            color: var(--color-primary-500);
        }
        .group-hover\:text-primary-600:is(:where(.group):hover *) {
            color: var(--color-primary-600);
        }
    }
    .placeholder\:text-gray-400::placeholder {
        color: var(--color-gray-400);
    }
    @media (hover: hover) {
        .hover\:scale-110:hover {
            --tw-scale-x: 110%;
            --tw-scale-y: 110%;
            --tw-scale-z: 110%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
        }
        .hover\:border-gray-300:hover {
            border-color: var(--color-gray-300);
        }
        .hover\:border-gray-500:hover {
            border-color: var(--color-gray-500);
        }
        .hover\:border-primary-500:hover {
            border-color: var(--color-primary-500);
        }
        .hover\:border-white:hover {
            border-color: var(--color-white);
        }
        .hover\:bg-gray-50:hover {
            background-color: var(--color-gray-50);
        }
        .hover\:bg-gray-100:hover {
            background-color: var(--color-gray-100);
        }
        .hover\:bg-gray-700:hover {
            background-color: var(--color-gray-700);
        }
        .hover\:bg-primary-700:hover {
            background-color: var(--color-primary-700);
        }
        .hover\:bg-red-600:hover {
            background-color: var(--color-red-600);
        }
        .hover\:bg-white\/10:hover {
            background-color: #ffffff1a;
        }
        @supports (color: color-mix(in lab, red, red)) {
            .hover\:bg-white\/10:hover {
                background-color: color-mix(
                    in oklab,
                    var(--color-white) 10%,
                    transparent
                );
            }
        }
        .hover\:from-primary-700:hover {
            --tw-gradient-from: var(--color-primary-700);
            --tw-gradient-stops: var(
                --tw-gradient-via-stops,
                var(--tw-gradient-position),
                var(--tw-gradient-from) var(--tw-gradient-from-position),
                var(--tw-gradient-to) var(--tw-gradient-to-position)
            );
        }
        .hover\:to-primary-600:hover {
            --tw-gradient-to: var(--color-primary-600);
            --tw-gradient-stops: var(
                --tw-gradient-via-stops,
                var(--tw-gradient-position),
                var(--tw-gradient-from) var(--tw-gradient-from-position),
                var(--tw-gradient-to) var(--tw-gradient-to-position)
            );
        }
        .hover\:text-gray-600:hover {
            color: var(--color-gray-600);
        }
        .hover\:text-gray-700:hover {
            color: var(--color-gray-700);
        }
        .hover\:text-gray-900:hover {
            color: var(--color-gray-900);
        }
        .hover\:text-primary-400:hover {
            color: var(--color-primary-400);
        }
        .hover\:text-primary-600:hover {
            color: var(--color-primary-600);
        }
        .hover\:text-primary-700:hover {
            color: var(--color-primary-700);
        }
        .hover\:text-white:hover {
            color: var(--color-white);
        }
        .hover\:shadow-xl:hover {
            --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);
        }
    }
    .focus\:border-primary-500:focus {
        border-color: var(--color-primary-500);
    }
    .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-primary-500:focus {
        --tw-ring-color: var(--color-primary-500);
    }
    .focus\:ring-primary-500\/20:focus {
        --tw-ring-color: #00857433;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .focus\:ring-primary-500\/20:focus {
            --tw-ring-color: color-mix(
                in oklab,
                var(--color-primary-500) 20%,
                transparent
            );
        }
    }
    .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-none:focus {
        --tw-outline-style: none;
        outline-style: none;
    }
    @media (min-width: 40rem) {
        .sm\:block {
            display: block;
        }
        .sm\:grid-cols-2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .sm\:flex-row {
            flex-direction: row;
        }
        .sm\:items-center {
            align-items: center;
        }
        .sm\:justify-between {
            justify-content: space-between;
        }
        .sm\:px-6 {
            padding-inline: calc(var(--spacing) * 6);
        }
        .sm\:text-5xl {
            font-size: var(--text-5xl);
            line-height: var(--tw-leading, var(--text-5xl--line-height));
        }
    }
    @media (min-width: 48rem) {
        .md\:col-span-2 {
            grid-column: span 2 / span 2;
        }
        .md\:columns-2 {
            columns: 2;
        }
        .md\:grid-cols-2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .md\:flex-row {
            flex-direction: row;
        }
    }
    @media (min-width: 64rem) {
        .lg\:relative {
            position: relative;
        }
        .lg\:sticky {
            position: sticky;
        }
        .lg\:top-24 {
            top: calc(var(--spacing) * 24);
        }
        .lg\:col-span-1 {
            grid-column: span 1 / span 1;
        }
        .lg\:col-span-2 {
            grid-column: span 2 / span 2;
        }
        .lg\:mx-0 {
            margin-inline: calc(var(--spacing) * 0);
        }
        .lg\:block {
            display: block;
        }
        .lg\:flex {
            display: flex;
        }
        .lg\:hidden {
            display: none;
        }
        .lg\:h-48 {
            height: calc(var(--spacing) * 48);
        }
        .lg\:w-48 {
            width: calc(var(--spacing) * 48);
        }
        .lg\:columns-3 {
            columns: 3;
        }
        .lg\:grid-cols-2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        .lg\:grid-cols-3 {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
        .lg\:grid-cols-4 {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }
        .lg\:grid-cols-6 {
            grid-template-columns: repeat(6, minmax(0, 1fr));
        }
        .lg\:flex-row {
            flex-direction: row;
        }
        .lg\:items-start {
            align-items: flex-start;
        }
        .lg\:justify-start {
            justify-content: flex-start;
        }
        .lg\:gap-12 {
            gap: calc(var(--spacing) * 12);
        }
        .lg\:gap-16 {
            gap: calc(var(--spacing) * 16);
        }
        .lg\:gap-20 {
            gap: calc(var(--spacing) * 20);
        }
        .lg\:p-12 {
            padding: calc(var(--spacing) * 12);
        }
        .lg\:p-16 {
            padding: calc(var(--spacing) * 16);
        }
        .lg\:px-8 {
            padding-inline: calc(var(--spacing) * 8);
        }
        .lg\:px-16 {
            padding-inline: calc(var(--spacing) * 16);
        }
        .lg\:py-20 {
            padding-block: calc(var(--spacing) * 20);
        }
        .lg\:py-24 {
            padding-block: calc(var(--spacing) * 24);
        }
        .lg\:py-28 {
            padding-block: calc(var(--spacing) * 28);
        }
        .lg\:text-left {
            text-align: left;
        }
        .lg\:text-4xl {
            font-size: var(--text-4xl);
            line-height: var(--tw-leading, var(--text-4xl--line-height));
        }
        .lg\:text-5xl {
            font-size: var(--text-5xl);
            line-height: var(--tw-leading, var(--text-5xl--line-height));
        }
        .lg\:text-6xl {
            font-size: var(--text-6xl);
            line-height: var(--tw-leading, var(--text-6xl--line-height));
        }
    }
    @media (min-width: 80rem) {
        .xl\:grid-cols-4 {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }
        .xl\:grid-cols-5 {
            grid-template-columns: repeat(5, minmax(0, 1fr));
        }
    }
    .dark\:block:where(.dark, .dark *) {
        display: block;
    }
    .dark\:hidden:where(.dark, .dark *) {
        display: none;
    }
    :where(.dark\:divide-gray-800:where(.dark, .dark *) > :not(:last-child)) {
        border-color: var(--color-gray-800);
    }
    .dark\:border-gray-700:where(.dark, .dark *) {
        border-color: var(--color-gray-700);
    }
    .dark\:border-gray-800:where(.dark, .dark *) {
        border-color: var(--color-gray-800);
    }
    .dark\:border-primary-400:where(.dark, .dark *) {
        border-color: var(--color-primary-400);
    }
    .dark\:border-primary-800:where(.dark, .dark *) {
        border-color: var(--color-primary-800);
    }
    .dark\:border-red-500:where(.dark, .dark *) {
        border-color: var(--color-red-500);
    }
    .dark\:border-red-900\/50:where(.dark, .dark *) {
        border-color: #82181a80;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:border-red-900\/50:where(.dark, .dark *) {
            border-color: color-mix(
                in oklab,
                var(--color-red-900) 50%,
                transparent
            );
        }
    }
    .dark\:bg-accent-900\/30:where(.dark, .dark *) {
        background-color: #5d281f4d;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-accent-900\/30:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-accent-900) 30%,
                transparent
            );
        }
    }
    .dark\:bg-amber-900\/30:where(.dark, .dark *) {
        background-color: #7b33064d;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-amber-900\/30:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-amber-900) 30%,
                transparent
            );
        }
    }
    .dark\:bg-cyan-900\/30:where(.dark, .dark *) {
        background-color: #104e644d;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-cyan-900\/30:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-cyan-900) 30%,
                transparent
            );
        }
    }
    .dark\:bg-emerald-900\/30:where(.dark, .dark *) {
        background-color: #004e3b4d;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-emerald-900\/30:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-emerald-900) 30%,
                transparent
            );
        }
    }
    .dark\:bg-gray-700:where(.dark, .dark *) {
        background-color: var(--color-gray-700);
    }
    .dark\:bg-gray-800:where(.dark, .dark *) {
        background-color: var(--color-gray-800);
    }
    .dark\:bg-gray-800\/80:where(.dark, .dark *) {
        background-color: #292624cc;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-gray-800\/80:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-gray-800) 80%,
                transparent
            );
        }
    }
    .dark\:bg-gray-900:where(.dark, .dark *) {
        background-color: var(--color-gray-900);
    }
    .dark\:bg-gray-900\/50:where(.dark, .dark *) {
        background-color: #17161480;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-gray-900\/50:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-gray-900) 50%,
                transparent
            );
        }
    }
    .dark\:bg-gray-900\/90:where(.dark, .dark *) {
        background-color: #171614e6;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-gray-900\/90:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-gray-900) 90%,
                transparent
            );
        }
    }
    .dark\:bg-gray-950:where(.dark, .dark *) {
        background-color: var(--color-gray-950);
    }
    .dark\:bg-gray-950\/95:where(.dark, .dark *) {
        background-color: #0a0908f2;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-gray-950\/95:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-gray-950) 95%,
                transparent
            );
        }
    }
    .dark\:bg-pink-900\/30:where(.dark, .dark *) {
        background-color: #8610434d;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-pink-900\/30:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-pink-900) 30%,
                transparent
            );
        }
    }
    .dark\:bg-primary-900\/20:where(.dark, .dark *) {
        background-color: #00372f33;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-primary-900\/20:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-primary-900) 20%,
                transparent
            );
        }
    }
    .dark\:bg-primary-900\/30:where(.dark, .dark *) {
        background-color: #00372f4d;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-primary-900\/30:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-primary-900) 30%,
                transparent
            );
        }
    }
    .dark\:bg-red-900\/20:where(.dark, .dark *) {
        background-color: #82181a33;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-red-900\/20:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-red-900) 20%,
                transparent
            );
        }
    }
    .dark\:bg-red-900\/30:where(.dark, .dark *) {
        background-color: #82181a4d;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-red-900\/30:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-red-900) 30%,
                transparent
            );
        }
    }
    .dark\:bg-violet-900\/30:where(.dark, .dark *) {
        background-color: #4d179a4d;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:bg-violet-900\/30:where(.dark, .dark *) {
            background-color: color-mix(
                in oklab,
                var(--color-violet-900) 30%,
                transparent
            );
        }
    }
    .dark\:from-gray-900:where(.dark, .dark *) {
        --tw-gradient-from: var(--color-gray-900);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .dark\:from-primary-500\/20:where(.dark, .dark *) {
        --tw-gradient-from: #00857433;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:from-primary-500\/20:where(.dark, .dark *) {
            --tw-gradient-from: color-mix(
                in oklab,
                var(--color-primary-500) 20%,
                transparent
            );
        }
    }
    .dark\:from-primary-500\/20:where(.dark, .dark *) {
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .dark\:to-accent-500\/20:where(.dark, .dark *) {
        --tw-gradient-to: #e65f2a33;
    }
    @supports (color: color-mix(in lab, red, red)) {
        .dark\:to-accent-500\/20:where(.dark, .dark *) {
            --tw-gradient-to: color-mix(
                in oklab,
                var(--color-accent-500) 20%,
                transparent
            );
        }
    }
    .dark\:to-accent-500\/20:where(.dark, .dark *) {
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .dark\:to-gray-950:where(.dark, .dark *) {
        --tw-gradient-to: var(--color-gray-950);
        --tw-gradient-stops: var(
            --tw-gradient-via-stops,
            var(--tw-gradient-position),
            var(--tw-gradient-from) var(--tw-gradient-from-position),
            var(--tw-gradient-to) var(--tw-gradient-to-position)
        );
    }
    .dark\:text-accent-400:where(.dark, .dark *) {
        color: var(--color-accent-400);
    }
    .dark\:text-amber-400:where(.dark, .dark *) {
        color: var(--color-amber-400);
    }
    .dark\:text-cyan-400:where(.dark, .dark *) {
        color: var(--color-cyan-400);
    }
    .dark\:text-emerald-400:where(.dark, .dark *) {
        color: var(--color-emerald-400);
    }
    .dark\:text-gray-100:where(.dark, .dark *) {
        color: var(--color-gray-100);
    }
    .dark\:text-gray-300:where(.dark, .dark *) {
        color: var(--color-gray-300);
    }
    .dark\:text-gray-400:where(.dark, .dark *) {
        color: var(--color-gray-400);
    }
    .dark\:text-gray-500:where(.dark, .dark *) {
        color: var(--color-gray-500);
    }
    .dark\:text-gray-600:where(.dark, .dark *) {
        color: var(--color-gray-600);
    }
    .dark\:text-pink-400:where(.dark, .dark *) {
        color: var(--color-pink-400);
    }
    .dark\:text-primary-300:where(.dark, .dark *) {
        color: var(--color-primary-300);
    }
    .dark\:text-primary-400:where(.dark, .dark *) {
        color: var(--color-primary-400);
    }
    .dark\:text-primary-500:where(.dark, .dark *) {
        color: var(--color-primary-500);
    }
    .dark\:text-red-400:where(.dark, .dark *) {
        color: var(--color-red-400);
    }
    .dark\:text-violet-400:where(.dark, .dark *) {
        color: var(--color-violet-400);
    }
    .dark\:text-white:where(.dark, .dark *) {
        color: var(--color-white);
    }
    .dark\:ring-gray-800:where(.dark, .dark *) {
        --tw-ring-color: var(--color-gray-800);
    }
    .dark\:ring-gray-900:where(.dark, .dark *) {
        --tw-ring-color: var(--color-gray-900);
    }
    @media (hover: hover) {
        .dark\:group-hover\:text-primary-400:where(.dark, .dark *):is(
                :where(.group):hover *
            ) {
            color: var(--color-primary-400);
        }
        .dark\:hover\:border-gray-600:where(.dark, .dark *):hover {
            border-color: var(--color-gray-600);
        }
        .dark\:hover\:border-primary-500:where(.dark, .dark *):hover {
            border-color: var(--color-primary-500);
        }
        .dark\:hover\:bg-gray-700:where(.dark, .dark *):hover {
            background-color: var(--color-gray-700);
        }
        .dark\:hover\:bg-gray-800:where(.dark, .dark *):hover {
            background-color: var(--color-gray-800);
        }
        .dark\:hover\:bg-red-500:where(.dark, .dark *):hover {
            background-color: var(--color-red-500);
        }
        .dark\:hover\:text-gray-300:where(.dark, .dark *):hover {
            color: var(--color-gray-300);
        }
        .dark\:hover\:text-primary-300:where(.dark, .dark *):hover {
            color: var(--color-primary-300);
        }
        .dark\:hover\:text-primary-400:where(.dark, .dark *):hover {
            color: var(--color-primary-400);
        }
        .dark\:hover\:text-white:where(.dark, .dark *):hover {
            color: var(--color-white);
        }
    }
}

/* Gallery component: responsive grid and lightbox */
.public-gallery-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}
@media(min-width:768px){
    .public-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(min-width:1024px){
    .public-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
.public-gallery-card{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:0.5rem;
    padding:0;
    background:#000;
}
.public-gallery-card img{
    width:100%;
    height:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    display:block;
}
.public-gallery-card__shade{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,0.36));
    opacity:0;
    transition:opacity .15s ease-in-out;
}
.public-gallery-card:hover .public-gallery-card__shade{opacity:1}
.public-gallery-card__label{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:.5rem .75rem;
    color:#fff;
    font-size:0.875rem;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:.5rem;
    background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.28) 100%);
}

/* Lightbox */
.gallery-lightbox{
    display:none;
    position:fixed;
    inset:0;
    z-index:9999;
    align-items:center;
    justify-content:center;
}
.gallery-lightbox.is-open{display:flex}
.gallery-lock{overflow:hidden}
.gallery-lightbox__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.75)}
.gallery-lightbox__panel{
    position:relative;
    z-index:2;
    max-width:90vw;
    max-height:90vh;
    display:flex;
    align-items:center;
    gap:1rem;
}
.gallery-lightbox__panel img[data-gallery-lightbox-image]{
    max-width:80vw;
    max-height:80vh;
    width:auto;
    height:auto;
    object-fit:contain;
    display:block;
}
.gallery-lightbox__close,
.gallery-lightbox__nav{
    background:none;
    border:0;
    color:#fff;
    cursor:pointer;
    padding:.5rem;
}
.gallery-lightbox__nav{display:flex;align-items:center;justify-content:center}
.gallery-lightbox__nav--prev{order:0}
.gallery-lightbox__nav--next{order:2}
.gallery-lightbox__meta{color:#fff;display:flex;flex-direction:column;gap:.25rem}
/* Position nav buttons fixed to viewport for symmetric placement */
.gallery-lightbox__nav{
    position:fixed;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    border-radius:9999px;
    background:rgba(0,0,0,0.45);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:10001;
}
.gallery-lightbox__nav--prev{left:1.25rem}
.gallery-lightbox__nav--next{right:1.25rem}
.gallery-lightbox__close{
    position:fixed;
    top:1rem;
    right:1rem;
    width:40px;
    height:40px;
    border-radius:8px;
    background:rgba(0,0,0,0.45);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:10002;
}

/* Ensure lightbox icons (arrows and close) render white */
.gallery-lightbox__close svg,
.gallery-lightbox__nav svg {
    width:20px;
    height:20px;
    fill:#fff;
    stroke:#fff;
    color:#fff;
}
.gallery-lightbox__close svg path,
.gallery-lightbox__nav svg path {
    fill:#fff;
    stroke:#fff;
}
html {
    scroll-behavior: smooth;
}
body {
    font-family: var(--font-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
h1,
h2,
h3,
.font-display {
    font-family: var(--font-display);
}
:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px;
}
::selection {
    background-color: var(--color-primary-200);
    color: var(--color-primary-900);
}
.dark ::selection {
    background-color: var(--color-primary-800);
    color: var(--color-primary-100);
}
* {
    transition-property: background-color, border-color;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}
.gradient-text {
    background: linear-gradient(
        135deg,
        var(--color-primary-500),
        var(--color-accent-500)
    );
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}
.card-hover {
    transition:
        transform 0.3s,
        box-shadow 0.3s;
}
.card-hover:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px -12px #00000026;
}
.dark .card-hover:hover {
    box-shadow: 0 20px 40px -12px #0006;
}
.btn-glow {
    position: relative;
}
.btn-glow:before {
    content: "";
    background: linear-gradient(
        135deg,
        var(--color-primary-500),
        var(--color-accent-500)
    );
    border-radius: inherit;
    opacity: 0;
    z-index: -1;
    filter: blur(12px);
    transition: opacity 0.3s;
    position: absolute;
    inset: -2px;
}
.btn-glow:hover:before {
    opacity: 0.6;
}
.gradient-bg {
    background: linear-gradient(
        135deg,
        var(--color-primary-600) 0%,
        var(--color-primary-500) 25%,
        var(--color-accent-500) 75%,
        var(--color-accent-600) 100%
    );
    background-size: 300% 300%;
    animation: 8s infinite gradient-shift;
}
@keyframes gradient-shift {
    0%,
    to {
        background-position: 0%;
    }
    50% {
        background-position: 100%;
    }
}
.pattern-bg {
    background-image: radial-gradient(
        var(--color-gray-200) 1px,
        transparent 1px
    );
    background-size: 24px 24px;
}
.dark .pattern-bg {
    background-image: radial-gradient(
        var(--color-gray-800) 1px,
        transparent 1px
    );
}
.blob {
    border-radius: 60% 40% 30% 70%/60% 30% 70% 40%;
    animation: 8s ease-in-out infinite blob-morph;
}
@keyframes blob-morph {
    0%,
    to {
        border-radius: 60% 40% 30% 70%/60% 30% 70% 40%;
    }
    50% {
        border-radius: 30% 60% 70% 40%/50% 60% 30%;
    }
}
.line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
}
.line-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
}
.star-filled {
    fill: var(--color-accent-400);
    color: var(--color-accent-400);
}
.star-empty {
    fill: var(--color-gray-300);
    color: var(--color-gray-300);
}
.dark .star-empty {
    fill: var(--color-gray-600);
    color: var(--color-gray-600);
}
.tab-active {
    color: var(--color-primary-600);
    border-color: var(--color-primary-600);
}
.dark .tab-active {
    color: var(--color-primary-400);
    border-color: var(--color-primary-400);
}
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-track {
    background: var(--color-gray-100);
}
.dark ::-webkit-scrollbar-track {
    background: var(--color-gray-900);
}
::-webkit-scrollbar-thumb {
    background: var(--color-gray-300);
    border-radius: 5px;
}
.dark ::-webkit-scrollbar-thumb {
    background: var(--color-gray-700);
}
::-webkit-scrollbar-thumb:hover {
    background: var(--color-gray-400);
}
.dark ::-webkit-scrollbar-thumb:hover {
    background: var(--color-gray-600);
}
.badge-primary {
    background-color: var(--color-primary-100);
    color: var(--color-primary-700);
}
.dark .badge-primary {
    background-color: var(--color-primary-900);
    color: var(--color-primary-300);
}
.badge-accent {
    background-color: var(--color-accent-100);
    color: var(--color-accent-700);
}
.dark .badge-accent {
    background-color: var(--color-accent-900);
    color: var(--color-accent-300);
}
@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-space-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}
@property --tw-space-x-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}
@property --tw-divide-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0;
}
@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid;
}
@property --tw-gradient-position {
    syntax: "*";
    inherits: false;
}
@property --tw-gradient-from {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000;
}
@property --tw-gradient-via {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000;
}
@property --tw-gradient-to {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000;
}
@property --tw-gradient-stops {
    syntax: "*";
    inherits: false;
}
@property --tw-gradient-via-stops {
    syntax: "*";
    inherits: false;
}
@property --tw-gradient-from-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0%;
}
@property --tw-gradient-via-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 50%;
}
@property --tw-gradient-to-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 100%;
}
@property --tw-font-weight {
    syntax: "*";
    inherits: false;
}
@property --tw-tracking {
    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-blur {
    syntax: "*";
    inherits: false;
}
@property --tw-brightness {
    syntax: "*";
    inherits: false;
}
@property --tw-contrast {
    syntax: "*";
    inherits: false;
}
@property --tw-grayscale {
    syntax: "*";
    inherits: false;
}
@property --tw-hue-rotate {
    syntax: "*";
    inherits: false;
}
@property --tw-invert {
    syntax: "*";
    inherits: false;
}
@property --tw-opacity {
    syntax: "*";
    inherits: false;
}
@property --tw-saturate {
    syntax: "*";
    inherits: false;
}
@property --tw-sepia {
    syntax: "*";
    inherits: false;
}
@property --tw-drop-shadow {
    syntax: "*";
    inherits: false;
}
@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false;
}
@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%;
}
@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false;
}
@property --tw-backdrop-blur {
    syntax: "*";
    inherits: false;
}
@property --tw-backdrop-brightness {
    syntax: "*";
    inherits: false;
}
@property --tw-backdrop-contrast {
    syntax: "*";
    inherits: false;
}
@property --tw-backdrop-grayscale {
    syntax: "*";
    inherits: false;
}
@property --tw-backdrop-hue-rotate {
    syntax: "*";
    inherits: false;
}
@property --tw-backdrop-invert {
    syntax: "*";
    inherits: false;
}
@property --tw-backdrop-opacity {
    syntax: "*";
    inherits: false;
}
@property --tw-backdrop-saturate {
    syntax: "*";
    inherits: false;
}
@property --tw-backdrop-sepia {
    syntax: "*";
    inherits: false;
}
@property --tw-duration {
    syntax: "*";
    inherits: false;
}
@property --tw-ease {
    syntax: "*";
    inherits: false;
}
@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 ping {
    75%,
    to {
        opacity: 0;
        transform: scale(2);
    }
}
