:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Inter",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--max-width:1440px}:root,[data-theme=dark]{--bg:#0c0c0e;--bg-elev:hsla(0,0%,100%,.03);--bg-elev-2:hsla(0,0%,100%,.04);--bg-hover:hsla(0,0%,100%,.06);--bg-section:hsla(0,0%,100%,.01);--bg-tooltip:#16161a;--text:#e8e8e8;--text-strong:#fff;--text-muted:hsla(0,0%,100%,.7);--text-soft:hsla(0,0%,100%,.55);--text-faint:hsla(0,0%,100%,.35);--text-dim:hsla(0,0%,100%,.2);--border:hsla(0,0%,100%,.08);--border-hover:hsla(0,0%,100%,.2);--btn-primary-bg:#fff;--btn-primary-text:#0c0c0e;--btn-primary-ico-bg:#0c0c0e;--btn-primary-ico-text:#fff;--btn-secondary-border:hsla(0,0%,100%,.18);--btn-secondary-text:hsla(0,0%,100%,.85);--accent:#4fa3ff;--accent-rgb:79,163,255;--shadow:0 12px 32px rgba(0,0,0,.5);--hero-grad:radial-gradient(ellipse at 70% 40%,rgba(80,90,140,.18) 0%,rgba(12,12,14,0) 60%);--fcta-grad:radial-gradient(ellipse at 50% 0%,rgba(100,160,255,.15) 0%,transparent 60%)}[data-theme=light]{--bg:#fafafa;--bg-elev:rgba(0,0,0,.02);--bg-elev-2:rgba(0,0,0,.03);--bg-hover:rgba(0,0,0,.05);--bg-section:rgba(0,0,0,.015);--bg-tooltip:#fff;--text:#18181b;--text-strong:#000;--text-muted:rgba(0,0,0,.75);--text-soft:rgba(0,0,0,.6);--text-faint:rgba(0,0,0,.4);--text-dim:rgba(0,0,0,.22);--border:rgba(0,0,0,.1);--border-hover:rgba(0,0,0,.22);--btn-primary-bg:#0c0c0e;--btn-primary-text:#fff;--btn-primary-ico-bg:#fff;--btn-primary-ico-text:#0c0c0e;--btn-secondary-border:rgba(0,0,0,.2);--btn-secondary-text:rgba(0,0,0,.8);--accent:#2563eb;--accent-rgb:37,99,235;--shadow:0 12px 32px rgba(0,0,0,.1);--hero-grad:radial-gradient(ellipse at 70% 40%,rgba(80,90,140,.08) 0%,hsla(0,0%,98%,0) 60%);--fcta-grad:radial-gradient(ellipse at 50% 0%,rgba(100,160,255,.08) 0%,transparent 60%)}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}html.cursor-active,html.cursor-active *,html.cursor-active body{cursor:none!important}main{max-width:var(--max-width);margin:0 auto;position:relative;z-index:2}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{display:block;max-width:100%}::selection{background:var(--accent);color:var(--bg)}.btn-cta,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;height:44px;border-radius:100px;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;font-family:inherit;white-space:nowrap;transition:all .25s cubic-bezier(.16,1,.3,1)}.btn-cta{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;padding:0 6px 0 22px;gap:10px}.btn-cta:hover{gap:14px}.btn-cta-ico,.btn-cta-ico-wrap{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--btn-primary-ico-bg);color:var(--btn-primary-ico-text);flex-shrink:0;transition:transform .35s cubic-bezier(.16,1,.3,1)}.btn-cta:hover .btn-cta-ico,.btn-cta:hover .btn-cta-ico-wrap{transform:rotate(45deg)}.btn-secondary{background:transparent;color:var(--btn-secondary-text);border:.5px solid var(--btn-secondary-border);padding:0 22px}.btn-secondary:hover{border-color:var(--text-strong);color:var(--text-strong)}.reveal,.reveal-mask,.reveal-pop,.reveal-scale,.reveal-slide-left,.reveal-slide-right,.reveal-stagger>*{opacity:1;transform:none;filter:none;-webkit-clip-path:none;clip-path:none}[data-reveal].reveal{opacity:0;transform:translateY(40px);filter:blur(8px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1)}[data-reveal].reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}[data-reveal].reveal-scale{opacity:0;transform:scale(.92) translateY(30px);filter:blur(10px);transition:opacity 1.1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1),filter .9s cubic-bezier(.22,1,.36,1)}[data-reveal].reveal-scale.visible{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}[data-reveal].reveal-slide-left{opacity:0;transform:translateX(-60px);filter:blur(6px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1)}[data-reveal].reveal-slide-left.visible{opacity:1;transform:translateX(0);filter:blur(0)}[data-reveal].reveal-slide-right{opacity:0;transform:translateX(60px);filter:blur(6px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1)}[data-reveal].reveal-slide-right.visible{opacity:1;transform:translateX(0);filter:blur(0)}[data-reveal].reveal-pop{opacity:0;transform:scale(.85) translateY(40px);transition:opacity .9s cubic-bezier(.34,1.56,.64,1),transform .9s cubic-bezier(.34,1.56,.64,1)}[data-reveal].reveal-pop.visible{opacity:1;transform:scale(1) translateY(0)}[data-reveal].reveal-stagger>*{opacity:0;transform:translateY(35px);filter:blur(6px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1)}[data-reveal].reveal-stagger.visible>*{opacity:1;transform:translateY(0);filter:blur(0)}[data-reveal].reveal-3d-tilt{opacity:0;transform:perspective(1400px) rotateX(-22deg) translateY(70px) scale(.95);filter:blur(10px);transform-origin:50% 100%;transition:opacity 1.1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1),filter .85s cubic-bezier(.22,1,.36,1)}[data-reveal].reveal-3d-tilt.visible{opacity:1;transform:perspective(1400px) rotateX(0) translateY(0) scale(1);filter:blur(0)}[data-reveal].reveal-stagger-3d>*{opacity:0;transform:perspective(1400px) rotateX(-18deg) translateY(50px) scale(.96);filter:blur(8px);transform-origin:50% 100%;transition:opacity .95s cubic-bezier(.22,1,.36,1),transform .95s cubic-bezier(.22,1,.36,1),filter .75s cubic-bezier(.22,1,.36,1)}[data-reveal].reveal-stagger-3d.visible>*{opacity:1;transform:perspective(1400px) rotateX(0) translateY(0) scale(1);filter:blur(0)}[data-reveal].reveal-mask-up{opacity:1;-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);transform:translateY(20px);transition:transform 1.3s cubic-bezier(.7,0,.3,1),-webkit-clip-path 1.3s cubic-bezier(.7,0,.3,1);transition:clip-path 1.3s cubic-bezier(.7,0,.3,1),transform 1.3s cubic-bezier(.7,0,.3,1);transition:clip-path 1.3s cubic-bezier(.7,0,.3,1),transform 1.3s cubic-bezier(.7,0,.3,1),-webkit-clip-path 1.3s cubic-bezier(.7,0,.3,1)}[data-reveal].reveal-mask-up.visible{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);transform:translateY(0)}[data-reveal].reveal-bounce{opacity:0;transform:scale(.55) rotate(-12deg) translateY(40px);transition:opacity .6s cubic-bezier(.34,1.56,.64,1),transform .85s cubic-bezier(.34,1.8,.64,1.2)}[data-reveal].reveal-bounce.visible{opacity:1;transform:scale(1) rotate(0) translateY(0)}[data-reveal].reveal-stagger-bounce>*{opacity:0;transform:scale(.55) translateY(30px) rotate(-6deg);transition:opacity .55s cubic-bezier(.34,1.56,.64,1),transform .7s cubic-bezier(.34,1.8,.64,1.2)}[data-reveal].reveal-stagger-bounce.visible>*{opacity:1;transform:scale(1) translateY(0) rotate(0)}[data-reveal].reveal-glow{opacity:0;transform:scale(.92);filter:blur(24px) brightness(.4);transition:opacity 1.4s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1),filter 1.4s cubic-bezier(.22,1,.36,1)}[data-reveal].reveal-glow.visible{opacity:1;transform:scale(1);filter:blur(0) brightness(1)}[data-reveal].reveal-photo-zoom{opacity:0;-webkit-clip-path:inset(15% 15% 15% 15% round 24px);clip-path:inset(15% 15% 15% 15% round 24px);transition:opacity 1.1s cubic-bezier(.22,1,.36,1),-webkit-clip-path 1.3s cubic-bezier(.7,0,.3,1);transition:opacity 1.1s cubic-bezier(.22,1,.36,1),clip-path 1.3s cubic-bezier(.7,0,.3,1);transition:opacity 1.1s cubic-bezier(.22,1,.36,1),clip-path 1.3s cubic-bezier(.7,0,.3,1),-webkit-clip-path 1.3s cubic-bezier(.7,0,.3,1)}[data-reveal].reveal-photo-zoom.visible{opacity:1;-webkit-clip-path:inset(0 0 0 0 round 24px);clip-path:inset(0 0 0 0 round 24px)}[data-reveal].reveal-lines>*{opacity:0;transform:translateY(30px);filter:blur(4px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1)}[data-reveal].reveal-lines.visible>*{opacity:1;transform:translateY(0);filter:blur(0)}[data-reveal].reveal-cards-bounce .tech-stack-card{opacity:0;transform:scale(.55) translateY(40px) rotate(-8deg);transition:opacity .6s cubic-bezier(.34,1.56,.64,1),transform .8s cubic-bezier(.34,1.8,.64,1.2)}[data-reveal].reveal-cards-bounce.visible .tech-stack-card{opacity:1;transform:scale(1) translateY(0) rotate(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.js-ready main>*{animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) both}.js-ready main>:first-child{animation-delay:0s}.js-ready main>:nth-child(2){animation-delay:.08s}.js-ready main>:nth-child(3){animation-delay:.15s}@keyframes slowGlow{0%,to{opacity:.85}50%{opacity:1}}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}[data-theme-anim=to-light]::view-transition-new(root){animation:themeRevealCircle .65s cubic-bezier(.16,1,.3,1) forwards}[data-theme-anim=to-dark]::view-transition-new(root){animation:themeRevealCircle .65s cubic-bezier(.16,1,.3,1) forwards}@keyframes themeRevealCircle{0%{-webkit-clip-path:circle(0 at var(--theme-anim-x,100%) var(--theme-anim-y,0));clip-path:circle(0 at var(--theme-anim-x,100%) var(--theme-anim-y,0))}to{-webkit-clip-path:circle(150% at var(--theme-anim-x,100%) var(--theme-anim-y,0));clip-path:circle(150% at var(--theme-anim-x,100%) var(--theme-anim-y,0))}}@supports not (selector(::view-transition-new(root))){html{transition:background-color .4s ease,color .4s ease}}@media (max-width:768px){body,html{font-size:14px}.btn-cta,.btn-secondary{font-size:13px;height:42px}}.type-caret{display:inline-block;width:2px;margin-left:2px;animation:typeBlink .8s steps(2,start) infinite;color:var(--accent);font-weight:300}@keyframes typeBlink{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.reveal-stagger>*{opacity:1!important;transform:none!important}}.BottomDock_dockWrap__E7TO8{position:fixed;left:0;right:0;bottom:24px;margin:0 auto;width:-moz-fit-content;width:fit-content;z-index:100;pointer-events:none}.BottomDock_dock__ndzrl{pointer-events:auto;display:flex;align-items:center;gap:6px;padding:8px 10px;background:rgba(20,20,26,.55);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:.5px solid hsla(0,0%,100%,.12);border-radius:22px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),0 16px 50px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.25)}[data-theme=light] .BottomDock_dock__ndzrl{background:hsla(0,0%,100%,.65);border:.5px solid rgba(0,0,0,.08);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6),0 16px 50px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.05)}.BottomDock_btn__pZidg{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;color:var(--text);text-decoration:none;transition:background .25s ease,color .25s ease,transform .3s cubic-bezier(.16,1,.3,1)}.BottomDock_btn__pZidg:hover{background:hsla(0,0%,100%,.08);color:var(--text-strong);transform:translateY(-2px)}[data-theme=light] .BottomDock_btn__pZidg:hover{background:rgba(0,0,0,.05)}.BottomDock_btnInner__OBepW{display:inline-flex;align-items:center;justify-content:center}.BottomDock_btnActive__vNknM{color:var(--text-strong);background:linear-gradient(135deg,rgba(79,163,255,.16),rgba(168,85,247,.12))}.BottomDock_btnActive__vNknM:hover{background:linear-gradient(135deg,rgba(79,163,255,.22),rgba(168,85,247,.18))}.BottomDock_activeDot__EcSZG{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.BottomDock_tooltip__KKtgG{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(4px);background:rgba(20,20,26,.92);color:#fff;padding:5px 10px;border-radius:8px;font-size:11px;font-weight:500;letter-spacing:.3px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;border:.5px solid hsla(0,0%,100%,.1)}[data-theme=light] .BottomDock_tooltip__KKtgG{background:rgba(20,20,26,.95)}.BottomDock_btn__pZidg:hover .BottomDock_tooltip__KKtgG{opacity:1;transform:translateX(-50%) translateY(0)}.BottomDock_divider__5cwrT{width:1px;height:24px;background:hsla(0,0%,100%,.1);margin:0 4px}[data-theme=light] .BottomDock_divider__5cwrT{background:rgba(0,0,0,.1)}.BottomDock_langPill___4WnA{height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:4px;background:transparent;border:.5px solid hsla(0,0%,100%,.14);border-radius:100px;color:var(--text-soft);font-size:12px;font-weight:500;letter-spacing:.3px;cursor:pointer;transition:all .25s ease}[data-theme=light] .BottomDock_langPill___4WnA{border-color:rgba(0,0,0,.14)}.BottomDock_langPill___4WnA:hover{border-color:var(--text-strong)}.BottomDock_langActive__8dVkv{color:var(--text-strong)}.BottomDock_langSep__O4XN4{opacity:.4}.BottomDock_themeBtn__yErQb{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:.5px solid hsla(0,0%,100%,.14);border-radius:50%;color:var(--text-soft);cursor:pointer;transition:all .25s ease}[data-theme=light] .BottomDock_themeBtn__yErQb{border-color:rgba(0,0,0,.14)}.BottomDock_themeBtn__yErQb:hover{color:var(--text-strong);border-color:var(--text-strong);transform:rotate(15deg)}@media (max-width:640px){.BottomDock_dockWrap__E7TO8{bottom:14px}.BottomDock_dock__ndzrl{padding:6px 8px;gap:4px;border-radius:18px}.BottomDock_btn__pZidg{width:38px;height:38px;border-radius:11px}.BottomDock_langPill___4WnA{height:32px;font-size:11px;padding:0 10px}.BottomDock_themeBtn__yErQb{width:32px;height:32px}.BottomDock_tooltip__KKtgG{display:none}}.CustomCursor_dot__jH9Nx{position:fixed;top:0;left:0;width:8px;height:8px;border-radius:50%;background:var(--accent);pointer-events:none;z-index:9999;opacity:0;display:flex;align-items:center;justify-content:center;color:var(--text-strong);transition:width .35s cubic-bezier(.34,1.56,.64,1),height .35s cubic-bezier(.34,1.56,.64,1),border-radius .6s cubic-bezier(.4,0,.2,1),background-color .3s ease,opacity .2s ease;will-change:transform}.CustomCursor_dotIcon__E3huv{width:16px;height:16px;opacity:0;transform:scale(.5);transition:opacity .25s ease .05s,transform .4s cubic-bezier(.34,1.56,.64,1) .05s}.CustomCursor_dot__jH9Nx:before{content:"";position:absolute;inset:-7px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0,rgba(var(--accent-rgb),.95) 25%,transparent 50%,rgba(var(--accent-rgb),.65) 75%,transparent 100%);-webkit-mask:radial-gradient(transparent 58%,#000 62%,#000 100%);mask:radial-gradient(transparent 58%,#000 62%,#000 100%);opacity:0;transition:opacity .3s ease;animation:CustomCursor_cursorSpin__2JVr_ 2.2s linear infinite}@keyframes CustomCursor_cursorSpin__2JVr_{to{transform:rotate(1turn)}}.CustomCursor_dotHover__ASeqD{width:40px;height:40px;background:var(--accent);animation:CustomCursor_blobMorph__je1Vh 5s ease-in-out infinite}.CustomCursor_dotHover__ASeqD .CustomCursor_dotIcon__E3huv{opacity:1;transform:scale(1)}.CustomCursor_dotHover__ASeqD:before{opacity:1}@keyframes CustomCursor_blobMorph__je1Vh{0%,to{border-radius:50%}25%{border-radius:62% 38% 47% 53%/55% 60% 40% 45%}50%{border-radius:42% 58% 64% 36%/48% 55% 45% 52%}75%{border-radius:53% 47% 38% 62%/56% 42% 58% 44%}}.CustomCursor_dotClick__gCc8p{transform-origin:center!important}.CustomCursor_dotClick__gCc8p.CustomCursor_dotHover__ASeqD{width:32px;height:32px}.CustomCursor_glow__Z8BNZ{position:fixed;top:0;left:0;width:220px;height:220px;border-radius:50%;pointer-events:none;z-index:9998;background:radial-gradient(circle,rgba(var(--accent-rgb),.18) 0,rgba(var(--accent-rgb),.06) 40%,transparent 70%);filter:blur(16px);opacity:0;transition:width .35s ease,height .35s ease,opacity .3s ease,background .35s ease;will-change:transform}.CustomCursor_glowHover__2Ykft{width:360px;height:360px;background:radial-gradient(circle,rgba(var(--accent-rgb),.4) 0,rgba(var(--accent-rgb),.18) 35%,rgba(var(--accent-rgb),.05) 60%,transparent 75%);animation:CustomCursor_glowPulse__wp_Vh 1.4s cubic-bezier(.4,0,.2,1) infinite}@keyframes CustomCursor_glowPulse__wp_Vh{0%,to{filter:blur(16px)}50%{filter:blur(24px)}}@media (max-width:768px),(pointer:coarse){.CustomCursor_dot__jH9Nx,.CustomCursor_glow__Z8BNZ{display:none}}@media (prefers-reduced-motion:reduce){.CustomCursor_glow__Z8BNZ{transition:opacity .3s;animation:none}.CustomCursor_dotHover__ASeqD{animation:none;border-radius:50%}.CustomCursor_dot__jH9Nx:before{animation:none}}