@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&amp;family=Inter:wght@300;400;500;600;700&amp;display=swap";

:root {
    --color-primary-50: #e8f4fe;
    --color-primary-100: #c7e4fd;
    --color-primary-200: #90c9fb;
    --color-primary-300: #59aef9;
    --color-primary-400: #2293f7;
    --color-primary-500: #0b63c6;
    --color-primary-600: #1273e6;
    --color-primary-700: #0a52a3;
    --color-primary-800: #073b75;
    --color-primary-900: #042547;
    --color-accent-400: #ffd97a;
    --color-accent-500: #ffc857;
    --color-accent-600: #e6a82d;
    --color-neutral-50: #f7fbff;
    --color-neutral-100: #eef5fc;
    --color-neutral-200: #dbe8f4;
    --color-neutral-300: #b8cedf;
    --color-neutral-400: #8ba6bc;
    --color-neutral-500: #617a8e;
    --color-neutral-600: #455564;
    --color-neutral-700: #2e3a45;
    --color-neutral-800: #1a2330;
    --color-neutral-900: #0d1219;
    --color-success: #22c55e;
    --color-warning: #f59e0b;
    --color-error: #ef4444;
    --gradient-primary: linear-gradient(135deg, #1273e6 0%, #00a0ff 100%);
    --gradient-hero: linear-gradient(180deg, #0b63c6 0%, #1273e6 50%, #00a0ff 100%);
    --gradient-card: linear-gradient(145deg, #fffffff2 0%, #f7fbffe6 100%);
    --gradient-glass: linear-gradient(135deg, #fff3 0%, #ffffff0d 100%);
    --shadow-sm: 0 1px 2px #0b63c60d;
    --shadow-md: 0 4px 12px #0b63c61a;
    --shadow-lg: 0 8px 24px #0b63c626;
    --shadow-xl: 0 16px 48px #0b63c633;
    --shadow-glow: 0 0 40px #1273e64d;
    --shadow-card: 0 4px 20px #0b63c614, 0 1px 3px #0000000a;
    --shadow-button: 0 4px 14px #1273e659;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;
    --space-20: 80px;
    --space-24: 96px;
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;
    --font-heading: "Poppins", system-ui, sans-serif;
    --font-body: "Inter", system-ui, sans-serif;
    --transition-fast: .15s cubic-bezier(.4, 0, .2, 1);
    --transition-base: .25s cubic-bezier(.4, 0, .2, 1);
    --transition-slow: .4s cubic-bezier(.4, 0, .2, 1);
    --transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

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

html {
    scroll-behavior: smooth
}

body {
    font-family: var(--font-body);
    color: var(--color-neutral-800);
    background-color: var(--color-neutral-50);
    min-height: 100vh;
    font-weight: 400;
    line-height: 1.6;
    overflow-x: hidden
}

#root {
    width: 100%;
    min-height: 100vh
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    color: var(--color-neutral-900);
    font-weight: 700;
    line-height: 1.2
}

a {
    color: inherit;
    transition: color var(--transition-fast);
    text-decoration: none
}

button {
    font-family: var(--font-body);
    cursor: pointer;
    background: 0 0;
    border: none
}

img {
    max-width: 100%;
    height: auto;
    display: block
}

::selection {
    background-color: var(--color-primary-200);
    color: var(--color-primary-900)
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px
}

::-webkit-scrollbar-track {
    background: var(--color-neutral-100)
}

::-webkit-scrollbar-thumb {
    background: var(--color-primary-300);
    border-radius: var(--radius-full)
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary-400)
}

:focus-visible {
    outline: 2px solid var(--color-primary-500);
    outline-offset: 2px
}

@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-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-border-style: solid;
            --tw-font-weight: initial;
            --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-translate-x: 0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1
        }
    }
}

