/*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
        *, :before, :after, ::backdrop {
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1;
            --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-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-leading: initial;
            --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
        }
    }
}

@layer theme {
    :root, :host {
        --font-sans: ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
        --font-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
        --color-red-500: oklch(63.7% .237 25.331);
        --color-yellow-500: oklch(79.5% .184 86.047);
        --color-green-500: oklch(72.3% .219 149.579);
        --color-blue-300: oklch(80.9% .105 251.813);
        --color-gray-50: oklch(98.5% .002 247.839);
        --color-gray-100: oklch(96.7% .003 264.542);
        --color-gray-200: oklch(92.8% .006 264.531);
        --color-gray-300: oklch(87.2% .01 258.338);
        --color-gray-400: oklch(70.7% .022 261.325);
        --color-gray-600: oklch(44.6% .03 256.802);
        --color-gray-700: oklch(37.3% .034 259.733);
        --color-gray-800: oklch(27.8% .033 256.848);
        --color-gray-900: oklch(21% .034 264.665);
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1/.75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25/.875);
        --text-base: 1rem;
        --text-base--line-height: calc(1.5/1);
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75/1.125);
        --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: calc(2.25/1.875);
        --text-4xl: 2.25rem;
        --text-4xl--line-height: calc(2.5/2.25);
        --text-6xl: 3.75rem;
        --text-6xl--line-height: 1;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --tracking-tighter: -.05em;
        --leading-snug: 1.375;
        --leading-relaxed: 1.625;
        --radius-md: .375rem;
        --radius-lg: .5rem;
        --radius-xl: .75rem;
        --radius-2xl: 1rem;
        --drop-shadow-md: 0 3px 3px #0000001f;
        --drop-shadow-lg: 0 4px 4px #00000026;
        --ease-in: cubic-bezier(.4,0,1,1);
        --ease-out: cubic-bezier(0,0,.2,1);
        --ease-in-out: cubic-bezier(.4,0,.2,1);
        --blur-sm: 8px;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4,0,.2,1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        --color-primary: #0e1e3b;
        --color-primary-light: #3d75a3;
        --color-background-light: #fff;
        --color-background-dark: #111827;
        --color-surface-light: #f9fafb;
        --color-surface-dark: #1f2937;
        --color-text-light: #1f2937;
        --color-text-dark: #f9fafb;
        --color-subtext-light: #6b7280;
        --color-subtext-dark: #9ca3af;
        --font-display: Poppins,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji",sans-serif;
        --font-body: Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji",sans-serif
    }
}

@layer base {
    *, :after, :before, ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }
    button, a{
        cursor: pointer;
    }

    ::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 {
        font-size: clamp(2rem, 1.2rem + 3vw, 3.25rem);
        line-height: 1.12;
        font-weight: normal;
    }

    h2 {
        font-size: clamp(1.625rem, 1.1rem + 2vw, 2.5rem);
        line-height: 1.16;
        font-weight: normal;
    }

    h3 {
        font-size: clamp(1.375rem, 1rem + 1.4vw, 2rem);
        line-height: 1.2;
        font-weight: normal;
    }

    h4 {
        font-size: clamp(1.125rem, .95rem + .8vw, 1rem);
        line-height: 1.25;
        font-weight: normal;
    }

    h5 {
        font-size: clamp(1rem, .9rem + .4vw, 0.85rem);
        line-height: 1.3;
        font-weight: normal;
    }

    h6 {
        font-size: clamp(.875rem, .8rem + .25vw, 0.75rem);
        line-height: 1.35;
        font-weight: normal;
    }

   
    .lead {
        font-size: clamp(1.0625rem, .95rem + .6vw, 1.375rem);
        line-height: var(--leading-relaxed);
        color: var(--color-subtext-light);
    }

    .dark .lead {
        color: var(--color-subtext-dark);
    }

    .subtitle {
        font-size: clamp(1rem, .92rem + .4vw, 1.25rem);
        line-height: 1.35;
        color: var(--color-subtext-light);
    }

    .dark .subtitle {
        color: var(--color-subtext-dark);
    }

    .eyebrow {
        font-size: .75rem;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: var(--color-subtext-light);
    }

    .dark .eyebrow {
        color: var(--color-subtext-dark);
    }

    
    .display-hero {
        font-family: var(--font-display);
        font-size: clamp(2.5rem, 1.5rem + 4vw, 4.25rem);
        line-height: 1.05;
    }

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

    b, strong {
        font-weight: bolder
    }

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

    small {
        font-size: 80%
    }

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

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

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

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

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

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

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

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

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

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

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

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

    ::placeholder {
        opacity: 1
    }

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

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

    textarea {
        resize: vertical
    }

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

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

    ::-webkit-datetime-edit {
        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
    }

    [type=text], input:where(:not([type])), [type=email], [type=url], [type=password], [type=number], [type=date], [type=datetime-local], [type=month], [type=search], [type=tel], [type=time], [type=week], [multiple], textarea, select {
        appearance: none;
        --tw-shadow: 0 0 #0000;
        background-color: #fff;
        border-width: 1px;
        border-color: oklch(55.1% .027 264.364);
        border-radius: 0;
        padding: .5rem .75rem;
        font-size: 1rem;
        line-height: 1.5rem
    }

    :is([type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select):focus {
        outline-offset: 2px;
        --tw-ring-inset: var(--tw-empty, );
        --tw-ring-offset-width: 0px;
        --tw-ring-offset-color: #fff;
        --tw-ring-color: oklch(54.6% .245 262.881);
        --tw-ring-offset-shadow: var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);
        --tw-ring-shadow: var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);
        box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);
        border-color: oklch(54.6% .245 262.881);
        outline: 2px solid #0000
    }

    input::placeholder, textarea::placeholder {
        color: oklch(55.1% .027 264.364);
        opacity: 1
    }

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

    ::-webkit-date-and-time-value {
        min-height: 1.5em
    }

    ::-webkit-date-and-time-value {
        text-align: inherit
    }

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

    ::-webkit-datetime-edit {
        padding-top: 0;
        padding-bottom: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-top: 0;
        padding-bottom: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-top: 0;
        padding-bottom: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-top: 0;
        padding-bottom: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-top: 0;
        padding-bottom: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-top: 0;
        padding-bottom: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-top: 0;
        padding-bottom: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-top: 0;
        padding-bottom: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-top: 0;
        padding-bottom: 0
    }

    select {
        print-color-adjust: exact;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
        background-position: right .5rem center;
        background-repeat: no-repeat;
        background-size: 1.5em 1.5em;
        padding-right: 2.5rem
    }

    [multiple], [size]:where(select:not([size="1"])) {
        background-image: initial;
        background-position: initial;
        background-repeat: unset;
        background-size: initial;
        print-color-adjust: unset;
        padding-right: .75rem
    }

    [type=checkbox], [type=radio] {
        appearance: none;
        print-color-adjust: exact;
        vertical-align: middle;
        -webkit-user-select: none;
        user-select: none;
        color: oklch(54.6% .245 262.881);
        --tw-shadow: 0 0 #0000;
        background-color: #fff;
        background-origin: border-box;
        border-width: 1px;
        border-color: oklch(55.1% .027 264.364);
        flex-shrink: 0;
        width: 1rem;
        height: 1rem;
        padding: 0;
        display: inline-block
    }

    [type=checkbox] {
        border-radius: 0
    }

    [type=radio] {
        border-radius: 100%
    }

        [type=checkbox]:focus, [type=radio]:focus {
            outline-offset: 2px;
            --tw-ring-inset: var(--tw-empty, );
            --tw-ring-offset-width: 2px;
            --tw-ring-offset-color: #fff;
            --tw-ring-color: oklch(54.6% .245 262.881);
            --tw-ring-offset-shadow: var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);
            --tw-ring-shadow: var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);
            box-shadow: var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);
            outline: 2px solid #0000
        }

        [type=checkbox]:checked, [type=radio]:checked {
            background-color: currentColor;
            background-position: 50%;
            background-repeat: no-repeat;
            background-size: 100% 100%;
            border-color: #0000
        }

    [type=checkbox]:checked {
        background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")
    }

    @media (forced-colors:active) {
        [type=checkbox]:checked {
            appearance: auto
        }
    }

    [type=radio]:checked {
        background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")
    }

    @media (forced-colors:active) {
        [type=radio]:checked {
            appearance: auto
        }
    }

    [type=checkbox]:checked:hover, [type=checkbox]:checked:focus, [type=radio]:checked:hover, [type=radio]:checked:focus {
        background-color: currentColor;
        border-color: #0000
    }

    [type=checkbox]:indeterminate {
        background-color: currentColor;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
        background-position: 50%;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        border-color: #0000
    }

    @media (forced-colors:active) {
        [type=checkbox]:indeterminate {
            appearance: auto
        }
    }

    [type=checkbox]:indeterminate:hover, [type=checkbox]:indeterminate:focus {
        background-color: currentColor;
        border-color: #0000
    }

    [type=file] {
        background: unset;
        border-color: inherit;
        font-size: unset;
        line-height: inherit;
        border-width: 0;
        border-radius: 0;
        padding: 0
    }

        [type=file]:focus {
            outline: 1px solid buttontext;
            outline: 1px auto -webkit-focus-ring-color
        }
}

@layer components;

@layer utilities {
    .pointer-events-none {
        pointer-events: none
    }

    .collapse {
        visibility: collapse
    }

    .visible {
        visibility: visible
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

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

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

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

    .z-10 {
        z-index: 10
    }

    .z-50 {
        z-index: 50
    }

    .container {
        width: 100%
    }

    @media (min-width:40rem) {
        .container {
            max-width: 40rem
        }
    }

    @media (min-width:48rem) {
        .container {
            max-width: 48rem
        }
    }

    @media (min-width:64rem) {
        .container {
            max-width: 64rem
        }
    }

    @media (min-width:80rem) {
        .container {
            max-width: 80rem
        }
    }

    @media (min-width:96rem) {
        .container {
            max-width: 96rem
        }
    }

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

    .mx-auto {
        margin-inline: auto
    }

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

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

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

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

    .mr-3 {
        margin-right: calc(var(--spacing)*3)
    }
    .mb-0 {
        margin-bottom: calc(var(--spacing)*0)
    }
    .mb-2 {
        margin-bottom: calc(var(--spacing)*2)
    }

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

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

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

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

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

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

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

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

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

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

    .block {
        display: block
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .inline-block {
        display: inline-block
    }

    .inline-flex {
        display: inline-flex
    }

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

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

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

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

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

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

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

    .h-\[400px\] {
        height: 400px
    }

    .h-\[500px\] {
        height: 500px
    }

    .h-\[600px\] {
        height: 600px
    }

    .h-auto {
        height: auto
    }

    .h-full {
        height: 100%
    }

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

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

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

    .w-2\/3 {
        width: 66.6667%
    }

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

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

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

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

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

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

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

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

    .w-auto {
        width: auto
    }

    .w-full {
        width: 100%
    }

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

    .max-w-3xl {
        max-width: 48rem
    }

    .max-w-4xl {
        max-width: 56rem
    }

    .max-w-5xl {
        max-width: 64rem
    }
    .max-w-md {
        max-width: 32em
    }
    .max-w-sm {
        max-width: 24rem
    }

    .max-w-xs {
        max-width: 20rem
    }

    .flex-1 {
        flex: 1
    }

    .flex-shrink-0 {
        flex-shrink: 0
    }

    .grow {
        flex-grow: 1
    }

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

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

    .scale-95 {
        --tw-scale-x: 95%;
        --tw-scale-y: 95%;
        --tw-scale-z: 95%;
        scale: var(--tw-scale-x)var(--tw-scale-y)
    }

    .scale-100 {
        --tw-scale-x: 100%;
        --tw-scale-y: 100%;
        --tw-scale-z: 100%;
        scale: var(--tw-scale-x)var(--tw-scale-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,)
    }

    .cursor-pointer {
        cursor: pointer
    }

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

    .flex-col {
        flex-direction: column
    }

    .items-center {
        align-items: center
    }

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

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

    .justify-between {
        justify-content: space-between
    }
    .justify-items-center {
        justify-items: center
    }
    .justify-content-end {
        justify-content: flex-end
    }
    .justify-center {
        justify-content: center
    }
    .gap-3 {
        gap: calc(var(--spacing)*3)
    }

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

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

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

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

    :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-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-y-8>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))
    }

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

    .gap-x-12 {
        column-gap: calc(var(--spacing)*12)
    }

    :where(.space-x-1>:not(:last-child)) {
        --tw-space-x-reverse: 0;
        margin-inline-start: calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));
        margin-inline-end: calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-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(.space-x-3>:not(:last-child)) {
        --tw-space-x-reverse: 0;
        margin-inline-start: calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));
        margin-inline-end: calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))
    }

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

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

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

    .gap-y-10 {
        row-gap: calc(var(--spacing)*10)
    }

    .gap-y-12 {
        row-gap: calc(var(--spacing)*12)
    }

    .overflow-hidden {
        overflow: hidden
    }

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

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

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

    .border-white\/50 {
        border-color: #ffffff80
    }

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

    .border-white\/60 {
        border-color: #fff9
    }

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

    .bg-\[\#0E1E3B\] {
        background-color: #0e1e3b
    }

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

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

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

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

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

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

    .bg-primary-light\/10 {
        background-color: #3d75a31a
    }

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

    .bg-primary-light\/20 {
        background-color: #3d75a333
    }

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

    .bg-primary-light\/60 {
        background-color: #3d75a399
    }

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

    .bg-primary\/5 {
        background-color: #0e1e3b0d
    }

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

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

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

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

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

    .bg-white\/5 {
        background-color: #ffffff0d
    }

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

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

    .bg-gradient-to-br {
        --tw-gradient-position: to bottom right in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops))
    }

    .from-gray-50 {
        --tw-gradient-from: var(--color-gray-50);
        --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-light\/10 {
        --tw-gradient-from: #3d75a31a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .from-primary-light\/10 {
            --tw-gradient-from: color-mix(in oklab,var(--color-primary-light)10%,transparent)
        }
    }

    .from-primary-light\/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\/5 {
        --tw-gradient-from: #0e1e3b0d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .from-primary\/5 {
            --tw-gradient-from: color-mix(in oklab,var(--color-primary)5%,transparent)
        }
    }

    .from-primary\/5 {
        --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-gray-200 {
        --tw-gradient-to: var(--color-gray-200);
        --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-light\/5 {
        --tw-gradient-to: #3d75a30d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .to-primary-light\/5 {
            --tw-gradient-to: color-mix(in oklab,var(--color-primary-light)5%,transparent)
        }
    }

    .to-primary-light\/5 {
        --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\/5 {
        --tw-gradient-to: #0e1e3b0d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .to-primary\/5 {
            --tw-gradient-to: color-mix(in oklab,var(--color-primary)5%,transparent)
        }
    }

    .to-primary\/5 {
        --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))
    }

    .\[mask-image\:radial-gradient\(ellipse_at_center\,transparent_20\%\,black\)\] {
        -webkit-mask-image: radial-gradient(#0000 20%,#000);
        mask-image: radial-gradient(#0000 20%,#000)
    }

    .object-contain {
        object-fit: contain
    }

    .object-cover {
        object-fit: cover
    }

    .object-center {
        object-position: center
    }

    .object-top {
        object-position: top
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .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-8 {
        padding-top: calc(var(--spacing)*8)
    }
    .pt-12 {
        padding-top: calc(var(--spacing)*12)
    }

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

    .pt-40 {
        padding-top: calc(var(--spacing)*40)
    }
    .pt-40i {
        padding-top: calc(var(--spacing)*40)!important
    }
    .pb-0 {
        padding-bottom: 0!important
    }
    .pb-10 {
        padding-bottom: calc(var(--spacing)*10)
    }

    .text-center {
        text-align: center
    }
    .text-justified {
        text-align: justify
    }

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

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

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

    .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-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-md {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading,var(--text-2xl--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))
    }

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

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

    .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-tighter {
        --tw-tracking: var(--tracking-tighter);
        letter-spacing: var(--tracking-tighter)
    }

    .whitespace-nowrap {
        white-space: nowrap
    }

    .text-gray-300 {
        color: var(--color-gray-300)
    }

    .text-gray-400 {
        color: var(--color-gray-400)
    }

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

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

    .text-subtext-light {
        color: var(--color-subtext-light)
    }

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

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

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

    .text-white\/90 {
        color: #ffffffe6
    }

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

    .text-white\/95 {
        color: #fffffff2
    }

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

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

    .opacity-0 {
        opacity: 0
    }

    .opacity-20 {
        opacity: .2
    }
    .opacity-50 {
        opacity: .5
    }
    .opacity-70 {
        opacity: .7
    }

    .opacity-100 {
        opacity: 1
    }

    .shadow-2xl {
        --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040);
        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-1 {
        --tw-ring-shadow: var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);
        box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
    }

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

    .brightness-0 {
        --tw-brightness: brightness(0%);
        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,)
    }

    .drop-shadow-lg {
        --tw-drop-shadow-size: drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));
        --tw-drop-shadow: drop-shadow(var(--drop-shadow-lg));
        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,)
    }

    .drop-shadow-md {
        --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color,#0000001f));
        --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));
        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,)
    }

    .invert {
        --tw-invert: invert(100%);
        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-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-shadow {
        transition-property: box-shadow;
        transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));
        transition-duration: var(--tw-duration,var(--default-transition-duration))
    }

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

    .duration-150 {
        --tw-duration: .15s;
        transition-duration: .15s
    }

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

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

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

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

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

    .will-change-transform {
        will-change: transform
    }

    @media (hover:hover) {
        .hover\:-translate-y-1:hover {
            --tw-translate-y: calc(var(--spacing)*-1);
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

        .hover\:scale-105:hover {
            --tw-scale-x: 105%;
            --tw-scale-y: 105%;
            --tw-scale-z: 105%;
            scale: var(--tw-scale-x)var(--tw-scale-y);
        }

        .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\:bg-gray-100:hover {
            background-color: var(--color-gray-100)
        }

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

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

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

        .hover\:bg-primary-light\/80:hover {
            background-color: #3d75a3cc
        }

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

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

        .hover\:bg-white\/5:hover {
            background-color: #ffffff0d
        }

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

        .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\:bg-white\/20:hover {
            background-color: #fff3
        }

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

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

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

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

        .hover\:shadow-2xl:hover {
            --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color,#00000040);
            box-shadow: var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)
        }

        .hover\:shadow-lg:hover {
            --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)
        }

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

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

        .hover\:shadow-primary-light\/50:hover {
            --tw-shadow-color: #3d75a380
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:shadow-primary-light\/50:hover {
                --tw-shadow-color: color-mix(in oklab,color-mix(in oklab,var(--color-primary-light)50%,transparent)var(--tw-shadow-alpha),transparent)
            }
        }

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

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:shadow-white\/20:hover {
                --tw-shadow-color: color-mix(in oklab,color-mix(in oklab,var(--color-white)20%,transparent)var(--tw-shadow-alpha),transparent)
            }
        }
    }
    @media (min-width:20rem) {
        .xs\:h-\[300px\] {
            height: 300px
        }
    }
    @media (min-width:40rem) {
        .sm\:w-auto {
            width: auto
        }
        .sm\:h-\[300px\] {
            height: 300px
        }
        .sm\:grid-cols-2 {
            grid-template-columns: repeat(2,minmax(0,1fr))
        }
        .sm\:block {
            display: block
        }

        .sm\:hidden {
            display: none
        }

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

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

        :where(.sm\:space-y-0>:not(:last-child)) {
            --tw-space-y-reverse: 0;
            margin-block-start: calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));
            margin-block-end: calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))
        }

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

    @media (min-width:48rem) {
        .md\:col-span-1 {
            grid-column: span 1/span 1
        }

        .md\:mb-0 {
            margin-bottom: calc(var(--spacing)*0)
        }

        .md\:ml-auto {
            margin-left: auto
        }

        .md\:block {
            display: block
        }

        .md\:flex {
            display: flex
        }

        .md\:hidden {
            display: none
        }

        .md\:h-14 {
            height: calc(var(--spacing)*14)
        }
        .md\:h-\[400px\] {
            height: 400px
        }
        .md\:h-\[500px\] {
            height: 500px
        }
        .md\:h-\[600px\] {
            height: 600px
        }

        .md\:w-1\/3 {
            width: 33.3333%
        }

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

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

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

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

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

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

        .md\:py-24 {
            padding-block: calc(var(--spacing)*24)
        }

        .md\:py-32 {
            padding-block: calc(var(--spacing)*32)
        }

        .md\:pt-48 {
            padding-top: calc(var(--spacing)*48)
        }

        .md\:pb-14 {
            padding-bottom: calc(var(--spacing)*14)
        }

        .md\:text-2xl {
            font-size: var(--text-2xl);
            line-height: var(--tw-leading,var(--text-2xl--line-height))
        }

        .md\:text-4xl {
            font-size: var(--text-4xl);
            line-height: var(--tw-leading,var(--text-4xl--line-height))
        }

        .md\:text-6xl {
            font-size: var(--text-6xl);
            line-height: var(--tw-leading,var(--text-6xl--line-height))
        }
    }

    @media (min-width:64rem) {
        .lg\:absolute {
            position: absolute
        }

        .lg\:sticky {
            position: sticky
        }

        .lg\:top-24 {
            top: calc(var(--spacing)*24)
        }

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

        .lg\:col-span-2 {
            grid-column: span 2/span 2
        }

        .lg\:col-span-3 {
            grid-column: span 3/span 3
        }

        .lg\:block {
            display: block
        }

        .lg\:hidden {
            display: none
        }
        .lg\:h-\[600px\] {
            height: 600px
        }
        .lg\:-translate-x-1\/2 {
            --tw-translate-x: calc(calc(1/2*100%)*-1);
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

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

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

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

        .lg\:text-left {
            text-align: left
        }

        .lg\:text-3xl {
            font-size: var(--text-3xl);
            line-height: var(--tw-leading,var(--text-3xl--line-height))
        }
        .lg\:px-8 {
            padding-left: 2rem;
            padding-right: 2rem;
        }
    }
    @media (min-width: 80rem) {

        .xl\:block {
            display: block;
        }

        .xl\:hidden {
            display: none;
        }
    }
    .dark\:border-gray-600:where(.dark *) {
        border-color: var(--color-gray-600)
    }

    .dark\:border-gray-700:where(.dark *) {
        border-color: var(--color-gray-700)
    }

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

    .dark\:bg-primary:where(.dark *) {
        background-color: var(--color-primary)
    }

    .dark\:bg-primary\/10:where(.dark *) {
        background-color: #0e1e3b1a
    }

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

    .dark\:bg-surface-dark:where(.dark *) {
        background-color: var(--color-surface-dark)
    }

    .dark\:bg-surface-dark\/95:where(.dark *) {
        background-color: #1f2937f2
    }

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

    .dark\:from-gray-800:where(.dark *) {
        --tw-gradient-from: var(--color-gray-800);
        --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\/10:where(.dark *) {
        --tw-gradient-from: #0e1e3b1a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:from-primary\/10:where(.dark *) {
            --tw-gradient-from: color-mix(in oklab,var(--color-primary)10%,transparent)
        }
    }

    .dark\:from-primary\/10:where(.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-900:where(.dark *) {
        --tw-gradient-to: 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\:to-primary-light\/10:where(.dark *) {
        --tw-gradient-to: #3d75a31a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:to-primary-light\/10:where(.dark *) {
            --tw-gradient-to: color-mix(in oklab,var(--color-primary-light)10%,transparent)
        }
    }

    .dark\:to-primary-light\/10:where(.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\:text-gray-600:where(.dark *) {
        color: var(--color-gray-600)
    }

    .dark\:text-subtext-dark:where(.dark *) {
        color: var(--color-subtext-dark)
    }

    .dark\:text-text-dark:where(.dark *) {
        color: var(--color-text-dark)
    }

    @media (hover:hover) {
        .dark\:hover\:bg-gray-700:where(.dark *):hover {
            background-color: var(--color-gray-700)
        }
    }
}

.material-icons {
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    -webkit-font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    direction: ltr;
    font-family: Material Icons;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    display: inline-block
}

.material-symbols-outlined {
    font-variation-settings: "FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24
}

[x-cloak] {
    display: none !important
}

.will-change-transform {
    will-change: transform
}

.shadow-3xl {
    box-shadow: 0 35px 60px -15px #0000004d
}

@keyframes pulse-bright {
    0%,to {
        box-shadow: 0 0 #60a5fab3
    }

    50% {
        box-shadow: 0 0 0 .75rem #60a5fa00
    }
}

@keyframes gentleFloat {
    0%,to {
        transform: translate(0)
    }

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

.animate-pulse-bright {
    animation: 2.5s cubic-bezier(.4,0,.6,1) infinite pulse-bright
}

.logo-gentle {
    animation: 6s ease-in-out infinite gentleFloat
}

.card-animate {
    opacity: 0;
    will-change: opacity,transform;
    transition: opacity .4s ease-out,transform .4s ease-out;
    transform: translateY(15px)
}

    .card-animate.animate-in {
        opacity: 1;
        transform: translate(0)
    }

.mockup-overlay {
    opacity: 0;
    will-change: opacity,transform;
    transition: opacity .5s ease-out,transform .5s ease-out;
    transform: translateY(15px)scale(.98)
}

    .mockup-overlay.visible {
        opacity: 1;
        transform: translate(0)scale(1)
    }
.mockup-image {
    will-change: transform;
    transform: translateZ(0); 
}

@media (prefers-reduced-motion: reduce) {
    .mockup-image {
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }
}

.hero-visual {
    opacity: 0;
    will-change: opacity,transform;
    transition: opacity .6s ease-out,transform .6s ease-out;
    transform: translateY(20px)
}

    .hero-visual.visible {
        opacity: 1;
        transform: translate(0)
    }

    .hero-visual h1 {
        font-size: 1em!important;
        font-family: var(--font-display);
        font-weight: bold;
    }
    .hero-visual h2 {
        font-size: 1em !important;
        font-family: var(--font-body);
        font-weight: 500;
    }
   

.hover-lift {
    will-change: transform,box-shadow;
    transition: all .3s cubic-bezier(.16,1,.3,1) !important
}

    .hover-lift:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 10px 25px #0000001a !important
    }

.btn-smooth {
    will-change: transform,box-shadow;
    transform: translateZ(0);
    transition: all .3s cubic-bezier(.16,1,.3,1) !important
}

    .btn-smooth:hover {
        transform: translateY(-1px)translateZ(0) !important;
        box-shadow: 0 8px 20px #00000026 !important
    }

.card-hover {
    will-change: transform,box-shadow;
    transition: all .3s cubic-bezier(.16,1,.3,1) !important
}

    .card-hover:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 12px 30px #00000026 !important
    }

.stagger-1 {
    transition-delay: 50ms
}

.stagger-2 {
    transition-delay: .1s
}

.stagger-3 {
    transition-delay: .15s
}

.stagger-4 {
    transition-delay: .2s
}

.stagger-5 {
    transition-delay: .25s
}

.stagger-6 {
    transition-delay: .3s
}

.bg-grid-overlay {
    background-image: linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px);
    background-size: 24px 24px
}

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

@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-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-leading {
    syntax: "*";
    inherits: false
}

@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
}
:root {
    --default-font-family: var(--font-body);
}

@media (min-width: 1024px) {
    .lg\:grid-cols-1-2 {
        grid-template-columns: 1fr 2fr;
    }
    .lg\:grid-cols-2-1 {
        grid-template-columns: 2fr 1fr;
    }
}

.pl-8{
    padding-left: 2rem;
}

@keyframes fade-in-up {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pulse-bright {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(96, 165, 250, 0.7);
    }

    50% {
        box-shadow: 0 0 0 0.75rem rgba(96, 165, 250, 0);
    }
}

.animate-pulse-bright {
    animation: pulse-bright 2.5s infinite cubic-bezier(0.4, 0, 0.6, 1);
}

[x-cloak] {
    display: none !important;
}

.will-change-transform {
    will-change: transform;
}

.fade-in-up {
    animation: fade-in-up 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.parallax-scroll {
    transform: translateY(0);
    transition: transform 0.1s ease-out;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-8px);
    }
}

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

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

.ms-5 {
    margin-left: calc(var(--spacing)*5)
}

@layer components {
    .container-fluid {
        width: 100%;
        margin-inline: auto;
        padding-inline: 1rem;
    }

    /* Variables de gutter */
    .row {
        --gutter-x: 1.5rem; /* igual a BS por defecto */
        --gutter-y: 0;
        display: flex;
        flex-wrap: wrap;
        margin-top: calc(-1 * var(--gutter-y));
        margin-right: calc(-.5 * var(--gutter-x));
        margin-left: calc(-.5 * var(--gutter-x));
    }

        .row > * {
            padding-right: calc(.5 * var(--gutter-x));
            padding-left: calc(.5 * var(--gutter-x));
            margin-top: var(--gutter-y);
        }

    /* Columnas básicas */
    .col {
        flex: 1 0 0%;
    }

    .col-auto {
        flex: 0 0 auto;
        width: auto;
    }

    /* 12 columnas */
    .col-1 {
        flex: 0 0 auto;
        width: 8.333333%;
    }

    .col-2 {
        flex: 0 0 auto;
        width: 16.666667%;
    }

    .col-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-4 {
        flex: 0 0 auto;
        width: 33.333333%;
    }

    .col-5 {
        flex: 0 0 auto;
        width: 41.666667%;
    }

    .col-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-7 {
        flex: 0 0 auto;
        width: 58.333333%;
    }

    .col-8 {
        flex: 0 0 auto;
        width: 66.666667%;
    }

    .col-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-10 {
        flex: 0 0 auto;
        width: 83.333333%;
    }

    .col-11 {
        flex: 0 0 auto;
        width: 91.666667%;
    }

    .col-12 {
        flex: 0 0 auto;
        width: 100%;
    }

    /* Offsets (márgenes a izquierda) */
    .offset-1 {
        margin-left: 8.333333%;
    }

    .offset-2 {
        margin-left: 16.666667%;
    }

    .offset-3 {
        margin-left: 25%;
    }

    .offset-4 {
        margin-left: 33.333333%;
    }

    .offset-5 {
        margin-left: 41.666667%;
    }

    .offset-6 {
        margin-left: 50%;
    }

    .offset-7 {
        margin-left: 58.333333%;
    }

    .offset-8 {
        margin-left: 66.666667%;
    }

    .offset-9 {
        margin-left: 75%;
    }

    .offset-10 {
        margin-left: 83.333333%;
    }

    .offset-11 {
        margin-left: 91.666667%;
    }

    /* row-cols (auto-fit por N columnas) */
    .row-cols-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }

    .row-cols-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }

    .row-cols-3 > * {
        flex: 0 0 auto;
        width: 33.333333%;
    }

    .row-cols-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }

    .row-cols-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }

    .row-cols-6 > * {
        flex: 0 0 auto;
        width: 16.666667%;
    }

    /* Gutters utilitarios (g, gx, gy) — escala tipo BS */
    .g-0 {
        --gutter-x: 0;
        --gutter-y: 0;
    }

    .g-1 {
        --gutter-x: .25rem;
        --gutter-y: .25rem;
    }

    .g-2 {
        --gutter-x: .5rem;
        --gutter-y: .5rem;
    }

    .g-3 {
        --gutter-x: 1rem;
        --gutter-y: 1rem;
    }

    .g-4 {
        --gutter-x: 1.5rem;
        --gutter-y: 1.5rem;
    }

    .g-5 {
        --gutter-x: 3rem;
        --gutter-y: 3rem;
    }

    .gx-0 {
        --gutter-x: 0;
    }

    .gy-0 {
        --gutter-y: 0;
    }

    .gx-1 {
        --gutter-x: .25rem;
    }

    .gy-1 {
        --gutter-y: .25rem;
    }

    .gx-2 {
        --gutter-x: .5rem;
    }

    .gy-2 {
        --gutter-y: .5rem;
    }

    .gx-3 {
        --gutter-x: 1rem;
    }

    .gy-3 {
        --gutter-y: 1rem;
    }

    .gx-4 {
        --gutter-x: 1.5rem;
    }

    .gy-4 {
        --gutter-y: 1.5rem;
    }

    .gx-5 {
        --gutter-x: 3rem;
    }

    .gy-5 {
        --gutter-y: 3rem;
    }

    /* Breakpoints (mismos rems: sm=40, md=48, lg=64, xl=80, 2xl=96) */
    @media (min-width: 40rem) {
        .col-sm-auto {
            flex: 0 0 auto;
            width: auto;
        }

        .col-sm-1 {
            width: 8.333333%;
        }

        .col-sm-2 {
            width: 16.666667%;
        }

        .col-sm-3 {
            width: 25%;
        }

        .col-sm-4 {
            width: 33.333333%;
        }

        .col-sm-5 {
            width: 41.666667%;
        }

        .col-sm-6 {
            width: 50%;
        }

        .col-sm-7 {
            width: 58.333333%;
        }

        .col-sm-8 {
            width: 66.666667%;
        }

        .col-sm-9 {
            width: 75%;
        }

        .col-sm-10 {
            width: 83.333333%;
        }

        .col-sm-11 {
            width: 91.666667%;
        }

        .col-sm-12 {
            width: 100%;
        }

        .row-cols-sm-2 > * {
            width: 50%;
        }

        .row-cols-sm-3 > * {
            width: 33.333333%;
        }

        .row-cols-sm-4 > * {
            width: 25%;
        }
    }

    @media (min-width: 48rem) {
        .col-md-auto {
            flex: 0 0 auto;
            width: auto;
        }

        .col-md-1 {
            width: 8.333333%;
        }

        .col-md-2 {
            width: 16.666667%;
        }

        .col-md-3 {
            width: 25%;
        }

        .col-md-4 {
            width: 33.333333%;
        }

        .col-md-5 {
            width: 41.666667%;
        }

        .col-md-6 {
            width: 50%;
        }

        .col-md-7 {
            width: 58.333333%;
        }

        .col-md-8 {
            width: 66.666667%;
        }

        .col-md-9 {
            width: 75%;
        }

        .col-md-10 {
            width: 83.333333%;
        }

        .col-md-11 {
            width: 91.666667%;
        }

        .col-md-12 {
            width: 100%;
        }

        .row-cols-md-2 > * {
            width: 50%;
        }

        .row-cols-md-3 > * {
            width: 33.333333%;
        }

        .row-cols-md-4 > * {
            width: 25%;
        }

        .gx-md-4 {
            --gutter-x: 1.5rem;
        }

        .gy-md-4 {
            --gutter-y: 1.5rem;
        }
    }

    @media (min-width: 64rem) {
        .col-lg-auto {
            flex: 0 0 auto;
            width: auto;
        }

        .col-lg-1 {
            width: 8.333333%;
        }

        .col-lg-2 {
            width: 16.666667%;
        }

        .col-lg-3 {
            width: 25%;
        }

        .col-lg-4 {
            width: 33.333333%;
        }

        .col-lg-5 {
            width: 41.666667%;
        }

        .col-lg-6 {
            width: 50%;
        }

        .col-lg-7 {
            width: 58.333333%;
        }

        .col-lg-8 {
            width: 66.666667%;
        }

        .col-lg-9 {
            width: 75%;
        }

        .col-lg-10 {
            width: 83.333333%;
        }

        .col-lg-11 {
            width: 91.666667%;
        }

        .col-lg-12 {
            width: 100%;
        }

        .row-cols-lg-3 > * {
            width: 33.333333%;
        }

        .row-cols-lg-4 > * {
            width: 25%;
        }
    }

    @media (min-width: 80rem) {
        .col-xl-auto {
            flex: 0 0 auto;
            width: auto;
        }

        .col-xl-3 {
            width: 25%;
        }

        .col-xl-4 {
            width: 33.333333%;
        }

        .col-xl-6 {
            width: 50%;
        }

        .row-cols-xl-4 > * {
            width: 25%;
        }
    }

    @media (min-width: 96rem) {
        .col-2xl-3 {
            width: 25%;
        }

        .col-2xl-4 {
            width: 33.333333%;
        }

        .col-2xl-6 {
            width: 50%;
        }

        .row-cols-2xl-6 > * {
            width: 16.666667%;
        }
    }

    /* Orden y alineación útiles */
    .order-first {
        order: -9999;
    }

    .order-last {
        order: 9999;
    }

    .order-0 {
        order: 0;
    }

    .order-1 {
        order: 1;
    }

    .order-2 {
        order: 2;
    }

    .order-3 {
        order: 3;
    }

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

    .align-self-center {
        align-self: center;
    }

    .align-self-end {
        align-self: flex-end;
    }
    /* 1) Base + bullets/decimales */
    .list {
        padding-left: 1.25rem;
    }

        .list > li {
            margin-block: .375rem;
        }

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

    .list-decimal {
        list-style: decimal;
    }

    .list-none {
        list-style: none;
        padding-left: 0;
    }

    .list-disc li::marker {
        color: var(--color-primary-light);
    }

    .list-decimal li::marker {
        color: var(--color-primary-light);
        font-variant-numeric: tabular-nums;
    }

    .dark .list-disc li::marker {
        color: var(--color-subtext-dark);
    }

    .dark .list-decimal li::marker {
        color: var(--color-primary-50);
    }

    .list :is(ul,ol) {
        margin-top: .375rem;
    }

    .list ul, .list ol {
        padding-left: 1.25rem;
    }

    /* 3) Checklist */
    .list-check {
        list-style: none;
        padding-left: 0;
    }

        .list-check li {
            position: relative;
            padding-left: 1.75rem;
            margin-block: .375rem;
        }

            .list-check li::before {
                content: "";
                position: absolute;
                left: 0;
                top: .15em;
                width: 1.1rem;
                height: 1.1rem;
                border-radius: .35rem;
                background: color-mix(in oklab,var(--color-primary) 12%, transparent);
                border: 1px solid color-mix(in oklab,var(--color-primary) 35%, transparent);
                box-shadow: inset 0 0 0 3px #0000;
            }

            .list-check li[data-checked="true"]::before {
                background: var(--color-primary);
                mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293z'/%3E%3C/svg%3E") center/80% no-repeat;
            }

    /* 4) Lista con iconos */
    .list-icon {
        list-style: none;
        padding-left: 0;
    }

        .list-icon li {
            display: flex;
            gap: .5rem;
            align-items: flex-start;
            margin-block: .375rem;
        }

        .list-icon .icon {
            width: 1.25rem;
            height: 1.25rem;
            flex: 0 0 auto;
            color: var(--color-primary-light);
        }

    /* 5) Inline list con separadores */
    .list-inline {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
    }

        .list-inline.separator > li + li::before {
            content: "·";
            opacity: .6;
            margin-inline: .25rem;
        }

        .list-inline.slash > li + li::before {
            content: "/";
            opacity: .5;
            margin-inline: .375rem;
        }

    /* 6) Description list (dl/dt/dd) responsive */
    .dl {
        display: grid;
        grid-template-columns: 1fr;
        gap: .5rem 1rem;
    }

        .dl .dt {
            font-weight: var(--font-weight-medium);
            color: var(--color-subtext-light);
        }

        .dl .dd {
            color: var(--color-text-light);
        }

    .dark .dl .dt {
        color: var(--color-subtext-dark);
    }

    .dark .dl .dd {
        color: var(--color-text-dark);
    }

    @media (min-width:48rem) {
        .dl {
            grid-template-columns: 1fr 2fr;
            align-items: start;
        }

            .dl .dt {
                text-align: right;
            }
    }

    /* 7) Steps (proceso) */
    .steps {
        counter-reset: step;
        display: flex;
        gap: 1rem;
        flex-wrap: wrap;
    }

        .steps.vertical {
            flex-direction: column;
        }

    .step {
        position: relative;
        padding-left: 2rem;
        min-height: 1.75rem;
    }

        .step::before {
            counter-increment: step;
            content: counter(step);
            position: absolute;
            left: 0;
            top: .05rem;
            width: 1.5rem;
            height: 1.5rem;
            border-radius: 9999px;
            background: var(--color-primary);
            color: var(--color-white);
            display: grid;
            place-items: center;
            font-size: .875rem;
            font-weight: var(--font-weight-semibold);
            box-shadow: 0 0 0 3px color-mix(in oklab,var(--color-primary) 20%, transparent);
        }

    .steps:not(.vertical) .step + .step {
        margin-left: .5rem;
        padding-left: 2rem;
    }

        .steps:not(.vertical) .step + .step::after {
            content: "";
            position: absolute;
            left: -.75rem;
            top: .7rem;
            width: .75rem;
            height: 2px;
            background: color-mix(in oklab, currentColor 25%, transparent);
        }

    /* 8) Timeline vertical */
    .timeline {
        position: relative;
        padding-left: 1.75rem;
    }

        .timeline::before {
            content: "";
            position: absolute;
            left: .6rem;
            top: 0;
            bottom: 0;
            width: 2px;
            background: color-mix(in oklab,currentColor 15%, transparent);
        }

    .timeline-item {
        position: relative;
        margin-block: 1rem;
    }

        .timeline-item::before {
            content: "";
            position: absolute;
            left: -.2rem;
            top: .2rem;
            width: .9rem;
            height: .9rem;
            border-radius: 9999px;
            background: var(--color-primary);
            box-shadow: 0 0 0 3px color-mix(in oklab,var(--color-primary) 25%, transparent);
        }

    .timeline-time {
        font-size: var(--text-sm);
        color: var(--color-subtext-light);
    }

    .dark .timeline-time {
        color: var(--color-subtext-dark);
    }

    /* 9) List group (tipo Bootstrap) */
    .list-group {
        display: flex;
        flex-direction: column;
        border: 1px solid color-mix(in oklab,currentColor 12%, transparent);
        border-radius: var(--radius-lg);
        overflow: hidden;
        background: var(--surface);
    }

    .list-group-item {
        padding: .75rem 1rem;
        display: flex;
        gap: .75rem;
        align-items: center;
        border-bottom: 1px solid color-mix(in oklab,currentColor 10%, transparent);
    }

        .list-group-item:last-child {
            border-bottom: 0;
        }

        .list-group-item:hover {
            background: color-mix(in oklab,currentColor 4%, transparent);
        }

        .list-group-item.active {
            background: color-mix(in oklab,var(--color-primary) 12%, transparent);
            color: var(--color-primary);
        }
}

