@font-face{font-family:Crimson Pro;src:url(/fonts/crimson-pro-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Crimson Pro;src:url(/fonts/crimson-pro-400-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Crimson Pro;src:url(/fonts/crimson-pro-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Technology;src:url(/fonts/technology-bold.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}:root{color-scheme:dark;--desk:#0e0c11;--ground:#16131a;--card:#1d1a22;--bar:#26222c;--line:#2f2a35;--line-strong:#3a3440;--line-muted:#4a4352;--heading:#fbf6ea;--text:#e6e0d3;--text-side:#d4cdbf;--text-soft:#c9c2b4;--text-quiet:#b8b0a2;--text-muted:#9c9588;--text-dim:#8c8594;--text-prompt:#6e6876;--brass:#d6b46e;--brass-hover:#f0d79c;--brass-press:#e4c582;--hoodie:#2f4d3b;--hoodie-light:#355a44;--hoodie-ink:#cfe3d4;--moss:#8fbf9c;--pink:#e8a3ad;--pink-ink:#2a1d22;--plum:#3a2f37;--paper:#f4efe3;--paper-ink:#17151a;--paper-text:#2f2c32;--note-text:#3f3a36;--sticky:#e8d48a;--sticky-ink:#2a2620;--label-ink:#f3efe6;--terminal-text:#dfe9e1;--tape:#e6d6aa9e;--tape-clip:polygon(2% 0, 98% 6%, 100% 50%, 97% 100%, 3% 94%, 0 50%);--shadow-paper:0 10px 20px #00000073;--rim:0 0 0 1px #ffffff59, 0 0 18px #e6e0d326;--serif:"Crimson Pro", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--wordmark:"Technology", monospace;--gutter:clamp(16px, 5vw, 72px)}*,:before,:after{box-sizing:border-box}html{background:var(--ground);-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--text);font-family:var(--serif);margin:0}[hidden]{display:none!important}img{max-width:100%;height:auto}a{color:var(--brass);text-underline-offset:3px}a:hover{color:var(--brass-hover)}:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:4px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.shell{background:var(--ground);flex-wrap:wrap;min-height:100vh;display:flex}.page-aside{border-right:1px solid var(--line);background:var(--desk);flex:240px;max-width:280px}.page-main{min-width:0;color:var(--text);font-family:var(--serif);padding:72px var(--gutter) 140px;flex:999 560px}.page-main--projects{padding-top:64px}.page-main--consulting{padding:64px var(--gutter) 96px;overflow:hidden}.page-main--404{padding:96px var(--gutter) 120px}@media (width<=700px){.page-aside{border-right:0;border-bottom:1px solid var(--line);flex-basis:100%;max-width:none}}.tape{background:var(--tape);clip-path:var(--tape-clip);position:absolute}@view-transition{navigation:auto}.page-aside{view-transition-name:rail}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}.rail[data-astro-cid-euxwtxot]{background:var(--desk);min-height:100vh;color:var(--text);font-family:var(--mono);flex-direction:column;gap:28px;padding:40px 24px 32px;display:flex;position:sticky;top:0}.rail-mark[data-astro-cid-euxwtxot]{font-family:var(--wordmark);color:var(--heading);padding-left:12px;font-size:42px;line-height:1;text-decoration:none}.rail-mark[data-astro-cid-euxwtxot]:hover{color:var(--heading)}.rail-mark[data-astro-cid-euxwtxot].is-rainbow span[data-astro-cid-euxwtxot]{animation:.6s 3 rainbow}.rail-mark[data-astro-cid-euxwtxot].is-rainbow span[data-astro-cid-euxwtxot]:nth-child(2){animation-delay:-.1s}.rail-mark[data-astro-cid-euxwtxot].is-rainbow span[data-astro-cid-euxwtxot]:nth-child(3){animation-delay:-.2s}.rail-mark[data-astro-cid-euxwtxot].is-rainbow span[data-astro-cid-euxwtxot]:nth-child(4){animation-delay:-.3s}.rail-mark[data-astro-cid-euxwtxot].is-rainbow span[data-astro-cid-euxwtxot]:nth-child(5){animation-delay:-.4s}.rail-mark[data-astro-cid-euxwtxot].is-rainbow span[data-astro-cid-euxwtxot]:nth-child(6){animation-delay:-.5s}@keyframes rainbow{0%{color:#ff5f6d;animation-timing-function:step-end}16.67%{color:#ffa94d;animation-timing-function:step-end}33.33%{color:#ffe066;animation-timing-function:step-end}50%{color:#69db7c;animation-timing-function:step-end}66.67%{color:#4dabf7;animation-timing-function:step-end}83.33%{color:#b197fc;animation-timing-function:step-end}to{color:#b197fc}}.rail-nav[data-astro-cid-euxwtxot]{flex-direction:column;gap:2px;display:flex}.rail-link[data-astro-cid-euxwtxot]{min-height:40px;font-family:var(--mono);color:var(--text-dim);align-items:center;padding:0 12px 0 26px;font-size:15px;text-decoration:none;display:flex;position:relative}.rail-link[data-astro-cid-euxwtxot]:hover{color:var(--text)}.rail-on[data-astro-cid-euxwtxot],.rail-on[data-astro-cid-euxwtxot]:hover{color:var(--heading)}.rail-on[data-astro-cid-euxwtxot]:before{content:">";color:var(--brass);font-weight:600;position:absolute;left:10px}.rail-note[data-astro-cid-euxwtxot]{background:var(--sticky);color:var(--sticky-ink);margin:18px 8px 0;padding:16px 14px 18px;font-size:12.5px;line-height:1.5;position:relative;box-shadow:0 8px 16px #00000073}.rail-note__tape[data-astro-cid-euxwtxot]{width:66px;height:20px;top:-9px;left:60px;transform:rotate(3deg)}.rail-note__when[data-astro-cid-euxwtxot]{opacity:.7}.rail-links[data-astro-cid-euxwtxot]{border-top:1px solid var(--line);flex-wrap:wrap;gap:0 18px;margin-top:auto;padding:8px 0 0 12px;display:flex}.rail-foot[data-astro-cid-euxwtxot]{min-height:44px;color:var(--text-muted);align-items:center;gap:3px;padding:0 2px;font-size:13px;text-decoration:none;display:inline-flex}.rail-foot[data-astro-cid-euxwtxot]:hover{color:var(--brass)}.rail-ext[data-astro-cid-euxwtxot]{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:10px}@media (width<=700px){.rail[data-astro-cid-euxwtxot]{gap:14px;min-height:0;padding:20px 16px;position:static}.rail-nav[data-astro-cid-euxwtxot]{flex-flow:wrap}.rail-note[data-astro-cid-euxwtxot]{display:none}}
