:root{--paper:#e4e4e4;--ink:#212121;--pad:clamp(22px,5vw,96px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;padding:0;border:0;background:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid #9b9b9b;outline-offset:6px}header{position:absolute;z-index:2;top:0;width:100%;display:flex;align-items:center;gap:34px;padding:25px var(--pad);color:#ffffff;font-size:12px}.monogram{font-size:30px;font-weight:700;letter-spacing:-2px}header>span{font-size:10px;line-height:1.3}nav{display:flex;gap:7px;margin:auto}header .email{border-bottom:1px solid #ffffff80;padding-bottom:3px}.hero{height:100svh;min-height:680px;position:relative;color:#f2f2f2;background:#060303;overflow:hidden}.hero>video,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(#0006,transparent 35%,#0005 65%,#000b)}.hero-top{position:absolute;top:120px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px}.hero-top button{font:9px monospace;text-transform:uppercase;border-bottom:1px solid #ffffff70;padding-bottom:5px}.hero-caption{position:absolute;bottom:clamp(210px,22vw,340px);left:var(--pad);font:10px monospace;display:flex;flex-direction:column;gap:10px}.hero-caption button{text-align:left;font:12px Helvetica,Arial,sans-serif;border-bottom:1px solid #fff8;padding-bottom:5px;width:max-content}.hero h1{position:absolute;bottom:64px;left:var(--pad);right:var(--pad);margin:0;font-size:clamp(70px,12.8vw,230px);font-weight:500;line-height:.86;letter-spacing:-.075em;white-space:nowrap}.hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.075em}.hero-foot{position:absolute;bottom:22px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:10px}.work{padding:58px var(--pad) 75px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:28px}.section-head h2{font-size:24px;font-weight:400;letter-spacing:-1px;margin:0}.section-head sup{font:10px monospace;margin-left:10px}.section-head>span{font-size:10px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:40px 20px}.project{text-align:left;min-width:0}.picture{aspect-ratio:1.65;position:relative;overflow:hidden;background:#030101}.picture img{width:100%;height:100%;object-fit:cover;transition:transform .65s,filter .65s}.project:hover img{transform:scale(1.025);filter:brightness(.85)}.picture>span{position:absolute;right:18px;bottom:18px;color:white;font-size:11px;border-bottom:1px solid white;opacity:0;transition:opacity .2s}.project:hover .picture>span,.project:focus-visible .picture>span{opacity:1}.caption{display:flex;align-items:center;justify-content:space-between;margin-top:13px;gap:15px}.caption h3{font-size:19px;letter-spacing:-.5px;font-weight:400;margin:0}.caption>span{font:9px monospace;color:#626262}.archive{font-size:11px;display:inline-block;margin-top:32px;border-bottom:1px solid #8c8c8c;padding-bottom:5px}.info{border-top:1px solid #b8b8b8;margin:0 var(--pad);padding:65px 0 90px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:40px}.label{font:9px monospace;letter-spacing:.7px}.info h2{font-size:clamp(36px,4.4vw,68px);line-height:1.02;letter-spacing:-.055em;font-weight:400;margin:0 0 25px}.info p{max-width:520px;font-size:16px;color:#646464;line-height:1.65}.info a{display:inline-block;margin-top:18px;border-bottom:1px solid #959595;padding-bottom:5px}.margin-note{font:italic 17px Georgia,serif;align-self:end;text-align:right;color:#747474}.notes{padding:50px var(--pad) 65px;background:#222222;color:var(--paper)}.notes .section-head>span{color:#a4a4a4}.notebook{display:grid;grid-template-columns:1fr 1fr;gap:20px}.notebook>a,.notebook>article{padding:30px;min-height:340px;display:flex;flex-direction:column;background:#303030}.notebook .lab-note{background:#d4d4d4;color:#242424}.lab-note:hover{text-decoration:none;background:#e0e0e0}.notebook h3{font-size:clamp(45px,6vw,90px);line-height:.95;letter-spacing:-.065em;font-weight:400;margin:42px 0}.lab-note h3{font-weight:600}.lab-note h3>span{font-weight:300}.video-note h3 em{font-family:Georgia,serif}.note-bottom{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-top:auto;font-size:11px}.note-bottom p{margin:0}.note-bottom>span{font-size:10px;white-space:nowrap;border-bottom:1px solid #909090;padding-bottom:3px}.contact{padding:70px var(--pad) 80px}.contact h2{font-size:clamp(72px,12vw,180px);font-weight:400;letter-spacing:-.065em;line-height:1;margin:26px 0}.contact h2 em{font-family:Georgia,serif;font-weight:400}.contact>a{font-size:20px;border-bottom:1px solid #888888;padding-bottom:5px}footer{border-top:1px solid #b8b8b8;margin:0 var(--pad);padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:10px}footer>div{display:flex;gap:22px}footer>span:last-child{color:#767676}dialog{width:min(1000px,94vw);border:0;background:#242424;color:white;padding:20px}dialog::backdrop{background:#000e}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:18px;font-weight:400}.dialog-head button{padding:12px}dialog video{width:100%;max-height:75vh}body:has(dialog[open]){overflow:hidden}@media(max-width:750px){header{gap:20px;padding-top:20px}header>span{display:none}.email{font-size:10px}nav{font-size:11px}.hero{min-height:600px}.hero-top{top:100px;font-size:8px;letter-spacing:0}.hero-top button{font-size:8px}.hero h1{font-size:18vw;white-space:normal;line-height:.9;bottom:75px}.hero h1 em{display:block;font-size:20vw}.hero-caption{bottom:260px}.hero-foot{font-size:9px}.work{padding-top:35px;padding-bottom:45px}.section-head>span{display:none}.projects{grid-template-columns:1fr;gap:28px}.picture>span{opacity:1}.info{grid-template-columns:1fr;gap:25px;padding-top:35px;padding-bottom:45px}.info h2{font-size:42px}.info p{font-size:15px}.margin-note{text-align:left}.notes{padding-top:35px;padding-bottom:35px}.notebook{grid-template-columns:1fr}.notebook>a,.notebook>article{min-height:300px;padding:24px}.notebook h3{font-size:64px}.contact{padding-top:40px;padding-bottom:50px}footer{flex-wrap:wrap;font-size:9px}footer>span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}header{justify-content:space-between;gap:24px;background:linear-gradient(#0005,transparent)}.monogram{font-size:22px;letter-spacing:-.8px;font-weight:500;white-space:nowrap}header nav{margin:0;gap:28px;font-size:12px}header nav a{padding:8px 0}.archive-cover{background:#343434;display:flex;align-items:end;padding:24px}.archive-cover>strong{position:relative;z-index:1;color:#e4e4e4;font-size:clamp(24px,3vw,45px);font-weight:400;letter-spacing:-1.5px}.folder-sheets{position:absolute;inset:15% 17% 26% 20%}.folder-sheets img{position:absolute;width:68%;height:100%;object-fit:cover;border:4px solid #e4e4e4;box-shadow:0 6px 20px #0005}.folder-sheets img:nth-child(1){transform:rotate(-13deg);left:0}.folder-sheets img:nth-child(2){transform:rotate(3deg);left:20%}.folder-sheets img:nth-child(3){transform:rotate(13deg);left:38%}.collection:hover .folder-sheets img{filter:none}.notebook .video-note{background:#303030;color:var(--paper)}.video-note:hover{text-decoration:none;background:#3a3a3a}.archive-intro{color:#bebebe}.archive-items{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:15px 0}.archive-items button{text-align:left}.archive-items img{display:block;width:100%;aspect-ratio:1.6;object-fit:cover;margin-bottom:8px}#archive-dialog{max-height:90svh;overflow:auto}@media(max-width:750px){header{flex-wrap:wrap;gap:12px;padding-top:18px;padding-bottom:18px}.monogram{font-size:20px}header nav{width:100%;justify-content:space-between;gap:10px;font-size:11px}header nav a{padding:5px 0}.hero-top{top:125px}.archive-cover{padding:20px}.archive-cover>strong{font-size:30px}.archive-items{gap:15px}}html{scroll-padding-top:80px}header{position:fixed;inset:0 0 auto 0;width:100%;z-index:20;justify-content:space-between;align-items:center;background:none;mix-blend-mode:difference;color:#ffffff;padding:20px var(--pad)}.monogram{display:flex;flex-direction:column;line-height:1.25;letter-spacing:0;font-size:inherit;font-weight:400}.monogram:hover{text-decoration:none}.monogram strong{font-size:16px;font-weight:600;letter-spacing:.01em}.monogram span{font-size:11px;letter-spacing:.04em}header>span{display:inline}@media(max-width:750px){header{flex-wrap:nowrap;justify-content:space-between;gap:16px;padding:16px var(--pad)}header nav{width:auto;gap:14px;font-size:11px}.monogram strong{font-size:14px}.monogram span{font-size:10px}.hero-top{top:90px}}.hero h1{bottom:104px}.hero-foot{bottom:0;left:var(--pad);right:var(--pad);height:78px;align-items:center;gap:32px;border-top:1px solid #ffffff45;font-size:11px}.tabs-label{font:9px/1.5 monospace;letter-spacing:.06em;color:#c0c0c0;flex:0 0 70px}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;flex:1;height:100%;max-width:640px}.tabs button{text-align:left;color:#a4a4a4;font-size:12px;border-top:2px solid transparent;margin-top:-1px;padding-top:14px}.tabs button span{font:9px monospace;margin-right:10px}.tabs button:hover{color:#ffffff}.tabs button[aria-pressed=true]{color:#ffffff;border-color:#ffffff}.hero-foot>a{white-space:nowrap}.hero-video-swap{transition:opacity .3s}@media(max-width:750px){.hero h1{bottom:100px}.hero-foot{gap:14px;height:70px}.tabs-label{display:none}.tabs{gap:10px}.tabs button{font-size:11px;padding-top:12px}.tabs button span{display:block;margin:0 0 4px}.hero-foot>a{font-size:9px;white-space:normal;text-align:right;max-width:70px}.hero-caption{bottom:285px}}.projects.roles{grid-template-columns:repeat(3,1fr);gap:40px 24px;align-items:start}.projects.roles .picture{aspect-ratio:1.5}.role{margin:10px 0 0;font-size:13px;line-height:1.55;color:#5b5b5b;max-width:36ch}.role strong{display:block;font-weight:500;color:var(--ink);margin-bottom:4px;font-size:12px;letter-spacing:.02em}.notebook>div.lab-note{padding:30px;min-height:340px;display:flex;flex-direction:column;background:#d4d4d4;color:#242424;min-width:0}.notebook .lab-note{cursor:default}.lab-note .products{list-style:none;margin:auto 0 0;padding:0}.lab-note .products li{border-top:1px solid #ababab}.lab-note .products li:last-child{border-bottom:1px solid #ababab}.lab-note .products a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;font-size:17px}.lab-note .products a:hover{text-decoration:none;padding-left:8px}.lab-note .products a{transition:padding .2s}.lab-note .products em{font-style:normal;font-size:12px;color:#595959}.lab-note h3{margin:30px 0 28px}@media(max-width:750px){.projects.roles{grid-template-columns:1fr}.role{max-width:none}}header{justify-content:flex-end}header nav{gap:30px}@media(max-width:750px){header{justify-content:center}header nav{width:100%;gap:16px;justify-content:space-between}.hero-top{top:88px}}header nav{gap:22px;font-size:14px}header nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px}header{padding-top:10px;padding-bottom:10px}.lab-description{font-size:15px;line-height:1.5;max-width:34ch;margin:0 0 8px}.lab-status{font:10px/1.5 monospace;color:#595959;margin:0 0 24px}.lab-note h3{margin-bottom:16px}.archive span{color:#646464}.role{max-width:40ch}@media(max-width:750px){header nav{gap:8px;font-size:14px}header nav a{min-width:48px}.hero-top{top:88px}.archive span{display:block;margin-top:4px}}header{justify-content:space-between}.site-name{font-size:20px;font-weight:500;letter-spacing:-.6px;white-space:nowrap}.hero #project-title{font-size:clamp(65px,10.7vw,190px);letter-spacing:-.065em}.hero #project-title em{letter-spacing:-.065em}@media(max-width:750px){header{flex-wrap:wrap;gap:4px;justify-content:space-between}.site-name{font-size:19px}header nav{width:100%;justify-content:space-between;gap:6px;font-size:13px}header nav a{padding:8px 0}.hero-top{top:115px}.hero #project-title{font-size:16vw;line-height:.95;white-space:normal}.hero #project-title em{display:inline;font-size:inherit}.hero-caption{bottom:260px}}.archive-feature{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;margin-top:65px;padding:38px 0 0;border:0;border-top:1px solid #b8b8b8}.archive-feature:hover{text-decoration:none}.archive-feature h2{font-size:clamp(50px,7vw,105px);font-weight:400;letter-spacing:-.065em;line-height:1;margin:20px 0}.archive-feature h2 em{font-family:Georgia,serif;font-weight:400}.archive-feature p{font-size:15px;color:#606060}.archive-feature .archive-action{display:inline-block;font-size:12px;border-bottom:1px solid;padding-bottom:5px;margin-top:15px;color:var(--ink)}.archive-teaser{display:flex;align-items:center;padding:20px}.archive-teaser img{width:58%;aspect-ratio:1.2;object-fit:cover;border:6px solid var(--paper);box-shadow:0 10px 25px #0002;transform:rotate(-8deg);transition:transform .3s}.archive-teaser img+img{margin-left:-18%;transform:rotate(8deg)}.archive-feature:hover img{transform:rotate(-4deg)}.archive-feature:hover img+img{transform:rotate(4deg)}@media(max-width:750px){.archive-feature{grid-template-columns:1fr;gap:20px;margin-top:40px}.archive-teaser{max-width:360px}.archive-feature .label{display:block}}dialog{padding:0;background:#010000;width:min(1180px,94vw);max-height:92svh;border:0}dialog::backdrop{background:#000d}dialog .dialog-head{padding:10px 14px;margin:0}dialog .dialog-head h2{font-size:13px;letter-spacing:.01em}dialog .dialog-head button{padding:6px 2px;font-size:12px;color:#c0c0c0}dialog .dialog-head button:hover{color:#ffffff}dialog video,#vimeo-player,#archive-still{border-radius:0}#clip-list{margin:0;padding:0 14px 10px}#clip-list button{padding:6px 12px;font-size:12px}#vimeo-player{max-height:76svh}@media(max-width:750px){dialog{width:100vw;max-width:100vw;max-height:100svh}dialog .dialog-head{padding:8px 12px}}.contact>a+a.contact-social{margin-left:28px;font-size:20px;border-bottom:1px solid #888888;padding-bottom:5px}@media(max-width:750px){.contact>a+a.contact-social{display:inline-block;margin:22px 0 0;font-size:16px}}.site-name{font-size:24px;font-weight:600;letter-spacing:-.045em;line-height:1}.site-name em{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.04em;margin-left:.08em}@media(max-width:750px){.site-name{font-size:21px}}#reel-frame{display:block;width:100%;aspect-ratio:16/9;max-height:76svh;border:0;background:#010000}.hero-reel{position:absolute;z-index:2;right:var(--pad);bottom:clamp(120px,15vh,170px);display:inline-flex;align-items:center;gap:12px;padding:14px 24px 14px 20px;border:1px solid #ffffffa6;border-radius:40px;background:#0004;color:#ffffff;font-size:13px;letter-spacing:.01em;backdrop-filter:blur(6px);transition:background .25s,color .25s,border-color .25s}.hero-reel::before{content:"";width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent}.hero-reel:hover{background:#ececec;color:#060303;border-color:#ececec}@media(max-width:750px){.hero-reel{right:auto;left:var(--pad);bottom:clamp(100px,14vh,130px);padding:12px 20px 12px 16px;font-size:12px}}@media(max-width:750px){.hero-reel{top:auto;bottom:236px;right:auto;left:var(--pad)}}html{scroll-padding-top:72px}@media(max-width:750px){html{scroll-padding-top:104px}}.archive-feature{display:block;margin-top:70px;padding-top:34px}.af-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px}.af-head h2{margin:14px 0 0;font-size:clamp(56px,9vw,140px);line-height:.9}.af-side{max-width:300px;padding-bottom:10px}.af-side p{margin:0;font-size:15px;line-height:1.5;color:#606060}.af-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.af-strip img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}.af-strip{overflow:hidden}.af-strip img{transform:none;margin:0;box-shadow:none;border:0}.archive-feature:hover .af-strip img{transform:scale(1.04);filter:brightness(.92)}.archive-feature:hover .af-strip img+img,.archive-feature:hover .af-strip img{transform:scale(1.04)}@media(max-width:750px){.af-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px}.af-strip{grid-template-columns:1fr 1fr}.archive-feature{margin-top:44px}}.info{grid-template-columns:1fr 2fr 1.15fr;align-items:start}.portrait{margin:0}.portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%}.portrait figcaption{font:italic 15px Georgia,serif;color:#747474;margin-top:12px}@media(max-width:750px){.info{grid-template-columns:1fr}.portrait{max-width:360px}.portrait img{aspect-ratio:1/1}}header{transition:background .25s,color .25s,border-color .25s}header.scrolled{mix-blend-mode:normal;background:#e6e6e6f2;color:#212121;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #c0c0c0}.archive-page header{position:sticky;top:0;z-index:20}:root{--cw:calc(100vw - 2 * var(--pad));--pic-h:calc((var(--cw) - 48px) / 4.5)}.archive-feature.af{margin-top:56px;padding-top:30px}.af-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:22px}.af-head h2{margin:10px 0 0;font-size:clamp(44px,5.2vw,78px);line-height:.92}.af-side{display:flex;align-items:flex-end;gap:26px;max-width:520px;padding-bottom:6px}.af-side p{margin:0;font-size:14px;line-height:1.5;color:#606060;max-width:26ch}.af-side .archive-action{margin-top:0;white-space:nowrap;font-size:12px;border-bottom:1px solid;padding-bottom:5px}.af-panels{display:flex;gap:10px;height:var(--pic-h)}.af-panel{position:relative;flex:1;min-width:0;overflow:hidden;background:#161616 var(--img) center/cover no-repeat;transition:flex .65s cubic-bezier(.2,.7,.2,1);color:#ffffff}.af-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,#000b);opacity:.55;transition:opacity .4s}.af-panel:hover,.af-panel:focus-visible{text-decoration:none}.af-title,.af-meta{position:absolute;left:16px;z-index:1;white-space:nowrap}.af-title{bottom:34px;font-size:20px;letter-spacing:-.04em;opacity:0;transform:translateY(8px);transition:opacity .35s .1s,transform .35s .1s}.af-meta{bottom:16px;font:10px monospace;letter-spacing:.06em;text-transform:uppercase;opacity:0;transition:opacity .35s .15s}@media(hover:hover){.af-panels:hover .af-panel{flex:.7}.af-panels .af-panel:hover,.af-panels .af-panel:focus-visible{flex:3.2}.af-panel:hover::after,.af-panel:focus-visible::after{opacity:1}.af-panel:hover .af-title,.af-panel:focus-visible .af-title,.af-panel:hover .af-meta,.af-panel:focus-visible .af-meta{opacity:1;transform:none}}@media(hover:none){.af-title,.af-meta{opacity:1;transform:none}.af-panel::after{opacity:1}}@media(max-width:750px){.af-head{flex-direction:column;align-items:flex-start;gap:14px}.af-side{gap:18px;flex-wrap:wrap}.af-panels{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:6px;-webkit-overflow-scrolling:touch}.af-panel{flex:0 0 72%;aspect-ratio:1.5;scroll-snap-align:start}.af-title,.af-meta{opacity:1;transform:none}.af-panel::after{opacity:1}}.portrait{display:flex;flex-direction:column}.portrait img{overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1);will-change:transform}.portrait{overflow:hidden}main{container-type:inline-size}:root{--pic-h:calc((100cqw - 2 * var(--pad) - 48px) / 4.5)}@media(min-width:751px){.projects.roles .role{min-height:6.5em}}.tabs{grid-template-columns:repeat(4,1fr);max-width:760px}.bg-vimeo{position:absolute;inset:0;overflow:hidden;background:#010000 url(assets/demoreel.webp) center/cover no-repeat;pointer-events:none}@media(max-width:750px){.bg-vimeo{background-image:url(assets/demoreel-m.webp)}}.bg-vimeo iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78svh;transform:translate(-50%,-50%);border:0}body{background: radial-gradient(1100px 650px at 8% -8%,#f0f0f0 0%,transparent 62%), radial-gradient(900px 620px at 104% 38%,#d2d2d2 0%,transparent 58%), radial-gradient(1000px 700px at -6% 78%,#d8d8d8 0%,transparent 60%), linear-gradient(180deg,#e5e5e5 0%,#dbdbdb 100%);background-attachment:scroll;background-color:#e2e2e2}body::before{content:"";position:fixed;inset:0;z-index:15;pointer-events:none;opacity:.16;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");background-size:240px 240px}.archive-page header{background:#e6e6e6e8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media(prefers-reduced-motion:reduce){body::before{opacity:.16}}.lab-description{max-width:none;white-space:nowrap;font-size:clamp(12px,3.3vw,15px)}a.project{display:block;color:inherit}a.project:hover{text-decoration:none}@media(max-width:750px){.contact>a{display:block;width:fit-content}.contact>a+a.contact-social{margin-top:22px}}.hero-player{position:absolute;z-index:3;inset:68px 0 0 0;background:#000000}.hero-player iframe{display:block;width:100%;height:100%;border:0}.hero-player[hidden],.hero-close[hidden]{display:none!important}.hero-close{position:absolute;z-index:4;top:86px;right:var(--pad);display:inline-flex;align-items:center;min-height:40px;padding:0 20px;border:1px solid #ffffffa6;border-radius:40px;background:#0007;color:#ffffff;font-size:13px;letter-spacing:.01em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .25s,color .25s,border-color .25s}.hero-close:hover{background:#ececec;color:#060303;border-color:#ececec}.hero .shade,.hero .hero-top,.hero .hero-caption,.hero h1,.hero .hero-foot,.hero .hero-reel{transition:opacity .4s ease,visibility .4s}.hero.playing .shade,.hero.playing .hero-top,.hero.playing .hero-caption,.hero.playing h1,.hero.playing .hero-foot,.hero.playing .hero-reel{opacity:0;visibility:hidden;pointer-events:none}@media(max-width:750px){.hero-player{inset:90px 0 0 0}.hero-close{top:104px}}.hero.playing{background:#000000}.hero.playing .bg-vimeo,.hero.playing #background-film{visibility:hidden}.site-name{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1}.site-name .site-first{display:block;white-space:nowrap}.site-name .site-role{display:block;font:10px/1 monospace;letter-spacing:.1em;text-transform:uppercase;opacity:.74;white-space:nowrap}.site-name em{font-style:italic}@media(max-width:750px){.site-name{flex-direction:row;align-items:baseline;gap:10px;flex-wrap:nowrap;min-width:0}.site-name .site-role{font-size:9px;letter-spacing:.08em}}@media(max-width:360px){.site-name .site-role{display:none}}.site-name:hover{text-decoration:none}.site-name:hover .site-first{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.site-name:hover .site-role{text-decoration:none}body.home header .site-role{transition:opacity .35s ease}body.home header:not(.scrolled) .site-role{opacity:0}
.case-page{padding-top:92px}.case-page header{position:fixed;mix-blend-mode:normal;background:#e6e6e6ea;color:#212121;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #c0c0c0}.case-page .site-name,.case-page header nav a{color:#212121}.case-hero{padding:44px var(--pad) 36px}.case-back{display:inline-block;font-size:12px;margin-bottom:46px;border-bottom:1px solid #959595;padding-bottom:4px}.case-hero .label{display:block;margin-bottom:18px}.case-hero h1{margin:0;font-size:clamp(50px,9vw,150px);font-weight:400;letter-spacing:-.065em;line-height:.92}.case-hero h1 em{font-family:Georgia,serif;font-weight:400}.case-summary{margin:30px 0 0;max-width:34ch;font-size:clamp(18px,1.7vw,24px);line-height:1.4;letter-spacing:-.02em;color:#3d3d3d}.case-meta{display:grid;grid-template-columns:.8fr .7fr 1.2fr 1.5fr 1.2fr;gap:24px;margin:54px 0 0;padding:22px 0 0;border-top:1px solid #b8b8b8}.case-meta div{min-width:0}.case-meta dt{font:9px monospace;letter-spacing:.08em;text-transform:uppercase;color:#6c6c6c;margin-bottom:8px}.case-meta dd{margin:0;font-size:14px;line-height:1.5}.case-media{padding:0 var(--pad)}.case-video{aspect-ratio:16/9;background:#010000;overflow:hidden}.case-video iframe,.case-video video{display:block;width:100%;height:100%;border:0;object-fit:cover}.case-link{display:inline-block;margin-top:16px;font-size:12px;border-bottom:1px solid #959595;padding-bottom:4px}.case-vertical .case-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.case-vertical figure{margin:0}.case-v{aspect-ratio:9/16;background:#010000;overflow:hidden}.case-v iframe{display:block;width:100%;height:100%;border:0}.case-vertical figcaption{margin-top:10px;font:10px monospace;letter-spacing:.06em;text-transform:uppercase;color:#6c6c6c}.case-body{padding:70px var(--pad) 40px}.case-block{display:grid;grid-template-columns:1fr 2.2fr;gap:40px;padding:34px 0;border-top:1px solid #b8b8b8}.case-block:last-child{border-bottom:1px solid #b8b8b8}.case-block .label{padding-top:6px}.case-block p{margin:0;max-width:44em;font-size:clamp(17px,1.5vw,21px);line-height:1.55;letter-spacing:-.01em;color:#2b2b2b}.case-block ul{margin:0;padding:0;list-style:none;max-width:44em}.case-block li{padding:13px 0;border-bottom:1px solid #cbcbcb;font-size:clamp(16px,1.35vw,19px);line-height:1.45}.case-block li:first-child{padding-top:0}.case-block li:last-child{border-bottom:0;padding-bottom:0}.case-gallery{padding:30px var(--pad) 80px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.case-grid figure{margin:0}.case-grid .wide{grid-column:1/-1}.case-grid img{display:block;width:100%;height:auto;background:#d6d6d6}.case-grid figcaption{margin-top:9px;font:10px monospace;letter-spacing:.06em;text-transform:uppercase;color:#6c6c6c}.case-next{margin:0 var(--pad);border-top:1px solid #b8b8b8}.case-next a{display:block;padding:54px 0 64px}.case-next a:hover{text-decoration:none}.case-next h2{margin:16px 0 22px;font-size:clamp(44px,7vw,110px);font-weight:400;letter-spacing:-.065em;line-height:.95}.case-next h2 em{font-family:Georgia,serif;font-weight:400}.case-next-go{font-size:12px;border-bottom:1px solid #868686;padding-bottom:4px}.case-next a:hover .case-next-go{border-color:currentColor}@media(max-width:900px){.case-meta{grid-template-columns:1fr 1fr}.case-block{grid-template-columns:1fr;gap:12px}}@media(max-width:750px){.case-page{padding-top:100px}.case-hero{padding-top:30px}.case-back{margin-bottom:32px}.case-vertical .case-videos{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--pad) * -1);padding:0 var(--pad) 8px;scroll-padding-left:var(--pad);-webkit-overflow-scrolling:touch}.case-vertical figure{flex:0 0 74%;scroll-snap-align:start}.case-grid{grid-template-columns:1fr}.case-body{padding-top:44px}}.case-next a{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center;padding:54px 0 64px}.case-next-thumb{aspect-ratio:16/10;overflow:hidden;background:#d6d6d6}.case-next-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}.case-next a:hover .case-next-thumb img{transform:scale(1.045);filter:brightness(.94)}@media(max-width:750px){.case-next a{grid-template-columns:1fr;gap:26px;padding:40px 0 48px}.case-next-thumb{order:2}}.case-next{position:relative}.case-next::before{content:"";position:absolute;inset:0 calc(var(--pad) * -1);background:#cecece;opacity:0;transition:opacity .5s ease;z-index:-1;pointer-events:none}.case-next:hover::before,.case-next:focus-within::before{opacity:1}.case-next h2{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.case-next:hover h2,.case-next:focus-within h2{transform:translateX(12px)}.case-next-go{transition:letter-spacing .4s,border-color .3s}.case-next:hover .case-next-go{letter-spacing:.04em;border-color:currentColor}@media(hover:none){.case-next::before{display:none}}@media(prefers-reduced-motion:reduce){.case-next h2,.case-next::before,.case-next-go{transition:none}.case-next:hover h2{transform:none}}.case-next a:focus-visible .case-next-thumb img{transform:scale(1.045);filter:brightness(.94)}.case-media + .case-vertical{margin-top:40px}@media(max-width:750px){.case-media + .case-vertical{margin-top:28px}}.case-grid figure.tall{grid-column:1/-1;width:min(100%,340px);margin:0 auto}.case-video,.case-v{background:transparent}.case-endvideo{margin-top:56px}.case-endvideo video{display:block;width:100%;height:auto;background:transparent}.case-grid video{display:block;width:100%;height:auto;background:#d6d6d6}.case-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:750px){.case-grid.three{grid-template-columns:1fr}}.case-media .case-video{background-color:#010000;background-image:var(--vt-bg,none);background-size:cover;background-position:center}.case-grid .crop-wide{overflow:hidden;background:#000000;clip-path:polygon(9.2% 0,90.8% 0,90.8% 18.1%,100% 18.1%,100% 100%,0 100%,0 18.1%,9.2% 18.1%)}.case-grid .crop-wide video{display:block;width:118.08%;max-width:none;margin-left:-9.04%;background:#000000}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;margin-left:4px;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;opacity:.85;transition:opacity .2s,background .2s,color .2s}.theme-toggle:hover{opacity:1}.theme-toggle svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .i-sun{display:none}html[data-theme=dark] .theme-toggle .i-sun{display:block}html[data-theme=dark] .theme-toggle .i-moon{display:none}.theme-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}html{scrollbar-width:thin;scrollbar-color:#cfcfcf transparent}html[data-theme=dark]{scrollbar-color:#343434 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cacaca;border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#a0a0a0;background-clip:content-box;border:2px solid transparent}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:#343434;background-clip:content-box;border:2px solid transparent}html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#606060;background-clip:content-box;border:2px solid transparent}html:not([data-theme=dark]){--paper:#f5f5f5;--ink:#111111;--a-fg:#111111;--a-line:#dcdcdc;--a-line2:#cfcfcf;--a-card:#e9e9e9;--a-head:#f5f5f5ea;--a-on:#f5f5f5;--a-accent:#111111;--tech-accent:#111111}body{background:#f5f5f5;color:#111111}header.scrolled{background:#f5f5f5ee}.case-page header{background:#f5f5f5ee}.case-grid img,.case-next-thumb{background:#e9e9e9}.case-next::before{background:rgba(0,0,0,.08)}.info,footer,.section-head{border-color:#dcdcdc}html:not([data-theme=dark]) body::before{opacity:.05}@media(max-width:750px){body{background:#f5f5f5}}html[data-theme=dark]{--d-bg:#151515;--d-bg2:#1b1b1b;--d-card:#222222;--d-fg:#ededed;--d-soft:#b9b9b9;--d-mute:#8d8d8d;--d-line:#2c2c2c;--d-line2:#444444;--d-accent:#ededed;--paper:#111111;--ink:#ededed;color-scheme:dark;--a-fg:var(--d-fg);--a-mute:var(--d-mute);--a-soft:var(--d-soft);--a-line:var(--d-line);--a-line2:var(--d-line2);--a-card:var(--d-card);--a-head:#151515ea;--a-on:#151515;--a-accent:var(--d-accent)}html[data-theme=dark] body{color:var(--d-fg);background:var(--d-bg)}html[data-theme=dark] body::before{mix-blend-mode:screen;filter:invert(1);opacity:.11}html[data-theme=dark] a:focus-visible,html[data-theme=dark] button:focus-visible{outline-color:var(--d-accent)}html[data-theme=dark] header.scrolled{background:#151515ea;color:var(--d-fg);border-bottom-color:var(--d-line)}html[data-theme=dark] .case-page header{background:#151515ea;color:var(--d-fg);border-bottom-color:var(--d-line)}html[data-theme=dark] .case-page .site-name,html[data-theme=dark] .case-page header nav a{color:var(--d-fg)}html[data-theme=dark] .section-head,html[data-theme=dark] .caption{border-color:var(--d-line)}html[data-theme=dark] .caption>span{color:var(--d-mute)}html[data-theme=dark] .role{color:var(--d-soft)}html[data-theme=dark] .archive-feature{border-top-color:var(--d-line)}html[data-theme=dark] .archive-feature p,html[data-theme=dark] .af-side p{color:var(--d-soft)}html[data-theme=dark] .archive-feature .archive-action{border-color:var(--d-line2)}html[data-theme=dark] .archive-feature .archive-action:hover{border-color:var(--d-accent);color:var(--d-accent)}html[data-theme=dark] .info{border-top-color:var(--d-line)}html[data-theme=dark] .info p{color:var(--d-soft)}html[data-theme=dark] .info a,html[data-theme=dark] .text-link{border-color:var(--d-line2)}html[data-theme=dark] .contact>a,html[data-theme=dark] .contact>a+a.contact-social{border-bottom-color:var(--d-line2)}html[data-theme=dark] .contact>a:hover{color:var(--d-accent)}html[data-theme=dark] .contact .label{color:var(--d-mute)}html[data-theme=dark] footer{border-top-color:var(--d-line);color:var(--d-mute)}html[data-theme=dark] footer a:hover{color:var(--d-fg)}html[data-theme=dark] .notes{background:var(--d-bg2);color:var(--d-fg)}html[data-theme=dark] .notebook .video-note{background:#1f1f1f;color:var(--d-fg)}html[data-theme=dark] .video-note:hover{background:#252525}html[data-theme=dark] .notebook>div.lab-note,html[data-theme=dark] .notebook .lab-note{background:#262626;color:var(--d-fg)}html[data-theme=dark] .case-back,html[data-theme=dark] .case-link,html[data-theme=dark] .case-next-go{border-bottom-color:var(--d-line2)}html[data-theme=dark] .case-summary{color:#bebebe}html[data-theme=dark] .case-meta,html[data-theme=dark] .case-next{border-top-color:var(--d-line)}html[data-theme=dark] .case-meta dt,html[data-theme=dark] .case-vertical figcaption,html[data-theme=dark] .case-grid figcaption{color:var(--d-mute)}html[data-theme=dark] .case-block{border-top-color:var(--d-line)}html[data-theme=dark] .case-block:last-child{border-bottom-color:var(--d-line)}html[data-theme=dark] .case-block p{color:#cdcdcd}html[data-theme=dark] .case-block li{border-bottom-color:#1f1f1f}html[data-theme=dark] .case-grid img,html[data-theme=dark] .case-next-thumb{background:var(--d-card)}html[data-theme=dark] .case-next::before{background:#161616}body,header,footer,.case-block,.info,.section-head,.caption{transition:background-color .35s ease,color .35s ease,border-color .35s ease}@media(prefers-reduced-motion:reduce){body,header,footer,.case-block,.info,.section-head,.caption{transition:none}}iframe{color-scheme:light}html[data-theme=dark] .lb-stage,html[data-theme=dark] .hero-player{background:#000000}html[data-theme=dark] .lab-note .lab-description{color:#cfcfcf}html[data-theme=dark] .lab-note .products li{border-color:#444444}html[data-theme=dark] .lab-note .products em{color:#b5b5b5}html[data-theme=dark] .lab-note .p-stat.is-live{color:#8bc995}html[data-theme=dark] .lab-note .p-stat.is-beta{color:#b5b5b5}html[data-theme=dark] .lab-note .p-stat.is-beta i{background:#a0a0a0}
:root{--tech-accent:#111111}html[data-theme=dark]{--tech-accent:#ededed}.projects .picture,.gallery-image{--vf:#f1f1f1}.projects .picture::before,.gallery-image::before{content:"";position:absolute;inset:16px;z-index:2;pointer-events:none;opacity:0;transform:scale(1.07);transition:opacity .3s ease,transform .5s cubic-bezier(.2,.7,.2,1);border:1.5px solid var(--vf);border-radius:8px;-webkit-mask:linear-gradient(#000000 0 0) left top/20px 20px no-repeat,linear-gradient(#000000 0 0) right top/20px 20px no-repeat,linear-gradient(#000000 0 0) left bottom/20px 20px no-repeat,linear-gradient(#000000 0 0) right bottom/20px 20px no-repeat;mask:linear-gradient(#000000 0 0) left top/20px 20px no-repeat,linear-gradient(#000000 0 0) right top/20px 20px no-repeat,linear-gradient(#000000 0 0) left bottom/20px 20px no-repeat,linear-gradient(#000000 0 0) right bottom/20px 20px no-repeat}a.project:hover .picture::before,a.project:focus-visible .picture::before, .gallery-card:hover .gallery-image::before,.gallery-card:focus-visible .gallery-image::before,.gallery-card.is-open .gallery-image::before{opacity:.95;transform:none}@media(hover:none){.projects .picture::before,.gallery-image::before{display:none}}.scroll-progress{position:absolute;left:0;bottom:-1px;width:100%;height:3px;background:var(--tech-accent);transform-origin:0 50%;transform:scaleX(var(--p,0));opacity:1;pointer-events:none;will-change:transform}.sys-time{display:inline-flex;align-items:center;gap:8px;font:10px/1 monospace;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;opacity:.78}.sys-time::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tech-accent);animation:techPulse 2.6s ease-in-out infinite}@keyframes techPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--tech-accent) 55%,transparent)}60%{box-shadow:0 0 0 7px transparent}}@media(max-width:750px){footer .sys-time{order:3;width:100%}}@media(prefers-reduced-motion:reduce){.sys-time::before{animation:none}.projects .picture::before,.gallery-image::before{transition:none}}.projects .picture>span{right:34px;bottom:32px}.gallery-image>span{left:34px;bottom:32px}@media(max-width:550px){.projects .picture>span{right:18px;bottom:16px}}.notes-line{margin:-4px 0 28px;max-width:30ch;font:italic clamp(20px,2.5vw,34px)/1.18 Georgia,serif;letter-spacing:-.02em;opacity:.82}.lab-description{font-size:clamp(15px,1.5vw,19px);font-weight:500;letter-spacing:-.01em;color:#242424}.lab-note .products a{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:6px 18px}.p-stat{display:inline-flex;align-items:center;gap:7px;align-self:center;font:9px/1 monospace;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px 5px 9px;border:1px solid currentColor;border-radius:20px;white-space:nowrap}.p-stat i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.p-stat.is-live{color:#3a6b2c}.p-stat.is-live i{background:#4f8f3b;animation:statLive 2.2s ease-in-out infinite}.p-stat.is-beta{color:#666666}.p-stat.is-beta i{background:#8a8a8a}@keyframes statLive{0%,100%{box-shadow:0 0 0 0 rgba(79,143,59,.55)}60%{box-shadow:0 0 0 6px rgba(79,143,59,0)}}@media(max-width:550px){.lab-note .products a{grid-template-columns:1fr auto}.lab-note .products em{grid-column:1/-1;grid-row:2}}@media(prefers-reduced-motion:reduce){.p-stat.is-live i{animation:none}}.notes-line{max-width:none}html[data-theme=dark] .scroll-progress{background:var(--tech-accent)}header nav{align-items:center}.theme-toggle{width:22px;height:22px;margin:0 0 0 6px;align-self:center}.theme-toggle svg{width:11px;height:11px}.notebook .lab-note,.notebook .video-note{position:relative;overflow:hidden;isolation:isolate}.notebook .lab-note>:not(.hover-bg),.notebook .video-note>:not(.hover-bg){position:relative;z-index:1}.hover-bg{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transform:scale(1.04);transition:opacity .6s var(--ease,ease),transform 1.1s var(--ease,ease);background:var(--bg) center/cover no-repeat}.hover-bg::after{content:"";position:absolute;inset:0}.lab-note .hover-bg::after{background:linear-gradient(rgba(238,238,238,.78),rgba(238,238,238,.64) 50%,rgba(238,238,238,.82))}.video-note .hover-bg::after{background:linear-gradient(rgba(14,16,12,.55),rgba(14,16,12,.35) 50%,rgba(14,16,12,.8))}.video-note:hover .hover-bg,.video-note:focus-visible .hover-bg{opacity:1;transform:none}@media(hover:none){.hover-bg{display:none}}html[data-theme=dark] .lab-note .hover-bg::after{background:linear-gradient(rgba(34,34,34,.82),rgba(34,34,34,.6) 55%,rgba(34,34,34,.88))}.lab-note .notes-line{margin:-14px 0 14px;max-width:22ch;font-size:clamp(17px,1.7vw,23px);line-height:1.2;opacity:.9}@media(prefers-reduced-motion:reduce){.hover-bg{transition:none;transform:none}}.hover-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}:root{--af-tone:#929292}html[data-theme=dark]{--af-tone:#727272}.af-panel{isolation:isolate}.af-panel::before{content:"";position:absolute;inset:0;z-index:0;background:var(--af-tone);mix-blend-mode:color;opacity:.7;pointer-events:none;transition:opacity .6s ease}.af-panel:hover::before,.af-panel:focus-visible::before,.af-panel:active::before{opacity:0}.af-panel{filter:contrast(.84) brightness(1.07);transition:flex .65s cubic-bezier(.2,.7,.2,1),filter .6s ease}.af-panel:hover,.af-panel:focus-visible,.af-panel:active{filter:none}.af-side p{max-width:none;white-space:nowrap}@media(max-width:750px){.af-side p{white-space:normal}}@media(prefers-reduced-motion:reduce){.af-panel::before{transition:none}}.af-side{max-width:none}.lab-note .hover-bg::after{background:linear-gradient(rgba(238,238,238,.78),rgba(238,238,238,.64) 50%,rgba(238,238,238,.84))}.lab-note:has(.products li:nth-child(1):hover) .bg-1,.lab-note:has(.products li:nth-child(1):focus-within) .bg-1, .lab-note:has(.products li:nth-child(2):hover) .bg-2,.lab-note:has(.products li:nth-child(2):focus-within) .bg-2, .lab-note:has(.products li:nth-child(3):hover) .bg-3,.lab-note:has(.products li:nth-child(3):focus-within) .bg-3{opacity:1;transform:none}.lab-note .bg-2{background-position:50% 40%}.lab-note .bg-3{background-position:58% 30%}.contact-availability{font-size:clamp(14px,1.4vw,19px);line-height:1.5;max-width:48ch;margin:0 0 28px}.lab-note .lab-description{font-size:clamp(15px,1.4vw,19px);line-height:1.5;max-width:35ch;margin:0 0 28px;font-weight:400}.lab-note h3 a{color:inherit}.lab-note h3 a:hover{text-decoration:none;opacity:.75}.lab-note .lab-description{white-space:normal}.picture video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease;pointer-events:none}.picture video.ready{opacity:1}@media(hover:none){.picture video{display:none}}.site-first em{font-family:inherit;font-style:normal;font-weight:inherit}.af-panel::before{display:none}.af-panel{filter:grayscale(1) contrast(1.03) brightness(.94)}.af-panel:hover,.af-panel:focus-visible,.af-panel:active{filter:none}html[data-theme=dark] .af-panel{filter:grayscale(1) contrast(1.03) brightness(.94)}html[data-theme=dark] .af-panel:hover,html[data-theme=dark] .af-panel:focus-visible,html[data-theme=dark] .af-panel:active{filter:none}:root{--type-sans:"Helvetica Neue",Helvetica,Arial,sans-serif}body,button,input{font-family:var(--type-sans)}.hero h1 em,.site-name em,.info h2 em,.contact h2 em,.video-note h3 em, .archive-feature h2 em,.archive-heading em,.case-hero h1 em,.case-next h2 em, .notes-line,.margin-note,.portrait figcaption{font-family:var(--type-sans);font-style:normal;font-weight:inherit}.site-name,.site-first,.site-first em{font-weight:700}.hero h1,.hero h1 em,.caption h3,.gallery-caption h2,.case-hero h1,.case-hero h1 em,.lb-head h2{font-weight:700;letter-spacing:-.045em}.section-head h2,.info h2,.info h2 em,.contact h2,.contact h2 em, .archive-feature h2,.archive-feature h2 em,.archive-heading h1,.archive-heading em, .video-note h3,.video-note h3 em,.case-next h2,.case-next h2 em{font-weight:300;letter-spacing:-.04em}.notes-line{font-weight:400;line-height:1.3;letter-spacing:-.025em}header nav{font-weight:500}.label,.section-head>span,.caption>span,.gallery-caption>span,.case-meta dt,.sys-time,.p-stat{font-family:var(--type-sans);font-weight:500;font-size:11px;letter-spacing:.045em}.info{--about-muted:#616161;--about-line:#8d8d8d55;color:var(--ink);display:grid;grid-template-columns:minmax(72px,.5fr) 2.5fr 1.45fr;grid-template-areas:"label head portrait" "label copy portrait";column-gap:clamp(24px,3.2vw,56px);row-gap:0;align-items:start;padding:clamp(64px,8vw,116px) 0 clamp(72px,9vw,128px)}html[data-theme=dark] .info{--about-muted:var(--d-soft);--about-line:var(--d-line2);color:var(--d-fg)}.info>.label{grid-area:label;padding-top:.55em}.about-head{grid-area:head;min-width:0}.about-copy{grid-area:copy;min-width:0}.portrait-col{grid-area:portrait;display:flex;flex-direction:column;align-items:flex-start;gap:18px;align-self:stretch;min-width:0}.info .portrait{position:relative;flex:1;width:100%;min-height:clamp(360px,32vw,480px);margin:0;max-width:none;overflow:hidden}.info .portrait img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 18%}.info .about-name{margin:0 0 clamp(14px,1.4vw,20px);font-size:14px;font-weight:500;letter-spacing:.005em;line-height:1.3;color:var(--about-muted)}.info .about-title{margin:0;font-size:clamp(44px,5.1vw,80px);line-height:.98;letter-spacing:-.05em}.about-title>span,.about-title>strong{display:block}.info .about-title .about-title-light{font-weight:300}.info .about-title strong{font-weight:700}.info .positioning-line{margin:clamp(16px,1.6vw,24px) 0 0;max-width:none;font-size:clamp(15px,1.2vw,18px);line-height:1.4;color:var(--about-muted)}.info .work-availability{display:inline-flex;align-items:center;gap:10px;width:fit-content;margin:0;padding:11px 16px;border:1px solid #919191;border-radius:30px;font-size:13px;font-weight:500;line-height:1.3;color:inherit;text-decoration:none;transition:background .2s,border-color .2s}.info .work-availability:hover{background:#75757515;border-color:currentColor}.availability-dot{width:8px;height:8px;border-radius:50%;background:#46804b;box-shadow:0 0 0 4px #46804b18;flex:none}html[data-theme=dark] .info .work-availability{border-color:#555555}html[data-theme=dark] .availability-dot{background:#8bc995;box-shadow:0 0 0 4px #8bc99518}.info .about-copy{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,3vw,48px);margin-top:clamp(40px,4.6vw,68px);padding-top:clamp(24px,2.4vw,34px);border-top:1px solid var(--about-line)}.info .about-copy h3{margin:0 0 14px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--about-muted)}.info .about-copy p{margin:0;max-width:none;font-size:clamp(14px,1.08vw,16px);line-height:1.6;color:var(--about-muted)}.info .about-copy p+p{margin-top:10px}.info .about-copy .about-intro{margin:0 0 14px;max-width:19em;font-size:clamp(20px,1.75vw,27px);font-weight:500;line-height:1.26;letter-spacing:-.028em;color:inherit}@media(max-width:1000px){.info .about-copy{grid-template-columns:1fr;gap:30px}}@media(max-width:750px){.info{grid-template-columns:1fr;grid-template-areas:"label" "head" "portrait" "copy";padding:52px 0 60px}.info>.label{padding:0 0 18px}.info .about-title{font-size:clamp(34px,10.2vw,56px)}.portrait-col{margin-top:34px}.info .portrait{flex:none;min-height:0;aspect-ratio:4/5}.info .about-copy{margin-top:34px}.info .about-copy .about-intro{font-size:clamp(20px,5.6vw,24px)}}html[data-theme=dark] .info .about-copy .about-intro{color:var(--d-fg)}.info .about-copy .about-intro,.info .about-title{text-wrap:balance}.info .about-copy p{text-wrap:pretty}.contact{--c-muted:#616161;--c-line:#8d8d8d66}html[data-theme=dark] .contact{--c-muted:var(--d-soft);--c-line:var(--d-line2)}.say-hello{all:unset;box-sizing:border-box;display:inline-flex;align-items:flex-start;gap:.1em;cursor:pointer;font:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;transition:opacity .25s}.say-hello:hover{opacity:.7}.say-hello:focus-visible{outline:2px solid currentColor;outline-offset:10px}.say-arrow{margin-top:.5em;font-size:.26em;font-weight:300;line-height:1;transition:transform .6s cubic-bezier(.45,.05,.25,1)}.say-hello[aria-expanded=true] .say-arrow{transform:rotate(180deg)}.contact .contact-lead{margin:0 0 30px;max-width:34em;font-size:clamp(16px,1.4vw,20px);line-height:1.5;color:var(--c-muted)}.contact-form-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.45,.05,.25,1)}.contact-form-wrap.open{grid-template-rows:1fr;transition-duration:.8s}.contact-form-inner{min-height:0;overflow:hidden;visibility:hidden;opacity:0;transition:visibility 0s .6s,opacity .35s ease}.contact-form-wrap.open .contact-form-inner{visibility:visible;opacity:1;transition:opacity .55s ease .2s}.contact-form{display:grid;gap:24px;max-width:640px;padding:6px 0 36px}.contact-form label{display:grid;gap:6px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form input:not(.cf-hp),.contact-form textarea{width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--c-line);border-radius:0;background:transparent;color:inherit;font:400 17px/1.45 var(--type-sans);letter-spacing:0;text-transform:none;outline:none;appearance:none;-webkit-appearance:none;transition:border-color .2s}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:currentColor}.contact-form ::placeholder{color:var(--c-muted);opacity:.6}.contact-form .cf-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.cf-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.cf-send{padding:13px 26px;border:1px solid currentColor;border-radius:30px;background:var(--ink);color:var(--paper);font:500 14px/1 var(--type-sans);cursor:pointer;transition:opacity .2s,transform .2s}html[data-theme=dark] .cf-send{background:var(--d-fg);color:#151515;border-color:var(--d-fg)}.cf-send:hover{opacity:.85}.cf-send:active{transform:scale(.97)}.cf-send:disabled{opacity:.5;cursor:default}.cf-status{margin:0;font-size:14px;line-height:1.4;color:var(--c-muted)}.cf-status.ok{color:#2f6d3a}.cf-status.err{color:#b3402a}html[data-theme=dark] .cf-status.ok{color:#8bc995}html[data-theme=dark] .cf-status.err{color:#e59a8a}@media(max-width:750px){.cf-row{grid-template-columns:1fr;gap:24px}}@media(prefers-reduced-motion:reduce){.contact-form-wrap,.contact-form-inner,.say-arrow{transition:none}}.info .about-title{font-size:clamp(34px,3.5vw,58px)}.site-role{letter-spacing:.035em}@media(max-width:750px){.site-role{font-size:8px}.info .about-title{font-size:clamp(30px,8vw,42px)}}.contact>a.contact-social+a.contact-social{margin-left:28px}@media(max-width:750px){.contact>a.contact-social+a.contact-social{margin-left:24px}}body.home header:not(.scrolled) .site-role{opacity:.74}.hero .shade{background:linear-gradient(rgba(0,0,0,.38),transparent 28%,transparent 46%,rgba(0,0,0,.5) 72%,rgba(0,0,0,.84))}.hero-foot .tabs{padding-left:0}.hero-foot #motion{flex:none;width:34px;height:34px;padding:0;border:1px solid #ffffff6b;border-radius:50%;display:grid;place-items:center;color:#ffffff;background:transparent;transition:border-color .25s ease,background .25s ease}.hero-foot #motion:hover{border-color:#ffffff;background:#ffffff1f}.hero-foot #motion svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.hero-foot #motion .i-play{display:none;fill:currentColor;stroke:none;margin-left:1px}.hero-foot #motion.is-paused .i-pause{display:none}.hero-foot #motion.is-paused .i-play{display:block}@media(min-width:751px){.hero #project-title{font-size:6.7vw}}.hero-foot .tabs{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,190px);justify-content:start;max-width:none;gap:22px}.hero-foot .tabs button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:750px){.hero-foot .tabs{grid-auto-columns:minmax(0,1fr);justify-content:stretch;gap:14px}.hero-foot .tabs button:nth-child(n+4){display:none}}@media(min-width:751px) and (max-width:1100px){.hero-foot .tabs button:nth-child(n+5){display:none}}@media(min-width:1101px) and (max-width:1500px){.hero-foot .tabs button:nth-child(n+7){display:none}}@media(min-width:1501px){.hero-foot .tabs button:nth-child(n+9){display:none}}body.home header:not(.scrolled){mix-blend-mode:normal;color:#ffffff}body.home header:not(.scrolled) a,body.home header:not(.scrolled) .theme-toggle{color:#ffffff}.lab-note .lab-slot{display:grid;margin:0 0 26px}.lab-note .lab-slot>*{grid-area:1/1;transition:opacity .35s ease,transform .35s ease}.lab-note .lab-slot .lab-hint{align-self:start;opacity:.7;color:inherit}.lab-note .lab-slot .lab-description{margin:0;max-width:52ch;opacity:0;transform:translateY(6px)}.lab-note:hover:not(:has(.products:hover)) .lab-slot .lab-description,.lab-note:focus-within .lab-slot .lab-description{opacity:1;transform:none}.lab-note:hover:not(:has(.products:hover)) .lab-slot .lab-hint,.lab-note:focus-within .lab-slot .lab-hint{opacity:0}@media(hover:none){.lab-note .lab-slot .lab-hint{display:none}.lab-note .lab-slot .lab-description{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.lab-note .lab-slot>*{transition:none}}footer .legal{margin-left:14px;font-size:10px;opacity:.5}@media(max-width:750px){footer .legal{display:block;margin:3px 0 0}}.vp-stage{position:relative;overflow:hidden}.vp{position:absolute;inset:0;z-index:1;color:#ffffff}.vp[hidden]{display:none}.vp-hit{position:absolute;inset:0;width:100%;height:100%;display:grid;place-items:center;background:none;border:0;padding:0;color:#ffffff;cursor:pointer}.vp-big,.vp-bar{background:rgba(20,20,20,.46);border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(12px) saturate(1.25);backdrop-filter:blur(12px) saturate(1.25);box-shadow:0 8px 28px rgba(0,0,0,.28)}.vp-big{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;opacity:0;transform:scale(.88);transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1)}.vp-big svg{display:block;width:30px;height:30px;fill:currentColor;margin-left:4px}.vp[data-state=paused] .vp-big{opacity:1;transform:none}.vp-snd{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;display:grid;place-items:center;padding:0;color:#fff;cursor:pointer;background:rgba(20,20,20,.46);border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(12px) saturate(1.25);backdrop-filter:blur(12px) saturate(1.25);box-shadow:0 8px 28px rgba(0,0,0,.28);opacity:0;pointer-events:none;transform:scale(.88);transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1)}.vp-snd svg{display:block;width:34px;height:34px;fill:currentColor}.vp-snd svg .st{stroke-width:1.9}.vp-snd .i-vol,.vp-snd .i-mute{display:none}.vp[data-muted=true] .vp-snd .i-mute,.vp[data-muted=false] .vp-snd .i-vol{display:grid}.vp[data-state=playing][data-muted=true] .vp-snd,.vp[data-state=playing].snd-flash .vp-snd{opacity:1;transform:none;pointer-events:auto}.vp[data-state=playing]:not([data-muted=true]) .vp-snd{pointer-events:none}.vp-hit:hover .vp-big{transform:scale(1.07)}.vp-bar{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;gap:6px;padding:6px 10px 6px 6px;border-radius:999px;transition:opacity .3s,transform .3s}.vp[data-state=playing]:not(:hover):not(:has(:focus-visible)) .vp-bar{opacity:0;transform:translateY(6px)}.vp.idle[data-state=playing] .vp-bar{opacity:0;transform:translateY(6px)}.vp.idle[data-state=playing] .vp-snd{opacity:0;pointer-events:none}.vp.idle{cursor:none}.vp.idle .vp-hit{cursor:none}.vp-bar button{flex:none;width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;color:#ffffff;border-radius:50%;background:none;cursor:pointer;transition:background .2s}.vp-bar button:hover{background:rgba(255,255,255,.22)}.vp-bar button:focus-visible,.vp-hit:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.vp-bar button span{display:grid;place-items:center;line-height:0}.vp-bar svg{display:block;width:19px;height:19px;fill:currentColor}.vp-bar svg .st,.vp-snd svg .st{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.vp-play .i-pause,.vp[data-state=playing] .vp-play .i-play{display:none}.vp[data-state=playing] .vp-play .i-pause{display:grid}.vp-mute .i-mute,.vp[data-muted=true] .vp-mute .i-vol{display:none}.vp[data-muted=true] .vp-mute .i-mute{display:grid}.vp-clock{flex:none;display:flex;gap:5px;margin:0 8px 0 4px;font:500 11px/1 var(--type-sans,Helvetica,Arial,sans-serif);letter-spacing:.02em;font-variant-numeric:tabular-nums}.vp-dur{opacity:.6}.vp-dur::before{content:"/ "}.vp-seek{flex:1;min-width:30px;height:20px;margin:0 6px;-webkit-appearance:none;appearance:none;background:none;cursor:pointer;--p:0%}.vp-seek::-webkit-slider-runnable-track{height:4px;border-radius:99px;background:linear-gradient(90deg,#ffffff var(--p),rgba(255,255,255,.3) var(--p));transition:height .15s}.vp-seek:hover::-webkit-slider-runnable-track{height:6px}.vp-seek::-moz-range-track{height:4px;border-radius:99px;background:rgba(255,255,255,.3)}.vp-seek::-moz-range-progress{height:4px;border-radius:99px;background:#ffffff}.vp-seek::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:#ffffff;border:0;box-shadow:0 1px 6px rgba(0,0,0,.4);transform:scale(0);transition:transform .15s}.vp-seek:hover::-webkit-slider-thumb,.vp-seek:focus-visible::-webkit-slider-thumb{transform:scale(1)}.vp-seek::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#ffffff;border:0}.vp-seek:focus-visible{outline:2px solid #ffffff;outline-offset:3px}.vp-stage.vp-full{position:fixed!important;inset:0;z-index:99999;width:100vw!important;height:100vh!important;max-width:none;margin:0!important;aspect-ratio:auto!important;background:#000000}.vp-stage:fullscreen{width:100vw!important;height:100vh!important;aspect-ratio:auto!important;background:#000000}@media(max-width:750px){.vp-bar{left:8px;right:8px;bottom:8px;gap:2px}.vp-big,.vp-snd{width:64px;height:64px}.vp-snd{margin:-32px 0 0 -32px}.vp-bar button{width:32px;height:32px}.vp-clock{font-size:10px;margin:0 4px}.vp-seek{margin:0 4px}}@media(hover:none){.vp[data-state=playing]:not(.idle) .vp-bar{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.vp *{transition:none!important}}html body header{background:transparent!important;border-bottom-color:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none;mix-blend-mode:normal!important;color:var(--ink)!important;transition:transform .5s cubic-bezier(.3,.75,.25,1),background-color .35s,padding .35s,color .35s}html body header .site-name,html body header nav a,html body header .theme-toggle{color:inherit!important}html body header .site-role{opacity:.7!important}html body header nav{gap:30px}html body header nav a{position:relative;padding:6px 0;border-bottom:0!important;text-decoration:none!important}html body header nav a::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.3,.75,.25,1)}html body header nav a:hover::after,html body header nav a:focus-visible::after,html body header nav a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}html body header.scrolled,html body header.is-stuck{background:color-mix(in srgb,var(--paper) 80%,transparent)!important;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);border-bottom-color:color-mix(in srgb,var(--ink) 9%,transparent)!important}html body.home header:not(.scrolled){color:#fff!important}html body.home header:not(.scrolled) .site-role{opacity:.8!important}html.hdr-hide body header{transform:translateY(-115%)}@media(prefers-reduced-motion:reduce){html body header{transition:none}}.rs-pop{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;align-items:center;padding:clamp(12px,3vw,40px);background:color-mix(in srgb,#000 62%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .3s ease}.rs-pop.on{opacity:1}.rs-bar{width:min(820px,100%);display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;color:#fff;font-size:12px}.rs-bar strong{font-weight:500;letter-spacing:.02em}.rs-bar div{display:flex;align-items:center;gap:10px}.rs-dl,.rs-x{display:inline-flex;align-items:center;justify-content:center;height:36px;border-radius:99px;border:1px solid rgba(255,255,255,.55);color:#fff;background:transparent;font:inherit;cursor:pointer;text-decoration:none;transition:background .25s,color .25s}.rs-dl{padding:0 18px;gap:8px}.rs-x{width:36px}.rs-x svg{width:14px;height:14px}.rs-dl:hover,.rs-x:hover{background:#fff;color:#111;text-decoration:none}.rs-sheet{width:min(820px,100%);flex:1;min-height:0;overflow:auto;border-radius:6px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.45);transform:translateY(18px) scale(.985);transition:transform .45s cubic-bezier(.16,.84,.24,1)}.rs-pop.on .rs-sheet{transform:none}.rs-pg{display:block;cursor:pointer}.rs-sheet img{display:block;width:100%;height:auto}body.rs-lock{overflow:hidden}@media(prefers-reduced-motion:reduce){.rs-pop,.rs-sheet{transition:none}}.hero .shade{background: linear-gradient(to top,rgba(0,0,0,.94) 0,rgba(0,0,0,.72) 16%,rgba(0,0,0,.34) 32%,transparent 50%), linear-gradient(rgba(0,0,0,.38),transparent 28%)}.home .hero{position:sticky;top:0;z-index:0}.home main{background:inherit}.home .over{position:relative;z-index:1;background:inherit;box-shadow:0 -24px 70px rgba(0,0,0,.28)}@media(prefers-reduced-motion:reduce){.home .hero{position:relative}}.home .hero::after{content:"";position:absolute;inset:0;z-index:3;background:#000;opacity:var(--dim,0);pointer-events:none}@media(prefers-reduced-motion:reduce){.home .hero::after{display:none}}.cf-full{position:fixed;inset:0;z-index:100001;overflow:auto;background:var(--paper);color:var(--ink);--c-muted:#616161;--c-line:#8d8d8d88;opacity:0;visibility:hidden;transform:translateY(26px);transition:opacity .4s ease,transform .6s cubic-bezier(.16,.84,.24,1),visibility 0s .6s}html[data-theme=dark] .cf-full{--c-muted:var(--d-soft);--c-line:var(--d-line2)}.cf-full.on{opacity:1;visibility:visible;transform:none;transition-delay:0s}.cf-full-in{min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,120px);align-items:center;padding:clamp(88px,12vh,140px) var(--pad,48px) clamp(48px,8vh,96px)}.cf-side .label{display:block}.cf-side h2{margin:20px 0 24px;font-size:clamp(64px,10vw,170px);font-weight:400;letter-spacing:-.065em;line-height:.95}.cf-lead{max-width:26em;margin:0 0 30px;font-size:clamp(16px,1.4vw,20px);line-height:1.5;color:var(--c-muted)}.cf-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:16px}.cf-links a{border-bottom:1px solid var(--c-line);padding-bottom:3px;text-decoration:none}.cf-main .contact-form{max-width:none;padding:0}.cf-x,.rs-x{display:grid;place-items:center;padding:0}.cf-x svg,.rs-x svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.cf-x{position:fixed;top:clamp(16px,2.4vw,32px);right:clamp(16px,3vw,40px);z-index:2;width:46px;height:46px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:background .25s,color .25s}.cf-x:hover{background:var(--ink);color:var(--paper)}@media(max-width:900px){.cf-full-in{grid-template-columns:1fr;align-items:start;gap:36px;padding-top:96px}.cf-side h2{font-size:clamp(56px,17vw,100px);margin:14px 0 18px}.cf-lead{margin-bottom:20px}}@media(prefers-reduced-motion:reduce){.cf-full{transition:none;transform:none}}.hero-player.vp-stage{position:absolute}.hero-close{display:grid;place-items:center;width:46px;height:46px;min-height:0;padding:0;border:1px solid currentColor;border-radius:50%;background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-close[hidden]{display:none!important}.hero-close svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}html:not([data-theme=dark]) body.case-tint.case-page{--bb:#f5f5f5;--bi:#111111}html[data-theme=dark] body.case-tint.case-page{--bb:#151515;--bi:#ededed}html body.case-tint.case-page{--bgm:color-mix(in srgb,var(--cb) calc(var(--tp,0)*1%),var(--bb));--inkm:color-mix(in srgb,var(--ci) calc(var(--ti,0)*1%),var(--bi));--cm:color-mix(in srgb,var(--inkm) 62%,transparent);--cl:color-mix(in srgb,var(--inkm) 22%,transparent);--paper:var(--bgm);--ink:var(--inkm);background:var(--bgm);color:var(--inkm);transition:none}html body.case-tint.case-page .case-back,html body.case-tint.case-page .case-link{border-bottom-color:var(--cm)}html body.case-tint.case-page .case-summary,html body.case-tint.case-page .case-block p{color:var(--inkm)}html body.case-tint.case-page .case-meta,html body.case-tint.case-page .case-block,html body.case-tint.case-page footer{border-color:var(--cl)}html body.case-tint.case-page .case-block li{border-bottom-color:var(--cl)}html body.case-tint.case-page .label,html body.case-tint.case-page .case-meta dt,html body.case-tint.case-page .case-grid figcaption,html body.case-tint.case-page .case-vertical figcaption,html body.case-tint.case-page footer{color:var(--cm)}html body.case-tint.case-page .contact{--c-muted:var(--cm);--c-line:var(--cl)}html body.case-tint.case-page .case-grid img{background:transparent}html body.case-tint.case-page .case-next{margin:0;padding:0 var(--pad);background:color-mix(in srgb,var(--inkm) 9%,transparent);border-top:1px solid var(--cl);border-bottom:1px solid var(--cl)}html body.case-tint.case-page .case-next::before{display:none}html body.case-tint.case-page .case-next a{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;padding:84px 0 92px;color:inherit}html body.case-tint.case-page .case-next .label{color:var(--cm)}html body.case-tint.case-page .case-next h2{margin:18px 0 30px;color:var(--inkm)}html body.case-tint.case-page .case-next-go{display:inline-flex;align-items:center;padding:15px 26px;border:1px solid var(--inkm);border-radius:999px;font-size:13px;letter-spacing:.02em;transition:background .3s,color .3s}html body.case-tint.case-page .case-next a:hover .case-next-go{background:var(--inkm);color:var(--bgm)}html body.case-tint.case-page .case-next-thumb{overflow:hidden;background:transparent}html body.case-tint.case-page .case-next-thumb img{display:block;width:100%;height:auto;transition:transform .9s cubic-bezier(.2,.7,.2,1)}html body.case-tint.case-page .case-next a:hover .case-next-thumb img{transform:scale(1.04)}@media(max-width:800px){html body.case-tint.case-page .case-next a{grid-template-columns:1fr;gap:34px;padding:56px 0 64px}}.xf-box{margin-top:16px;padding:clamp(14px,1.8vw,26px);border-radius:clamp(18px,2.2vw,30px);background:color-mix(in srgb,var(--inkm,#888) 8%,transparent)}.xf-tiles{display:grid;gap:clamp(10px,1.2vw,18px);margin:0}.xf-tiles.five{grid-template-columns:repeat(5,minmax(0,1fr))}.xf-tiles figure{margin:0}.xf-tile{display:block;width:100%;aspect-ratio:1/1;padding:0;border:0;overflow:hidden;border-radius:clamp(8px,1vw,14px);cursor:zoom-in;background:#fff;color:inherit}.xf-tile img{display:block;width:100%!important;height:100%!important;object-fit:cover;object-position:50% 12%}.xf-tile:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media(max-width:900px){.xf-tiles.five{grid-template-columns:repeat(2,minmax(0,1fr))}}.xf-zoom{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:rgba(8,6,16,0);transition:background .5s ease;color:#fff}.xf-zoom.in{background:rgba(8,6,16,.88)}.xf-zoom img{max-width:min(92vw,1400px);max-height:88vh;width:auto;height:auto;object-fit:contain;background:#fff;border-radius:6px;box-shadow:0 30px 90px rgba(0,0,0,.45);transform-origin:0 0;will-change:transform,clip-path}.xf-zoom .cf-x,.xf-zoom .xf-nav{opacity:0;transition:opacity .35s ease .15s,background .25s,color .25s}.xf-zoom.in .cf-x,.xf-zoom.in .xf-nav{opacity:1}.xf-zoom .cf-x{color:#fff}.xf-zoom .cf-x:hover{background:#fff;color:#111}.xf-zoom .xf-nav{position:absolute;top:50%;width:46px;height:46px;margin-top:-23px;border:1px solid #fff;border-radius:50%;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;padding:0}.xf-zoom .xf-nav:hover{background:#fff;color:#111}.xf-zoom .xf-prev{left:clamp(12px,2.5vw,36px)}.xf-zoom .xf-next{right:clamp(12px,2.5vw,36px)}.xf-zoom .xf-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(prefers-reduced-motion:reduce){.xf-zoom,.xf-zoom img{transition:none!important}}.case-meta{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}@media(max-width:750px){.case-meta{grid-template-columns:1fr 1fr}}html body.case-tint.case-page .scroll-progress{background:var(--inkm)}
:root{--ease:cubic-bezier(.2,.7,.2,1);--rise:22px}@keyframes mRise{from{opacity:0;transform:translateY(var(--rise))}to{opacity:1;transform:none}}@keyframes mFade{from{opacity:0}to{opacity:1}}body{animation:mFade .5s ease both}header{animation:mFade .7s .05s ease both}.hero-top{animation:mRise .8s .25s var(--ease) backwards}.hero-caption{animation:mRise .8s .4s var(--ease) backwards}.hero h1{animation:mRise 1s .5s var(--ease) backwards}.hero-reel{animation:mRise .8s .7s var(--ease) backwards}.hero-foot{animation:mFade 1s .95s ease backwards}.case-back{animation:mRise .7s .1s var(--ease) backwards}.case-hero h1,.archive-heading h1{animation:mRise .9s .2s var(--ease) backwards}.case-summary,.archive-heading p{animation:mRise .8s .38s var(--ease) backwards}.case-meta,.archive-heading>div>span{animation:mRise .8s .5s var(--ease) backwards}.case-media{animation:mRise .9s .6s var(--ease) backwards}.rv{opacity:0;transform:translateY(var(--rise))}.rv.in{opacity:1;transform:none;transition:opacity .8s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}.rv.in .picture img,.rv.in .gallery-image img,.rv.in.case-grid img{animation:mSettle 1.2s var(--ease) both}@keyframes mSettle{from{transform:scale(1.05)}to{transform:scale(1)}}html.m-leaving body{opacity:0;transform:translateY(-6px);transition:opacity .22s ease,transform .22s ease}.lb-btn,.sort-btn,.about-tabs button,.hero-reel,.archive-action,.theme-toggle{transition-property:background,color,border-color,opacity,transform;transition-duration:.25s;transition-timing-function:var(--ease)}.lb-btn:active,.sort-btn:active,.about-tabs button:active,.archive-action:active{transform:scale(.96)}.theme-toggle svg{transition:transform .6s var(--ease)}.theme-toggle:hover svg{transform:rotate(25deg)}.theme-toggle:active{transform:scale(.9)}.about-tabs button{transition-duration:.3s}.project .caption h3{transition:transform .5s var(--ease)}.project:hover .caption h3{transform:translateX(6px)}.case-next-go{transition:letter-spacing .4s var(--ease),border-color .3s}@media(prefers-reduced-motion:reduce){body,header,.hero-top,.hero-caption,.hero h1,.hero-reel,.hero-foot,.case-back,.case-hero h1,.archive-heading h1,.case-summary,.archive-heading p,.case-meta,.archive-heading>div>span,.case-media{animation:none!important}.rv{opacity:1;transform:none}.rv.in{transition:none}.rv.in img{animation:none!important}html.m-leaving body{opacity:1;transform:none;transition:none}.theme-toggle:hover svg,.project:hover .caption h3{transform:none}}@view-transition{navigation:auto}.case-video{view-transition-name:proj}::view-transition-group(root){animation-duration:.5s;animation-timing-function:ease}::view-transition-group(proj){animation-duration:.7s;animation-timing-function:cubic-bezier(.22,.8,.2,1)}::view-transition-old(proj),::view-transition-new(proj){height:100%;object-fit:cover}.case-media{animation:none}@media(prefers-reduced-motion:reduce){::view-transition-group(proj),::view-transition-group(root){animation-duration:0s}}@supports (view-transition-name:a){body,header{animation:none}}header{view-transition-name:site-header}::view-transition-group(site-header){animation-duration:.5s;animation-timing-function:cubic-bezier(.3,.75,.25,1)}@keyframes vtFadeOut{to{opacity:0}}@keyframes vtFadeIn{from{opacity:0}}@keyframes vtLiftOut{to{transform:translateY(-26px) scale(.992)}}@keyframes vtRiseIn{from{transform:translateY(54px)}}@keyframes vtDropOut{to{transform:translateY(26px) scale(.992)}}@keyframes vtDropIn{from{transform:translateY(-54px)}}::view-transition-old(root){animation:vtFadeOut .5s ease both,vtLiftOut .55s cubic-bezier(.5,0,.75,0) both}::view-transition-new(root){animation:vtFadeIn .5s ease both,vtRiseIn .85s cubic-bezier(.16,.84,.24,1) both}html:active-view-transition-type(back)::view-transition-old(root){animation:vtFadeOut .5s ease both,vtDropOut .55s cubic-bezier(.5,0,.75,0) both}html:active-view-transition-type(back)::view-transition-new(root){animation:vtFadeIn .5s ease both,vtDropIn .85s cubic-bezier(.16,.84,.24,1) both}.work-row:first-child .work-card{animation:mRise .9s .28s var(--ease) backwards}.work-row:first-child .work-card+.work-card{animation-delay:.42s}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),html:active-view-transition-type(back)::view-transition-old(root),html:active-view-transition-type(back)::view-transition-new(root){animation:none}::view-transition-group(site-header){animation-duration:0s}.work-row:first-child .work-card{animation:none}}