/*! Overite - Building Africa's Digital Future | v1.0 */
*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
::after,::before{--tw-content:''}
html{-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji'}
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-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-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
[type=button],[type=reset],[type=submit],button{-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}
textarea{resize:vertical}
input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}
input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}
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]{display:none}
*,::after,::before{--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-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 / .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: }

/* ! tailwindcss v3.3.0 | MIT License | https://tailwindcss.com */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.pointer-events-none{pointer-events:none}
.visible{visibility:visible}
.invisible{visibility:hidden}
.collapse{visibility:collapse}
.static{position:static}
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.sticky{position:sticky}
.-inset-0\.5{top:-.125rem;right:-.125rem;bottom:-.125rem;left:-.125rem}
.inset-0{top:0;right:0;bottom:0;left:0}
.inset-x-0{left:0;right:0}
.-top-1{top:-.25rem}
.-top-2{top:-.5rem}
.bottom-0{bottom:0}
.left-0{left:0}
.left-1\/2{left:50%}
.right-0{right:0}
.right-2{right:.5rem}
.right-3{right:.75rem}
.right-4{right:1rem}
.top-0{top:0}
.top-1\/2{top:50%}
.top-2{top:.5rem}
.top-3{top:.75rem}
.top-4{top:1rem}
.top-full{top:100%}
.z-0{z-index:0}
.z-10{z-index:10}
.z-20{z-index:20}
.z-30{z-index:30}
.z-40{z-index:40}
.z-50{z-index:50}
.col-span-1{grid-column:span 1 / span 1}
.col-span-2{grid-column:span 2 / span 2}
.float-right{float:right}
.m-0{margin:0}
.m-1{margin:.25rem}
.-mx-4{margin-left:-1rem;margin-right:-1rem}
.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}
.mx-auto{margin-left:auto;margin-right:auto}
.my-12{margin-top:3rem;margin-bottom:3rem}
.my-16{margin-top:4rem;margin-bottom:4rem}
.my-6{margin-top:1.5rem;margin-bottom:1.5rem}
.my-8{margin-top:2rem;margin-bottom:2rem}
.-mb-px{margin-bottom:-1px}
.mb-1{margin-bottom:.25rem}
.mb-10{margin-bottom:2.5rem}
.mb-12{margin-bottom:3rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.ml-1{margin-left:.25rem}
.ml-2{margin-left:.5rem}
.ml-3{margin-left:.75rem}
.ml-4{margin-left:1rem}
.ml-auto{margin-left:auto}
.mr-1{margin-right:.25rem}
.mr-2{margin-right:.5rem}
.mr-3{margin-right:.75rem}
.mr-4{margin-right:1rem}
.mt-1{margin-top:.25rem}
.mt-12{margin-top:3rem}
.mt-16{margin-top:4rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mt-auto{margin-top:auto}
.block{display:block}
.inline-block{display:inline-block}
.inline{display:inline}
.flex{display:flex}
.inline-flex{display:inline-flex}
.table{display:table}
.grid{display:grid}
.hidden{display:none}
.aspect-video{aspect-ratio:16 / 9}
.h-0\.5{height:.125rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-16{height:4rem}
.h-24{height:6rem}
.h-3{height:.75rem}
.h-4{height:1rem}
.h-48{height:12rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-64{height:16rem}
.h-7{height:1.75rem}
.h-8{height:2rem}
.h-9{height:2.25rem}
.h-\[1px\]{height:1px}
.h-full{height:100%}
.h-screen{height:100vh}
.max-h-0{max-height:0}
.max-h-96{max-height:24rem}
.max-h-\[80vh\]{max-height:80vh}
.min-h-\[400px\]{min-height:400px}
.min-h-screen{min-height:100vh}
.w-10{width:2.5rem}
.w-12{width:3rem}
.w-16{width:4rem}
.w-3{width:.75rem}
.w-4{width:1rem}
.w-48{width:12rem}
.w-5{width:1.25rem}
.w-56{width:14rem}
.w-6{width:1.5rem}
.w-64{width:16rem}
.w-7{width:1.75rem}
.w-72{width:18rem}
.w-8{width:2rem}
.w-9{width:2.25rem}
.w-\[1px\]{width:1px}
.w-auto{width:auto}
.w-full{width:100%}
.min-w-\[200px\]{min-width:200px}
.min-w-\[220px\]{min-width:220px}
.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-6xl{max-width:72rem}
.max-w-7xl{max-width:80rem}
.max-w-lg{max-width:32rem}
.max-w-md{max-width:28rem}
.max-w-screen-xl{max-width:1280px}
.max-w-sm{max-width:24rem}
.max-w-xl{max-width:36rem}
.max-w-xs{max-width:20rem}
.flex-1{flex:1 1 0%}
.flex-shrink-0{flex-shrink:0}
.shrink-0{flex-shrink:0}
.flex-grow{flex-grow:1}
.grow{flex-grow:1}
.basis-full{flex-basis:100%}
.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.translate-y-0{--tw-translate-y:0px}
.translate-y-2{--tw-translate-y:.5rem}
.translate-y-3{--tw-translate-y:.75rem}
.translate-y-4{--tw-translate-y:1rem}
.translate-y-full{--tw-translate-y:100%}
.rotate-180{--tw-rotate:180deg}
.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
@-webkit-keyframes pulse{50%{opacity:.5}}
@keyframes pulse{50%{opacity:.5}}
.animate-pulse{-webkit-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
.cursor-not-allowed{cursor:not-allowed}
.cursor-pointer{cursor:pointer}
.resize{resize:both}
.list-disc{list-style-type:disc}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.content-center{align-content:center}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.items-center{align-items:center}
.items-stretch{align-items:stretch}
.justify-end{justify-content:flex-end}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.justify-items-center{justify-items:center}
.gap-0\.5{gap:.125rem}
.gap-1{gap:.25rem}
.gap-12{gap:3rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}
.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}
.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}
.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}
.gap-y-10{row-gap:2.5rem}
.gap-y-4{row-gap:1rem}
.gap-y-6{row-gap:1.5rem}
.gap-y-8{row-gap:2rem}
.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}
.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}
.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}
.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}
.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}
.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}
.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}
.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}
.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}
.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))}
.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}
.self-start{align-self:flex-start}
.self-end{align-self:flex-end}
.self-center{align-self:center}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.overflow-x-hidden{overflow-x:hidden}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.whitespace-nowrap{white-space:nowrap}
.rounded{border-radius:.25rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:.5rem}
.rounded-md{border-radius:.375rem}
.rounded-xl{border-radius:.75rem}
.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}
.border{border-width:1px}
.border-0{border-width:0}
.border-2{border-width:2px}
.border-b{border-bottom-width:1px}
.border-b-2{border-bottom-width:2px}
.border-l{border-left-width:1px}
.border-t{border-top-width:1px}
.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}
.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}
.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}
.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}
.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}
.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254 / var(--tw-border-opacity))}
.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248 / var(--tw-border-opacity))}
.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241 / var(--tw-border-opacity))}
.border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229 / var(--tw-border-opacity))}
.border-transparent{border-color:transparent}
.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}
.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}
.bg-black\/20{background-color:rgb(0 0 0 / .2)}
.bg-black\/30{background-color:rgb(0 0 0 / .3)}
.bg-black\/50{background-color:rgb(0 0 0 / .5)}
.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}
.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}
.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}
.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}
.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}
.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}
.bg-gray-900\/50{background-color:rgb(17 24 39 / .5)}
.bg-gray-900\/80{background-color:rgb(17 24 39 / .8)}
.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231 / var(--tw-bg-opacity))}
.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}
.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255 / var(--tw-bg-opacity))}
.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}
.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}
.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61 / var(--tw-bg-opacity))}
.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}
.bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9 / var(--tw-bg-opacity))}
.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199 / var(--tw-bg-opacity))}
.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234 / var(--tw-bg-opacity))}
.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72 / var(--tw-bg-opacity))}
.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178 / var(--tw-bg-opacity))}
.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}
.bg-indigo-700{--tw-bg-opacity:1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}
.bg-indigo-900\/20{background-color:rgb(49 46 129 / .2)}
.bg-indigo-950{--tw-bg-opacity:1;background-color:rgb(30 27 75 / var(--tw-bg-opacity))}
.bg-transparent{background-color:transparent}
.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}
.bg-white\/10{background-color:rgb(255 255 255 / .1)}
.bg-white\/20{background-color:rgb(255 255 255 / .2)}
.bg-white\/5{background-color:rgb(255 255 255 / .05)}
.bg-white\/50{background-color:rgb(255 255 255 / .5)}
.bg-white\/80{background-color:rgb(255 255 255 / .8)}
.bg-opacity-50{--tw-bg-opacity:.5}
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}
.from-gray-50{--tw-gradient-from:#f9fafb;--tw-gradient-to:rgb(249 250 251 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-indigo-500{--tw-gradient-from:#6366f1;--tw-gradient-to:rgb(99 102 241 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-indigo-600{--tw-gradient-from:#4f46e5;--tw-gradient-to:rgb(79 70 229 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.from-white{--tw-gradient-from:#fff;--tw-gradient-to:rgb(255 255 255 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.via-indigo-100{--tw-gradient-to:rgb(224 231 255 / 0);--tw-gradient-stops:var(--tw-gradient-from),#e0e7ff,var(--tw-gradient-to)}
.via-indigo-50{--tw-gradient-to:rgb(238 242 255 / 0);--tw-gradient-stops:var(--tw-gradient-from),#eef2ff,var(--tw-gradient-to)}
.to-indigo-200{--tw-gradient-to:#c7d2fe}
.to-indigo-600{--tw-gradient-to:#4f46e5}
.to-indigo-700{--tw-gradient-to:#4338ca}
.to-purple-50{--tw-gradient-to:#faf5ff}
.to-purple-600{--tw-gradient-to:#9333ea}
.to-transparent{--tw-gradient-to:transparent}
.bg-clip-text{-webkit-background-clip:text;background-clip:text}
.object-cover{-o-object-fit:cover;object-fit:cover}
.object-center{-o-object-position:center;object-position:center}
.p-0{padding:0}
.p-1{padding:.25rem}
.p-2{padding:.5rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-0{padding-left:0;padding-right:0}
.px-1{padding-left:.25rem;padding-right:.25rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-24{padding-top:6rem;padding-bottom:6rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-\[0\.18rem\]{padding-top:.18rem;padding-bottom:.18rem}
.pb-12{padding-bottom:3rem}
.pb-2{padding-bottom:.5rem}
.pb-4{padding-bottom:1rem}
.pb-6{padding-bottom:1.5rem}
.pb-8{padding-bottom:2rem}
.pl-4{padding-left:1rem}
.pl-5{padding-left:1.25rem}
.pr-10{padding-right:2.5rem}
.pr-2{padding-right:.5rem}
.pr-4{padding-right:1rem}
.pt-16{padding-top:4rem}
.pt-20{padding-top:5rem}
.pt-24{padding-top:6rem}
.pt-32{padding-top:8rem}
.pt-4{padding-top:1rem}
.pt-6{padding-top:1.5rem}
.pt-8{padding-top:2rem}
.text-left{text-align:left}
.text-center{text-align:center}
.text-right{text-align:right}
.align-middle{vertical-align:middle}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace}
.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-6xl{font-size:3.75rem;line-height:1}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-xs{font-size:.75rem;line-height:1rem}
.font-bold{font-weight:700}
.font-medium{font-weight:500}
.font-normal{font-weight:400}
.font-semibold{font-weight:600}
.uppercase{text-transform:uppercase}
.capitalize{text-transform:capitalize}
.leading-6{line-height:1.5rem}
.leading-7{line-height:1.75rem}
.leading-8{line-height:2rem}
.leading-loose{line-height:2}
.leading-none{line-height:1}
.leading-relaxed{line-height:1.625}
.leading-tight{line-height:1.25}
.tracking-tight{letter-spacing:-.025em}
.tracking-wider{letter-spacing:.05em}
.text-current{color:currentColor}
.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235 / var(--tw-text-opacity))}
.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity))}
.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity))}
.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity))}
.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity))}
.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity))}
.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55 / var(--tw-text-opacity))}
.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity))}
.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74 / var(--tw-text-opacity))}
.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61 / var(--tw-text-opacity))}
.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52 / var(--tw-text-opacity))}
.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248 / var(--tw-text-opacity))}
.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241 / var(--tw-text-opacity))}
.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229 / var(--tw-text-opacity))}
.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202 / var(--tw-text-opacity))}
.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163 / var(--tw-text-opacity))}
.text-transparent{color:transparent}
.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}
.text-white\/60{color:rgb(255 255 255 / .6)}
.text-white\/70{color:rgb(255 255 255 / .7)}
.text-white\/80{color:rgb(255 255 255 / .8)}
.underline{text-decoration-line:underline}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.opacity-0{opacity:0}
.opacity-100{opacity:1}
.opacity-20{opacity:.2}
.opacity-30{opacity:.3}
.opacity-40{opacity:.4}
.opacity-5{opacity:.05}
.opacity-50{opacity:.5}
.opacity-60{opacity:.6}
.opacity-70{opacity:.7}
.opacity-75{opacity:.75}
.opacity-80{opacity:.8}
.bg-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}
.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px 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-2xl{--tw-shadow:0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored:0 25px 50px -12px 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-inner{--tw-shadow:inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored:inset 0 2px 4px 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-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / .1),0 4px 6px -4px rgb(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-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px 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 / .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-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0 / .1),0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}
.ring-1{--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,0 0 #0000)}
.ring-black\/5{--tw-ring-color:rgb(0 0 0 / .05)}
.ring-gray-900\/5{--tw-ring-color:rgb(17 24 39 / .05)}
.ring-white\/10{--tw-ring-color:rgb(255 255 255 / .1)}
.blur{--tw-blur:blur(8px);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)}
.blur-3xl{--tw-blur:blur(64px)}
.blur-sm{--tw-blur:blur(4px)}
.blur-xl{--tw-blur:blur(24px)}
.grayscale{--tw-grayscale:grayscale(100%)}
.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
.backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}
.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}
.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-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-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.delay-150{transition-delay:.15s}
.duration-200{transition-duration:.2s}
.duration-300{transition-duration:.3s}
.duration-500{transition-duration:.5s}
.duration-700{transition-duration:.7s}
.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}
.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}

