:root{--ink:#16140f;--ink-soft:#16140fb8;--ink-faint:#16140f73;--paper:#f6efda;--red:#b53a2e;--serif:"EB Garamond", "Cormorant Garamond", Georgia, serif;--mono:"IBM Plex Mono", Consolas, monospace;--col:520px}*{box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;margin:0;font-size:18px;line-height:1.55}.layer{width:100vw;height:100vh;display:block;position:fixed;inset:0}#paper{z-index:0;pointer-events:none}#gl{z-index:1;mix-blend-mode:multiply;touch-action:pan-y}#mist{z-index:2;pointer-events:none}#ink{z-index:3;pointer-events:none;mix-blend-mode:multiply}#content{z-index:4;pointer-events:none;position:relative}#content:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#f6efdaeb 0%,#f6efdabf 55%,#f6efda00 100%);width:min(640px,70vw);position:fixed;top:0;bottom:0;left:0}#chrome{z-index:5;pointer-events:none;position:fixed;inset:0}#content{width:min(var(--col), 100%);padding:0 32px 40px 72px}.sec{flex-direction:column;justify-content:flex-start;padding:3.5vh 0;display:flex}.sec>*{pointer-events:auto}.sec.hero{padding-top:64px;padding-bottom:6vh}.sec.exhead{padding-bottom:0}.sec.chapter{padding:2.5vh 0}.sec.contact{padding-bottom:12vh}.eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 14px;font-size:12px}.eyebrow .num{color:var(--red);margin-right:8px}.dot{color:var(--ink-faint);margin:0 .5em}.name{letter-spacing:-.01em;margin:0 0 18px;font-size:clamp(44px,6vw,72px);font-weight:500;line-height:1}.line{margin:0 0 18px;font-size:clamp(26px,3vw,36px);font-weight:500;line-height:1.1}.role{margin:0 0 12px;font-size:clamp(22px,2.4vw,28px);font-weight:500;line-height:1.15}.role .at{color:var(--ink-soft);font-weight:400}.sub{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:400}.stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 14px;margin:4px 0 18px;padding:0;list-style:none;display:grid}.stats li{border-top:1px solid #16140f40;flex-direction:column;padding-top:6px;display:flex}.stats b{font-size:26px;font-weight:500;line-height:1}.stats span{font-family:var(--mono);color:var(--ink-soft);letter-spacing:.02em;margin-top:4px;font-size:11px}.lede,.body{color:var(--ink);max-width:44ch;margin:0 0 14px}.links a{color:var(--ink);border-bottom:1px solid #b53a2e8c;text-decoration:none}.links a:hover{color:var(--red)}.hint{font-family:var(--mono);color:var(--ink-faint);margin-top:28px;font-size:12px}.hint a{color:var(--ink-soft);border-bottom:1px solid #b53a2e73;margin-left:6px;text-decoration:none}.colophon{padding-bottom:14vh}.colophon .body{color:var(--ink-soft);max-width:42ch;font-size:17px;font-style:italic}.shipped{margin:0 0 10px;padding:0;list-style:none}.shipped li{color:var(--ink-soft);margin:5px 0;padding-left:20px;font-size:16.5px;position:relative}.shipped li:before{content:"";background:var(--ink);opacity:.8;border-radius:1px 4px;width:9px;height:9px;position:absolute;top:.62em;left:0;transform:rotate(-12deg)}.stack,.tech{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.02em;margin:0;font-size:12.5px}.card{border-left:2px solid #16140f2e;margin:0 0 18px;padding-left:16px}.card h3{margin:0 0 4px;font-size:23px;font-weight:500}.card .tech{margin-bottom:8px}.card .shipped li{font-size:16px}.skill-group{margin:0 0 12px}.skill-group h3{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px;font-size:12px;font-weight:400}.tags{flex-wrap:wrap;gap:6px 8px;margin:0;display:flex}.tags span{background:#f6efda8c;border:1px solid #16140f4d;border-radius:2px;padding:1px 7px;font-size:14px}.chapter .tags span{font-size:13px}.box{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-soft);white-space:nowrap;pointer-events:auto;background:#f6efdae0;padding:3px 8px;font-size:11px;position:absolute}.box.contact{top:16px;left:24px}.box.contact .links{font-family:var(--mono);margin:0;font-size:11px}.box.contact .links a{border-bottom-color:#b53a2e73}.box.readout{bottom:16px;right:24px}.box.toggles{align-items:center;gap:6px;display:flex;bottom:46px;right:24px}.box.toggles button{all:unset;cursor:pointer;color:var(--ink);border-bottom:1px solid #b53a2e99;padding-bottom:1px;font-weight:500}.box.toggles button:hover{color:var(--red)}.box.toggles .sep{color:var(--ink-faint)}.gizmo{width:120px;height:120px;position:absolute;bottom:76px;right:22px;overflow:visible}.gizmo line{stroke-width:2.4px;stroke-linecap:round;stroke:var(--ink)}.gizmo circle{fill:var(--paper);stroke-width:2px;stroke:var(--ink)}.gizmo text{font-family:var(--serif);text-anchor:middle;dominant-baseline:middle;fill:var(--ink);font-size:13px;font-weight:700}.gizmo .x{stroke:var(--red)}.gizmo text.x{fill:var(--red);stroke:none}.gizmo text.y,.gizmo text.z{stroke:none}.zoom{pointer-events:auto;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:208px;right:36px}.zoom button{width:30px;height:30px;color:var(--ink);font-family:var(--mono);cursor:pointer;background:#f6efdad9;border:1px solid #16140f73;border-radius:2px;padding:0;font-size:14px;line-height:1}.zoom button:nth-child(2){letter-spacing:.02em;font-size:10px}.zoom button:hover{background:var(--ink);color:var(--paper)}.seal{font-family:var(--serif);letter-spacing:.3em;color:var(--ink-soft);align-items:center;gap:12px;font-size:12px;display:flex;position:absolute;bottom:22px;left:24px}.seal b{background:var(--red);width:30px;height:30px;color:var(--paper);letter-spacing:0;place-items:center;font-size:15px;display:grid}@media (width<=959px){#content{padding:0 20px}.sec{padding:3vh 0}.sec.hero{padding-top:24px}.sec>*{background:#f6efdac7;width:fit-content;max-width:100%;margin-left:-6px;padding:2px 6px}.box.readout{display:none}.box.toggles{bottom:96px;right:10px}.box.contact{white-space:normal;top:10px;left:12px}.gizmo{width:80px;height:80px;bottom:10px;right:10px}.zoom{bottom:126px;right:14px}.seal{display:none}}body.flat #gl,body.flat #mist,body.flat #ink{display:none}
