/* Shared portfolio refinement: the projects carry the visual weight. */
:root{--paper:#faf8f2;--ink:#222b27;--muted:#5e665f;--line:#d9ddd3;--blue:#285849;--blue-deep:#183d33;--orange:#d18b61;--lavender:#edf0e8;--mint:#e3ecdf}
body{font-size:16px;line-height:1.7}h1,h2,h3,h4{text-wrap:balance;letter-spacing:-.035em}.header{max-width:1280px;padding:27px 5%}.header nav{gap:28px}.hero{max-width:1280px;margin:40px auto 0;padding:0 5% 52px;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:center}.intro{padding:0}.intro h1{font-size:clamp(3rem,4.5vw,4.3rem);line-height:1.04;max-width:12ch}.intro h1 span{color:var(--blue)}.intro>p{font-size:16px;line-height:1.85;margin-top:24px;max-width:44ch;letter-spacing:0}.intro .credentials{font-size:11px;margin-top:30px;line-height:1.8;display:block;font-weight:500;color:var(--muted)}.credentials span{margin:0 8px;color:#8c939f}.credentials span+span:before{content:none}.hero-links{display:flex;align-items:center;gap:26px;margin-top:22px}.hero-links .text-link{margin-top:0}.hero-links>a:last-child{font-size:13px;color:var(--muted)}.featured-relay{text-decoration:none;display:block}.feature-image{position:relative;background:#e8e4d6;border-radius:12px;overflow:hidden;aspect-ratio:16/10}.feature-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s cubic-bezier(.16,1,.3,1)}.featured-relay:hover img{transform:scale(1.025)}.feature-open{position:absolute;right:16px;bottom:16px;background:var(--paper);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--ink)}.feature-open svg{width:20px;height:20px}.feature-caption{display:flex;align-items:start;justify-content:space-between;gap:15px;padding:17px 0 0}.feature-caption strong{font-family:var(--display);font-size:25px;line-height:1.2}.feature-caption p{font-size:12px;color:var(--muted);margin-top:5px}.prototype-label{display:inline-flex;padding:3px 9px;border:1px solid #b5b9bc;border-radius:20px;font-size:11px;white-space:nowrap;line-height:1.5}
.work-section,.research-section,.about-section,.personal-section{max-width:1152px;margin:65px auto 0}.section-heading{margin-bottom:27px}.section-heading h2{font-size:clamp(2.1rem,3.4vw,3rem)}.section-heading>p{font-size:13px;color:var(--muted)}.project{padding:34px 0;gap:9%;grid-template-columns:1fr 1fr}.project h3{font-size:clamp(1.9rem,3vw,2.7rem)}.project-title>p{font-size:14px;line-height:1.8;max-width:40ch}.project-employer{font-size:11px;letter-spacing:0}.project details{max-width:none}.project summary{font-size:13px}.case-details p{font-size:13px;line-height:1.9}.project .text-link{margin-top:17px}.relay-summary{padding:4px 0}.relay-summary>p{font-size:14px;color:var(--muted);line-height:1.9;max-width:48ch}.relay-summary dl{margin:18px 0 0}.relay-summary dl>div{display:grid;grid-template-columns:67px 1fr;border-top:1px solid var(--line);padding:10px 0;gap:14px;font-size:12px}.relay-summary dt{color:var(--muted)}.relay-summary dd{margin:0}.finance-art,.orchestration-art,.routing-art{min-height:300px}.finance-art{background:#e5efe9}.orchestration-art{background:#ebedf3}.routing-art{background:#f1eae4}.focus-bar button{min-height:38px}.research-section{background:transparent;color:var(--ink);padding:0;border-top:1px solid var(--line);padding-top:50px}.research-section .section-heading h2{font-size:clamp(2.1rem,3.4vw,3rem)}.research-section .section-heading>p{color:var(--muted)}.paper{border-color:var(--line);grid-template-columns:150px 1fr 28px;padding:24px 0}.paper>span:first-child,.paper p{color:var(--muted)}.paper h3{font-size:23px}.paper .paper-arrow{color:var(--blue)}.research-footnote{color:var(--muted);font-size:11px}
.agent-workshop{max-width:1152px;margin:75px auto 0;display:grid;grid-template-columns:.7fr 1.3fr;align-items:start;gap:8%;padding-top:45px;border-top:1px solid var(--line)}.workshop-intro h2{font-size:clamp(2.1rem,3.4vw,3rem)}.workshop-intro p{font-size:14px;color:var(--muted);line-height:1.9;margin-top:20px;max-width:35ch}.lab{box-shadow:none;border-radius:12px;max-width:none}.lab-title{font-size:22px}.insight{max-width:1152px;margin:22px auto 0;background:transparent;border-bottom:1px solid var(--line);padding:25px 0;grid-template-columns:32px 1fr auto}.insight h2{font-size:21px}.insight p{font-size:13px;line-height:1.8;max-width:75ch}.insight>a{font-size:12px}.work-search{max-width:1152px;margin-top:55px;padding:0;gap:8%}.search-intro h2{font-size:clamp(2.1rem,3vw,2.7rem)}.search-intro p,.search-note{color:var(--muted)}.search-note{font-size:12px}.query-row input{font-size:15px}.query-suggestions button{font-size:12px;min-height:38px}.search-results p{font-size:14px}.about-section{margin-top:75px;gap:10%;padding-top:45px;border-top:1px solid var(--line)}.about-section h2{font-size:clamp(2.1rem,3.4vw,3rem)}.about-section>div>p{font-size:14px;line-height:1.9;max-width:48ch}.toolkit dt{font-size:12px}.toolkit dd{font-size:13px}.personal-section{padding-top:45px;border-top:1px solid var(--line);margin-top:70px}.personal-note{font-size:14px;color:var(--muted);max-width:68ch;margin-bottom:25px}.personal-links{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.personal-links a{text-decoration:none;position:relative;border-top:1px solid var(--line);padding-top:18px;padding-right:27px}.personal-links strong{display:block;font-family:var(--display);font-size:21px;font-weight:600;line-height:1.2}.personal-links span{display:block;font-size:13px;line-height:1.8;color:var(--muted);margin-top:10px}.personal-links svg{position:absolute;right:0;top:19px;width:18px;height:18px}.personal-links a:hover strong{text-decoration:underline;text-underline-offset:4px}.contact{max-width:1280px;margin:80px auto 0;padding:42px 5% 20px;background:transparent;color:var(--ink);border-top:1px solid var(--line)}.contact h2{font-size:clamp(2.3rem,4vw,3.5rem)}.contact-email{font-size:clamp(1.15rem,2.6vw,2rem);border-color:#9da5af}.footer-bottom{margin-top:42px;border-color:var(--line);color:var(--muted)}.footer-bottom button{color:var(--muted)}.contact-email .inline-arrow{width:24px;height:24px;color:var(--blue)}
@media(max-width:1250px){.work-section,.research-section,.about-section,.personal-section,.agent-workshop,.insight,.work-search{margin-left:5%;margin-right:5%}}
@media(max-width:850px){.hero{grid-template-columns:1fr 1fr;gap:5%}.intro h1{font-size:3.2rem}.intro>p{font-size:14px}.feature-image{aspect-ratio:4/5;object-fit:cover}.agent-workshop{grid-template-columns:1fr;gap:25px}.workshop-intro p{max-width:65ch}.lab{max-width:700px;width:100%;margin:auto}.personal-links{gap:24px}}
@media(max-width:760px){.header{padding:22px 6%}.hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;margin-top:18px;padding:0 6% 15px}.intro h1{font-size:clamp(2.9rem,10.6vw,4rem);max-width:13ch}.intro>p{font-size:15px;line-height:1.8;max-width:45ch;margin-top:20px}.hero-links{margin-top:20px}.intro .credentials{font-size:10px;margin-top:22px}.feature-image{aspect-ratio:16/10}.feature-caption strong{font-size:24px}.feature-caption p{font-size:13px;max-width:25ch}.work-section,.research-section,.about-section,.personal-section,.agent-workshop,.work-search,.insight{margin-left:6%;margin-right:6%}.work-section{margin-top:45px}.section-heading h2,.research-section .section-heading h2,.about-section h2,.workshop-intro h2,.search-intro h2{font-size:2.3rem}.section-heading>p{font-size:13px;margin-top:13px}.project{grid-template-columns:1fr;padding:29px 0;gap:24px}.project h3{font-size:2rem}.project-title>p{font-size:14px}.project-employer{font-size:11px}.relay-summary>p{font-size:14px}.project .text-link{font-size:13px}.focus-bar>span{font-size:12px}.focus-bar button{font-size:11px;min-height:40px;padding:7px 10px}.paper{grid-template-columns:1fr 28px;gap:9px}.paper>span:first-child{font-size:11px}.paper h3{font-size:21px}.paper p{font-size:13px}.paper .paper-arrow{grid-column:2;grid-row:1 / span 3}.research-footnote{font-size:11px}.research-section{padding:35px 0 0;margin-top:40px}.agent-workshop{margin-top:45px;padding-top:35px}.lab{margin-top:0;padding:23px 17px 16px}.insight{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:22px 0;margin-top:12px}.insight h2{font-size:20px}.insight p{font-size:13px}.insight>a{grid-column:2;font-size:12px}.work-search{margin-top:40px}.about-section{padding-top:35px;margin-top:45px}.about-section>div>p{font-size:14px}.personal-section{margin-top:45px;padding-top:35px}.personal-links{grid-template-columns:1fr;gap:22px}.personal-links a{padding-top:16px}.personal-note{font-size:14px}.contact{margin-top:50px;padding:35px 6% 22px}.contact h2{font-size:2.5rem}.contact-email{font-size:clamp(1rem,4.4vw,1.5rem)}.footer-bottom{font-size:11px}.hero-links .text-link{margin-top:0}}
@media(prefers-reduced-motion:reduce){.feature-image img{transition:none}.featured-relay:hover img{transform:none}}

/* Tonal fields keep illustration and controls in one palette. */
.simulation{border-color:#89a797;color:#edf3ed}.scenario{color:#e1eae1}.scenario:hover{background:#3b6b59}.scenario.active{color:var(--blue);background:#fff}.task-slip{background:#f1f2e6;color:var(--blue-deep);transform:none}.connections{color:#91afa0}.map-node{border-color:#6d9885}.map-node>span:first-child{color:#d7e8dc}.map-node:hover,.map-node.inspected,.map-node.visited{background:#416f5b}.map-node.current{background:#fafcf8;color:#214c3c;box-shadow:none}.map-node.current>span:first-child{color:#285849}.map-node.blocked{background:#efbd91;border-color:#efbd91;color:#462811}.map-node.blocked>span:first-child{color:#553014}.trace{background:#193e32}.trace-status{color:#d4e8d7}.trace p,.demo-note{color:#e1eee2}.run-button{background:#efbd91;color:#3c2819}.run-button:hover{background:#f5ccab}.finance-art{background:#e5ebdf}.orchestration-art{background:#e8ece6}.orchestration-art>svg{stroke:#92a08f}.orchestration-art circle{fill:#fafbf5;stroke:#70816e}.routing-art{background:#efe7dc}.access-answer{background:#e9eee5}.reader-tabs button:hover{background:#edf1e8}
.lab-disclosure{max-width:1152px;margin:55px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lab-disclosure>summary{list-style:none;cursor:pointer;display:flex;gap:20px;align-items:center;font-family:var(--display);font-size:23px;font-weight:600;padding:22px 0;line-height:1.3}.lab-disclosure>summary::-webkit-details-marker{display:none}.lab-disclosure>summary>span{font-family:var(--font);font-size:12px;font-weight:400;color:var(--muted);margin-left:auto}.lab-disclosure>summary>svg{width:20px;height:20px;flex:none}.lab-disclosure[open]>summary>svg{transform:rotate(45deg)}.lab-disclosure .agent-workshop{margin:0;padding:10px 0 20px;border:0}.lab-disclosure .insight{margin:0;border:0;padding:20px 0}.lab-disclosure .workshop-intro h2{font-size:29px}
@media(max-width:1250px){.lab-disclosure{margin-left:5%;margin-right:5%}}
@media(max-width:760px){.lab-disclosure{margin:35px 6% 0}.lab-disclosure>summary{font-size:21px;flex-wrap:wrap;gap:10px}.lab-disclosure>summary>span{font-size:12px;order:3;flex:1 1 100%;margin:0}.lab-disclosure>summary>svg{margin-left:auto}.lab-disclosure .agent-workshop,.lab-disclosure .insight{margin:0}}

/* Source stays within reach: the featured project is inspectable in place. */
.feature-image{display:block}.feature-caption a{text-decoration:none}.feature-caption a:hover{text-decoration:underline}.feature-controls{display:flex;align-items:center;gap:4px;margin-bottom:10px}.feature-controls button{padding:7px 12px;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;line-height:1.5;min-height:36px}.feature-controls button[aria-pressed="true"]{background:var(--blue);color:#fff}.feature-controls button:hover:not([aria-pressed="true"]){background:#e6eadd;color:var(--ink)}.feature-controls>span{font-size:10px;color:var(--muted);margin-left:auto}.featured-relay:hover img{transform:none}.feature-image:hover .feature-open{background:var(--blue);color:#fff}.feature-open{transition:background .2s,color .2s}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.open-questions{max-width:1152px;margin:65px auto 0;padding:36px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;gap:8%}.open-questions h2{font-size:clamp(2.1rem,3.3vw,3rem);max-width:12ch}.open-questions>div>:is(a,article){display:block;position:relative;text-decoration:none;padding:20px 35px 22px 0;border-bottom:1px solid var(--line)}.open-questions>div>:is(a,article):first-child{padding-top:0}.open-questions h3{font-size:22px;line-height:1.3;letter-spacing:-.02em;max-width:38ch}.open-questions p{font-size:13px;color:var(--muted);margin-top:9px;line-height:1.7}.open-questions .inline-arrow{position:absolute;right:0;top:25px;width:18px;height:18px;color:var(--blue)}.open-questions a:first-child .inline-arrow{top:5px}.open-questions a:hover h3{text-decoration:underline;text-underline-offset:4px}.contact-email:hover{color:var(--blue)}.contact #copy-status{color:var(--muted)}body::-webkit-scrollbar-thumb{background:#8b9c8e;border-color:var(--paper)}input{caret-color:var(--blue)}
@media(max-width:1250px){.open-questions{margin-left:5%;margin-right:5%}}
@media(max-width:760px){.feature-controls>span{font-size:9px}.feature-controls button{font-size:11px;min-height:40px}.open-questions{margin:45px 6% 0;padding-top:32px;grid-template-columns:1fr;gap:26px}.open-questions h2{font-size:2.3rem;max-width:15ch}.open-questions h3{font-size:21px}.open-questions p{font-size:13px}.intro .credentials{font-size:11px}}
@media(prefers-reduced-motion:reduce){.feature-open{transition:none}}

.feature-image{aspect-ratio:16/9}.feature-image img{object-fit:contain}
/* A visible focus boundary on both paper and the forest workflow surface. */
:root{--focus:#285849;--focus-on-forest:#fff4d5}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.lab :where(a,button,input,summary,[tabindex]):focus-visible{outline-color:var(--focus-on-forest)}

.personal-links{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.personal-links{grid-template-columns:1fr}}
