:root{--paper: #e9e3d7;--paper-2: #dfd8ca;--ink: #1b1a17;--dim: rgba(27, 26, 23, .55);--faint: rgba(27, 26, 23, .16);--signal: #ff4a1c;--display: "Anybody", "Arial Narrow", sans-serif;--mono: "Martian Mono", ui-monospace, monospace;--ease: cubic-bezier(.7, 0, .2, 1);--out: cubic-bezier(.16, 1, .3, 1);--pad: clamp(16px, 2.6vw, 40px)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--display);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.loading{overflow:hidden}@media (hover: hover) and (pointer: fine){body,a,button{cursor:none}}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0}ul{list-style:none}::selection{background:var(--signal);color:var(--paper)}.mono{font-family:var(--mono);font-size:10.5px;font-variation-settings:"wdth" 88;letter-spacing:.04em;text-transform:uppercase}.dim{color:var(--dim)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.kicker b{color:var(--signal);font-weight:500;margin-right:6px}#gl{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100lvh;z-index:0;display:block}main{position:relative;z-index:2}.grain{position:fixed;inset:-50%;z-index:30;pointer-events:none;opacity:.09;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1.2 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain .5s steps(3) infinite}@keyframes grain{0%{transform:translate(0)}33%{transform:translate(-2%,3%)}66%{transform:translate(3%,-2%)}}.crops{position:fixed;inset:12px;z-index:31;pointer-events:none}.crops i{position:absolute;width:14px;height:14px;border-color:var(--ink);border-style:solid;border-width:0;opacity:.5}.crops i:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px}.crops i:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px}.crops i:nth-child(3){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}.crops i:nth-child(4){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}#loader{position:fixed;inset:0;z-index:60;background:var(--ink);color:var(--paper);padding:var(--pad);display:grid;grid-template-rows:auto 1fr auto;transition:transform 1.1s var(--ease)}#loader.done{transform:translateY(-101%)}.ld-top,.ld-bot{display:flex;justify-content:space-between}.ld-stack{place-self:center;display:flex;flex-direction:column;gap:6px;width:min(260px,60vw)}.ld-stack i{height:18px;background:var(--paper);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--out)}.ld-stack i:nth-child(1){background:var(--signal)}.ld-stack i.on{transform:scaleX(1)}#ld-num{font-variant-numeric:tabular-nums}.bar{position:fixed;top:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:calc(var(--pad) - 4px) var(--pad)}.brand{display:flex;align-items:center;gap:12px}.brand-mono{width:38px;height:38px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font-weight:800;font-variation-settings:"wdth" 60;font-size:17px;letter-spacing:.02em;transition:background .3s,transform .6s var(--out)}.brand:hover .brand-mono{background:var(--signal);transform:rotate(-8deg) scale(1.06)}nav{display:flex;gap:clamp(14px,2.4vw,34px)}nav a{position:relative;padding:6px 0}nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}nav a:hover:after,nav a.on:after{transform:scaleX(1);transform-origin:left}nav a.on{color:var(--signal)}nav a.on:after{background:var(--signal)}.bar-right{justify-self:end;display:flex;align-items:center;gap:18px}.cv-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--ink);color:var(--paper);border-radius:99px;transition:background .3s,gap .4s var(--out)}.cv-btn:hover{background:var(--signal);gap:12px}.status{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.status .sep{opacity:.35}.dot{width:7px;height:7px;border-radius:50%;background:#3fae5a;box-shadow:0 0 #3fae5a80;animation:ping 2s infinite}.dot.off{background:var(--dim);animation:none}@keyframes ping{70%{box-shadow:0 0 0 7px #3fae5a00}to{box-shadow:0 0 #3fae5a00}}.rail{position:fixed;right:var(--pad);top:50%;z-index:20;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px}.rail-line{width:1px;height:110px;background:var(--faint);position:relative;overflow:hidden}.rail-line i{position:absolute;inset:0;background:var(--ink);transform-origin:top;transform:scaleY(0)}#rail-label{writing-mode:vertical-rl;transform:rotate(180deg)}#rail-num{color:var(--signal)}.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}.w>span{display:inline-block;transform:translateY(125%);transition:transform 1.1s var(--out)}.in .w>span{transform:none}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .9s,transform 1.1s var(--out)}[data-reveal].in{opacity:1;transform:none}.s-hero{height:100vh;height:100svh;min-height:560px;position:relative;padding:0 var(--pad)}.hero-copy{position:absolute;left:var(--pad);top:22vh;max-width:54vw}.hero-title{margin-top:18px;font-weight:400}.hero-name{display:block;font-weight:860;font-variation-settings:"wdth" 56;text-transform:uppercase;font-size:clamp(64px,10vw,168px);line-height:.82;letter-spacing:-.01em}.hero-name .w{display:block;width:fit-content}.hero-line{display:block;margin-top:22px;font-size:clamp(22px,2.6vw,40px);line-height:1.04;font-variation-settings:"wdth" 92;font-weight:380;max-width:24ch}.hero-line em{font-style:italic;color:var(--signal)}.hero-foot{position:absolute;left:var(--pad);right:calc(var(--pad) + 40px);bottom:calc(var(--pad) + 6px);display:flex;justify-content:space-between}.typed{text-transform:none;font-size:12px}.caret{display:inline-block;width:7px;height:13px;margin-left:2px;vertical-align:-2px;background:var(--signal);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero-scroll{display:flex;align-items:center;gap:10px}.hero-scroll i{width:46px;height:1px;background:var(--faint);position:relative;overflow:hidden}.hero-scroll i:after{content:"";position:absolute;inset:0;background:var(--ink);animation:scan 1.8s var(--ease) infinite}@keyframes scan{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.s-about{min-height:170vh;padding:22vh var(--pad) 12vh}.s-about .wrap{max-width:min(760px,54vw)}.about-lede{margin-top:26px;font-size:clamp(26px,3.1vw,50px);line-height:1.08;font-variation-settings:"wdth" 84;font-weight:420;letter-spacing:-.005em}.about-lede .aw{opacity:.14;transition:opacity .25s}.about-lede .aw.lit{opacity:1}.pill{display:inline-block;width:1.9em;height:.82em;margin:0 .12em;border-radius:99px;overflow:hidden;vertical-align:-.04em;background:var(--paper-2)}.pill img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:grayscale(1) contrast(1.05);transition:filter .6s}.pill:hover img{filter:none}.about-row{margin-top:9vh}.hero-id{display:flex;align-items:flex-start;gap:clamp(16px,2.2vw,34px);margin-top:18px}.hero-id .hero-title{margin-top:0}.hero-photo{flex:none;width:clamp(120px,11vw,190px);opacity:0;transform:translateY(24px) rotate(-7deg);transition:opacity 1s .2s,transform 1.4s var(--out) .2s}.hero-photo.in{opacity:1;transform:rotate(-2.5deg)}.hero-photo img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:50% 18%;border:5px solid #f6f2ea;box-shadow:0 16px 36px #1b1a1733;transition:transform .8s var(--out)}.hero-photo:hover img{transform:rotate(2.5deg) scale(1.03)}.portrait{position:relative}.portrait img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:50% 18%;border:6px solid #f6f2ea;box-shadow:0 18px 40px #1b1a172e;transform:rotate(-2.5deg);transition:transform .8s var(--out)}.portrait:hover img{transform:rotate(0) scale(1.02)}.portrait figcaption{margin-top:14px;color:var(--dim)}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}.work-tools{display:flex;align-items:center;gap:18px}.skip{padding:9px 14px;border:1px solid var(--faint);border-radius:99px;transition:background .3s,color .3s,border-color .3s}.skip:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.stats div{padding:18px 0 0}.stats div+div{padding-left:18px;border-left:1px solid var(--faint)}.stats b{display:block;font-size:clamp(44px,5.4vw,86px);font-weight:820;font-variation-settings:"wdth" 58;line-height:.9;font-variant-numeric:tabular-nums}.stats span{display:block;margin-top:10px}.exp{margin-top:9vh}.exp ul{margin-top:14px;border-top:1px solid var(--ink)}.exp li{display:grid;grid-template-columns:9.5em 1fr auto;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--faint);transition:padding .5s var(--out),background .3s}.exp li:hover{padding-left:12px;padding-right:12px;background:var(--paper-2)}.exp li .r{font-size:clamp(18px,1.7vw,26px);font-variation-settings:"wdth" 90}.s-work{position:relative}.snap{position:absolute;left:0;width:1px;height:1px;scroll-snap-align:start;pointer-events:none}@media (pointer: coarse){html{scroll-snap-type:y proximity}}.sticky{position:sticky;top:0;height:100vh;height:100svh;padding:0 var(--pad)}.work-head{position:absolute;top:15vh;left:var(--pad);right:calc(var(--pad) + 40px);display:flex;justify-content:space-between}.work-meta{position:absolute;left:var(--pad);bottom:12vh;width:min(560px,42vw)}.wm{position:absolute;left:0;bottom:0;width:100%;pointer-events:none}.wm.on{pointer-events:auto}.wm .idx{color:var(--signal);opacity:0;transition:opacity .3s}.wm.on .idx{opacity:1;transition-delay:.1s}.wm h3{margin:12px 0 14px;font-weight:840;font-variation-settings:"wdth" 58;text-transform:uppercase;font-size:clamp(40px,5vw,86px);line-height:.86}.wm p{font-size:clamp(17px,1.4vw,21px);line-height:1.3;font-variation-settings:"wdth" 92;max-width:34ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.wm .row{display:flex;gap:18px;margin-top:16px;align-items:center;flex-wrap:wrap}.wm .w>span{transition-duration:.8s}.wm:not(.on) .w>span{transform:translateY(-125%);transition-duration:.5s}.wm.below:not(.on) .w>span{transform:translateY(125%)}.wm .fade{opacity:0;transform:translateY(10px);transition:opacity .4s,transform .6s var(--out)}.wm.on .fade{opacity:1;transform:none;transition-delay:.15s}.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 18px;background:var(--ink);color:var(--paper);border-radius:99px;transition:background .3s,gap .5s var(--out)}.btn:hover{background:var(--signal);gap:18px}.work-ticks{position:absolute;right:calc(var(--pad) + 44px);bottom:12vh;display:flex;gap:6px}.work-ticks i{width:22px;height:3px;background:var(--faint);transition:background .3s,width .5s var(--out)}.work-ticks i.on{background:var(--signal);width:44px}.work-ticks{align-items:center;gap:12px}.work-ticks b{font-weight:500;font-variant-numeric:tabular-nums}.wbar{width:160px;height:3px;background:var(--faint);overflow:hidden}.wbar i{display:block;width:100%;height:100%;background:var(--signal);transform-origin:left;transform:scaleX(0);transition:transform .5s var(--out)}.s-skills{height:240vh}.skills-head{position:absolute;top:15vh;left:var(--pad);max-width:40vw}.skills-title{margin-top:18px;font-weight:840;font-variation-settings:"wdth" 58;text-transform:uppercase;font-size:clamp(44px,5.8vw,96px);line-height:.86}.skills-title em{font-style:normal;font-weight:300;font-variation-settings:"wdth" 110;text-transform:none;font-size:.5em;display:inline-block;margin-top:12px;line-height:1.05}.skills-note{margin-top:22px;max-width:30ch;line-height:1.7}.skills-list,.layer-card{display:none}.lbl.on:before{background:var(--signal);width:60px}.lbl:before{transition:width .5s var(--out),background .3s}.lbl.on b{color:var(--signal)}#labels{position:fixed;inset:0;z-index:3;pointer-events:none}.lbl{position:absolute;left:0;top:0;will-change:transform,opacity;display:flex;align-items:flex-start;gap:10px;opacity:0}.lbl:before{content:"";width:40px;height:1px;margin-top:8px;background:var(--ink)}.lbl b{display:block;font-size:22px;font-weight:780;font-variation-settings:"wdth" 62;text-transform:uppercase;line-height:1}.lbl b i{font-style:normal;color:var(--signal);font-family:var(--mono);font-size:9px;font-weight:500;vertical-align:top;margin-right:6px}.lbl .bl{display:block;margin-top:5px;color:var(--dim)}.lbl .it{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;max-width:250px}.lbl .it span{padding:4px 8px;border:1px solid var(--faint);border-radius:99px;background:#e9e3d7b3}.s-contact{min-height:100vh;padding:16vh var(--pad) var(--pad);display:flex;flex-direction:column}.kinetic{margin-top:20px;font-weight:400;text-transform:uppercase;font-size:clamp(54px,9.6vw,170px);line-height:.84;max-width:60vw}.kinetic .ln{display:block;white-space:nowrap}.kinetic .ch{display:inline-block;font-variation-settings:"wdth" 60,"wght" 760;will-change:font-variation-settings}.contact-note{margin-top:22px;color:var(--dim)}.phone{color:var(--dim);transition:color .3s}.phone:hover{color:var(--signal)}.contact-row{margin-top:6vh;display:flex;flex-direction:column;align-items:flex-start;gap:22px;max-width:60vw}.email{font-size:clamp(24px,3vw,46px);font-variation-settings:"wdth" 80;font-weight:500;border-bottom:2px solid var(--ink);padding-bottom:6px;transition:color .3s,border-color .3s}.email:hover{color:var(--signal);border-color:var(--signal)}.socials{display:flex;gap:22px}.socials a{position:relative}.socials a:after{content:"\2197";margin-left:4px;display:inline-block;transition:transform .4s var(--out)}.socials a:hover{color:var(--signal)}.socials a:hover:after{transform:translate(3px,-3px)}.foot{margin-top:auto;padding-top:12vh;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}#case{position:fixed;inset:0;z-index:40;background:var(--ink);color:var(--paper);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;clip-path:inset(100% 0 0 0);transition:clip-path 1s var(--ease)}#case.open{clip-path:inset(0 0 0 0)}.case-close{position:fixed;top:var(--pad);right:var(--pad);z-index:2;padding:10px 16px;border:1px solid rgba(233,227,215,.3);border-radius:99px;transition:background .3s,color .3s}.case-close span{opacity:.5;margin-left:8px}.case-close:hover{background:var(--paper);color:var(--ink)}.case-inner{padding:14vh var(--pad) 10vh;display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}.case-inner .kicker b{color:var(--signal)}.case-inner h2{margin:16px 0 28px;font-weight:860;font-variation-settings:"wdth" 56;text-transform:uppercase;font-size:clamp(56px,8vw,140px);line-height:.82}.case-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(233,227,215,.35);border-bottom:1px solid rgba(233,227,215,.15);margin-bottom:28px}.case-meta div{padding:14px 0}.case-meta div+div{padding-left:14px;border-left:1px solid rgba(233,227,215,.15)}.case-meta span{display:block;opacity:.5;margin-bottom:6px}.case-lede{font-size:clamp(22px,2vw,32px);line-height:1.15;font-variation-settings:"wdth" 88;margin-bottom:20px}.case-body{font-family:var(--mono);font-size:13px;line-height:1.8;opacity:.7;font-variation-settings:"wdth" 92}.case-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.case-tags li{padding:7px 12px;border:1px solid rgba(233,227,215,.3);border-radius:99px}.case-links{display:flex;gap:12px;flex-wrap:wrap}.case-links .btn{background:var(--paper);color:var(--ink)}.case-links .btn:hover{background:var(--signal);color:var(--paper)}.case-art{position:sticky;top:14vh;aspect-ratio:3 / 2;width:100%;object-fit:cover;transform:rotate(2deg) translateY(30px);opacity:0;transition:transform 1.2s var(--out) .3s,opacity .8s .3s;box-shadow:0 40px 80px #0006}#case.open .case-art{transform:rotate(-2deg);opacity:1}.case-next{grid-column:1 / -1;margin-top:6vh;padding-top:24px;border-top:1px solid rgba(233,227,215,.2);display:flex;justify-content:space-between;align-items:baseline;text-align:left}.case-next b{font-weight:840;font-variation-settings:"wdth" 58;text-transform:uppercase;font-size:clamp(32px,4vw,64px);transition:color .3s}.case-next:hover b{color:var(--signal)}#toast{position:fixed;left:50%;bottom:28px;z-index:50;opacity:0;transform:translate(-50%,160%);background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:99px;transition:transform .6s var(--out)}#toast.on{opacity:1;transform:translate(-50%)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px}button:focus:not(:focus-visible){outline:none}#cursor{position:fixed;left:0;top:0;z-index:70;pointer-events:none}.c-dot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--ink);transition:transform .45s var(--out),background .3s}.c-label{position:absolute;left:0;top:0;transform:translate(-50%,-50%) scale(.4);opacity:0;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--paper);white-space:nowrap;transition:opacity .3s,transform .45s var(--out)}#cursor.hot .c-dot{transform:scale(6.5);background:var(--signal)}#cursor.hot .c-label{opacity:1;transform:translate(-50%,-50%) scale(1)}#cursor.dark .c-dot{background:var(--paper)}@media (hover: none),(pointer: coarse){#cursor{display:none}}@media (max-width: 820px){.bar{grid-template-columns:auto 1fr;background:linear-gradient(var(--paper) 70%,rgba(233,227,215,0));padding-bottom:22px}.bar nav{display:none}.brand-name{display:none}.bar-right{gap:10px}.status .sep,.status #clock{display:none}.cv-btn{padding:8px 13px}.rail{display:none}.hero-copy{top:auto;bottom:16vh;max-width:none;right:var(--pad)}.hero-foot{right:var(--pad)}.hero-scroll{display:none}.s-about{padding-top:16vh}.s-about .wrap{max-width:none}.exp li{grid-template-columns:1fr;gap:4px}.work-head{top:12vh;right:var(--pad)}.work-meta{width:auto;right:var(--pad);bottom:9vh}.work-ticks{right:var(--pad);bottom:5vh}.wm h3{font-size:44px}.s-skills{height:320vh}.skills-head{top:11vh;right:var(--pad);max-width:none}.skills-title{font-size:44px}.skills-note{display:none}.layer-card{display:block;position:absolute;left:var(--pad);right:var(--pad);bottom:6vh;height:150px}.lc{position:absolute;inset:0;border-top:1px solid var(--ink);padding-top:14px;opacity:0;transform:translateY(16px);transition:opacity .4s,transform .6s var(--out)}.lc.on{opacity:1;transform:none}.lc b{display:flex;align-items:baseline;gap:10px;font-size:34px;font-weight:800;font-variation-settings:"wdth" 58;text-transform:uppercase;line-height:1}.lc b i{font-style:normal;font-family:var(--mono);font-size:10px;font-weight:500;color:var(--signal)}.lc .bl{display:block;margin:6px 0 12px;color:var(--dim)}.lc .it{display:flex;flex-wrap:wrap;gap:6px}.lc .it span{padding:5px 10px;border:1px solid var(--faint);border-radius:99px}.lc-steps{position:absolute;right:0;top:16px;display:flex;gap:4px}.lc-steps i{width:14px;height:3px;background:var(--faint)}.lc-steps i.on{background:var(--signal)}#labels{display:none}.kinetic,.contact-row{max-width:none}.s-contact{padding-top:40vh}.case-inner{grid-template-columns:1fr;padding-top:12vh}.case-art{position:static;order:-1}.stats div+div{padding-left:10px}.hero-photo{width:84px}.hero-photo img{border-width:3px}.work-tools #work-count{display:none}}@media (prefers-reduced-motion: reduce){.grain{animation:none}.w>span,[data-reveal]{transition:none!important;transform:none!important;opacity:1!important}}