/* ---------- UTILITIES ---------- */
@layer utilities {
    /* 2) Posición y color de marcadores */
    .list-inside {
        list-style-position: inside;
    }

    .list-outside {
        list-style-position: outside;
    }

    .marker-primary li::marker {
        color: var(--color-primary);
    }

    .marker-muted li::marker {
        color: var(--color-subtext-light);
    }

    .dark .marker-muted li::marker {
        color: var(--color-subtext-dark);
    }

    /* Variantes de tipo para OL adicionales */
    .decimal-leading {
        list-style-type: decimal-leading-zero;
    }

    .upper-roman {
        list-style-type: upper-roman;
    }

    .lower-alpha {
        list-style-type: lower-alpha;
    }

    /* 10) Columnas multicolumna */
    .list-cols-2 {
        columns: 2;
        column-gap: 1.25rem;
    }

    .list-cols-3 {
        columns: 3;
        column-gap: 1.25rem;
    }

    @media (min-width:48rem) {
        .md\:list-cols-2 {
            columns: 2;
        }

        .md\:list-cols-3 {
            columns: 3;
        }
    }

    .break-inside-avoid > li {
        break-inside: avoid;
    }

    .bg-primary :where(a):not(.btn, .no-surface-link) {
        color: var(--color-primary-light);
        transition: font-weight var(--default-transition-duration) var(--default-transition-timing-function);
    }

        .bg-primary :where(a):not(.btn, .no-surface-link):hover {
            font-weight: var(--font-weight-bold);
        }

    /* Links sobre superficies .bg-white */
    .bg-white :where(a):not(.btn, .no-surface-link) {
        color: var(--color-primary);
        transition: font-weight var(--default-transition-duration) var(--default-transition-timing-function);
    }

        .bg-white :where(a):not(.btn, .no-surface-link):hover {
            font-weight: var(--font-weight-bold);
        }

    /* NPA Modal Styles - Using Official NPA Color Palette */
    .npa-modal {
        position: fixed;
        inset: 0;
        z-index: 50;
        overflow-y: auto;
        display: none;
    }

    /* Prevent body scroll when modal is open */
    html.modal-open,
    body.modal-open {
        overflow: hidden;
        padding-right: var(--scrollbar-width, 0px);
    }

    .npa-modal-backdrop {
        position: fixed;
        inset: 0;
        background-color: rgba(14, 30, 59, 0.8); /* Primary color with opacity */
        backdrop-filter: blur(6px);
        transition: opacity 0.3s ease;
    }

    .npa-modal-container {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 100vh;
        padding: 1rem;
    }

    /* Modal Sizes */
    .npa-modal-dialog {
        position: relative;
        width: 100%;
        margin: 0 auto;
        transform: scale(0.95);
        transition: transform 0.3s ease;
        max-height: 90vh;
        overflow: hidden;
    }

        /* Small Modal */
        .npa-modal-dialog.npa-modal-sm {
            max-width: 400px;
        }

        /* Medium Modal (default) */
        .npa-modal-dialog.npa-modal-md {
            max-width: 600px;
        }

        /* Large Modal */
        .npa-modal-dialog.npa-modal-lg {
            max-width: 800px;
        }

        /* Full Modal */
        .npa-modal-dialog.npa-modal-full {
            max-width: 95vw;
            max-height: 95vh;
            margin: 2.5vh auto;
        }

    .npa-modal-content {
        background: var(--color-background-light, #fff);
        border-radius: 16px;
        box-shadow: 0 25px 50px -12px rgba(14, 30, 59, 0.3);
        overflow: hidden;
        border: 2px solid var(--color-primary-light, #3d75a3);
        display: flex;
        flex-direction: column;
        max-height: 100%;
    }

    .dark .npa-modal-content {
        background: var(--color-background-dark, #111827);
        border: 2px solid var(--color-primary-light, #3d75a3);
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    }

    .npa-modal-header {
        padding: 1.5rem 2rem 1rem 2rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: linear-gradient(135deg, var(--color-primary, #0e1e3b) 0%, var(--color-primary-light, #3d75a3) 100%);
        color: white;
        flex-shrink: 0;
    }

    .npa-modal-title {
        font-size: 1.5rem;
        font-weight: 700;
        color: white;
        margin: 0;
        font-family: 'Poppins', sans-serif;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    }

    .npa-modal-close {
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.2);
        color: white;
        cursor: pointer;
        padding: 0.5rem;
        border-radius: 8px;
        transition: all 0.2s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        backdrop-filter: blur(4px);
        flex-shrink: 0;
    }

        .npa-modal-close:hover {
            background: rgba(255, 255, 255, 0.2);
            border-color: rgba(255, 255, 255, 0.3);
            transform: scale(1.05);
        }

    .npa-modal-body {
        padding: 1.5rem 2rem 2rem 2rem;
        color: var(--color-text-light, #1f2937);
        line-height: 1.6;
        background: var(--color-background-light, #fff);
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        max-height: 60vh;
    }

    /* Modal body with scroll  */
        .npa-modal-body.npa-modal-scrollable {
            overflow-y: auto;
            max-height: 60vh;
            min-height: 200px;
        }

    /* Ensure the modal dialog has proper height constraints for scrollable content */
    .npa-modal-dialog:has(.npa-modal-scrollable) {
        max-height: 80vh;
    }

    /* Fallback for browsers that don't support :has() */
    .npa-modal-dialog .npa-modal-scrollable {
        max-height: 60vh;
    }


    .dark .npa-modal-body {
        color: var(--color-text-dark, #f9fafb);
        background: var(--color-background-dark, #111827);
    }

    .npa-modal-body p {
        margin-bottom: 1rem;
        font-size: 1rem;
        color: var(--color-text-light, #1f2937);
    }

    .dark .npa-modal-body p {
        color: var(--color-text-dark, #f9fafb);
    }

    
    /* Number styling in modals */
    .npa-modal-body .text-primary {
        color: var(--color-primary, #0e1e3b) !important;
        font-weight: 700;
    }

    .dark .npa-modal-body .text-primary {
        color: var(--color-primary-light, #3d75a3) !important;
    }

    /* Modal Animation States */
    .npa-modal[x-show] {
        display: block;
    }

    .npa-modal[x-show="true"] .npa-modal-backdrop {
        opacity: 1;
    }

    .npa-modal[x-show="true"] .npa-modal-dialog {
        transform: scale(1);
    }

    /* Modal Animation States */
    .npa-modal[x-show] {
        display: block;
    }

    .npa-modal[x-show="true"] .npa-modal-backdrop {
        opacity: 1;
    }

    .npa-modal[x-show="true"] .npa-modal-dialog {
        transform: scale(1);
    }

    /* Responsive adjustments for mobile devices */
    @media (max-width: 768px) {
        .fade-in-up {
            animation-duration: 0.4s;
        }

        /* Ensure proper spacing on mobile */
        .container {
            padding-left: 1rem;
            padding-right: 1rem;
        }

        .npa-modal-container {
            padding: 0.5rem;
            align-items: flex-start;
            padding-top: 2rem;
        }

        .npa-modal-dialog {
            max-width: 100%;
            margin: 0;
            max-height: calc(100vh - 4rem);
        }

            .npa-modal-dialog.npa-modal-sm {
                max-width: 100%;
            }

            .npa-modal-dialog.npa-modal-md {
                max-width: 100%;
            }

            .npa-modal-dialog.npa-modal-lg {
                max-width: 100%;
            }

            .npa-modal-dialog.npa-modal-full {
                max-width: 100%;
                max-height: calc(100vh - 1rem);
                margin: 0.5rem;
            }

        .npa-modal-header,
        .npa-modal-body {
            padding: 1rem 1.5rem;
        }

        .npa-modal-title {
            font-size: 1.25rem;
        }

        .npa-modal-close {
            padding: 0.375rem;
        }
        /* Auto-scroll for all modal bodies on mobile */
        .npa-modal-body {
            max-height: calc(100vh - 8rem); /* Account for header and padding */
            min-height: 200px;
        }

        /* Ensure modal content doesn't exceed viewport */
        .npa-modal-content {
            max-height: calc(100vh - 2rem);
        }
    }

    /* Tablet adjustments */
    @media (min-width: 769px) and (max-width: 1024px) {
        .npa-modal-container {
            padding: 1.5rem;
        }

        .npa-modal-dialog.npa-modal-lg {
            max-width: 90vw;
        }

        .npa-modal-dialog.npa-modal-full {
            max-width: 95vw;
            max-height: 90vh;
        }

        .npa-modal-body {
            max-height: 70vh;
        }

        .npa-modal-content {
            max-height: 85vh;
        }
    }

    /* Large screen adjustments */
    @media (min-width: 1025px) {
        .npa-modal-container {
            padding: 2rem;
        }

        .npa-modal-dialog.npa-modal-full {
            max-width: 90vw;
            max-height: 85vh;
        }
    }

    /* Custom scrollbar for modal body */
    .npa-modal-body::-webkit-scrollbar {
        width: 6px;
    }

    .npa-modal-body::-webkit-scrollbar-track {
        background: var(--color-surface-light, #f9fafb);
        border-radius: 3px;
    }

    .dark .npa-modal-body::-webkit-scrollbar-track {
        background: var(--color-surface-dark, #1f2937);
    }

    .npa-modal-body::-webkit-scrollbar-thumb {
        background: var(--color-primary-light, #3d75a3);
        border-radius: 3px;
    }

        .npa-modal-body::-webkit-scrollbar-thumb:hover {
            background: var(--color-primary, #0e1e3b);
        }
}

.responsive-separator {
    display: inline-block; 
    margin: 0 0.15em; 
    vertical-align: middle; 
}