@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Outfit:wght@300;400;500;600;700;800;900&display=swap";:root{--primary: #10b981;--primary-rgb: 16, 185, 129;--font-main: "Plus Jakarta Sans", sans-serif;--font-heading: "Outfit", sans-serif;--transition: .3s cubic-bezier(.16, 1, .3, 1)}:root,[data-theme=light]{--bg-dark: #fbfbfc;--bg-card: rgba(0, 0, 0, .01);--border-glass: rgba(0, 0, 0, .04);--text-main: #020617;--text-muted: #334155}[data-theme=dark]{--bg-dark: #0a0e1a;--bg-card: rgba(255, 255, 255, .03);--border-glass: rgba(255, 255, 255, .08);--text-main: #f1f5f9;--text-muted: #94a3b8}html{scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}::selection{background:rgba(var(--primary-rgb),.3);color:#fff}body{background:var(--bg-dark);color:var(--text-main);font-family:var(--font-main);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.app-root{flex:1;display:flex;flex-direction:column;position:relative}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.02em}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.bg-mesh{position:fixed;inset:0;z-index:-1;transition:opacity .3s ease}[data-theme=light] .bg-mesh,:root .bg-mesh{background:radial-gradient(circle at 50% 0%,rgba(16,185,129,.08) 0%,transparent 50%),radial-gradient(circle at 0% 100%,rgba(14,165,233,.08) 0%,transparent 50%),radial-gradient(circle at 100% 100%,rgba(245,158,11,.04) 0%,transparent 40%)}[data-theme=dark] .bg-mesh{background:radial-gradient(circle at 50% 0%,rgba(16,185,129,.15) 0%,transparent 60%),radial-gradient(circle at 0% 100%,rgba(14,165,233,.12) 0%,transparent 55%),radial-gradient(circle at 100% 100%,rgba(245,158,11,.08) 0%,transparent 45%)}.bg-mesh:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none}.glass-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:12px;transition:var(--transition)}.glass-card:hover{background:#00000008;border-color:#0000001a;transform:translateY(-2px)}.badge{padding:4px 10px;border-radius:6px;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:#10b98114;color:var(--primary);border:1px solid rgba(16,185,129,.15)}.btn-primary{background:var(--primary);color:#fff;padding:.8rem 1.5rem;border-radius:8px;font-weight:800;font-size:.9rem;border:none;cursor:pointer;transition:var(--transition)}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.custom-cursor{position:fixed;width:8px;height:8px;background:var(--primary);border-radius:50%;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);will-change:transform}.custom-cursor-follower{position:fixed;width:40px;height:40px;border:1px solid rgba(16,185,129,.4);background:radial-gradient(circle,rgba(16,185,129,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .1s ease-out;will-change:transform}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#0003}@media(max-width:768px){.container{padding:0 1.25rem}}.text-gradient{background:linear-gradient(135deg,var(--text-main) 0%,var(--text-muted) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.glow-text{background:linear-gradient(135deg,var(--primary) 0%,#14b8a6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
