:root{--bg:#0B0F17;--ink:#e8ebf5;--soft:#c4cadb;--mute:#8f97ad;--accent:#10B981;--accent-2:#5eead4;--line:rgba(255,255,255,.09);--r:18px;--ease:cubic-bezier(.2,.7,.2,1);--gutter:clamp(1rem,4vw,1.5rem);--sec:clamp(2.75rem,6vw,4.75rem);--display:"Bricolage Grotesque",system-ui,sans-serif;--body:"DM Sans",system-ui,sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:5.5rem;color-scheme:dark;-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--bg);color:var(--ink);font:400 clamp(.95rem,.9rem + .25vw,1.02rem)/1.6 var(--body);overflow-x:clip;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;counter-reset:sec}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(60rem 40rem at 85% -10%,rgba(16,185,129,.16),transparent 60%),radial-gradient(50rem 36rem at -10% 45%,rgba(94,234,212,.07),transparent 60%)}#bg{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}img{display:block;max-width:100%;height:auto}ul,ol{list-style:none;padding:0}a{color:inherit}a,button{touch-action:manipulation}h1,h2,h3{font-family:var(--display);line-height:1.1;letter-spacing:-.02em}h3{font-size:clamp(1.02rem,1rem + .3vw,1.15rem)}:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;border-radius:8px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:fixed;left:1rem;top:-4rem;z-index:300;background:var(--accent);color:#0a0b14;padding:.7rem 1rem;border-radius:10px;font-weight:700;transition:top .2s}.skip:focus{top:1rem}.wrap{width:min(1120px,100% - 2*var(--gutter));margin-inline:auto}.wrap.narrow{width:min(760px,100% - 2*var(--gutter))}section{padding:var(--sec) 0}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:1.2rem;align-items:stretch}main section:not(.hero){counter-increment:sec}h2{font-size:clamp(1.75rem,1.2rem + 2.4vw,2.7rem);margin-bottom:clamp(1.1rem,3vw,1.8rem);letter-spacing:-.03em}h2:before{content:"0" counter(sec);display:block;margin-bottom:.55rem;font:600 .78rem/1 var(--body);letter-spacing:.18em;color:var(--accent)}.glass{position:relative;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(160deg,#ffffff0e,#ffffff03);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.glass:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:radial-gradient(240px circle at var(--mx,50%) var(--my,0%),var(--accent),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s}.glass:hover:before{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.8rem 1.5rem;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;border:1px solid var(--line);background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .25s,box-shadow .25s,scale .15s;will-change:transform}.btn:hover{border-color:#10b981a6;box-shadow:0 0 0 4px #10b9811f,0 12px 30px -12px #10b981b3}.btn:active{scale:.97}.btn.solid{background:linear-gradient(135deg,var(--accent),#06b6d4);border-color:transparent;color:#0a0b14}.arr{display:inline-block;transition:translate .3s var(--ease)}.btn:hover .arr{translate:4px 0}.actions{display:flex;flex-wrap:wrap;gap:.8rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem}.chip{font:600 .9rem var(--body);color:var(--mute);min-height:44px;padding:.5rem 1.15rem;border-radius:999px;border:1px solid var(--line);background:none;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.chip:hover{color:var(--ink);border-color:#ffffff40}.chip[aria-pressed=true],.chip[aria-selected=true]{color:#0a0b14;background:var(--accent-2);border-color:var(--accent-2)}.site{position:fixed;inset:max(.7rem,env(safe-area-inset-top)) 0 auto;z-index:100}.site .wrap{position:relative;width:min(1120px,100% - 1.25rem);display:flex;align-items:center;justify-content:space-between;padding:.35rem .5rem .35rem 1.2rem}.site .wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;border-radius:999px;border:1px solid var(--line);background:#0b0f1799;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%)}.logo{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:44px;font:700 1.08rem var(--display);text-decoration:none;letter-spacing:-.02em}.nav{display:flex;gap:.1rem;align-items:center}.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .95rem;border-radius:999px;text-decoration:none;color:var(--mute);font-weight:500;font-size:.9rem;transition:color .2s,background .2s}.nav a:hover{color:var(--ink)}.nav a[aria-current=true]{color:var(--ink);background:#ffffff17}.nav-cta{display:none!important}.burger{display:none;position:relative;z-index:1;width:48px;height:48px;border:0;background:none;color:inherit;place-content:center;gap:6px;cursor:pointer}.burger i{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .4s var(--ease)}.burger[aria-expanded=true] i:first-child{transform:translateY(4px) rotate(45deg)}.burger[aria-expanded=true] i:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{position:relative;isolation:isolate;overflow:clip;min-height:min(100svh,860px);display:grid;align-items:center;padding:clamp(5.5rem,10vh,7rem) 0 clamp(2.5rem,6vh,4rem)}.hero-photo{--photo-o:.4;position:absolute;left:0;top:0;z-index:-1;width:min(52vw,600px);height:100%;max-width:none;object-fit:cover;object-position:left top;opacity:var(--photo-o);pointer-events:none;transform-origin:left center;will-change:transform;-webkit-mask-image:linear-gradient(to right,#000 30%,transparent 100%),linear-gradient(to bottom,#000 55%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,#000 30%,transparent 100%),linear-gradient(to bottom,#000 55%,transparent 100%);mask-composite:intersect}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(11,15,23,.35),transparent 22%,transparent 78%,var(--bg))}.hero .wrap{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)}.hero-copy{grid-column:2;max-width:640px}.pill{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.2rem;padding:.4rem .95rem;border-radius:999px;font-size:.82rem;font-weight:500;color:#c9f7e8;border:1px solid rgba(16,185,129,.35);background:#10b98114}.pill i{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #10b98199}70%,to{box-shadow:0 0 0 9px #10b98100}}h1{font-weight:800;font-size:clamp(3rem,2rem + 6vw,6rem);line-height:.92;letter-spacing:-.05em;text-wrap:balance}.mask{display:block;overflow:hidden;padding-bottom:.1em}.line{display:block}.role{font-size:clamp(1.1rem,.95rem + .9vw,1.55rem);font-weight:500;letter-spacing:-.01em;color:var(--mute);margin:1rem 0 .9rem;min-height:1.5em}#typed{color:var(--ink)}#typed:after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:5px;vertical-align:-.15em;background:var(--accent-2);animation:blink 1s steps(1) infinite}.lede{max-width:46ch;color:var(--soft);font-size:clamp(1rem,.95rem + .25vw,1.1rem);margin-bottom:1.6rem}.hero .btn{min-height:52px;padding-inline:1.7rem;border-color:#fff3}.hero .btn.solid{border-color:transparent;box-shadow:0 0 0 1px #10b98180,0 12px 40px -12px #10b981bf}.facts{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2rem;padding-top:1.3rem;border-top:1px solid var(--line)}.facts li{display:grid;font-size:.82rem;color:var(--mute);line-height:1.35}.facts b{color:var(--ink);font:600 .95rem var(--display);letter-spacing:-.01em}.about-lead{max-width:30ch;font:600 clamp(1.4rem,1rem + 2vw,2.2rem)/1.2 var(--display);letter-spacing:-.025em;text-wrap:balance}.pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(1.3rem,3vw,2rem)}.pillar{padding:clamp(1.2rem,3vw,1.8rem);display:grid;gap:.75rem;align-content:start}.pillar p{color:var(--soft)}.about-foot{margin-top:1.2rem;color:var(--mute);font-size:.9rem}.tags{display:flex;flex-wrap:wrap;gap:.4rem}.tags li{font-size:.76rem;padding:.2rem .7rem;border-radius:999px;border:1px solid var(--line);color:var(--accent-2);background:#5eead40f}.tags.big li{font-size:.88rem;padding:.35rem .95rem}.tags.soft,.tags.markets{margin-top:1.4rem}.tags.soft li{color:var(--soft);background:#ffffff0a}.skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}.skill{padding:1.1rem;display:grid;gap:.6rem;justify-items:start;transition:transform .35s var(--ease)}.skill:hover{transform:translateY(-3px)}.skill[hidden]{display:none}.skill i{font-size:1.7rem;color:var(--accent)}.skill span{font-weight:700;font-size:.95rem;line-height:1.25}.skill[data-cat=trading]{border-color:#5eead447}.skill[data-cat=trading] i{color:var(--accent-2)}.bar{width:100%;height:4px;border-radius:4px;background:#ffffff14;overflow:hidden}.bar b{display:block;height:100%;width:var(--lvl);border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform-origin:left;transition:transform 1.1s var(--ease) .2s}.lead{color:var(--soft);margin:-.8rem 0 1.5rem;font-size:1.05rem}.trade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.9rem}.trade{padding:1.3rem;display:grid;gap:.6rem;align-content:start}.trade p{color:var(--soft);font-size:.95rem}.note{margin-top:1.1rem;color:var(--mute);font-size:.82rem}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:7px;top:.6rem;bottom:.6rem;width:2px;background:linear-gradient(var(--accent),transparent)}.node{position:relative;padding-bottom:1rem}.node:before{content:"";position:absolute;left:-2rem;top:.2rem;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 0 4px #10b98126,0 0 16px var(--accent)}.node time{display:block;margin-bottom:.4rem;color:var(--accent-2);font-weight:700;font-size:.85rem}.node article{padding:1.1rem 1.3rem}.node .where{color:var(--mute);font-size:.88rem;margin:.15rem 0 .45rem}.node article p:last-child{color:var(--soft);font-size:.95rem}.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.1rem}.project{height:100%;display:flex;flex-direction:column;overflow:hidden;will-change:transform}.shot{position:relative;overflow:hidden;background:#10131c}.shot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 55%,#0b0f17cc)}.shot img{width:100%;aspect-ratio:8/5;object-fit:cover;transition:transform .8s var(--ease)}.project:hover .shot img{transform:scale(1.06)}.body{display:flex;flex-direction:column;gap:.65rem;padding:1.15rem 1.2rem 1.25rem;flex:1}.body p{color:var(--soft);font-size:.93rem}.body .btn{margin-top:auto;align-self:flex-start;min-height:44px;padding:.5rem 1.15rem;font-size:.88rem}.more{margin-top:1.8rem;text-align:center}.contacts{display:grid;gap:.8rem;align-content:start}.contacts li{padding:1rem 1.3rem;display:grid;gap:.1rem}.contacts span{color:var(--mute);font-size:.82rem}.contacts a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-weight:700;overflow-wrap:anywhere}.contacts a:hover{color:var(--accent-2)}.cta{padding:clamp(1.3rem,3vw,2rem);display:flex;flex-direction:column;justify-content:center}.cta p{color:var(--soft);margin:.5rem 0 1.4rem}.form{margin-top:1.2rem;padding:clamp(1.2rem,4vw,2rem);display:grid;gap:1rem}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form label{display:grid;gap:.4rem;font-weight:600;font-size:.88rem}.form input,.form textarea{width:100%;min-height:48px;padding:.75rem 1rem;font:400 1rem var(--body);color:var(--ink);background:#ffffff0a;border:1px solid var(--line);border-radius:14px;resize:vertical;transition:border-color .2s,box-shadow .2s}.form input:focus,.form textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px #10b9812e}.form input:user-invalid,.form textarea:user-invalid{border-color:#ff7a8a}.form .btn{justify-self:start}.status{min-height:1.3em;color:var(--accent-2);font-size:.9rem}footer{border-top:1px solid var(--line);padding:1.6rem 0 calc(1.6rem + env(safe-area-inset-bottom));color:var(--mute);font-size:.9rem}footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem}.social{display:flex;gap:.5rem}.social a{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);font-size:1.15rem;transition:color .2s,border-color .2s,transform .3s var(--ease)}.social a:hover{color:var(--accent-2);border-color:var(--accent-2);transform:translateY(-3px)}#cur,#ring{position:fixed;left:0;top:0;z-index:400;pointer-events:none;display:none;border-radius:50%;translate:-50% -50%}.has-cursor #cur,.has-cursor #ring{display:block}.has-cursor,.has-cursor a,.has-cursor button{cursor:none}#cur{width:7px;height:7px;background:var(--accent-2)}#ring{width:36px;height:36px;border:1px solid rgba(16,185,129,.7);transition:width .25s var(--ease),height .25s var(--ease),background .25s}.cur-active #ring{width:58px;height:58px;background:#10b9811f}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:no-preference){.js .line{transform:translateY(110%)}.js .fade,.js .hero-photo{opacity:0}.js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s var(--ease);transition-delay:calc(var(--i,0)*70ms)}.js [data-reveal].in{opacity:1;transform:none}.js .skill:not(.in) .bar b{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}#typed:after,.pill i{animation:none}}@media (max-width:820px){.split,.pillars{grid-template-columns:1fr}.burger{display:grid}.site .wrap{width:calc(100% - 1rem);padding:.25rem .35rem .25rem 1rem}.nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:0;padding:5rem var(--gutter) 2rem;background:#0b0f17f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);visibility:hidden;clip-path:circle(0 at calc(100% - 2.4rem) 2.2rem);transition:clip-path .7s var(--ease),visibility 0s .7s}.nav.open{visibility:visible;clip-path:circle(150% at calc(100% - 2.4rem) 2.2rem);transition:clip-path .7s var(--ease)}.nav a{font:600 1.6rem var(--display);min-height:58px;padding:0;border-radius:0;color:var(--ink);border-bottom:1px solid var(--line);opacity:0;translate:0 14px;transition:opacity .4s,translate .6s var(--ease)}.nav.open a{opacity:1;translate:none;transition-delay:calc(.15s + var(--n,0)*.06s)}.nav a[aria-current=true]{background:none;color:var(--accent-2)}.nav .nav-cta{display:flex!important;margin-top:1.4rem;justify-content:center;border:0;border-radius:999px;font:700 1.05rem var(--body);min-height:52px;color:#0a0b14;background:linear-gradient(135deg,var(--accent),#06b6d4)}.hero{min-height:auto;align-items:end;padding:6rem 0 2.25rem}.hero-photo{--photo-o:.4;width:100%;height:100%;object-position:left top;-webkit-mask-image:linear-gradient(to right,#000 25%,transparent 95%),linear-gradient(to bottom,#000 45%,transparent 100%);mask-image:linear-gradient(to right,#000 25%,transparent 95%),linear-gradient(to bottom,#000 45%,transparent 100%)}.hero:after{background:linear-gradient(to bottom,rgba(11,15,23,.2),rgba(11,15,23,0) 30%,rgba(11,15,23,.45) 65%,var(--bg))}.hero .wrap{grid-template-columns:1fr}.hero-copy{grid-column:1;max-width:none}.hero .actions .btn{flex:1 1 100%}.facts{margin-top:1.5rem;padding-top:1rem;gap:.5rem 1.4rem}.skills{grid-template-columns:repeat(2,1fr);gap:.65rem}.skill{padding:.95rem}.timeline{padding-left:1.7rem}.node:before{left:-1.7rem}.form .row{grid-template-columns:1fr}.form .btn{justify-self:stretch}.shot img{aspect-ratio:16/9}}@media (max-width:480px){.tags li{font-size:.74rem}.node article{padding:1rem}footer .wrap{justify-content:center;text-align:center}}@media (min-width:821px) and (max-width:1000px){.hero-copy{grid-column:1/-1;padding-left:min(30vw,260px)}}
