@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@300;400;500&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap";:root{--bg: #0b0a08;--text: #f3f1eb;--text-secondary: #c9c6bc;--muted: #98958b;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--soft: rgba(255, 255, 255, .03);--card-bg: rgba(255, 255, 255, .015);--glow-color: rgba(255, 255, 255, .04);--accent-green: #22c55e;--max: 1240px;color-scheme:dark;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "DM Mono", monospace;--font-serif: "Instrument Serif", Georgia, serif}:root[data-theme=light]{--bg: #f5f3ed;--text: #161613;--text-secondary: #4a4843;--muted: #6e6c65;--line: rgba(0, 0, 0, .08);--line-strong: rgba(0, 0, 0, .16);--soft: rgba(0, 0, 0, .03);--card-bg: rgba(255, 255, 255, .7);--glow-color: rgba(0, 0, 0, .03);--accent-green: #16a34a;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv04","cv11";position:relative}body:before{content:"";position:fixed;top:0;left:50%;transform:translate(-50%);width:100vw;height:700px;background:radial-gradient(ellipse at 50% 0%,var(--glow-color),transparent 70%);pointer-events:none;z-index:0}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}.shell{width:min(calc(100% - 64px),var(--max));margin-inline:auto;position:relative;z-index:1}.site-header{padding-block:22px 18px;border-bottom:1px solid var(--line);font-size:.78rem}.header-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.wordmark{font-weight:600;letter-spacing:-.02em}nav{display:flex;gap:28px;color:var(--muted)}nav a:hover,.contact-link:hover,.hero-links a:hover,.work-body a:hover{text-decoration:underline;text-underline-offset:4px}.contact-link{justify-self:end}.header-actions{justify-self:end;display:flex;align-items:center;gap:14px}.cmd-k-btn{background:var(--soft);border:1px solid var(--line);color:var(--muted);font:400 .66rem var(--font-mono);padding:5px 10px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.cmd-k-btn:hover{border-color:var(--text);color:var(--text)}.cmd-k-key{background:var(--line);padding:1px 5px;border-radius:3px;font-size:.58rem}.theme-toggle-btn{background:transparent;border:1px solid var(--line);color:var(--muted);font:400 .68rem var(--font-mono);padding:5px 12px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.theme-toggle-btn:hover{border-color:var(--text);color:var(--text)}.brand-positioning{margin:14px 0 0;font:400 .65rem/1.4 var(--font-mono);color:var(--muted);letter-spacing:.03em;text-transform:uppercase}.hero{min-height:710px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:90px;align-items:end;padding:120px 0 84px}.eyebrow{margin:0 0 24px;font:400 .66rem/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.hero h1{max-width:820px;margin:0;font-size:clamp(4rem,7vw,7.2rem);line-height:.94;letter-spacing:-.068em;font-weight:500}.hero-intro{max-width:720px;margin:38px 0 0;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.72;color:var(--text-secondary)}.hero-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:35px;font-size:.76rem}.status-badge{display:inline-flex;align-items:center;gap:8px;font:400 .64rem var(--font-mono);color:var(--muted);background:var(--soft);border:1px solid var(--line);padding:4px 10px;border-radius:99px;margin-bottom:20px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-green);box-shadow:0 0 8px var(--accent-green);animation:status-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.hero-profile{align-self:end;border:1px solid var(--line);background:var(--card-bg);border-radius:12px;padding:24px;backdrop-filter:blur(12px);transition:border-color .3s ease,box-shadow .3s ease}.hero-profile:hover{border-color:var(--line-strong);box-shadow:0 8px 30px #0000001f}.profile-row{display:grid;grid-template-columns:1fr auto;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.72rem}.profile-row span{color:var(--muted)}.profile-row strong{font-weight:500;text-align:right}.profile-note{margin-top:25px;color:var(--muted);font-size:.74rem;line-height:1.65;max-width:300px}.stack-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stack-list{min-height:64px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding-block:14px}.stack-list span{font:400 .63rem var(--font-mono);color:var(--text-secondary);letter-spacing:.02em}.section{padding-block:128px}.section-heading{display:grid;grid-template-columns:.58fr 1.42fr;gap:60px;margin-bottom:82px}.section-heading .eyebrow{margin-top:13px}.section-heading h2{margin:0;max-width:800px;font-size:clamp(2.7rem,5vw,5rem);line-height:1.02;letter-spacing:-.055em;font-weight:500}.section-heading.compact{margin-bottom:58px}.filter-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:38px}.filter-btn{background:transparent;border:1px solid var(--line);color:var(--muted);font:400 .68rem var(--font-mono);padding:6px 16px;border-radius:99px;cursor:pointer;transition:all .2s ease}.filter-btn:hover,.filter-btn.is-active{background:var(--text);color:var(--bg);border-color:var(--text)}.work-list{border-top:1px solid var(--line-strong)}.work-item{display:grid;grid-template-columns:80px minmax(250px,.68fr) minmax(0,1.32fr);gap:36px;padding:48px 0 58px;border-bottom:1px solid var(--line);transition:opacity .3s ease,transform .3s ease}.work-item.is-hidden{display:none}.work-index{font:400 .68rem var(--font-mono);color:var(--muted);padding-top:6px;font-variant-numeric:tabular-nums}.work-title p{margin:0 0 14px;font:400 .62rem var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.work-title h3{margin:0;font-size:clamp(2.5rem,4vw,4.3rem);line-height:.98;letter-spacing:-.055em;font-weight:500}.work-title span{display:block;margin-top:18px;color:var(--muted);font-size:.72rem}.work-summary{margin:0 0 22px;max-width:720px;font-size:1.08rem;line-height:1.58}.work-body ul{margin:0 0 24px;padding:0;list-style:none;max-width:720px}.work-body li{position:relative;padding:8px 0 8px 19px;color:var(--text-secondary);font-size:.82rem;line-height:1.65;border-top:1px solid var(--soft)}.work-body li:last-child{border-bottom:1px solid var(--soft)}.work-body li:before{content:"—";position:absolute;left:0;color:var(--muted)}.work-stack{margin:23px 0 20px;color:var(--muted);font:400 .64rem/1.6 var(--font-mono);letter-spacing:.02em}.work-body a{font-size:.75rem;font-weight:500}.statement{padding:108px 0 118px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.statement p{margin:0 0 0 20%;max-width:900px;font-family:var(--font-serif);font-style:italic;font-size:clamp(2.4rem,4.8vw,4.6rem);line-height:1.14;letter-spacing:-.03em}.experience-section{padding-bottom:100px}.experience-list{border-top:1px solid var(--text)}.experience-row{display:grid;grid-template-columns:170px 1fr 1fr;gap:30px;align-items:baseline;padding:23px 0;border-bottom:1px solid var(--line)}.experience-row span{font:400 .64rem var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums}.experience-row strong{font-size:.94rem;font-weight:500}.experience-row p{margin:0;color:var(--muted);font-size:.78rem}.about-section{border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.about-grid .section-heading{display:block;margin:0}.about-grid .section-heading h2{max-width:520px}.about-copy{max-width:720px}.about-copy p{margin:0 0 24px;font-size:.98rem;line-height:1.8;color:var(--text-secondary)}.about-copy p:first-child{color:var(--text);font-size:1.2rem;line-height:1.7}.capabilities-section{border-top:1px solid var(--line)}.capability-list{border-top:1px solid var(--text)}.capability-list>div{display:grid;grid-template-columns:70px 1fr 1fr;gap:30px;padding:25px 0;border-bottom:1px solid var(--line);align-items:start}.capability-list span{font:400 .62rem DM Mono,monospace;color:var(--muted)}.capability-list strong{font-size:.95rem;font-weight:500}.capability-list p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.65;max-width:520px}.contact-section{padding:145px 0 90px;border-top:1px solid var(--text)}.contact-section h2{margin:0;max-width:950px;font-size:clamp(3rem,6.2vw,6.4rem);line-height:.98;letter-spacing:-.062em;font-weight:500}.email-box{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:45px}.email-box .email{margin-top:0}.email{display:inline-block;margin-top:55px;font-size:clamp(1rem,1.8vw,1.5rem);border-bottom:1px solid var(--text);padding-bottom:5px}.copy-btn{background:transparent;border:1px solid var(--line);color:var(--muted);font:400 .68rem var(--font-mono);padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s ease}.copy-btn:hover{border-color:var(--text);color:var(--text)}.cmd-modal-backdrop{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;opacity:0;pointer-events:none;transition:opacity .2s ease}.cmd-modal-backdrop.is-open{opacity:1;pointer-events:auto}.cmd-modal{width:min(calc(100% - 32px),540px);background:var(--bg);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 24px 60px #00000080;overflow:hidden;transform:translateY(-12px) scale(.98);transition:transform .25s cubic-bezier(.16,1,.3,1)}.cmd-modal-backdrop.is-open .cmd-modal{transform:translateY(0) scale(1)}.cmd-input-wrapper{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.cmd-input{width:100%;background:transparent;border:none;outline:none;color:var(--text);font:400 .92rem var(--font-sans)}.cmd-list{max-height:320px;overflow-y:auto;padding:8px 0}.cmd-item{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;color:var(--text-secondary);font-size:.84rem;cursor:pointer;transition:background .15s ease,color .15s ease}.cmd-item:hover,.cmd-item.is-selected{background:var(--soft);color:var(--text)}.cmd-item-shortcut{font:400 .62rem var(--font-mono);color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding-block:64px 40px}.footer-primary{display:grid;grid-template-columns:1fr auto;gap:48px;padding-bottom:48px;border-bottom:1px solid var(--line)}.footer-wordmark{font-size:1.1rem;font-weight:600;letter-spacing:-.02em}.footer-tagline{margin:10px 0 0;font:400 .72rem/1.5 var(--font-mono);color:var(--muted)}.footer-links{display:flex;gap:56px}.footer-col{display:flex;flex-direction:column;gap:10px;font-size:.8rem}.footer-label{font:400 .62rem var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:4px}.footer-col a{color:var(--text-secondary);transition:color .2s ease}.footer-col a:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}.footer-secondary{display:flex;align-items:center;justify-content:space-between;padding-top:24px;color:var(--muted);font:400 .72rem var(--font-mono)}.footer-meta-right{display:flex;align-items:center;gap:24px}.back-to-top{color:var(--muted);transition:color .2s ease}.back-to-top:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}@media(max-width:980px){.hero{grid-template-columns:1fr;gap:70px;min-height:auto;padding-top:100px}.hero-profile{max-width:620px}.section-heading{grid-template-columns:1fr;gap:18px}.section-heading .eyebrow{margin-top:0}.work-item{grid-template-columns:55px 1fr}.work-body{grid-column:2}.statement p{margin-left:10%}.about-grid{grid-template-columns:1fr;gap:50px}}@media(max-width:700px){.shell{width:min(calc(100% - 30px),var(--max))}.site-header{padding-block:16px 14px}.header-main{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}nav{display:flex;gap:18px;width:100%;order:3;padding-top:10px;border-top:1px solid var(--soft);justify-content:center}.contact-link{justify-self:auto}.brand-positioning{margin-top:10px;font-size:.58rem;text-align:center}.hero{padding:78px 0 62px;gap:55px}.hero h1{font-size:clamp(3.35rem,15vw,5rem)}.hero-intro{font-size:.98rem}.profile-row{grid-template-columns:1fr;gap:5px}.profile-row strong{text-align:left}.section{padding-block:88px}.section-heading{margin-bottom:48px}.section-heading h2{font-size:clamp(2.6rem,12vw,4rem)}.work-item{grid-template-columns:1fr;gap:18px;padding:36px 0 44px}.work-body{grid-column:auto}.work-title h3{font-size:clamp(2.7rem,13vw,4rem)}.statement{padding:78px 0}.statement p{margin-left:0;font-size:clamp(2.15rem,10.5vw,3.4rem)}.experience-row{grid-template-columns:1fr;gap:7px;padding:20px 0}.capability-list>div{grid-template-columns:45px 1fr;gap:15px}.capability-list p{grid-column:2}.contact-section{padding-top:92px}.contact-section h2{font-size:clamp(3rem,13vw,4.8rem)}.site-footer{padding-block:48px 32px}.footer-primary{grid-template-columns:1fr;gap:36px;padding-bottom:36px}.footer-links{gap:36px}.footer-secondary{flex-direction:column;align-items:flex-start;gap:16px}.footer-meta-right{flex-direction:column;align-items:flex-start;gap:8px}}.profile-summary{border-top:1px solid var(--line)}.answer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.answer-grid article{padding:1.5rem 1.5rem 0 0;min-height:12rem}.answer-grid article+article{border-left:1px solid var(--line);padding-left:1.5rem}.answer-grid h3{margin:0 0 .8rem;font-size:.95rem;font-weight:650}.answer-grid p{margin:0;max-width:38rem;color:var(--muted);line-height:1.7}@media(max-width:760px){.answer-grid{grid-template-columns:1fr}.answer-grid article{min-height:auto;padding:1.25rem 0}.answer-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}}
