:root{--rock:#141716;--rock-2:#1c201e;--rock-3:#252a27;--pole:#5d625d;--paint:#f1efe9;--text:#e4e2dc;--muted:#a6ada7;--ink:#141716;--ink-muted:#4a4f4b;--red:#d1262b;--red-text:#f0625f;--blue:#1f5fbf;--blue-text:#7fa8ee;--yellow:#f2c230;--display:"Barlow Condensed", "Arial Narrow", sans-serif;--body:"Barlow", "Segoe UI", sans-serif;--gutter:clamp(1rem, 4vw, 4rem);--step:clamp(4rem, 9vw, 8rem);--route:var(--red);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--pole) var(--rock);scroll-padding-top:5rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--rock);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.125rem;line-height:1.6}::selection{background:var(--yellow);color:var(--ink)}input,textarea{caret-color:var(--yellow)}a{color:inherit;text-decoration-color:var(--yellow);text-underline-offset:.22em;text-decoration-thickness:2px}a:hover{text-decoration-color:var(--paint)}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}h1,h2,h3{font-family:var(--display);letter-spacing:-.005em;text-wrap:balance;margin:0;font-weight:700;line-height:1.02}p{margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip{left:var(--gutter);z-index:10;background:var(--yellow);color:var(--ink);padding:.6rem 1rem;font-weight:600;position:absolute;top:-4rem}.skip:focus{top:1rem}.marker{z-index:1;vertical-align:middle;flex:none;grid-template-rows:repeat(3,1fr);display:inline-grid;position:relative}.marker i{background:var(--paint);display:block}.marker--red i:nth-child(2){background:var(--red)}.marker--blue i:nth-child(2){background:var(--blue)}.marker--yellow i:nth-child(2){background:var(--yellow)}.marker--lead{width:2.5rem;height:2.5rem}.marker--side{width:.95rem;height:.95rem}.top{z-index:5;padding:1.1rem var(--gutter);background:color-mix(in oklab, var(--rock) 92%, transparent);font-family:var(--display);letter-spacing:.02em;justify-content:space-between;align-items:center;gap:1.5rem;font-size:1.05rem;font-weight:600;display:flex;position:sticky;top:0}.brand{color:var(--muted);text-decoration:none}.top nav{flex-wrap:wrap;gap:.4rem 1.75rem;display:flex}.top nav a{color:var(--text);text-decoration:none}.top nav a:hover{color:var(--yellow)}.top nav .lang{color:var(--muted)}.trailhead{padding:clamp(1.5rem, 4vw, 3.5rem) var(--gutter) var(--step);grid-template-columns:minmax(20rem,5fr) 7fr;gap:clamp(2rem,6vw,7rem);display:grid;overflow:clip}.post{align-self:start;justify-items:start;gap:.75rem;padding-bottom:2rem;display:grid;position:sticky;top:5.5rem}.sign{justify-items:start;gap:1rem;width:100%;padding-bottom:2.5rem;display:grid;position:relative}.sign>:not(.pole){z-index:1;position:relative}.pole{z-index:0;background:var(--pole);width:1.1rem;position:absolute;top:2rem;bottom:0;left:clamp(7rem,12vw,10rem)}.plate-name{background:var(--paint);color:var(--ink);width:min(100%,31rem);padding:1.4rem 1.6rem 1.5rem;position:relative}.portrait{aspect-ratio:1;width:clamp(5.5rem,8vw,7.5rem);position:absolute;top:-1rem;right:-1rem}.portrait img{object-fit:cover;width:100%;height:100%;display:block}.plate-name h1{letter-spacing:-.01em;font-size:clamp(2.6rem,4.6vw,4.25rem)}.role{color:#2a2e2b;max-width:30ch;margin-top:.85rem;font-size:1.1rem;line-height:1.45}.arrow{background:var(--paint);min-height:5.25rem;color:var(--ink);align-items:stretch;gap:1.1rem;width:min(100%,32rem);padding:0 3.25rem 0 1.4rem;text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1),background-color .2s;display:flex}.arrow--right{clip-path:polygon(0 0,calc(100% - 2.4rem) 0,100% 50%,calc(100% - 2.4rem) 100%,0 100%)}.arrow--left{clip-path:polygon(2.4rem 0,100% 0,100% 100%,2.4rem 100%,0 50%);width:min(100%,30rem);margin-left:-.6rem;padding:0 1.4rem 0 3.25rem}.arrow:hover{background:#fff}.arrow--right:hover{transform:translate(.4rem)}.arrow--left:hover{transform:translate(-.4rem)}.arrow:focus-visible{outline-offset:5px}.arrow .marker{outline:2px solid var(--ink);outline-offset:0;align-self:center;width:2.1rem;height:2.1rem}.arrow-text{align-content:center;padding:.7rem 0;display:grid}.arrow-text strong{font-family:var(--display);font-size:clamp(1.45rem,2vw,1.8rem);font-weight:700;line-height:1.05}.arrow-text span{color:var(--ink-muted);font-size:1rem}@media (prefers-reduced-motion:reduce){.arrow{transition:none}.arrow:hover{transform:none}}.routes{border:0;flex-wrap:wrap;gap:.3rem 1.4rem;width:min(100%,31rem);margin:1rem 0 0;padding:0;display:flex}.routes legend{float:left;width:100%;color:var(--muted);margin-bottom:.2rem;padding:0;font-size:1rem}.routes label{cursor:pointer}.routes input{opacity:0;width:1px;height:1px;position:absolute}.routes label span{font-family:var(--display);color:var(--muted);align-items:center;gap:.5rem;padding:.3rem .1rem;font-size:1.15rem;font-weight:600;display:inline-flex}.routes input:checked+span{color:var(--paint);text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:.35em;text-decoration-thickness:3px}.routes input:focus-visible+span{outline:3px solid var(--yellow);outline-offset:3px}.routes label:hover span{color:var(--paint)}.post-note{width:min(100%,29rem);color:var(--muted);margin-top:.5rem;font-size:1rem}.routes--inline{display:none}.trail{min-width:0;padding-left:4.25rem;position:relative}.trail:before{content:"";background:repeating-linear-gradient(180deg, var(--route) 0 2.2rem, transparent 2.2rem 3.4rem);transform-origin:top;width:.4rem;transition:background .3s;position:absolute;top:1.25rem;bottom:0;left:1.05rem}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.trail:before{animation:linear both walk view();animation-range:entry exit 30%}}}@keyframes walk{0%{transform:scaleY(.08)}to{transform:scaleY(1)}}.stops{gap:var(--step);margin:0;padding:0;list-style:none;display:grid}.stop h3{align-items:flex-start;gap:1.1rem;margin-left:-4.25rem;font-size:clamp(2rem,3.5vw,3.4rem);display:flex}.stop h3 .marker{margin-top:.3rem}.meta{color:var(--muted);margin-top:1rem;font-size:1rem}.lede{max-width:62ch;margin-top:1.1rem;font-size:clamp(1.15rem,1.4vw,1.3rem);line-height:1.55}.facts{gap:.55rem;max-width:40rem;margin:1.8rem 0 0;display:grid}.facts>div{grid-template-columns:1fr auto;align-items:baseline;gap:1.5rem;display:grid}.facts dt{color:var(--muted)}.facts dd{font-family:var(--display);color:var(--text);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:1.35rem;font-weight:600;line-height:1.15}.facts>div:first-child dt{color:var(--text)}.facts>div:first-child dd{color:var(--paint);font-weight:700}.stop[data-first] .facts>div:first-child dd{font-size:2rem}.stretch{max-width:46rem;margin-top:1.5rem}.stretch summary{cursor:pointer;font-family:var(--display);color:var(--paint);align-items:center;gap:.6rem;font-size:1.15rem;font-weight:600;list-style:none;display:inline-flex}.stretch summary::-webkit-details-marker{display:none}.stretch summary:before{content:"";border-right:3px solid var(--yellow);border-bottom:3px solid var(--yellow);width:.7rem;height:.7rem;transition:transform .3s cubic-bezier(.16,1,.3,1);transform:rotate(-45deg)}.stretch[open] summary:before{transform:rotate(45deg)}.stretch summary:hover{color:var(--yellow)}.case{gap:1.4rem;margin:1.4rem 0 0;display:grid}.case dt{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.95rem;font-weight:600}.case dd{max-width:65ch;margin:.35rem 0 0}.paths{gap:.75rem;margin:.4rem 0 0;padding:0;list-style:none;display:grid}.path{grid-template-columns:2.4rem 1fr;align-items:start;gap:.9rem;display:grid}.path:before{content:"";height:.3rem;margin-top:.8rem}.path--chosen:before{background:var(--paint)}.path--rejected{color:var(--muted)}.path--rejected:before{background:repeating-linear-gradient(90deg, var(--muted) 0 .45rem, transparent .45rem .8rem)}.sides-heading{margin:var(--step) 0 1.5rem -4.25rem;padding-left:4.25rem;font-size:clamp(1.6rem,2.4vw,2.2rem)}.sides{gap:1.1rem;max-width:46rem;margin:0;padding:0;list-style:none;display:grid}.stop--side{grid-template-columns:.95rem 1fr;align-items:start;gap:1rem;margin-left:-1.9rem;display:grid;position:relative}.stop--side:before{content:"";background:var(--route);width:.9rem;height:.25rem;position:absolute;top:.78rem;left:-.9rem}.trail-end{margin:var(--step) 0 0 -4.25rem;font-family:var(--display);color:var(--paint);align-items:center;gap:1.1rem;font-size:1.35rem;font-weight:600;display:flex}.stop--side .marker{margin-top:.4rem}.trailhead:has(input[value=career]:checked){--route:var(--red)}.trailhead:has(input[value=collab]:checked){--route:var(--blue)}.stop>article,.stop--side{transition:opacity .4s cubic-bezier(.16,1,.3,1)}.trailhead:has(input[value=career]:checked) .stop:not([data-routes~=career])>article,.trailhead:has(input[value=career]:checked) .stop--side:not([data-routes~=career]),.trailhead:has(input[value=collab]:checked) .stop:not([data-routes~=collab])>article,.trailhead:has(input[value=collab]:checked) .stop--side:not([data-routes~=collab]){opacity:.25}@media (prefers-reduced-motion:reduce){.stop>article,.stop--side{transition:none}}.section{padding:var(--step) var(--gutter)}.section>h2{align-items:center;gap:1.1rem;font-size:clamp(2.4rem,5vw,4.5rem);display:flex}.section-intro{max-width:58ch;margin-top:1.4rem;font-size:1.25rem}.section h3{margin-bottom:1rem;font-size:1.6rem}.cv{background:var(--rock-2)}.cv-grid{grid-template-columns:5fr 7fr;gap:clamp(2rem,6vw,7rem);margin-top:2.5rem;display:grid}.story{align-content:start;gap:1.1rem;max-width:52ch;font-size:1.2rem;display:grid}.cv-links{font-family:var(--display);flex-wrap:wrap;gap:.5rem 1.75rem;margin-top:.6rem;font-size:1.25rem;font-weight:600;display:flex}.pending{color:var(--muted);font-weight:500}.jobs-list{gap:1.6rem;margin:0;padding:0;list-style:none;display:grid}.jobs-list li{grid-template-columns:11rem 1fr;column-gap:1.5rem;display:grid}.jobs-list .period{font-variant-numeric:tabular-nums;color:var(--muted);grid-row:span 3;padding-top:.15rem}.jobs-list strong{font-family:var(--display);font-size:1.5rem;font-weight:700;line-height:1.15}.jobs-list .org{color:var(--muted)}.jobs-list .note{max-width:55ch;margin-top:.3rem}.cv-lower{margin-top:var(--step);grid-template-columns:7fr 5fr;gap:clamp(2rem,6vw,7rem);display:grid}.skills{gap:1rem;margin:0;display:grid}.skills>div{grid-template-columns:13rem 1fr;gap:1.5rem;display:grid}.skills dt{font-family:var(--display);color:var(--paint);font-size:1.2rem;font-weight:600}.skills dd{color:var(--text);margin:0}.cv-side h3+ul{margin-bottom:2.5rem}.plain{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.offers{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.75rem clamp(2rem,6vw,6rem);max-width:72rem;margin:3rem 0 0;display:grid}.offers dt{font-family:var(--display);color:var(--paint);font-size:clamp(1.5rem,2.2vw,2rem);font-weight:700;line-height:1.1}.offers dd{max-width:46ch;color:var(--text);margin:.6rem 0 0}.offers dd.proof{font-family:var(--display);margin-top:.8rem;font-size:1.1rem;font-weight:600}.offers dd.proof a{color:var(--blue-text);text-decoration-color:var(--blue)}.offers dd.proof a:hover{color:var(--paint)}.contact{padding:0 var(--gutter) var(--step)}.contact-plate{background:var(--paint);color:var(--ink);max-width:56rem;margin-left:auto;margin-right:clamp(0rem,8vw,8rem);padding:clamp(2rem,5vw,4rem)}.contact-plate h2{font-size:clamp(2.6rem,5vw,4.5rem)}.contact-plate p{color:#2a2e2b;margin-top:.9rem;font-size:1.2rem}.contact-links{gap:1rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.contact-links li{grid-template-columns:7rem 1fr;align-items:baseline;gap:1rem;display:grid}.contact-links .label{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:.95rem;font-weight:600}.contact-links a{font-family:var(--display);text-decoration-color:var(--red);overflow-wrap:anywhere;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:700}.contact-links a:hover{text-decoration-color:var(--ink)}.contact-plate :focus-visible{outline-color:var(--ink)}.colophon{padding:0 var(--gutter) 3rem;max-width:52rem;color:var(--muted);font-size:1rem}.colophon h2{color:var(--text);margin-bottom:.6rem;font-size:1.35rem}.colophon p+p{margin-top:.6rem}.foot{padding:1.5rem var(--gutter) 2rem;color:var(--muted);justify-content:space-between;gap:1rem;font-size:.95rem;display:flex}@media (width<=960px){.trailhead{grid-template-columns:1fr;row-gap:1.5rem}.post{position:relative;top:0}.cv-grid,.cv-lower,.offers{grid-template-columns:1fr}.contact-plate{margin-right:0}.routes--post,.post-note{display:none}.routes--inline{margin:2.5rem 0 0;display:flex}}@media (width<=640px){.top{padding-top:.9rem;padding-bottom:.4rem;position:static}.brand{display:none}.top nav{gap:.3rem 1.2rem}html{scroll-padding-top:1rem}.trail{padding-left:2.75rem}.trail:before{left:.55rem}.stop h3{gap:.75rem;margin-left:-2.75rem}.marker--lead{width:1.6rem;height:1.6rem}.stop--side{margin-left:-1.2rem}.stop--side:before{width:.6rem;left:-.6rem}.trail-end{gap:.75rem;margin-left:-2.75rem;font-size:1.2rem}.sides-heading{margin-left:-2.75rem;padding-left:2.75rem}.facts>div{grid-template-columns:1fr;gap:.1rem}.facts dd{text-align:left}.jobs-list li{grid-template-columns:1fr}.jobs-list .period{grid-row:auto}.skills>div{grid-template-columns:1fr;gap:.2rem}.contact-links li{grid-template-columns:1fr;gap:.1rem}.arrow,.arrow--left{width:100%;margin-left:0}.plate-name{padding:1.1rem 1.2rem 1.2rem}.portrait{width:5.25rem;top:-.6rem;right:-.4rem}.role{font-size:1rem}.arrow{min-height:4.4rem}.sign{gap:.6rem;padding-bottom:1.25rem}.arrow,.arrow--left{min-height:4rem}.arrow .marker{width:1.4rem;height:1.4rem}.arrow-text strong{font-size:1.3rem}.arrow-text span{font-size:.9rem}.role{margin-top:.6rem;font-size:.98rem}}
