*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0b;--surface: #111113;--border: #1e1e21;--text: #fafafa;--text-rgb: 250, 250, 250;--text-muted: #63636b;--text-muted-rgb: 99, 99, 107;--accent: #4ade80;--accent-rgb: 74, 222, 128;--glow-intensity: .12}html{scroll-behavior:smooth}body{font-family:Space Grotesk,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden;cursor:auto}.skip-link{position:absolute;left:12px;top:12px;padding:10px 12px;background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.35);color:var(--text);border-radius:8px;transform:translateY(-160%);transition:transform .18s ease;z-index:10000}.skip-link:focus{transform:translateY(0)}body.has-custom-cursor,body.has-custom-cursor *{cursor:none!important}.grain{position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)'/%3E%3C/svg%3E");opacity:.04;pointer-events:none;z-index:1000}.cursor{position:fixed;width:12px;height:12px;border:1.5px solid var(--accent);border-radius:50%;pointer-events:none;z-index:9999;opacity:0;will-change:transform;transform:translate3d(-50%,-50%,0);transition:opacity .12s ease-out,width .15s ease,height .15s ease,border-color .2s ease}.cursor.is-visible{opacity:1}.cursor.hovering{width:24px;height:24px;border-color:var(--text)}.cursor-glow{position:fixed;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),var(--glow-intensity)) 0%,transparent 70%);pointer-events:none;opacity:0;will-change:transform;transform:translate3d(-50%,-50%,0);z-index:-1;transition:opacity .2s ease-out}.cursor-glow.is-visible{opacity:1}.cursor-glow.is-visible.fading{opacity:0;transition:opacity 5s ease-out}@media(prefers-reduced-motion:reduce){.cursor,.cursor-glow{transition:none}}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--bg)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeUp .6s ease-out forwards;opacity:0}.fade-in-1{animation-delay:0s}.fade-in-2{animation-delay:.1s}.fade-in-3{animation-delay:.2s}.fade-in-4{animation-delay:.3s}.page{min-height:100vh;max-width:720px;margin:0 auto;padding:4rem 2rem;position:relative}.header{margin-bottom:5rem;position:relative}.kicker{display:block;color:var(--text-muted);font-size:.9rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem}.name{font-size:clamp(3rem,10vw,5rem);font-weight:700;letter-spacing:-.04em;line-height:1;margin-bottom:1.5rem;color:var(--text)}.intro{font-size:1.25rem;color:var(--text);max-width:480px;line-height:1.7}.intro-rewrite{--intro-delay: .9s;display:inline-flex;flex-direction:column;align-items:flex-start}.intro-sober{position:relative;display:inline-block;color:var(--text-muted)}.intro-sober:after{content:"";position:absolute;left:-.1em;right:-.1em;top:55%;height:2px;border-radius:999px;background:rgba(var(--text-rgb),.55);transform:scaleX(0);transform-origin:left;animation:introStrike .9s cubic-bezier(.2,.8,.2,1) var(--intro-delay) forwards}.intro-whimsy{position:relative;display:inline-block;padding-bottom:2px;opacity:0;transform:translateY(4px);animation:introWhimsyReveal .65s cubic-bezier(.2,.8,.2,1) calc(var(--intro-delay) + 1.15s) forwards;color:rgba(var(--text-rgb),.9)}.intro-whimsy:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:999px;background:rgba(var(--accent-rgb),.9);opacity:0;transform:scaleX(0);transform-origin:left;animation:introUnderlineDraw .65s cubic-bezier(.2,.8,.2,1) calc(var(--intro-delay) + 2.05s) forwards,introUnderlineFade .9s ease calc(var(--intro-delay) + 3.55s) forwards}@keyframes introStrike{to{transform:scaleX(1)}}@keyframes introWhimsyReveal{to{opacity:1;transform:translateY(0)}}@keyframes introUnderlineDraw{to{opacity:1;transform:scaleX(1)}}@keyframes introUnderlineFade{to{opacity:0}}@media(prefers-reduced-motion:reduce){.intro-sober{animation:none}.intro-sober:after{animation:none;transform:scaleX(1)}.intro-whimsy{opacity:1;transform:none;animation:none}.intro-whimsy:after{opacity:.35;transform:scaleX(1);animation:none}}.links{display:flex;gap:1.5rem;margin-top:2rem}.link{font-size:.9rem;color:var(--text-muted);position:relative;padding-bottom:2px;transition:color .2s ease,transform .25s ease}.link:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .25s ease}.link:hover{color:var(--text);transform:translateY(-1px)}.link:hover:after{width:100%}.link:focus-visible{outline:2px solid rgba(var(--accent-rgb),.6);outline-offset:4px;border-radius:4px}.section{margin-bottom:4rem}.section-label{font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.5rem;display:inline-flex;align-items:center;gap:.75rem;transition:color .25s ease,letter-spacing .25s ease}.section-label:before{content:"";width:18px;height:1px;background:rgba(var(--accent-rgb),.45);transform:scaleX(.7);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .2s ease;opacity:.6}.section:hover .section-label,.section-label:hover{color:rgba(var(--accent-rgb),.9);letter-spacing:.18em}.section:hover .section-label:before,.section-label:hover:before{transform:scaleX(1);opacity:1}.now{padding:1.25rem;background:var(--surface);border-radius:8px;border-left:2px solid var(--accent);transform:translateY(0);will-change:transform;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease}.now.lit{box-shadow:inset 2px 0 12px -4px rgba(var(--accent-rgb),.3)}.now:hover{transform:translateY(-2px);box-shadow:inset 2px 0 12px -4px rgba(var(--accent-rgb),.3)}.now.lit{transform:translateY(-1px)}.now-text{font-size:.95rem;color:var(--text-muted);line-height:1.7;transition:color .3s ease}.now.lit .now-text,.now:hover .now-text{color:var(--text)}.now-text strong{color:var(--text);font-weight:500}.role{padding:1.25rem 1rem;border-top:1px solid var(--border);transform:translateY(0);will-change:transform;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease;position:relative}.role:before{content:"";position:absolute;inset:0;background:radial-gradient(700px circle at 0% 50%,rgba(var(--accent-rgb),.08) 0%,rgba(var(--accent-rgb),.045) 38%,rgba(var(--accent-rgb),.02) 58%,transparent 78%);opacity:0;transition:opacity .55s cubic-bezier(.2,.8,.2,1);pointer-events:none}.role.lit:before{opacity:1}.role:hover:before{opacity:1}.role.lit{border-color:rgba(var(--accent-rgb),.3)}.role:hover{border-color:rgba(var(--accent-rgb),.3);transform:translateY(-2px);box-shadow:0 18px 40px -28px #000000bf}.role.lit{transform:translateY(-1px)}.role.lit+.role{border-top-color:rgba(var(--accent-rgb),.3)}.role:hover+.role{border-top-color:rgba(var(--accent-rgb),.3)}.role:last-child{border-bottom:1px solid var(--border)}.role:last-child.lit{border-bottom-color:rgba(var(--accent-rgb),.3)}.role:last-child:hover{border-bottom-color:rgba(var(--accent-rgb),.3)}.role-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.role-title{font-size:1rem;font-weight:600;transition:color .3s ease}.role.lit .role-title,.role:hover .role-title{color:var(--accent)}.role-date{font-size:.8rem;color:var(--text-muted);transition:color .25s ease}.role:hover .role-date,.role.lit .role-date{color:#fafafad9}.role-company{font-size:.9rem;color:var(--text-muted);margin-bottom:.75rem;transition:color .25s ease}.role:hover .role-company,.role.lit .role-company{color:#fafafae0}.role-stack{display:flex;flex-wrap:wrap;gap:.5rem}.role-stack span{font-size:.75rem;color:var(--text-muted);padding:.25rem .5rem;background:var(--surface);border-radius:4px;transform:translateY(0);transition:transform .22s ease,background .3s ease,color .3s ease}.role-stack span:hover{transform:translateY(-1px);background:rgba(var(--accent-rgb),.14);color:var(--text)}@media(prefers-reduced-motion:reduce){.name,.intro,.link,.section-label,.section-label:before,.now,.role,.role-stack span{transition:none;transform:none}}.role.lit .role-stack span,.role:hover .role-stack span{background:rgba(var(--accent-rgb),.1);color:var(--text)}.footer{margin-top:5rem;padding-top:2.5rem;border-top:1px solid var(--border)}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.footer-title{font-size:1.1rem;font-weight:600;line-height:1.3}.footer-subtitle{margin-top:.4rem;color:var(--text-muted);font-size:.9rem}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.footer-link{color:var(--text);text-decoration:none;font-size:.95rem;opacity:.92;transition:opacity .2s ease}.footer-link:hover{opacity:1}.footer-links{display:flex;gap:1.25rem}.footer-bottom{margin-top:2rem;display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;color:var(--text-muted);font-size:.85rem}.footer-sep{opacity:.5}@media(hover:none)and (pointer:coarse){.link{transition:color .2s ease}.link:hover{transform:none}.link:hover:after{width:0}.link:active{color:var(--text)}.section:hover .section-label,.section-label:hover{letter-spacing:.15em}.section:hover .section-label:before,.section-label:hover:before{transform:scaleX(.7);opacity:.6}.now:hover{transform:none;box-shadow:none}.now:active{transform:translateY(-1px);box-shadow:inset 2px 0 12px -4px rgba(var(--accent-rgb),.3)}.role:hover{transform:none;box-shadow:none}.role:hover:before{opacity:0}.role:active{transform:translateY(-1px);box-shadow:0 14px 36px -30px #000000bf}.role-stack span:hover{transform:none;background:var(--surface);color:var(--text-muted)}.role-stack span:active{transform:translateY(-1px);background:rgba(var(--accent-rgb),.14);color:var(--text)}}@media(max-width:600px){.page{padding:3rem 1.5rem}.header{margin-bottom:4rem}.role-header{flex-direction:column;align-items:flex-start;gap:.25rem}.cursor,.cursor-glow{display:none}.footer-top{flex-direction:column;align-items:flex-start}.footer-right{align-items:flex-start}body{cursor:auto}body.has-custom-cursor,body.has-custom-cursor *{cursor:auto!important}a,button{cursor:pointer}}
