:root{--paper:#f5f5f3;--paper-2:#efefed;--band:#dededc;--ink:#17171a;--grey:#5c5c60;--faint:#6f6f72;--line:#17171a29;--line-soft:#17171a17;--red:#e8291c;--red-text:#b3261e;--gutter:clamp(20px,4.5vw,56px);--font-sans-stack:var(--font-sans),system-ui,sans-serif;--font-serif-stack:var(--font-serif),Georgia,serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html.lenis,html.lenis body{scroll-behavior:auto}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans-stack);-webkit-font-smoothing:antialiased;font-size:16.5px;line-height:1.6;overflow-x:hidden}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--red);outline-offset:3px}[tabindex="-1"]:focus{outline:none}::selection{background:var(--red);color:#fff}.serif{font-family:var(--font-serif-stack)}.wrap{max-width:1280px;padding-inline:var(--gutter);margin-inline:auto}section,.scene{scroll-margin-top:80px}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:200;background:var(--ink);color:var(--paper);border-radius:4px;padding:10px 14px;font-size:14px;font-weight:600;text-decoration:none;position:absolute;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus,.skip-link:focus-visible{outline-offset:2px;transform:translateY(0)}body:after{content:"";pointer-events:none;z-index:90;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--grey);font-size:12px;font-weight:500}.u-link{color:var(--ink);border-bottom:1.5px solid var(--ink);padding-bottom:3px;font-size:14.5px;font-weight:500;text-decoration:none;transition:color .2s,border-color .2s}.u-link:hover{color:var(--red);border-color:var(--red)}header.site{z-index:80;background:color-mix(in srgb, var(--paper) 90%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);position:sticky;top:0}.nav{align-items:stretch;height:64px;display:flex}.nav-brand{white-space:nowrap;padding-left:var(--gutter);flex:none;align-items:center;gap:10px;text-decoration:none;display:flex}.nav-brand .mark-svg{object-fit:contain;flex:none;width:18px;height:18px;display:block}.nav-brand span{letter-spacing:.16em;text-transform:uppercase;font-size:13.5px;font-weight:600}.nav-links{scrollbar-width:none;align-items:center;gap:clamp(18px,3vw,38px);margin-inline:auto;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-links a{color:var(--ink);white-space:nowrap;padding:4px 0;font-size:14px;font-weight:500;text-decoration:none;position:relative}.nav-links a:after{content:"";background:var(--red);transform-origin:0;width:100%;height:1.5px;transition:transform .25s ease-out;position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1)}.nav-resume-mobile,.nav-toggle{display:none}.nav-loc{letter-spacing:.12em;color:var(--grey);border-left:1px solid var(--line-soft);white-space:nowrap;align-items:center;padding-inline:clamp(12px,2vw,26px);font-size:11px;display:flex}.nav-cta{background:var(--ink);color:var(--paper);white-space:nowrap;align-items:center;padding-inline:clamp(18px,2.6vw,34px);font-size:13.5px;font-weight:500;text-decoration:none;transition:background .2s;display:flex}.nav-cta:hover{background:var(--red)}.hero{flex-direction:column;min-height:100svh;margin-top:-64px;padding-top:64px;display:flex;position:relative;overflow:hidden}.hero-layers{z-index:0;animation:1.4s ease-out both fadeIn;position:absolute;inset:0;overflow:hidden}.hero-layers .layer{position:absolute;inset:0}.hero-layers picture{display:contents}.hero-layers img{mix-blend-mode:multiply;filter:grayscale();max-width:none;position:absolute}.l-clouds-back{z-index:1}.l-clouds-back img{opacity:.42;width:140%;animation:95s linear infinite alternate cloudDrift;top:-2%;left:-22%}.l-ridge{z-index:2}.l-ridge img{filter:grayscale()contrast(1.18);width:120%;bottom:-4%;left:-8%}.l-clouds-front{z-index:3}.l-clouds-front img{opacity:.55;width:155%;animation:70s linear infinite alternate-reverse cloudDrift;bottom:-16%;left:-35%;transform:scaleX(-1)}@keyframes cloudDrift{0%{translate:0}to{translate:4.5%}}.hero-layers:before{content:"";background:linear-gradient(0deg,transparent,var(--paper));z-index:4;height:14%;position:absolute;inset:0 0 auto}.hero-layers:after{content:"";background:linear-gradient(180deg,transparent,var(--paper));z-index:4;height:20%;position:absolute;inset:auto 0 0}.hero-inner{z-index:2;flex-direction:column;flex-grow:1;justify-content:center;width:100%;display:flex;position:relative}.hero-eyebrow{align-items:center;gap:14px;margin-bottom:clamp(20px,3.5vh,36px);display:flex}.hero-eyebrow:before{content:"";background:var(--ink);width:34px;height:1.5px}.hero-h{letter-spacing:-.035em;color:var(--ink);font-size:clamp(4rem,11vw,9.5rem);font-weight:500;line-height:.96}.hero-h .l{display:block;overflow:hidden}.hero-h .l span{display:inline-block}.hero-h .l:nth-child(2){padding-left:clamp(2.2rem,9vw,8rem)}.hero-h .l:nth-child(3){padding-left:clamp(4.4rem,18vw,16rem)}.hero-h .dot{color:var(--red);font-style:normal}.hero-foot{z-index:2;justify-content:space-between;align-items:flex-end;gap:24px;width:100%;padding-bottom:clamp(36px,6vh,64px);display:flex;position:relative}.scroll-cue{color:var(--faint);align-items:center;gap:10px;font-size:13px;display:flex}.scroll-cue:after{content:"";background:var(--faint);transform-origin:top;width:1.5px;height:34px;animation:2s ease-in-out infinite cueDrop}@keyframes cueDrop{0%{transform:scaleY(0)}55%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.hero-para{text-align:left;max-width:330px}.hero-para p{color:var(--ink);margin-bottom:16px;font-size:16px;line-height:1.55}.hero-para p b{font-weight:600}.statement{padding-block:clamp(90px,14vh,150px)}.statement .eyebrow{text-align:center;margin-bottom:26px;display:block}.statement h2{text-align:center;letter-spacing:-.03em;max-width:21em;margin-inline:auto;font-size:clamp(1.9rem,4.6vw,3.6rem);font-weight:500;line-height:1.12}.statement h2 em{font-family:var(--font-serif-stack);color:var(--red);font-style:italic;font-weight:400}.about-cols{grid-template-columns:minmax(0,6fr) minmax(0,4fr);align-items:start;gap:clamp(28px,5vw,80px);margin-top:clamp(56px,9vh,96px);display:grid}.about-cols .lead{color:var(--ink);font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.6}.about-cols .lead p{margin-bottom:18px}.about-cols .lead p b{font-weight:600}.about-meta{border-top:1.5px solid var(--ink);gap:0;display:grid}.meta-row{border-bottom:1px solid var(--line-soft);grid-template-columns:110px 1fr;gap:14px;padding-block:14px;font-size:14.5px;display:grid}.meta-row dt{letter-spacing:.12em;text-transform:uppercase;color:var(--grey);padding-top:3px;font-size:11px}.meta-row dd b{font-weight:600}.stats{grid-template-columns:minmax(200px,280px) 1fr;align-items:start;column-gap:clamp(24px,5vw,64px);padding-block:clamp(40px,7vh,80px);display:grid}.stats-grid{grid-template-columns:repeat(2,1fr);gap:clamp(14px,2vw,24px);max-width:920px;display:grid}.stat{border:1px solid var(--line);background:0 0;flex-direction:column;justify-content:space-between;min-height:clamp(240px,30vw,340px);padding:clamp(22px,3vw,34px);display:flex}.stat:nth-child(2n){transform:translateY(clamp(30px,5vw,70px))}.stat .num{font-family:var(--font-serif-stack);color:var(--red);letter-spacing:-.02em;font-size:clamp(3.4rem,7.5vw,6rem);font-weight:400;line-height:.95}.stat .num small{font-size:.55em}.stat .lbl{color:var(--ink);font-size:14.5px}.stat .lbl span{color:var(--grey);margin-top:2px;font-size:12px;display:block}.stats-note{max-width:300px;color:var(--grey);padding-top:clamp(4px,1.5vh,16px);font-size:15px}.stats-note .u-link{margin-top:14px;display:inline-block}.showcase{background:var(--band);position:relative}.show-head{padding:clamp(56px,9vh,90px) 0 0}.show-head .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--grey);align-items:center;gap:12px;font-size:12px;font-weight:500;display:flex}.show-head .eyebrow:before{content:"";background:var(--red);flex:none;width:10px;height:10px}.stage{position:relative}.rail{display:none}.scene{border-bottom:1px solid var(--line-soft);align-items:center;min-height:92svh;display:flex;position:relative;overflow:hidden}.scene:last-child{border-bottom:none}.scene-inner{width:100%;min-height:78svh;position:relative}.scene-art{position:absolute;inset:0}.ghost{letter-spacing:-.03em;color:var(--ink);text-align:center;pointer-events:none;user-select:none;z-index:2;font-size:clamp(3.6rem,9.5vw,8.4rem);font-weight:500;line-height:.92;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.slab{background:var(--red);z-index:1;position:absolute}.slab-a{clip-path:polygon(0 0,92% 0,100% 100%,8% 100%);width:clamp(220px,30vw,430px);height:clamp(80px,10vw,150px);top:38%;left:50%;transform:translate(-64%,-50%)}.slab-b{clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);width:clamp(180px,24vw,340px);height:clamp(80px,10vw,150px);top:58%;left:50%;transform:translate(-28%,-50%)}.s2 .slab-a{clip-path:none;border-radius:999px;width:clamp(150px,17vw,240px);height:clamp(150px,17vw,240px);transform:translate(-110%,-50%)}.s2 .slab-b{transform:translate(-10%,-30%)rotate(-8deg)}.s3 .slab-a{transform:translate(-50%,-120%)rotate(4deg)}.s3 .slab-b{clip-path:polygon(0 0,100% 8%,100% 100%,0 92%);transform:translate(-50%,30%)}.s4 .slab-a{clip-path:polygon(0 0,100% 0,84% 100%,16% 100%);transform:translate(-96%,-30%)rotate(-3deg)}.s4 .slab-b{border-radius:24px;transform:translate(6%,-64%)rotate(6deg)}.s5 .slab-a{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);border-radius:999px 999px 0 0;width:clamp(160px,18vw,250px);height:clamp(200px,22vw,300px);transform:translate(-88%,-56%)}.s5 .slab-b{clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);transform:translate(2%,-14%)rotate(-4deg)}.bot{z-index:3;width:auto;max-width:none;height:min(74svh,620px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scene-inner picture{display:contents}.s2 .bot{transform:translate(-50%,-50%)rotate(-6deg)}.s4 .bot{transform:translate(-50%,-50%)scaleX(-1)rotate(4deg)}.s5 .bot{transform:translate(-50%,-50%)rotate(5deg)}.scene-tag{left:var(--gutter);z-index:4;position:absolute;top:clamp(18px,4vh,44px)}.scene-tag .no{font-family:var(--font-serif-stack);color:var(--red);font-size:15px}.scene-tag h3{letter-spacing:-.01em;font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600}.scene-apps{left:var(--gutter);z-index:4;gap:6px;display:grid;position:absolute;bottom:clamp(18px,5vh,52px)}.scene-apps a{border-bottom:1px solid var(--line);width:fit-content;font-size:15px;font-weight:500;text-decoration:none;transition:color .2s,border-color .2s}.scene-apps a:hover{color:var(--red);border-color:var(--red)}.scene-data{right:var(--gutter);z-index:4;text-align:right;gap:12px;display:grid;position:absolute;bottom:clamp(18px,5vh,52px)}.scene-data div span{letter-spacing:.14em;text-transform:uppercase;color:var(--grey);font-size:10.5px;display:block}.scene-data div b{font-size:15px;font-weight:600}.scene-data div b i{font-family:var(--font-serif-stack);color:var(--red);font-style:normal}@media (width>=881px){.gs .stage{height:100svh}.gs .rail{left:var(--gutter);z-index:10;gap:10px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gs .rail button{all:unset;cursor:pointer;color:var(--grey);font-family:inherit;font-size:13.5px;font-weight:500;transition:color .25s}.gs .rail button.on{color:var(--ink)}.gs .rail button:focus-visible{outline:2px solid var(--red);outline-offset:4px;color:var(--ink)}.gs .scene{pointer-events:none;opacity:0;border-bottom:none;min-height:0;transition:opacity .35s;position:absolute;inset:0}.gs .scene:first-child{opacity:1}.gs .scene.live{opacity:1;pointer-events:auto}.gs .scene-inner{min-height:0;position:absolute;inset:0}.gs .scene-tag{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.gs .scene .slab{display:none}.gs .scene .ghost,.gs .scene .bot{will-change:opacity}.gs .bot{height:76svh;-webkit-mask-image:linear-gradient(#0000 0%,#000 6% 94%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 6% 94%,#0000 100%)}.gs .s2 .bot{height:70svh}.gs .s3 .bot{height:68svh}.gs .s4 .bot{height:72svh}.gs .s5 .bot{height:70svh;transform:translate(-50%,-50%)rotate(5deg)}.gs .scene-side{right:var(--gutter);z-index:4;flex-direction:column;align-items:flex-end;gap:28px;display:flex;position:absolute;bottom:clamp(60px,10vh,100px)}.gs .scene-apps{text-align:right;justify-items:end;position:static;bottom:auto;left:auto}.gs .scene-data{position:static;bottom:auto;right:auto}.mslab{background:var(--red);z-index:1;will-change:transform,clip-path;position:absolute;left:50%}}.cursor-dot{background:var(--red);pointer-events:none;z-index:500;opacity:0;mix-blend-mode:multiply;border-radius:50%;width:10px;height:10px;transition:width .25s ease-out,height .25s ease-out,opacity .3s ease-out;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot.big{opacity:.55;width:30px;height:30px}@media (pointer:coarse){.cursor-dot{display:none}}.work{padding-block:clamp(80px,12vh,130px)}.work-head{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:clamp(30px,5vh,52px);display:flex}.work-head h2{letter-spacing:-.03em;font-size:clamp(2rem,4.6vw,3.4rem);font-weight:500}.index{border-top:1.5px solid var(--ink)}.row{border-bottom:1px solid var(--line-soft);grid-template-columns:70px minmax(0,1fr) auto auto;align-items:start;gap:clamp(14px,3vw,40px);padding-block:clamp(18px,3vh,28px);text-decoration:none;transition:padding-left .25s ease-out;display:grid;position:relative}.row:hover,.row:focus-visible{padding-left:14px}.row .n{font-family:var(--font-serif-stack);color:var(--faint);padding-top:.35em;font-size:15px;transition:color .2s}.row:hover .n,.row:focus-visible .n,.row:focus-within .n{color:var(--red)}.row-main{gap:6px;min-width:0;display:grid}.row h3{letter-spacing:-.02em;font-size:clamp(1.25rem,2.6vw,1.9rem);font-weight:500;transition:color .2s}.row:hover h3,.row:focus-visible h3,.row:focus-within h3{color:var(--red)}.row .desc{color:var(--grey);max-width:46em;margin:0;font-size:14.5px;line-height:1.55}.row .stack{letter-spacing:.04em;color:var(--faint);margin:0;font-size:12px}.row .org{letter-spacing:.1em;text-transform:uppercase;color:var(--grey);white-space:nowrap;padding-top:.55em;font-size:12px}.row .go{color:var(--grey);white-space:nowrap;padding-top:.45em;font-size:14px;transition:transform .25s ease-out,color .2s}.row:hover .go,.row:focus-visible .go,.row:focus-within .go{color:var(--red);transform:translate(6px)}.xp-sec{padding-block:clamp(40px,7vh,80px) clamp(80px,12vh,130px)}.xp-sec .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:clamp(28px,5vh,48px);font-size:12px;font-weight:500;display:block}.xp{border-top:1px solid var(--line);grid-template-columns:180px 1fr;gap:clamp(20px,4vw,64px);padding-block:clamp(28px,4.5vh,44px);display:grid}.xp .yr{font-family:var(--font-serif-stack);color:var(--red);letter-spacing:-.02em;font-size:clamp(2.4rem,5vw,4rem);line-height:.9}.xp .yr small{line-height:1.45;font-family:var(--font-sans-stack);letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-top:10px;font-size:11.5px;display:block}.xp-body h3{letter-spacing:-.015em;font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:600}.xp-body h3 a{text-decoration:none}.xp-body h3 a:hover{color:var(--red)}.xp-body .role{letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin:4px 0 14px;font-size:12px}.xp-body p.sum{color:var(--grey);max-width:44em;margin-bottom:12px;font-size:15.5px}.wins{gap:8px;max-width:46em;display:grid}.wins li{padding-left:20px;font-size:15.5px;list-style:none;position:relative}.wins li:before{content:"";background:var(--red);width:8px;height:8px;position:absolute;top:.55em;left:0}.wins li b{font-weight:600}.wins li a{border-bottom:1px solid var(--line);font-weight:500;text-decoration:none}.wins li a:hover{color:var(--red);border-color:var(--red)}.method{background:var(--paper-2);padding-block:clamp(80px,12vh,130px)}.pull{text-align:center;font-family:var(--font-serif-stack);letter-spacing:-.01em;max-width:22em;margin-inline:auto;font-size:clamp(1.7rem,4.2vw,3.1rem);font-style:italic;font-weight:400;line-height:1.2}.pull b{color:var(--red);font-weight:400}.method-grid{grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.5vw,30px);margin-top:clamp(48px,8vh,80px);display:grid}.m-item{border-top:1.5px solid var(--ink);padding-top:16px}.m-item .no{font-family:var(--font-serif-stack);color:var(--red);margin-bottom:8px;font-size:15px;display:block}.m-item h3{margin-bottom:6px;font-size:15.5px;font-weight:600}.m-item p{color:var(--grey);font-size:13.5px;line-height:1.55}.m-item p a{color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none}.m-item p a:hover{color:var(--red);border-color:var(--red)}.contact{text-align:center;padding-block:clamp(90px,13vh,150px) 0}.contact h2{letter-spacing:-.03em;max-width:14em;margin-inline:auto;font-size:clamp(2.4rem,6vw,4.8rem);font-weight:500;line-height:1.05}.contact h2 em{font-family:var(--font-serif-stack);color:var(--red);font-style:italic;font-weight:400}.contact .mail{border-bottom:2px solid var(--ink);margin-top:clamp(26px,4.5vh,40px);padding-bottom:4px;font-size:clamp(1.05rem,2.4vw,1.5rem);font-weight:500;text-decoration:none;display:inline-block}.contact .mail:hover{color:var(--red);border-color:var(--red)}.strip-wrap{margin-top:clamp(56px,9vh,90px);overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.strip{background:var(--paper);will-change:transform;width:max-content;animation:36s linear infinite drift;display:flex}.strip:hover{animation-play-state:paused}.strip picture{display:contents}.strip img{filter:grayscale()contrast(1.02);mix-blend-mode:multiply;flex:none;width:auto;max-width:none;height:clamp(130px,17vw,210px);margin-right:clamp(40px,6vw,90px)}@keyframes drift{0%{transform:translate(0)}to{transform:translate(-50%)}}.contact-grid{text-align:left;max-width:1080px;padding-inline:var(--gutter);grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(30px,5vw,80px);margin:clamp(60px,9vh,100px) auto 0;display:grid}.c-meta{border-top:1.5px solid var(--ink);align-content:start;gap:0;display:grid}.c-meta a{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:14px;padding-block:15px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.c-meta a span{letter-spacing:.12em;text-transform:uppercase;color:var(--grey);align-self:center;font-size:11px}.c-meta a:hover{color:var(--red)}.form{border-top:1.5px solid var(--ink);gap:22px;padding-top:8px;display:grid}.form label{letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:6px;font-size:11px;display:block}.form input[type=text],.form input[type=email],.form textarea{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;padding:10px 0;font-family:inherit;font-size:16px;transition:border-color .2s}.form input:focus-visible,.form textarea:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-color:var(--red)}.form ::placeholder{color:var(--faint)}.form textarea{resize:vertical;min-height:96px}.form button{all:unset;cursor:pointer;color:var(--ink);border-bottom:2px solid var(--ink);width:fit-content;padding-bottom:4px;font-family:inherit;font-size:15.5px;font-weight:600;transition:color .2s,border-color .2s}.form button:hover{color:var(--red);border-color:var(--red)}.form button:disabled{opacity:.45;cursor:not-allowed}.form-actions{justify-items:start;gap:12px;display:grid}.form-status{color:var(--grey);font-size:14.5px}.form-status:empty{display:none}.form-status[data-state=error]{color:var(--red-text)}.form-warning{color:var(--grey);padding:8px 0 4px;font-size:14.5px}.hp{display:none}footer.site{border-top:1px solid var(--line-soft);margin-top:clamp(70px,10vh,110px)}.foot{color:var(--grey);text-align:left;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block:20px;font-size:12.5px;display:flex}.foot .mark{align-items:center;gap:8px;display:flex}.foot .mark .mark-svg{object-fit:contain;flex:none;width:14px;height:14px;display:block}.foot-links{gap:18px;list-style:none;display:flex}.foot a{color:var(--grey);text-decoration:none}.foot a:hover{color:var(--red)}@supports (animation-timeline:view()){html:not(.gs) .statement h2,html:not(.gs) .about-cols>*,html:not(.gs) .stat,html:not(.gs) .row,html:not(.gs) .xp,html:not(.gs) .m-item,html:not(.gs) .pull,html:not(.gs) .contact h2,html:not(.gs) .contact-grid>*{animation:linear both rise view();animation-range:entry entry 40%}@keyframes rise{0%{opacity:.001;transform:translateY(34px)}to{opacity:1;transform:none}}html:not(.gs) .stat:nth-child(2n){animation-name:riseOff}@keyframes riseOff{0%{opacity:.001;transform:translateY(clamp(30px,5vw,70px))translateY(34px)}to{opacity:1;transform:translateY(clamp(30px,5vw,70px))}}}.hero-eyebrow{animation:.8s ease-out .1s both fadeIn}.hero-h .l span{animation:.9s cubic-bezier(.22,.7,.2,1) both lineUp}.hero-h .l:first-child span{animation-delay:.15s}.hero-h .l:nth-child(2) span{animation-delay:.28s}.hero-h .l:nth-child(3) span{animation-delay:.41s}.hero-para{animation:.8s ease-out .6s both fadeIn}.scroll-cue{animation:.8s ease-out .8s both fadeIn}@keyframes lineUp{0%{transform:translateY(110%)}to{transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}@media (width<=900px){.nav-loc{display:none}.about-cols{grid-template-columns:1fr}.stats{grid-template-columns:1fr;row-gap:20px}.stats-grid{max-width:100%}.stats-note{max-width:100%;padding-top:0}.method-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.row{grid-template-columns:44px 1fr auto}.row .org{display:none}.row .desc{font-size:13.5px}.row .stack{font-size:11.5px}.xp{grid-template-columns:1fr;gap:12px}.xp .yr small{margin-left:10px;display:inline}}@media (width<=880px){.scene{min-height:0;padding-block:clamp(44px,7vh,72px);display:block}.scene-inner{gap:clamp(18px,3vh,28px);min-height:0;display:grid}.scene-tag{order:-1;position:static}.scene-tag h3{font-size:clamp(1.4rem,5vw,1.8rem)}.scene-art{height:clamp(340px,60svh,560px);margin-inline:calc(var(--gutter) * -1);position:relative;inset:auto}.ghost{font-size:clamp(2.6rem,13vw,4.8rem)}.bot{height:88%}.scene-side{gap:22px;display:grid}.scene-apps{flex-wrap:wrap;gap:10px 22px;display:flex;position:static}.scene-data{text-align:left;border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px 24px;padding-top:18px;position:static}.gs .scene-art .slab{transform-origin:0;transition:scale .9s cubic-bezier(.22,.7,.2,1);scale:0 1}.gs .scene-art .slab-b{transform-origin:100%;transition-delay:.12s}.gs .scene-art .ghost{opacity:0;transition:opacity .7s .2s,translate .9s cubic-bezier(.22,.7,.2,1) .2s;translate:0 22px}.gs .scene-art .bot{opacity:0;transition:opacity .8s .3s,translate 1.1s cubic-bezier(.22,.7,.2,1) .3s;translate:0 36px}.gs .scene.in .scene-art .slab{scale:1}.gs .scene.in .scene-art .ghost,.gs .scene.in .scene-art .bot{opacity:1;translate:0}}@media (width<=760px){.nav-cta{display:none}.nav-resume-mobile{display:inline}.nav-links{padding-right:var(--gutter);margin-inline:18px 0}.js .nav-toggle{margin-left:auto;margin-right:var(--gutter);cursor:pointer;font:inherit;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;padding:10px 0;font-size:12.5px;font-weight:600;display:flex}.nav-toggle-icon{width:20px;height:10px;position:relative}.nav-toggle-icon:before,.nav-toggle-icon:after{content:"";background:currentColor;height:1.5px;transition:transform .25s;position:absolute;left:0;right:0}.nav-toggle-icon:before{top:0}.nav-toggle-icon:after{bottom:0}.nav-open .nav-toggle-icon:before{transform:translateY(4.25px)rotate(45deg)}.nav-open .nav-toggle-icon:after{transform:translateY(-4.25px)rotate(-45deg)}.js .nav-links{padding:6px var(--gutter) 26px;background:var(--paper);border-bottom:1px solid var(--line);opacity:0;visibility:hidden;gap:0;margin:0;transition:opacity .2s,transform .2s,visibility 0s linear .2s;display:grid;position:absolute;top:100%;left:0;right:0;overflow:visible;transform:translateY(-8px);box-shadow:0 24px 40px -28px #17171a66}.js.nav-open .nav-links{opacity:1;visibility:visible;transition:opacity .2s,transform .2s;transform:none}.js .nav-links a{letter-spacing:-.02em;border-bottom:1px solid var(--line-soft);padding:12px 0;font-size:clamp(1.5rem,7vw,2rem);font-weight:500}.js .nav-links a:after{display:none}.js .nav-links a:hover,.js .nav-links a:focus-visible{color:var(--red)}.js .nav-links .nav-resume-mobile{color:var(--red);border-bottom:none}}@media (width<=620px){.stats-grid{grid-template-columns:1fr 1fr;gap:12px}.stat:nth-child(2n){transform:none}html:not(.gs) .stat:nth-child(2n){animation-name:rise}.stat{gap:18px;min-height:0;padding:18px 16px 16px}.stat .num{font-size:clamp(2.4rem,11.5vw,3.4rem)}.method-grid{grid-template-columns:1fr}.row{grid-template-columns:32px minmax(0,1fr);row-gap:10px}.row .go{grid-column:2;padding-top:0}.hero-foot{flex-direction:column;align-items:flex-start}.hero-para{max-width:100%}.l-ridge img{width:auto;height:52%;left:-38%}.foot{flex-direction:column;align-items:flex-start;gap:8px}}
