@charset "UTF-8";
:root{--ink:#102d40;--muted:#4f626e;--paper:#faf9f5;--line:#d5ddd9;--accent:#226854;--mint:#e7efe8;--blue:#e8edf2;--sand:#eee7dc;--white:#fff;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}button,a,summary{-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5,p{margin-top:0}h1,h2,h3,h4,h5{line-height:1.1}section,article{scroll-margin-top:90px}.section-wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(var(--max),calc(100% - 80px));margin:auto;min-height:94px;border-bottom:1px solid var(--line)}.wordmark{font-weight:800;font-size:33px;letter-spacing:-2px;text-decoration:none}.wordmark-dot{color:var(--accent)}nav{display:flex;gap:32px}nav a{text-decoration:none;font-size:14px;font-weight:600}nav a:hover{text-decoration:underline}.skip{position:fixed;left:16px;top:-100px;background:var(--ink);color:white;padding:12px 18px;z-index:100}.skip:focus{top:12px}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:90px;align-items:center;padding-block:86px 94px}.eyebrow,.project-index,.project-kicker,.visual-label,.date{font-size:11px;line-height:1.5;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.hero .eyebrow{margin-bottom:27px}h1{font-size:clamp(45px,5.7vw,76px);font-weight:600;letter-spacing:-3.9px;margin-bottom:26px;line-height:1.045}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-3px;color:var(--accent)}.intro{font-size:18px;line-height:1.65;max-width:490px;margin-bottom:25px;color:var(--muted)}.hero-context{font-size:13px;line-height:1.65;margin-bottom:30px}.hero-context strong{font-weight:700}.actions{display:flex;gap:25px;align-items:center}.button{display:inline-flex;gap:28px;align-items:center;background:var(--ink);color:white;text-decoration:none;font-size:13px;font-weight:700;padding:14px 19px;min-height:48px;transition:background .2s}.button:hover{background:var(--accent)}.text-link{display:inline-flex;gap:14px;align-items:center;font-size:13px;font-weight:700;text-decoration:underline}.hero-visual{position:relative;border:1px solid var(--line);background:var(--white);padding:30px 32px 24px;box-shadow:14px 14px 0 var(--mint)}.visual-label{font-size:10px;margin-bottom:30px;color:var(--muted);letter-spacing:1.3px}.system-node{display:flex;gap:20px;align-items:center;padding:19px 16px;border:1px solid #bfd0ca;background:var(--mint)}.system-node strong{display:block;font-size:17px;font-weight:600}.system-node div>span{display:block;font-size:11px;margin-top:1px;line-height:1.5;color:var(--muted)}.node-icon{font-family:Georgia,'Times New Roman',serif;font-size:25px;color:var(--accent)}.node-api{margin-left:23px;background:var(--blue);border-color:#c2d0dd}.node-api .node-icon{color:#40617b}.node-runtime{margin-left:46px;background:var(--sand);border-color:#d4c9b6}.node-runtime .node-icon{color:#6e5c3f}.connection{height:26px;width:1px;background:#92a49c;margin-left:40px;position:relative}.connection:after{content:"";position:absolute;bottom:0;left:-3px;width:5px;height:5px;border-bottom:1px solid #92a49c;border-right:1px solid #92a49c;transform:rotate(45deg)}.visual-foot{font-size:10px;margin:28px 0 0;color:var(--muted);letter-spacing:.25px}.capability-strip{background:var(--ink);color:#f6f6f1}.strip-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:23px;font-size:11px;font-weight:600;letter-spacing:.4px}.strip-inner span{position:relative}.strip-inner span:not(:last-child):after{position:absolute;content:"+";right:-37px;color:#89aaa0}.work-section{padding-block:88px 100px}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:90px;margin-bottom:56px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:23px}h2{font-size:clamp(33px,3.4vw,46px);font-weight:500;letter-spacing:-1.7px;margin-bottom:0}.section-heading>p:last-child{font-size:15px;color:var(--muted);margin:3px 0 0;max-width:410px}.project{display:grid;grid-template-columns:1fr 1.5fr;border-top:1px solid var(--line);padding-block:0;margin-bottom:45px}.project:last-child{margin-bottom:0}.project-heading{padding:35px 34px 32px 30px;background:var(--mint);align-self:stretch}.project-ai .project-heading{background:var(--blue)}.project-ops .project-heading{background:var(--sand)}.project-index{font-size:10px;letter-spacing:1px;margin-bottom:26px}.project h3{font-size:42px;letter-spacing:-1.8px;font-weight:500;margin-bottom:22px;line-height:1.08}.project-deck{font-size:14px;line-height:1.65;max-width:285px;margin-bottom:22px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:28px}.tags span{border:1px solid #9eb7aa;padding:3px 8px;font-size:10px;font-weight:600;line-height:1.6}.project-ai .tags span{border-color:#aebfce}.project-ops .tags span{border-color:#bcb09c}.project-body{padding:36px 0 10px 46px}.project-kicker{font-size:10px;color:var(--accent);margin-bottom:15px}.project h4{font-size:23px;line-height:1.3;letter-spacing:-.5px;font-weight:600;max-width:480px;margin-bottom:17px}.project-body>p:not(.project-kicker){color:var(--muted);font-size:14px;line-height:1.8;max-width:570px;margin-bottom:24px}.contribution-list{padding:0;margin:0;list-style:none}.contribution-list li{display:grid;grid-template-columns:145px 1fr;gap:18px;border-top:1px solid var(--line);padding-block:14px;font-size:12px;line-height:1.7}.contribution-list strong{font-weight:600}.contribution-list span{color:var(--muted)}details{border-top:1px solid var(--line);margin-top:6px}summary{cursor:pointer;font-size:12px;font-weight:700;padding:17px 0;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px}summary::-webkit-details-marker{display:none}summary>span{font-size:23px;font-weight:400;line-height:1}details[open] summary>span{transform:rotate(45deg)}.case-detail{padding-bottom:20px;max-width:560px}.case-detail h5{font-size:13px;margin:17px 0 9px}.case-detail p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:16px}.workflow{display:flex;align-items:center;gap:10px;margin:25px 0 28px}.workflow span{border:1px solid var(--line);padding:11px 10px;font-size:11px;line-height:1.5;flex:1;text-align:center;background:#fff}.workflow b{font-weight:400;color:var(--muted)}.experience-section{background:#eef0ec;padding-block:78px}.experience-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.experience-grid .eyebrow{margin-bottom:25px}.experience-entry{border-top:1px solid #aebbb4;padding-top:22px}.date{font-size:10px;color:var(--muted);margin-bottom:12px}.experience-entry h3{font-size:25px;margin-bottom:12px;letter-spacing:-.5px}.employer{font-size:14px;font-weight:600;line-height:1.7}.employer span{font-weight:400}.experience-entry>p:last-child{font-size:14px;color:var(--muted);margin-bottom:30px;max-width:450px}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;border-top:1px solid var(--line);padding-top:25px}.skills-grid h4{font-size:12px;margin-bottom:10px}.skills-grid p{font-size:12px;color:var(--muted);line-height:1.85;margin-bottom:0}.contact-section{display:grid;grid-template-columns:1.1fr 1fr;gap:120px;padding-block:92px}.contact-section .eyebrow{margin-bottom:24px}.contact-section h2{margin-bottom:26px}.contact-section>div>p:not(.eyebrow){font-size:14px;max-width:460px;color:var(--muted)}.contact-section .location-note{font-size:11px!important;margin-top:27px;line-height:1.8}.contact-links{align-self:center}.contact-links a{display:flex;justify-content:space-between;gap:25px;padding:23px 2px;border-bottom:1px solid var(--line);text-decoration:none;font-size:14px}.contact-links a:first-child{border-top:1px solid var(--line)}.contact-links a:hover{color:var(--accent)}.site-footer{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:25px;padding-block:25px 26px}.site-footer>p:first-child{font-size:14px;font-weight:600;line-height:1.5;margin:0}.site-footer>p:first-child span{display:block;font-size:10px;color:var(--muted);font-weight:400}.site-footer>a{font-size:11px;align-self:center}.footer-note{grid-column:1/-1;font-size:9px;color:var(--muted);margin:0;line-height:1.6}
@media(min-width:1400px){.hero{gap:110px}.hero-visual{padding:35px 38px}.strip-inner span:not(:last-child):after{right:-45px}}
@media(max-width:1000px){.section-wrap,.site-header{width:calc(100% - 56px)}.hero{gap:45px;padding-block:65px 75px}h1{font-size:58px;letter-spacing:-3px}.hero-visual{padding:25px 22px}.system-node{padding:15px 12px;gap:12px}.system-node strong{font-size:15px}.system-node div>span{font-size:10px}.node-api{margin-left:12px}.node-runtime{margin-left:24px}.strip-inner{gap:22px;flex-wrap:wrap;justify-content:flex-start}.strip-inner span:not(:last-child):after{display:none}.section-heading{gap:45px}.project{grid-template-columns:1fr 1.5fr}.project-heading{padding:30px 24px}.project h3{font-size:34px}.project-body{padding-left:28px}.contribution-list li{grid-template-columns:1fr;gap:4px;padding-block:12px}.experience-grid{gap:45px}.contact-section{gap:65px}}
@media(max-width:700px){html{scroll-padding-top:30px}.section-wrap,.site-header{width:calc(100% - 40px)}.site-header{min-height:78px}.wordmark{font-size:28px}nav{gap:18px}nav a{font-size:11px}.hero{grid-template-columns:1fr;gap:45px;padding-block:43px 58px}.hero .eyebrow{font-size:9px;letter-spacing:1.1px;margin-bottom:22px}h1{font-size:clamp(43px,11vw,65px);letter-spacing:-2.6px}h1 em{letter-spacing:-2px}.intro{font-size:16px;max-width:480px}.hero-context{font-size:12px}.hero-visual{width:calc(100% - 10px);max-width:470px;box-shadow:10px 10px 0 var(--mint);padding:24px}.visual-label{margin-bottom:22px}.system-node{padding:14px 16px}.system-node strong{font-size:16px}.system-node div>span{font-size:11px}.node-api{margin-left:25px}.node-runtime{margin-left:50px}.visual-foot{margin-top:22px}.strip-inner{font-size:10px;gap:11px 23px;padding-block:20px}.work-section{padding-block:53px 58px}.section-heading{display:block;margin-bottom:34px}.section-heading .eyebrow{font-size:10px;margin-bottom:20px}.section-heading>p:last-child{margin-top:22px;font-size:14px}h2{font-size:35px;letter-spacing:-1.3px}.project{grid-template-columns:1fr;margin-bottom:32px}.project-heading{padding:28px 25px 25px}.project-index{margin-bottom:20px}.project h3{font-size:36px}.project-deck{max-width:100%;font-size:14px}.tags{margin-bottom:18px}.project-heading .text-link{font-size:12px}.project-body{padding:29px 4px 4px}.project h4{font-size:22px}.project-body>p:not(.project-kicker){font-size:14px}.contribution-list li{grid-template-columns:1fr;gap:4px;font-size:12px;padding-block:13px}.workflow{gap:6px}.workflow span{font-size:10px;padding:10px 6px}.experience-section{padding-block:49px}.experience-grid{grid-template-columns:1fr;gap:36px}.experience-grid .eyebrow{font-size:10px;margin-bottom:20px}.experience-entry h3{font-size:24px}.skills-grid{gap:25px 20px}.skills-grid p{font-size:11px}.contact-section{grid-template-columns:1fr;gap:22px;padding-block:52px}.contact-section .eyebrow{font-size:10px}.contact-links a{font-size:13px;padding-block:22px}.site-footer{padding-block:24px;gap:20px}.footer-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:white}.site-header,.hero-visual,.capability-strip,.contact-section,.site-footer,.skip,details{display:none}.section-wrap{width:100%}.hero{padding:20px 0;display:block}.hero h1{font-size:38px}.work-section{padding:25px 0}.project{break-inside:avoid;grid-template-columns:1fr 1.5fr}.project-heading{background:#eee!important}.project-body{padding-top:25px}.experience-section{padding:25px 0;background:white}.experience-grid{gap:30px}}
