@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;600&family=Space+Mono:wght@400;700&display=swap");:root{--bg:#0c0b09;--surface:#161411;--paper:#f2ede3;--muted:#6b6560;--gold:#c9a84c;--gold-dim:#7a6530;--off:#1e1b17;--font-display:"Cormorant Garamond",serif;--font-mono:"Space Mono",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{cursor:none;scroll-behavior:smooth}body,html{background-color:var(--bg)}body{color:var(--paper);font-family:var(--font-display);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh}body:before{content:"";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:.04;z-index:9999}.loader,body:before{position:fixed;inset:0;pointer-events:none}.loader{z-index:10000;display:flex;flex-direction:column;justify-content:center;align-items:center}.loader-bg-bottom,.loader-bg-top{position:absolute;left:0;width:100%;height:50%;background:var(--bg);transition:transform .7s cubic-bezier(.76,0,.24,1)}.loader-bg-top{top:0}.loader-bg-bottom{bottom:0}.loader.exiting .loader-bg-top{transform:translateY(-100%)}.loader.exiting .loader-bg-bottom{transform:translateY(100%)}.loader-line{position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--gold);-webkit-clip-path:inset(0 50%);clip-path:inset(0 50%);transition:-webkit-clip-path .6s ease-in-out;transition:clip-path .6s ease-in-out;transition:clip-path .6s ease-in-out,-webkit-clip-path .6s ease-in-out;z-index:2}.loader-content{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:1rem}.loader-name{font-family:var(--font-display);font-size:2rem;font-weight:300;letter-spacing:.1em;color:var(--paper);overflow:hidden;display:flex}.loader-name span{display:inline-block;transform:translateY(100%);transition:transform .5s cubic-bezier(.16,1,.3,1)}.loader-pct{font-family:var(--font-mono);font-size:.85rem;color:var(--gold);opacity:0;transition:opacity .3s}.cursor-dot{width:8px;height:8px;background:var(--gold);border-radius:50%;z-index:10001;transition:opacity .3s,transform .1s}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none}.cursor-ring{width:44px;height:44px;border:1px solid var(--gold-dim);border-radius:50%;z-index:10000;display:flex;justify-content:center;align-items:center;font-family:var(--font-mono);font-size:10px;color:var(--gold);transition:width .3s,height .3s,background .3s,opacity .3s;text-transform:uppercase}.cursor-ring span{opacity:0;transition:opacity .2s;white-space:nowrap}body.hovering-link .cursor-dot{opacity:0}body.hovering-link .cursor-ring{width:80px;height:80px;background:rgba(201,168,76,.12);margin-left:-18px;margin-top:-18px}body.hovering-card .cursor-dot{opacity:0}body.hovering-card .cursor-ring{width:80px;height:80px;background:rgba(201,168,76,.12);margin-left:-18px;margin-top:-18px}body.hovering-card .cursor-ring span{opacity:1}body.clicking .cursor-ring{transform:scaleX(.8) scaleY(1.2)!important}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-left:8vw;padding-right:40px;position:relative}.hero-name-wrapper{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:2rem}.hero-word{overflow:hidden}.hero-word span{display:inline-block;font-family:var(--font-display);font-size:clamp(52px,9vw,120px);font-weight:300;letter-spacing:-.02em;color:var(--paper);transform:translateY(110%);transition:transform .8s cubic-bezier(.16,1,.3,1)}.hero.loaded .hero-word span{transform:translateY(0)}.hero-meta{display:flex;align-items:center;gap:2rem;opacity:0;transition:opacity 1s .9s}.hero.loaded .hero-meta{opacity:1}.hero-line{width:1px;height:0;background:var(--gold-dim);transition:height .8s cubic-bezier(.16,1,.3,1) .7s}.hero.loaded .hero-line{height:72px}.hero-roles{font-family:var(--font-mono);font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);max-width:400px;line-height:1.8}.scroll-indicator{position:absolute;right:40px;bottom:40px;display:flex;flex-direction:column;align-items:center;gap:16px;font-family:var(--font-mono);font-size:10px;color:var(--gold-dim);writing-mode:vertical-rl;letter-spacing:.2em}.scroll-arrow{animation:bounce 1.8s cubic-bezier(.16,1,.3,1) infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.nav{position:fixed;top:0;left:0;right:0;padding:32px 8vw;display:flex;justify-content:space-between;align-items:center;z-index:100;opacity:0;transition:opacity .5s 1.8s,background .3s,-webkit-backdrop-filter .3s;transition:opacity .5s 1.8s,background .3s,backdrop-filter .3s;transition:opacity .5s 1.8s,background .3s,backdrop-filter .3s,-webkit-backdrop-filter .3s}.nav.loaded{opacity:1}.nav.scrolled{background:rgba(12,11,9,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-top:24px;padding-bottom:24px}.nav-link,.nav-logo{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:var(--paper);text-decoration:none;cursor:none}.nav-links{display:flex;gap:3rem}@media (max-width:768px){.nav-links{display:none}}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);width:0;z-index:1001;pointer-events:none}.reveal-child{opacity:0;transform:translateY(48px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}.reveal-child.visible{opacity:1;transform:translateY(0)}.section{padding:120px 8vw;max-width:1600px;margin:0 auto}.section-header{font-family:var(--font-mono);font-size:11px;color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:64px}.section-header span{color:var(--muted);margin-right:1rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:64px;gap:64px;align-items:start}@media (max-width:1024px){.about-grid{grid-template-columns:1fr}}.text-body{font-size:1.4rem;line-height:1.6;color:var(--paper);font-weight:300;margin-bottom:2rem}.text-body-small{line-height:1.8}.terminal,.text-body-small{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.terminal{background:var(--surface);padding:32px;border:1px solid var(--off);line-height:1.6}.terminal-cmd{color:var(--gold);margin-bottom:8px;margin-top:16px}.terminal-cmd:first-child{margin-top:0}.terminal-out{color:var(--paper);padding-left:16px;border-left:1px solid var(--off)}.cap-container{border-top:1px solid var(--off)}.cap-row{display:grid;grid-template-columns:80px 300px 1fr;padding:64px 0;border-bottom:1px solid var(--off);align-items:start;transition:background .4s ease;cursor:none;position:relative}.cap-row:before{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--gold);transition:width .5s cubic-bezier(.16,1,.3,1)}.cap-row:hover{background:rgba(201,168,76,.03)}.cap-row:hover:before{width:100%}.cap-num{font-family:var(--font-mono);font-size:11px;color:var(--gold-dim);padding-top:12px}.cap-title{font-size:32px;font-weight:300;color:var(--paper);transition:transform .4s cubic-bezier(.16,1,.3,1),color .4s}.cap-row:hover .cap-title{transform:translateX(20px);color:var(--gold)}.cap-content{display:flex;flex-direction:column;gap:32px}.cap-list{font-family:var(--font-display);font-size:26px;color:var(--muted);line-height:1.4;font-weight:300}.cap-list-item{transition:color .3s}.cap-row:hover .cap-list-item{color:var(--paper)}.cap-tools{display:flex;flex-wrap:wrap;gap:8px}.cap-tag{font-family:var(--font-mono);font-size:10px;color:var(--muted);padding:6px 14px;border:1px solid var(--off);text-transform:uppercase;transition:border-color .3s,color .3s,transform .3s cubic-bezier(.16,1,.3,1)}.cap-row:hover .cap-tag{border-color:var(--gold-dim);color:var(--gold);transform:translateY(-4px)}@media (max-width:900px){.cap-row{grid-template-columns:1fr;gap:16px;padding:40px 0}.cap-num{display:none}.cap-row:hover .cap-title{transform:translateX(0)}}.exp-row{display:grid;grid-template-columns:200px 300px 1fr;grid-gap:2rem;gap:2rem;padding:40px 0;border-bottom:1px solid var(--off);transition:color .3s;align-items:start}.exp-row:hover{color:var(--gold)}@media (max-width:900px){.exp-row{grid-template-columns:1fr;gap:8px;padding:24px 0}}.exp-date{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.exp-title{font-size:24px;font-weight:300;color:var(--paper)}.exp-company{font-size:11px;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-top:8px}.exp-company,.exp-desc{font-family:var(--font-mono)}.exp-desc{font-size:12px;line-height:1.6;color:var(--muted)}.exp-desc ul{list-style:none;display:flex;flex-direction:column;gap:12px}.exp-desc li{position:relative;padding-left:16px}.exp-desc li:before{content:"›";position:absolute;left:0;top:0;color:var(--gold-dim)}.research-box{background:var(--surface);border:1px solid var(--off);padding:64px;text-align:center}.research-meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:24px}.research-title{font-size:32px;line-height:1.2;font-weight:300;color:var(--paper);max-width:800px;margin:0 auto 32px}.research-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim);padding-bottom:4px;transition:color .3s,border-color .3s}.research-link:hover{color:var(--paper);border-color:var(--paper)}.project-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:2px;gap:2px;background:var(--off);border:2px solid var(--off);margin-bottom:64px}@media (max-width:900px){.project-grid{grid-template-columns:1fr}}.card{background:var(--surface);padding:48px;display:flex;flex-direction:column;text-decoration:none;position:relative;transition:transform .4s ease,background .35s cubic-bezier(.16,1,.3,1);cursor:none}.card-num{font-family:var(--font-mono);font-size:12px;color:var(--gold);margin-bottom:48px;text-transform:uppercase;letter-spacing:.1em}.card-name{font-family:var(--font-display);font-size:36px;font-weight:300;color:var(--paper);line-height:1.1;margin-bottom:24px;position:relative;display:inline-block;transition:letter-spacing .35s cubic-bezier(.16,1,.3,1)}.card-name:after{content:"";position:absolute;left:0;bottom:-8px;height:1px;width:0;background:var(--gold);transition:width .35s cubic-bezier(.16,1,.3,1)}.card-desc{font-family:var(--font-mono);font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:48px}.card-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto}.card-meta{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.card-arrow,.card-meta{font-family:var(--font-mono)}.card-arrow{color:var(--gold);font-size:16px;transition:transform .35s}.card:hover{transform:translateY(-6px);background:var(--off)}.card:hover .card-name{letter-spacing:.04em}.card:hover .card-name:after{width:100%}.card:hover .card-arrow{transform:translateX(4px)}.minor-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2px;gap:2px;background:var(--off);border:2px solid var(--off)}.minor-card{background:var(--surface);padding:32px;display:flex;flex-direction:column;cursor:none;transition:background .3s;text-decoration:none}.minor-card:hover{background:var(--off)}.minor-card .c-name{font-size:24px;font-weight:300;color:var(--paper);margin-bottom:16px}.minor-card .c-desc{font-family:var(--font-mono);font-size:11px;color:var(--muted);line-height:1.5;margin-bottom:24px}.minor-card .c-tags{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}.minor-card .c-tag{font-family:var(--font-mono);font-size:9px;color:var(--gold-dim);padding:2px 8px;border:1px solid var(--off);text-transform:uppercase}.cred-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:32px;gap:32px}.cred-item{display:flex;gap:16px;align-items:flex-start}.cred-icon{color:var(--gold);font-size:12px;margin-top:4px}.cred-details{display:flex;flex-direction:column;gap:4px}.cred-title{font-size:20px;font-weight:300;color:var(--paper)}.cred-org{font-family:var(--font-mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.contact-section{min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.contact-desc{max-width:600px;font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:64px}.contact-title{font-family:var(--font-display);font-size:clamp(48px,8vw,110px);font-weight:300;color:var(--paper);display:flex;gap:.5em;cursor:pointer}.contact-word{transition:transform .3s cubic-bezier(.16,1,.3,1),color .3s;display:inline-block}.contact-title:hover .contact-word{transform:skewX(-6deg) translateY(-4px);color:var(--gold)}.contact-email{margin-top:40px;font-family:var(--font-mono);font-size:14px;color:var(--muted);cursor:pointer;position:relative;transition:color .3s}.contact-email:hover{color:var(--paper)}.tooltip{position:absolute;top:-30px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--bg);padding:4px 8px;border-radius:2px;font-size:10px;opacity:0;pointer-events:none;transition:opacity .3s}.contact-email.copied .tooltip{opacity:1}.footer-links{margin-top:60px;display:flex;gap:32px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase}.footer-links a{color:var(--muted);text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--gold)}.footer-sign{margin-top:120px;font-family:var(--font-mono);font-size:10px;color:var(--muted);opacity:.5}@media (max-width:768px){.global-canvas{opacity:.22!important}.cursor-dot,.cursor-ring{display:none!important}.section{padding:80px 24px}.hero{padding-left:24px;padding-right:24px}.nav{padding:24px}.nav.scrolled{padding-top:16px;padding-bottom:16px}.nav-logo{font-size:14px}.about-grid .text-body h2{font-size:28px!important}.terminal{padding:24px;font-size:11px;overflow-x:hidden;word-wrap:break-word}.terminal-out{padding-left:12px}.cap-row{padding:32px 0}.cap-title{font-size:24px}.cap-tools{gap:6px}.cap-tag{font-size:9px;padding:4px 10px}.exp-title{font-size:20px}.exp-company,.exp-desc{font-size:11px}.card{padding:32px 24px}.card-name{font-size:26px}.card-num{margin-bottom:32px}.minor-projects{grid-template-columns:1fr}.minor-card{padding:24px}.research-box{padding:40px 24px}.research-title{font-size:22px}.contact-title{font-size:40px;flex-wrap:wrap;justify-content:center}.contact-email{font-size:12px}.footer-links{gap:16px;flex-wrap:wrap;justify-content:center}.footer-sign{margin-top:80px;text-align:center;line-height:1.5}}