:root{color-scheme:dark;--bg:#0E0E10;--bg-alt:#131316;--surface:#16161A;--surface-alt:#1B1B20;--surface-glass:#16161A;--surface-glass-strong:#16161A;--text:#E2E2E5;--text-secondary:#9A9AA2;--text-faint:#5E5E66;--line:rgba(226,226,229,0.10);--line-strong:rgba(226,226,229,0.22);--border:rgba(226,226,229,0.12);--accent:#7AA2F7;--accent-hover:#A3C0FF;--accent-soft:rgba(122,162,247,0.10);--mark-active-color:var(--accent);--muted:#9A9AA2;--focus:#7AA2F7;--timeline-surface-rgb:14,14,16;--landing-bg-progress:0;--tick-color:rgba(226,226,229,0.08);--tick-primary:rgba(226,226,229,0.18);--mark-major:rgba(226,226,229,0.66);--mark-minor:rgba(226,226,229,0.30);--mark-active:var(--mark-active-color);--sheet-bg:#131316;--sheet-border:rgba(226,226,229,0.14);--sheet-shadow:transparent;--rail-bg:#0E0E10;--rail-border:rgba(226,226,229,0.12);--overlay-close-bg:#16161A;--chip-bg:transparent;--step-bg:#16161A;--tooltip-bg:#16161A;--font-display:var(--font-body);--font-body:var(--font-jetbrains-mono),"SF Mono","Menlo","Consolas",monospace;--font-narrative:var(--font-body);--radius:0px;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-snap:cubic-bezier(0.2,0,0,1);--s1:0.25rem;--s2:0.5rem;--s3:0.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--s20:5rem;--s24:6rem}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font-body);font-weight:430;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}.site-shell{min-height:100svh;position:relative}.teaser-page{min-height:100svh;display:grid;align-items:center;padding:clamp(1.5rem,4.2vw,4rem)}.teaser{width:min(920px,100%);margin:0 auto;display:grid;grid-gap:clamp(1.5rem,3vw,2.25rem);gap:clamp(1.5rem,3vw,2.25rem);position:relative;padding:clamp(1.25rem,2.6vw,2.5rem) 0;animation:teaser-enter .7s var(--ease-out) both}.teaser:after,.teaser:before{content:"";position:absolute;left:0;right:0;height:1px;background:var(--line);-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);pointer-events:none;animation:teaser-line-draw .88s var(--ease-out) .14s forwards}.teaser:before{top:0}.teaser:after{bottom:0;animation-delay:.24s}.teaser__intro{display:grid;grid-gap:clamp(.5rem,1.2vw,.85rem);gap:clamp(.5rem,1.2vw,.85rem)}.teaser__kicker{margin:0;display:inline-flex;align-items:center;gap:.72ch;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:var(--text-faint);font-weight:500;line-height:1.4;font-family:var(--font-body)}.teaser__kicker:before{content:"//";color:var(--accent);opacity:.78;font-weight:600;letter-spacing:-.08em}.teaser__title{margin:0;display:inline-flex;align-items:baseline;gap:.05em;font-family:var(--font-display);font-weight:500;font-size:clamp(2.4rem,8vw,6.8rem);letter-spacing:-.02em;line-height:.95}.teaser__name{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;animation:reveal-name 1s steps(18) .2s forwards}.landing-stage .teaser__name{-webkit-clip-path:inset(0 calc(100% - var(--name-clip, 100%)) 0 0);clip-path:inset(0 calc(100% - var(--name-clip, 100%)) 0 0)}.teaser__period{display:inline-block;color:var(--accent);transform-origin:55% 75%;animation:punctuation-drift 3.3s ease-in-out 1s infinite;translate:var(--period-drift,0) 0;opacity:var(--period-opacity,1);will-change:translate,opacity}.teaser__summary{width:min(68ch,100%);display:grid;grid-gap:.75rem;gap:.75rem}.teaser__lede{text-wrap:balance;margin:0;width:100%;font-size:clamp(.92rem,1.4vw,1.06rem);line-height:1.6;font-family:var(--font-body);font-weight:430;color:var(--text-secondary)}.teaser__status{margin:.25rem 0 0;display:inline-flex;align-items:baseline;gap:.25rem;font-family:var(--font-body);font-size:clamp(.72rem,1.1vw,.82rem);line-height:1.2;letter-spacing:.11em;text-transform:uppercase;color:var(--text-faint)}.teaser__statusText{display:inline-block;overflow:hidden;white-space:nowrap;max-width:0;animation:status-type 1.4s steps(26) .85s forwards}.teaser__cursor{display:inline-block;line-height:1;transform:translateY(-.04em);color:var(--accent);animation:cursor-blink .95s step-end infinite}.teaser__actions{width:min(48rem,100%);display:grid;grid-gap:1rem;gap:1rem}.teaser__signals{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem .75rem;font-size:clamp(.82rem,1.05vw,.92rem);color:var(--text-secondary);font-family:var(--font-body)}.teaser__signals li{border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .75rem;background:var(--surface-glass);position:relative}.teaser__signals li:after{content:"";position:absolute;inset:-1px;border:1px solid var(--accent);border-radius:var(--radius);pointer-events:none;-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);transition:-webkit-clip-path .28s var(--ease-out);transition:clip-path .28s var(--ease-out);transition:clip-path .28s var(--ease-out),-webkit-clip-path .28s var(--ease-out)}@media (any-pointer:fine){.teaser__signals li:hover:after{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}.teaser__reach{width:100%;display:grid;grid-gap:.875rem;gap:.875rem}.teaser__contactBlock{display:grid;grid-gap:.5rem;gap:.5rem}.teaser__contact{margin:0;font-size:clamp(.88rem,1.05vw,.96rem);color:var(--text-secondary)}.teaser__link{color:var(--accent);text-decoration:none;position:relative;touch-action:manipulation;transition:color .18s var(--ease-out);font-weight:500}.teaser__link:after,.teaser__link:before{content:"";position:absolute;inset-inline:-.02em;pointer-events:none}.teaser__link:before{bottom:-.08em;height:1px;background:currentColor;opacity:.25}.teaser__link:after{bottom:-.11em;height:2px;background:currentColor;transform-origin:left center;transform:scaleX(0);opacity:0;transition:transform .22s var(--ease-out),opacity .18s var(--ease-out)}.teaser__link:visited{color:var(--text-secondary)}.teaser__link:visited:before{background:currentColor;opacity:.2}.teaser__link:visited:after{background:currentColor}.teaser__link:active:after{transform:scaleX(.9)}.teaser__link:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}.teaser__socialNav{margin-top:.25rem}.teaser__socialList{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));grid-gap:.75rem;gap:.75rem}.teaser__socialLink{display:grid;grid-template-columns:auto 1fr;grid-column-gap:.75rem;column-gap:.75rem;grid-row-gap:.14rem;row-gap:.14rem;align-items:center;padding:.85rem .9rem;min-height:3.6rem;border:1px solid var(--line);border-radius:var(--radius);--logo-tilt:0deg;--logo-scale:1.08;--logo-lift:-1px;background:var(--surface-glass);color:var(--text);text-decoration:none;touch-action:manipulation;position:relative;will-change:transform;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease}.teaser__socialLink:after{content:"";position:absolute;inset:-1px;border:1px solid var(--accent);border-radius:var(--radius);pointer-events:none;-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);transition:-webkit-clip-path .28s var(--ease-out);transition:clip-path .28s var(--ease-out);transition:clip-path .28s var(--ease-out),-webkit-clip-path .28s var(--ease-out)}.teaser__socialLink:focus-visible{outline:2px solid var(--focus);outline-offset:3px;background:var(--surface-glass-strong);box-shadow:0 8px 20px -18px var(--sheet-shadow)}.teaser__socialLink:focus-visible:after{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}.teaser__socialIcon{display:inline-grid;place-items:center;width:1.24rem;height:1.24rem;flex-shrink:0;grid-row:1/span 2;align-self:center;color:var(--text);transform-origin:50% 50%;position:relative;z-index:1;transition:transform .2s ease,color .2s ease}.teaser__socialIcon svg{display:block;width:100%;height:100%}.teaser__socialIcon .teaser__logoStroke{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.teaser__socialIcon .teaser__logoDot{transform-origin:center}.teaser__socialLabel{display:block;grid-column:2;font-size:.92rem;font-weight:500;line-height:1.18;font-family:var(--font-display);color:var(--text);position:relative;z-index:1}.teaser__socialHandle{grid-column:2;color:var(--text-faint);font-family:var(--font-body);font-size:.68rem;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;transition:color .16s ease;position:relative;z-index:1}.teaser__socialLink:focus-visible .teaser__socialHandle{color:var(--text-secondary)}.teaser__socialLink[data-platform=linkedin]{--logo-tilt:-2deg;--logo-scale:1.08;--logo-lift:-1px}.teaser__socialLink[data-platform=threads]{--logo-tilt:4deg;--logo-scale:1.12;--logo-lift:-1.5px}.teaser__socialLink[data-platform=x]{--logo-tilt:-4deg;--logo-scale:1.12;--logo-lift:-1.5px}.teaser__socialLink:focus-visible .teaser__socialIcon{transform:translateY(var(--logo-lift)) scale(var(--logo-scale)) rotate(var(--logo-tilt))}.teaser__socialLink:focus-visible .teaser__logoStroke{animation:social-logo-draw .56s steps(24) both}.teaser__socialLink:focus-visible .teaser__logoDot{animation:social-logo-dot .24s ease-out .14s both}@media (any-pointer:fine){.teaser__link:hover:after{transform:scaleX(1);opacity:1}.teaser__socialLink:hover{transform:translateY(-1px);background:var(--surface-glass-strong);box-shadow:0 8px 20px -18px var(--sheet-shadow)}.teaser__socialLink:hover:after{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}.teaser__socialLink:hover .teaser__socialIcon{transform:translateY(var(--logo-lift)) scale(var(--logo-scale)) rotate(var(--logo-tilt))}.teaser__socialLink:hover .teaser__socialHandle{color:var(--text-secondary)}.teaser__socialLink:hover .teaser__logoStroke{animation:social-logo-draw .56s steps(24) both}.teaser__socialLink:hover .teaser__logoDot{animation:social-logo-dot .24s ease-out .14s both}}@keyframes teaser-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-name{to{max-width:20ch}}@keyframes teaser-line-draw{to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes status-type{to{max-width:31ch}}@keyframes punctuation-drift{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,.08em,0)}}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes social-logo-draw{0%{stroke-dasharray:100;stroke-dashoffset:100;opacity:.2}60%{opacity:1}to{stroke-dasharray:100;stroke-dashoffset:0;opacity:1}}@keyframes social-logo-dot{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.site-rail{position:fixed;left:.65rem;top:50%;transform:translateY(-50%);z-index:50}.site-rail__panel{width:2.9rem;border:1px solid var(--rail-border);border-radius:var(--radius);background:var(--rail-bg);box-shadow:0 18px 40px -36px var(--sheet-shadow);overflow:hidden;transition:width .22s var(--ease-out),border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.site-rail__panel:is(:hover,:focus-within){width:12.5rem;border-color:var(--line-strong);box-shadow:0 20px 42px -30px var(--sheet-shadow)}.site-rail__hint{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;width:2.9rem;font-family:var(--font-body);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);pointer-events:none}.site-rail__list{list-style:none;margin:0;padding:0 .5rem .5rem;display:grid;grid-gap:.5rem;gap:.5rem}.site-rail__link{display:flex;align-items:center;min-height:2.75rem;padding:0 .75rem;border-radius:var(--radius);color:var(--text);text-decoration:none;font-size:.84rem;font-family:var(--font-body);letter-spacing:.04em;white-space:nowrap;opacity:0;transform:translateX(-8px);transition:opacity .18s var(--ease-out),transform .2s var(--ease-out),background-color .16s var(--ease-out)}.site-rail__panel:is(:hover,:focus-within) .site-rail__link{opacity:1;transform:translateX(0)}.site-rail__link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.site-rail__link[aria-current=page]{font-weight:600}@media (any-pointer:fine){.site-rail__link:hover{background:var(--accent-soft)}}.site-rail__link[aria-current=page]{background:var(--accent-soft)}.landing-page{min-height:240svh;position:relative}.landing-anchor{position:absolute;left:0;width:1px;height:1px}.landing-anchor--hero{top:0}.landing-anchor--timeline{top:132svh}.landing-scene{position:relative;min-height:240svh;isolation:isolate;perspective:1400px}.landing-stage{position:-webkit-sticky;position:sticky;top:0;height:100svh;overflow:clip;--scene-progress:0;--hero-scale:1;--hero-opacity:1;--hero-z:0px;--timeline-scale:0.76;--timeline-opacity:0.08;--timeline-z:-260px;--timeline-overview-filter:blur(10px);--scene-blur:0px;--period-drift:0px;--period-opacity:1;--name-clip:100%;--tl-title-clip:0%;--tl-period-drift:-60px;--tl-period-opacity:0}.landing-scroll-hint{position:absolute;left:50%;bottom:max(1.1rem,env(safe-area-inset-bottom));transform:translate3d(-50%,calc(var(--scene-progress) * 18px),0);display:grid;justify-items:center;grid-gap:.25rem;gap:.25rem;opacity:clamp(0,calc((.22 - var(--scene-progress)) * 8),1);pointer-events:none;z-index:4;will-change:transform,opacity}.landing-scroll-hint__label{font-family:var(--font-body);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.landing-scroll-hint__chevron{width:.72rem;height:.72rem;border-right:1.5px solid var(--text-faint);border-bottom:1.5px solid var(--text-faint);transform:translateZ(0) rotate(45deg);animation:landing-scroll-chevron 1.3s var(--ease-out) infinite;will-change:transform,opacity}@keyframes landing-scroll-chevron{0%{transform:translate3d(0,-1px,0) rotate(45deg);opacity:.38}28%{transform:translate3d(0,7px,0) rotate(45deg);opacity:1}44%{transform:translate3d(0,9px,0) rotate(45deg);opacity:.92}to{transform:translate3d(0,-1px,0) rotate(45deg);opacity:.38}}.landing-layer{position:absolute;inset:0;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);transform-style:preserve-3d}.landing-layer__inner{width:min(74rem,100%)}.landing-layer--hero{opacity:var(--hero-opacity);filter:blur(var(--scene-blur));transform:translateZ(var(--hero-z)) scale(var(--hero-scale));transform-origin:50% 44%;will-change:transform,opacity,filter}.landing-layer--hero .landing-hero{width:min(920px,100%)}.landing-layer--timeline{opacity:var(--timeline-opacity);transform:translateZ(var(--timeline-z)) scale(var(--timeline-scale));transform-origin:50% 58%;pointer-events:none;will-change:transform,opacity}.landing-layer--timeline.is-interactive{pointer-events:auto}.landing-timeline{display:grid;grid-gap:clamp(.75rem,1.8vw,1.25rem);gap:clamp(.75rem,1.8vw,1.25rem);pointer-events:none}.landing-timeline.is-interactive{pointer-events:auto}.landing-timeline__header{width:min(72rem,100%);margin:0 auto;display:grid;grid-gap:.5rem;gap:.5rem;text-align:center;transition:opacity .26s var(--ease-out),transform .3s var(--ease-out),filter .3s var(--ease-out);will-change:opacity,transform,filter}.landing-timeline.is-zoomed .landing-timeline__header{opacity:0;filter:blur(8px);transform:translate3d(0,-8px,0) scale(.985);pointer-events:none}.landing-timeline__kicker{margin:0;font-family:var(--font-body);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.landing-timeline__title{margin:0;font-family:var(--font-display);font-size:clamp(1.2rem,2.6vw,2rem);font-weight:480;line-height:1.1;letter-spacing:-.01em;display:flex;align-items:baseline;justify-content:center;gap:.02em}.landing-stage .landing-timeline__title-text{display:inline-block;-webkit-clip-path:inset(0 calc(100% - var(--tl-title-clip, 100%)) 0 0);clip-path:inset(0 calc(100% - var(--tl-title-clip, 100%)) 0 0)}.landing-timeline__title-period{display:inline-block;color:var(--accent);transform-origin:55% 75%;animation:punctuation-drift 3.3s ease-in-out infinite;translate:var(--tl-period-drift,0) 0;opacity:var(--tl-period-opacity,1);will-change:translate,opacity}.landing-page--reduced-motion{min-height:100svh;padding:clamp(1rem,3vw,2rem);display:grid;grid-gap:clamp(1rem,2.6vw,2rem);gap:clamp(1rem,2.6vw,2rem)}.landing-static{width:min(74rem,100%);margin:0 auto}.landing-static--hero .landing-hero{width:min(920px,100%)}.resume-page{min-height:100svh;padding:clamp(1.25rem,3vw,2.5rem) clamp(1.25rem,4vw,3.5rem) clamp(2rem,6vw,4rem) clamp(4rem,8vw,8rem);display:grid;grid-gap:clamp(1rem,2.6vw,2rem);gap:clamp(1rem,2.6vw,2rem)}.resume-page--landing{min-height:auto;padding:0;gap:0}.resume-page__intro{width:min(62rem,100%);display:grid;grid-gap:.75rem;gap:.75rem}.resume-page__kicker{margin:0;font-family:var(--font-body);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.resume-page__title{margin:0;font-family:var(--font-display);font-size:clamp(1.9rem,4.6vw,3.6rem);font-weight:500;line-height:1.04;letter-spacing:-.02em}.resume-page__lede{margin:0;width:min(70ch,100%);color:var(--text-secondary);font-size:clamp(.88rem,1.3vw,1rem);line-height:1.55}.resume-stage{width:min(74rem,100%);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-glass);padding:clamp(1rem,2.2vw,1.5rem);display:grid;grid-gap:1rem;gap:1rem;position:relative;animation:teaser-enter .38s var(--ease-out) both}.resume-stage--landing{width:min(74rem,100%);margin:0 auto;border:0;border-radius:0;background:transparent;padding:0;animation:none}.resume-stage.is-zoomed{border-color:var(--line-strong)}.resume-overview{position:relative;width:min(54rem,100%);margin:0 auto;aspect-ratio:1;overflow:visible}.resume-overview__frame{position:absolute;inset:0;overflow:hidden;transform-origin:50% 50%;will-change:transform;transition:transform .78s cubic-bezier(.18,.82,.2,1),filter .12s linear}.resume-overview__svg{width:100%;height:100%;display:block}.resume-overview__tick{stroke:var(--tick-color);stroke-width:1}.resume-overview__tick--primary{stroke:var(--tick-primary)}.resume-overview__mark{transition:stroke .18s var(--ease-out),opacity .22s var(--ease-out)}.resume-overview__mark--major{stroke:var(--mark-major);stroke-width:1.45}.resume-overview__mark--minor{stroke:var(--mark-minor);stroke-width:1.15}.resume-overview__mark.is-active{stroke:var(--mark-active)}.resume-overview__mark.is-muted{opacity:.24}.resume-overview__targets{position:absolute;inset:0}.resume-overview__hit{position:absolute;transform:translate(-50%,-50%);width:2.65rem;height:2.65rem;border:0;border-radius:999px;background:transparent;color:transparent;cursor:pointer}.resume-overview__hit:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;padding:8px;border-radius:var(--radius)}.resume-overview__hit:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.resume-overview__label{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;color:var(--text);display:grid;grid-gap:.25rem;gap:.25rem;cursor:pointer;font-family:var(--font-narrative);font-size:clamp(.7rem,.95vw,.88rem);line-height:1.18;transition:color .16s var(--ease-out),opacity .22s var(--ease-out),transform .22s var(--ease-out)}.resume-overview__label--minor{font-family:var(--font-body);font-style:normal;font-size:clamp(.66rem,.9vw,.82rem);letter-spacing:.02em;line-height:1.2}.resume-overview__label:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;padding:8px;border-radius:var(--radius)}.resume-overview__label>span:last-child{font-family:var(--font-body);font-size:.76em;letter-spacing:.04em}.resume-overview__label--minor>span:last-child{font-family:var(--font-body);font-size:.78em;letter-spacing:.05em;text-transform:uppercase}.resume-overview__label.is-left{text-align:right}.resume-overview__label.is-center{text-align:center}.resume-overview__label.is-right{text-align:left}.resume-overview__label.is-active{color:var(--mark-active);z-index:2}.landing-timeline:not(.is-zoomed) .resume-overview__label.is-active{animation:active-pulse 2.4s ease-in-out infinite}@keyframes active-pulse{0%,to{opacity:1}50%{opacity:.55}}.resume-overview__label.is-hidden{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.94)}.resume-overview__label:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.resume-overview__tooltip{position:absolute;transform:translate(-50%,-50%);padding:.5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--tooltip-bg);display:grid;grid-gap:.25rem;gap:.25rem;pointer-events:none;text-align:center}.resume-overview__tooltip p{margin:0;font-size:.7rem;line-height:1.2;font-family:var(--font-body);letter-spacing:.02em}.resume-overview__tooltip p:first-child{font-weight:600}.resume-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;padding:clamp(.5rem,1.8vw,1rem)}.resume-overlay__sheet{pointer-events:none;width:min(46rem,100%);max-height:min(66%,35rem);border:1px solid var(--sheet-border);border-radius:var(--radius);background:var(--sheet-bg);box-shadow:0 22px 44px -34px var(--sheet-shadow);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;opacity:0;transform:translateY(26px) scale(.97);transition:opacity .24s var(--ease-out),transform .46s cubic-bezier(.2,.75,.22,1)}.resume-overlay.is-open .resume-overlay__sheet{pointer-events:auto;opacity:1;transform:translateY(0) scale(1)}.resume-overlay__sheet:before{content:"";position:-webkit-sticky;position:sticky;top:0;display:block;width:100%;height:0;z-index:1;pointer-events:none}.resume-overlay__grabber{width:3.6rem;height:.24rem;border-radius:1px;background:var(--line-strong);margin:.5rem auto}.resume-overlay__head{padding:0 1rem .5rem;display:grid;grid-gap:.5rem;gap:.5rem}.resume-overlay__kicker{margin:0;font-family:var(--font-body);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.resume-overlay__title{margin:0;font-family:var(--font-narrative);font-size:clamp(1.05rem,2.2vw,1.4rem);font-weight:400;line-height:1.1}.resume-overlay__meta{margin:0;color:var(--text-secondary);font-size:.82rem;font-family:var(--font-body);letter-spacing:.02em}.resume-overlay__close{justify-self:start;border:1px solid var(--line);background:var(--overlay-close-bg);color:var(--text);border-radius:var(--radius);min-height:2.35rem;padding:.5rem .75rem;font-family:var(--font-body);font-size:.72rem;letter-spacing:.04em;cursor:pointer;position:relative;transition:background-color .16s var(--ease-out)}.resume-overlay__close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.resume-overlay__body{padding:0 1rem .75rem;color:var(--text);display:grid;grid-gap:.75rem;gap:.75rem}.resume-overlay__body p{margin:0;font-size:.88rem;line-height:1.58;color:var(--text-secondary);font-family:var(--font-body);font-weight:400}.resume-overlay__body h3{margin:.25rem 0 0;font-size:.78rem;font-family:var(--font-body);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.resume-overlay__body ul{margin:0;padding-left:1rem;display:grid;grid-gap:.5rem;gap:.5rem}.resume-overlay__body li{font-size:.86rem;line-height:1.55;color:var(--text-secondary);font-family:var(--font-body)}.resume-overlay__chips{display:flex;flex-wrap:wrap;gap:.5rem}.resume-overlay__chip{border:1px solid var(--line);background:var(--chip-bg);color:var(--text);border-radius:var(--radius);min-height:2.35rem;padding:.25rem .75rem;font-size:.78rem;font-family:var(--font-body);letter-spacing:.02em;cursor:pointer;position:relative;transition:background-color .16s var(--ease-out)}.resume-overlay__chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.resume-overlay__foot{border-top:1px solid var(--line);padding:.75rem 1rem 1rem;display:flex;gap:.5rem}.resume-overlay__step{border:1px solid var(--line);background:var(--step-bg);color:var(--text);border-radius:var(--radius);min-height:2.75rem;min-width:6.2rem;padding:.5rem .75rem;font-size:.84rem;font-family:var(--font-body);cursor:pointer;position:relative;transition:background-color .16s var(--ease-out)}.resume-overlay__step:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.resume-overlay__step:disabled{cursor:not-allowed;opacity:.52}.resume-overlay__chip:after,.resume-overlay__close:after,.resume-overlay__step:after{content:"";position:absolute;inset:-1px;border:1px solid var(--accent);border-radius:var(--radius);pointer-events:none;-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);transition:-webkit-clip-path .28s var(--ease-out);transition:clip-path .28s var(--ease-out);transition:clip-path .28s var(--ease-out),-webkit-clip-path .28s var(--ease-out)}@media (any-pointer:fine){.resume-overlay__chip:hover,.resume-overlay__close:hover,.resume-overlay__step:hover{background:var(--surface-glass-strong)}.resume-overlay__chip:hover:after,.resume-overlay__close:hover:after,.resume-overlay__step:hover:after{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@media (max-width:860px){.site-rail{top:max(.75rem,env(safe-area-inset-top));left:.75rem;right:auto;bottom:auto;transform:none}.site-rail__panel{width:auto;display:flex;align-items:center;gap:0;padding:.25rem}.site-rail__panel:is(:hover,:focus-within){width:auto}.site-rail__hint{display:none}.site-rail__list{padding:0;display:flex;gap:.25rem}.site-rail__link{min-height:2.5rem;padding:0 .85rem;opacity:1;transform:none}.landing-page--reduced-motion{padding-top:max(5rem,env(safe-area-inset-top) + 4.25rem)}.resume-page{padding:1rem 1rem 4.4rem}.resume-page--landing{padding:0}.resume-overview{width:100%}.resume-overview__label{font-size:.7rem;max-width:11ch}.resume-overlay{padding:.5rem}.resume-overlay__sheet{width:100%;max-height:72%}.resume-overlay__body,.resume-overlay__foot,.resume-overlay__head{padding-left:.75rem;padding-right:.75rem}.landing-scene{min-height:220svh}.landing-anchor--timeline{top:126svh}.landing-layer{padding:max(5rem,env(safe-area-inset-top) + 4.25rem) 1rem 4rem}.landing-scroll-hint{bottom:max(.75rem,env(safe-area-inset-bottom))}.landing-timeline__title{display:block;text-align:center;text-wrap:balance;font-size:clamp(1rem,5vw,1.35rem)}.landing-timeline__title-period{display:none}}@media (max-width:640px){.teaser{gap:1.25rem}.teaser__signals{gap:.5rem .5rem}.teaser__actions{gap:.875rem}.teaser__socialList{grid-template-columns:1fr}}@media (max-width:560px){.site-rail__hint{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.teaser__name,.teaser__statusText{max-width:none}.teaser__cursor{opacity:1}.teaser__socialIcon{transform:none}.teaser__logoDot,.teaser__logoStroke{animation:none!important}.landing-layer--hero,.landing-layer--timeline,.landing-scroll-hint__chevron,.landing-timeline,.landing-timeline__header,.resume-overlay__sheet,.resume-overview__frame,.resume-overview__label,.resume-overview__mark,.site-rail__link,.site-rail__panel{transition:none!important}}.writing{min-height:100svh;padding:var(--s24) var(--s6) var(--s24)}.post,.post-list,.writing__empty,.writing__header{max-width:68ch;margin-inline:auto}.post-list__date,.post__back,.post__date,.writing__kicker{font-size:.75rem;letter-spacing:.06em;color:var(--text-secondary)}.writing__kicker{margin:0 0 var(--s3);color:var(--accent)}.writing__title{margin:0 0 var(--s16);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:500;letter-spacing:-.02em}.writing__intro{margin:calc(var(--s12) * -1) 0 var(--s12)}.writing__empty,.writing__intro{color:var(--text-secondary)}.post-list{list-style:none;padding:0;border-top:1px solid var(--line)}.post-list__item{display:grid;grid-template-columns:9rem 1fr;grid-gap:var(--s6);gap:var(--s6);padding:var(--s6) 0;border-bottom:1px solid var(--line)}.post-list__date{padding-top:.2rem}.post-list__link{color:var(--text);font-size:1.05rem;font-weight:500;text-decoration:none}.post-list__link:hover{color:var(--accent)}.post-list__summary{margin:var(--s2) 0 0;color:var(--text-secondary);font-size:.9rem;line-height:1.6}.post-draft{margin-left:var(--s3);padding:.1rem .4rem;border:1px solid var(--line-strong);font-size:.65rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);vertical-align:middle}.post__header{margin-bottom:var(--s12)}.post__origin{margin:var(--s2) 0 0;font-size:.75rem;color:var(--text-secondary)}.post__origin a{color:var(--text-secondary);text-underline-offset:3px}.post__origin a:hover{color:var(--accent)}.post__back{display:inline-block;margin-bottom:var(--s10);text-decoration:none}.post__back:hover{color:var(--accent)}.post__title{margin:0 0 var(--s4);font-size:clamp(1.6rem,4vw,2.25rem);font-weight:500;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}:is(.post-list__link,.post__back,.prose a):focus-visible{outline:2px solid var(--focus);outline-offset:3px}.prose{max-width:65ch;font-size:1rem;font-weight:400;line-height:1.8;overflow-wrap:anywhere;color:var(--text)}.prose>*{margin:0 0 var(--s6)}.prose h2,.prose h3{margin-top:var(--s12);margin-bottom:var(--s4);font-weight:600;line-height:1.3}.prose h2{font-size:1.25rem}.prose h3{font-size:1.05rem;color:var(--text-secondary)}.prose h2:before{content:"## ";color:var(--accent)}.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.prose a:hover{color:var(--accent-hover)}.prose strong{font-weight:650}.prose blockquote{padding-left:var(--s5);border-left:2px solid var(--accent);color:var(--text-secondary)}.prose blockquote>:last-child{margin-bottom:0}.prose ol,.prose ul{padding-left:var(--s6)}.prose li+li{margin-top:var(--s2)}.prose li::marker{color:var(--text-secondary)}.prose code{padding:.1em .35em;background:var(--surface-alt);font-size:.9em}.prose pre{overflow-x:auto;overflow-wrap:normal;padding:var(--s4) var(--s5);border:1px solid var(--line);background:var(--surface);font-size:.875rem;line-height:1.6}.prose pre code{padding:0;background:none;font-size:inherit}.prose hr{border:0;border-top:1px solid var(--line);margin-block:var(--s12)}.prose img{display:block;max-width:100%;height:auto;margin-inline:auto;border:1px solid var(--line)}.prose p:has(>img:only-child)+p>em:only-child{display:block;margin-top:calc(var(--s4) * -1);font-size:.8rem;color:var(--text-secondary);text-align:center}@media (max-width:640px){.writing{padding:var(--s20) var(--s5) var(--s16)}.writing__title{margin-bottom:var(--s10)}.post-list__item{grid-template-columns:1fr;gap:var(--s2)}.prose{font-size:.95rem;line-height:1.75}}.teaser__name--ascii{max-width:none;animation:none;container-type:inline-size;width:min(100%,52rem)}.teaser__title:has(.teaser__name--ascii){display:flex;align-items:flex-end;width:100%}.teaser__title:has(.teaser__name--ascii) .teaser__period{font-size:.6em;margin-bottom:-.05em}.ascii-mark{--cell:min(11px,calc(100cqw / var(--ascii-cols)));margin:0;font-family:var(--font-body);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity .2s linear}@media (prefers-reduced-motion:no-preference){.ascii-mark:not([data-ready]){opacity:0}}.ascii-mark__row{display:flex;height:var(--cell)}.ascii-mark__cell{flex:none;width:var(--cell);height:var(--cell);font-size:calc(var(--cell) * 1.15);line-height:var(--cell);text-align:center;overflow:hidden}.ascii-mark__cell[data-on="1"]{background:currentColor;box-shadow:inset 0 0 0 .5px var(--bg)}.ascii-mark__row--top{color:#4F72C4}.ascii-mark__row--mid{color:var(--accent)}.ascii-mark__row--low{color:#B4CBFB}.ascii-mark--narrow{display:none}@media (max-width:640px){.ascii-mark--wide{display:none}.ascii-mark--narrow{display:block}.teaser__title:has(.teaser__name--ascii) .teaser__period{display:none}}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_4dc837{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_4dc837{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}