@media (min-width:640px){
.sm\:mx-auto{margin-left:auto;margin-right:auto}
.sm\:mb-0{margin-bottom:0}
.sm\:flex{display:flex}
.sm\:grid{display:grid}
.sm\:hidden{display:none}
.sm\:w-auto{width:auto}
.sm\:max-w-2xl{max-width:42rem}
.sm\:max-w-lg{max-width:32rem}
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sm\:flex-row{flex-direction:row}
.sm\:items-center{align-items:center}
.sm\:gap-6{gap:1.5rem}
.sm\:p-8{padding:2rem}
.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}
.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
.sm\:text-5xl{font-size:3rem;line-height:1}
.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}
}

@media (min-width:768px){
.md\:col-span-2{grid-column:span 2 / span 2}
.md\:mx-0{margin-left:0;margin-right:0}
.md\:mb-0{margin-bottom:0}
.md\:block{display:block}
.md\:flex{display:flex}
.md\:grid{display:grid}
.md\:hidden{display:none}
.md\:w-1\/2{width:50%}
.md\:w-1\/3{width:33.333333%}
.md\:w-2\/3{width:66.666667%}
.md\:w-64{width:16rem}
.md\:w-auto{width:auto}
.md\:max-w-2xl{max-width:42rem}
.md\:max-w-4xl{max-width:56rem}
.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\:flex-row{flex-direction:row}
.md\:items-center{align-items:center}
.md\:justify-between{justify-content:space-between}
.md\:gap-8{gap:2rem}
.md\:p-8{padding:2rem}
.md\:px-12{padding-left:3rem;padding-right:3rem}
.md\:px-8{padding-left:2rem;padding-right:2rem}
.md\:py-4{padding-top:1rem;padding-bottom:1rem}
.md\:text-2xl{font-size:1.5rem;line-height:2rem}
.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
.md\:text-5xl{font-size:3rem;line-height:1}
.md\:text-6xl{font-size:3.75rem;line-height:1}
.md\:text-base{font-size:1rem;line-height:1.5rem}
.md\:text-lg{font-size:1.125rem;line-height:1.75rem}
.md\:leading-tight{line-height:1.25}
}

