.portfolio-page{font-size:13px}.portfolio-page h1,.portfolio-page h2{font-weight:400;letter-spacing:-.025em;margin:0}.portfolio-page h1{font-size:20px}.portfolio-page h2{font-size:15px}.portfolio-page p{margin:0}.portfolio-page a{text-decoration:none}.portfolio-page button{font:inherit}.portfolio-muted{color:var(--ink-soft)}:root{--portfolio-nav-h:84px}.portfolio-nav{position:fixed;inset:0 0 auto;z-index:70;height:var(--portfolio-nav-h);display:flex;align-items:center;gap:32px;padding:20px clamp(24px,3.33vw,64px);background:var(--paper);font-size:13px;transition:opacity .18s ease}.portfolio-nav a{text-decoration:none}.portfolio-brand{font-size:18px;font-weight:560;letter-spacing:-.035em;display:flex;align-items:center;min-height:44px;flex-shrink:0}.portfolio-nav>nav{display:flex;align-items:center;gap:26px;margin-left:auto}.portfolio-nav-link{position:relative;color:var(--ink-soft);display:flex;align-items:center;min-height:44px;padding:12px 6px;transition:color .18s ease}.portfolio-nav-link:hover,.portfolio-nav-link:focus-visible,.portfolio-nav-link[aria-current=page]{color:var(--ink)}.portfolio-location{display:none;position:absolute;bottom:7px;left:6px;width:calc(100% - 12px);height:1px;background:var(--ink);transform-origin:left center}.portfolio-nav-link[aria-current=page]>.portfolio-location{display:block}.portfolio-nav-link:after{content:"";position:absolute;bottom:7px;left:6px;width:calc(100% - 12px);height:1px;background:var(--ink-faint);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--e-out)}.portfolio-nav-link:not([aria-current=page]):hover:after,.portfolio-nav-link:not([aria-current=page]):focus-visible:after{transform:scaleX(1)}.portfolio-back{display:flex;align-items:center;gap:10px;min-height:44px;width:fit-content;font-size:12px;color:var(--ink-soft);text-decoration:none}.portfolio-back:hover,.portfolio-back:focus-visible{color:var(--ink)}.portfolio-project-meta{display:grid;gap:20px;margin:24px clamp(24px,3.33vw,64px) 0}.portfolio-project-meta .pjm__id{display:grid;gap:12px}.portfolio-project-meta .pjm__name{font-size:clamp(30px,3vw,44px);font-weight:500;line-height:1.12;letter-spacing:-.035em}body:has(.portfolio-nav){--bar-b:0px;padding-top:var(--portfolio-nav-h)}body:has(.portfolio-nav) .pg{width:min(1120px,calc(100% - 96px));margin-inline:auto;padding-top:48px}body:has(.portfolio-nav) .pj{margin:32px clamp(24px,3.33vw,64px) 0}html.js.project-boot .portfolio-nav,html.js:not(.project-intro-done):has(.pj-hero--open) .portfolio-nav{visibility:hidden;opacity:0;pointer-events:none}html.js:has(.pj-hero--open) .portfolio-project-meta{opacity:clamp(0,calc((var(--imm-c,1) - .26) / .4),1)}html.js.project-intro-done:has(.pj-hero--open) .portfolio-project-meta{opacity:1}html.project-portal-active .pj-hero--open>.frame,html.project-portal-active .pj-hero--open>.cover__media{visibility:hidden}.project-cover,.project-cover img{display:block;width:100%;height:100%}.project-cover img{object-fit:cover}html.js .project-cover.is-decoding{opacity:0}.panorama-home{--gallery-inset:clamp(24px,3.33vw,64px);--card-width:min(78vw,calc(clamp(240px,calc(var(--vh-ref,100svh) - 390px),680px) * 16 / 9))}.panorama{display:flex;gap:clamp(24px,3vw,48px);align-items:start;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;padding:20px var(--gallery-inset) 12px;cursor:grab;touch-action:pan-x pan-y}.panorama::-webkit-scrollbar{display:none}.panorama.is-dragging,.panorama.is-dragging a{cursor:grabbing}.panorama-card{display:block;flex:0 0 var(--card-width);min-width:0}.panorama-photo{display:block;aspect-ratio:16/9;position:relative;overflow:hidden;background:var(--paper-deep);user-select:none}.panorama-photo img{-webkit-user-drag:none}.panorama-caption{display:flex;justify-content:space-between;align-items:baseline;gap:24px;min-height:44px;padding:16px 0 0;font-size:12px;line-height:1.5}.panorama-controls{display:flex;align-items:center;gap:24px;padding:4px var(--gallery-inset) 20px;font-size:12px}.panorama-markers{display:flex;gap:4px}.panorama-markers button{width:44px;height:44px;display:grid;place-items:center;padding:0}.panorama-markers button>span{width:24px;height:1px;background:var(--ink-faint);transition:background .18s ease,height .18s ease}.panorama-markers button[aria-pressed=true]>span{background:var(--ink);height:2px}.panorama-count{margin-left:auto;font-variant-numeric:tabular-nums}.panorama-arrows{display:flex;gap:8px}.panorama-arrows>button{width:44px;min-height:44px;font-size:18px}.panorama-arrows>button:disabled{opacity:.25;cursor:default}.panorama-video{position:absolute;inset:0;pointer-events:none;background:transparent}.panorama-video>video{width:100%;height:100%;object-fit:cover}.panorama-video[data-video-state=idle]>video{opacity:0;transition:none}.panorama-video[data-video-state=live]>video{opacity:1;transition:opacity .32s var(--e-out)}.portfolio-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin:20px clamp(24px,3.33vw,64px) 0;border-top:1px solid #292929;padding:24px 0 max(28px,env(safe-area-inset-bottom));font-size:12px;line-height:1.6}.portfolio-intro-profile{min-width:0}.portfolio-intro-practice{font-size:clamp(20px,1.6vw,24px);font-weight:400;line-height:1.3;letter-spacing:-.025em}.portfolio-intro-place{font-size:11px;letter-spacing:.01em}.portfolio-intro-profile .portfolio-intro-place{margin-top:12px}.portfolio-intro>nav{display:flex;align-items:center;gap:28px;flex-shrink:0}.portfolio-intro-name,.portfolio-intro-works,.portfolio-intro-about{display:flex;align-items:center;gap:12px;min-height:44px}.portfolio-intro-name,.portfolio-intro-about{color:var(--ink-soft);transition:color .18s ease}.portfolio-intro-name:hover,.portfolio-intro-name:focus-visible,.portfolio-intro-about:hover,.portfolio-intro-about:focus-visible{color:var(--ink)}@media (hover:hover) and (pointer:fine){.panorama-photo>.project-cover img{transition:transform .5s var(--e-out)}.panorama-photo:hover>.project-cover img,.panorama-photo:focus-visible>.project-cover img{transform:scale(1.018)}}.works-index{padding:16px clamp(24px,3.33vw,64px) 80px;max-width:1600px;margin:auto}.works-index-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px 40px}.works-index-head h1 sup{color:var(--ink-faint);font-size:12px;vertical-align:top;margin-left:8px}.works-index-head>span{font-size:12px}.e-index-caption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12px;line-height:1.4;padding-top:12px}.e-index{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:8%}.e-index-list{display:contents}.e-index-latest{display:none;font-size:9px;line-height:1;letter-spacing:.04em;color:var(--ink-soft);border:1px solid #ffffff24;border-radius:999px;padding:5px 7px}.e-index[data-archive=index] .e-index-latest{display:inline-flex}.e-index-row{grid-column:1;min-width:0;border-top:1px solid #292929}.e-index-select{width:100%;text-decoration:none;min-height:68px;display:flex;align-items:center;gap:24px;cursor:pointer;font-size:17px;text-align:left;padding-block:12px}.e-index-number,.e-index-year{font-size:12px}.e-index-year{margin-left:auto}.e-index-plus{width:20px;height:20px;flex-shrink:0;color:var(--ink-soft);--preview-action:0}.e-index-plus-stem{transform-origin:10px 10px;transform:rotate(calc(var(--preview-action) * -45deg));transition:transform .26s var(--e-out)}.e-index-plus-cross{transform-origin:10px 10px;opacity:calc(1 - var(--preview-action));scale:1 calc(1 - var(--preview-action) * .35);transition:opacity .16s ease,scale .26s var(--e-out)}.e-index-plus-head{opacity:var(--preview-action);translate:calc((1 - var(--preview-action)) * -2px) calc((1 - var(--preview-action)) * 2px);transition:opacity .2s ease,translate .26s var(--e-out)}.e-index-select:focus-visible .e-index-plus,.e-index-select:active .e-index-plus{--preview-action:1}.e-index-thumb{display:none}.e-index-thumb,.e-index-name,.e-index-number{transform-origin:0 0}.e-index-previews{grid-column:2;grid-row:1 / span var(--index-rows);position:sticky;top:calc(var(--portfolio-nav-h) + 32px);height:calc(min(65svh,650px) + 48px);align-self:start;min-width:0}.e-index-media{position:absolute;inset:0 0 auto;width:100%}.e-index-media[hidden]{display:none}.e-index-media picture{height:min(65svh,650px)}.e-index-media img{object-fit:contain!important}.e-index-media .e-index-caption{padding-inline:12px}.e-index-select{transition:background .18s ease,color .18s ease}.e-index-name{transition:translate .22s var(--e-out)}@media (hover:hover) and (pointer:fine){.e-index-select:hover,.e-index-select:focus-visible{background:var(--paper-deep)}.e-index-select:hover .e-index-name,.e-index-select:focus-visible .e-index-name{translate:4px 0}.e-index-row.is-previewed .e-index-plus,.e-index-select:hover .e-index-plus{color:var(--ink);--preview-action:1}}.works-view-modes{display:none;gap:4px}html.js .works-view-modes{display:flex}.works-view-modes button{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:4px;color:var(--ink-soft);transition:background .18s ease,color .18s ease}.works-view-modes button[aria-pressed=true]{color:var(--ink);background:color-mix(in srgb,var(--ink) 9%,transparent)}@media (min-width:1024px) and (min-height:560px){body:has(.panorama-home) main{height:calc(var(--vh-ref,100svh) - var(--portfolio-nav-h));display:grid;grid-template-rows:minmax(0,1fr) auto}.panorama-home{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.panorama{min-height:0;container-type:size;align-items:stretch}.panorama-card{--card-width:min(78vw,calc((100cqh - 44px) * 16 / 9));height:100%;display:grid;grid-template-rows:minmax(0,1fr) 44px}.panorama-photo{height:auto;max-height:100%;align-self:center}.panorama-caption{padding-top:12px}}@media (max-width:1023px){:root{--portfolio-nav-h: calc(60px + env(safe-area-inset-top,0px)) }.portfolio-nav{height:var(--portfolio-nav-h);display:flex;padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;gap:12px;font-size:12px}.portfolio-brand{font-size:16px;letter-spacing:-.04em}.portfolio-nav>nav{display:flex;gap:4px;margin-left:auto}.portfolio-nav-link{min-width:0;justify-content:center;padding-inline:5px}.portfolio-location,.portfolio-nav-link:after{left:5px;width:calc(100% - 10px);bottom:8px}.portfolio-project-meta{margin:16px 20px 0;gap:16px}.portfolio-project-meta .pjm__name{font-size:clamp(28px,7.7vw,36px);line-height:1.15}.portfolio-project-meta .pjm__id{gap:12px}body:has(.portfolio-nav) .pg{width:auto;margin-inline:20px;padding-top:36px}body:has(.portfolio-nav) .pj{margin:28px var(--mobile-inset) 0}.panorama-home{--gallery-inset:16px;--card-width: calc(100vw - 48px) ;--photo-h:calc(var(--vh-ref,100svh) - var(--portfolio-nav-h) - 100px - env(safe-area-inset-bottom,0px));height:calc(var(--vh-ref,100svh) - var(--portfolio-nav-h));display:grid;grid-template-rows:minmax(0,1fr) auto}.panorama{gap:16px;padding-block:0;min-height:0;align-items:stretch}.panorama-card{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 44px}.panorama-photo{aspect-ratio:auto;height:100%;min-height:0}.panorama-video{display:none}.panorama-caption{gap:16px;font-size:12px;align-items:center;padding-top:0}.panorama-controls{gap:12px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.panorama-markers{gap:0}.panorama-markers button{width:30px}.panorama-markers button>span{width:20px}.panorama-arrows{gap:0}.panorama-arrows>button{width:36px}.portfolio-intro{flex-direction:column;align-items:stretch;gap:24px;margin:0 20px;padding:28px 0 max(28px,env(safe-area-inset-bottom))}.portfolio-intro-practice{font-size:clamp(21px,5.7vw,26px);line-height:1.35}.portfolio-intro-profile .portfolio-intro-place{margin-top:14px}.portfolio-intro>nav{justify-content:space-between;width:100%;gap:16px;border-top:1px solid #202020;padding-top:8px}.portfolio-intro>nav a{gap:8px}.works-index{padding:24px 20px max(48px,env(safe-area-inset-bottom))}.works-index-head{padding-block:8px 28px;align-items:center}.works-index-head h1{font-size:18px}.works-desktop-hint{display:none}.e-index[data-archive=images]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.e-index-row{width:100%;grid-column:auto;border:0}.e-index-previews{display:none}.e-index[data-archive=index]{display:block}.e-index-select{gap:12px;font-size:13px;min-height:0;padding:0;position:relative}.e-index[data-archive=images] .e-index-select{display:grid;grid-template-columns:1fr auto}.e-index[data-archive=images] .e-index-thumb{display:block;grid-column:1/-1;grid-row:1;width:100%;aspect-ratio:4/5;overflow:hidden}.e-index[data-archive=images] .e-index-number{grid-column:2;grid-row:2;font-size:10px}.e-index[data-archive=images] .e-index-name{grid-column:1;grid-row:2;line-height:1.5}.e-index-year,.e-index-plus{display:none}.e-index-media{display:none!important}.e-index[data-archive=index] .e-index-row{border-top:1px solid #292929}.e-index[data-archive=index] .e-index-select{min-height:70px;display:flex}.e-index[data-archive=index] .e-index-thumb{display:block;width:34px;height:44px;flex-shrink:0}.e-index[data-archive=index] .e-index-number{width:16px;font-size:10px}.e-index[data-archive=index] .e-index-plus{display:block;margin-left:auto;transform:none;font-size:17px}}@media (max-width:359px){.portfolio-nav{padding-inline:16px}.portfolio-brand{font-size:14px}.portfolio-nav{gap:8px;font-size:11px;padding-inline:12px}.portfolio-nav>nav{gap:1px}.portfolio-nav-link{padding-inline:5px}.panorama-controls{gap:6px}.panorama-markers button{width:26px}.panorama-count{font-size:10px}}@media (prefers-reduced-motion:reduce){.panorama-photo>.project-cover img{transform:none!important}}html:not(.js) .panorama-controls{display:none}.portfolio-nav-label{transition:transform .16s var(--e-out)}.portfolio-nav-link:active>.portfolio-nav-label{transform:translateY(1px)}@media (max-width:1023px) and (orientation:landscape){.panorama-home{--card-width:min( calc(100vw - 32px) ,calc(var(--photo-h) * 9 / 16))}}.portfolio-intro nav a{position:relative}.portfolio-intro nav a:after{content:"";position:absolute;inset:auto 0 6px;height:1px;background:var(--ink-faint);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--e-out)}.portfolio-intro nav .arr{transition:translate .22s var(--e-out)}@media (hover:hover) and (pointer:fine){.portfolio-intro nav a:hover:after,.portfolio-intro nav a:focus-visible:after{transform:scaleX(1)}.portfolio-intro nav a:hover .arr,.portfolio-intro nav a:focus-visible .arr{translate:2px -2px}}@media (prefers-reduced-motion:reduce){.portfolio-intro nav .arr{translate:none}}@media (min-width:1024px){body:has(.e-index[data-archive=index]){height:var(--vh-ref,100svh);overflow:hidden}body:has(.e-index[data-archive=index]) main{height:calc(var(--vh-ref,100svh) - var(--portfolio-nav-h));overflow:clip}.works-index:has(.e-index[data-archive=index]){height:100%;padding-bottom:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.e-index[data-archive=index]{min-height:0;grid-template-rows:minmax(0,1fr);container-type:size;--index-photo-h:min(65svh,650px, calc(100cqh - 48px) )}.e-index[data-archive=index] .e-index-list{display:block;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:48px;scrollbar-width:none}.e-index[data-archive=index] .e-index-previews{grid-row:1;position:relative;top:0;height:calc(var(--index-photo-h) + 48px)}.e-index[data-archive=index] .e-index-media picture{height:var(--index-photo-h)}.e-index[data-archive=index] .e-index-preview-caption{top:calc(var(--index-photo-h) + 12px)}.e-index[data-archive=index] .e-index-thumb{display:block;width:44px;aspect-ratio:16/9;flex-shrink:0;overflow:hidden}.e-index[data-archive=images]{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}.e-index[data-archive=images] .e-index-row{grid-column:auto;border:0}.e-index[data-archive=images] .e-index-select{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:0;min-height:0;font-size:13px}.e-index[data-archive=images] .e-index-thumb{display:block;grid-column:1/-1;width:100%;aspect-ratio:3/2;overflow:hidden}.e-index[data-archive=images] .e-index-number,.e-index[data-archive=images] .e-index-plus,.e-index[data-archive=images] .e-index-previews{display:none}.e-index[data-archive=images] .e-index-year{font-size:11px}.e-index[data-archive=images] .e-index-select:hover{background:transparent}.e-index[data-archive=images] .e-index-select:hover .e-index-name{translate:none}}@media (min-width:1024px) and (max-width:1279px){.e-index[data-archive=images]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (hover:hover) and (pointer:fine){.e-index[data-archive=images] .e-index-thumb img{transition:transform .42s var(--e-out)}.e-index[data-archive=images] .e-index-select:hover .e-index-thumb img{transform:scale(1.018)}}@media (prefers-reduced-motion:reduce){.e-index[data-archive=images] .e-index-thumb img{transition:none}}.e-index-media .project-cover{background:var(--paper)}.e-index-media .project-cover{overflow:hidden}.e-index[data-archive=index] .e-index-select{padding-inline:12px}@media (max-width:719px){.e-index[data-archive=index] .e-index-select{padding-inline:10px}}@media (prefers-reduced-motion:reduce){.e-index-plus-stem,.e-index-plus-cross,.e-index-plus-head{transition:none}}.e-index-preview-caption{position:absolute;top:calc(min(65svh,650px) + 12px);inset-inline:12px;padding:0;text-decoration:none}.e-index-title-window{display:block;overflow:clip;line-height:1.5}[data-index-preview-title]{display:block}.e-index-preview-caption>span:last-child{color:var(--ink-soft);font-size:11px}:root{--portfolio-nav-h:64px;--reference-title-size:clamp(56px,8.4vw,136px)}.portfolio-nav{padding:10px clamp(20px,2.2vw,40px);font-size:12px}.portfolio-brand{font-size:16px}.portfolio-nav>nav{position:absolute;left:50%;translate:-50% 0;margin-left:0;gap:18px}.portfolio-nav-social{margin-left:auto;display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:var(--ink-soft)}.portfolio-nav-social:hover{color:var(--ink)}@media (hover:hover) and (pointer:fine){.portfolio-nav-social:hover>.arr,.portfolio-nav-social:focus-visible>.arr{transform:translate(3px,-3px)}}body:has(.reference-carousel) main{position:relative;isolation:isolate;height:calc(var(--vh-ref,100svh) - var(--portfolio-nav-h));min-height:640px;display:grid;grid-template-rows:minmax(0,1fr) auto}.reference-carousel{position:relative;min-height:0;container-type:size;display:grid;place-items:center;isolation:isolate;overflow:visible;touch-action:pan-y;--feature-h:min(500px, calc(100cqh - 100px) );--feature-w:calc(var(--feature-h) * .8);--gesture-x:0px}.reference-featured{position:fixed;inset:0 0 auto;width:100%;height:max(var(--vh-surface,100lvh),var(--vh-max,var(--vh-ref,100svh)));z-index:-1;overflow:hidden;pointer-events:none}.reference-feature{position:absolute;inset:0;display:block;opacity:0}.reference-feature.is-current{opacity:1;z-index:1}.reference-feature[hidden]{display:none}@media (pointer:coarse),(max-width:1023px){.reference-featured{position:absolute;top:calc(-1 * var(--portfolio-nav-h));height:max(calc(100% + var(--portfolio-nav-h)),var(--vh-surface,100lvh),var(--vh-max,var(--vh-ref,100svh)))}}.reference-feature-caption{position:absolute;top:24px;left:50%;translate:-50% 0;width:min(420px,calc(100% - 40px));display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;padding:4px 6px;background:transparent;font-size:12px;line-height:1.5}.reference-feature-open{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--ink-soft)}.reference-photo{width:100%;height:100%;aspect-ratio:auto;display:block;overflow:hidden;filter:blur(5px);transform:scale(1.03)}.reference-photo .project-cover img{object-fit:cover}.reference-ribbon{position:absolute;inset:0;overflow:clip;pointer-events:none;z-index:3}.reference-thumb{position:absolute;left:50%;top:50%;width:104px;height:142px;padding:0;border:0;text-decoration:none;translate:calc(-50% + var(--thumb-x,0px) + var(--gesture-x)) calc(-50% + var(--thumb-y,0px));scale:var(--thumb-scale,1);opacity:var(--thumb-opacity,1);pointer-events:auto;cursor:pointer;transition:translate .62s var(--e-out),scale .62s var(--e-out),opacity .26s ease}.reference-thumb>span{display:block;width:100%;height:100%;box-shadow:0 6px 30px #0002;overflow:hidden;transition:box-shadow .22s ease,transform .24s var(--e-out)}.reference-thumb>span{animation:reference-float 6.8s ease-in-out infinite;animation-delay:calc(var(--float-phase,0) * -1s)}.reference-thumb:nth-child(2n){--float-phase:2.1}.reference-thumb:nth-child(3n){--float-phase:4.3}.reference-carousel:not(.is-ready) .reference-thumb>span,.reference-carousel.is-dragging .reference-thumb>span,.reference-carousel.is-settling .reference-thumb>span,.reference-carousel.is-quiet .reference-thumb>span,.reference-thumb[inert]>span,.reference-thumb:focus-visible>span{animation-play-state:paused}@keyframes reference-float{0%,to{translate:0 0}50%{translate:0 calc(-4px / var(--thumb-scale,1))}}.reference-thumb .project-cover img{object-fit:cover}.reference-thumb[aria-current=true]>span{box-shadow:0 12px 36px #0006}.reference-carousel.is-dragging{cursor:grabbing}.reference-carousel.is-dragging .reference-thumb{transition:opacity .2s ease;cursor:grabbing}.reference-controls{position:absolute;top:auto;bottom:24px;left:50%;translate:-50% 0;display:flex;align-items:center;gap:20px;z-index:4}.reference-controls button{display:grid;place-items:center;width:44px;height:44px;font-size:16px;color:var(--ink-soft);transition:color .18s ease,translate .2s var(--e-out)}.reference-controls button:hover{color:var(--ink)}.reference-count{font-size:10px;letter-spacing:.04em;color:var(--ink-faint);white-space:nowrap}body:has(.reference-carousel) .portfolio-intro{margin:0 clamp(20px,2.2vw,40px);padding:14px 0 20px;align-items:center;border-color:#202020}body:has(.reference-carousel) .portfolio-intro-practice{font-size:13px;line-height:1.5;letter-spacing:-.01em}body:has(.reference-carousel) .portfolio-intro-practice br{display:none}body:has(.reference-carousel) .portfolio-intro-place{margin-top:4px;font-size:10px}body:has(.reference-carousel) .portfolio-intro nav{border:0;padding-top:0}@media (hover:hover) and (pointer:fine){.reference-thumb:hover>span{transform:translateY(-4px);box-shadow:0 8px 32px #0005}.reference-controls button:first-child:hover{translate:-2px 0}.reference-controls button:last-child:hover{translate:2px 0}}body:has(.reference-project){padding-top:0}body:has(.reference-project) .portfolio-nav{background:linear-gradient(#07070760,#07070700)}body:has(.reference-project) .portfolio-nav-link,body:has(.reference-project) .portfolio-nav-social{color:var(--ink);text-shadow:0 1px 10px #0008}body:has(.reference-project) main{transform:none}body:has(.portfolio-nav) .reference-project.pj{margin:0;position:relative}html.js .reference-project .pj-hero--open,.reference-project .pj-hero--open{height:var(--vh-surface,max(var(--vh-ref,100svh),100lvh));min-height:var(--vh-surface,max(var(--vh-ref,100svh),100lvh));width:100%;margin:0;display:grid;grid-template-rows:minmax(0,1fr);align-content:stretch;place-items:stretch;position:relative;overflow:clip}html.js .reference-project .pj-hero--open>.frame,html.js .reference-project .pj-hero--open>.cover__media,.reference-project .pj-hero--open>.frame,.reference-project .pj-hero--open>.cover__media{width:100%;height:100%;max-height:none;aspect-ratio:auto}html.js .reference-project .pj-hero--open>.frame{transition:none}html.js:has(.reference-project) .grain{opacity:var(--grain-opacity)}body:has(.reference-project) .portfolio-nav{transition:none}html.project-ui-entering:has(.reference-project) .portfolio-nav,html.project-ui-entering:has(.reference-project) .portfolio-back,html.project-ui-entering .reference-project>.project-scroll{opacity:0}html.project-ui-entering .reference-project .pj-hero--open>.cover__play{opacity:0}html.project-ui-revealing .reference-project .pj-hero--open{z-index:62}body:has(.reference-project):before{display:none}.reference-project .pj-hero--open>.frame:before{display:none}.reference-project .pj-hero--open img,.reference-project .pj-hero--open video{width:100%;height:100%;object-fit:cover}.reference-project .pj-hero--open:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,#0002 50%,transparent 80%);pointer-events:none;z-index:1}.reference-project .portfolio-project-meta{position:absolute;top:50%;left:50%;translate:-50% -50%;width:min(90%,1180px);margin:0;display:block;text-align:center;z-index:2;pointer-events:none}.reference-project .portfolio-project-meta .pjm__id{justify-items:center;gap:14px}.reference-project .portfolio-project-meta .pjm__name{max-width:12ch;font-size:var(--reference-title-size);font-weight:560;line-height:.9;letter-spacing:-.065em;text-wrap:balance;text-shadow:0 2px 30px #0003}.reference-project .portfolio-project-meta .pjm__meta{font-family:var(--font-mono);font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.06em}html.js:has(.reference-project) .pj-open{position:fixed;inset:50% auto auto 50%;translate:-50% -50%;width:min(90%,1180px);max-width:none;margin:0;gap:14px;transform:none;text-align:center;justify-items:center}html.js:has(.reference-project) .pj-open__name{font-size:var(--reference-title-size);max-width:12ch;line-height:.9}html.js:has(.reference-project) .pj-open__meta{font-family:var(--font-mono);font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.06em}.reference-project>:not(.pj-hero--open):not(.pj-open):not(.pj-hint):not(.pj-countdown):not(.sr-only){margin-inline:clamp(20px,3.33vw,64px)}.reference-project>.pj-hero:not(.pj-hero--open){width:auto}.liquid-glass{background:linear-gradient(135deg,#ffffff24,#ffffff0c 45%,#ffffff18);border:1px solid #ffffff45;border-radius:999px;-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);box-shadow:inset 0 1px 1px #ffffff40,inset 0 -1px 1px #ffffff0c,0 8px 28px #0002}body:has(.reference-project) .portfolio-back{position:fixed;z-index:75;left:max(20px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));display:flex;gap:8px;min-height:46px;padding:12px 18px;color:var(--ink);font-size:12px;transition:background .18s ease,scale .22s var(--e-out)}body:has(.reference-project) .portfolio-back:hover{background-color:#ffffff12;scale:1.025}body:has(.reference-project) .portfolio-back:active{scale:.975}html.js:not(.project-intro-done):has(.reference-project) .portfolio-back{visibility:hidden;opacity:0;pointer-events:none}.reference-project .pj-hero--open>.cover__play{position:absolute;z-index:3;right:20px;bottom:20px;align-self:auto;translate:none;padding:12px 16px;min-height:44px;border:1px solid #fff4;border-radius:999px;background:#ffffff16;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--ink)}@media (max-width:1023px){:root{--portfolio-nav-h: calc(60px + env(safe-area-inset-top,0px)) ;--reference-title-size:clamp(40px,11.2vw,60px)}.reference-thumb{width:var(--reference-center-w,104px);height:var(--reference-center-h,142px)}.portfolio-nav{padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px}.portfolio-nav>nav{position:static;translate:none;margin-left:auto;gap:4px}.portfolio-nav-social{display:none}}@media (max-width:719px){body:has(.reference-carousel) main{min-height:620px}.reference-carousel{--feature-h: calc(100cqh - 110px) ;--feature-w:calc(var(--feature-h) * 9 / 16)}.reference-thumb{width:var(--reference-center-w,62px);height:var(--reference-center-h,86px)}.reference-feature-caption{font-size:11px;padding-inline:4px}.reference-feature-open{font-size:9px;gap:4px}.reference-controls{gap:12px}body:has(.reference-carousel) .portfolio-intro{flex-direction:column;align-items:stretch;gap:8px}body:has(.reference-carousel) .portfolio-intro nav{gap:16px;min-height:44px}.reference-project>:not(.pj-hero--open):not(.pj-open):not(.pj-hint):not(.pj-countdown):not(.sr-only){margin-inline:16px}body:has(.reference-project) .portfolio-back{left:max(16px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.reference-thumb,.reference-feature,.reference-controls button,.reference-thumb>span{transition:none}.reference-thumb>span{animation:none}}body:has(.reference-carousel) .portfolio-nav{background:linear-gradient(#07070780,#07070700)}.reference-feature:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0005,#0004 45%,#070707e0)}.reference-feature-caption{z-index:2}html.js body:has(.reference-carousel:not(.is-ready)) .reference-feature.is-current,html.js .reference-carousel:not(.is-ready) .reference-ribbon,html.js .reference-carousel:not(.is-ready) .reference-feature-caption,html.js .reference-carousel:not(.is-ready) .reference-controls,html.js body:has(.reference-carousel:not(.is-ready)) .reference-footer{opacity:0}html.js .reference-carousel:not(.is-ready) .reference-thumb{transition:none}.reference-thumb{touch-action:pan-y}.reference-carousel.is-dragging .reference-thumb,.reference-carousel.is-settling .reference-thumb{transition:none}body:has(.reference-carousel) .reference-footer{position:relative;z-index:5;display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px;padding:26px 0 28px;border:0}body:has(.reference-carousel) .portfolio-intro-practice{font-size:18px;line-height:1.3;letter-spacing:-.035em}body:has(.reference-carousel) .portfolio-intro-practice br{display:block}body:has(.reference-carousel) .portfolio-intro-place{margin-top:12px;font-size:11px}.reference-instagram{display:grid;gap:5px;text-decoration:none;padding:8px 0}.reference-instagram-name{font-size:clamp(32px,3.2vw,48px);line-height:1.05;letter-spacing:-.055em;display:flex;align-items:center;gap:20px}.reference-instagram-name>span{font-size:28px;transition:translate .26s var(--e-out)}.reference-instagram-handle{font-size:11px;color:#ffffffa6}.portfolio-nav a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}html.js:has(.reference-project) .pj-open{display:none}html.js:has(.reference-project) .pj-countdown__progress{animation:none}html.js:not(.project-intro-done):has(.reference-project) .portfolio-project-meta{opacity:0}html[data-reference-intro-phase=title] .reference-project .portfolio-project-meta{z-index:64}.reference-stack{position:fixed;inset:0 0 auto;width:100%;height:var(--intro-surface-h,100lvh);z-index:60;pointer-events:none;overflow:clip;contain:layout paint}@media (pointer:coarse){.reference-stack{position:absolute}}.reference-stack-card,.reference-stack-base{position:absolute;overflow:hidden;transform-origin:0 0;box-shadow:0 16px 48px #0005;will-change:transform}.reference-stack-card{transform-origin:center;box-shadow:0 8px 28px #0005}.reference-stack-card img,.reference-stack-base img{display:block;width:100%;height:100%;object-fit:cover}html.reference-stack-running .reference-project .pj-hero--open video{opacity:0!important}.reference-project .portfolio-project-meta{top:calc(var(--vh-ref,100svh) / 2)}.reference-project .pj-hero--open>.cover__play{top:calc(var(--portfolio-nav-h) + 18px);bottom:auto;right:max(20px,env(safe-area-inset-right));margin:0;height:44px}.reference-project .pj-hero--open>.cover__play{transition:color .18s ease}body:has(.reference-project) .portfolio-back{bottom:calc(24px + max(env(safe-area-inset-bottom,0px),var(--reference-safe-bottom,0px)))}.reference-project>.project-scroll{margin:0!important;position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + max(env(safe-area-inset-bottom,0px),var(--reference-safe-bottom,0px)));z-index:65;min-height:46px;padding:12px 18px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--ink);text-decoration:none;transition:background .18s ease,scale .22s var(--e-out)}.project-scroll.is-scroll-ready{transition:background .18s ease,scale .22s var(--e-out),opacity .24s ease,translate .26s var(--e-out),visibility 0s}.reference-project>.project-scroll:hover{background-color:#ffffff12;scale:1.025}.reference-project>.project-scroll:active{scale:.975}.project-scroll svg{transition:translate .24s var(--e-out)}html.js:not(.project-intro-done):has(.reference-project) .project-scroll{opacity:0;visibility:hidden;pointer-events:none}.project-scroll.is-gone{opacity:0;translate:0 -6px;visibility:hidden;pointer-events:none;transition-delay:0s,0s,0s,0s,.26s}html.js:not(.project-intro-done) .reference-project>.project-scroll,html.project-ui-entering .reference-project>.project-scroll{transition:none}html.js.project-ui-revealing:has(.reference-project) .portfolio-nav,html.js.project-ui-revealing:has(.reference-project) .portfolio-back,html.js.project-ui-revealing .reference-project>.project-scroll:not(.is-gone),html.js.project-ui-revealing .reference-project .pj-hero--open>.cover__play{visibility:visible}#project-series{scroll-margin-top:calc(var(--portfolio-nav-h) + 24px)}@media (hover:hover) and (pointer:fine){.reference-instagram:hover .reference-instagram-name>span{translate:3px -3px}.project-scroll:hover svg{translate:0 3px}}@media (hover:none),(pointer:coarse){.portfolio-nav-link:not([aria-current=page]):hover:after{transform:scaleX(0)}.portfolio-nav-link:not([aria-current=page]):hover{color:var(--ink-soft)}}@media (max-width:719px){.reference-photo{filter:blur(3px)}.reference-feature-caption{top:16px}body:has(.reference-carousel) .reference-footer{grid-template-columns:1fr auto;gap:14px 20px;padding:24px 0 28px;align-items:end}body:has(.reference-carousel) .portfolio-intro-practice{font-size:14px}.reference-instagram{grid-column:2;grid-row:1;gap:6px}.reference-instagram-name{font-size:32px;gap:12px}.reference-instagram-name>span{font-size:24px}.reference-controls{bottom:12px}.reference-project .pj-hero--open>.cover__play{right:max(16px,env(safe-area-inset-right))}.reference-project>.project-scroll{right:max(20px,env(safe-area-inset-right));bottom:calc(28px + max(env(safe-area-inset-bottom,0px),var(--reference-safe-bottom,0px)))}}@media (prefers-reduced-motion:reduce){.reference-instagram-name>span,.project-scroll,.project-scroll.is-scroll-ready,.project-scroll svg{transition:none}}.reference-intro-photo{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;visibility:hidden}html.js .reference-project .reference-intro-photo{opacity:1;visibility:visible}.reference-video-trace{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;overflow:hidden;contain:paint;isolation:isolate}.reference-video-trace>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}.reference-video-chroma{mix-blend-mode:screen;opacity:.1}.reference-video-chroma--red{filter:grayscale(1) sepia(1) saturate(3) hue-rotate(320deg);transform:translate(1.25px)}.reference-video-chroma--cyan{filter:grayscale(1) sepia(1) saturate(3) hue-rotate(130deg);transform:translate(-1.25px)}.reference-project .pj-hero--open [data-video-state=preparing]>.cover__vid{opacity:1;transition:none}html.js .reference-project .pj-hero--open>.cover__play{translate:none;transform:none;align-self:auto;justify-self:auto}@media (max-width:359px){.reference-instagram-name{font-size:28px;gap:8px}.reference-instagram-name>span{font-size:22px}body:has(.reference-carousel) .portfolio-intro-practice{font-size:13px}}.reference-feature-caption{text-decoration:none}.reference-title-window{display:block;overflow:clip;line-height:1.5}[data-reference-title]{display:block;white-space:nowrap}.reference-count-window{display:inline-block;vertical-align:middle;width:2ch;height:1.35em;overflow:clip}[data-reference-number]{display:block;line-height:1.35}@media (min-width:1024px){.reference-controls{top:min(calc(46% + var(--reference-center-h,142px) / 2 + clamp(84px,8cqh,128px)),calc(100% - 92px));bottom:auto}.reference-thumb{top:46%;width:160px;height:auto;aspect-ratio:var(--thumb-ratio,1.5)}.reference-feature-caption{top:calc(46% + var(--reference-center-h,142px) / 2 + 20px);width:clamp(300px,var(--reference-center-w,400px),560px);display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0;text-align:left}.reference-title-window{font-size:16px;letter-spacing:-.025em}.reference-feature-open{font-size:10px;letter-spacing:.02em}body:has(.reference-carousel) .reference-footer{grid-template-columns:1fr auto;align-items:end;gap:32px;border:0;padding:12px 0 16px}body:has(.reference-carousel) .portfolio-intro-practice{font-size:14px;line-height:1.4;letter-spacing:-.02em}.reference-instagram{justify-self:end;text-align:right;justify-items:end;gap:6px}.reference-instagram-name{font-size:32px;gap:16px}.reference-instagram-name>span{font-size:22px}}.reference-stack-base{z-index:auto}.reference-stack-shade{position:absolute;inset:0;pointer-events:none}html.js:not(.project-intro-done):not([data-reference-intro-phase=title]) .reference-project .pj-hero--open>.frame,html.js:not(.project-intro-done):not([data-reference-intro-phase=title]) .reference-project .pj-hero--open>.cover__media,html.js:not(.project-intro-done):not([data-reference-intro-phase=title]) .reference-project .reference-intro-photo,html.js:not(.project-intro-done):not([data-reference-intro-phase=title]) .reference-project .pj-hero--open:after{opacity:0}html.project-portal-active .reference-stack{visibility:hidden}.site-entry{display:none}html.js.site-entering .site-entry{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#070707;pointer-events:none;animation:site-entry-fallback 1ms 2.8s forwards}.site-entry-word{position:relative;font-family:var(--font-sans);font-size:clamp(28px,4vw,54px);font-weight:500;line-height:1.2;letter-spacing:-.045em;color:#ffffff26}.site-entry-fill{position:absolute;inset:0;color:var(--ink);clip-path:inset(0 100% 0 0)}@keyframes site-entry-fallback{to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){html.js.site-entering .site-entry{display:none}}
