 *,
 ::before,
 ::after {
     --tw-border-spacing-x: 0;
     --tw-border-spacing-y: 0;
     --tw-translate-x: 0;
     --tw-translate-y: 0;
     --tw-rotate: 0;
     --tw-skew-x: 0;
     --tw-skew-y: 0;
     --tw-scale-x: 1;
     --tw-scale-y: 1;
     --tw-pan-x: ;
     --tw-pan-y: ;
     --tw-pinch-zoom: ;
     --tw-scroll-snap-strictness: proximity;
     --tw-gradient-from-position: ;
     --tw-gradient-via-position: ;
     --tw-gradient-to-position: ;
     --tw-ordinal: ;
     --tw-slashed-zero: ;
     --tw-numeric-figure: ;
     --tw-numeric-spacing: ;
     --tw-numeric-fraction: ;
     --tw-ring-inset: ;
     --tw-ring-offset-width: 0px;
     --tw-ring-offset-color: #fff;
     --tw-ring-color: rgb(59 130 246 / 0.5);
     --tw-ring-offset-shadow: 0 0 #0000;
     --tw-ring-shadow: 0 0 #0000;
     --tw-shadow: 0 0 #0000;
     --tw-shadow-colored: 0 0 #0000;
     --tw-blur: ;
     --tw-brightness: ;
     --tw-contrast: ;
     --tw-grayscale: ;
     --tw-hue-rotate: ;
     --tw-invert: ;
     --tw-saturate: ;
     --tw-sepia: ;
     --tw-drop-shadow: ;
     --tw-backdrop-blur: ;
     --tw-backdrop-brightness: ;
     --tw-backdrop-contrast: ;
     --tw-backdrop-grayscale: ;
     --tw-backdrop-hue-rotate: ;
     --tw-backdrop-invert: ;
     --tw-backdrop-opacity: ;
     --tw-backdrop-saturate: ;
     --tw-backdrop-sepia: ;
     --tw-contain-size: ;
     --tw-contain-layout: ;
     --tw-contain-paint: ;
     --tw-contain-style:
 }

 ::backdrop {
     --tw-border-spacing-x: 0;
     --tw-border-spacing-y: 0;
     --tw-translate-x: 0;
     --tw-translate-y: 0;
     --tw-rotate: 0;
     --tw-skew-x: 0;
     --tw-skew-y: 0;
     --tw-scale-x: 1;
     --tw-scale-y: 1;
     --tw-pan-x: ;
     --tw-pan-y: ;
     --tw-pinch-zoom: ;
     --tw-scroll-snap-strictness: proximity;
     --tw-gradient-from-position: ;
     --tw-gradient-via-position: ;
     --tw-gradient-to-position: ;
     --tw-ordinal: ;
     --tw-slashed-zero: ;
     --tw-numeric-figure: ;
     --tw-numeric-spacing: ;
     --tw-numeric-fraction: ;
     --tw-ring-inset: ;
     --tw-ring-offset-width: 0px;
     --tw-ring-offset-color: #fff;
     --tw-ring-color: rgb(59 130 246 / 0.5);
     --tw-ring-offset-shadow: 0 0 #0000;
     --tw-ring-shadow: 0 0 #0000;
     --tw-shadow: 0 0 #0000;
     --tw-shadow-colored: 0 0 #0000;
     --tw-blur: ;
     --tw-brightness: ;
     --tw-contrast: ;
     --tw-grayscale: ;
     --tw-hue-rotate: ;
     --tw-invert: ;
     --tw-saturate: ;
     --tw-sepia: ;
     --tw-drop-shadow: ;
     --tw-backdrop-blur: ;
     --tw-backdrop-brightness: ;
     --tw-backdrop-contrast: ;
     --tw-backdrop-grayscale: ;
     --tw-backdrop-hue-rotate: ;
     --tw-backdrop-invert: ;
     --tw-backdrop-opacity: ;
     --tw-backdrop-saturate: ;
     --tw-backdrop-sepia: ;
     --tw-contain-size: ;
     --tw-contain-layout: ;
     --tw-contain-paint: ;
     --tw-contain-style:
 }

 /* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */
 *,
 ::after,
 ::before {
     box-sizing: border-box;
     border-width: 0;
     border-style: solid;
     border-color: #e5e7eb
 }

 ::after,
 ::before {
     --tw-content: ''
 }

 :host,
 html {
     line-height: 1.5;
     -webkit-text-size-adjust: 100%;
     -moz-tab-size: 4;
     tab-size: 4;
     font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
     font-feature-settings: normal;
     font-variation-settings: normal;
     -webkit-tap-highlight-color: transparent
 }

 body {
     margin: 0;
     line-height: inherit
 }

 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;
     text-decoration: inherit
 }

 b,
 strong {
     font-weight: bolder
 }

 code,
 kbd,
 pre,
 samp {
     font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
     font-feature-settings: normal;
     font-variation-settings: normal;
     font-size: 1em
 }

 small {
     font-size: 80%
 }

 sub,
 sup {
     font-size: 75%;
     line-height: 0;
     position: relative;
     vertical-align: baseline
 }

 sub {
     bottom: -.25em
 }

 sup {
     top: -.5em
 }

 table {
     text-indent: 0;
     border-color: inherit;
     border-collapse: collapse
 }

 button,
 input,
 optgroup,
 select,
 textarea {
     font-family: inherit;
     font-feature-settings: inherit;
     font-variation-settings: inherit;
     font-size: 100%;
     font-weight: inherit;
     line-height: inherit;
     letter-spacing: inherit;
     color: inherit;
     margin: 0;
     padding: 0
 }

 button,
 select {
     text-transform: none
 }

 button,
 input:where([type=button]),
 input:where([type=reset]),
 input:where([type=submit]) {
     -webkit-appearance: button;
     background-color: transparent;
     background-image: none
 }

 :-moz-focusring {
     outline: auto
 }

 :-moz-ui-invalid {
     box-shadow: none
 }

 progress {
     vertical-align: baseline
 }

 ::-webkit-inner-spin-button,
 ::-webkit-outer-spin-button {
     height: auto
 }

 [type=search] {
     -webkit-appearance: textfield;
     outline-offset: -2px
 }

 ::-webkit-search-decoration {
     -webkit-appearance: none
 }

 ::-webkit-file-upload-button {
     -webkit-appearance: button;
     font: inherit
 }

 summary {
     display: list-item
 }

 blockquote,
 dd,
 dl,
 figure,
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 hr,
 p,
 pre {
     margin: 0
 }

 fieldset {
     margin: 0;
     padding: 0
 }

 legend {
     padding: 0
 }

 menu,
 ol,
 ul {
     list-style: none;
     margin: 0;
     padding: 0
 }

 dialog {
     padding: 0
 }

 textarea {
     resize: vertical
 }

 input::placeholder,
 textarea::placeholder {
     opacity: 1;
     color: #9ca3af
 }

 [role=button],
 button {
     cursor: pointer
 }

 :disabled {
     cursor: default
 }

 audio,
 canvas,
 embed,
 iframe,
 img,
 object,
 svg,
 video {
     display: block;
     vertical-align: middle
 }

 img,
 video {
     max-width: 100%;
     height: auto
 }

 [hidden]:where(:not([hidden=until-found])) {
     display: none
 }

 .sticky {
     position: sticky
 }

 .top-0 {
     top: 0px
 }

 .z-50 {
     z-index: 50
 }

 .order-1 {
     order: 1
 }

 .order-2 {
     order: 2
 }

 .mx-auto {
     margin-left: auto;
     margin-right: auto
 }

 .mb-12 {
     margin-bottom: 3rem
 }

 .mb-16 {
     margin-bottom: 4rem
 }

 .mb-2 {
     margin-bottom: 0.5rem
 }

 .mb-3 {
     margin-bottom: 0.75rem
 }

 .mb-4 {
     margin-bottom: 1rem
 }

 .mb-6 {
     margin-bottom: 1.5rem
 }

 .mb-8 {
     margin-bottom: 2rem
 }

 .mt-12 {
     margin-top: 3rem
 }

 .mt-4 {
     margin-top: 1rem
 }

 .mt-6 {
     margin-top: 1.5rem
 }

 .block {
     display: block
 }

 .flex {
     display: flex
 }

 .grid {
     display: grid
 }

 .h-1 {
     height: 0.25rem
 }

 .h-12 {
     height: 3rem
 }

 .h-16 {
     height: 4rem
 }

 .h-6 {
     height: 1.5rem
 }

 .w-1\/4 {
     width: 25%
 }

 .w-12 {
     width: 3rem
 }

 .w-16 {
     width: 4rem
 }

 .w-3\/4 {
     width: 75%
 }

 .w-6 {
     width: 1.5rem
 }

 .max-w-2xl {
     max-width: 42rem
 }

 .max-w-3xl {
     max-width: 48rem
 }

 .max-w-4xl {
     max-width: 56rem
 }

 .max-w-6xl {
     max-width: 72rem
 }

 .shrink-0 {
     flex-shrink: 0
 }

 .cursor-pointer {
     cursor: pointer
 }

 .flex-col {
     flex-direction: column
 }

 .items-center {
     align-items: center
 }

 .justify-center {
     justify-content: center
 }

 .justify-between {
     justify-content: space-between
 }

 .gap-12 {
     gap: 3rem
 }

 .gap-2 {
     gap: 0.5rem
 }

 .gap-4 {
     gap: 1rem
 }

 .gap-6 {
     gap: 1.5rem
 }

 .gap-8 {
     gap: 2rem
 }

 .space-y-4> :not([hidden])~ :not([hidden]) {
     --tw-space-y-reverse: 0;
     margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
     margin-bottom: calc(1rem * var(--tw-space-y-reverse))
 }

 .space-y-6> :not([hidden])~ :not([hidden]) {
     --tw-space-y-reverse: 0;
     margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
     margin-bottom: calc(1.5rem * var(--tw-space-y-reverse))
 }

 .scroll-smooth {
     scroll-behavior: smooth
 }

 .rounded-2xl {
     border-radius: 1rem
 }

 .rounded-3xl {
     border-radius: 1.5rem
 }

 .rounded-full {
     border-radius: 9999px
 }

 .rounded-xl {
     border-radius: 0.75rem
 }

 .rounded-r-2xl {
     border-top-right-radius: 1rem;
     border-bottom-right-radius: 1rem
 }

 .border {
     border-width: 1px
 }

 .border-y {
     border-top-width: 1px;
     border-bottom-width: 1px
 }

 .border-b {
     border-bottom-width: 1px
 }

 .border-l-4 {
     border-left-width: 4px
 }

 .border-t {
     border-top-width: 1px
 }

 .border-indigo-100 {
     --tw-border-opacity: 1;
     border-color: rgb(224 231 255 / var(--tw-border-opacity, 1))
 }

 .border-indigo-500 {
     --tw-border-opacity: 1;
     border-color: rgb(99 102 241 / var(--tw-border-opacity, 1))
 }

 .border-slate-200 {
     --tw-border-opacity: 1;
     border-color: rgb(226 232 240 / var(--tw-border-opacity, 1))
 }

 .border-slate-300 {
     --tw-border-opacity: 1;
     border-color: rgb(203 213 225 / var(--tw-border-opacity, 1))
 }

 .bg-indigo-100 {
     --tw-bg-opacity: 1;
     background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1))
 }

 .bg-indigo-50 {
     --tw-bg-opacity: 1;
     background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1))
 }

 .bg-indigo-500 {
     --tw-bg-opacity: 1;
     background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1))
 }

 .bg-indigo-600 {
     --tw-bg-opacity: 1;
     background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1))
 }

 .bg-indigo-900 {
     --tw-bg-opacity: 1;
     background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1))
 }

 .bg-slate-100 {
     --tw-bg-opacity: 1;
     background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1))
 }

 .bg-slate-200 {
     --tw-bg-opacity: 1;
     background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1))
 }

 .bg-slate-50 {
     --tw-bg-opacity: 1;
     background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1))
 }

 .bg-white {
     --tw-bg-opacity: 1;
     background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
 }

 .p-6 {
     padding: 1.5rem
 }

 .p-8 {
     padding: 2rem
 }

 .px-10 {
     padding-left: 2.5rem;
     padding-right: 2.5rem
 }

 .px-12 {
     padding-left: 3rem;
     padding-right: 3rem
 }

 .px-6 {
     padding-left: 1.5rem;
     padding-right: 1.5rem
 }

 .px-8 {
     padding-left: 2rem;
     padding-right: 2rem
 }

 .py-12 {
     padding-top: 3rem;
     padding-bottom: 3rem
 }

 .py-16 {
     padding-top: 4rem;
     padding-bottom: 4rem
 }

 .py-2\.5 {
     padding-top: 0.625rem;
     padding-bottom: 0.625rem
 }

 .py-20 {
     padding-top: 5rem;
     padding-bottom: 5rem
 }

 .py-4 {
     padding-top: 1rem;
     padding-bottom: 1rem
 }

 .py-5 {
     padding-top: 1.25rem;
     padding-bottom: 1.25rem
 }

 .text-center {
     text-align: center
 }

 .text-2xl {
     font-size: 1.5rem;
     line-height: 2rem
 }

 .text-3xl {
     font-size: 1.875rem;
     line-height: 2.25rem
 }

 .text-4xl {
     font-size: 2.25rem;
     line-height: 2.5rem
 }

 .text-5xl {
     font-size: 3rem;
     line-height: 1
 }

 .text-lg {
     font-size: 1.125rem;
     line-height: 1.75rem
 }

 .text-sm {
     font-size: 0.875rem;
     line-height: 1.25rem
 }

 .text-xl {
     font-size: 1.25rem;
     line-height: 1.75rem
 }

 .font-bold {
     font-weight: 700
 }

 .font-extrabold {
     font-weight: 800
 }

 .font-medium {
     font-weight: 500
 }

 .font-semibold {
     font-weight: 600
 }

 .uppercase {
     text-transform: uppercase
 }

 .italic {
     font-style: italic
 }

 .leading-relaxed {
     line-height: 1.625
 }

 .leading-tight {
     line-height: 1.25
 }

 .tracking-tighter {
     letter-spacing: -0.05em
 }

 .tracking-wider {
     letter-spacing: 0.05em
 }

 .tracking-widest {
     letter-spacing: 0.1em
 }

 .text-green-500 {
     --tw-text-opacity: 1;
     color: rgb(34 197 94 / var(--tw-text-opacity, 1))
 }

 .text-indigo-100 {
     --tw-text-opacity: 1;
     color: rgb(224 231 255 / var(--tw-text-opacity, 1))
 }

 .text-indigo-300 {
     --tw-text-opacity: 1;
     color: rgb(165 180 252 / var(--tw-text-opacity, 1))
 }

 .text-indigo-500 {
     --tw-text-opacity: 1;
     color: rgb(99 102 241 / var(--tw-text-opacity, 1))
 }

 .text-indigo-600 {
     --tw-text-opacity: 1;
     color: rgb(79 70 229 / var(--tw-text-opacity, 1))
 }

 .text-indigo-700 {
     --tw-text-opacity: 1;
     color: rgb(67 56 202 / var(--tw-text-opacity, 1))
 }

 .text-indigo-900 {
     --tw-text-opacity: 1;
     color: rgb(49 46 129 / var(--tw-text-opacity, 1))
 }

 .text-slate-500 {
     --tw-text-opacity: 1;
     color: rgb(100 116 139 / var(--tw-text-opacity, 1))
 }

 .text-slate-600 {
     --tw-text-opacity: 1;
     color: rgb(71 85 105 / var(--tw-text-opacity, 1))
 }

 .text-slate-800 {
     --tw-text-opacity: 1;
     color: rgb(30 41 59 / var(--tw-text-opacity, 1))
 }

 .text-slate-900 {
     --tw-text-opacity: 1;
     color: rgb(15 23 42 / var(--tw-text-opacity, 1))
 }

 .text-slate-950 {
     --tw-text-opacity: 1;
     color: rgb(2 6 23 / var(--tw-text-opacity, 1))
 }

 .text-white {
     --tw-text-opacity: 1;
     color: rgb(255 255 255 / var(--tw-text-opacity, 1))
 }

 .shadow-lg {
     --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
     --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
     box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
 }

 .shadow-sm {
     --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
     --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
     box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
 }

 .shadow-indigo-100 {
     --tw-shadow-color: #e0e7ff;
     --tw-shadow: var(--tw-shadow-colored)
 }

 .outline-none {
     outline: 2px solid transparent;
     outline-offset: 2px
 }

 .transition {
     transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
     transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
     transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
     transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
     transition-duration: 150ms
 }

 .hover\:bg-indigo-700:hover {
     --tw-bg-opacity: 1;
     background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1))
 }

 .hover\:bg-slate-50:hover {
     --tw-bg-opacity: 1;
     background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1))
 }

 @media (min-width: 640px) {
     .sm\:flex-row {
         flex-direction: row
     }
 }

 @media (min-width: 768px) {
     .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))
     }
 }

 @media (min-width: 1024px) {
     .lg\:grid-cols-4 {
         grid-template-columns: repeat(4, minmax(0, 1fr))
     }
 }