:root{--paper:#f7f7f5;--ink:#191919;--muted:#777772;--line:#deded9;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid #ba4a22;outline-offset:5px}::selection{background:#191919;color:#fff}.site-shell{max-width:1160px;margin:auto;padding:0 48px}.skip{position:fixed;top:-70px;left:20px;background:var(--ink);color:white;padding:15px;z-index:30}.skip:focus{top:20px}header{display:flex;justify-content:space-between;padding:24px 0;font:10px var(--mono);letter-spacing:.5px;color:#72726c}header i{display:inline-block;width:5px;height:5px;background:#7f9b82;border-radius:50%;margin-right:7px}.hero{display:flex;justify-content:space-between;align-items:flex-end;padding:78px 0 44px}h1{font-size:clamp(64px,8vw,108px);line-height:.98;letter-spacing:-6px;margin:0 0 25px;font-weight:600}h1 span,.closing h2 span{color:#c25835}.hero p{font:13px/1.7 var(--mono);color:var(--muted);margin:0;max-width:470px}.hero-actions{text-align:right;padding-bottom:4px}.button{display:inline-block;background:var(--ink);color:var(--paper);padding:15px 21px;font:10px var(--mono);letter-spacing:.4px}.button:hover{background:#c25835}.hero nav{display:flex;justify-content:flex-end;gap:18px;margin-top:17px;font:11px var(--mono);color:var(--muted)}.ticker{background:var(--ink);color:#e9e9e5;overflow:hidden;padding:12px 0;font:11px var(--mono);letter-spacing:.6px}.ticker>div{display:flex;width:max-content;animation:ticker 36s linear infinite}.ticker span{white-space:nowrap;padding-right:15px}@keyframes ticker{to{transform:translateX(-25%)}}.section{margin-top:100px}.career{display:grid;grid-template-columns:220px 1fr;gap:54px}.section-number{font:9px var(--mono);letter-spacing:1px;color:var(--muted)}h2{font-size:27px;letter-spacing:-1px;font-weight:600;margin:15px 0}p{line-height:1.65}.section-intro p{font:12px/1.75 var(--mono);color:var(--muted);max-width:210px}.section-intro>a{font:11px var(--mono);display:inline-block;margin-top:18px}.role{background:#fbfbfa;border:1px solid #e9e9e5;padding:26px;margin-bottom:16px}.role-top{display:flex;justify-content:space-between;gap:20px}.company{font:10px var(--mono);color:#a35034}h3{font-size:16px;letter-spacing:-.3px;margin:9px 0 14px}.role-date{flex-shrink:0;font:9px var(--mono);color:var(--muted);padding-top:4px}.role>p,.role details p{font-size:12px;color:#6c6c67}.role ul{padding-left:15px;margin:16px 0;font:11px/1.9 var(--mono);color:#777772}.role li::marker{color:#b6603c}.role strong{font-weight:500;color:#454541}.outcome-note{display:block;font:10px/1.6 var(--mono);color:#777772;max-width:500px}details{border-top:1px solid #e7e7e2;margin-top:18px;padding-top:12px}summary{cursor:pointer;list-style:none;font:10px var(--mono);color:#74746e;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px;gap:20px}.section-title h2{margin-bottom:0}.section-title>span{font:9px var(--mono);color:var(--muted)}#projects{display:grid;grid-template-columns:1fr 1fr;gap:44px 28px}.project-cover{position:relative;display:block;height:260px;background:#22221f;border:1px solid #343430;overflow:hidden}.project:nth-child(2) .project-cover{background:#131918}.project:nth-child(3) .project-cover{background:#292722}.project:nth-child(4) .project-cover{background:#1d1d22}.project:nth-child(5) .project-cover{background:#242524}.project-index{position:absolute;top:18px;left:20px;font:9px var(--mono);color:#92928b;letter-spacing:.8px}.project-arrow{position:absolute;right:18px;bottom:16px;color:#b9b9af;font-size:22px;transition:transform .3s}.project-cover:hover .project-arrow{transform:translate(3px,-3px)}.tool-graphic{position:absolute;inset:36px 18px 16px;color:#9e9e94;transition:transform .5s}.project-cover:hover .tool-graphic{transform:scale(1.04)}.tool-graphic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5}.tool-graphic svg text{fill:#a4a498;stroke:none;font:9px var(--mono);letter-spacing:1px}.diagram-grid,.radar-grid{opacity:.18}.chart-bars,.funnel-shapes{fill:#85857b;fill-opacity:.16;stroke:none}.chart-line,.signal-wave{stroke:#cbcbb8;stroke-width:2}.chart-points,.radar-blips{fill:#d0d0b9;stroke:none}.radar-sweep{fill:#b7b7a5;fill-opacity:.15;stroke:none}.sweep-edge{stroke:#c4c4af}.funnel-labels text{text-anchor:middle}.flow-nodes{fill:#35352f}.project-caption{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:15px}.project-caption h3{font-size:14px;margin:0}.project-caption>span{font:8px var(--mono);color:#87877f;text-align:right}.project p{font:11px/1.75 var(--mono);color:#777772;margin:12px 0}.project small{font:9px/1.6 var(--mono);color:#85857d}.text-link{display:inline-block;margin-top:28px;font:11px var(--mono);border-bottom:1px solid var(--line);padding-bottom:7px}.toolkit{background:var(--ink);color:#e6e6e0;padding:32px}.toolkit .section-number,.toolkit .section-title>span{color:#898980}.toolkit h2{font-size:22px}#skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.skill{border-top:1px solid #3b3b35;padding-top:13px}.skill-number{font:8px var(--mono);color:#a16c54}.skill h3{font-size:14px;margin:12px 0}.skill p{font:11px/1.9 var(--mono);color:#b1b1a5}.skill details{border-color:#3b3b35}.skill summary{color:#a5a59a}.tool-note{font:9px var(--mono);color:#8c8c82;margin:30px 0 0}.about{display:grid;grid-template-columns:220px 1fr;gap:54px}.about p{font:12px/1.8 var(--mono);color:#777772;margin-top:0;margin-bottom:16px}.closing{border-top:1px solid #aaa99f;margin-top:90px;padding:25px 0 35px}.closing h2{font-size:clamp(32px,4vw,52px);letter-spacing:-2px;margin:0 0 20px}.closing>div{display:flex;justify-content:space-between;font:11px var(--mono)}.closing>div>span{font-size:9px;color:#88887e}footer{display:flex;justify-content:space-between;gap:15px;padding:20px 0 28px;border-top:1px solid var(--line);font:8px var(--mono);color:#87877e}.intro{position:fixed;inset:0;z-index:50;background:#0b0b0b;color:#e1e1d9;display:flex;align-items:center;justify-content:center;transition:transform .85s cubic-bezier(.76,0,.24,1);animation:intro-in .6s both}.intro-name{font:clamp(20px,4vw,56px) Arial,sans-serif;letter-spacing:.12em;width:min(75%,780px);text-align:center}.intro-name>span{display:block;font:9px var(--mono);letter-spacing:2px;color:#77776e;margin-top:22px}.intro-line{height:1px;background:#64645c;margin-top:28px;transform-origin:left;animation:intro-line 1.7s cubic-bezier(.2,.7,.3,1) both}.intro-skip{position:absolute;bottom:28px;right:32px;color:#909087;background:none;border:0;font:10px var(--mono);cursor:pointer}.intro-exit{transform:translateY(-100%);pointer-events:none}@keyframes intro-in{from{opacity:0}to{opacity:1}}@keyframes intro-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:800px){.site-shell{padding:0 28px}.hero{padding-top:55px}h1{font-size:76px;letter-spacing:-4px}.hero-actions{max-width:160px}.hero nav{flex-wrap:wrap;gap:12px}.career,.about{grid-template-columns:170px 1fr;gap:28px}.role-top{flex-direction:column;gap:0}.role-date{margin-bottom:12px}.project-cover{height:210px}.project-caption{display:block}.project-caption>span{display:block;text-align:left;margin-top:7px}.section{margin-top:72px}}
@media(max-width:560px){.site-shell{padding:0 22px}header{font-size:8px;gap:15px}header>span{max-width:110px;text-align:right;line-height:1.5}.hero{display:block;padding-top:48px;padding-bottom:30px}h1{font-size:clamp(52px,12vw,70px);letter-spacing:-3.5px}.hero p{font-size:11px}.desktop-break{display:none}.hero-actions{max-width:none;text-align:left;margin-top:26px;display:flex;align-items:center;gap:18px;justify-content:space-between}.button{font-size:9px;padding:13px 15px}.hero nav{margin:0;justify-content:flex-end;font-size:9px;gap:12px}.ticker{font-size:10px}.career,.about{display:block}.section-intro{margin-bottom:28px}.section-intro p{max-width:300px}.section{margin-top:58px}.role{padding:20px}.role-top{gap:0}.section-title>span{display:none}#projects{grid-template-columns:1fr;gap:30px}.project-cover{height:230px}#skill-grid{grid-template-columns:1fr 1fr;gap:22px}.toolkit{padding:24px 20px}.toolkit h2{font-size:24px}.about>div+div{margin-top:25px}.closing{margin-top:58px}.closing h2{letter-spacing:-1.5px}.closing>div{gap:20px;align-items:center}.closing>div>span{text-align:right;font-size:8px;max-width:110px}footer{flex-wrap:wrap;font-size:7px}.intro-name{font-size:21px;letter-spacing:.06em;width:85%}.intro-name>span{font-size:7px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro{display:none}.ticker>div{animation:none}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Career chapters layer in chronological order as the page advances. */
#roles{min-width:0;position:relative}
#roles.stack-enabled{padding-bottom:24px}
.stack-enabled .role{position:sticky;top:calc(32px + var(--card-order)*18px);z-index:calc(1 + var(--card-order));margin-bottom:clamp(100px,22vh,220px);background:#fbfbfa;box-shadow:0 -6px 18px #19191908}
.stack-enabled .role:last-child{margin-bottom:0}
.career .section-intro{align-self:start;position:sticky;top:32px}
@media(max-width:560px){.career .section-intro{position:static}.stack-enabled .role{top:calc(20px + var(--card-order)*12px);margin-bottom:120px}}
@media(prefers-reduced-motion:reduce){.career .section-intro,.stack-enabled .role{position:static}.stack-enabled .role{margin-bottom:16px;box-shadow:none}}
