:root{--paper:#faf0dc;--ink:#45382f;--wine:#843f4b;--muted:#716052;--line:#d6bda0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--wine);outline-offset:6px}.wrap{width:min(1180px,calc(100% - 112px));margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:30px 0;border-bottom:2px solid var(--line)}.wordmark{font:700 23px 'Courier New',monospace;letter-spacing:-1px}.wordmark span{display:block;font:12px 'Courier New',monospace;letter-spacing:0;color:var(--muted);margin-top:8px}nav{display:flex;gap:30px;font-size:14px}nav a{padding:12px 0}nav a:hover{color:var(--wine);text-decoration:underline;text-underline-offset:6px}.hero{display:grid;grid-template-columns:1.13fr 1fr;gap:40px;align-items:center;padding-top:72px}.hero-copy{min-width:0}.hello{font:700 18px 'Courier New',monospace;color:var(--wine);margin-bottom:22px}h1{font:400 clamp(40px,4.7vw,65px)/1.12 Georgia,serif;letter-spacing:-2.4px;margin:0}em{font-weight:400;color:var(--wine)}.intro{max-width:455px;margin:25px 0 30px}.intro p{font-size:18px;line-height:1.8;color:var(--muted);margin:0 0 28px}.read-on{display:inline-flex;gap:20px;align-items:center;font:700 12px 'Courier New',monospace;border:2px solid var(--ink);padding:12px 15px;background:#f0d5bc;box-shadow:3px 3px 0 var(--ink);color:var(--wine)}.read-on span{font-size:20px}.read-on:hover{background:#e6bea1;transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink)}.pixel-scene{margin:0 0 20px;border:3px solid var(--ink);box-shadow:7px 7px 0 #c6aa87;background:#efd5b9}.window-bar{font:10px/1.5 'Courier New',monospace;display:flex;justify-content:space-between;padding:10px 12px;border-bottom:3px solid var(--ink);background:#e8b59c;color:#483129}.pixel-scene img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;image-rendering:pixelated}figcaption{font:11px/1.6 'Courier New',monospace;padding:12px;border-top:3px solid var(--ink);color:#5b4035}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:19px 0;font:10px/1.5 'Courier New',monospace;letter-spacing:1px;color:var(--muted)}.selected-work{padding-top:63px;padding-bottom:72px}.eyebrow{font:11px/1.5 'Courier New',monospace;letter-spacing:1.2px;color:var(--wine)}h2{font:400 46px/1.2 Georgia,serif;letter-spacing:-1.6px;margin:16px 0 35px}.experience-list article{display:grid;grid-template-columns:45px 1fr 1.5fr;gap:26px;align-items:baseline;border-top:1px solid var(--line);padding:27px 0}.experience-list article:last-child{border-bottom:1px solid var(--line)}.small-number{font:13px 'Courier New',monospace;color:var(--wine)}h3{font:400 27px/1.3 Georgia,serif;letter-spacing:-.6px;margin:0}.experience-list p{font-size:16px;line-height:1.8;color:var(--muted);margin:0;max-width:570px}.off-duty{background:#f0d5bc;border-top:2px solid #d1aa8c;border-bottom:2px solid #d1aa8c}.off-duty-inner{display:grid;grid-template-columns:1fr 2.3fr;align-items:center;gap:45px;padding-top:40px;padding-bottom:40px}.off-duty p{font:400 27px/1.5 Georgia,serif;margin:0;letter-spacing:-.4px}footer{display:flex;justify-content:space-between;padding:29px 0;font-size:12px;color:var(--muted);gap:20px}.footer-divider{margin:0 10px}.skip{position:fixed;top:-100px;left:12px;z-index:10;background:var(--wine);color:white;padding:12px}.skip:focus{top:12px}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{gap:30px}h1{font-size:43px;letter-spacing:-1.7px}.intro p{font-size:16px}.experience-list article{grid-template-columns:30px 1fr 1.4fr;gap:20px}h3{font-size:24px}.off-duty-inner{grid-template-columns:1fr 3fr}.off-duty p{font-size:25px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}header{padding:24px 0;gap:20px}.wordmark{font-size:19px}.wordmark span{font-size:11px}nav{gap:17px;font-size:12px}.hero{grid-template-columns:1fr;padding-top:38px;gap:27px}h1{font-size:clamp(36px,7.9vw,53px);letter-spacing:-1.6px}.hello{font-size:16px}.intro{margin-bottom:6px;max-width:520px}.pixel-scene{width:calc(100% - 6px);max-width:550px;margin:0 0 4px}.hero-foot{font-size:9px;letter-spacing:.3px;gap:20px}.hero-foot span:last-child{text-align:right;max-width:145px}.selected-work{padding-top:35px;padding-bottom:45px}h2{font-size:37px;margin-bottom:27px}.experience-list article{grid-template-columns:26px 1fr;gap:10px 16px;padding:23px 0}.experience-list p{grid-column:2;font-size:16px}.off-duty-inner{grid-template-columns:1fr;gap:18px;padding-top:30px;padding-bottom:30px}.off-duty p{font-size:24px}.off-duty p br{display:none}footer{font-size:11px;line-height:1.7}footer>span{max-width:160px}.footer-divider{display:none}footer>a{max-width:100px;text-align:right}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Personal project and off-duty notes share the page's editorial layout. */
.tinkering{display:grid;grid-template-columns:1fr 1.35fr;gap:64px;padding-top:0;padding-bottom:72px;align-items:start}
.tinkering-heading{border-top:2px solid var(--wine);padding-top:25px}
.tinkering h2{margin-bottom:18px}
.project-status{font:13px/1.6 'Courier New',monospace;color:var(--muted)}
.project-copy{padding-top:23px;max-width:610px}
.project-copy p{font-size:17px;line-height:1.8;color:var(--muted);margin:0 0 20px}
.project-copy p:last-child{margin-bottom:0}
.off-duty-inner{grid-template-columns:1fr 1.35fr;gap:64px;align-items:start;padding-top:48px;padding-bottom:48px}
.off-duty-heading h2{font-size:36px;max-width:300px;margin-bottom:0}
.personal-notes{display:grid;gap:25px}
.personal-notes article+article{border-top:1px solid #d1aa8c;padding-top:25px}
.personal-notes h3{font-size:25px;margin-bottom:9px}
.personal-notes p{font:400 16px/1.8 Arial,Helvetica,sans-serif;letter-spacing:0;color:var(--ink)}
.personal-notes a{display:block;width:fit-content;margin-top:10px;color:var(--wine);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.personal-notes a:hover{text-decoration-thickness:2px}
@media(max-width:1000px){.tinkering,.off-duty-inner{gap:36px}}
@media(max-width:700px){header{flex-wrap:wrap}nav{flex-wrap:wrap;gap:22px;font-size:14px}.tinkering{grid-template-columns:1fr;gap:22px;padding-bottom:45px}.project-copy{padding-top:0}.project-copy p{font-size:16px}.off-duty-inner{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:35px}.off-duty-heading h2{font-size:32px;max-width:none}.personal-notes h3{font-size:24px}}
