*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #FDFCFA;--fg: #000000;--muted: #6b6b6b;--rule: #ccc9c4;--nav-h: 50px;--mono: "Courier Prime", "Courier New", Courier, monospace;--col: 580px}html,body{background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:14.5px;font-weight:500;letter-spacing:-.02em;line-height:1.72;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:underline;cursor:pointer;transition:opacity .15s ease}a:hover{opacity:.4}button.link{background:none;border:none;font-family:var(--mono);font-size:13.5px;color:var(--fg);padding:0;text-align:left;line-height:1.72;text-decoration:underline;cursor:pointer;transition:opacity .15s ease}button.link:hover{opacity:.4}nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:var(--bg);border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:0 40px;z-index:100}.nav-name{font-size:13px;font-weight:inherit;color:var(--fg);text-decoration:none;cursor:pointer;background:none;border:none;font-family:var(--mono);transition:opacity .15s}.nav-name:hover{opacity:.4}.nav-links{display:flex;gap:28px}.nav-links button{background:none;border:none;font-family:var(--mono);font-size:12px;font-weight:inherit;color:var(--muted);cursor:pointer;padding:0;transition:color .15s;letter-spacing:0}.nav-links button:hover{color:var(--fg)}.col{max-width:var(--col);margin:0 auto;padding:0 28px 110px}.hero{min-height:calc(100vh - var(--nav-h));margin-top:var(--nav-h);display:flex;flex-direction:column;justify-content:center;padding:40px 0 72px}.sections{padding-top:80px}.breadcrumb{display:flex;align-items:center;margin-bottom:52px;font-size:12px}.bc-home{background:none;border:none;font-family:var(--mono);font-size:12px;color:var(--fg);cursor:pointer;padding:0;transition:opacity .15s}.bc-home:hover{opacity:.4}.bc-sep{color:var(--muted);margin:0 6px}.bc-label{color:var(--muted)}.ph{width:100%;aspect-ratio:16 / 10;background:repeating-linear-gradient(45deg,#dddbd8,#dddbd8 1px,#e8e6e3 1px,#e8e6e3 9px);display:flex;align-items:center;justify-content:center}.ph span{font-size:11px;color:#b8b5b1;letter-spacing:.09em;pointer-events:none}.cap{font-style:italic;color:var(--muted);font-size:12px;text-align:center;margin-top:8px}.sec{margin-bottom:52px}.sec-hd{padding-bottom:8px;border-bottom:1px solid var(--rule);margin-bottom:22px;color:var(--fg)}.item{margin-bottom:18px}.item:last-of-type{margin-bottom:0}.skills-row{display:grid;grid-template-columns:120px 1fr;gap:0 16px;margin-bottom:12px;align-items:baseline}.skills-label{color:var(--muted);font-size:12px;padding-top:1px}.skills-vals{color:var(--fg)}.tag{display:inline-block;font-size:11px;color:var(--muted);border:1px solid var(--rule);padding:1px 7px;margin:0 5px 5px 0}.prose p{margin-bottom:14px}.prose p:last-child{margin-bottom:0}.photo-frame{position:relative;border-radius:10px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 1.5%,black 98.5%,transparent 100%),linear-gradient(to bottom,transparent 0%,black 3%,black 97%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,black 1.5%,black 98.5%,transparent 100%),linear-gradient(to bottom,transparent 0%,black 3%,black 97%,transparent 100%);mask-composite:intersect}@keyframes fi{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.fi{animation:fi .22s ease forwards}