@media (min-width:1024px){
.lg\:col-span-1{grid-column:span 1 / span 1}
.lg\:mx-0{margin-left:0;margin-right:0}
.lg\:mb-0{margin-bottom:0}
.lg\:block{display:block}
.lg\:flex{display:flex}
.lg\:hidden{display:none}
.lg\:w-1\/2{width:50%}
.lg\:w-1\/3{width:33.333333%}
.lg\:w-1\/4{width:25%}
.lg\:w-2\/3{width:66.666667%}
.lg\:w-3\/4{width:75%}
.lg\:max-w-3xl{max-width:48rem}
.lg\:max-w-7xl{max-width:80rem}
.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lg\:flex-row{flex-direction:row}
.lg\:items-center{align-items:center}
.lg\:justify-between{justify-content:space-between}
.lg\:gap-8{gap:2rem}
.lg\:px-0{padding-left:0;padding-right:0}
.lg\:px-12{padding-left:3rem;padding-right:3rem}
.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}
.lg\:px-8{padding-left:2rem;padding-right:2rem}
.lg\:py-24{padding-top:6rem;padding-bottom:6rem}
.lg\:py-3{padding-top:.75rem;padding-bottom:.75rem}
.lg\:text-5xl{font-size:3rem;line-height:1}
.lg\:text-6xl{font-size:3.75rem;line-height:1}
.lg\:text-lg{font-size:1.125rem;line-height:1.75rem}
}

