:root{--page-gutter:7%;--container-max:1360px;--page-width:min(var(--container-max), calc(100% - (var(--page-gutter) * 2)));--ease-in-out:cubic-bezier(.77, 0, .175, 1);--font-primary:"Edu Diatype", sans-serif;--white:#fcfcfc;--neutral-50:#f3f3f3;--image-placeholder:#f5f5f5;--skeleton-sheen:#0000000b;--neutral-100:#e8e8e8;--neutral-200:#ddd;--neutral-300:#bbb;--neutral-400:#a6a6a6;--neutral-500:#868686;--neutral-600:#727272;--neutral-700:#5e5e5e;--neutral-800:#4b4b4b;--neutral-900:#282828;--neutral-950:#1a1a1a;--black:#121212;--panel-bg:#fdfdfd;--panel-surface:#fff;--panel-row:#f0f0f0;--panel-row-hover:#ececec;--panel-row-soft:#f4f4f4;--panel-border:#e8e8e8;--panel-divider:#ededed;--panel-input-bg:#fafafa;--panel-fill-rest:#e4e4e4;--panel-fill-active:#dadada;--panel-tick-filled:#d0d0d0;--panel-tick-unfilled:#bcbcbc;--panel-slider-thumb:#555;--panel-slider-rest:#666;--panel-slider-active:#2a2a2a;--panel-title:#141414;--panel-text:#1a1a1a;--panel-text-strong:#333;--panel-text-mid:#555;--panel-value:#6f6f6f;--panel-text-soft:#9a9a9a;--panel-icon:#a0a0a0;--panel-unit:#b3b3b3;--panel-accent:#4a90e2;--panel-accent-soft:#4a90e266;--panel-accent-bg:#eef4fb;--panel-ease:cubic-bezier(.23, 1, .32, 1);--panel-spring:cubic-bezier(.34, 1.56, .64, 1);--bg-color:var(--white);--text-color:var(--neutral-900);--switch-circle:var(--white);--gray:var(--neutral-600);--selection-bg:#fff700;--switch-track:#e0e0e0;--nav-capsule-bg:#edededcc;--text-primary:var(--neutral-950);--text-secondary:var(--neutral-700);--text-tertiary:var(--neutral-600);--divider:#f1efef;--about-bg:#ccc;--about-surface:#c5c5c5;--focus-ring:#ffa53f;--success:#36ba00;--glass-dark:#30303099;--glass-pill:#e8e8e890;--glass-switch:#dcdcdc4d;--glass-switch-dark:#40404099;--shimmer-pink:255, 0, 80;--shimmer-blue:0, 120, 255;--shimmer-green:0, 220, 60;--shimmer-purple:190, 0, 255;--shimmer-orange:255, 100, 0;--shimmer-teal:0, 210, 190;--shimmer-indigo:80, 40, 255;--shimmer-magenta:255, 0, 190;--shimmer-neutral:90, 90, 100;--shimmer-white:255, 255, 255;--shimmer-wash-1:#78dc9600;--shimmer-wash-2:#78dc96b3;--shimmer-wash-3:#9ee05acc;--shimmer-wash-4:#e8d646d1;--shimmer-wash-5:#f0a046d1;--shimmer-wash-6:#e8606ecc;--shimmer-wash-7:#ed4287b3;--shimmer-wash-8:#d64a8200;--shadow-pill:0 2px 8px 0 #0000000a, 0 0 0 1px #0000000f, 0 1px 1px 0 #0000000a;--shadow-pill-dark:0 2px 8px 0 #0000004d, 0 0 0 1px #ffffff14, 0 1px 1px 0 #0000004d;--shadow-menu-card:0px 0px 0px 1px #09090b0d, 0px 4px 8px -2px #09090b0a, 0px 12px 24px -4px #09090b0f, 0px 24px 48px -8px #09090b12;--shadow-smooth-sm:0 18px 47px 0 #0001, 0 7.5px 19px 0 #0000000b, 0 4px 10.5px 0 #0000000a, 0 2.3px 5.8px 0 #00000006, 0 1.2px 3.1px 0 #00000004, 0 .5px 1.3px 0 #00000004;--radius-100:2px;--radius-200:4px;--radius-300:8px;--radius-400:12px;--radius-500:16px;--radius-600:20px;--radius-700:24px;--radius-800:28px;--radius-900:32px;--radius-pill:999px;--radius-circle:50%;--text-12:12px;--text-14:14px;--text-16:16px;--text-18:18px;--text-20:20px;--text-24:24px;--text-28:28px;--text-30:30px;--text-32:32px;--text-36:36px;--text-40:40px;--text-44:44px;--z-page-ui:100;--z-toast:200;--z-menu-overlay:530;--z-menu:540;--z-floating-btn:590;--z-header:600;--z-logo-blend:650;--z-lightbox:700;--minimap-gutter:32px;--minimap-w:17px;--minimap-w-major:22px;--minimap-line-idle:var(--neutral-200);--minimap-line-idle-major:var(--neutral-300);--minimap-line-filled:var(--text-color);--minimap-orange:#ffa53f;--header-height:182px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--image-placeholder:#151515;--skeleton-sheen:#ffffff0e;--bg-color:var(--black);--text-color:var(--white);--switch-circle:var(--neutral-500);--gray:var(--neutral-400);--text-primary:var(--white);--text-secondary:var(--neutral-400);--text-tertiary:var(--neutral-500);--minimap-line-idle:var(--neutral-800);--minimap-line-idle-major:var(--neutral-700);--minimap-line-filled:var(--neutral-400);--panel-bg:#1a1a1c;--panel-surface:#252528;--panel-row:#232326;--panel-row-hover:#2a2a2e;--panel-row-soft:#2e2e33;--panel-border:#333338;--panel-divider:#2a2a2e;--panel-input-bg:#202023;--panel-fill-rest:#333338;--panel-fill-active:#45454c;--panel-tick-filled:#4a4a52;--panel-tick-unfilled:#3a3a40;--panel-slider-thumb:#cfcfd4;--panel-slider-rest:#9b9ba3;--panel-slider-active:#f0f0f2;--panel-title:#f4f4f6;--panel-text:#ececee;--panel-text-strong:#dcdce0;--panel-text-mid:#b8b8be;--panel-value:#9a9aa2;--panel-text-soft:#6e6e76;--panel-icon:#7a7a82;--panel-unit:#5e5e66;--panel-accent-bg:#1f2a38}.color-gray{color:var(--gray)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@font-face{font-family:Edu Diatype;src:url(/fonts/EduDiatype-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Edu Diatype;src:url(/fonts/EduDiatype-RegularItalic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Edu Diatype;src:url(/fonts/EduDiatype-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Edu Diatype;src:url(/fonts/EduDiatype-MediumItalic.woff2)format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Edu Diatype;src:url(/fonts/EduDiatype-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Edu Diatype;src:url(/fonts/EduDiatype-BoldItalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}*{box-sizing:border-box;font-family:var(--font-primary);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent}.theme-transitioning,.theme-transitioning *,.theme-transitioning :before,.theme-transitioning :after{transition:none!important}.theme-transitioning .slider-handle{transition:transform .3s cubic-bezier(.34,1.56,.64,1)!important}html.no-fouc,html.no-fouc *,html.no-fouc :before,html.no-fouc :after{transition:none!important}html.is-reload{background-color:var(--bg-color)}html.is-reload body{visibility:hidden}html.is-reload.reload-ready body{visibility:visible;animation:.3s ease-in both page-reload-reveal}@keyframes page-reload-reveal{0%{opacity:0}to{opacity:1}}html{scrollbar-gutter:stable;scrollbar-width:none;background-color:var(--bg-color);overscroll-behavior:none;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}html::-webkit-scrollbar{display:none}[id]{scroll-margin-top:calc(var(--header-height) + 24px)}#works{scroll-margin-top:114px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:var(--text-20);color:var(--text-primary);background-color:#0000;margin:0;padding:0;font-weight:400;line-height:124%}ul,li{margin:0;padding:0;list-style:none}::placeholder{color:var(--neutral-300)}::selection{background:var(--selection-bg);color:var(--text-primary)}[data-theme=dark] ::selection,[data-theme=dark]::selection,.page-about ::selection{background:var(--neutral-400);color:var(--neutral-950)}.mobile-view{display:none}.desktop-view{display:block}a{color:inherit;cursor:pointer;text-decoration:none;transition:opacity .15s}a:active,a:focus{outline:none;text-decoration:none}:focus-visible{box-shadow:0 0 0 2px var(--white), 0 0 0 4px var(--focus-ring);border-radius:var(--radius-200);outline:none}.button-outlined:focus-visible,.copy-link:focus-visible,.read-more:focus-visible,.backtotop:focus-visible,.theme-switch:focus-visible,.carousel-arrow-prev:focus-visible,.carousel-arrow-next:focus-visible,.swiper-button-prev:focus-visible,.swiper-button-next:focus-visible{border-radius:var(--radius-pill)}[data-theme=dark] :focus-visible{box-shadow:0 0 0 2px var(--black), 0 0 0 4px var(--focus-ring)}header nav li a:focus-visible{box-shadow:none;outline:2px solid var(--focus-ring);outline-offset:-6px;border-radius:var(--radius-pill)}[data-theme=dark] header nav li a:focus-visible{box-shadow:none}.button-outlined:focus-visible{box-shadow:0 0 0 1px #00000017, 0px 2px 2px #00000008, 0 0 0 2px var(--white), 0 0 0 4px var(--focus-ring)}[data-theme=dark] .button-outlined:focus-visible{box-shadow:0 0 0 1px #ffffff1f, 0px 2px 2px #0003, 0 0 0 2px var(--black), 0 0 0 4px var(--focus-ring)}.logo-blend a:focus-visible,footer a:focus-visible{box-shadow:none;outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-pill)}[data-theme=dark] footer a:focus-visible{box-shadow:none}.button-get-in-touch-pill:focus-visible{box-shadow:none;outline:2px solid var(--focus-ring);outline-offset:1px;border-radius:var(--radius-pill)}[data-theme=dark] .button-get-in-touch-pill:focus-visible{box-shadow:none}p a{text-decoration:underline}@media (hover:hover){p a:hover{text-decoration:none}}p{margin:0 0 1em}p:last-child{margin-bottom:0}svg,img,embed,object{width:100%;max-width:100%;height:auto;display:block}.blur-up{width:100%;height:100%;display:block;position:relative;overflow:hidden}.blur-up__ph{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.04)}.blur-up>img:not(.blur-up__ph){color:#0000;transition:opacity .8s;position:relative}.blur-up[data-state=loading]>img:not(.blur-up__ph){opacity:0}.blur-up[data-state=loaded]>img:not(.blur-up__ph){opacity:1}.blur-up[data-state=cached]>img:not(.blur-up__ph){opacity:1;transition:none}[data-panel] svg{display:initial;width:auto;max-width:none;height:auto}.grid-12{grid-template-columns:repeat(12,1fr);display:grid}.grid-3{grid-template-columns:repeat(3,1fr);display:grid}.grid-2{grid-template-columns:repeat(2,1fr);display:grid}.grid-span-6{grid-column:span 6}.flex{display:flex}.flex-justify{justify-content:space-between}.flex-column{flex-direction:column}.flex-align-center{align-items:center}.gap-12{gap:12px}.gap-36{gap:36px}.gap-40{gap:40px}.gap-48{gap:48px}.mb-48{margin-bottom:48px}.mb-100{margin-bottom:100px}.mt-05{margin-top:5px}.mt-40{margin-top:40px}.m-0{margin:0}.pb-28{padding-bottom:28px}.pb-40{padding-bottom:40px}.pt-12{padding-top:12px}.pt-28{padding-top:28px}.pt-120{padding-top:120px}.pt-16{padding-top:16px}.pt-24{padding-top:24px}.font-14,p{font-size:var(--text-14);line-height:138%}.font-16{font-size:var(--text-16);line-height:1.5}h5{font-size:var(--text-18);line-height:124%}h3{font-size:var(--text-36);letter-spacing:-1.2px;font-weight:400;line-height:48px}h2{font-size:var(--text-40);letter-spacing:-1.4px;line-height:1.15}h1{font-size:var(--text-44);letter-spacing:-.7px;font-weight:400;line-height:125%}.opening-text{color:var(--text-tertiary);font-size:var(--text-28);letter-spacing:-.65px;margin:0;font-weight:400;line-height:40px}.section-title{font-size:var(--text-20);letter-spacing:-.5px;font-weight:400;line-height:100%}.section-title-row{justify-content:space-between;align-items:center;display:flex}.section-title-row .section-title{margin:0;padding:0}.section-counter{font-variant-numeric:tabular-nums;font-size:var(--text-16);letter-spacing:-.3px;color:var(--text-tertiary);font-weight:400;line-height:100%}.work-title{font-size:var(--text-16);letter-spacing:-.2px;margin:0;font-weight:400;line-height:100%}.work-title-single{font-size:clamp(var(--text-24), 3.333vw - 12px, var(--text-36));letter-spacing:-.8px;font-weight:400;line-height:100%}.work-short-description{font-size:var(--text-16);-webkit-line-clamp:1;line-clamp:1;text-overflow:ellipsis;color:var(--text-tertiary);-webkit-box-orient:vertical;line-height:145%;display:-webkit-box;overflow:hidden}.carousel-card-image,.carousel-card-image img,.single .work-content-images img,.work-image,.work-image img,.hover-darken,.archives-canvas-plane .canvas-item,.gallery-item,.lightbox-image-area img,.fragments-stage{border-radius:var(--radius-300)}strong,b{font-weight:500}.content{width:var(--page-width);margin-inline:auto}.theme-switch-wrapper{align-items:center;gap:10px;display:flex}.theme-switch{font:inherit;appearance:none;border-radius:var(--radius-pill);background-color:var(--switch-track);cursor:pointer;border:none;align-items:center;width:66px;height:30px;padding:4px;display:flex}[data-theme=dark] .theme-switch{background-color:var(--neutral-800)}.slider-handle{border-radius:var(--radius-pill);background-color:var(--switch-circle);width:38px;height:24px;transform:translate(0)}[data-theme=dark] .slider-handle{background-color:var(--neutral-500);transform:translate(20px)}.divider{background-color:var(--divider);border:none;height:1px;margin-left:0;margin-right:0}[data-theme=dark] .divider{background-color:var(--neutral-900)}header{z-index:var(--z-header);background:0 0;border-bottom:0;position:sticky;top:0}.header-content{width:var(--page-width);margin-inline:auto;position:relative}.nav-capsule{background:var(--nav-capsule-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-pill);backface-visibility:hidden;isolation:isolate;padding:4px 4px 4px 36px;transform:translateZ(0)}[data-theme=dark] .nav-capsule{background:var(--glass-dark)}header.header--floating{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;width:100%;height:auto;position:fixed;top:0;left:0}@media (min-width:961px){header.header--floating .header-content{transition:transform .5s var(--ease-in-out);position:relative;transform:translateY(52px)}header.header--floating.header--stuck .header-content{transform:translateY(0)}body:has(header.header--floating) .page-shell{margin-top:0;padding-top:128px}}@media (min-width:961px) and (max-height:819px){:root{--header-height:158px}header.header--floating .header-content,.logo-blend:not(.logo-blend--stuck){transform:translateY(28px)}header.header--floating.header--stuck .header-content{transform:translateY(0)}body:has(header.header--floating) .page-shell{padding-top:104px}}@media (max-width:960px){header.header--floating .header-content,header.header--floating.header--stuck .header-content{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;transform:none}header.header--floating .mobile-flex{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;padding:0}header.header--floating .mobile-flex .menu-toggle{background:var(--glass-switch);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-pill);backface-visibility:hidden;isolation:isolate;align-items:center;width:44px;height:44px;padding:12px;transform:translateZ(0)}[data-theme=dark] header.header--floating .mobile-flex .menu-toggle{background:var(--glass-switch-dark)}body:has(header.header--floating) .page-shell{margin-top:0;padding-top:86px}}header nav ul{gap:0;margin:-10px -20px;display:flex}header nav li a{color:var(--text-secondary);font-size:var(--text-18);-webkit-user-select:none;user-select:none;padding:10px 20px;transition:color 90ms;display:inline-block;position:relative}@media (hover:hover){header nav li a:hover{color:var(--neutral-800)}[data-theme=dark] header nav li a:hover{color:var(--neutral-200)}}header nav li a:active{color:var(--text-primary)}[data-theme=dark] header nav li a:active{color:var(--neutral-50)}[data-theme=dark] header nav li a{color:var(--neutral-400)}.logo-blend{width:var(--page-width);height:0;z-index:var(--z-logo-blend);mix-blend-mode:difference;pointer-events:none;opacity:1;transition:transform .5s var(--ease-in-out), opacity .3s ease;margin:0 auto;padding:0;position:fixed;top:0;left:0;right:0;transform:translateY(52px)}.logo-blend--stuck{transform:translateY(0)}.logo-blend a{pointer-events:auto;display:inline-flex;position:relative;top:38px}.logo-blend svg{width:auto;height:40px;display:block}.logo-blend svg path{fill:var(--white);transition:fill .2s}@media (hover:hover){.logo-blend a:hover svg path{fill:#fff9}}.logo-spacer{visibility:hidden}.current_page_item a{font-weight:400;color:var(--text-primary)!important}.button-outlined,.read-more,.copy-link,.footer-links a{-webkit-user-select:none;user-select:none}.footer-links{margin-left:auto;margin-right:-10px;display:flex}.footer-links a{margin-block:-6px;padding:6px 10px}.footer-links a:first-child{margin-left:-10px}footer a:active,.about-content a:active,p a:active{opacity:.6}.logo-blend a:active svg path{fill:var(--neutral-300)}.lightbox-thumb:active{opacity:1;filter:none}.footer{background:var(--bg-color);width:100%;color:var(--text-color)}[data-theme=dark] .footer{color:var(--neutral-400)}.footer-inner{width:var(--page-width);margin-inline:auto}.footer-content{flex-wrap:wrap;align-items:baseline;row-gap:16px;width:100%;padding:60px 0}.footer-tagline{min-width:0;color:var(--text-primary);flex:auto}body.page-archives .footer{display:none}footer a{transition:color 90ms,opacity .15s}@media (hover:hover){footer a:hover{color:var(--neutral-800)}[data-theme=dark] footer a:hover{color:var(--neutral-200)}html:not([data-theme=dark]) body:has(.page-about) footer a:hover{color:var(--black)}}.page-shell{z-index:1;background:var(--bg-color);min-height:100vh;padding-top:var(--header-height);margin-top:calc(var(--header-height) * -1);display:flow-root;position:relative;overflow:clip visible}body.archives-canvas .page-shell{background:0 0;min-height:0;margin-top:0;padding-top:0}.page-shell:has(.page-about){background-color:var(--about-bg)}[data-theme=dark] .page-shell:has(.page-about){background-color:var(--black)}body:has(.page-about) .footer .divider{background-color:var(--neutral-900)}body:has(.page-about) .footer{background-color:var(--about-bg)}html:has(.page-about){background-color:var(--about-bg)}@media (max-width:960px){.page-shell:has(.page-about){background-color:var(--about-surface)}body:has(.page-about) .footer{background-color:var(--about-surface)}html:has(.page-about){background-color:var(--about-surface)}}[data-theme=dark] body:has(.page-about) .footer{background-color:var(--black)}[data-theme=dark]:has(.page-about){background-color:var(--black)}html:not([data-theme=dark]) body:has(.page-about) .footer{--gray:var(--neutral-900)}header .logo svg{width:auto;height:32px}.hero-content{width:var(--page-width);margin-inline:auto}.hero-gap-28{gap:28px}.hero-content>.opening-text-wrapper{border-bottom:1px solid var(--divider)}[data-theme=dark] .hero-content>.opening-text-wrapper{border-bottom:1px solid var(--neutral-900)}.text-button{width:fit-content;color:var(--neutral-900);font-size:var(--text-18);cursor:pointer;align-items:center;gap:8px;line-height:100%;transition:color 90ms;display:inline-flex}.text-button__label{text-underline-offset:4px;text-decoration:none;text-decoration-thickness:1px}.text-button svg{flex-shrink:0;width:22px;height:22px;transform:translateY(-2px)}[data-theme=dark] .text-button{color:var(--neutral-400)}.button-outlined{border-radius:var(--radius-pill);cursor:pointer;width:fit-content;height:48px;color:var(--text-tertiary);font-size:var(--text-16);align-items:center;padding:12px 18px;font-weight:400;line-height:100%;transition:transform .15s,background-color 90ms,color 90ms,box-shadow .15s;display:flex;box-shadow:0 0 0 1px #00000017,0 2px 2px #00000008}[data-theme=dark] .button-outlined{box-shadow:0 0 0 1px #ffffff1f,0 2px 2px #0003}@media not all and (pointer:coarse){.button-outlined:hover{background-color:var(--neutral-50);color:var(--text-secondary)}[data-theme=dark] .button-outlined:hover{background-color:var(--neutral-950);color:var(--neutral-300)}}.button-outlined:active{background-color:var(--neutral-100);color:var(--text-secondary);transform:scale(.96)}[data-theme=dark] .button-outlined:active{background-color:var(--neutral-900);color:var(--white)}.button-get-in-touch{--text-swap-dur:.1s;--text-swap-translate-y:8px;--text-swap-blur:2px;--text-swap-ease:ease-out;background:var(--black);width:140px;height:48px;color:var(--white);border-radius:var(--radius-pill);cursor:pointer;border:none;justify-content:center;align-items:center;font-family:inherit;transition:width .45s cubic-bezier(.34,1.45,.6,1),background-color .15s,transform .15s;display:inline-flex;position:relative;overflow:hidden}@media not all and (pointer:coarse){.button-get-in-touch:hover{background:var(--neutral-950)}}.button-get-in-touch:active{background:var(--neutral-900)}@media (hover:hover){.button-get-in-touch:hover{width:306px;transition:width .45s cubic-bezier(.34,1.45,.6,1)}.button-get-in-touch:has(:focus-visible){width:306px;transition:width .45s cubic-bezier(.34,1.45,.6,1)}}.button-get-in-touch-cta{text-align:center;font-size:var(--text-16);letter-spacing:-.3px;font-weight:400;transition:opacity .15s .15s;position:absolute;left:0;right:0}@media (hover:hover){.button-get-in-touch:hover .button-get-in-touch-cta{opacity:0;transition:opacity .12s}.button-get-in-touch:has(:focus-visible) .button-get-in-touch-cta{opacity:0;transition:opacity .12s}}.button-get-in-touch-revealed{pointer-events:none;justify-content:center;align-items:center;gap:4px;width:100%;height:100%;padding:4px;display:flex;position:absolute;top:0;left:0;right:0}@media (hover:hover){.button-get-in-touch:hover .button-get-in-touch-revealed{pointer-events:auto}.button-get-in-touch:has(:focus-visible) .button-get-in-touch-revealed{pointer-events:auto}}.button-get-in-touch-pill{cursor:default;height:40px;font-family:inherit;font-size:var(--text-14);letter-spacing:-.3px;white-space:nowrap;color:var(--white);opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-weight:400;line-height:1;text-decoration:none;transition:opacity .25s;display:flex;position:relative}.button-get-in-touch-pill .surface{background:var(--neutral-800);border-radius:var(--radius-pill);transform-origin:50%;filter:blur(4px);transition:background .15s,filter .35s,transform .4s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.button-get-in-touch-pill .text{z-index:1;pointer-events:none;filter:blur(4px);justify-content:center;align-items:center;width:100%;transition:filter .2s;display:flex;position:relative}.button-get-in-touch-email-pill{cursor:pointer;width:200px}.button-get-in-touch-copy{cursor:pointer;width:94px}.button-get-in-touch-email-pill .surface{transform-origin:0;background:var(--black);transform:translate(100%)}@media (hover:hover){.button-get-in-touch:hover .button-get-in-touch-email-pill{opacity:1;transition:opacity .25s}.button-get-in-touch:has(:focus-visible) .button-get-in-touch-email-pill{opacity:1;transition:opacity .25s}.button-get-in-touch:hover .button-get-in-touch-email-pill .surface{filter:blur();transition:background .15s,filter .4s,transform .55s cubic-bezier(.22,1,.36,1);transform:translate(0)}.button-get-in-touch:has(:focus-visible) .button-get-in-touch-email-pill .surface{filter:blur();transition:background .15s,filter .4s,transform .55s cubic-bezier(.22,1,.36,1);transform:translate(0)}.button-get-in-touch:hover .button-get-in-touch-email-pill .text{filter:blur();transition:filter .25s 40ms}.button-get-in-touch:has(:focus-visible) .button-get-in-touch-email-pill .text{filter:blur();transition:filter .25s 40ms}}.button-get-in-touch-copy .surface{transform:scale(.5)}@media (hover:hover){.button-get-in-touch:hover .button-get-in-touch-copy{opacity:1;transition:opacity .25s 80ms}.button-get-in-touch:has(:focus-visible) .button-get-in-touch-copy{opacity:1;transition:opacity .25s 80ms}.button-get-in-touch:hover .button-get-in-touch-copy .surface{filter:blur();transition:background .15s,filter .35s 80ms,transform .4s cubic-bezier(.34,1.15,.6,1) 80ms;transform:scale(1)}.button-get-in-touch:has(:focus-visible) .button-get-in-touch-copy .surface{filter:blur();transition:background .15s,filter .35s 80ms,transform .4s cubic-bezier(.34,1.15,.6,1) 80ms;transform:scale(1)}.button-get-in-touch:hover .button-get-in-touch-copy .text{filter:blur();transition:filter .25s .12s}.button-get-in-touch:has(:focus-visible) .button-get-in-touch-copy .text{filter:blur();transition:filter .25s .12s}.button-get-in-touch-copy:hover .surface,.button-get-in-touch-email-pill:hover .surface{background:var(--neutral-700)}.button-get-in-touch:hover .button-get-in-touch-copy:active .surface,.button-get-in-touch:hover .button-get-in-touch-email-pill:active .surface{background:var(--neutral-600);transition:transform 80ms,background 80ms;transform:scale(.96)}}.button-get-in-touch-copy.copied .surface{background:var(--success)}.button-get-in-touch-copy.copied{color:var(--white)}.t-text-swap{filter:blur();opacity:1;transition:transform var(--text-swap-dur) var(--text-swap-ease), filter var(--text-swap-dur) var(--text-swap-ease), opacity var(--text-swap-dur) var(--text-swap-ease);align-items:center;display:inline-flex;transform:translateY(0)}.t-text-swap.is-exit,.t-text-swap.is-enter-start{will-change:transform, filter, opacity}.t-text-swap.is-exit{transform:translateY(calc(var(--text-swap-translate-y) * -1));filter:blur(var(--text-swap-blur));opacity:0}.t-text-swap.is-enter-start{transform:translateY(var(--text-swap-translate-y));filter:blur(var(--text-swap-blur));opacity:0;transition:none}.check-icon,.copy-icon{vertical-align:middle;flex-shrink:0;width:14px;height:14px;margin-right:4px;display:inline-block;position:relative;top:-1px}.check-icon path,.copy-icon path{fill:currentColor}@media (prefers-reduced-motion:reduce){.t-text-swap{transition:none!important}}[data-theme=dark] .button-get-in-touch{background:var(--white);color:var(--black)}@media not all and (pointer:coarse){[data-theme=dark] .button-get-in-touch:hover{background:var(--neutral-50)}}[data-theme=dark] .button-get-in-touch:active{background:var(--neutral-100)}[data-theme=dark] .button-get-in-touch-pill{color:var(--bg-color)}[data-theme=dark] .button-get-in-touch-pill .surface{background:var(--neutral-200)}[data-theme=dark] .button-get-in-touch-email-pill .surface{background:var(--white)}@media (hover:hover){[data-theme=dark] .button-get-in-touch-copy:hover .surface,[data-theme=dark] .button-get-in-touch-email-pill:hover .surface{background:var(--neutral-300)}[data-theme=dark] .button-get-in-touch:hover .button-get-in-touch-copy:active .surface,[data-theme=dark] .button-get-in-touch:hover .button-get-in-touch-email-pill:active .surface{background:var(--neutral-400)}}[data-theme=dark] .button-get-in-touch-copy.copied .surface{background:var(--success)}[data-theme=dark] .button-get-in-touch-copy.copied{color:var(--white)}.backtotop{border-radius:var(--radius-pill);background:var(--neutral-50);cursor:pointer;width:48px;height:48px;margin-left:auto;margin-right:0;transition:transform .15s,background-color 90ms;position:relative}.backtotop svg path{fill:var(--neutral-500);transition:fill .2s}[data-theme=dark] .backtotop{background:var(--neutral-900)}[data-theme=dark] .backtotop svg path{fill:var(--neutral-300)}@media not all and (pointer:coarse){.backtotop:hover{background:var(--neutral-100)}.backtotop:hover svg path{fill:var(--neutral-700)}[data-theme=dark] .backtotop:hover{background:var(--neutral-800)}[data-theme=dark] .backtotop:hover svg path{fill:var(--white)}}.backtotop svg{width:14px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.backtotop:focus{outline:none}.backtotop:active{background:var(--neutral-200);transform:scale(.9)}[data-theme=dark] .backtotop:active{background:var(--neutral-700)}.page-about .backtotop{background:var(--black)}.page-about .backtotop svg path{fill:var(--about-bg)}[data-theme=dark] .page-about .backtotop{background:var(--white)}[data-theme=dark] .page-about .backtotop svg path{fill:var(--black)}@media not all and (pointer:coarse){.page-about .backtotop:hover{background:var(--neutral-900)}.page-about .backtotop:hover svg path{fill:var(--about-bg)}[data-theme=dark] .page-about .backtotop:hover{background:var(--neutral-100)}[data-theme=dark] .page-about .backtotop:hover svg path{fill:var(--black)}}.page-about .backtotop:active{background:var(--neutral-800)}[data-theme=dark] .page-about .backtotop:active{background:var(--neutral-200)}.copy-link{border-radius:var(--radius-pill);background:var(--neutral-50);cursor:pointer;border:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:transform .15s,background-color 90ms;display:flex}.copy-link svg path{fill:var(--neutral-500);transition:fill .2s}[data-theme=dark] .copy-link{background:var(--neutral-900)}[data-theme=dark] .copy-link svg path{fill:var(--neutral-300)}@media not all and (pointer:coarse){.copy-link:hover{background:var(--neutral-100)}.copy-link:hover svg path{fill:var(--neutral-700)}[data-theme=dark] .copy-link:hover{background:var(--neutral-800)}[data-theme=dark] .copy-link:hover svg path{fill:var(--white)}}.copy-link svg{width:18px;height:18px}.copy-link:focus{outline:none}.copy-link:active{background:var(--neutral-200);transform:scale(.9)}[data-theme=dark] .copy-link:active{background:var(--neutral-700)}.copy-link-wrap{display:inline-flex;position:relative}.copy-feedback-pill{--text-swap-dur:.1s;--text-swap-translate-y:8px;--text-swap-blur:2px;--text-swap-ease:ease-out;border-radius:var(--radius-pill);background:var(--white);width:94px;height:36px;color:var(--text-secondary);box-shadow:var(--shadow-pill);font-size:var(--text-14);letter-spacing:-.3px;white-space:nowrap;opacity:0;pointer-events:none;z-index:var(--z-toast);justify-content:center;align-items:center;font-weight:400;line-height:1;transition:opacity .15s cubic-bezier(.22,1,.36,1),transform .15s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%)translateY(4px)}.copy-feedback-pill.is-visible{opacity:1;transition:opacity .25s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1);transform:translate(-50%)translateY(0)}@media (hover:hover){.copy-link-wrap:hover .copy-feedback-pill{opacity:1;transition:opacity .25s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1);transform:translate(-50%)translateY(0)}}.copy-feedback-pill .t-text-swap{color:inherit}[data-theme=dark] .copy-feedback-pill{background:var(--neutral-900);color:var(--white);box-shadow:var(--shadow-pill-dark)}@media (prefers-reduced-motion:reduce){.copy-feedback-pill{transition:opacity .15s cubic-bezier(.22,1,.36,1)}}.read-more{color:var(--text-secondary);background:var(--neutral-50);white-space:nowrap;cursor:pointer;border-radius:var(--radius-pill);height:48px;font-family:inherit;font-size:var(--text-16);border:0;align-items:center;gap:8px;padding:12px 18px;font-weight:400;line-height:100%;transition:transform .15s,background-color 90ms,color 90ms;display:flex}.read-more svg path{fill:var(--neutral-500);transition:fill .2s}[data-theme=dark] .read-more{color:var(--neutral-300);background:var(--neutral-900)}[data-theme=dark] .read-more svg path{fill:var(--neutral-300)}@media not all and (pointer:coarse){.read-more:hover{color:var(--text-secondary);background:var(--neutral-100)}.read-more:hover svg path{fill:var(--neutral-700)}[data-theme=dark] .read-more:hover{color:var(--white);background:var(--neutral-800)}[data-theme=dark] .read-more:hover svg path{fill:var(--white)}}.read-more svg{width:7px;height:20px;margin:0 2px;transition:transform .18s;transform:rotate(-90deg)}.read-more.expanded svg{transform:rotate(90deg)}.read-more:focus{outline:none}.read-more:active{background:var(--neutral-200);color:var(--text-secondary);transform:scale(.93)}[data-theme=dark] .read-more:active{background:var(--neutral-700);color:var(--white)}:root{--lab-ring:#303030;--ring-floor:.62;--ring-cx:65}.button-lab{border-radius:var(--radius-pill);background:var(--black);height:48px;color:var(--white);font-family:inherit;font-size:var(--text-16);white-space:nowrap;cursor:pointer;align-items:center;gap:8px;padding:12px 22px;font-weight:400;line-height:100%;text-decoration:none;transition:transform .15s,background-color 90ms,color 90ms;display:inline-flex}@media (pointer:coarse){.button-lab{will-change:transform;outline:1px solid #0000}}@media not all and (pointer:coarse){.button-lab:hover{background:var(--neutral-950);color:var(--white)}[data-theme=dark] .button-lab:hover{background:var(--neutral-100);color:var(--neutral-950)}}.button-lab:active{background:var(--neutral-900);color:var(--white);transform:scale(.96)}[data-theme=dark] .button-lab:active{background:var(--neutral-200);color:var(--neutral-950)}.button-lab__arrow{transition:transform .15s cubic-bezier(.23,1,.32,1);display:inline-flex;transform:translateY(-.1px)}.button-lab__arrow svg{width:14px;height:auto;display:block}.lab-block__arrow svg{display:block}[data-theme=dark] .button-lab{background:var(--white);color:var(--neutral-950)}@media not all and (pointer:coarse){.button-lab:hover .button-lab__arrow{transform:translateY(-.1px)translate(2px)}}.lab-block{--lab-bg:var(--black);border-radius:var(--radius-300);background-color:var(--lab-bg);width:100%;height:clamp(180px,22vw,280px);color:var(--white);cursor:pointer;align-items:center;padding:0 48px;text-decoration:none;transition:transform .15s,background-color 90ms,color 90ms;display:flex;position:relative;overflow:hidden}@media not all and (pointer:coarse){.lab-block:hover{--lab-bg:var(--neutral-950);background-color:var(--neutral-950)}[data-theme=dark] .lab-block:hover{--lab-bg:var(--neutral-50);background-color:var(--neutral-50)}}[data-theme=dark] .lab-block{--lab-bg:var(--white);--lab-ring:var(--neutral-200);background-color:var(--white);color:var(--neutral-950)}.lab-block__scrim{z-index:1;background:linear-gradient(to right, var(--lab-bg) 0%, var(--lab-bg) 42%, color-mix(in srgb, var(--lab-bg) 55%, transparent) 72%, transparent 100%);pointer-events:none;width:56%;transition:background 90ms;position:absolute;inset:0 auto 0 0}.lab-block__content{z-index:2;padding:20px 0 20px 40px;position:relative}.lab-block__cta{font-size:var(--text-28);align-items:center;gap:10px;font-weight:400;display:inline-flex}.lab-block__arrow{transition:transform .15s cubic-bezier(.23,1,.32,1);display:inline-flex;transform:translateY(1px)}.lab-block__rings{z-index:1;pointer-events:none;position:absolute;inset:0}.lab-block__rings svg{width:100%;height:100%;display:block}.lab-block__dash{stroke:var(--lab-ring);stroke-linecap:round}@media not all and (pointer:coarse){.lab-block:hover .lab-block__arrow{transform:translateY(1px)translate(3px)}}@media (max-width:960px){.lab-block{--ring-cx:63;--ring-floor:.64;height:130px;padding:0 24px}.lab-block__cta{font-size:var(--text-16)}.lab-block__content{padding-left:20px}}@media (max-width:768px){.lab-block{--ring-floor:.48;--ring-cx:63;height:100px}}@media (max-width:480px){.lab-block{--ring-floor:.34;--ring-cx:88;padding:0 16px}.lab-block__content{padding-left:8px}}.single .work-header-top:has(.button-lab-row){align-items:stretch}.single .work-header-top:has(.button-lab-row) .work-header-info{flex-direction:column;display:flex}.single .button-lab-row{margin-top:auto;padding-top:24px}@media (max-width:960px){.single .button-lab-row{margin-top:0;padding-top:24px}}.works-carousel-section{width:100%}.works-carousel-header{justify-content:space-between;align-items:center;width:100%;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0;display:flex}.works-carousel-header .section-title{margin:0;padding:0}.works-carousel-controls{align-items:center;gap:12px;display:flex}.carousel-arrow-prev,.carousel-arrow-next{cursor:pointer;border-radius:var(--radius-pill);background:var(--neutral-50);-webkit-user-select:none;user-select:none;border:none;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:background-color 90ms;display:flex}.carousel-arrow-prev svg path,.carousel-arrow-next svg path{fill:var(--neutral-500);transition:fill .2s}[data-theme=dark] .carousel-arrow-prev,[data-theme=dark] .carousel-arrow-next{background-color:var(--neutral-900)}[data-theme=dark] .carousel-arrow-prev svg path,[data-theme=dark] .carousel-arrow-next svg path{fill:var(--neutral-300)}@media (hover:hover){.carousel-arrow-prev:hover,.carousel-arrow-next:hover{background-color:var(--neutral-100)}.carousel-arrow-prev:hover svg path,.carousel-arrow-next:hover svg path{fill:var(--neutral-700)}[data-theme=dark] .carousel-arrow-prev:hover,[data-theme=dark] .carousel-arrow-next:hover{background-color:var(--neutral-800)}[data-theme=dark] .carousel-arrow-prev:hover svg path,[data-theme=dark] .carousel-arrow-next:hover svg path{fill:var(--white)}}.carousel-arrow-prev:active,.carousel-arrow-next:active{background-color:var(--neutral-200);transform:scale(.97)}[data-theme=dark] .carousel-arrow-prev:active,[data-theme=dark] .carousel-arrow-next:active{background-color:var(--neutral-600)}.works-carousel-viewport{cursor:grab;touch-action:pan-y;width:100vw;position:relative;left:50%;overflow:visible;transform:translate(-50%)}.works-carousel-track{padding-left:calc((100vw - var(--page-width)) / 2);will-change:transform;touch-action:pan-y;align-items:flex-end;width:max-content;display:flex}.works-carousel-viewport.is-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.works-carousel-viewport.is-dragging *{pointer-events:none}.carousel-card{transform-origin:bottom;flex-shrink:0;width:fit-content;min-width:0}@media (min-width:961px){.carousel-card{will-change:transform}}@media (max-width:960px){.carousel-arrow-prev,.carousel-arrow-next{display:none}.works-carousel-viewport{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:auto;cursor:auto;scroll-padding-left:20px;overflow:auto hidden}.works-carousel-viewport::-webkit-scrollbar{display:none}.works-carousel-track{touch-action:auto;will-change:auto}.carousel-card{scroll-snap-align:start}}.carousel-card-image{background:var(--image-placeholder);width:fit-content;line-height:0;position:relative;overflow:hidden}.carousel-card-image img{object-fit:cover;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.carousel-card-image img.is-portrait{width:auto}@media (min-width:961px){.works-carousel-track{--carousel-col:calc((min(var(--container-max), 86vw) - 96px) / 3);gap:48px}.carousel-card-image img,.carousel-card-image img.is-portrait{width:var(--carousel-col);max-width:none;height:auto}}@media (min-width:961px) and (max-width:1199px){.works-carousel-track{--carousel-col:calc((86vw - 48px) / 2)}}.single .work-header{flex-direction:column;display:flex}.work-header-top{align-items:start;gap:0;display:flex}.work-header-info{flex:0 0 50%;max-width:50%;padding-right:40px}.work-content-text{margin-left:calc(40% + 120px);padding-top:4px;padding-bottom:4px}.work-content-text__label{font-size:var(--text-16);color:var(--text-primary);padding-bottom:8px;font-weight:400}[data-theme=dark] .work-content-text .work-text{color:var(--neutral-400)}.work-header-right{flex-direction:column;flex:1;display:flex}.work-header-right-label{border-top:1px solid var(--neutral-200);font-size:var(--text-14);color:var(--text-tertiary);line-height:100%}[data-theme=dark] .work-header-right-label{border-top:1px solid var(--neutral-700)}.work-header-text{max-height:150px;font-size:var(--text-16);color:var(--text-primary);line-height:140%;transition:max-height .15s ease-in-out;position:relative;overflow:hidden}[data-theme=dark] .work-header-text{color:var(--white)}.work-header-text:after{content:"";background-color:var(--bg-color);pointer-events:none;height:200px;transition:opacity .15s ease-in-out;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.work-header-text.expanded{max-height:2000px}.work-header-text.expanded:after{opacity:0}.work-header-text .mask{overflow:hidden}.work-text,.work-text p{font-size:var(--text-16);color:var(--text-secondary);line-height:1.6}[data-theme=dark] .work-text p{color:var(--neutral-400)}.single-work-buttons{z-index:var(--z-page-ui);justify-content:flex-start}.single .work-content .work-content-images{width:100%}.single .work-content .work-content-images>*{flex:none}.single .work-content-images .work-image{background:var(--image-placeholder);overflow:hidden}.single .work-content-images .work-image img{object-fit:cover;width:100%;height:100%}@media (min-width:961px){.single .work-content-images .work-image--full{width:min(100%, calc((100dvh - 96px) * var(--ar,100)));margin-inline:auto}}.related-work .work-image{aspect-ratio:var(--ar,16 / 9);background:var(--image-placeholder);overflow:hidden}.related-work .work-image img{object-fit:cover;width:100%;height:100%}.about-content .section-1,.about-content .section-2{border-top:1px solid var(--black);color:var(--black)}[data-theme=dark] .about-content .section-1,[data-theme=dark] .about-content .section-2{border-top:1px solid var(--neutral-700);color:var(--neutral-400)}.about-description{width:100%;color:var(--text-primary)}.about-bio,.about-bio p{font-size:var(--text-18);line-height:160%}[data-theme=dark] .about-description{color:var(--white)}@media (hover:hover){.text-button:hover{color:var(--text-tertiary)}.text-button:hover .text-button__label{text-decoration:underline}.about-content a:hover{color:var(--text-tertiary)}}.page-about .content{z-index:1;position:relative}.page-about{background-color:var(--about-bg);border-bottom-left-radius:var(--radius-400);border-bottom-right-radius:var(--radius-400);width:100%;position:relative;overflow-x:hidden}[data-theme=dark] .page-about{background-color:var(--black)}.about-bg{z-index:0;pointer-events:none;--ball-size:min(26.8vw, 462px);--ball-step:min(29.4vw, 506px);--ball-center-y:496px;position:absolute;inset:0;overflow:hidden}.about-bg__ball{top:calc(var(--ball-center-y) - var(--ball-size) / 2);width:var(--ball-size);height:var(--ball-size);border-radius:var(--radius-circle);background-color:var(--about-surface);position:absolute}[data-theme=dark] .about-bg__ball{background-color:var(--neutral-950)}.about-bg__ball--c1{left:calc(var(--ball-step) * 1.5)}.about-bg__ball--c2{left:calc(var(--ball-step) * .5)}.about-bg__ball--c3{left:calc(var(--ball-step) * -.5)}.work-image{object-fit:cover;width:100%;height:auto}.works .hover-darken{background:var(--image-placeholder);line-height:0}@media (min-width:961px){.home-work-grid .grid-3{row-gap:var(--section-gap)}}.liquid-glass-grid{z-index:1;position:relative}.liquid-glass-layer{pointer-events:none;z-index:-1;perspective:1400px;position:absolute;inset:0}.glass-item{border-radius:var(--radius-800);will-change:transform;align-self:start;margin:-24px;padding:24px;position:relative}.liquid-glass{pointer-events:none;will-change:transform;border-radius:var(--radius-800);opacity:0;background:linear-gradient(#fff 0%,#fafafa 100%);border:1px solid #f7f7f9;position:absolute;overflow:hidden;box-shadow:inset 0 2px 4px #fff,inset 0 -4px 4px #ffffff4d,inset 0 -4px 16px #ffffff8a,inset 0 4px 10px #6f6f7506,0 4px 14px -10px #35354f1c,0 11px 28px -10px #35354f07}@supports (color:color(display-p3 1 1 1)){.liquid-glass{background:linear-gradient(color(display-p3 1 1 1) 0%,color(display-p3 .979 .979 .981) 100%);border-color:color(display-p3 .9686 .9686 .9752);box-shadow:inset 0 2px 4px color(display-p3 1 1 1),inset 0 -4px 4px color(display-p3 1 1 1/.3),inset 0 -4px 16px color(display-p3 1 1 1/.54),inset 0 4px 10px color(display-p3 .4338 .4338 .4566/.022),0 4px 14px -10px color(display-p3 .2085 .2085 .3025/.108),0 11px 28px -10px color(display-p3 .2085 .2085 .3025/.026)}}[data-theme=dark] .liquid-glass{background:linear-gradient(#ffffff02 0% 100%);border-color:#ffffff02;box-shadow:inset 0 2px 4px #ffffff01,inset 0 -4px 16px #fff0,inset 0 4px 10px #00000005,0 4px 14px -10px #0000000b,0 11px 28px -10px #00000007}.liquid-glass-highlight{pointer-events:none;border-radius:var(--radius-800);opacity:.48;--lgy:50%;--lgh:28px;--lg-opacity:.24;background:radial-gradient(120% var(--lgh) at 50% var(--lgy), rgba(255, 255, 255, var(--lg-opacity)) 0%, #fff0 100%);position:absolute;inset:0}[data-theme=dark] .liquid-glass-highlight{--lg-opacity:.006}@media (max-width:960px){.glass-item{will-change:auto;margin:0;padding:0;transform:none!important}.liquid-glass-layer{display:none}}.hover-darken{display:block;position:relative;overflow:hidden}.hover-darken:after{content:"";pointer-events:none;background:0 0;transition:background 90ms;position:absolute;inset:0}@media (hover:hover){.hover-darken:hover:after{background:#0000002e}}.hover-darken:active:after{background:#0000003d}.page-archives .main,.infinite-gallery-wrapper{width:100%;position:relative}.infinite-gallery{align-items:flex-start;gap:12px;width:auto;min-height:100vh;padding:20px;display:flex}.masonry-col{flex-direction:column;flex:1 1 0;gap:12px;min-width:0;display:flex}body.archives-canvas{overflow:hidden}html:has(body.archives-canvas){overflow:hidden}body.lightbox-open{overflow:hidden}body.page-archives{background-color:var(--bg-color)}body.archives-canvas header{z-index:var(--z-header);width:100%;position:fixed;top:0;left:0}body.archives-canvas header,body.archives-canvas .header-content{pointer-events:none}body.archives-canvas .nav-capsule{pointer-events:auto}.archives-canvas-container{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:var(--bg-color);z-index:1;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}body.canvas-dragging .archives-canvas-container{cursor:grabbing}.archives-canvas-plane{will-change:transform;cursor:grab;width:100%;height:100%;position:absolute;top:0;left:0}body.canvas-pressing .archives-canvas-plane .canvas-item{cursor:default}.archives-canvas-plane .canvas-item{object-fit:contain;pointer-events:auto;cursor:zoom-in;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;aspect-ratio:auto;margin:0;transition:transform .18s;display:block}body.canvas-dragging .archives-canvas-plane .canvas-item{cursor:grabbing}@media (hover:hover){.archives-canvas-plane .canvas-item:hover{z-index:2;transform:translateZ(0)scale(1.05)}}body.lightbox-open .archives-canvas-plane .canvas-item{transition:none}body.lightbox-open .archives-canvas-plane .canvas-item:hover,body.canvas-hover-locked .archives-canvas-plane .canvas-item:hover{z-index:auto;transform:translateZ(0)}.gallery-item{background-color:var(--image-placeholder);object-fit:contain;cursor:pointer;width:100%;height:auto;transition:transform .18s;position:relative}@media (hover:hover){.gallery-item:hover{z-index:2;transform:scale(1.05)}}body.canvas-dragging,body.canvas-dragging .archives-canvas-plane{cursor:grabbing}body.canvas-opening .archives-canvas-container,body.canvas-opening .archives-canvas-plane,body.canvas-opening .archives-canvas-plane .canvas-item,body.lightbox-open .archives-canvas-container,body.lightbox-open .archives-canvas-plane,body.lightbox-open .archives-canvas-plane .canvas-item{cursor:default}.archives-skeleton{--gap:round(3.125vw, 1px);--stride:calc(var(--cw) + var(--gap));pointer-events:none;z-index:0;display:block;position:fixed;inset:0;overflow:hidden}.archives-skeleton--wide{--cw:max(150px, 9.76563vw)}.archives-skeleton--narrow{--cw:max(150px, 14.0625vw);display:none}@media (min-width:961px) and (max-width:1439px) and (min-height:820px){.archives-skeleton--wide{display:none}.archives-skeleton--narrow{display:block}}.archives-skeleton__tile{width:var(--cw);border-radius:var(--radius-300);background:var(--image-placeholder);position:absolute;overflow:hidden}.archives-skeleton__tile:after{content:"";background:linear-gradient(100deg, transparent 20%, var(--skeleton-sheen) 50%, transparent 80%);animation:1.6s ease-in-out infinite archives-skeleton-sheen;position:absolute;inset:0;transform:translate(-100%)}@keyframes archives-skeleton-sheen{to{transform:translate(100%)}}@media (max-width:960px){.archives-skeleton{display:none}}@media (prefers-reduced-motion:reduce){.archives-skeleton__tile:after{animation:none}}.lightbox-overlay{touch-action:none;background:var(--white);width:100%;height:100dvh;z-index:var(--z-lightbox);display:flex;position:fixed;top:0;left:0}[data-theme=dark] .lightbox-overlay{background:var(--black)}.lightbox-inner{flex-direction:column;width:100%;height:100%;padding:36px 36px 100px;display:flex}.lightbox-topbar{flex-shrink:0;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;display:flex}#image-name{font-weight:400;font-size:var(--text-14);color:var(--text-tertiary);line-height:100%}.lightbox-image-area{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.lightbox-image-area>img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}@media (min-width:961px){.lightbox-image-area>img{max-width:80%;max-height:80%}}.lightbox-nav{flex-shrink:0;justify-content:center;gap:8px;margin-top:36px;display:none}.lightbox-thumbnails{--thumb-size:36px;--thumb-gap:14px;--thumb-fade:200px;max-width:90vw;height:var(--thumb-size);pointer-events:none;z-index:5;opacity:0;-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--thumb-fade), #000 calc(100% - var(--thumb-fade)), transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--thumb-fade), #000 calc(100% - var(--thumb-fade)), transparent 100%);mask-image:linear-gradient(to right, transparent 0, #000 var(--thumb-fade), #000 calc(100% - var(--thumb-fade)), transparent 100%);animation:.5s .7s forwards lightbox-thumbs-fade-in;position:absolute;bottom:28px;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes lightbox-thumbs-fade-in{to{opacity:1}}.lightbox-thumbnails-track{gap:var(--thumb-gap);pointer-events:auto;will-change:transform;transition:transform .45s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:0;left:50%}.lightbox-thumbnails-track.no-transition{transition:none}.lightbox-thumb{height:var(--thumb-size);border-radius:var(--radius-200);cursor:pointer;opacity:.28;filter:saturate(.55);background:0 0;border:none;flex-shrink:0;margin:0;padding:0;transition:opacity 90ms,filter 90ms;overflow:hidden}.lightbox-thumb img{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block}@media (hover:hover){.lightbox-thumb:hover{opacity:.45}}.lightbox-thumb--active{opacity:.55;filter:saturate(.8);cursor:default}.close-btn{cursor:pointer;z-index:10;border-radius:var(--radius-pill);background:var(--neutral-50);-webkit-user-select:none;user-select:none;flex-shrink:0;width:48px;height:48px;transition:background-color 90ms}.close-btn svg path{fill:var(--neutral-500);transition:fill .2s}[data-theme=dark] .close-btn{background:var(--neutral-900)}[data-theme=dark] .close-btn svg path{fill:var(--neutral-300)}@media not all and (pointer:coarse){.close-btn:hover{background:var(--neutral-100)}.close-btn:hover svg path{fill:var(--neutral-700)}[data-theme=dark] .close-btn:hover{background:var(--neutral-800)}[data-theme=dark] .close-btn:hover svg path{fill:var(--white)}}.close-btn:active{background:var(--neutral-200);transform:scale(.97)}[data-theme=dark] .close-btn:active{background:var(--neutral-600)}.swiper-button-prev,.swiper-button-next{-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:var(--radius-pill);background:var(--glass-pill);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:48px;max-width:48px;height:48px;transition:background-color 90ms;position:absolute;top:50%;transform:translateY(-50%)}.swiper-button-prev{left:36px}.swiper-button-next{right:36px}.swiper-button-prev svg path,.swiper-button-next svg path{fill:var(--neutral-500);transition:fill .2s}[data-theme=dark] .swiper-button-prev,[data-theme=dark] .swiper-button-next{background:var(--neutral-900)}[data-theme=dark] .swiper-button-prev svg path,[data-theme=dark] .swiper-button-next svg path{fill:var(--neutral-300)}@media not all and (pointer:coarse){.swiper-button-prev:hover,.swiper-button-next:hover{background:var(--neutral-100)}.swiper-button-prev:hover svg path,.swiper-button-next:hover svg path{fill:var(--neutral-700)}[data-theme=dark] .swiper-button-prev:hover,[data-theme=dark] .swiper-button-next:hover{background:var(--neutral-800)}[data-theme=dark] .swiper-button-prev:hover svg path,[data-theme=dark] .swiper-button-next:hover svg path{fill:var(--white)}}.swiper-button-prev:active,.swiper-button-next:active{background:var(--neutral-200);transform:translateY(-50%)scale(.97)}[data-theme=dark] .swiper-button-prev:active,[data-theme=dark] .swiper-button-next:active{background:var(--neutral-600)}.lightbox-overlay[data-quiet-focus] :focus-visible{box-shadow:none}.close-btn,.swiper-button-prev,.swiper-button-next{appearance:none;font:inherit;color:inherit;border:0;margin:0;padding:0}.work-tags{flex-wrap:wrap;gap:6px;display:flex}.work-tag{border-radius:var(--radius-pill);font-size:var(--text-12);color:var(--text-secondary);background:var(--neutral-50);white-space:nowrap;align-items:center;padding:5px 12px;font-weight:400;line-height:100%;display:inline-flex}[data-theme=dark] .work-tag{background:var(--neutral-900)}.works .grid-3{grid-template-columns:repeat(auto-fill,minmax(312px,1fr))}@media (max-width:960px){.grid-2{grid-template-columns:1fr}.logo-blend{width:100%;padding:0 20px;transform:none}.logo-blend a{top:25px}.logo-blend svg{height:32px}:root{--header-height:80px;--page-gutter:0px}html,body{max-width:100%;overflow-x:hidden}.mb-40-mob{margin-bottom:40px}.mt-20-mob{margin-top:20px}.mt-40-mob{margin-top:40px}.pb-40-mob{padding-bottom:40px}.pt-20-mob{padding-top:20px}.pl-20-mob{padding-left:20px}.gap-40-mob{gap:40px}.mobile-view{display:block}.mobile-flex{display:flex}.desktop-view{display:none}.mobile-font-14{font-size:var(--text-14);line-height:1}h3{letter-spacing:-.8px}.mobile-font-20{font-size:var(--text-20);line-height:120%}.opening-text.mobile-font-20{font-size:clamp(14px, 5vw, var(--text-20));line-height:130%}.backtotop{margin-right:20px}.menu-toggle{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:25px;height:16px;padding:0;display:flex}.hamburger-icon{overflow:visible}.hamburger-icon .hb-line{fill:var(--neutral-600);transform-origin:50%;transform-box:fill-box;transition:all .3s}.menu-toggle.active .hb-line1{transform:translateY(2.5px)rotate(45deg)scaleX(.8)}.menu-toggle.active .hb-line2{transform:translateY(-2.5px)rotate(-45deg)scaleX(.8)}[data-theme=dark] .hamburger-icon .hb-line{fill:var(--neutral-300)}.menu-bg{--menu-gap:14px;z-index:var(--z-menu);background:var(--white);border-radius:var(--radius-600);width:230px;box-shadow:var(--shadow-menu-card);transform-origin:100% 0;opacity:0;pointer-events:none;flex-direction:column;padding:24px;transition:transform 70ms cubic-bezier(.23,1,.32,1),opacity 70ms cubic-bezier(.23,1,.32,1);display:flex;position:fixed;top:84px;right:20px;overflow:hidden;transform:scale(.96)}.menu-bg.active{opacity:1;pointer-events:auto;transition:transform 90ms cubic-bezier(.23,1,.32,1),opacity 90ms cubic-bezier(.23,1,.32,1);transform:scale(1)}.menu-switch-row{justify-content:space-between;align-items:center;column-gap:12px;width:100%;display:flex}.menu-switch-label{font-size:var(--text-16);color:var(--text-tertiary);line-height:100%}[data-theme=dark] .menu-switch-label{color:var(--neutral-400)}.menu-bg .theme-switch{width:53px;height:24px;padding:3px}.menu-bg .slider-handle{width:30px;height:18px}[data-theme=dark] .menu-bg .slider-handle{transform:translate(17px)}.menu-divider{width:100%;height:1px;margin:var(--menu-gap) 0;background-color:var(--divider);border:none;flex-shrink:0}.menu-mobile ul{flex-direction:column;margin:-11px 0;display:flex}.menu-mobile ul li a{font-size:var(--text-16);color:var(--text-tertiary);padding:12px 0;line-height:100%;transition:opacity .15s;display:block}@media (hover:hover) and (pointer:fine){.menu-mobile ul li a:hover{opacity:.6}}.menu-contact{width:fit-content;color:var(--text-tertiary);font-size:var(--text-16);line-height:100%;transition:opacity .15s;display:inline-block}[data-theme=dark] .menu-contact{color:var(--neutral-400)}.menu-contact__email{color:var(--neutral-900);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}[data-theme=dark] .menu-contact__email{color:var(--white)}.menu-contact:active{opacity:.6}[data-theme=dark] .menu-bg{background:var(--neutral-900)}[data-theme=dark] .menu-mobile ul li a{color:var(--neutral-400)}[data-theme=dark] .menu-divider{background-color:var(--neutral-800)}.hero-content,header .header-content{padding:20px}.homepage-highlighted-works{padding-left:20px;padding-right:20px}.section-title{font-size:var(--text-18);letter-spacing:-.65px;line-height:100%}.work-short-description{margin-top:4px}.works-carousel-section{margin-bottom:40px}.works-carousel-header{margin-bottom:40px;padding-left:20px;padding-right:20px}.works-carousel-controls{gap:8px}.carousel-readmore{display:none}.works-carousel-track{gap:16px;padding-left:20px;padding-right:20px}.carousel-card-image img{width:calc(max(80vw,260px));max-width:calc(max(80vw,260px))}.carousel-card-image img.is-portrait{max-width:none;height:calc(1.4*max(80vw,260px))}.footer-content{padding:24px 20px}.page-about{background-color:var(--about-surface)}.about-bg{display:none}.page-about .content{padding:20px 20px 0}.page-about .about-content>.grid-12{flex-direction:column;display:flex}.about-description{width:auto}.page-about .about-content .font-14{padding-bottom:40px}.about-bio,.about-bio p{font-size:var(--text-16);line-height:1.6}.text-button{font-size:var(--text-16)}.works{padding-left:20px;padding-right:20px}.works .grid-3{grid-template-columns:repeat(2,1fr);gap:40px 20px}.works .grid-3 .work-content{gap:0;padding:0}.fragments{padding-top:20px;padding-left:20px;padding-right:20px}.fragments .grid-3{grid-template-columns:repeat(2,1fr);gap:40px 20px}.single .work-header{align-items:start;gap:20px;padding:20px 20px 0}.work-title-single{letter-spacing:-.5px}.single .work-description{font-size:var(--text-16);letter-spacing:-.2px;line-height:120%}.work-header-top{flex-direction:column;gap:40px}.work-header-info{flex:none;max-width:100%}.work-header-right{width:100%}.work-content-text{margin-left:0}.work-content{gap:20px;padding:40px 20px 20px}.single .work-content .work-content-images,.single .work-content .work-content-images .gap-36{gap:20px}.divider{background-color:var(--neutral-200);margin-bottom:0;margin-left:20px;margin-right:20px}.single .related-work{flex-direction:column;padding:0 20px;display:flex}.lightbox-inner{padding:20px 20px 24px}.lightbox-topbar{margin-bottom:0}.lightbox-overlay .swiper-button-prev,.lightbox-overlay .swiper-button-next,.lightbox-thumbnails{display:none}.lightbox-image-area{flex:auto;min-height:0;margin-top:24px}.lightbox-image-area>img{max-width:calc(100% - 40px)}.lightbox-nav .swiper-button-prev,.lightbox-nav .swiper-button-next{display:flex;position:static;transform:none}.lightbox-nav .swiper-button-prev:active,.lightbox-nav .swiper-button-next:active{transform:scale(.97)}.lightbox-nav{gap:12px;margin-top:24px;display:flex}}@media (min-width:769px) and (max-width:960px){.carousel-card-image img{width:calc(max(41.6667vw - 40px,260px));max-width:calc(max(41.6667vw - 40px,260px))}.carousel-card-image img.is-portrait{height:calc(1.4*max(41.6667vw - 40px,260px))}}.minimap-wrap{z-index:0;display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%)}.minimap{z-index:2;margin:0 var(--minimap-gutter);flex-direction:column;gap:5px;padding-right:24px;display:flex;position:relative}.minimap-line{height:1px;width:var(--minimap-w);background:var(--minimap-line-idle);transform-origin:0;will-change:transform;transition:background-color .25s}.minimap-line.major{width:var(--minimap-w-major);background:var(--minimap-line-idle-major)}.minimap-line.filled{background:var(--minimap-line-filled)}.minimap-progress{pointer-events:none;will-change:transform;width:100vw;height:1px;position:absolute;top:0;left:0}.minimap-progress-dot{left:calc(var(--minimap-gutter) / -2);border-radius:var(--radius-circle);background:var(--minimap-orange);width:4px;height:4px;position:absolute;top:-2px}.single .work-header,.single .work-content,.single .related-work,.single .section-title,.single .divider{z-index:1;position:relative}@media (max-width:960px){.minimap-wrap{display:none}}.grid-view-btn{--gv-btn-bg:#e9e9e959;--gv-btn-bg-hover:#dfdfdf65;--gv-btn-bg-active:var(--neutral-200);--gv-icon:var(--neutral-200);--gv-icon-hover:var(--neutral-300);--gv-icon-scale:1;--gv-btn-size:48px;--gv-btn-blur:10px;--icon-swap-dur:.2s;--icon-swap-translate-y:8px;--icon-swap-blur:2px;--icon-swap-ease:ease-out;z-index:var(--z-floating-btn);width:var(--gv-btn-size);height:var(--gv-btn-size);border-radius:var(--radius-pill);background:var(--gv-btn-bg);-webkit-backdrop-filter:blur(var(--gv-btn-blur));backdrop-filter:blur(var(--gv-btn-blur));cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;transition:transform .15s,background-color 90ms;display:flex;position:fixed;bottom:48px;left:50%;transform:translate(-50%)}[data-theme=dark] .grid-view-btn{--gv-btn-bg:#20202059;--gv-btn-bg-hover:#2a2a2a99;--gv-btn-bg-active:var(--neutral-700);--gv-icon:var(--neutral-700);--gv-icon-hover:var(--neutral-500)}.grid-view-btn svg circle,.grid-view-btn svg path{fill:var(--gv-icon);transition:fill .2s}.grid-view-btn:active{background:var(--gv-btn-bg-active);transform:translate(-50%)scale(.93)}@media not all and (pointer:coarse){.grid-view-btn:hover{background:var(--gv-btn-bg-hover)}.grid-view-btn:hover svg circle,.grid-view-btn:hover svg path{fill:var(--gv-icon-hover)}}.grid-view-btn__swap{place-items:center;line-height:0;display:grid}.grid-view-btn__swap>.gv-ico{transition:opacity var(--icon-swap-dur) var(--icon-swap-ease), filter var(--icon-swap-dur) var(--icon-swap-ease), transform var(--icon-swap-dur) var(--icon-swap-ease);grid-area:1/1}.gv-ico--grid{width:calc(27px * var(--gv-icon-scale));opacity:1;filter:blur();transform:translateY(0)}.gv-ico--stack{width:calc(18px * var(--gv-icon-scale));opacity:0;filter:blur(var(--icon-swap-blur));transform:translateY(var(--icon-swap-translate-y))}.grid-view-btn.is-grid .gv-ico--grid{opacity:0;filter:blur(var(--icon-swap-blur));transform:translateY(calc(var(--icon-swap-translate-y) * -1))}.grid-view-btn.is-grid .gv-ico--stack{opacity:1;filter:blur();transform:translateY(0)}@media (prefers-reduced-motion:reduce){.grid-view-btn__swap>.gv-ico{filter:none;transition:opacity .12s;transform:none}.grid-view-btn.is-grid .gv-ico--grid,.grid-view-btn.is-grid .gv-ico--stack{filter:none;transform:none}}@media (max-width:960px){.grid-view-btn{display:none}}@media (min-width:961px){.work-content-images.grid-mode{max-width:var(--container-max);grid-template-columns:repeat(2,1fr);align-content:start;align-items:start;gap:36px;margin-inline:auto;display:grid}.work-content-images.grid-mode .grid-2{display:contents}.work-content-images.grid-mode .work-content-text{display:none}}.work-content-images .work-content-text{transition:opacity .165s}.work-content-images.is-morphing .work-content-text{opacity:0}.work-content-images.is-morphing{z-index:5;position:relative}.work-content-images.is-morphing .blur-up[data-covered]>.blur-up__ph{display:none}.seg{--seg-h:56px;--seg-pad:4px;--seg-px:24px;--seg-track:var(--glass-dark);--seg-thumb:var(--white);--seg-on:var(--neutral-950);--seg-off:var(--neutral-400);--seg-r:calc(var(--seg-h) / 2);--seg-opt-h:calc(var(--seg-h) - var(--seg-pad) * 2);--seg-opt-r:calc(var(--seg-r) - var(--seg-pad));padding:var(--seg-pad);border-radius:var(--seg-r);background:var(--seg-track);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);backface-visibility:hidden;isolation:isolate;box-shadow:var(--shadow-smooth-sm);clip-path:inset(0 -100px -100px);align-items:center;transition:transform .15s cubic-bezier(.32,.72,0,1);display:inline-flex;position:relative;transform:translateZ(0)}.seg__thumb{top:var(--seg-pad);height:var(--seg-opt-h);border-radius:var(--seg-opt-r);pointer-events:none;transition:transform .34s cubic-bezier(.32,.72,0,1),width .34s cubic-bezier(.32,.72,0,1);position:absolute;left:0}.seg__thumb-surface{border-radius:inherit;background:var(--seg-thumb);transition:transform .2s cubic-bezier(.32,.72,0,1),background-color .15s;position:absolute;inset:0}@media (hover:hover){.seg:has(.seg__opt[aria-selected=true]:hover) .seg__thumb-surface{background:var(--neutral-50)}}.seg:has(.seg__opt[aria-selected=true]:active) .seg__thumb-surface{transition:transform 80ms,background-color 80ms;transform:scale(.96)}.seg-shimmer{border-radius:inherit;isolation:isolate;pointer-events:none;opacity:0;transition:opacity .28s cubic-bezier(.32,.72,0,1);position:absolute;inset:0;overflow:clip}.seg:has(.seg__opt:last-of-type[aria-selected=true]) .seg-shimmer{opacity:1}.seg-shimmer__wash-wrap{filter:url(#seg-shimmer-turb)blur(3px);pointer-events:none;position:absolute;inset:-20px}.seg-shimmer__wash{background:radial-gradient(ellipse 54px 42px at 22% 20%, rgba(var(--shimmer-blue), .16), transparent 75%), radial-gradient(ellipse 48px 36px at 68% 28%, rgba(var(--shimmer-pink), .15), transparent 75%), radial-gradient(ellipse 40px 48px at 34% 58%, rgba(var(--shimmer-green), .14), transparent 75%), radial-gradient(ellipse 52px 40px at 74% 62%, rgba(var(--shimmer-purple), .15), transparent 75%), radial-gradient(ellipse 42px 34px at 48% 88%, rgba(var(--shimmer-orange), .14), transparent 75%), radial-gradient(ellipse 36px 36px at 14% 82%, rgba(var(--shimmer-teal), .13), transparent 75%), linear-gradient(rgba(var(--shimmer-neutral), .04), rgba(var(--shimmer-neutral), .04));-webkit-mask-image:linear-gradient(135deg, transparent 0%, transparent calc(50% - 26% * .8), rgba(var(--shimmer-white), .25) calc(50% - 26% * .45), rgba(var(--shimmer-white), .7) calc(50% - 26% * .18), white 50%, rgba(var(--shimmer-white), .7) calc(50% + 26% * .18), rgba(var(--shimmer-white), .25) calc(50% + 26% * .45), transparent calc(50% + 26% * .8), transparent 100%);-webkit-mask-position:100% 100%;-webkit-mask-size:280% 280%;-webkit-mask-repeat:no-repeat;-webkit-mask-image:linear-gradient(135deg, transparent 0%, transparent calc(50% - 26% * .8), rgba(var(--shimmer-white), .25) calc(50% - 26% * .45), rgba(var(--shimmer-white), .7) calc(50% - 26% * .18), white 50%, rgba(var(--shimmer-white), .7) calc(50% + 26% * .18), rgba(var(--shimmer-white), .25) calc(50% + 26% * .45), transparent calc(50% + 26% * .8), transparent 100%);mask-image:linear-gradient(135deg, transparent 0%, transparent calc(50% - 26% * .8), rgba(var(--shimmer-white), .25) calc(50% - 26% * .45), rgba(var(--shimmer-white), .7) calc(50% - 26% * .18), white 50%, rgba(var(--shimmer-white), .7) calc(50% + 26% * .18), rgba(var(--shimmer-white), .25) calc(50% + 26% * .45), transparent calc(50% + 26% * .8), transparent 100%);animation:4s ease-out infinite seg-shimmer-sweep;position:absolute;inset:0;-webkit-mask-position:100% 100%;mask-position:100% 100%;-webkit-mask-size:280% 280%;mask-size:280% 280%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.seg-shimmer__edge{z-index:1;opacity:.6;pointer-events:none;-webkit-mask-image:linear-gradient(135deg, transparent 0%, transparent calc(50% - 26% * 1.4), rgba(var(--shimmer-white), .06) calc(50% - 26% * 1), rgba(var(--shimmer-white), .18) calc(50% - 26% * .6), rgba(var(--shimmer-white), .45) calc(50% - 26% * .25), white 50%, rgba(var(--shimmer-white), .5) calc(50% + 26% * .18), transparent calc(50% + 26% * .35), transparent 100%);-webkit-mask-position:100% 100%;-webkit-mask-size:280% 280%;-webkit-mask-repeat:no-repeat;-webkit-mask-image:linear-gradient(135deg, transparent 0%, transparent calc(50% - 26% * 1.4), rgba(var(--shimmer-white), .06) calc(50% - 26% * 1), rgba(var(--shimmer-white), .18) calc(50% - 26% * .6), rgba(var(--shimmer-white), .45) calc(50% - 26% * .25), white 50%, rgba(var(--shimmer-white), .5) calc(50% + 26% * .18), transparent calc(50% + 26% * .35), transparent 100%);mask-image:linear-gradient(135deg, transparent 0%, transparent calc(50% - 26% * 1.4), rgba(var(--shimmer-white), .06) calc(50% - 26% * 1), rgba(var(--shimmer-white), .18) calc(50% - 26% * .6), rgba(var(--shimmer-white), .45) calc(50% - 26% * .25), white 50%, rgba(var(--shimmer-white), .5) calc(50% + 26% * .18), transparent calc(50% + 26% * .35), transparent 100%);animation:4s ease-out infinite seg-shimmer-sweep;position:absolute;inset:-20px;-webkit-mask-position:100% 100%;mask-position:100% 100%;-webkit-mask-size:280% 280%;mask-size:280% 280%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.seg-shimmer__glow,.seg-shimmer__mid,.seg-shimmer__ring{border-radius:var(--seg-opt-r);pointer-events:none;position:absolute;inset:20px}.seg-shimmer__glow{background:radial-gradient(ellipse 30px 17px at 33% -7.4%, rgba(var(--shimmer-pink), .4), transparent), radial-gradient(ellipse 26px 15px at 12% -5%, rgba(var(--shimmer-blue), .34), transparent), radial-gradient(ellipse 17px 30px at 2.1% 68.3%, rgba(var(--shimmer-green), .38), transparent), radial-gradient(ellipse 77px 14px at 74.4% 100%, rgba(var(--shimmer-indigo), .4), transparent), radial-gradient(ellipse 36px 11px at 55% 100%, rgba(var(--shimmer-blue), .35), transparent), radial-gradient(ellipse 32px 14px at 93.9% 0%, rgba(var(--shimmer-orange), .44), transparent), radial-gradient(ellipse 22px 21px at 100% 27.1%, rgba(var(--shimmer-purple), .38), transparent);box-shadow:inset 0 0 16px 3px rgba(var(--shimmer-neutral), .1);filter:blur(6px)}.seg-shimmer__mid{background:radial-gradient(ellipse 21px 12px at 33% -7.4%, rgba(var(--shimmer-pink), .34), transparent), radial-gradient(ellipse 18px 10px at 12% -5%, rgba(var(--shimmer-blue), .16), transparent), radial-gradient(ellipse 12px 21px at 2.1% 68.3%, rgba(var(--shimmer-green), .3), transparent), radial-gradient(ellipse 5px 10px at 2.1% 68.3%, rgba(var(--shimmer-teal), .25), transparent), radial-gradient(ellipse 57px 9px at 74.4% 100%, rgba(var(--shimmer-indigo), .32), transparent), radial-gradient(ellipse 26px 7px at 55% 100%, rgba(var(--shimmer-blue), .16), transparent), radial-gradient(ellipse 23px 9px at 93.9% 0%, rgba(var(--shimmer-orange), .35), transparent), radial-gradient(ellipse 7px 13px at 100% 27.1%, rgba(var(--shimmer-magenta), .28), transparent), radial-gradient(ellipse 15px 14px at 100% 27.1%, rgba(var(--shimmer-purple), .3), transparent), radial-gradient(ellipse 20px 20px at 0% 0%, rgba(var(--shimmer-neutral), .14), transparent 70%), radial-gradient(ellipse 20px 20px at 100% 0%, rgba(var(--shimmer-neutral), .14), transparent 70%), radial-gradient(ellipse 20px 20px at 0% 100%, rgba(var(--shimmer-neutral), .14), transparent 70%), radial-gradient(ellipse 20px 20px at 100% 100%, rgba(var(--shimmer-neutral), .14), transparent 70%);box-shadow:inset 0 0 8px 1px rgba(var(--shimmer-neutral), .12);filter:blur(2px);-webkit-mask-composite:source-over;-webkit-mask-image:linear-gradient(#fff,#0000 14px calc(100% - 14px),#fff),linear-gradient(90deg,#fff,#0000 14px calc(100% - 14px),#fff);mask-image:linear-gradient(#fff,#0000 14px calc(100% - 14px),#fff),linear-gradient(90deg,#fff,#0000 14px calc(100% - 14px),#fff);-webkit-mask-composite:source-over;mask-composite:add}.seg-shimmer__ring{background:radial-gradient(ellipse 23px 13px at 33% -7.4%, rgba(var(--shimmer-pink), .787), transparent), radial-gradient(ellipse 20px 12px at 12% -5%, rgba(var(--shimmer-blue), .63), transparent), radial-gradient(ellipse 13px 23px at 2.1% 68.3%, rgba(var(--shimmer-green), .7), transparent), radial-gradient(ellipse 7px 12px at 2.1% 68.3%, rgba(var(--shimmer-teal), .595), transparent), radial-gradient(ellipse 59px 10px at 74.4% 100%, rgba(var(--shimmer-indigo), .735), transparent), radial-gradient(ellipse 28px 9px at 55% 100%, rgba(var(--shimmer-blue), .665), transparent), radial-gradient(ellipse 24px 10px at 93.9% 0%, rgba(var(--shimmer-orange), .805), transparent), radial-gradient(ellipse 9px 14px at 100% 27.1%, rgba(var(--shimmer-magenta), .665), transparent), radial-gradient(ellipse 17px 16px at 100% 27.1%, rgba(var(--shimmer-purple), .735), transparent), linear-gradient(rgba(var(--shimmer-neutral), .22), rgba(var(--shimmer-neutral), .22));-webkit-mask-composite:xor;padding:1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes seg-shimmer-sweep{0%{-webkit-mask-position:100% 100%;mask-position:100% 100%}to{-webkit-mask-position:0 0;mask-position:0 0}}.seg__opt{z-index:1;height:var(--seg-opt-h);padding:0 var(--seg-px);border-radius:var(--seg-opt-r);cursor:pointer;font-family:inherit;font-size:var(--text-16);white-space:nowrap;color:var(--seg-off);background:0 0;border:0;line-height:1;transition:color .2s cubic-bezier(.32,.72,0,1);position:relative}.seg__opt[aria-selected=true]{color:var(--seg-on)}.seg .seg__opt:last-of-type:not([aria-selected=true]){--seg-sweep-base:var(--seg-off);background-image:linear-gradient(90deg, var(--shimmer-wash-1) 0%, var(--shimmer-wash-2) 12%, var(--shimmer-wash-3) 28%, var(--shimmer-wash-4) 44%, var(--shimmer-wash-5) 60%, var(--shimmer-wash-6) 76%, var(--shimmer-wash-7) 88%, var(--shimmer-wash-8) 100%), linear-gradient(var(--seg-sweep-base), var(--seg-sweep-base));color:#0000;background-position:-600% 0,0 0;background-repeat:no-repeat;background-size:85% 100%,100% 100%;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite seg-sweep}@keyframes seg-sweep{0%{background-position:-600% 0,0 0}65%{background-position:700% 0,0 0}to{background-position:700% 0,0 0}}@media (prefers-reduced-motion:reduce){.seg .seg__opt:last-of-type{animation:none}}.seg__opt:focus-visible{box-shadow:0 0 0 2px var(--white), 0 0 0 4px var(--focus-ring);border-radius:var(--radius-pill);outline:none}[data-theme=dark] .seg__opt:focus-visible{box-shadow:0 0 0 2px var(--black), 0 0 0 4px var(--focus-ring)}@media (prefers-reduced-motion:reduce){.seg,.seg__thumb,.seg__thumb-surface,.seg__opt{transition:none}.seg-shimmer,.seg-shimmer__wash,.seg-shimmer__edge{transition:none;animation:none}}.archives-seg{z-index:var(--z-floating-btn);position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.fragments-item{flex-direction:column;gap:16px;display:flex}.fragments-stage{aspect-ratio:1;outline:1px solid var(--divider);outline-offset:-1px;justify-content:center;align-items:center;display:flex}[data-theme=dark] .fragments-stage{outline-color:var(--neutral-900)}.fragments-meta{font-size:var(--text-16);color:var(--text-tertiary);justify-content:space-between;align-items:baseline;gap:16px;padding:8px 8px 0;line-height:145%;display:flex}.fragments-meta span:last-child{color:var(--neutral-300)}[data-theme=dark] .fragments-meta span:last-child{color:var(--neutral-500)}@media (max-width:960px){.archives-seg{bottom:20px}.seg{--seg-h:48px;--seg-px:18px}.seg__opt{font-size:var(--text-14)}}@media (max-width:768px){.works .grid-3,.fragments .grid-3{grid-template-columns:1fr;gap:40px}.footer-content{flex-direction:column}.footer-links{margin-inline:0}}@media (min-width:961px){:root{--section-gap:120px;--footer-height:148px}.footer>.divider{margin-bottom:0}.footer-content{padding-top:61.5px;padding-bottom:61.5px}.backtotop.desktop-view{margin-bottom:calc(var(--section-gap) - 10px)}.hero-content{padding-top:calc(var(--section-gap) + 8px)}.hero-content>.opening-text-wrapper{padding-bottom:var(--section-gap)}section.homepage-highlighted-works{margin-top:var(--section-gap)}section.works.home-work-grid{margin-bottom:var(--section-gap)}section.works-carousel-section{margin-top:calc(var(--section-gap) - 14px);margin-bottom:var(--section-gap)}.works-carousel-header{margin-bottom:var(--section-gap)}.page-about .about-label,.single .work-header-right-label{padding-top:12px;padding-bottom:48px;line-height:100%}.page-about .about-content{padding-top:calc(var(--section-gap) + 8px)}.page-about .section-2{margin-top:calc(var(--section-gap) - 8px)}.page-about>main.content{padding-bottom:calc(var(--section-gap) - 10px)}body:has(.page-about) .page-shell{min-height:calc(100vh - var(--footer-height) - 10px)}.single .work-header{padding-top:calc(var(--section-gap) + 8px)}.single .work-header+.work-content{padding-top:var(--section-gap)}.single .work-content{padding-bottom:var(--section-gap)}.single .work-content-images,.single .work-content-images .grid-2{gap:48px}.single .work-content-images.grid-mode{gap:24px}.single>hr.divider{margin-top:0;margin-bottom:var(--section-gap)}.single .related-work>div{margin-bottom:var(--section-gap)}}@media (max-width:960px){.footer>.divider{margin-top:0}.page-about .section-2{margin-top:32px}body:has(.page-about) .page-shell{min-height:0}.single .work-content:has(.lab-block){padding-top:20px}}.menu-overlay{z-index:var(--z-menu-overlay);opacity:0;pointer-events:none;background-color:#0000;transition:opacity .16s ease-out;position:fixed;inset:0}.menu-overlay.active{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){.menu-bg,.menu-bg.active{transition:opacity 90ms;transform:none}}.lab-badge{z-index:2;border-radius:var(--radius-pill);font-size:var(--text-12);letter-spacing:.01em;color:var(--white);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;opacity:0;background:#ffffff38;justify-content:center;align-items:center;padding:4px 16px;font-weight:400;line-height:1.6;transition:background 90ms,opacity .22s;display:inline-flex;position:absolute;top:16px;right:16px;overflow:hidden}@media (hover:hover){.work-content:hover .lab-badge{background:#ffffff40}}.lab-badge[data-ready]{opacity:1}.lab-badge[data-contrast=onLight]{background:#0000004d}@media (hover:hover){.work-content:hover .lab-badge[data-contrast=onLight]{background:#0000005c}}[data-lab=true] header,[data-lab=true] footer,[data-lab=true] .logo-blend{display:none}[data-lab=true] .page-shell{min-height:0!important;margin-top:0!important;padding-top:0!important}.lab-shell{--lab-margin:36px;--lab-chrome-gap:var(--lab-margin);--lab-panel-w:380px;width:100%;height:100dvh;padding:var(--lab-margin);overscroll-behavior:contain;flex-direction:column;display:flex;position:relative;overflow-y:auto}@media (max-width:960px){.lab-shell{--lab-margin:20px}}.lab-topbar{width:100%;margin-bottom:var(--lab-chrome-gap);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.lab-back-button{-webkit-user-select:none;user-select:none;border-radius:var(--radius-pill);background:var(--glass-pill);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:48px;height:48px;color:var(--neutral-500);cursor:pointer;justify-content:center;align-items:center;transition:background-color 90ms,transform .15s;display:inline-flex}.lab-back-button svg{width:18.5px;height:auto;overflow:visible}.lab-back-button svg path{stroke:currentColor;transition:stroke .2s}[data-theme=dark] .lab-back-button{background:var(--neutral-900);color:var(--neutral-300)}@media not all and (pointer:coarse){.lab-back-button:hover{background:var(--neutral-100);color:var(--neutral-700)}[data-theme=dark] .lab-back-button:hover{background:var(--neutral-800);color:var(--white)}}.lab-back-button:active{background:var(--neutral-200);transform:scale(.97)}[data-theme=dark] .lab-back-button:active{background:var(--neutral-600)}.lab-back-button:focus-visible{border-radius:var(--radius-pill)}.lab-signature{height:48px;font-size:var(--text-16);color:var(--text-tertiary);pointer-events:none;align-items:center;gap:.35em;margin:0;font-weight:400;display:inline-flex}.lab-signature__name{pointer-events:auto;color:var(--text-tertiary);text-underline-offset:4px;text-decoration-line:underline;text-decoration-thickness:1px;transition:color 90ms}@media not all and (pointer:coarse){.lab-signature__name:hover{color:var(--text-primary)}}.lab-signature__name:active,.lab-signature__name:focus{opacity:1;text-decoration-line:underline}.lab-tool--centered{width:min(var(--container-max), 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;margin-inline:auto;display:flex}.lab-tool--with-panel{grid-template-columns:minmax(0, 1fr) var(--lab-panel-w);gap:var(--lab-margin);flex:1;grid-template-rows:minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.lab-tool--with-panel>.lab-tool__canvas{border:1px solid var(--panel-border);border-radius:var(--radius-300);min-width:0;min-height:0;overflow:hidden}.lab-tool--with-panel>.lab-tool__panel{min-height:0}@media (max-width:960px){.lab-tool--with-panel{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.lab-tool--with-panel>.lab-tool__panel{max-height:45dvh}}
