.LabosSectionNav-module__u_KgpG__reveal{display:none}.LabosSectionNav-module__u_KgpG__workFrame{display:contents}@media (min-width:900px){.LabosSectionNav-module__u_KgpG__workFrame{width:100%;display:block;position:relative}.LabosSectionNav-module__u_KgpG__workFrame.site-nav-link-active{width:calc(100% + 8px);padding-bottom:0;padding-right:0}.LabosSectionNav-module__u_KgpG__workFrame[data-sections-open=true] .site-nav-crumb{color:var(--foreground);font-weight:500}:is(.LabosSectionNav-module__u_KgpG__workFrame.site-nav-link-active>.site-nav-link:hover,.LabosSectionNav-module__u_KgpG__workFrame.site-nav-link-active>.site-nav-link:focus-visible){color:var(--foreground);text-shadow:none}.LabosSectionNav-module__u_KgpG__reveal{grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .64s cubic-bezier(.22,1,.36,1),margin-top .64s cubic-bezier(.22,1,.36,1);display:grid}.LabosSectionNav-module__u_KgpG__reveal[data-expanded=true]{grid-template-rows:1fr;margin-top:-5px}.LabosSectionNav-module__u_KgpG__revealInner{min-height:0;overflow:hidden}.LabosSectionNav-module__u_KgpG__sections{gap:4px;margin:0;padding:0 20px 12px 44px;display:grid}.LabosSectionNav-module__u_KgpG__sections li a{color:var(--muted);opacity:0;align-items:center;padding:0 10px;transition:opacity .18s,transform .3s cubic-bezier(.22,1,.36,1),color .2s;display:flex;position:relative;transform:translateY(-5px)}.LabosSectionNav-module__u_KgpG__reveal[data-expanded=true] .LabosSectionNav-module__u_KgpG__sections li a{opacity:1;transition-delay:calc(90ms + var(--section-index) * 28ms), calc(90ms + var(--section-index) * 28ms), 0s;transform:translateY(0)}.LabosSectionNav-module__u_KgpG__sections li a:hover,.LabosSectionNav-module__u_KgpG__sections li a:focus-visible{color:var(--nav-muted)}.LabosSectionNav-module__u_KgpG__sections li a[aria-current=location]{color:var(--nav-muted);font-weight:500}.LabosSectionNav-module__u_KgpG__sections li a[aria-current=location] .LabosSectionNav-module__u_KgpG__marker:not(.LabosSectionNav-module__u_KgpG__intermediate){--presence:1;--marker-width:36px}.LabosSectionNav-module__u_KgpG__sections li:first-child .LabosSectionNav-module__u_KgpG__intermediate{--presence:.56;--marker-width:16px}.LabosSectionNav-module__u_KgpG__sections li:nth-child(2) .LabosSectionNav-module__u_KgpG__marker:not(.LabosSectionNav-module__u_KgpG__intermediate){--presence:.16;--marker-width:7px}.LabosSectionNav-module__u_KgpG__marker{--presence:0;width:var(--marker-width,2px);height:calc(2px - var(--presence) * 1px);opacity:calc(.3 + var(--presence) * .7);pointer-events:none;background:currentColor;border-radius:999px;position:absolute;top:50%;right:calc(100% - 3.5px);transform:translateY(-50%)}.LabosSectionNav-module__u_KgpG__intermediate{width:var(--marker-width,0px);height:1px;opacity:calc(var(--presence) * .6);top:calc(100% + 2px)}}@media (prefers-reduced-motion:reduce){.LabosSectionNav-module__u_KgpG__reveal,.LabosSectionNav-module__u_KgpG__sections li a,.LabosSectionNav-module__u_KgpG__marker{transition:none}.LabosSectionNav-module__u_KgpG__reveal[data-expanded=true] .LabosSectionNav-module__u_KgpG__sections li a{transition-delay:0s}}
@font-face{font-family:Geist;src:url(/portfolio-assets/fonts/geist-latin.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#060606;--surface:#171717;--foreground:#fff;--muted:#7d7d7d;--nav-muted:#c2c2c2;--accent:#ff5200;--shell-width:840px;--nav-rail-width:250px;--page-gutter:10px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--background);min-width:320px}body{background:var(--background);min-height:100vh;color:var(--foreground);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Geist,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.3;overflow-x:hidden}body,p,h1,h2,figure,ul{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}img,video{display:block}.skip-link{z-index:100;color:#000;background:#fff;border-radius:8px;padding:8px 12px;position:fixed;top:15px;left:15px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline-offset:3px;outline:1px solid #fff}.portfolio-shell{width:calc(100% - 20px);max-width:var(--shell-width);margin-inline:auto}.site-header{z-index:10;background:var(--background);width:100%;height:50px;position:sticky;top:0}.site-header-inner{width:calc(100% - 10px);max-width:var(--shell-width);padding:14px var(--page-gutter) 0;justify-content:space-between;align-items:flex-start;margin-inline:auto;line-height:1.2;display:flex}.site-header .site-name{font-weight:500;display:inline-block}.site-identity{align-items:center;gap:12px;display:flex}.site-role,.site-nav-crumb,.scroll-blur{display:none}.availability-status{color:var(--nav-muted);border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:5px;padding:3px 7px;font-size:12px;line-height:1;display:inline-flex}.availability-dot{background:#5ee275;border-radius:50%;width:6px;height:6px;animation:1.7s ease-in-out infinite availability-glow;box-shadow:0 0 8px #5ee275a6}@keyframes availability-glow{0%,to{transform:scale(1);box-shadow:0 0 5px #5ee27559}50%{transform:scale(1.08);box-shadow:0 0 11px 1px #5ee275b3}}.site-header nav{color:var(--nav-muted);gap:15px;display:flex}.site-header a{transition:color .32s cubic-bezier(.22,1,.36,1),text-shadow .32s cubic-bezier(.22,1,.36,1)}.site-header a:hover,.site-header a:focus-visible{color:var(--accent);text-shadow:0 0 .45px}.site-connect{display:none}.site-nav-mail{align-items:center;margin:-10px;padding:10px;display:inline-flex}.site-nav-mail svg{stroke-width:1.5px;width:18px;height:18px;transition:stroke-width .32s cubic-bezier(.22,1,.36,1)}.site-nav-mail:hover svg,.site-nav-mail:focus-visible svg{stroke-width:2.1px}.home-intro{padding:110px 5px 28px}.intro-role,.projects-jump{font-weight:500}.home-intro .intro-role{font-size:16px}.intro-copy{width:420px;max-width:100%;color:var(--muted);margin-top:21px}.intro-copy p+p{margin-top:20px}.projects-jump{width:max-content;margin-top:128px;display:block}.projects-jump:hover{color:var(--nav-muted)}.collection-title{letter-spacing:-.01em;font-size:16px;line-height:1.3}.collection-label{color:var(--foreground)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-card{background:var(--surface);border-radius:15px;flex-direction:column;min-width:0;height:500px;padding:10px;transition:background .26s,transform .18s;display:flex;position:relative;overflow:hidden}.project-card[data-layout=wide]{grid-column:1/-1;height:586px}.project-card:hover,.project-card:focus-visible{background:rgb(var(--card-accent,29 29 29))}.project-card-title,.project-card-meta{transition:color .26s}.project-card-title{transition:color .26s,font-weight .26s}.project-card:hover .project-card-title,.project-card:focus-visible .project-card-title{color:rgb(var(--card-ink,255 255 255));font-weight:600}.project-card:hover .project-card-meta,.project-card:focus-visible .project-card-meta{color:rgb(var(--card-ink,255 255 255) / .72)}.project-card-copy{flex:0 0 74px;height:74px}.project-card-title{font-size:16px;font-weight:500;line-height:inherit}.project-card-meta{color:var(--muted);margin-top:10px;font-size:16px}.project-card[data-compact=true]{letter-spacing:-.01em;font-size:16px;line-height:1.3}.project-card>.portfolio-media{flex:1;min-height:0;margin-top:10px}.portfolio-media{background:#101010;border-radius:10px;width:100%;height:100%;position:relative;overflow:hidden}.portfolio-media img,.portfolio-media video{object-fit:cover;object-position:var(--media-position,50% 50%);width:100%;height:100%;transition:transform .4s}.project-card:hover .portfolio-media img,.project-card:hover .portfolio-media video{transform:scale(1.008)}.experiment-card{cursor:default}.experiment-visual{isolation:isolate}.experiment-visual span{display:block;position:absolute}.experiment-visual[data-visual=generative]{background:radial-gradient(circle at 20% 75%,#353535 0 1px,#0000 2px) 0 0/28px 28px,radial-gradient(circle at 77% 24%,#353535 0 1px,#0000 2px) 0 0/36px 36px,#0b0b0b}.experiment-visual[data-visual=generative]:before,.experiment-visual[data-visual=generative]:after{aspect-ratio:1;content:"";border:1px solid #ffffff2e;border-radius:50%;width:min(38vw,290px);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.experiment-visual[data-visual=generative]:after{border-color:#ffffff8c;width:min(23vw,172px);box-shadow:0 0 60px #ffffff14,inset 0 0 42px #ffffff14}.experiment-visual[data-visual=generative] span{aspect-ratio:1;transform-origin:0 0;background:#f0f0f0;border-radius:50%;width:clamp(7px,1.4vw,12px);animation:12s linear infinite experiment-orbit;top:50%;left:50%;box-shadow:0 0 18px #ffffff80}.experiment-visual[data-visual=generative] span:nth-child(2){animation-delay:-4s}.experiment-visual[data-visual=generative] span:nth-child(3){animation-delay:-8s}.experiment-visual[data-visual=spatial]{perspective:500px;background:radial-gradient(circle at 50% 42%,#dff3ff42,#0000 14%),linear-gradient(145deg,#151b21,#080a0c 64%)}.experiment-visual[data-visual=spatial]:before{content:"";transform-origin:top;background-image:linear-gradient(#9ecde92e 1px,#0000 1px),linear-gradient(90deg,#9ecde92e 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:30% -20% -35%;transform:rotateX(62deg)}.experiment-visual[data-visual=spatial]:after{aspect-ratio:1;content:"";background:linear-gradient(145deg,#ffffff2b,#0000 55%);border:1px solid #cfedff8c;border-radius:24px;width:86px;transition:transform .5s;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 24px 58px #0009,inset 0 0 28px #b3e4ff17}.experiment-card:hover .experiment-visual[data-visual=spatial]:after{transform:translate(-50%,-50%)rotate(52deg)scale(1.04)}.experiment-visual[data-visual=code]{background:linear-gradient(90deg,#0000 50%,#ffffff0a 50%) 0 0/18px 18px,#e8ff55}.experiment-visual[data-visual=code]:before{content:"";border:2px solid #101010;border-radius:50%;position:absolute;inset:15% 12%}.experiment-visual[data-visual=code]:after{content:"";background:#101010;width:52%;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-14deg);box-shadow:0 -42px #101010,0 42px #101010}.experiment-visual[data-visual=code] span{aspect-ratio:1;background:#101010;border-radius:50%;width:11px;top:50%;left:50%;transform:translate(-50%,-50%)}.experiment-visual[data-visual=code] span:nth-child(2){transform:translate(62px,-48px)}.experiment-visual[data-visual=code] span:nth-child(3){transform:translate(-74px,42px)}.experiment-visual[data-visual=aerial]{background:radial-gradient(at 18% 12%,#0000 0 31%,#e9dcb5bf 31.5% 32%,#0000 32.5% 38%,#e9dcb573 38.5% 39%,#0000 39.5%),radial-gradient(at 78% 78%,#0c2521 0 20%,#1c4b3c 21% 34%,#bdad7d 35% 40%,#263d2e 41% 58%,#101a15 59%)}.experiment-visual[data-visual=aerial]:after{content:"";background:#f4f1e8;border-radius:50%;width:76px;height:3px;position:absolute;top:48%;left:52%;transform:translate(-50%,-50%)rotate(-28deg);box-shadow:0 10px 20px #0009}.experiment-visual[data-visual=aerial] span{background:#f4f1e8;border-radius:50%;width:3px;height:26px;top:48%;left:52%;transform:translate(-50%,-50%)rotate(-28deg)}.portfolio-media-crossfade img{animation:8s infinite portfolio-crossfade}.portfolio-media-crossfade img:nth-child(2){opacity:0;animation-delay:4s}@keyframes experiment-orbit{0%{transform:rotate(0)translate(min(19vw,145px))}to{transform:rotate(360deg)translate(min(19vw,145px))}}@keyframes portfolio-crossfade{0%,43%{opacity:1}50%,93%{opacity:0}to{opacity:1}}.site-footer{width:calc(100% - 20px);max-width:var(--shell-width);margin-top:119px;margin-inline:auto;padding-bottom:20px}.site-footer-panel{background:#0a0d0b;border:1px solid #ffffff0d;border-radius:15px;height:420px;position:relative;overflow:hidden}.site-footer-intro{z-index:5;pointer-events:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid;position:relative}.site-footer-copy h2{letter-spacing:-.01em;font-size:16px;font-weight:500;line-height:1.3}.site-footer-copy p{color:#ffffff61;margin-top:4px}.site-footer-nav{color:#ffffff94;pointer-events:auto;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.site-footer-nav a{transition:color .18s,transform .18s}.site-footer-nav a:before{color:#9db18f;content:"↳";opacity:0;width:0;transition:width .18s,opacity .18s;display:inline-block;overflow:hidden}.site-footer-nav a:hover{color:var(--foreground)}.site-footer-nav a:hover:before{opacity:1;width:18px}.grass-field{border-radius:inherit;cursor:none;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 72% 27%,#cad7b61a 0,#cad7b60a 9%,#0000 27%),radial-gradient(at 50% 112%,#3d653f52 0,#233e272e 35%,#0000 69%),linear-gradient(#090c0a 0%,#0c120e 56%,#101d13 100%);position:absolute;inset:0;overflow:hidden}.grass-field:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#a9bf9c1a 30%,#a9bf9c29 50%,#a9bf9c1a 70%,#0000);height:1px;position:absolute;top:31%;left:-8%;right:-8%}.grass-field:after{content:"";pointer-events:none;background:#0d1c11cc;border-radius:50% 50% 0 0;height:130px;position:absolute;bottom:-54px;left:-12%;right:-12%;box-shadow:0 -26px 70px #3158321f}.grass-pointer-glow{z-index:4;opacity:0;pointer-events:none;will-change:transform;background:radial-gradient(circle,#d2dec317,#0000 68%);border:1px solid #dde5ce2e;border-radius:50%;width:112px;height:112px;transition:opacity .22s;position:absolute;top:-56px;left:-56px}.grass-blades,.grass-flowers{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.grass-blade{bottom:8px;left:var(--blade-x);width:var(--blade-width);height:var(--blade-height);background:linear-gradient(to top, color-mix(in srgb, var(--blade-color) 78%, #071108), var(--blade-color));clip-path:polygon(48% 0,100% 100%,0 100%);filter:blur(var(--blade-blur));opacity:var(--blade-opacity);transform:rotate(calc(var(--blade-lean) + var(--bend)));transform-origin:50% 100%;will-change:transform;border-radius:100% 100% 0 0;transition:transform .54s cubic-bezier(.16,1,.3,1);display:block;position:absolute}.grass-flowers{z-index:4}.grass-flower{bottom:8px;left:var(--flower-x);width:1px;height:var(--flower-height);transform-origin:bottom;background:linear-gradient(#6c9566,#315534);animation:.48s cubic-bezier(.16,1,.3,1) both flower-grow;display:block;position:absolute}.grass-flower>span{background:var(--flower-color);width:6px;height:6px;box-shadow:0 -4px 0 -.5px var(--flower-color), 4px 0 0 -.5px var(--flower-color), 0 4px 0 -.5px var(--flower-color), -4px 0 0 -.5px var(--flower-color), 0 0 12px #ffffff1f;border-radius:50%;position:absolute;top:-3px;left:-3px}.grass-flower>span:after{content:"";background:#c0a85f;border-radius:50%;position:absolute;inset:2px}.grass-hint{z-index:3;color:#ffffff3d;letter-spacing:0;pointer-events:none;font-size:10px;font-weight:400;line-height:1.2;transition:opacity .3s;position:absolute;top:148px;left:14px}.grass-field[data-engaged=true] .grass-hint{opacity:0}.site-footer-meta{z-index:6;color:var(--muted);text-align:center;letter-spacing:0;margin-top:0;font-size:10px;font-weight:300;line-height:1.2;position:relative}@keyframes flower-grow{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.about-page{padding:108px 5px 0}.about-hero,.about-profile,.about-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.about-hero-copy{flex-direction:column;min-height:439px;padding:2px 0 4px;display:flex}.about-profile h2,.about-experiments h2,.about-details h2{letter-spacing:-.01em;font-size:16px;font-weight:500;line-height:1.3}.about-hero h1{letter-spacing:-.01em;max-width:380px;font-size:16px;font-weight:500;line-height:1.3}.about-intro{max-width:360px;color:var(--muted);margin-top:21px}.about-experiments>a{transition:color .18s}.about-experiments>a:hover{color:var(--foreground)}.about-portrait{object-fit:cover;border-radius:15px;width:100%;height:439px}.about-profile{margin-top:102px}.about-story{max-width:390px}.about-story p,.about-experiments p,.about-details p{color:var(--muted);margin-top:21px}.about-story p+p{margin-top:20px}.about-capabilities ul{margin-top:21px}.about-capabilities li{border-top:1px solid #ffffff17;grid-template-columns:138px minmax(0,1fr);gap:10px;padding:12px 0;font-size:16px;line-height:1.3;display:grid}.about-capabilities li:last-child{border-bottom:1px solid #ffffff17}.about-capabilities strong{font-weight:500}.about-capabilities span{color:var(--muted)}.about-experiments{background:var(--surface);border-radius:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:166px;margin-top:82px;padding:14px;display:grid}.about-experiments p{max-width:350px}.about-experiments>a{color:var(--nav-muted);place-self:end start}.about-details{margin-top:82px}.about-details div{max-width:330px}.about-details>div{max-width:390px}.about-details .tool-story{max-width:390px;margin-top:21px}.tool-inline{color:var(--foreground);white-space:nowrap}.tool-app-icon{vertical-align:-4px;border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-right:5px;display:inline-flex;overflow:hidden;box-shadow:0 0 0 1px #ffffff1a}.tool-app-icon img{object-fit:cover;width:18px;height:18px;display:block;transform:scale(1.1)}.location-map{--globe-ocean:#141414;--globe-land:#333;--globe-state:#8d8d8d;--globe-line:#ffffff12;aspect-ratio:1;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;outline:none;max-width:100%;margin-top:21px;position:relative}.location-map[data-dragging]{cursor:grabbing}.location-map:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:50%}.location-map svg{width:100%;height:auto;display:block}.location-map .globe-ocean{fill:var(--globe-ocean)}.location-map .globe-graticule{fill:none;stroke:var(--globe-line);stroke-width:1.2px}.location-map .globe-land{fill:var(--globe-land)}.location-map .globe-borders{fill:none;stroke:var(--globe-ocean);stroke-opacity:.7;stroke-width:1.6px;stroke-linejoin:round}.location-map .globe-california{fill:var(--globe-state)}.location-map-pin{pointer-events:none;width:0;height:0;transition:opacity .2s;position:absolute}.location-map-dot,.location-map-ping{border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}.location-map-dot{background:var(--accent);border:2.5px solid #fff;width:11px;height:11px;box-shadow:0 0 0 1px #0000002e,0 2px 6px #00000059}.location-map-ping{background:#ff52008c;width:11px;height:11px;animation:2.6s ease-out infinite location-ping}@keyframes location-ping{0%{opacity:.7;scale:1}70%,to{opacity:0;scale:4.2}}.about-details .about-based-head{align-items:center;gap:10px;max-width:none;display:flex}.about-details .local-time{color:var(--nav-muted);font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid #ffffff1f;border-radius:999px;margin-top:0;padding:3px 7px;font-size:12px;line-height:1}.about-books{margin-top:82px}.about-books h2{letter-spacing:-.01em;font-size:16px;font-weight:500;line-height:1.3}.book-collection{grid-template-columns:repeat(4,140px);justify-content:space-between;place-items:start;gap:0;margin-top:28px;display:grid}.book-card{grid-template-rows:220px auto;width:140px;min-width:0;display:grid}.book-object{width:100%;height:var(--book-height);transform-origin:bottom;background:#232323;border-radius:4px 7px 7px 4px;align-self:end;margin-right:9px;position:relative;overflow:visible;box-shadow:0 12px 20px #00000073,2px 0 #f0ebe1,4px 0 #d2cabd,6px 1px 3px #00000029}.book-object:before{z-index:2;content:"";background:linear-gradient(90deg,#00000029 0%,#fff3 52%,#0000001c 100%);border-radius:4px 0 0 4px;width:5px;position:absolute;inset:0 auto 0 0;box-shadow:inset -1px 0 #ffffff47,1px 0 1px #0000002e}.book-object:after{z-index:2;content:"";background:#ffffff52;width:1px;position:absolute;inset:3px -1px 3px auto;box-shadow:-2px 0 3px #ffffff1f}.book-object>img{z-index:1;border-radius:inherit;object-fit:cover;position:relative;box-shadow:inset 0 0 0 1px #ffffff29}.book-placeholder{z-index:1;border-radius:inherit;color:#ffffffc7;text-align:center;background:linear-gradient(145deg,#4b4039,#24211f);border:1px solid #ffffff21;place-items:start center;padding:20px 12px;font-size:16px;font-weight:500;line-height:1.2;display:grid;position:absolute;inset:0}.book-card figcaption{color:var(--foreground);gap:3px;margin-top:17px;font-size:14px;line-height:1.25;display:grid}.book-card figcaption strong{font-weight:500}.book-card figcaption span{color:var(--muted)}.case-study-intro{letter-spacing:-.01em;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:110px 5px 0;font-size:16px;line-height:1.3;display:grid}.case-study-intro h1{font-size:16px;font-weight:500;line-height:1.3}.case-study-intro h1+p{margin-top:21px}.case-study-intro p+p,.case-study-meta p+p{margin-top:20px}.case-study-intro>div:first-child p{font-weight:400}.case-study-intro h1{font-weight:500}.case-study-meta{color:var(--muted)}.case-study-media{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:100px;display:grid}.case-study-media-item{width:100%;height:auto;aspect-ratio:var(--item-ratio);border-radius:15px;overflow:hidden}.case-study-media-item[data-layout=full],.case-study-media-item[data-layout=center]{grid-column:1/-1}.case-study-media-item[data-layout=center]{justify-content:center;align-items:center;height:500px;display:flex}.case-study-media-item[data-layout=center] .portfolio-media{width:min(var(--item-width), 100%);height:min(var(--item-height), 100%)}.case-study-media-item .portfolio-media{border-radius:15px}.not-found-page{padding:160px 10px 80px}.not-found-page h1{font-size:16px;font-weight:500}.not-found-page p{max-width:420px;color:var(--muted);margin-top:21px}.not-found-page nav{color:var(--nav-muted);gap:15px;margin-top:42px;display:flex}@media (min-width:900px){.site-nav-mail{display:none}body{background:#111;height:100dvh;overflow:hidden}.site-header{width:var(--nav-rail-width);background:#111;height:100dvh;position:fixed;inset:0 auto 0 0}.site-header-inner{flex-direction:column;justify-content:flex-start;align-items:flex-start;width:100%;max-width:none;height:100%;margin:0;padding:24px 20px 12px}.site-role{color:var(--muted);transition:opacity .4s ease, transform .4s var(--reveal-ease);margin-top:4px;display:block}.site-nav-crumb{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:opacity .4s ease, transform .4s var(--reveal-ease), color .2s ease;margin-left:6px;display:block;overflow:hidden}.site-nav-crumb:before{content:"›";margin-right:6px}.site-nav-crumb:hover{color:var(--foreground)}.site-nav-crumb[data-visible=false]{opacity:0;pointer-events:none;transform:translate(-6px)}.site-role[data-hidden=true]{opacity:0;transform:translateY(6px)}@media (prefers-reduced-motion:reduce){.site-role,.site-nav-crumb{transition:opacity .2s;transform:none!important}}.site-header nav{isolation:isolate;flex-direction:column;gap:2px;width:calc(100% + 20px);margin-top:29px}.site-nav-link{align-items:center;width:100%;height:39px;padding:0 20px 0 0;display:flex;position:relative}.site-nav-link-active{z-index:1;background:var(--background);width:calc(100% + 8px);color:var(--foreground);border-radius:11px 0 0 11px;margin-left:-8px;padding:0 20px 0 8px}.site-nav-link-active:hover,.site-nav-link-active:focus-visible{color:var(--foreground);text-shadow:none}.site-nav-link-active:before,.site-nav-link-active:after{pointer-events:none;content:"";width:14px;height:14px;position:absolute;right:0}.site-nav-link-active:before{box-shadow:7px 7px 0 7px var(--background);border-radius:0 0 14px;top:-14px}.site-nav-link-active:after{box-shadow:7px -7px 0 7px var(--background);border-radius:0 14px 0 0;bottom:-14px}.site-connect{gap:10px;width:100%;margin-top:auto;display:grid}.site-connect p{color:var(--nav-muted)}.site-connect a{width:calc(100% + 16px);color:var(--foreground);background:#000;border-radius:11px;margin-left:-8px;padding:12px 14px 12px 8px;font-weight:500;line-height:1;transition:color .26s,background .26s,box-shadow .26s;display:block;position:relative;overflow:hidden}.connect-mail{transform-origin:50% 60%;filter:drop-shadow(0 2px 6px #0000004d);pointer-events:none;width:42px;height:31px;transition:transform .54s cubic-bezier(.22,1.35,.35,1);position:absolute;bottom:-12px;right:14px;transform:translateY(40px)rotate(0)scale(.92)}.site-connect a:hover .connect-mail,.site-connect a:focus-visible .connect-mail{transform:translateY(-5px)rotate(-10deg)scale(1.2)}.site-connect a:hover,.site-connect a:focus-visible{color:#0c0c0c;text-shadow:none;background:#fff;box-shadow:0 6px 18px #00000073}.home-intro,.case-study-intro{padding-top:80px}.about-page{padding-top:78px}.case-study-intro>div{max-width:360px}.projects-jump{scroll-margin-top:80px}main{width:100%}.site-content{z-index:11;inset:0 0 0 var(--nav-rail-width);overscroll-behavior:contain;background:var(--background);scroll-behavior:smooth;border-radius:20px 0 0 20px;width:auto;height:100dvh;margin:0;position:fixed;overflow:hidden auto}.scroll-blur{--fade-size:80px;inset:0 0 0 var(--nav-rail-width);z-index:5;pointer-events:none;display:block;position:fixed}.scroll-blur i{--reach:var(--fade-size);position:absolute;inset:0}.scroll-blur i:before,.scroll-blur i:after{height:var(--reach);-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);content:"";position:absolute;left:0;right:0}.scroll-blur i:before{border-radius:20px 0 0;top:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.scroll-blur i:after{border-radius:0 0 0 20px;bottom:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.scroll-blur i:nth-child(2){--reach:calc(var(--fade-size) * .85)}.scroll-blur i:nth-child(2):before,.scroll-blur i:nth-child(2):after{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.scroll-blur i:nth-child(3){--reach:calc(var(--fade-size) * .7)}.scroll-blur i:nth-child(3):before,.scroll-blur i:nth-child(3):after{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.scroll-blur i:nth-child(4){--reach:calc(var(--fade-size) * .55)}.scroll-blur i:nth-child(4):before,.scroll-blur i:nth-child(4):after{-webkit-backdrop-filter:blur(3.5px);backdrop-filter:blur(3.5px)}.scroll-blur i:nth-child(5){--reach:calc(var(--fade-size) * .4)}.scroll-blur i:nth-child(5):before,.scroll-blur i:nth-child(5):after{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.scroll-blur i:nth-child(6){--reach:calc(var(--fade-size) * .25)}.scroll-blur i:nth-child(6):before,.scroll-blur i:nth-child(6):after{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-footer{width:100%;max-width:none;margin-left:0;margin-right:0}}@media (max-width:720px){.portfolio-shell,.site-footer{width:calc(100% - 10px)}.home-intro,.about-page,.case-study-intro{padding-inline:10px}.scroll-blur{--fade-size:72px;z-index:9;pointer-events:none;display:block;position:fixed;inset:36px 0 0}.scroll-blur i:after{display:none}.site-header{background:0 0}.site-nav-link-active,.site-nav-link-active:hover,.site-nav-link-active:focus-visible{color:var(--foreground);text-shadow:none;font-weight:500}.site-footer-meta{z-index:10}.site-header:before{z-index:-1;background:linear-gradient(to bottom, var(--background) 0, var(--background) 36px, color-mix(in srgb, var(--background) 55%, transparent) 56px, color-mix(in srgb, var(--background) 18%, transparent) 78px, transparent 100px);pointer-events:none;content:"";height:100px;position:absolute;top:0;left:0;right:0}.scroll-blur i:nth-child(2),.scroll-blur i:nth-child(4),.scroll-blur i:nth-child(6){display:none}.scroll-blur i{--reach:var(--fade-size);position:absolute;inset:0}.scroll-blur i:before,.scroll-blur i:after{height:var(--reach);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);content:"";position:absolute;left:-24px;right:-24px}.scroll-blur i:before{top:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.scroll-blur i:after{bottom:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.scroll-blur i:nth-child(3){--reach:calc(var(--fade-size) * .7)}.scroll-blur i:nth-child(3):before,.scroll-blur i:nth-child(3):after{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.scroll-blur i:nth-child(5){--reach:calc(var(--fade-size) * .4)}.scroll-blur i:nth-child(5):before,.scroll-blur i:nth-child(5):after{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.availability-status{border:0;padding:0}.availability-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.home-intro{padding-top:110px}.project-grid{grid-template-columns:1fr}.project-card,.project-card[data-layout=wide]{grid-column:auto;height:auto}.project-card>.portfolio-media{aspect-ratio:1;flex:none;height:auto}.about-hero,.about-profile,.about-details,.about-experiments{grid-template-columns:1fr}.about-hero{gap:42px}.about-portrait{aspect-ratio:935/1014;height:auto}.about-hero-copy{min-height:auto}.about-profile{gap:62px;margin-top:82px}.about-experiments,.about-details{gap:42px}.book-collection{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:start;gap:28px 24px;padding:20px 16px 16px}.case-study-intro{grid-template-columns:1fr;gap:42px}.case-study-media{grid-template-columns:1fr;margin-top:90px}.case-study-media-item,.case-study-media-item[data-layout=full],.case-study-media-item[data-layout=half]{height:auto;aspect-ratio:var(--item-ratio);grid-column:auto}.case-study-media-item[data-layout=center]{aspect-ratio:840/500;grid-column:auto;height:auto}.case-study-media-item[data-layout=center] .portfolio-media{width:min(var(--item-width), 76%);height:auto;aspect-ratio:var(--item-ratio)}.site-footer-panel{height:390px}.grass-hint{top:138px}}@media (max-width:480px){.site-header-inner{font-size:16px}.site-header nav{gap:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.grass-field{cursor:default}.grass-hint{display:none}}:root{--reveal-ease:cubic-bezier(.16, 1, .3, 1);--reveal-duration:.88s;--reveal-delay:0s}@keyframes reveal-dissolve{0%{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur()}}.home-intro .intro-role,.home-intro .intro-copy>p,.home-intro .projects-jump,.project-grid>*,.about-page>*,.not-found-page>*{animation:reveal-dissolve 1.2s cubic-bezier(.4, 0, .2, 1) var(--reveal-delay) backwards}.home-intro .intro-copy>p:first-of-type{--reveal-delay:.12s}.home-intro .intro-copy>p:nth-of-type(2){--reveal-delay:.22s}.home-intro .projects-jump{--reveal-delay:.32s}.project-grid>:first-child{--reveal-delay:.42s}.project-grid>:nth-child(2){--reveal-delay:.52s}.project-grid>:nth-child(n+3){--reveal-delay:.62s}.about-page>:nth-child(2),.not-found-page>:nth-child(2){--reveal-delay:.15s}.about-page>:nth-child(3),.not-found-page>:nth-child(3){--reveal-delay:.26s}.about-page>:nth-child(n+4){--reveal-delay:.36s}.case-study-intro h1,.case-study-intro h1+p,.case-study-meta{animation:reveal-dissolve 1.2s cubic-bezier(.4, 0, .2, 1) var(--reveal-delay) backwards}.case-study-intro h1+p{--reveal-delay:.23s}.case-study-intro h1+p~p{animation:reveal-dissolve 1.2s cubic-bezier(.4, 0, .2, 1) var(--reveal-delay) backwards;--reveal-delay:.33s}.case-study-meta{--reveal-delay:.38s}.case-study-media-item[data-reveal=pending]{opacity:0}.case-study-media-item[data-reveal=visible]{animation:reveal-dissolve 1.4s cubic-bezier(.4, 0, .2, 1) var(--reveal-delay) backwards}.case-study [data-content-reveal=pending]{opacity:0;animation:none}.case-study [data-content-reveal=visible]{animation:reveal-dissolve 1.2s cubic-bezier(.4, 0, .2, 1) var(--reveal-delay) backwards}.case-study figure>a[data-content-reveal=visible]{animation-duration:1.4s}@media (prefers-reduced-motion:reduce){.case-study [data-content-reveal]{opacity:1;animation:none}}html[data-intro-sidebar] .site-identity,html[data-intro-sidebar] .site-role:not([data-home]),html[data-intro-sidebar] .site-header nav>*,html[data-intro-sidebar] .site-connect{animation:reveal-dissolve 1.2s cubic-bezier(.4, 0, .2, 1) var(--reveal-delay) backwards}html[data-intro-sidebar] .site-identity{--reveal-delay:70ms}html[data-intro-sidebar] .site-role:not([data-home]){--reveal-delay:.15s}html[data-intro-sidebar] .site-header nav>:first-child{--reveal-delay:.24s}html[data-intro-sidebar] .site-header nav>:nth-child(2){--reveal-delay:.34s}html[data-intro-sidebar] .site-header nav>:nth-child(3){--reveal-delay:.44s}html[data-intro-sidebar] .site-connect{--reveal-delay:.48s}
