html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}:root{--stone:#e7e7e3;--paper:#f7f7f3;--ink:#202124;--muted:#64666b;--line:#c6c7c4;--blue:#365ad8;--gutter:clamp(24px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:42px}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:7px}::selection{color:#fff;background:var(--blue)}.skip{z-index:20;background:#fff;padding:14px;position:absolute;top:-100px;left:20px}.skip:focus{top:46px}.hero{isolation:isolate;background:var(--stone);height:100svh;min-height:760px;max-height:1050px;position:relative;overflow:hidden}.header{z-index:2;padding:32px var(--gutter);justify-content:space-between;align-items:center;gap:20px;display:flex;position:relative}.brand{align-items:center;gap:16px;font-size:12px;font-weight:500;display:flex}.brand-mark{letter-spacing:-4px;padding-right:4px;font-size:32px;font-weight:800;line-height:1}.nav{gap:30px;font-size:13px;display:flex}.nav a{position:relative}.nav a:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;transition:transform .2s;position:absolute;bottom:-10px;left:calc(50% - 2px);transform:scale(0)}.nav a:hover:after{transform:scale(1)}.hero-intro{z-index:1;padding:clamp(40px,9vh,100px) var(--gutter) 0;justify-content:space-between;align-items:flex-start;display:flex;position:relative}.hero-title{letter-spacing:-.05em;max-width:550px;margin:0;font-size:clamp(28px,3.35vw,50px);font-weight:500;line-height:1.22}.hero-meta{letter-spacing:-.035em;flex-shrink:0;width:clamp(290px,28vw,420px);padding-top:5px;font-size:clamp(22px,1.7vw,28px);font-weight:500;line-height:1.45}.hero-meta p{margin:0 0 23px}.location{color:#4f5257;align-items:center;gap:9px;font-size:12px;display:flex}.location:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;display:block}.portrait{pointer-events:none;width:min(47vw,580px);height:calc(100% - 104px);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.portrait img{object-fit:contain;object-position:center bottom;width:100%;height:100%;display:block}.contact-orb{right:var(--gutter);z-index:3;text-align:center;background:var(--blue);color:#fff;border-radius:50%;place-content:center;width:128px;height:128px;font-size:13px;transition:background .25s;display:grid;position:absolute;top:47%}.contact-orb .arrow{margin-bottom:9px;font-size:27px;font-weight:400;line-height:1}.contact-orb:hover{background:#2444b8}.name-window{z-index:1;color:#fff;mix-blend-mode:difference;position:absolute;bottom:68px;left:0;right:0;overflow:hidden}.name-track{width:max-content;animation:27s linear infinite marquee;display:flex}.name-track span{letter-spacing:-.065em;white-space:nowrap;padding-right:.3em;font-size:clamp(115px,17.3vw,285px);font-weight:500;line-height:1.15}@keyframes marquee{to{transform:translate(-50%)}}.is-paused .name-track{animation-play-state:paused}.hero-bottom{z-index:2;bottom:24px;left:var(--gutter);right:var(--gutter);color:#fff;mix-blend-mode:difference;justify-content:space-between;align-items:center;gap:20px;font-size:11px;display:flex;position:absolute}.hero-bottom a{align-items:center;gap:20px;display:flex}.hero-bottom .down{font-size:22px}.motion-toggle{color:inherit;background:0 0;border:0;padding:10px 0 10px 10px;font-size:11px}.intro{padding:120px var(--gutter) 110px;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:12vw;display:grid}.intro h2{letter-spacing:-.045em;max-width:800px;margin:0;font-size:clamp(28px,3.6vw,52px);font-weight:500;line-height:1.3}.intro p{color:var(--muted);margin:10px 0 28px;font-size:14px;line-height:1.8}.text-link{border-bottom:1px solid;padding-bottom:7px;font-size:13px;display:inline-block}.work{padding:0 var(--gutter) 130px}.section-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;font-size:12px;display:flex}.section-heading h2{margin:0;font-size:12px;font-weight:500}.work-list{position:relative}.project{text-align:left;border:0;border-top:1px solid var(--line);width:100%;color:var(--ink);background:0 0;grid-template-columns:minmax(0,1fr) 250px 42px;align-items:center;gap:30px;padding:43px 18px;transition:padding .3s,color .3s;display:grid}.project:last-child{border-bottom:1px solid var(--line)}.project-name{letter-spacing:-.055em;font-size:clamp(34px,5.3vw,76px);font-weight:500;line-height:1.15;display:block}.project-kind{color:var(--muted);padding-top:9px;font-size:12px;display:block}.project-stack{color:var(--muted);font-size:12px;line-height:1.7}.project-arrow{justify-self:end;font-size:28px;font-weight:400;transition:transform .3s}.project:hover,.project:focus-visible{color:var(--blue);padding-left:34px}.project:hover .project-arrow{transform:rotate(45deg)}.work-note{color:var(--muted);margin:21px 18px 0;font-size:11px}.about{padding:100px var(--gutter) 112px;color:var(--paper);background:var(--ink);border-radius:0 0 50% 50%/0 0 3% 3%}.about .section-heading{color:#b9bac0}.about-grid{grid-template-columns:1.25fr 1fr;gap:10vw;display:grid}.about h3{letter-spacing:-.045em;margin:0 0 34px;font-size:clamp(37px,5vw,72px);font-weight:500;line-height:1.15}.about p{color:#c2c3c8;max-width:570px;font-size:15px;line-height:1.9}.capabilities{gap:30px;padding-top:10px;display:grid}.capability{border-top:1px solid #4f5055;padding-top:16px}.capability h4{margin:0 0 12px;font-size:18px;font-weight:500}.capability p{margin:0;font-size:12px}.experience{padding:110px var(--gutter) 120px;grid-template-columns:.65fr 1.35fr;gap:7vw;display:grid}.experience h2{letter-spacing:-.045em;margin:0 0 22px;font-size:40px;font-weight:500}.experience-intro p{color:var(--muted);max-width:250px;font-size:13px;line-height:1.8}.job{border-top:1px solid var(--line);grid-template-columns:1fr auto;column-gap:20px;padding:22px 0;display:grid}.job:last-child{border-bottom:1px solid var(--line)}.job h3{letter-spacing:-.03em;margin:0 0 5px;font-size:19px;font-weight:500}.job p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.job time{color:var(--muted);white-space:nowrap;padding-top:5px;font-size:10px}.footer{padding:90px var(--gutter) 30px;color:#fff;background:var(--ink)}.footer-top{border-bottom:1px solid #4f5055;justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:55px;display:flex}.footer h2{letter-spacing:-.05em;margin:0;font-size:clamp(43px,7.4vw,108px);font-weight:500;line-height:1.1}.footer-cta{color:#fff;background:var(--blue);border-radius:50%;flex:0 0 130px;place-items:center;height:130px;font-size:12px;display:grid}.email{letter-spacing:-.025em;margin:35px 0 65px;font-size:clamp(16px,2.1vw,30px);display:inline-block}.footer-bottom{color:#b9bac0;justify-content:space-between;align-items:center;gap:20px;font-size:10px;display:flex}.footer-bottom a{padding:10px 0}dialog{width:min(850px,100vw - 36px);max-height:calc(100svh - 48px);color:var(--ink);background:var(--paper);border:0;border-radius:4px;padding:0;box-shadow:0 30px 100px #0004}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#20212499}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:22px 30px;display:flex}.dialog-head span{color:var(--muted);font-size:11px}.close{border:1px solid var(--line);background:0 0;border-radius:50%;width:38px;height:38px;font-size:22px}.dialog-content{padding:45px clamp(24px,5vw,60px) 60px}.dialog-content h2{letter-spacing:-.05em;margin:0 0 24px;font-size:clamp(32px,5vw,58px);font-weight:500}.diagram{background:var(--stone);border-radius:2px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:28px 0 36px;padding:40px 20px;display:flex}.diagram span{background:var(--paper);border:1px solid #b5b7b9;border-radius:8px;padding:17px 20px;font-size:12px}.diagram b{color:var(--muted);font-weight:400}.diagram .core{color:#fff;background:var(--blue);border-color:var(--blue)}.dialog-content h3{margin:30px 0 10px;font-size:15px}.dialog-content p{color:var(--muted);margin:0;font-size:14px;line-height:1.85}.dialog-content ul{color:var(--muted);padding-left:19px;font-size:14px;line-height:1.85}@media (prefers-reduced-motion:no-preference){.hero-title,.hero-meta{animation:.9s cubic-bezier(.2,.7,.2,1) both enter}.hero-meta{animation-delay:.15s}.portrait img{animation:1.2s cubic-bezier(.2,.7,.2,1) both portrait-enter}@keyframes enter{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}@media (width>=1600px){.portrait{width:680px;height:calc(100% - 110px)}}@media (width<=900px){.hero{min-height:760px}.hero-intro{padding-top:70px}.hero-title{max-width:400px;font-size:34px}.hero-meta{width:280px;font-size:22px}.portrait{width:500px;height:calc(100% - 240px)}.contact-orb{width:105px;height:105px;font-size:11px;top:49%}.intro{gap:7vw;padding-top:85px;padding-bottom:80px}.project{grid-template-columns:1fr 175px 32px;gap:20px}.project-stack{font-size:10px}.about-grid{gap:7vw}.experience{grid-template-columns:.6fr 1.4fr;gap:5vw}.job{grid-template-columns:1fr;row-gap:6px}}@media (width<=600px){.hero{height:100svh;min-height:730px;max-height:850px}.header{padding-top:23px;padding-bottom:23px}.brand{gap:10px;font-size:10px}.brand-mark{font-size:26px}.brand span:last-child{width:91px;line-height:1.5}.nav{gap:20px;font-size:11px}.nav .nav-about{display:none}.hero-intro{padding-top:43px;display:block}.hero-title{max-width:330px;font-size:34px}.hero-meta{width:100%;max-width:310px;margin-top:18px;font-size:22px}.hero-meta p{margin-bottom:12px}.location{font-size:10px}.portrait{width:330px;height:auto;top:47%;bottom:74px}.portrait img{object-fit:cover;object-position:center top}.contact-orb{width:88px;height:88px;font-size:10px;top:55%;right:24px}.contact-orb .arrow{margin-bottom:5px;font-size:22px}.name-window{bottom:74px}.name-track span{font-size:125px}.hero-bottom{font-size:9px;bottom:20px}.motion-toggle{font-size:9px}.intro{grid-template-columns:1fr;gap:26px;padding-top:65px;padding-bottom:65px}.intro h2{font-size:31px}.intro p{max-width:330px;margin-top:0;font-size:13px}.work{padding-bottom:75px}.section-heading{margin-bottom:23px;font-size:10px}.section-heading h2{font-size:10px}.project{grid-template-columns:1fr 26px;gap:14px;padding:30px 0}.project-name{font-size:40px}.project-kind{font-size:10px}.project-stack{grid-area:2/1;font-size:10px}.project-arrow{grid-area:1/2/3;font-size:25px}.project:hover,.project:focus-visible{padding-left:7px}.work-note{margin-left:0;font-size:10px}.about{padding-top:65px;padding-bottom:75px}.about-grid{grid-template-columns:1fr;gap:35px}.about h3{margin-bottom:25px;font-size:42px}.about p{font-size:13px}.capabilities{gap:25px}.capability h4{font-size:16px}.capability p{font-size:11px}.experience{grid-template-columns:1fr;gap:35px;padding-top:70px;padding-bottom:75px}.experience h2{font-size:34px}.experience-intro p{max-width:320px}.job{grid-template-columns:1fr;padding:20px 0}.job h3{font-size:18px}.footer{padding-top:65px}.footer-top{align-items:center;gap:15px;padding-bottom:36px}.footer h2{font-size:43px}.footer-cta{flex-basis:80px;height:80px;font-size:10px}.email{margin-bottom:50px;font-size:20px}.footer-bottom{font-size:9px}.dialog-head{padding:15px 22px}.dialog-content{padding-top:28px}.diagram{grid-template-columns:1fr;justify-items:center;gap:7px;padding:24px 10px;display:grid}.diagram b{line-height:1;transform:rotate(90deg)}.diagram span{padding:12px;font-size:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.name-track{transform:translate(0)}}[hidden]{display:none!important}.project{cursor:pointer}.project-name,.project-stack,.project-kind{transition:transform .55s cubic-bezier(.22,.7,.2,1),opacity .35s}.project:hover .project-name,.project:focus-visible .project-name{transform:translate(10px)}.project:hover .project-stack{transform:translate(-6px)}.project:focus-visible{outline-offset:-5px}.name-track{will-change:transform;animation:none}.contact-orb,.footer-cta{isolation:isolate;overflow:hidden}.contact-orb:before,.footer-cta:before{content:"";z-index:-1;background:#203ba8;border-radius:50%;transition:transform .65s cubic-bezier(.22,.8,.2,1);position:absolute;inset:-10%;transform:translateY(105%)}.contact-orb:hover:before,.contact-orb:focus-visible:before,.footer-cta:hover:before,.footer-cta:focus-visible:before{transform:translateY(0)}.footer-cta{position:relative}.experience{z-index:2;background:var(--paper);border-radius:0 0 50% 50%/0 0 60px 60px;position:relative}.footer{margin-top:-60px;padding-top:150px;overflow:hidden}.footer-top,.email{will-change:transform}html.lenis{scroll-behavior:auto!important}.motion-line{margin-bottom:-.13em;padding-bottom:.13em;display:block;overflow:clip}.motion-line>span{transform-origin:0;display:block}.portrait img{transform-origin:bottom;animation:none}.project>span:not(.project-arrow){transition:none}.nav-toggle,.menu-close{background:var(--ink);color:#fff;border:0;border-radius:50%;place-content:center;gap:6px;width:68px;height:68px;display:grid}.nav-toggle{z-index:50;pointer-events:none;transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s,top .3s;position:fixed;top:22px;right:24px;transform:scale(0)}.nav-toggle.is-visible{pointer-events:auto;transform:scale(1)}.nav-toggle:hover{background:var(--blue)}.nav-toggle span,.menu-close span{background:currentColor;width:23px;height:1px;display:block}.navigation-dialog{background:var(--ink);color:#fff;width:min(500px,100vw);max-width:100vw;height:100svh;max-height:none;box-shadow:none;border:0;border-radius:0;margin:0;padding:120px 70px 42px;position:fixed;inset:0 0 0 auto;overflow:auto}.navigation-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#20212455}.menu-close{background:var(--blue);position:absolute;top:22px;right:24px}.menu-close span:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-close span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.menu-caption{color:#b9bac0;border-bottom:1px solid #56575b;margin:0 0 35px;padding-bottom:22px;font-size:11px}.menu-links{gap:15px;display:grid}.menu-links a{letter-spacing:-.045em;width:fit-content;font-size:clamp(43px,5vw,64px);line-height:1.2;display:block}.menu-links a:before{content:"";vertical-align:middle;background:#fff;border-radius:50%;width:7px;height:7px;margin-right:18px;transition:transform .3s;display:inline-block;transform:scale(0)}.menu-links a:hover:before,.menu-links a:focus-visible:before{transform:scale(1)}.menu-email{color:#c7c8ce;margin-top:70px;font-size:12px;display:inline-block}.page-curtain{z-index:100;background:var(--ink);color:#fff;pointer-events:none;will-change:transform,border-radius;place-items:center;display:grid;position:fixed;inset:0;transform:translateY(110%)}.page-curtain.is-active{pointer-events:auto}.curtain-label{letter-spacing:-.03em;align-items:center;gap:15px;font-size:clamp(25px,3.2vw,45px);display:flex}.curtain-label:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.work-preview{z-index:40;width:350px;color:var(--ink);pointer-events:none;opacity:0;visibility:hidden;will-change:transform;background:#e4e6e5;padding:18px;transition:opacity .2s,visibility .2s;position:fixed;top:0;left:0;box-shadow:0 18px 55px #20212418}.work-preview.is-visible{opacity:1;visibility:visible}.preview-meta{color:var(--muted);justify-content:space-between;gap:10px;padding:0 0 15px;font-size:10px;display:flex}.preview-label{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:76px;height:76px;font-size:11px;display:grid;position:absolute;bottom:20px;right:22px}.system-art{--case-accent:var(--blue);--case-board:#e0e4ed;color:var(--ink);background:var(--case-board);padding:clamp(24px,5vw,72px);position:relative;overflow:hidden}.art-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:clamp(50px,8vw,115px);display:flex}.art-heading strong{letter-spacing:-.055em;font-size:clamp(29px,4vw,58px);font-weight:500;line-height:1.15}.art-heading small{color:var(--muted);text-align:right;font-size:11px;line-height:1.5}.art-flow{justify-content:center;align-items:center;max-width:870px;margin:0 auto;padding-bottom:55px;display:flex}.art-node{text-align:center;background:#ffffffb8;border:1px solid #20212424;border-radius:10px;flex:1;min-width:0;padding:30px 18px;box-shadow:0 16px 32px #20212405}.art-node span{font-size:12px;line-height:1.7;display:block}.art-node strong{letter-spacing:-.04em;font-size:clamp(17px,2.2vw,29px);font-weight:500;line-height:1.3;display:block}.art-node.is-core{color:#fff;background:var(--case-accent);border-color:var(--case-accent);transform:translateY(-18px);box-shadow:0 18px 35px #20212412}.art-link{background:#20212450;flex:0 0 40px;height:1px;position:relative}.art-link:after{content:"";background:var(--case-accent);border-radius:50%;width:5px;height:5px;animation:1.4s cubic-bezier(.2,.7,.2,1) both flow-once;position:absolute;top:-2px;left:0}@keyframes flow-once{0%{transform:translate(0)}to{transform:translate(35px)}}.art-foot{color:var(--muted);justify-content:space-between;gap:20px;font-size:10px;display:flex}.work-preview .system-art{padding:26px 18px 30px}.work-preview .art-heading{margin-bottom:32px}.work-preview .art-heading strong{font-size:29px}.work-preview .art-heading small,.work-preview .art-node span,.work-preview .art-foot{display:none}.work-preview .art-flow{padding-bottom:12px}.work-preview .art-node{border-radius:6px;padding:16px 9px}.work-preview .art-node strong{font-size:13px}.work-preview .art-node.is-core{transform:translateY(-9px)}.work-preview .art-link{flex-basis:15px}.work-preview .art-link:after{display:none}.case-page{background:var(--paper)}.case-intro{padding:80px max(var(--gutter),calc((100vw - 1020px)/2)) 65px}.case-back{color:var(--muted);align-items:center;gap:14px;margin-bottom:45px;padding:5px 0;font-size:12px;display:inline-flex}.case-back span{font-size:20px}.case-title{letter-spacing:-.06em;margin:0;font-size:clamp(60px,9.5vw,138px);font-weight:500;line-height:1.07}.case-title:focus{outline:none}.case-title-mask{padding-bottom:.1em;display:block;overflow:hidden}.case-title-mask>span{display:block}.case-meta{grid-template-columns:1fr 1fr 1.4fr;gap:50px;margin-top:65px;display:grid}.case-meta div{border-top:1px solid var(--line);padding-top:16px}.case-meta dt{color:var(--muted);margin-bottom:20px;font-size:10px}.case-meta dd{margin:0;font-size:13px;line-height:1.8}.has-case-website .case-intro{padding-bottom:clamp(104px,9vw,140px)}.case-showcase-wrap{position:relative}.case-showcase-wrap .case-showcase .system-art{padding-top:clamp(80px,8vw,110px)}.case-live{z-index:3;top:0;right:calc(var(--gutter) + clamp(20px,6vw,90px));aspect-ratio:1;width:clamp(112px,12vw,170px);position:absolute;transform:translateY(-50%)}.case-website{isolation:isolate;color:#fff;background:var(--blue);letter-spacing:-.02em;border-radius:50%;place-items:center;width:100%;height:100%;font-size:14px;display:grid;position:relative;overflow:hidden}.case-website:before{content:"";z-index:-1;background:#203ba8;border-radius:50%;transition:transform .65s cubic-bezier(.22,.8,.2,1);position:absolute;inset:-10%;transform:translateY(105%)}.case-website:hover:before,.case-website:focus-visible:before{transform:translateY(0)}.case-website-label{align-items:center;gap:10px;display:flex}.case-website-arrow{font-size:19px;line-height:1}.case-showcase{margin:0 var(--gutter);overflow:hidden}.case-showcase-inner{will-change:transform}.site-preview{background:var(--case-board);padding:clamp(88px,8vw,110px) clamp(18px,4vw,60px) clamp(18px,4vw,60px)}.site-browser{background:#fff;overflow:hidden;box-shadow:0 16px 48px #20212414}.site-toolbar{min-height:56px;color:var(--ink);background:#fff;border-bottom:1px solid #20212415;justify-content:space-between;align-items:center;gap:16px;padding:8px 20px;font-size:12px;display:flex}.site-domain{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.site-toggle{border:1px solid var(--line);min-height:40px;color:var(--ink);background:0 0;border-radius:30px;flex-shrink:0;padding:8px 15px;font-size:12px}.site-toggle:hover,.site-toggle[aria-pressed=true]{color:#fff;background:var(--ink);border-color:var(--ink)}.site-preview-kind{color:var(--muted);white-space:nowrap;font-size:10px}.site-viewport{aspect-ratio:16/9;background:#e7e7e3;position:relative;overflow:hidden}.site-cover,.site-capture-link,.site-capture-link img{width:100%;height:100%;display:block}.site-cover,.site-capture-link img{object-fit:cover;object-position:center top}.site-embed{zoom:var(--site-scale,1);visibility:hidden;pointer-events:none;border:0;width:1280px;height:720px;position:absolute;top:0;left:0}.site-preview.is-interactive .site-browser{transform:none!important}.site-preview.is-interactive.is-loaded .site-embed{visibility:visible;pointer-events:auto}.site-preview.is-interactive.is-loaded .site-cover{visibility:hidden}.site-loading{color:var(--ink);background:#fff;border-radius:20px;padding:10px 14px;font-size:12px;display:none;position:absolute;bottom:16px;left:16px}.site-preview.is-loading .site-loading{display:block}.site-thumb{background:var(--case-board);padding:16px}.site-thumb img{aspect-ratio:16/9;object-fit:cover;object-position:center top;width:100%;height:auto;display:block}.work-preview .site-thumb{height:200px;overflow:hidden}.work-preview .site-thumb img{height:100%}.next-preview .site-thumb{height:100%;padding:12px}.next-preview .site-thumb img{height:100%}.case-overview{padding:105px max(var(--gutter),calc((100vw - 1020px)/2));grid-template-columns:.7fr 1.3fr;gap:10vw;display:grid}.case-overview h2{color:var(--muted);margin:0;font-size:13px;font-weight:500}.case-overview h3{letter-spacing:-.045em;margin:0 0 25px;font-size:clamp(29px,3.6vw,48px);font-weight:500;line-height:1.25}.case-overview p{color:var(--muted);max-width:630px;margin:0;font-size:15px;line-height:1.9}.case-contribution{padding:0 max(var(--gutter),calc((100vw - 1020px)/2)) 120px;grid-template-columns:.7fr 1.3fr;gap:10vw;display:grid}.case-contribution h2{color:var(--muted);margin:24px 0 0;font-size:13px;font-weight:500}.contribution-row{border-top:1px solid var(--line);padding:25px 0}.contribution-row:last-child{border-bottom:1px solid var(--line)}.contribution-row h3{letter-spacing:-.025em;margin:0 0 12px;font-size:22px;font-weight:500}.contribution-row p{color:var(--muted);max-width:610px;margin:0;font-size:14px;line-height:1.85}.case-bottom-note{padding:0 var(--gutter) 70px;color:var(--muted);text-align:center;font-size:11px;line-height:1.7}.case-next{padding:85px var(--gutter) 30px;color:#fff;background:var(--ink);position:relative;overflow:hidden}.case-next:before{content:"";background:var(--paper);border-radius:0 0 50% 50%/0 0 100% 100%;width:120%;height:40px;position:absolute;top:-1px;left:-10%}.next-case-link{text-align:center;border-bottom:1px solid #4f5055;padding:35px 0 85px;display:block;position:relative}.next-case-link>span{margin-bottom:28px;font-size:13px;display:block}.next-case-link h2{letter-spacing:-.05em;z-index:2;margin:0;font-size:clamp(52px,8vw,112px);font-weight:500;line-height:1.2;transition:opacity .4s,transform .6s;position:relative}.next-preview{opacity:0;width:300px;height:170px;transition:opacity .4s,transform .7s cubic-bezier(.22,.75,.2,1);position:absolute;top:112px;left:calc(50% - 150px);overflow:hidden;transform:translateY(55px)scale(.9)}.next-preview .system-art{height:100%;padding:18px}.next-preview .art-heading{margin-bottom:28px}.next-preview .art-heading strong{font-size:27px}.next-preview .art-heading small,.next-preview .art-foot,.next-preview .art-node span{display:none}.next-preview .art-node{border-radius:5px;padding:12px 8px}.next-preview .art-node strong{font-size:12px}.next-preview .art-flow{padding-bottom:0}.next-preview .art-link{flex-basis:15px}.next-preview .art-link:after{display:none}.next-preview .art-node.is-core{transform:translateY(-8px)}.next-case-link:hover h2,.next-case-link:focus-visible h2{opacity:.25;transform:translateY(-10px)}.next-case-link:hover .next-preview,.next-case-link:focus-visible .next-preview{opacity:1;transform:translateY(0)scale(1)}.next-case-link .next-view{z-index:3;background:var(--blue);color:#fff;opacity:0;border-radius:50%;place-items:center;width:90px;height:90px;font-size:11px;transition:opacity .3s,transform .5s;display:grid;position:absolute;top:80px;left:calc(50% - 45px);transform:scale(.6)}.next-case-link:hover .next-view,.next-case-link:focus-visible .next-view{opacity:1;transform:scale(1)}.case-next-bottom{color:#b9bac0;justify-content:space-between;align-items:center;gap:25px;padding:30px 0;font-size:11px;display:flex}.all-work-link{color:#fff;border:1px solid #65666b;border-radius:40px;padding:18px 26px}@media (width<=900px){.case-intro{padding-top:55px}.case-meta{gap:25px}.case-overview,.case-contribution{gap:6vw}.case-overview{padding-top:75px;padding-bottom:70px}.system-art{padding:35px}.art-link{flex-basis:25px}.art-node{padding:24px 12px}}@media (width<=600px){.site-toolbar{gap:8px;min-height:52px;padding:6px 12px;font-size:11px}.site-toggle{padding:8px 12px;font-size:11px}.site-preview-kind{font-size:9px}.case-live{right:calc(15px + 6vw)}.case-website{font-size:13px}.header .nav{display:none}.nav-toggle,.menu-close{width:52px;height:52px}.nav-toggle{top:54px}.nav-toggle.is-scrolled{top:20px}.navigation-dialog{padding:110px 30px 35px}.menu-links a{font-size:49px}.menu-email{margin-top:55px}.work-preview{display:none}.experience{border-radius:0 0 50% 50%/0 0 25px 25px}.footer{margin-top:-25px;padding-top:90px}.case-intro{padding-top:35px;padding-bottom:40px}.case-back{margin-bottom:25px;font-size:11px}.case-title{font-size:clamp(48px,13.6vw,78px)}.case-meta{grid-template-columns:1fr;gap:22px;margin-top:36px}.case-meta div{grid-template-columns:90px 1fr;gap:18px;padding-top:13px;display:grid}.case-meta dt{margin:0;padding-top:2px;font-size:10px}.case-meta dd{font-size:12px}.case-showcase{margin:0 15px}.system-art{padding:28px 24px}.art-heading{align-items:flex-start;margin-bottom:35px}.art-heading strong{font-size:35px}.art-heading small{max-width:90px;font-size:9px}.art-flow{flex-direction:column;padding-bottom:28px}.art-node{flex:auto;width:100%;padding:20px}.art-node strong{font-size:24px}.art-node span{font-size:10px}.art-node.is-core{transform:none}.art-link{flex:auto;width:1px;height:25px}.art-link:after{display:none}.art-foot{font-size:9px;line-height:1.6}.case-overview,.case-contribution{grid-template-columns:1fr;gap:25px}.case-overview{padding-top:60px;padding-bottom:45px}.case-overview p{font-size:13px}.case-overview h3{font-size:32px}.case-contribution{padding-bottom:65px}.case-contribution h2{margin-top:0}.contribution-row h3{font-size:20px}.contribution-row p{font-size:13px}.case-bottom-note{padding-bottom:45px;font-size:10px}.case-next{padding-top:65px}.case-next:before{height:25px}.next-case-link{padding-bottom:65px}.next-case-link h2{font-size:51px}.next-case-link>span{font-size:11px}.next-preview,.next-case-link .next-view{display:none}.case-next-bottom{gap:15px;font-size:9px}.all-work-link{white-space:nowrap;padding:15px 20px}}@media (prefers-reduced-motion:reduce){.work-preview,.page-curtain{display:none}.case-showcase-inner,.footer-top,.email{transform:none!important}.next-case-link:hover h2,.next-case-link:focus-visible h2{opacity:1;transform:none}.next-preview,.next-view{display:none!important}}@font-face{font-family:Manrope;src:url(/fonts/manrope-variable.ttf)format("truetype");font-style:normal;font-weight:200 800;font-display:swap}.hero{height:100svh}.nav-toggle{top:22px}.nav-toggle:focus-visible{pointer-events:auto;transform:scale(1)}.experience{border-radius:0}.job-details{grid-column:1/-1;margin-top:14px}.job-details summary{cursor:pointer;width:fit-content;color:var(--muted);padding:7px 0;font-size:11px}.job-details summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.job-details p{max-width:580px;padding-top:12px;line-height:1.9}.credentials{z-index:2;padding:0 var(--gutter) 120px;background:var(--paper);border-radius:0 0 50% 50%/0 0 60px 60px;grid-template-columns:1fr 1fr;gap:8vw;display:grid;position:relative}.credentials h2{color:var(--muted);margin:0 0 30px;font-size:12px;font-weight:500}.credential{border-top:1px solid var(--line);padding:22px 0}.credential h3{letter-spacing:-.03em;margin:0 0 9px;font-size:19px;font-weight:500}.credential p{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.credential time{color:var(--muted);margin-top:12px;font-size:10px;display:block}@media (width<=600px){.nav-toggle{top:20px}.experience{border-radius:0}.credentials{border-radius:0 0 50% 50%/0 0 25px 25px;grid-template-columns:1fr;gap:40px;padding-bottom:80px}.credential h3{font-size:18px}.site-toolbar{gap:6px}}