@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-green-500: #00c758;
        --color-purple-500: #ac4bff;
        --color-neutral-50: #f7fbff;
        --color-neutral-100: #eef5fc;
        --color-neutral-200: #dbe8f4;
        --color-neutral-400: #8ba6bc;
        --color-neutral-500: #617a8e;
        --color-neutral-600: #455564;
        --color-neutral-700: #2e3a45;
        --color-neutral-800: #1a2330;
        --color-neutral-900: #0d1219;
        --color-white: #fff;
        --spacing: .25rem;
        --container-md: 28rem;
        --container-2xl: 42rem;
        --container-4xl: 56rem;
        --container-6xl: 72rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1/.75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25/.875);
        --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);
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --radius-lg: .5rem;
        --radius-xl: .75rem;
        --radius-2xl: 1rem;
        --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1)infinite;
        --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1)infinite;
        --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-50: #e8f4fe;
        --color-primary-100: #c7e4fd;
        --color-primary-200: #90c9fb;
        --color-primary-300: #59aef9;
        --color-primary-400: #2293f7;
        --color-primary-500: #0b63c6;
        --color-primary-600: #1273e6;
        --color-primary-700: #0a52a3;
        --color-primary-900: #042547;
        --color-accent-500: #ffc857;
        --font-heading: "Poppins", system-ui, sans-serif;
        --font-body: "Inter", system-ui, sans-serif
    }

    @supports (color:lab(0% 0 0)) {

        :root,
        :host {
            --color-green-500: lab(70.5521% -66.5147 45.8072);
            --color-purple-500: lab(52.0183% 66.11 -78.2316)
        }
    }
}

