:root{--ink:#121212;--paper:#fff;--muted:#656565;--line:#d9d9d9;--gutter:clamp(24px,6vw,100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#111;color:white}.skip{position:absolute;top:-100px;left:24px;background:#111;color:white;padding:12px;z-index:5}.skip:focus{top:12px}.nav{padding:24px var(--gutter);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fffffff2;position:sticky;top:0;z-index:3;backdrop-filter:blur(12px)}.wordmark{font-size:17px;font-weight:600;letter-spacing:-.3px;line-height:1.3}.wordmark span{display:block;font-size:13px;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:4px}.nav nav{display:flex;gap:34px;font-size:14px}.nav nav a{position:relative}.nav nav a:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav nav a:hover:after{transform:scaleX(1)}.hero{padding:clamp(60px,8vh,110px) var(--gutter) 0;min-height:calc(100svh - 91px);display:flex;flex-direction:column}.eyebrow,.section-label{font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.03em}.eyebrow{color:var(--muted)}h1,h2,h3,p{margin:0}h1{font-size:clamp(46px,6.4vw,104px);font-weight:500;letter-spacing:-.063em;line-height:1.07;margin:32px 0 48px;max-width:1240px}h1>span{color:#797979}.hero-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:40px;padding-bottom:38px}.hero-bottom p{font-size:18px;max-width:455px;line-height:1.6}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:6px;border-bottom:1px solid currentColor;font-size:16px;white-space:nowrap}.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.hero-rule{height:1px;background:var(--ink);transform-origin:left;animation:draw-line 1.2s .2s both}.section{padding:64px var(--gutter) 80px}.section-label{display:flex;justify-content:space-between;gap:24px;margin-bottom:56px;color:var(--muted)}h2{font-size:clamp(36px,4.2vw,68px);line-height:1.12;letter-spacing:-.045em;font-weight:500}h3{font-size:26px;font-weight:500;letter-spacing:-.03em}.work-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-bottom:76px}.work-intro p{max-width:480px;color:#555;font-size:18px}.current-role{border-top:1px solid var(--ink);padding-top:28px}.role-header{display:flex;justify-content:space-between;align-items:start;gap:20px}.role-header p,.role-header>span,.past-role>div p{color:var(--muted);font-size:14px}.role-header>span{padding-top:6px}.role-summary{font-size:20px;max-width:620px;margin:25px 0 34px;line-height:1.5}.decisions{max-width:900px;margin-left:auto}.decisions details{border-top:1px solid var(--line)}summary{cursor:pointer;display:flex;align-items:center;gap:24px;list-style:none;padding:21px 0;font-size:19px}summary::-webkit-details-marker{display:none}.index{font:13px ui-monospace,SFMono-Regular,monospace;color:var(--muted)}.expand{margin-left:auto;font-size:25px;font-weight:300;transition:transform .25s}details[open] .expand{transform:rotate(45deg)}.decisions p{padding:0 56px 25px 42px;max-width:740px;color:#555}.past-role{border-top:1px solid var(--line);margin-top:36px;padding-top:30px;display:grid;grid-template-columns:1fr 1.7fr;gap:50px}.past-role>p{color:#555;max-width:675px}.past-role h3{font-size:22px}.projects{background:#111;color:white;padding-top:65px}.projects .section-label{color:#aaa}.projects h2{margin-bottom:52px}.project-tabs{display:flex;border-bottom:1px solid #444;margin-bottom:45px}.project-tabs button{padding:16px 30px 17px 0;margin-right:30px;border:0;background:none;color:#999;font:13px ui-monospace,SFMono-Regular,monospace;cursor:pointer;position:relative}.project-tabs button span{margin-left:18px;font:17px -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}.project-tabs button[aria-selected=true]{color:white}.project-tabs button:after{content:"";height:2px;background:currentColor;position:absolute;left:0;right:30px;bottom:-1px;transform:scaleX(0);transform-origin:left;transition:transform .3s}.project-tabs button[aria-selected=true]:after{transform:scaleX(1)}.project-panel{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;align-items:center;min-height:400px;animation:project-in .45s both}.project-panel[hidden]{display:none}.project-copy .eyebrow{color:#aaa;font-size:12px}.project-copy h3{font-size:clamp(28px,2.7vw,43px);line-height:1.18;letter-spacing:-.04em;margin:19px 0 25px}.project-copy>p{color:#bbb;max-width:465px}.project-copy .technical{font-size:14px;line-height:1.7;margin-top:21px;color:#999}.project-copy .text-link{margin-top:32px}.project-note{font-size:14px;margin-top:28px}.project-visual{margin:0;min-width:0}.project-visual img{display:block;width:100%;height:auto;aspect-ratio:1.52;object-fit:cover;object-position:left top;filter:grayscale(1);border:1px solid #555;transition:filter .6s,transform .6s}.project-visual:hover img{transform:translateY(-4px)}.project-visual figcaption{font:12px ui-monospace,monospace;color:#999;margin-top:16px}.orbit img{object-position:center}.mcp-diagram{max-width:400px;width:100%;margin:auto;display:flex;align-items:center;flex-direction:column;padding:15px 0}.mcp-diagram>div{width:100%;border:1px solid #555;padding:20px 24px;position:relative}.mcp-diagram div>span{position:absolute;right:20px;top:20px;color:#888;font:12px ui-monospace,monospace}.mcp-diagram strong{font-size:18px;font-weight:500;display:block}.mcp-diagram small{display:block;color:#aaa;font-size:13px;margin-top:5px}.flow-line{width:1px;height:32px;background:#555;position:relative;overflow:hidden}.flow-line:after{content:"";position:absolute;top:-12px;left:0;width:1px;height:12px;background:white;animation:flow 2.4s linear infinite}.contact{padding-bottom:75px}.contact h2{font-size:clamp(44px,6vw,90px)}.contact .section-label a{color:#111;border-bottom:1px solid #aaa}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-top:40px}.contact-bottom p{max-width:420px;font-size:18px;color:#555}footer{margin:0 var(--gutter);padding:25px 0 30px;border-top:1px solid #ccc;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.motion-ready .reveal.in-view{opacity:1;transform:none}@keyframes draw-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes project-in{from{opacity:.2;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes flow{to{transform:translateY(48px)}}
@media(min-width:1700px){main,footer,.nav{max-width:1700px;margin-left:auto;margin-right:auto}.hero{min-height:830px}footer{max-width:1500px}}@media(max-width:900px){h1{font-size:clamp(46px,7.3vw,68px)}.hero{min-height:680px}.work-intro{gap:35px}.project-panel{gap:35px;grid-template-columns:1fr 1fr}.project-tabs button{margin-right:18px;padding-right:16px}.project-tabs button span{margin-left:9px;font-size:15px}}@media(max-width:650px){html{scroll-padding-top:90px}.nav{padding-top:18px;padding-bottom:18px}.wordmark{font-size:15px}.wordmark span{font-size:12px}.nav nav{gap:17px;font-size:13px}.nav nav a:last-child{display:none}.hero{min-height:660px;padding-top:45px}.hero .eyebrow{font-size:12px;max-width:280px}h1{font-size:clamp(39px,8.9vw,57px);margin:30px 0 42px;letter-spacing:-.058em}.hero-bottom{display:block;padding-bottom:32px}.hero-bottom p{font-size:17px;max-width:340px;margin-bottom:28px}.section{padding-top:42px;padding-bottom:50px}.section-label{font-size:12px;margin-bottom:36px}.section-label span:last-child{max-width:145px;text-align:right}.work-intro,.past-role{grid-template-columns:1fr;gap:23px}.work-intro{margin-bottom:43px}.work-intro p{font-size:17px}.role-header>span{font-size:12px;text-align:right}.role-header h3{font-size:25px}.role-summary{font-size:18px}.decisions summary{font-size:17px;gap:15px}.decisions p{padding-left:31px;padding-right:0;font-size:16px}.past-role{margin-top:25px;padding-top:25px;gap:14px}.projects h2{margin-bottom:30px}.project-tabs{justify-content:space-between;gap:10px;margin-bottom:32px}.project-tabs button{padding:12px 0;margin:0;font-size:12px;text-align:left}.project-tabs button span{display:block;margin:4px 0 0;font-size:14px}.project-tabs button:after{right:0}.project-panel{grid-template-columns:1fr;gap:35px;min-height:640px;align-content:start}.project-copy h3{font-size:32px}.project-visual img{aspect-ratio:1.52}.project-copy .text-link{margin-top:23px}.mcp-diagram{max-width:100%;padding:0}.mcp-diagram>div{padding:15px 20px}.mcp-diagram strong{font-size:16px}.mcp-diagram small{font-size:12px}.flow-line{height:20px}.contact-bottom{display:block}.contact-bottom p{margin-bottom:28px;font-size:17px}footer{font-size:12px;flex-wrap:wrap}footer span:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}

/* Four project tabs stay readable without squeezing their labels. */
.project-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.project-tabs button{margin:0;padding:16px 0;text-align:left}.project-tabs button:after{right:0}.project-tabs button span{margin-left:10px}
@media(max-width:900px){.project-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.project-tabs button{border-bottom:1px solid #333}.project-tabs button span{display:inline;margin-left:10px;font-size:15px}}
@media(max-width:380px){.project-tabs button span{font-size:13px}}

/* Connected harnesses: each agent can be the parent or the worker. */
.bridge-network{width:100%;max-width:510px;margin:auto;padding:30px 24px 24px;background:#191919;border:1px solid #353535;border-radius:16px;display:flex;flex-direction:column;align-items:center}
.bridge-agents{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.bridge-agent{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;padding:16px 10px;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:10px;box-shadow:0 4px 0 #303030;font-size:16px;font-weight:600;line-height:1.2}
.bridge-agent img{color-scheme:light;width:28px;height:28px;object-fit:contain;filter:grayscale(1);opacity:.8;flex-shrink:0}
.bridge-connections{width:calc(50% + 14px);height:44px;border:1px solid #666;border-top:0;border-radius:0 0 18px 18px;position:relative}
.bridge-connections:after{content:"";position:absolute;width:1px;height:22px;background:#666;left:50%;top:100%}
.bridge-hub{display:flex;align-items:center;gap:12px;max-width:100%;padding:17px 19px;margin-top:21px;border:1px solid #858585;border-radius:12px;background:#242424;position:relative;z-index:1}
.bridge-mark{flex-shrink:0;width:44px;height:44px;color:#eee}
.bridge-hub strong{display:block;font-size:19px;font-weight:600;letter-spacing:-.4px;line-height:1.3}
.bridge-hub small{display:block;font-size:12px;color:#aaa;margin-top:5px;line-height:1.4}
.bridge-connections-lower{transform:rotate(180deg);margin-top:21px;height:38px}
.bridge-caption{font-size:12px!important;color:#aaa;text-align:center;line-height:1.6;margin-top:28px!important}
@media(min-width:651px) and (max-width:1100px){.bridge-network{padding:24px 16px 20px}.bridge-agents{gap:20px}.bridge-agent{font-size:13px;padding:13px 7px;gap:7px}.bridge-agent img{width:24px;height:24px}.bridge-connections{width:calc(50% + 10px)}.bridge-hub{padding:14px 12px;gap:9px}.bridge-hub strong{font-size:17px}.bridge-hub small{font-size:10px}.bridge-mark{width:36px;height:36px}.bridge-caption{font-size:11px!important}}
@media(max-width:650px){.bridge-network{max-width:430px;padding:26px 18px 22px}.bridge-agents{gap:20px}.bridge-agent{font-size:14px;padding:14px 8px;gap:8px}.bridge-agent img{width:25px;height:25px}.bridge-connections{width:calc(50% + 10px);height:36px}.bridge-connections-lower{height:32px}.bridge-hub{padding:15px 13px;gap:10px}.bridge-hub strong{font-size:18px}.bridge-mark{width:40px;height:40px}.bridge-hub small{font-size:11px}.bridge-caption{font-size:11px!important}}
@media(max-width:370px){.bridge-network{padding-inline:12px}.bridge-agents{gap:16px}.bridge-agent{font-size:12px;padding:13px 6px;gap:6px}.bridge-agent img{width:22px;height:22px}.bridge-connections{width:calc(50% + 8px)}.bridge-hub strong{font-size:16px}.bridge-hub small{font-size:10px}.bridge-mark{width:32px;height:32px}.bridge-hub{gap:8px;padding:14px 10px}.bridge-caption{font-size:10px!important}}

/* Separate launch links keep every project row selectable without nested controls. */
.project-tab-row{position:relative;min-width:0}.project-tabs .project-tab-row button{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:72px;padding:17px 44px 17px 0;margin:0}.project-tabs .project-tab-row button span{margin:0}.project-tabs .project-tab-row .project-number{font:12px ui-monospace,SFMono-Regular,monospace}.project-tabs .project-tab-row .project-name{font-size:16px;line-height:1.4}.project-launch{position:absolute;right:0;top:50%;transform:translateY(-50%);width:36px;height:44px;display:grid;place-items:center;color:#aaa;font-size:21px;transition:color .2s,background .2s;border-radius:3px}.project-launch:hover{color:#fff;background:#292929}.project-launch span{display:block;transition:transform .2s}.project-launch:hover span{transform:translate(2px,-2px)}.project-links{display:flex;gap:28px;flex-wrap:wrap}.project-links .text-link{gap:16px}.project-tabs:focus-within{scroll-margin-top:100px}
@media(max-width:900px){.project-tabs .project-tab-row .project-name{font-size:15px}.project-tabs .project-tab-row button{min-height:65px}}
@media(max-width:420px){.project-tabs{gap:0 12px}.project-tabs .project-tab-row button{gap:8px;grid-template-columns:16px 1fr;padding-right:30px}.project-tabs .project-tab-row .project-name{font-size:13px}.project-launch{width:29px}.project-tabs .project-tab-row .project-number{font-size:11px}}

/* Compact role-specific resume downloads. */
.resume-downloads{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 18px}.resume-downloads>span{color:#888}.resume-downloads a{white-space:nowrap}@media(max-width:900px){.contact .section-label{align-items:flex-start}.resume-downloads{justify-content:flex-start;max-width:520px}}@media(max-width:600px){.contact .section-label{flex-direction:column;gap:18px}.resume-downloads{gap:12px 20px}}