/* Dark mode */
.dark .dark\:border-gray-700{border-color:rgb(55 65 81 / 1)}
.dark .dark\:border-gray-800{border-color:rgb(31 41 55 / 1)}
.dark .dark\:border-indigo-400{border-color:rgb(129 140 248 / 1)}
.dark .dark\:border-indigo-500{border-color:rgb(99 102 241 / 1)}
.dark .dark\:bg-gray-800{background-color:rgb(31 41 55 / 1)}
.dark .dark\:bg-gray-900{background-color:rgb(17 24 39 / 1)}
.dark .dark\:bg-gray-950{background-color:rgb(3 7 18 / 1)}
.dark .dark\:bg-indigo-900\/20{background-color:rgb(49 46 129 / .2)}
.dark .dark\:bg-indigo-950{background-color:rgb(30 27 75 / 1)}
.dark .dark\:bg-white\/10{background-color:rgb(255 255 255 / .1)}
.dark .dark\:bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.dark .dark\:from-gray-900{--tw-gradient-from:#111827;--tw-gradient-to:rgb(17 24 39 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.dark .dark\:via-gray-900\/50{--tw-gradient-to:rgb(17 24 39 / 0);--tw-gradient-stops:var(--tw-gradient-from),rgb(17 24 39 / .5),var(--tw-gradient-to)}
.dark .dark\:to-indigo-950\/30{--tw-gradient-to:rgb(30 27 75 / .3)}
.dark .dark\:text-gray-100{color:rgb(243 244 246 / 1)}
.dark .dark\:text-gray-200{color:rgb(229 231 235 / 1)}
.dark .dark\:text-gray-300{color:rgb(209 213 219 / 1)}
.dark .dark\:text-gray-400{color:rgb(156 163 175 / 1)}
.dark .dark\:text-green-400{color:rgb(74 222 128 / 1)}
.dark .dark\:text-indigo-400{color:rgb(129 140 248 / 1)}
.dark .dark\:text-white{color:rgb(255 255 255 / 1)}
.dark .dark\:shadow-2xl{--tw-shadow:0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}
.dark .dark\:shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored:inset 0 2px 4px 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)}
.dark .dark\:ring-white\/10{--tw-ring-color:rgb(255 255 255 / .1)}

