:root{--rail-width: 288px;--toolbar-height: 116px;--reading-offset: 0px;--page-padding: clamp(28px, 6vw, 96px);--paper: #f0eee8;--paper-strong: #e4e0d6;--ink: #151512;--muted: #66635b;--hairline: rgba(21, 21, 18, .24);--grid-line: rgba(21, 21, 18, .045);--intro-line: #151512;--grid-size: 56px;color:var(--ink);background:var(--paper);color-scheme:light;font-family:Avenir Next,Avenir,Helvetica Neue,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{--paper: #131411;--paper-strong: #1d1e1a;--ink: #efede5;--muted: #aaa69c;--hairline: rgba(239, 237, 229, .25);--grid-line: rgba(239, 237, 229, .04);--intro-line: #efede5;color-scheme:dark}*{box-sizing:border-box}html{overflow-y:scroll;background:var(--paper)}body{min-height:100vh;margin:0;overflow-x:clip;word-break:keep-all;background:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),radial-gradient(circle at 18% 12%,var(--paper-strong),transparent 42%),var(--paper);background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),auto,auto;transition:background-color .24s ease,color .24s ease}body.intro-active{overflow:hidden}button,a{color:inherit;font:inherit}button{padding:0;border:0;background:transparent;cursor:pointer}a{text-decoration-thickness:1px;text-underline-offset:.24em}button:focus-visible,a:focus-visible{outline:1px solid var(--ink);outline-offset:5px}.micro-label,.timeline-index,.timeline-period,.timeline-company,.intro-status{font-size:.8rem;font-weight:600;letter-spacing:.14em;line-height:1.5;text-transform:uppercase}.intro-overlay{position:fixed;z-index:100;inset:0;overflow:hidden;background:var(--paper);opacity:1;transition:opacity .32s ease}.intro-overlay[hidden],[data-intro=seen] .intro-overlay{display:none}.intro-overlay.is-complete{opacity:0;pointer-events:none}.intro-overlay canvas{position:absolute;inset:0}.intro-status{position:absolute;right:32px;bottom:28px;left:32px;display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.intro-status button{padding:8px 0;text-decoration:underline;text-underline-offset:.28em}.site-shell{min-height:100vh}.sidebar{position:fixed;z-index:20;top:0;right:0;bottom:0;display:flex;flex-direction:column;overflow-y:auto;width:var(--rail-width);padding:32px;border-left:1px solid var(--ink);background:color-mix(in srgb,var(--paper) 91%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.profile-block p{margin:0}.profile-block>p:last-child{margin-top:12px;color:var(--muted);font-size:.78rem;line-height:1.7}.profile-name{margin-top:24px!important;font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-size:1.6rem;letter-spacing:-.035em}.primary-links{display:grid;gap:4px;margin:28px 0}.experience-nav{margin:36px 0 auto}.experience-nav-title{margin-bottom:16px;color:var(--muted)}.reading-position{display:none}.experience-nav ol{display:grid;margin:0;padding:0;list-style:none}.experience-nav a{position:relative;display:flex;align-items:baseline;gap:14px;min-height:44px;padding:12px 0;color:var(--muted);font-size:.78rem;line-height:1.5;text-decoration:none;transition:color .18s ease}.experience-nav-index{flex-shrink:0;font-size:.65rem;font-variant-numeric:tabular-nums;letter-spacing:.08em}.experience-nav a:hover,.experience-nav a:focus-visible,.experience-nav a[aria-current=location]{color:var(--ink)}.experience-nav a[aria-current=location] .experience-nav-company{text-decoration:underline;text-underline-offset:.3em}.experience-nav a:before{position:absolute;top:21px;left:-32px;width:20px;height:1px;background:var(--ink);content:"";transform:scaleX(0);transform-origin:left;transition:transform .24s ease}.experience-nav a:hover:before,.experience-nav a:focus-visible:before,.experience-nav a[aria-current=location]:before{transform:scaleX(1)}.primary-links a{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--hairline);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.primary-links a:after{content:"↗";font-size:.9rem;transition:transform .18s ease}.primary-links a:hover:after{transform:translate(3px,-3px)}.utility-controls{display:grid;gap:14px;align-items:start;font-size:.7rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.utility-controls button{width:fit-content;text-align:left}.utility-controls button:hover,.locale-switch a:hover{text-decoration:underline;text-underline-offset:.28em}.locale-switch{display:flex;gap:8px}.locale-switch a{color:var(--muted);text-decoration:none}.locale-switch a[aria-current=page]{color:var(--ink);text-decoration:underline}.main-content{width:calc(100% - var(--rail-width))}.hero{display:grid;min-height:100svh;padding:40px var(--page-padding) 52px;grid-template-rows:1fr auto auto;gap:clamp(28px,5vh,72px)}.elastic-rail{position:fixed;z-index:22;top:0;width:40px;height:100%;overflow:visible;color:var(--ink);transform:translate(.5px);pointer-events:none}.has-elastic-rail .sidebar{border-left-color:transparent}.elastic-rail[hidden]{display:none}.hero>div{align-self:end}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-weight:400}h1{max-width:8ch;margin-bottom:24px;font-size:clamp(4.4rem,12vw,10rem);letter-spacing:-.075em;line-height:.78}.hero-role{margin:0;font-size:clamp(1rem,1.5vw,1.35rem);letter-spacing:.02em}.hero-summary{max-width:33rem;margin:0;font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-size:clamp(1.55rem,3vw,2.7rem);letter-spacing:-.025em;line-height:1.13}.scroll-link{display:flex;align-items:center;justify-content:space-between;width:min(100%,20rem);padding-top:16px;border-top:1px solid var(--ink);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.experience{padding:clamp(96px,14vw,180px) var(--page-padding) 160px;scroll-margin-top:calc(var(--reading-offset) + 24px)}.section-heading{display:grid;max-width:58rem;margin-bottom:clamp(64px,10vw,124px);grid-template-columns:minmax(120px,.45fr) minmax(280px,1fr);column-gap:40px}.section-heading .micro-label{margin:10px 0 0;color:var(--muted)}.section-heading h2{margin:0;font-size:clamp(2.5rem,4vw,4.25rem);letter-spacing:-.065em;line-height:.88}.timeline-item{position:relative;display:grid;scroll-margin-top:max(33.333vh,calc(var(--reading-offset) + 24px));margin-right:calc(var(--page-padding) * -1);padding:48px var(--page-padding) 64px 0;border-top:1px solid var(--hairline);grid-template-columns:48px minmax(120px,.45fr) minmax(280px,1fr);column-gap:32px}.timeline-item:after{position:absolute;top:-1px;right:0;width:100%;height:2px;background:var(--ink);content:"";transform:scaleX(0);transform-origin:right;transition:transform .42s cubic-bezier(.22,1,.36,1)}.timeline-thread{position:absolute;top:-17px;right:0;display:none;width:100%;height:32px;overflow:visible;fill:none;stroke:var(--ink);stroke-width:2px;transform:scaleX(0);transform-origin:right;transition:transform .42s cubic-bezier(.22,1,.36,1);pointer-events:none}.timeline-thread path{vector-effect:non-scaling-stroke}.has-elastic-rail .timeline-thread{display:block}.has-elastic-rail .timeline-item:after{opacity:0}.timeline-anchor{position:absolute;z-index:23;top:-23px;right:-22px;display:grid;width:44px;height:44px;place-items:center;touch-action:manipulation}.timeline-knot{width:8px;height:8px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);pointer-events:none;transform:translate(var(--knot-x, 0px),var(--knot-y, 0px));transition:background-color .18s ease,width .18s ease,height .18s ease,transform .18s ease}.timeline-item.is-current:after,.timeline-item.is-current .timeline-thread{transform:scaleX(1)}.timeline-item.is-current .timeline-knot{background:var(--ink)}.timeline-item.is-current .timeline-knot,.timeline-anchor:hover .timeline-knot,.timeline-anchor:focus-visible .timeline-knot{width:11px;height:11px}.timeline-anchor:focus-visible{outline-offset:-6px}.timeline-item:focus-visible{outline:none}.timeline-item:focus-visible .timeline-company{outline:1px dashed var(--muted);outline-offset:5px}.timeline-index,.timeline-period,.timeline-company{margin:0}.timeline-index,.timeline-period{color:var(--muted)}.timeline-copy h3{margin:18px 0 22px;font-size:clamp(1.5rem,2vw,2.25rem);letter-spacing:-.045em;line-height:.98}.timeline-description{max-width:38rem;margin-bottom:28px;color:var(--muted);font-size:.95rem;line-height:1.75}.skill-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.skill-list li{padding:7px 10px 6px;border:1px solid var(--hairline);border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}[data-reveal]{opacity:0;transform:translate(56px);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1)}[data-reveal].is-visible{opacity:1;transform:translate(0)}@media(max-width:899px){.sidebar{position:sticky;top:0;bottom:auto;display:grid;overflow:visible;width:100%;min-height:var(--toolbar-height);padding:14px 20px 12px;border-bottom:1px solid var(--ink);border-left:0;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px}.profile-block .micro-label,.profile-block>p:last-child{display:none}.profile-name{margin:0!important;font-size:1.2rem}.primary-links{display:flex;align-items:center;gap:20px;margin:0;grid-column:1;grid-row:2}.experience-nav{display:flex;align-items:center;gap:12px;min-width:0;margin:0 -20px -12px;padding:0 20px;border-top:1px solid var(--hairline);grid-column:1 / -1;grid-row:3}.experience-nav-title{display:none}.reading-position{display:block;flex:1;min-width:0;margin:0;overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.experience-nav ol{grid-template-columns:repeat(4,44px)}.experience-nav a{align-items:center;justify-content:center;padding:12px 0}.experience-nav a:before{top:auto;bottom:-1px;left:0;width:100%;height:2px}.experience-nav a:focus-visible{outline-offset:-4px}.experience-nav-company{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.primary-links a{padding:0;border:0;font-size:.64rem}.primary-links a:after{display:none}.utility-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;grid-row:1 / span 2;grid-column:2}.main-content{width:100%}.hero{min-height:calc(100svh - var(--reading-offset));padding-top:28px}h1{font-size:clamp(4rem,18vw,8rem)}.experience{padding-bottom:96px}.section-heading{display:block}.section-heading .micro-label{margin-bottom:24px}.timeline-item{margin-right:0;padding:36px 0 52px;grid-template-columns:34px minmax(0,1fr);column-gap:18px}.timeline-anchor{z-index:1;right:auto;left:-22px}.timeline-item:after{transform-origin:left}.timeline-index{grid-row:1 / span 2}.timeline-period,.timeline-copy{grid-column:2}.timeline-copy{margin-top:28px}}@media(max-width:560px){:root{--toolbar-height: 108px}.sidebar{gap:10px}.primary-links{gap:14px}.utility-controls{gap:10px}.utility-controls>button{position:relative;width:28px;height:28px;overflow:hidden;color:transparent;white-space:nowrap}.utility-controls>button:before{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink);content:"◐";font-size:1rem}.utility-controls>button[data-replay-intro]:before{content:"↺";font-size:1.2rem}.hero,.experience{padding-right:22px;padding-left:22px}.hero-summary{font-size:1.45rem}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}.timeline-knot{transform:none}}
