:root{--bg:#f4f5f1;--bg-soft:#e8eae4;--surface:#ffffff;--surface-2:#eceee8;--surface-muted:rgba(18,24,29,0.03);--line:rgba(18,28,36,0.1);--line-strong:rgba(18,28,36,0.18);--text:#141b20;--text-soft:#3d474e;--muted:#5c6870;--muted-2:#7a868e;--ink:#0e1419;--signal:#3f6f00;--signal-fill:#c7ff21;--signal-hover:#d4ff54;--signal-soft:rgba(63,111,0,0.12);--blue:#1d6fd4;--header-bg:rgba(244,245,241,0.9);--shadow:0 18px 44px rgba(16,28,36,0.1);--logo-filter:grayscale(1) brightness(0);--header-height:76px;--page-gutter:clamp(22px,3.5vw,64px);color-scheme:light}[data-theme=dark]{--bg:#070b10;--bg-soft:#0b1118;--surface:#101821;--surface-2:#151f29;--surface-muted:rgba(255,255,255,0.02);--line:rgba(205,221,232,0.15);--line-strong:rgba(205,221,232,0.28);--text:#f2f6f7;--text-soft:#dfe5e7;--muted:#929da6;--muted-2:#68747e;--ink:#070b10;--signal:#c7ff21;--signal-fill:#c7ff21;--signal-hover:#d4ff54;--signal-soft:rgba(199,255,33,0.18);--blue:#5aa7ff;--header-bg:rgba(7,11,16,0.94);--shadow:0 22px 50px rgba(0,0,0,0.38);--logo-filter:grayscale(1) brightness(0) invert(1);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{min-height:100%;background:var(--bg)}body{margin:0;overflow-x:hidden;color:var(--text);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a,button,h1,h2,h3,h4,h5,h6,p{font-family:inherit}a,button{-webkit-tap-highlight-color:transparent}a{text-decoration:none}a,button{color:inherit}img{display:block;max-width:100%}::selection{background:var(--signal-fill);color:var(--ink)}:focus-visible{outline:2px solid var(--signal);outline-offset:4px}#app-boot-loader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);z-index:9999}.app-boot-spinner{width:44px;height:44px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--signal-fill);animation:appBootSpin .8s linear infinite}@keyframes appBootSpin{to{transform:rotate(1turn)}}.site-shell{min-height:100vh;background:var(--bg)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(250px,1fr);align-items:center;min-height:var(--header-height);padding:0 var(--page-gutter);border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:inline-flex;width:max-content;flex-direction:column;align-items:flex-start;gap:1px}.brand-logo{width:94px;height:auto;filter:var(--logo-filter)}.brand-signature{padding-left:2px;color:var(--text-soft);font-size:8px;font-weight:600;letter-spacing:.25em;line-height:1;text-transform:uppercase}.site-nav{align-self:stretch;display:flex;align-items:stretch;gap:34px}.site-nav-link{position:relative;display:inline-flex;align-items:center;color:var(--muted);font-size:14px;transition:color .18s ease}.site-nav-link:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--signal);content:"";opacity:0;transform:scaleX(0);transition:opacity .18s ease,transform .18s ease}.site-nav-link.is-active,.site-nav-link:hover{color:var(--signal)}.site-nav-link.is-active:after{opacity:1;transform:scaleX(1)}.header-actions{justify-self:end;display:inline-flex;align-items:center;gap:10px}.header-resume,.theme-toggle{display:inline-flex;min-height:36px;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:7px;background:transparent;color:var(--text-soft);transition:border-color .18s ease,color .18s ease,background-color .18s ease}.theme-toggle{width:36px;padding:0;cursor:pointer;font-size:15px}.header-resume{gap:9px;padding:0 14px;font-size:11px;font-weight:600}.header-resume:hover,.theme-toggle:hover{border-color:var(--signal);background:var(--signal-soft);color:var(--signal)}#main-content{min-height:calc(100vh - var(--header-height))}.site-footer{justify-content:space-between;gap:28px;min-height:110px;padding:28px var(--page-gutter);border-top:1px solid var(--line);color:var(--muted-2);font-size:12px}.site-footer,.site-footer>div{display:flex;align-items:center}.site-footer>div{gap:16px}.footer-mark{color:var(--text);font-size:20px;font-weight:900;letter-spacing:-.08em}.chapter-kicker,.eyebrow{color:var(--signal);font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:12px;padding:0 22px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:600;transition:border-color .18s ease,color .18s ease,background-color .18s ease,transform .18s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--signal-fill);color:var(--ink)}.button-primary:hover{background:var(--signal-hover);color:var(--ink)}.button-secondary{border-color:var(--line-strong);background:var(--surface-muted);color:var(--text-soft)}.button-secondary:hover{border-color:var(--signal);color:var(--text)}.text-link{display:inline-flex;width:max-content;align-items:center;gap:12px;color:var(--text);font-size:13px;font-weight:600}.text-link:hover{color:var(--signal)}.background-page{position:relative;display:grid;grid-template-columns:270px minmax(0,1fr);width:min(100%,1720px);min-height:100vh;margin:0 auto;padding:0 var(--page-gutter)}.career-rail{position:-webkit-sticky;position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));padding:38px 30px 30px 0;border-right:1px solid var(--line)}.rail-footer,.rail-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.rail-footer>span,.rail-heading span{color:var(--muted-2);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.rail-heading strong{color:var(--signal);font-size:12px}.rail-track{position:relative;display:flex;height:calc(100% - 152px);min-height:360px;flex-direction:column;justify-content:space-around;margin:20px 0 24px 11px;border-left:1px solid var(--line-strong)}.rail-track-progress{position:absolute;top:0;left:-1px;width:1px;height:100%;background:var(--signal);box-shadow:0 0 10px rgba(199,255,33,.4);transform-origin:top center}.rail-stop{position:relative;display:block;width:100%;min-height:26px;padding:0 0 0 20px;border:0;background:transparent;cursor:pointer;text-align:left}.rail-dot{position:absolute;top:7px;left:-6px;width:11px;height:11px;border:2px solid var(--muted-2);border-radius:50%;background:var(--bg);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.rail-label{display:flex;align-items:baseline;gap:8px;color:var(--muted);transition:color .18s ease}.rail-label strong{flex:0 0 35px;font-weight:700;font-size:10px}.rail-label small{overflow:hidden;font-weight:600;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.rail-stop.is-active .rail-label,.rail-stop:hover .rail-label{color:var(--text)}.rail-stop.is-active .rail-dot{border-color:var(--signal);background:var(--signal);box-shadow:0 0 0 7px var(--signal-soft),0 0 20px rgba(199,255,33,.5);transform:scale(1.12)}.rail-stop.is-active .rail-label strong{color:var(--signal)}.rail-stop.is-active .rail-label small{color:var(--text);font-weight:700}.rail-footer{align-items:center;flex-wrap:wrap}.rail-footer strong{color:var(--signal);font-size:12px}.career-stage{min-width:0;padding-left:clamp(28px,4vw,72px)}.background-intro{display:none}.career-chapter{--chapter-progress:0;position:relative;display:grid;grid-template-columns:minmax(210px,.65fr) minmax(410px,1.25fr) minmax(320px,.9fr);grid-gap:clamp(28px,3vw,58px);gap:clamp(28px,3vw,58px);min-height:calc(100vh - var(--header-height));align-content:center;padding:clamp(68px,8vh,110px) 0 90px;border-bottom:1px solid var(--line);scroll-margin-top:var(--header-height)}.chapter-marker{position:relative;align-self:start;padding-top:74px;color:var(--muted);opacity:.5;transform:translateY(24px);transition:opacity .48s ease,transform .68s cubic-bezier(.22,1,.36,1)}.chapter-marker:before{position:absolute;top:81px;right:calc(100% + 10px);width:38px;height:1px;background:var(--line-strong);content:""}.chapter-node{position:absolute;top:75px;left:-22px;width:13px;height:13px;border:2px solid var(--muted-2);border-radius:50%;background:var(--bg)}.chapter-year{display:block;margin-bottom:14px;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.chapter-marker h2{max-width:260px;margin:0 0 5px;color:var(--text);font-size:clamp(26px,2.1vw,38px);font-weight:500;letter-spacing:-.045em;line-height:1.04}.chapter-title{max-width:270px;margin:0 0 10px;color:var(--text-soft);font-size:15px;line-height:1.35}.chapter-locations{display:grid;grid-gap:6px;gap:6px}.chapter-location{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:13px}.chapter-company-link{width:max-content;max-width:100%;margin-top:16px}.career-chapter.is-active .chapter-marker,.career-chapter.is-visible .chapter-marker{opacity:1;transform:translateY(0)}.career-chapter.is-active .chapter-node{border-color:var(--signal);background:var(--signal);box-shadow:0 0 0 9px var(--signal-soft),0 0 24px rgba(199,255,33,.55)}.career-chapter.is-active .chapter-year{color:var(--signal)}.chapter-content{align-self:start;opacity:.45;transform:translateY(38px);transition:opacity .52s ease 70ms,transform .78s cubic-bezier(.22,1,.36,1) 70ms}.career-chapter.is-active .chapter-content,.career-chapter.is-visible .chapter-content{opacity:1;transform:translateY(0)}.chapter-kicker{display:flex;align-items:center;gap:9px;margin-bottom:18px}.chapter-kicker .anticon{font-size:12px}.chapter-copy{max-width:640px}.chapter-copy p{margin:0 0 20px;color:var(--muted);font-size:14px;line-height:1.62}.chapter-copy .chapter-lede{color:var(--text);font-size:clamp(17px,1.25vw,20px);line-height:1.48}.chapter-details{margin:0;padding:0;list-style:none}.chapter-details li{position:relative;margin:0 0 14px;padding-left:14px;color:var(--muted);font-size:13px;line-height:1.58}.chapter-details li:before{content:"";position:absolute;top:.55em;left:0;width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--text) 45%,transparent)}.chapter-details li:last-child{margin-bottom:0}.chapter-case{max-width:640px;margin-top:32px;padding-top:28px;border-top:1px solid color-mix(in srgb,var(--text) 12%,transparent)}.chapter-case-header{margin-bottom:14px}.chapter-case-title{margin:0;color:var(--text);font-size:clamp(15px,1.05vw,17px);font-weight:600;line-height:1.35}.chapter-case-subtitle{font-weight:500;color:var(--muted)}.chapter-case-role{margin:6px 0 0;color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.chapter-case-lede{margin:0 0 16px;color:var(--text);font-size:14px;line-height:1.62}.chapter-case-details{margin:0;padding:0;list-style:none}.chapter-case-details li{position:relative;margin:0 0 14px;padding-left:14px;color:var(--muted);font-size:13px;line-height:1.58}.chapter-case-details li:before{content:"";position:absolute;top:.55em;left:0;width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--text) 45%,transparent)}.chapter-case-details li:last-child{margin-bottom:0}.chapter-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.project-stack{position:relative;align-self:start;min-height:440px;min-width:0;opacity:.35;transform:translateY(calc(30px + var(--chapter-progress) * 18px));transition:opacity .62s ease .14s,transform .9s cubic-bezier(.22,1,.36,1)}.career-chapter.is-active .project-stack,.career-chapter.is-visible .project-stack{opacity:1}.project-gallery-toolbar{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.project-gallery-toolbar>span{color:var(--muted-2);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.project-gallery-controls{display:flex;gap:7px}.project-gallery-controls button{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.project-gallery-controls button:focus-visible,.project-gallery-controls button:hover:not(:disabled){border-color:var(--signal);background:var(--signal-soft);color:var(--signal)}.project-gallery-controls button:disabled{cursor:default;opacity:.28}.project-gallery{display:flex;max-width:100%;align-items:flex-start;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 18% 16px 2px;scroll-behavior:smooth;scroll-padding-inline:2px;scroll-snap-type:x mandatory;scrollbar-color:var(--signal-fill) var(--surface-2);scrollbar-width:thin}.project-gallery::-webkit-scrollbar{height:3px}.project-gallery::-webkit-scrollbar-track{background:var(--surface-2)}.project-gallery::-webkit-scrollbar-thumb{border-radius:999px;background:var(--signal)}.project-frame{position:relative;z-index:1;flex:0 0 82%;width:82%;height:auto;max-height:370px;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);cursor:zoom-in;scroll-snap-align:start;transition:border-color .18s ease,transform .24s ease,filter .24s ease}.project-frame .ant-image{display:block;width:100%;height:auto}.project-frame img{width:100%;height:auto;object-fit:contain;object-position:top center}.project-frame:focus-visible,.project-frame:hover{border-color:var(--signal);filter:brightness(1.08);transform:translateY(-4px)}.project-frame:focus-visible{outline:2px solid var(--signal);outline-offset:4px}.stack-image-mask{color:var(--text);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.project-stack-empty{min-height:280px;align-items:center;justify-content:center;border:1px dashed var(--line);font-size:11px;text-transform:uppercase}.project-stack-empty,.stack-count{display:flex;color:var(--muted-2);letter-spacing:.12em}.stack-count{justify-content:flex-end;gap:7px;margin-top:5px;font-size:10px}.stack-count span:first-child{color:var(--signal)}.chapter-expertise{grid-column:1/-1;margin-top:8px}.expertise-map{display:grid;grid-gap:20px;gap:20px;min-height:0;max-width:none;padding:28px 0 4px;border-top:1px solid var(--line)}.expertise-kicker{color:var(--muted-2);font-size:11px;font-weight:700;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}.expertise-groups{display:grid;grid-gap:28px 24px;gap:28px 24px;align-items:start}.expertise-groups[data-count="1"],.expertise-groups[data-count="2"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.expertise-groups[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.expertise-groups[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}.expertise-groups[data-count="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}.expertise-cluster{min-width:0;padding-left:14px;border-left:1px solid var(--line)}.cluster-label{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;color:var(--text);font-size:11px;font-weight:700;letter-spacing:.1em;line-height:1.35;text-transform:uppercase}.cluster-label .anticon{flex-shrink:0;margin-top:1px;color:var(--signal);font-size:14px}.cluster-tags{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.tech-tag{color:var(--text-soft);font-size:13px;line-height:1.4;overflow-wrap:break-word}.chapter-next{grid-column:2/-1;display:inline-flex;width:max-content;align-items:center;gap:10px;color:var(--muted-2);font-size:10px;letter-spacing:.13em;text-transform:uppercase}.chapter-next:hover{color:var(--signal)}.profile-coda{padding:clamp(90px,12vw,180px) 0}.coda-intro{max-width:780px}.coda-intro h2,.portfolio-empty h2,.portfolio-hero h1{margin:18px 0 24px;color:var(--text);font-size:clamp(46px,6vw,92px);font-weight:500;letter-spacing:-.065em;line-height:.96}.coda-intro p{max-width:640px;color:var(--muted);font-size:18px}.coda-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0;gap:0;margin-top:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.coda-grid article{min-height:290px;padding:36px 34px 40px 0}.coda-grid article+article{padding-left:34px;border-left:1px solid var(--line)}.coda-grid article>span{color:var(--signal);font-size:10px}.coda-grid h3{margin:60px 0 14px;font-size:20px;font-weight:500}.coda-grid p{margin:0;color:var(--muted);font-size:13px}.coda-action{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:50px}.coda-action p{margin:0;color:var(--muted)}.portfolio-page{width:min(100%,1720px);margin:0 auto;padding:0 var(--page-gutter)}.portfolio-hero{--portfolio-hero-space:clamp(90px,13vh,160px);position:relative;min-height:0;padding:var(--portfolio-hero-space) 0;overflow:hidden;border-bottom:1px solid var(--line)}.portfolio-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);grid-gap:8vw;gap:8vw;align-items:end;max-width:1240px}.portfolio-hero h1{max-width:880px;margin-bottom:0}.portfolio-hero-grid>div p{margin:0 0 28px;color:var(--muted);font-size:18px;line-height:1.55}.portfolio-work{padding-bottom:120px;scroll-margin-top:var(--header-height)}.portfolio-chapter{scroll-margin-top:calc(var(--header-height) + 110px)}.portfolio-filter-bar{position:-webkit-sticky;position:sticky;top:var(--header-height);z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:90px;padding:14px 0;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portfolio-filter-bar>div:first-child{display:flex;min-width:138px;flex-direction:column}.portfolio-filter-bar>div:first-child span{color:var(--muted-2);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.portfolio-filter-bar>div:first-child strong{color:var(--text);font-size:13px;font-weight:500}.portfolio-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.portfolio-filters button{display:inline-flex;min-height:34px;align-items:center;gap:8px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.portfolio-filters button.is-active,.portfolio-filters button:hover{border-color:var(--signal);background:var(--signal-soft);color:var(--signal)}.portfolio-chapter{padding:100px 0 120px;border-bottom:1px solid var(--line)}.portfolio-chapter .portfolio-chapter-heading{opacity:.28;transform:translateY(34px);transition:opacity .56s ease,transform .76s cubic-bezier(.22,1,.36,1)}.portfolio-chapter.is-visible .portfolio-chapter-heading{opacity:1;transform:translateY(0)}.portfolio-chapter .project-piece{opacity:.28;transform:translateY(28px);transition:opacity .56s ease,transform .76s cubic-bezier(.22,1,.36,1)}.portfolio-chapter .project-piece.is-in-view,.portfolio-chapter .project-piece:hover{opacity:1;transform:translateY(0)}.portfolio-chapter-heading{display:grid;grid-template-columns:120px minmax(0,1fr) auto;grid-gap:36px;gap:36px;align-items:end;margin-bottom:52px}.portfolio-index{display:flex;flex-direction:column;color:var(--muted-2);font-size:10px;letter-spacing:.12em}.portfolio-index span:first-child{margin-bottom:24px;color:var(--signal);font-size:24px}.portfolio-chapter-heading h2{margin:8px 0 6px;color:var(--text);font-size:clamp(36px,4vw,64px);font-weight:500;letter-spacing:-.055em;line-height:1}.portfolio-chapter-heading p{margin:0;color:var(--muted)}.company-link{display:inline-flex;align-items:center;gap:10px;padding-bottom:5px;border-bottom:1px solid var(--line-strong);color:var(--text-soft);font-size:12px}.company-link:hover{border-color:var(--signal);color:var(--signal)}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:28px;gap:28px;align-items:start}.project-piece{grid-column:span 6;margin:0}.project-piece:nth-child(3n+1){grid-column:1/span 7}.project-piece:nth-child(3n+2){grid-column:8/span 5;margin-top:90px}.project-piece:nth-child(3n){grid-column:3/span 8;margin-top:30px}.project-piece .ant-image{display:block;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.project-piece .ant-image-img{display:block;width:100%;height:auto;max-height:820px;object-fit:cover;object-position:top center;transition:transform .5s cubic-bezier(.22,1,.36,1),filter .3s ease}.project-piece:hover .ant-image-img{filter:brightness(1.08);transform:scale(1.015)}.image-mask{display:inline-flex;align-items:center;gap:10px;font-size:12px}.project-piece figcaption{display:flex;align-items:center;justify-content:space-between;padding-top:12px;color:var(--muted-2);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.project-piece figcaption span:first-child{color:var(--signal)}.portfolio-empty{display:grid;min-height:520px;place-content:center;justify-items:center;text-align:center}.portfolio-empty h2{max-width:720px;font-size:clamp(40px,5vw,72px)}.ant-image-preview-root .ant-image-preview-mask{background:rgba(3,6,9,.94)}.ant-image-preview-root .ant-image-preview-operations{background:rgba(10,16,22,.92)}.ant-image-preview-root .ant-image-preview-img{max-width:min(92vw,1680px);max-height:88vh;object-fit:contain}.ant-image-preview-root .ant-image-preview-switch-left,.ant-image-preview-root .ant-image-preview-switch-right{width:46px;height:46px;border:1px solid rgba(205,221,232,.25);background:rgba(10,16,22,.9);color:var(--signal)}.ant-image-preview-root .ant-image-preview-switch-left:hover,.ant-image-preview-root .ant-image-preview-switch-right:hover{border-color:rgba(199,255,33,.65);background:rgba(199,255,33,.08)}@media (max-width:1440px){.background-page{grid-template-columns:210px minmax(0,1fr)}.career-chapter{grid-template-columns:minmax(190px,.6fr) minmax(360px,1.2fr) minmax(260px,.8fr);gap:30px}.rail-label small{max-width:105px}.project-frame{flex-basis:80%;width:80%}}@media (max-width:1024px){:root{--header-height:70px}.site-header{grid-template-columns:auto 1fr auto}.site-nav{justify-self:center}.background-page{display:block}.career-rail{position:fixed;top:var(--header-height);right:0;bottom:auto;left:0;z-index:40;display:flex;width:100%;height:54px;align-items:center;padding:0 var(--page-gutter);border-right:0;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.rail-footer,.rail-heading{display:none}.rail-track{display:flex;width:100%;height:auto;min-height:0;flex-direction:row;align-items:center;justify-content:space-between;margin:0;border-top:1px solid var(--line);border-left:0}.rail-track-progress{top:-1px;left:0;width:100%;height:1px;transform-origin:left center}.rail-stop{width:auto;min-height:20px;padding:14px 0 0}.rail-dot{top:-6px;left:50%;transform:translateX(-50%)}.rail-stop.is-active .rail-dot{transform:translateX(-50%) scale(1.1)}.career-rail.show-year .rail-label small{display:none}.rail-label strong{flex-basis:auto;font-size:9px}.career-stage{padding-left:0}.career-chapter{grid-template-columns:minmax(190px,.6fr) minmax(340px,1.15fr);padding-top:118px}.project-stack{grid-column:1/-1;width:min(100%,720px);min-height:370px;margin:0 auto}.project-frame{flex-basis:42%;width:42%;max-height:350px}.chapter-expertise{grid-column:1/-1}.expertise-groups[data-count="3"],.expertise-groups[data-count="4"],.expertise-groups[data-count="5"]{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-next{grid-column:1/-1}.portfolio-hero-grid{grid-template-columns:1fr;gap:45px}.portfolio-hero-grid>div{max-width:520px}}@media (max-width:720px){:root{--page-gutter:20px}.site-header{min-height:var(--header-height)}.brand-logo{width:78px}.brand-signature{font-size:6px}.site-nav{gap:20px}.site-nav-link{font-size:12px}.header-resume,.theme-toggle{min-height:34px}.header-resume{padding:0 11px}@media (max-width:520px){.site-header{gap:10px}.brand-logo{width:68px}.site-nav{gap:12px}.header-resume,.theme-toggle{width:34px;padding:0;justify-content:center}.header-resume-label{display:none}.header-resume .anticon{display:inline-flex;font-size:15px;line-height:1}}.career-rail{overflow:hidden}.rail-stop:nth-child(2n) .rail-label{display:none}.career-chapter{display:block;min-height:0;padding:112px 0 80px}.chapter-marker{padding:20px 0 0 28px}.chapter-marker:before{top:28px;right:auto;left:0;width:16px}.chapter-node{top:22px;left:0}.chapter-marker h2{font-size:34px}.chapter-content{margin-top:42px}.chapter-copy .chapter-lede{font-size:17px}.chapter-actions{display:grid;grid-template-columns:1fr}.button{width:100%}.project-stack{min-height:330px;margin-top:55px}.project-frame{flex-basis:78%;width:78%;max-height:310px}.chapter-expertise{margin-top:36px}.expertise-groups{grid-template-columns:1fr;gap:22px}.expertise-cluster{padding:18px 0 4px;border-left:0;border-top:1px solid var(--line)}.expertise-cluster:first-child{padding-top:0;border-top:0}.chapter-next{margin-top:28px}.coda-grid{grid-template-columns:1fr;margin-top:55px}.coda-grid article{min-height:0;padding:28px 0 34px!important;border-left:0!important}.coda-grid article+article{border-top:1px solid var(--line)}.coda-grid h3{margin-top:36px}.coda-action,.site-footer{align-items:flex-start;flex-direction:column}.portfolio-hero{--portfolio-hero-space:clamp(72px,10vh,96px);min-height:0}.coda-intro h2,.portfolio-hero h1{font-size:clamp(44px,15vw,68px)}.portfolio-filter-bar{align-items:flex-start;flex-direction:column;padding:16px 0}.portfolio-filters{flex-wrap:nowrap;width:calc(100vw - 40px);justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.portfolio-filters button{flex:0 0 auto}.portfolio-chapter{padding:70px 0 80px}.portfolio-chapter-heading{grid-template-columns:58px 1fr;gap:18px;margin-bottom:34px}.company-link{grid-column:2;width:max-content}.portfolio-chapter-heading h2{font-size:38px}.project-grid{display:block}.project-piece,.project-piece:nth-child(n){width:100%;margin:0 0 38px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.chapter-content,.chapter-expertise,.chapter-marker,.portfolio-chapter .portfolio-chapter-heading,.portfolio-chapter .project-piece,.project-stack{opacity:1;transform:none}}