/* ===== Custom Styles ===== */
html{scroll-behavior:smooth}
body{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.dark body{--tw-text-opacity:1;color:rgb(243 244 246 / var(--tw-text-opacity))}

/* Animated gradient background */
.hero-gradient{background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 25%,#e0e7ff 50%,#fdf2f8 75%,#f5f3ff 100%);background-size:400% 400%;-webkit-animation:gradientShift 15s ease infinite;animation:gradientShift 15s ease infinite}
.dark .hero-gradient{background:linear-gradient(135deg,#0f0c29 0%,#1a103d 25%,#1e1b4b 50%,#0f172a 75%,#0f0c29 100%);background-size:400% 400%;-webkit-animation:gradientShift 15s ease infinite;animation:gradientShift 15s ease infinite}

@-webkit-keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Floating shapes */
.floating-shape{position:absolute;border-radius:50%;opacity:.1;pointer-events:none}
.floating-shape-1{width:300px;height:300px;background:radial-gradient(circle,rgb(99 102 241 / .3),transparent);top:-5%;right:-5%;-webkit-animation:float1 20s ease-in-out infinite;animation:float1 20s ease-in-out infinite}
.floating-shape-2{width:200px;height:200px;background:radial-gradient(circle,rgb(139 92 246 / .2),transparent);bottom:10%;left:-3%;-webkit-animation:float2 25s ease-in-out infinite;animation:float2 25s ease-in-out infinite}
.floating-shape-3{width:150px;height:150px;background:radial-gradient(circle,rgb(236 72 153 / .15),transparent);top:40%;right:15%;-webkit-animation:float3 18s ease-in-out infinite;animation:float3 18s ease-in-out infinite}

@-webkit-keyframes float1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-30px,-40px) scale(1.1)}66%{transform:translate(20px,30px) scale(.9)}}
@keyframes float1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-30px,-40px) scale(1.1)}66%{transform:translate(20px,30px) scale(.9)}}
@-webkit-keyframes float2{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,30px) scale(1.15)}66%{transform:translate(-20px,-20px) scale(.85)}}
@keyframes float2{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,30px) scale(1.15)}66%{transform:translate(-20px,-20px) scale(.85)}}
@-webkit-keyframes float3{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-20px,20px) scale(1.2)}66%{transform:translate(30px,-10px) scale(.8)}}
@keyframes float3{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-20px,20px) scale(1.2)}66%{transform:translate(30px,-10px) scale(.8)}}

