.home-page a{color:var(--color-indigo)}.home-page a:hover{color:var(--color-navy)}.mono{font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.in{animation:.8s cubic-bezier(.2,.7,.2,1) both rise}.d1{animation-delay:.12s}.d2{animation-delay:.24s}.d3{animation-delay:.36s}.d4{animation-delay:.48s}.d5{animation-delay:.6s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.fl{animation:5.2s cubic-bezier(.45,0,.55,1) infinite float}.f2{animation-delay:-1.3s}.f3{animation-delay:-2.6s}.f4{animation-delay:-3.9s}@keyframes railrun{0%{opacity:0;transform:translateY(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(270px)}}.pk{animation:3.4s cubic-bezier(.45,0,.3,1) infinite railrun}@keyframes dash{to{stroke-dashoffset:-24px}}.flow{animation:1.1s linear infinite dash}@keyframes hop{0%{opacity:0;transform:translate(0)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(120px)}}.hop{animation:2.4s cubic-bezier(.45,0,.3,1) infinite hop}.hop2{animation-delay:1.2s}@keyframes grow{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.bar{transform-origin:bottom;animation:2.8s cubic-bezier(.2,.7,.2,1) infinite alternate grow}.b2{animation-delay:.25s}.b3{animation-delay:.5s}.b4{animation-delay:.75s}.b5{animation-delay:1s}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-success) 45%, transparent)}to{box-shadow:0 0 0 10px color-mix(in srgb, var(--color-success) 0%, transparent)}}.pulse{animation:1.8s ease-out infinite pulse}.lift{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}.lift:hover{box-shadow:0 34px 50px -26px color-mix(in srgb, var(--color-navy) 35%, transparent);transform:translateY(-6px)}@keyframes drawx{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes drawy{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@supports (animation-timeline:view()){.rv{animation:linear both rise;animation-timeline:view();animation-range:entry cover 28%}.drawx{transform-origin:0;animation:linear both drawx;animation-timeline:view();animation-range:entry 10% cover 45%}.drawy{transform-origin:top;animation:linear both drawy;animation-timeline:view();animation-range:entry 20% cover 70%}}.ring{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite ringout}.r2{animation-delay:1.2s}@keyframes ringout{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(2.1)}}.eq{transform-box:fill-box;transform-origin:50%;animation:1.1s ease-in-out infinite alternate eqb}.e2{animation-delay:.18s}.e3{animation-delay:.36s}.e4{animation-delay:.54s}@keyframes eqb{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.scan{animation:3s ease-in-out infinite scanv}@keyframes scanv{0%,to{transform:translateY(0)}50%{transform:translateY(40px)}}.cursor{animation:3.6s cubic-bezier(.45,0,.3,1) infinite cur}@keyframes cur{0%,to{transform:translate(58px,46px)}45%,70%{transform:translate(128px,86px)}}.clk{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-out infinite clk}@keyframes clk{0%,44%{opacity:0;transform:scale(0)}48%{opacity:.7}70%,to{opacity:0;transform:scale(2.2)}}.dl{stroke-dasharray:220;animation:3.4s cubic-bezier(.45,0,.3,1) infinite drawline}@keyframes drawline{0%{stroke-dashoffset:220px}60%,to{stroke-dashoffset:0}}.m1{animation:2.2s cubic-bezier(.45,0,.3,1) infinite mv1}.m2{animation:2.2s cubic-bezier(.45,0,.3,1) 1.1s infinite mv2}.m3{animation:2.2s cubic-bezier(.45,0,.3,1) .6s infinite mv3}.m3b{animation-delay:1.7s}@keyframes mv1{0%{opacity:0;transform:translate(0)}15%,85%{opacity:1}to{opacity:0;transform:translate(64px,-32px)}}@keyframes mv2{0%{opacity:0;transform:translate(0)}15%,85%{opacity:1}to{opacity:0;transform:translate(64px,32px)}}@keyframes mv3{0%{opacity:0;transform:translate(0)}15%,85%{opacity:1}to{opacity:0;transform:translate(64px)}}.spin{transform-box:fill-box;transform-origin:50%;animation:9s linear infinite spin}.spinr{transform-box:fill-box;transform-origin:50%;animation:6s linear infinite reverse spin}@keyframes spin{to{transform:rotate(360deg)}}.tune{animation:3.2s cubic-bezier(.45,0,.3,1) infinite alternate tune}.t1{--dx:44px}.t2{--dx:-30px;animation-delay:.5s}.t3{--dx:22px;animation-delay:1s}@keyframes tune{0%{transform:translate(0)}to{transform:translateX(var(--dx))}}.led{animation:1.6s steps(2,jump-none) infinite blink}.l2{animation-delay:.4s}.l3{animation-delay:.9s}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.pkx{animation:1.6s cubic-bezier(.45,0,.3,1) infinite pkx}@keyframes pkx{0%{opacity:0;transform:translate(0)}20%,80%{opacity:1}to{opacity:0;transform:translate(28px)}}.srow .sk{transition:color .25s}.srow:hover .sk{color:var(--color-navy)}.cap{transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s,box-shadow .25s}.cap:hover{box-shadow:0 10px 20px -14px color-mix(in srgb, var(--color-navy) 40%, transparent);transform:translateY(-2px)}.g1 .cap:hover{border-color:var(--color-cat-backend)}.g2 .cap:hover{border-color:var(--color-cat-db)}.g3 .cap:hover{border-color:var(--color-cat-ml)}.g4 .cap:hover{border-color:var(--color-cat-agentic)}.g5 .cap:hover{border-color:var(--color-cat-agents)}.g6 .cap:hover{border-color:var(--color-cat-automation)}.g7 .cap:hover{border-color:var(--color-cat-cloud)}.neon{box-shadow:0 0 0 1px color-mix(in srgb, var(--color-indigo-soft) 25%, transparent), 0 0 22px -4px color-mix(in srgb, var(--color-indigo-soft) 55%, transparent), inset 0 0 24px -12px color-mix(in srgb, var(--color-lavender-strong) 45%, transparent);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}.neon:hover{box-shadow:0 0 0 1px color-mix(in srgb, var(--color-lavender-strong) 55%, transparent), 0 0 38px 0 color-mix(in srgb, var(--color-indigo-soft) 65%, transparent), inset 0 0 28px -10px color-mix(in srgb, var(--color-lavender-strong) 60%, transparent);transform:translateY(-6px);border-color:var(--color-lavender-strong)!important}@keyframes neonpulse{0%{box-shadow:0 0 0 1px color-mix(in srgb, var(--color-indigo-soft) 25%, transparent), 0 0 18px -6px color-mix(in srgb, var(--color-indigo-soft) 45%, transparent), inset 0 0 24px -12px color-mix(in srgb, var(--color-lavender-strong) 40%, transparent)}to{box-shadow:0 0 0 1px color-mix(in srgb, var(--color-lavender-strong) 45%, transparent), 0 0 36px -2px color-mix(in srgb, var(--color-indigo-soft) 70%, transparent), inset 0 0 28px -10px color-mix(in srgb, var(--color-lavender-strong) 55%, transparent)}}.neonpulse{animation:3.4s ease-in-out infinite alternate neonpulse}.neonpulse:hover{animation:none}.neonbtn{box-shadow:0 0 16px -4px color-mix(in srgb, var(--color-lavender-strong) 60%, transparent);transition:box-shadow .3s,transform .3s}.neonbtn:hover{box-shadow:0 0 28px 0 color-mix(in srgb, var(--color-lavender-strong) 75%, transparent);color:var(--color-white);transform:translateY(-2px)}.fx{transform-box:fill-box;transform-origin:0;animation:4.8s cubic-bezier(.2,.7,.2,1) infinite fx}.x2{animation-delay:.35s}.x3{animation-delay:.7s}.x4{animation-delay:1.05s}.x5{animation-delay:1.4s}@keyframes fx{0%{opacity:0;transform:scaleX(0)}12%,82%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.st{animation:3.6s ease-in-out infinite st}.s2{animation-delay:.6s}.s3{animation-delay:1.2s}@keyframes st{0%,10%{opacity:.25}25%,85%{opacity:1}to{opacity:.25}}.neonsec{box-shadow:0 0 60px 4px color-mix(in srgb, var(--color-indigo-soft) 16%, transparent), 0 0 140px 12px color-mix(in srgb, var(--color-indigo-soft) 7%, transparent);animation:5s ease-in-out infinite alternate neonsec}@keyframes neonsec{0%{box-shadow:0 0 50px 2px color-mix(in srgb, var(--color-indigo-soft) 12%, transparent), 0 0 120px 10px color-mix(in srgb, var(--color-indigo-soft) 5%, transparent)}to{box-shadow:0 0 70px 6px color-mix(in srgb, var(--color-indigo-soft) 20%, transparent), 0 0 160px 14px color-mix(in srgb, var(--color-indigo-soft) 8%, transparent)}}.ptrack{transform-origin:0;animation:8s linear infinite ptrack}@keyframes ptrack{0%{opacity:1;transform:scaleX(0)}75%{transform:scaleX(1)}92%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.pcomet{animation:8s linear infinite pcomet}@keyframes pcomet{0%{opacity:1;left:0%}75%{left:100%}92%{opacity:1;left:100%}to{opacity:0;left:100%}}.pnode{animation-duration:8s;animation-timing-function:linear;animation-iteration-count:infinite}.pn0{animation-name:pn0}@keyframes pn0{0%{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}2%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 10px color-mix(in srgb, var(--color-indigo) 18%, transparent);transform:scale(1.14)}6%,92%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 6px color-mix(in srgb, var(--color-indigo) 12%, transparent);transform:scale(1)}97%,to{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}}.pn1{animation-name:pn1}@keyframes pn1{0%,14.5%{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}17%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 10px color-mix(in srgb, var(--color-indigo) 18%, transparent);transform:scale(1.14)}21%,92%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 6px color-mix(in srgb, var(--color-indigo) 12%, transparent);transform:scale(1)}97%,to{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}}.pn2{animation-name:pn2}@keyframes pn2{0%,29.5%{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}32%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 10px color-mix(in srgb, var(--color-indigo) 18%, transparent);transform:scale(1.14)}36%,92%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 6px color-mix(in srgb, var(--color-indigo) 12%, transparent);transform:scale(1)}97%,to{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}}.pn3{animation-name:pn3}@keyframes pn3{0%,44.5%{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}47%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 10px color-mix(in srgb, var(--color-indigo) 18%, transparent);transform:scale(1.14)}51%,92%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 6px color-mix(in srgb, var(--color-indigo) 12%, transparent);transform:scale(1)}97%,to{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}}.pn4{animation-name:pn4}@keyframes pn4{0%,59.5%{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}62%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 10px color-mix(in srgb, var(--color-indigo) 18%, transparent);transform:scale(1.14)}66%,92%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 6px color-mix(in srgb, var(--color-indigo) 12%, transparent);transform:scale(1)}97%,to{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}}.pn5{animation-name:pn5}@keyframes pn5{0%,74.5%{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}77%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 10px color-mix(in srgb, var(--color-indigo) 18%, transparent);transform:scale(1.14)}81%,92%{background:var(--color-indigo);border-color:var(--color-indigo);color:var(--color-white);box-shadow:0 0 0 6px color-mix(in srgb, var(--color-indigo) 12%, transparent);transform:scale(1)}97%,to{background:var(--color-white);border-color:var(--color-lavender);color:var(--color-muted);box-shadow:none;transform:scale(1)}}.carbtn{transition:border-color .25s,transform .25s}.carbtn:hover{border-color:var(--color-indigo);transform:translateY(-1px)}.cfield{transition:border-color .25s,box-shadow .25s,background .25s}.cfield:focus{border-color:var(--color-indigo);background:var(--color-white);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-indigo) 12%, transparent)}.cfield::placeholder{color:var(--color-muted)}.home-page{scroll-padding-top:72px}.secnav{transition:background .3s,box-shadow .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s}.secnav .seclbl{opacity:0;pointer-events:none;transition:opacity .25s,transform .25s cubic-bezier(.2,.7,.2,1);transform:translate(6px)}.secnav:hover{background:color-mix(in srgb, var(--color-white) 88%, transparent);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 40px -20px color-mix(in srgb, var(--color-navy) 35%, transparent), 0 0 0 1px var(--color-border)}.secnav:hover .seclbl{opacity:1;pointer-events:auto;transform:none}.secitem:hover .seclbl{color:var(--color-indigo)!important}.ex{animation:none}.ex1{animation-name:ex1}.ex2{animation-name:ex2}.ex3{animation-name:ex3}.ex4{animation-name:ex4}@keyframes ex1{0%{transform:translateY(0)}to{transform:translateY(-22px)}}@keyframes ex2{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@keyframes ex3{0%{transform:translateY(0)}to{transform:translateY(6px)}}@keyframes ex4{0%{transform:translateY(0)}to{transform:translateY(18px)}}.cb{animation:1.8s cubic-bezier(.45,0,.55,1) infinite alternate cbob}.cb2{animation-delay:.45s}.cb3{animation-delay:.9s}@keyframes cbob{0%{transform:translateY(0)}to{transform:translateY(-9px)}}.cardglow{box-shadow:0 0 16px -8px color-mix(in srgb, var(--color-lavender-strong) 60%, transparent), 0 10px 22px -18px color-mix(in srgb, var(--color-navy) 25%, transparent)}.cardglow:hover{box-shadow:0 0 22px -8px color-mix(in srgb, var(--color-lavender-strong) 80%, transparent), 0 20px 34px -22px color-mix(in srgb, var(--color-navy) 35%, transparent);border-color:var(--color-border-card-hover)!important}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