@layer base {

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

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

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

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

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

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

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

    b,
    strong {
        font-weight: bolder
    }

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

    small {
        font-size: 80%
    }

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

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

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

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

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

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

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

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

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

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

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

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

    ::placeholder {
        opacity: 1
    }

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

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

    textarea {
        resize: vertical
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@layer components;

@layer utilities {
    .collapse {
        visibility: collapse
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

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

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

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

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

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

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

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

    .block {
        display: block
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline-block {
        display: inline-block
    }

    .inline-flex {
        display: inline-flex
    }

    .table {
        display: table
    }

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

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

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

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

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

    .max-h-\[calc\(90vh-80px\)\] {
        max-height: calc(90vh - 80px)
    }

    .min-h-screen {
        min-height: 100vh
    }

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

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

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

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

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

    .w-full {
        width: 100%
    }

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

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

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

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

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

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

    .min-w-\[600px\] {
        min-width: 600px
    }

    .flex-1 {
        flex: 1
    }

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

    .rotate-180 {
        rotate: 180deg
    }

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

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

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

    .cursor-pointer {
        cursor: pointer
    }

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

    .items-center {
        align-items: center
    }

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

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

    .justify-center {
        justify-content: center
    }

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

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

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

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

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

    .overflow-hidden {
        overflow: hidden
    }

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

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

    .rounded {
        border-radius: .25rem
    }

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

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

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

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

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

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

    .border-neutral-200 {
        border-color: var(--color-neutral-200)
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .text-center {
        text-align: center
    }

    .text-left {
        text-align: left
    }

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

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

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

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

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

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

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

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

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

    .text-neutral-500 {
        color: var(--color-neutral-500)
    }

    .text-neutral-600 {
        color: var(--color-neutral-600)
    }

    .text-neutral-900 {
        color: var(--color-neutral-900)
    }

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

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

    .uppercase {
        text-transform: uppercase
    }

    .underline {
        text-decoration-line: underline
    }

    .filter {
        filter: var(--tw-blur, )var(--tw-brightness, )var(--tw-contrast, )var(--tw-grayscale, )var(--tw-hue-rotate, )var(--tw-invert, )var(--tw-saturate, )var(--tw-sepia, )var(--tw-drop-shadow, )
    }

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

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

        .group-hover\:text-primary-600:is(:where(.group):hover *) {
            color: var(--color-primary-600)
        }

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

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

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

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

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

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

    @media (min-width:40rem) {
        .sm\:grid-cols-2 {
            grid-template-columns: repeat(2, minmax(0, 1fr))
        }
    }
}

.container-main {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem
}

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

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

.section-padding {
    padding-top: 5rem;
    padding-bottom: 5rem
}

@media (min-width:1024px) {
    .section-padding {
        padding-top: 7rem;
        padding-bottom: 7rem
    }
}

.flex-center {
    justify-content: center;
    align-items: center;
    display: flex
}

.text-center-all {
    text-align: center
}

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

@media (min-width:1024px) {
    .lg-grid-2 {
        grid-template-columns: repeat(2, 1fr) !important
    }

    .lg-text-left {
        text-align: left !important
    }

    .lg-justify-start {
        justify-content: flex-start !important
    }

    .lg-justify-end {
        justify-content: flex-end !important
    }

    .lg-items-start {
        align-items: flex-start !important
    }

    .lg-hidden {
        display: none !important
    }

    .lg-flex {
        display: flex !important
    }

    .lg-block {
        display: block !important
    }

    .lg-mx-0 {
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    .lg-col-span-1 {
        grid-column: span 1 !important
    }
}

@media (min-width:640px) {
    .sm-flex-row {
        flex-direction: row !important
    }

    .sm-grid-2 {
        grid-template-columns: repeat(2, 1fr) !important
    }

    .sm-market-row-right,
    .sm-market-row-actions {
        flex-direction: row !important;
        align-items: center !important
    }

    .sm-market-row-play {
        width: auto !important
    }

    .sm-market-row-charts {
        justify-content: flex-start !important
    }

    .sm-market-row-result {
        text-align: right !important
    }
}

.market-row-right {
    flex-direction: column;
    align-items: stretch;
    gap: .75rem;
    display: flex
}

.market-row-actions {
    flex-direction: column;
    align-items: stretch;
    gap: .5rem;
    display: flex
}

.market-row-charts {
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    display: flex
}

.market-row-result {
    text-align: left
}

.market-row-play {
    width: 100%
}

.download-features {
    grid-template-columns: 1fr !important
}

.download-feature-pill {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background: #ffffff1f;
    border: 1px solid #ffffff2e;
    border-radius: 9999px;
    width: 100%;
    padding: .75rem 1rem
}

@media (min-width:640px) {
    .download-features {
        grid-template-columns: repeat(2, 1fr) !important
    }

    .download-feature-pill {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        background: 0 0;
        border: 0;
        border-radius: 0;
        padding: 0
    }

    .hero-badge {
        margin-left: 0 !important;
        margin-right: auto !important
    }
}

.hero-badge {
    margin-left: auto;
    margin-right: auto
}

.hover-lift:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 35px #0a52a324 !important
}

@media (min-width:768px) {
    .md-grid-4 {
        grid-template-columns: repeat(4, 1fr) !important
    }
}

@keyframes float {

    0%,
    to {
        transform: translateY(0)
    }

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

@keyframes pulse-glow {

    0%,
    to {
        box-shadow: 0 0 20px #1273e64d
    }

    50% {
        box-shadow: 0 0 40px #1273e680
    }
}

@keyframes shimmer {
    0% {
        background-position: -200% 0
    }

    to {
        background-position: 200% 0
    }
}

@keyframes slide-up {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

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

@keyframes slide-down {
    0% {
        opacity: 0;
        transform: translateY(-20px)
    }

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

@keyframes scale-in {
    0% {
        opacity: 0;
        transform: scale(.95)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes bounce-subtle {

    0%,
    to {
        transform: translateY(0)
    }

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

@keyframes wave {
    0% {
        transform: translate(0)translateZ(0)scaleY(1)
    }

    50% {
        transform: translate(-25%)translateZ(0)scaleY(.55)
    }

    to {
        transform: translate(-50%)translateZ(0)scaleY(1)
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

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

.animate-pulse-glow {
    animation: 2s ease-in-out infinite pulse-glow
}

.animate-shimmer {
    background: linear-gradient(90deg, #0000, #fff6, #0000) 0 0/200% 100%;
    animation: 2s infinite shimmer
}

.animate-slide-up {
    animation: .6s ease-out forwards slide-up
}

.animate-slide-down {
    animation: .5s ease-out forwards slide-down
}

.animate-scale-in {
    animation: .4s ease-out forwards scale-in
}

.animate-fade-in {
    animation: .5s ease-out forwards fade-in
}

.animate-bounce-subtle {
    animation: 2s ease-in-out infinite bounce-subtle
}

.delay-100 {
    animation-delay: .1s
}

.delay-200 {
    animation-delay: .2s
}

.delay-300 {
    animation-delay: .3s
}

.delay-400 {
    animation-delay: .4s
}

.delay-500 {
    animation-delay: .5s
}

@keyframes ping {

    75%,
    to {
        opacity: 0;
        transform: scale(2)
    }
}

.animate-ping {
    animation: 1s cubic-bezier(0, 0, .2, 1) infinite ping
}

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

@keyframes pulse {
    50% {
        opacity: .5
    }
}

.glass {
    -webkit-backdrop-filter: blur(12px);
    background: #ffffffd9;
    border: 1px solid #ffffff4d
}

.glass-dark {
    -webkit-backdrop-filter: blur(12px);
    background: #0b63c61a;
    border: 1px solid #1273e633
}

.bg-gradient-primary {
    background: linear-gradient(135deg, #1273e6 0%, #00a0ff 100%)
}

.bg-gradient-hero {
    background: linear-gradient(#0b63c6 0%, #1273e6 50%, #00a0ff 100%)
}

.bg-gradient-radial {
    background: radial-gradient(at top, #1273e6 0%, #0b63c6 50%, #073b75 100%)
}

.bg-mesh {
    background-color: var(--color-neutral-50);
    background-image: radial-gradient(at 40% 20%, #1273e614 0, #0000 50%), radial-gradient(at 80% 0, #00a0ff0f 0, #0000 50%), radial-gradient(at 0%, #ffc8570d 0, #0000 50%), radial-gradient(at 80%, #1273e60a 0, #0000 50%), radial-gradient(at 0 100%, #00a0ff0f 0, #0000 50%)
}

.shadow-card {
    box-shadow: 0 4px 20px #0b63c614, 0 1px 3px #0000000a
}

.shadow-card-hover {
    box-shadow: 0 8px 30px #0b63c61f, 0 2px 6px #0000000f
}

.shadow-glow {
    box-shadow: 0 0 40px #1273e64d
}

.shadow-button {
    box-shadow: 0 4px 14px #1273e659
}

.shadow-button-hover {
    box-shadow: 0 6px 20px #1273e673
}

.btn-primary {
    font-family: var(--font-heading);
    color: #fff;
    background: linear-gradient(135deg, #1273e6 0%, #00a0ff 100%);
    border-radius: 50px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    transition: all .3s cubic-bezier(.4, 0, .2, 1);
    display: inline-flex;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 14px #1273e659
}

.btn-primary:before {
    content: "";
    background: linear-gradient(90deg, #0000, #fff3, #0000);
    width: 100%;
    height: 100%;
    transition: left .5s;
    position: absolute;
    top: 0;
    left: -100%
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px #1273e673
}

.btn-primary:hover:before {
    left: 100%
}

.btn-primary:active {
    transform: translateY(0)
}

.btn-secondary {
    font-family: var(--font-heading);
    color: #0b63c6;
    background: #fff;
    border: 2px solid #dbe8f4;
    border-radius: 50px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    transition: all .3s cubic-bezier(.4, 0, .2, 1);
    display: inline-flex
}

.btn-secondary:hover {
    background: #e8f4fe;
    border-color: #1273e6;
    transform: translateY(-2px)
}

.btn-accent {
    font-family: var(--font-heading);
    color: #042547;
    background: linear-gradient(135deg, #ffc857 0%, #ffd97a 100%);
    border-radius: 50px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    transition: all .3s cubic-bezier(.4, 0, .2, 1);
    display: inline-flex;
    box-shadow: 0 4px 14px #ffc85759
}

.btn-accent:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px #ffc85780
}

.card {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    transition: all .3s cubic-bezier(.4, 0, .2, 1);
    box-shadow: 0 4px 20px #0b63c614, 0 1px 3px #0000000a
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px #0b63c61f, 0 2px 6px #0000000f
}

.card-glass {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background: #ffffffe6;
    border: 1px solid #ffffff80;
    border-radius: 16px;
    padding: 24px
}

.section-divider {
    position: relative;
    overflow: hidden
}

.section-divider:before {
    content: "";
    background: linear-gradient(90deg, #0000, #dbe8f4, #0000);
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.wave-top {
    width: 100%;
    line-height: 0;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden
}

.wave-bottom {
    width: 100%;
    line-height: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    overflow: hidden;
    transform: rotate(180deg)
}

.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
    height: 6px
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: 0 0
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #b8cedf;
    border-radius: 10px
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #8ba6bc
}

.slider-dot {
    cursor: pointer;
    background: #fff6;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    transition: all .3s
}

.slider-dot.active {
    background: #fff;
    border-radius: 5px;
    width: 32px
}

.tab-button {
    font-family: var(--font-heading);
    color: #617a8e;
    white-space: nowrap;
    background: 0 0;
    border-radius: 50px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    transition: all .3s
}

.tab-button:hover {
    color: #1273e6;
    background: #e8f4fe
}

.tab-button.active {
    color: #fff;
    background: linear-gradient(135deg, #1273e6 0%, #00a0ff 100%);
    box-shadow: 0 4px 14px #1273e640
}

.rate-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%
}

.rate-table th {
    font-family: var(--font-heading);
    color: #617a8e;
    text-transform: uppercase;
    letter-spacing: .5px;
    background: #f7fbff;
    border-bottom: 2px solid #dbe8f4;
    padding: 16px 12px;
    font-size: 13px;
    font-weight: 600
}

.rate-table td {
    font-family: var(--font-heading);
    color: #0b63c6;
    text-align: center;
    border-bottom: 1px solid #eef5fc;
    padding: 16px 12px;
    font-size: 18px;
    font-weight: 700
}

.rate-table tbody tr {
    transition: background .2s
}

.rate-table tbody tr:hover {
    background: #e8f4fe
}

.search-input {
    width: 100%;
    font-family: var(--font-body);
    color: #1a2330;
    background: #fff;
    border: 2px solid #dbe8f4;
    border-radius: 12px;
    padding: 14px 20px 14px 48px;
    font-size: 15px;
    transition: all .3s
}

.search-input:focus {
    border-color: #1273e6;
    outline: none;
    box-shadow: 0 0 0 4px #1273e61a
}

.search-input::placeholder {
    color: #8ba6bc
}

.modal-overlay {
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 100;
    background: #0d1219b3;
    justify-content: center;
    align-items: center;
    padding: 20px;
    animation: .3s fade-in;
    display: flex;
    position: fixed;
    inset: 0
}

.modal-content {
    background: #fff;
    border-radius: 24px;
    width: 100%;
    max-width: 900px;
    max-height: 90vh;
    animation: .3s scale-in;
    overflow: hidden
}

.badge {
    font-family: var(--font-body);
    border-radius: 50px;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    display: inline-flex
}

.badge-success {
    color: #166534;
    background: #dcfce7
}

.badge-warning {
    color: #92400e;
    background: #fef3c7
}

.badge-info {
    color: #0b63c6;
    background: #e8f4fe
}

.whatsapp-float {
    z-index: 90;
    cursor: pointer;
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    transition: all .3s cubic-bezier(.4, 0, .2, 1);
    display: flex;
    position: fixed;
    bottom: 24px;
    right: 24px;
    box-shadow: 0 4px 20px #25d36666
}

.whatsapp-float:hover {
    transform: scale(1.1)translateY(-4px);
    box-shadow: 0 8px 30px #25d36680
}

.whatsapp-float svg {
    fill: #fff;
    width: 32px;
    height: 32px
}

@media (max-width:768px) {

    .btn-primary,
    .btn-secondary,
    .btn-accent {
        padding: 12px 24px;
        font-size: 14px
    }

    .card {
        border-radius: 12px;
        padding: 20px
    }

    .rate-table td {
        padding: 12px 8px;
        font-size: 16px
    }

    .rate-table th {
        padding: 12px 8px;
        font-size: 11px
    }
}

.result-number {
    font-family: var(--font-heading);
    color: #0b63c6;
    letter-spacing: 2px;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(135deg, #1273e6 0%, #00a0ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    font-size: 28px;
    font-weight: 800
}

.result-number-large {
    font-family: var(--font-heading);
    letter-spacing: 4px;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(135deg, #1273e6 0%, #00a0ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    font-size: 42px;
    font-weight: 800
}

@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-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

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