/* Product dropdown glow */
.dropdown-glow{position:relative}
.dropdown-glow::before{content:'';position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,#6366f1,#a855f7,#ec4899);opacity:0;transition:opacity .3s;z-index:-1}
.dropdown-glow:hover::before,.group:hover .dropdown-glow::before{opacity:.3}

/* Smooth card hover */
.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}
.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 40px -12px rgb(0 0 0 / .15)}

/* Gradient text */
.gradient-text{background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Loading shimmer */
.shimmer{background:linear-gradient(90deg,transparent,rgb(255 255 255 / .05),transparent);background-size:200% 100%;-webkit-animation:shimmer 1.5s infinite;animation:shimmer 1.5s infinite}
@-webkit-keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Skeleton loading */
.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;-webkit-animation:skeleton 1.5s ease-in-out infinite;animation:skeleton 1.5s ease-in-out infinite}
.dark .skeleton{background:linear-gradient(90deg,#1f2937 25%,#374151 50%,#1f2937 75%);background-size:200% 100%;-webkit-animation:skeleton 1.5s ease-in-out infinite;animation:skeleton 1.5s ease-in-out infinite}
@-webkit-keyframes skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Focus styles for accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6366f1;outline-offset:2px;border-radius:4px}

/* Skip to content */
.skip-link{position:absolute;top:-100%;left:0;z-index:100;padding:.5rem 1rem;background:#6366f1;color:#fff;font-weight:600;transition:top .2s}
.skip-link:focus{top:0}

/* Navbar scroll */
.nav-scrolled{--tw-bg-opacity:1!important;background-color:rgb(255 255 255 / var(--tw-bg-opacity))!important;box-shadow:0 1px 3px 0 rgb(0 0 0 / .1),0 1px 2px -1px rgb(0 0 0 / .1)}
.dark .nav-scrolled{background-color:rgb(17 24 39 / .95)!important}

/* Breadcrumb */
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;color:rgb(107 114 128 / 1)}
.breadcrumb a{color:rgb(99 102 241 / 1);transition:color .2s}
.breadcrumb a:hover{color:rgb(79 70 229 / 1);text-decoration:underline}
.breadcrumb .separator{color:rgb(156 163 175 / 1)}

/* Newsletter form */
.newsletter-card{background:linear-gradient(135deg,#eef2ff,#f5f3ff,#fdf2f8)}
.dark .newsletter-card{background:linear-gradient(135deg,#1e1b4b,#312e81,#1e1b4b)}

/* Smooth dropdown */
.dropdown-enter{opacity:0;transform:translateY(-8px)}
.dropdown-enter-active{opacity:1;transform:translateY(0);transition:all .2s ease-out}

/* Mobile menu */
.mobile-menu-open{overflow:hidden}

/* Loading spinner */
.spinner{width:20px;height:20px;border:2px solid rgb(255 255 255 / .3);border-top-color:#fff;border-radius:50%;-webkit-animation:spin .6s linear infinite;animation:spin .6s linear infinite}
@-webkit-keyframes spin{to{transform:rotate(360deg)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* Scrollbar */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgb(156 163 175 / .5);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:rgb(107 114 128 / .7)}
.dark ::-webkit-scrollbar-thumb{background:rgb(75 85 99 / .5)}
.dark ::-webkit-scrollbar-thumb:hover{background:rgb(107 114 128 / .7)}

/* ===== Missing Tailwind Utilities (ecosystem page) ===== */

/* Font weight */
.font-black{font-weight:900}

/* Text colors - brand */
.text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254 / var(--tw-text-opacity))}
.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252 / var(--tw-text-opacity))}
.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208 / var(--tw-text-opacity))}
.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172 / var(--tw-text-opacity))}
.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138 / var(--tw-text-opacity))}
.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77 / var(--tw-text-opacity))}
.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6 / var(--tw-text-opacity))}
.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9 / var(--tw-text-opacity))}
.text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255 / var(--tw-text-opacity))}
.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254 / var(--tw-text-opacity))}
.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234 / var(--tw-text-opacity))}
.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72 / var(--tw-text-opacity))}
.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199 / var(--tw-text-opacity))}
.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178 / var(--tw-text-opacity))}
.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12 / var(--tw-text-opacity))}

/* Dark text colors */
.dark .dark\:text-indigo-200{color:rgb(199 210 254 / 1)}
.dark .dark\:text-indigo-300{color:rgb(165 180 252 / 1)}
.dark .dark\:text-indigo-800{color:rgb(55 48 163 / 1)}
.dark .dark\:text-green-200{color:rgb(187 247 208 / 1)}
.dark .dark\:text-green-300{color:rgb(134 239 172 / 1)}
.dark .dark\:text-green-800{color:rgb(22 101 52 / 1)}
.dark .dark\:text-amber-200{color:rgb(253 230 138 / 1)}
.dark .dark\:text-amber-300{color:rgb(252 211 77 / 1)}
.dark .dark\:text-amber-400{color:rgb(251 191 36 / 1)}
.dark .dark\:text-amber-600{color:rgb(217 119 6 / 1)}
.dark .dark\:text-amber-700{color:rgb(180 83 9 / 1)}
.dark .dark\:text-amber-800{color:rgb(146 64 14 / 1)}
.dark .dark\:text-purple-200{color:rgb(233 213 255 / 1)}
.dark .dark\:text-purple-300{color:rgb(216 180 254 / 1)}
.dark .dark\:text-purple-400{color:rgb(192 132 252 / 1)}
.dark .dark\:text-purple-800{color:rgb(85 39 140 / 1)}
.dark .dark\:text-rose-400{color:rgb(251 113 133 / 1)}
.dark .dark\:text-sky-400{color:rgb(56 189 248 / 1)}
.dark .dark\:text-cyan-400{color:rgb(34 211 238 / 1)}
.dark .dark\:text-orange-400{color:rgb(251 146 60 / 1)}

/* Background colors - brand */
.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255 / var(--tw-bg-opacity))}
.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199 / var(--tw-bg-opacity))}
.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255 / var(--tw-bg-opacity))}
.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254 / var(--tw-bg-opacity))}
.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230 / var(--tw-bg-opacity))}
.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254 / var(--tw-bg-opacity))}
.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}
.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243 / var(--tw-bg-opacity))}
.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241 / var(--tw-bg-opacity))}
.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}
.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235 / var(--tw-bg-opacity))}
.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255 / var(--tw-bg-opacity))}
.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255 / var(--tw-bg-opacity))}
.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242 / var(--tw-bg-opacity))}

/* Dark background colors */
.dark .dark\:bg-indigo-100{background-color:rgb(224 231 255 / 1)}
.dark .dark\:bg-amber-100{background-color:rgb(254 243 199 / 1)}
.dark .dark\:bg-purple-100{background-color:rgb(243 232 255 / 1)}
.dark .dark\:bg-green-900\/10{background-color:rgb(20 83 45 / .1)}
.dark .dark\:bg-green-900\/20{background-color:rgb(20 83 45 / .2)}
.dark .dark\:bg-green-900\/30{background-color:rgb(20 83 45 / .3)}
.dark .dark\:bg-amber-900\/10{background-color:rgb(120 53 15 / .1)}
.dark .dark\:bg-amber-900\/20{background-color:rgb(120 53 15 / .2)}
.dark .dark\:bg-amber-900\/30{background-color:rgb(120 53 15 / .3)}
.dark .dark\:bg-purple-900\/10{background-color:rgb(88 28 135 / .1)}
.dark .dark\:bg-purple-900\/20{background-color:rgb(88 28 135 / .2)}
.dark .dark\:bg-purple-900\/30{background-color:rgb(88 28 135 / .3)}
.dark .dark\:bg-sky-900\/20{background-color:rgb(12 74 110 / .2)}
.dark .dark\:bg-sky-900\/30{background-color:rgb(12 74 110 / .3)}
.dark .dark\:bg-rose-900\/20{background-color:rgb(136 19 55 / .2)}
.dark .dark\:bg-rose-900\/30{background-color:rgb(136 19 55 / .3)}
.dark .dark\:bg-red-900\/20{background-color:rgb(127 29 29 / .2)}
.dark .dark\:bg-red-900\/30{background-color:rgb(127 29 29 / .3)}
.dark .dark\:bg-cyan-900\/20{background-color:rgb(22 78 99 / .2)}
.dark .dark\:bg-cyan-900\/30{background-color:rgb(22 78 99 / .3)}
.dark .dark\:bg-pink-900\/20{background-color:rgb(131 24 67 / .2)}
.dark .dark\:bg-pink-900\/30{background-color:rgb(131 24 67 / .3)}
.dark .dark\:bg-teal-900\/20{background-color:rgb(19 78 74 / .2)}
.dark .dark\:bg-teal-900\/30{background-color:rgb(19 78 74 / .3)}
.dark .dark\:bg-indigo-900\/10{background-color:rgb(49 46 129 / .1)}
.dark .dark\:bg-indigo-900\/30{background-color:rgb(49 46 129 / .3)}

/* Border colors */
.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255 / var(--tw-border-opacity))}
.border-green-100{--tw-border-opacity:1;border-color:rgb(220 252 231 / var(--tw-border-opacity))}
.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199 / var(--tw-border-opacity))}
.border-purple-100{--tw-border-opacity:1;border-color:rgb(243 232 255 / var(--tw-border-opacity))}
.border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254 / var(--tw-border-opacity))}
.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230 / var(--tw-border-opacity))}

/* Dark border colors */
.dark .dark\:border-indigo-900\/30{border-color:rgb(49 46 129 / .3)}
.dark .dark\:border-green-900\/30{border-color:rgb(20 83 45 / .3)}
.dark .dark\:border-amber-900\/30{border-color:rgb(120 53 15 / .3)}
.dark .dark\:border-purple-900\/30{border-color:rgb(88 28 135 / .3)}

/* Gradient backgrounds - for stats text */
.from-green-600{--tw-gradient-from:#16a34a;--tw-gradient-to:rgb(22 163 74 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-emerald-600{--tw-gradient-to:#059669}
.from-amber-600{--tw-gradient-from:#d97706;--tw-gradient-to:rgb(217 119 6 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-orange-600{--tw-gradient-to:#ea580c}
.from-sky-600{--tw-gradient-from:#0284c7;--tw-gradient-to:rgb(2 132 199 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-blue-600{--tw-gradient-to:#2563eb}
.from-indigo-50{--tw-gradient-from:#eef2ff;--tw-gradient-to:rgb(238 242 255 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-purple-50{--tw-gradient-to:#faf5ff}
.dark .dark\:from-indigo-900\/20{--tw-gradient-from:rgb(49 46 129 / .2);--tw-gradient-to:rgb(49 46 129 / 0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.dark .dark\:to-purple-900\/20{--tw-gradient-to:rgb(88 28 135 / .2)}

/* Delay */
.delay-100{transition-delay:.1s}
.delay-200{transition-delay:.2s}
.delay-300{transition-delay:.3s}
.delay-400{transition-delay:.4s}
.delay-500{transition-delay:.5s}

/* Hover states for buttons */
.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}
.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61 / var(--tw-bg-opacity))}
.hover\:bg-amber-700:hover{--tw-bg-opacity:1;background-color:rgb(180 83 9 / var(--tw-bg-opacity))}
.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}
.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}
.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}
.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}
.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgb(67 56 202 / var(--tw-text-opacity))}
.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241 / var(--tw-text-opacity))}
.hover\:text-green-700:hover{--tw-text-opacity:1;color:rgb(21 128 61 / var(--tw-text-opacity))}
.hover\:text-amber-500:hover{--tw-text-opacity:1;color:rgb(245 158 11 / var(--tw-text-opacity))}
.hover\:text-rose-500:hover{--tw-text-opacity:1;color:rgb(244 63 94 / var(--tw-text-opacity))}
.hover\:text-green-500:hover{--tw-text-opacity:1;color:rgb(34 197 94 / var(--tw-text-opacity))}
.hover\:opacity-80:hover{opacity:.8}
.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / .1),0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}
.hover\:-translate-y-1:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.group:hover .group-hover\:text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241 / var(--tw-text-opacity))}
.group:hover .group-hover\:text-green-500{--tw-text-opacity:1;color:rgb(34 197 94 / var(--tw-text-opacity))}
.group:hover .group-hover\:text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11 / var(--tw-text-opacity))}
.group:hover .group-hover\:text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94 / var(--tw-text-opacity))}
.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}

/* Arbitrary / small utility values */
.text-\[10px\]{font-size:10px;line-height:14px}
.px-1\.5{padding-left:.375rem;padding-right:.375rem}
.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}
.mb-5{margin-bottom:1.25rem}

/* Resources table */
.resources-table{border-collapse:separate;border-spacing:0}
.resources-table thead tr{background:transparent}
.resources-table tbody tr{transition:background-color .15s}
.resources-table td,.resources-table th{white-space:nowrap}
@media(max-width:640px){
  .resources-table td:first-child,.resources-table th:first-child{padding-left:1rem}
  .resources-table td:last-child,.resources-table th:last-child{padding-right:1rem}
}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Hover underline */
.hover\:underline:hover{text-decoration-line:underline}

/* Print */
@media print{nav,.newsletter-card,footer,.skip-link,.floating-shape{display:none!important}}
