:root{--ink:#1f1f20;--cream:#1f1f20;--shell:#1f1f20;--control:#1f1f20;--control-hover:#1f1f20;--salmon:#e98776;--ui-scale:1.06;--panel-scale:1.08;--ui-size:13.78px;--ui-leading:15.9px;--ui-weight:600;--ui-tracking:-.02em;--panel-size:9.72px;--panel-leading:1.15;--panel-weight:600;--panel-tracking:-.02em;--panel-rule:1.5px;--inset:6px;--panel-width:clamp(259.2px, calc(18vw - 20.16px), 388.8px)}*{box-sizing:border-box;-webkit-user-select:none;user-select:none}:focus,:focus-visible{outline:none}@property --theme-progress{syntax:"<number>";inherits:true;initial-value:0}@property --archive-list-hover-progress{syntax:"<number>";inherits:true;initial-value:1}html{--theme-progress:0;--mode-background:color-mix(in srgb,var(--mode-light-background,#efefef) calc((1 - var(--theme-progress)) * 100%),var(--mode-dark-background,#1f1f20));--mode-text:color-mix(in srgb,var(--mode-light-text,#1f1f20) calc((1 - var(--theme-progress)) * 100%),var(--mode-dark-text,#fff));--mode-panel:color-mix(in srgb,var(--mode-light-panel,#fff) calc((1 - var(--theme-progress)) * 100%),var(--mode-dark-panel,#1f1f20));--mode-homepage-text:color-mix(in srgb,var(--mode-light-homepage-text,#1f1f20) calc((1 - var(--theme-progress)) * 100%),var(--mode-dark-text,#fff));--mode-muted:color-mix(in srgb,var(--mode-light-muted,#aaabac) calc((1 - var(--theme-progress)) * 100%),#8a8a8a);--mode-rule:color-mix(in srgb,#cfcfcf calc((1 - var(--theme-progress)) * 100%),var(--mode-dark-rule,#e6e6e6));--mode-row-rule:color-mix(in srgb,#cfcfcf calc((1 - var(--theme-progress)) * 100%),#1f1f20);--mode-marker:color-mix(in srgb,var(--mode-light-marker,#10c43a) calc((1 - var(--theme-progress)) * 100%),var(--mode-dark-marker,#b5e615));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-color-mode=dark]{--theme-progress:1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{overscroll-behavior:none;touch-action:pan-x pan-y pinch-zoom;background:var(--mode-background);width:100%;height:100%;margin:0}body{--ui-font:var(--font-coco), "Suisse BP Int’l", Arial, sans-serif;color:var(--cream);font-family:var(--ui-font);overflow:hidden}h1,h2,h3,h4,h5,.title,strong{--ui-font:var(--font-signifier), Arial, serif}body,button,a{font-synthesis:none;font-kerning:normal;text-rendering:geometricprecision}button,a{color:inherit;font:inherit}a{text-decoration:none}.portfolio-shell :is(a[href],button:not(:disabled)):not([aria-disabled=true]),.portfolio-shell :is(a[href],button:not(:disabled)):not([aria-disabled=true]) *{cursor:pointer}.portfolio-shell :is(a[href],button:not(:disabled)):not([aria-disabled=true]) *{pointer-events:none!important}.portfolio-shell :is(a[href],button:not(:disabled)):not([aria-disabled=true]):before,.portfolio-shell :is(a[href],button:not(:disabled)):not([aria-disabled=true]):after{cursor:pointer;pointer-events:none}.portfolio-shell :is(a[href],button:not(:disabled),[role=button],[data-cursor-control=true]):not([aria-disabled=true]),.portfolio-shell :is(a[href],button:not(:disabled),[role=button],[data-cursor-control=true]):not([aria-disabled=true]):before,.portfolio-shell :is(a[href],button:not(:disabled),[role=button],[data-cursor-control=true]):not([aria-disabled=true]):after{cursor:pointer!important}.portfolio-shell :is(img,canvas,video:not([controls])){pointer-events:none!important}.portfolio-shell :is(.reel-corner-button,.site-header-project){isolation:isolate;position:relative}.portfolio-shell :is(.reel-corner-button,.site-header-project,.site-header-close):after{content:"";z-index:2;display:block;position:absolute;inset:0;transform:translateZ(0);cursor:pointer!important;pointer-events:auto!important}.portfolio-shell[data-archive-handoff=true] :is(.reel-corner-button,.site-header-project,.site-header-close):after{pointer-events:none!important}::selection{color:#fff;background:var(--mode-marker,#10c43a)}.portfolio-shell{--ui-scale:var(--configured-label-scale,1.06);--panel-scale:var(--configured-panel-scale,1.08);--ui-size:var(--configured-ui-size,13.78px);--ui-leading:var(--configured-ui-leading,15.9px);--ui-weight:var(--configured-ui-weight,600);--ui-tracking:var(--configured-ui-tracking,-.02em);--panel-size:var(--configured-panel-size,9.72px);--panel-leading:var(--panel-leading-config,1.15);--panel-weight:var(--panel-weight-config,600);--panel-tracking:var(--panel-tracking-config,-.02em);--panel-rule:var(--panel-rule-config,1.5px);--inset:var(--configured-inset,16px);--shell:var(--configured-shell,#1f1f20);--cream:var(--configured-cream,#f3ecdb);--control:var(--configured-control,#1f1f20);--control-hover:var(--configured-control-hover,#1f1f20);isolation:isolate;color:var(--cream);background:var(--shell);transition:color var(--color-mode-duration,0s) var(--color-mode-easing,ease),background-color var(--color-mode-duration,0s) var(--color-mode-easing,ease);position:fixed;inset:0;overflow:hidden}.project-stage{z-index:2;background-color:#0000;min-width:0;position:absolute;inset:0}.project-collection-empty{padding:112px var(--site-margin,16px) 48px;color:var(--homepage-foreground);flex-direction:column;justify-content:center;gap:20px;display:flex;position:absolute;inset:0}.project-collection-empty h1{font-family:var(--font-coco),Arial,sans-serif;letter-spacing:-.045em;margin:0;font-size:clamp(32px,6vw,100px);font-weight:600;line-height:1}.project-collection-empty p{max-width:42ch;margin:0;font-size:clamp(16px,2vw,24px);line-height:1.25}.project-collection-empty small{color:var(--homepage-muted);font-size:12px}.portfolio-shell[data-home-transition=true] .archive-stage,.portfolio-shell[data-home-transition=true] .archive-stage *{pointer-events:none!important}.archive-stage{z-index:3;isolation:isolate;color:var(--homepage-foreground,#1f1f20);background-color:var(--homepage-background,#fff);transition:color var(--color-mode-duration,0s) var(--color-mode-easing,ease),background-color var(--color-mode-duration,0s) var(--color-mode-easing,ease);position:absolute;inset:0;overflow:hidden}@media (min-width:1200px){.archive-stage:is([data-scroll-isolation=motion],[data-scroll-isolation=selection])[data-modules-ready=true]:is([data-state=idle],[data-state=hovering]) :is(.archive-field,.archive-field *){visibility:hidden!important}}.archive-field{z-index:4;transform-style:preserve-3d;perspective-origin:50%;position:absolute;inset:0;overflow:hidden}.archive-stage[data-intro=loading] .archive-field{visibility:hidden;opacity:0;pointer-events:none}.archive-stage[data-intro=revealing] .archive-field{visibility:visible;opacity:1;pointer-events:none}.archive-stage[data-intro=complete] .archive-field{visibility:visible;opacity:1}.archive-file{opacity:1;width:180px;height:auto;color:var(--cream);cursor:pointer;transform-style:preserve-3d;transform-origin:50%;will-change:transform,opacity;backface-visibility:hidden;background:0 0;border:0;outline:0;margin:0;padding:0;transition:none;display:block;position:absolute;top:50%;left:50%;overflow:hidden}.archive-file[data-media-type=text]{aspect-ratio:var(--archive-ratio,1.35)}.archive-file-media{width:100%;height:100%;filter:blur(var(--archive-depth-blur,0px));will-change:filter;background:0 0;display:block;position:relative;overflow:hidden;transform:translateZ(0)}.archive-stage{--archive-preview-border-color:color-mix(in srgb,var(--archive-preview-border-light,#cfcfcf) calc((1 - var(--theme-progress)) * 100%),var(--archive-preview-border-dark,#535456))}.archive-stage[data-preview-mode=centered] .archive-file:not(.archive-transition-companion):after,.archive-index-mobile-media:after{content:"";inset:calc(-1 * var(--archive-preview-border-width,1px));z-index:1;box-sizing:border-box;border:var(--archive-preview-border-width,1px) solid var(--archive-preview-border-color);opacity:var(--archive-preview-border-opacity,1);pointer-events:none;border-radius:0;position:absolute}.archive-stage[data-preview-mode=centered] .archive-file:not(.archive-transition-companion){overflow:visible}.archive-index-mobile-media{position:relative;overflow:visible!important}.archive-stage[data-state=filtering] .archive-index-mobile-media:after{opacity:0;transition:opacity var(--archive-preview-border-click-duration,.16s) ease}.archive-field[data-interactive=true][data-preview-appearance]:is([data-state=idle],[data-state=hovering]) .archive-file:not(.archive-transition-companion) .archive-file-media>:is(img,video,.archive-text-file){filter:blur();opacity:1;transition:filter var(--preview-reveal-duration,.5s) var(--preview-appearance-easing,ease-out),opacity var(--preview-reveal-duration,.5s) var(--preview-appearance-easing,ease-out)}.archive-field[data-interactive=true][data-preview-appearance][data-preview-activity=browsing]:is([data-state=idle],[data-state=hovering]) .archive-file:not(.archive-transition-companion) .archive-file-media>:is(img,video,.archive-text-file){filter:blur(var(--preview-browse-blur,14px));opacity:var(--preview-browse-opacity,1);transition-duration:var(--preview-obscure-duration,70ms)}.archive-file[data-media-type=image] .archive-file-media,.archive-file[data-media-type=video] .archive-file-media{height:100%;overflow:hidden}.archive-file img,.archive-file video,.archive-file .archive-preview-bitmap{width:calc(100% + var(--media-edge-crop,0px) * 2);max-width:none;height:calc(100% + var(--media-edge-crop,0px) * 2);margin:calc(-1 * var(--media-edge-crop,0px));object-fit:contain;background:0 0;border:0;display:block}.archive-file.is-flattening{background:0 0;overflow:hidden}.archive-file.is-flattening .archive-file-media{width:100%;height:100%;overflow:hidden}.archive-file.is-compositor-card{transform-style:flat;backface-visibility:visible}.archive-file.is-compositor-card .archive-file-media{filter:none;will-change:auto;transform:none}.archive-file.is-flattening img,.archive-file.is-flattening video,.archive-file.is-flattening .archive-preview-bitmap{width:calc(100% + var(--media-edge-crop,0px) * 2);height:calc(100% + var(--media-edge-crop,0px) * 2);object-fit:contain}.archive-stage[data-preview-mode=centered] .archive-file[data-homepage-crop=true]:not(.is-flattening) :is(img,video,.archive-preview-bitmap){object-fit:cover;object-position:50% 50%}.archive-text-file{place-content:center;width:100%;height:100%;padding:8%;font-size:11px;line-height:1;display:grid}.archive-field[data-interactive=false] .archive-file{pointer-events:none}.archive-file.is-related{opacity:1;filter:blur()}.archive-file.is-unrelated{opacity:1;filter:blur(18px)}.archive-transition-companion{visibility:hidden;opacity:0;pointer-events:none!important}.archive-intro-file{pointer-events:none!important}.archive-file.is-crossfading{visibility:visible!important;opacity:1!important}.archive-file-caption{bottom:var(--archive-caption-bottom,16px);left:var(--archive-caption-left,10px);z-index:100;align-items:flex-start;gap:var(--archive-active-dot-gap,8px);width:var(--archive-caption-width,40vw);color:var(--homepage-foreground,#1f1f20);font-family:var(--font-coco),Arial,sans-serif;font-size:var(--archive-caption-size,14px);font-weight:600;line-height:var(--archive-caption-line-height,1.06);letter-spacing:var(--archive-caption-tracking,-.035em);opacity:0;pointer-events:none;transition:opacity .36s cubic-bezier(.16,1,.3,1),color var(--color-mode-duration,0s) var(--color-mode-easing,ease);margin:0;display:flex;position:absolute}.archive-file-caption-description{white-space:pre-line;overflow-wrap:break-word;min-width:0}.archive-file-active-dot{width:var(--archive-active-dot-size,8px);height:var(--archive-active-dot-size,8px);background:var(--homepage-marker,#b5e615);animation:archiveActivePulse var(--archive-active-dot-pulse,1.5s) ease-in-out infinite;border-radius:50%;flex:none;display:block}@keyframes archiveActivePulse{0%,to{opacity:1}50%{opacity:var(--archive-active-dot-dim,.28)}}.archive-stage[data-intro=complete] .archive-field[data-interactive=true]:is([data-state=idle],[data-state=hovering]) .archive-file-caption{opacity:1}.archive-field[data-state=capturing] .archive-file,.archive-field[data-state=filtering] .archive-file,.archive-field[data-state=assembling] .archive-file,.archive-field[data-state=entering] .archive-file,.archive-field[data-state=revealing] .archive-file{pointer-events:none}.archive-state-announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.archive-loader{z-index:5;padding:7vw var(--inset);color:#1f1f20;pointer-events:none;perspective:var(--archive-loader-perspective);animation:archiveLoaderIn var(--loader-intro-duration) var(--loader-intro-easing) var(--loader-intro-delay) both;grid-template-columns:minmax(460px,clamp(220px,24vw,440px));place-content:center;display:grid;position:absolute;inset:0}.archive-loader-line{top:var(--loader-line-top,0px);left:var(--loader-line-left,0px);width:min(var(--loader-line-width,100vw),var(--loader-line-max-width,2400px));height:var(--loader-line-height,1px);z-index:10;background:var(--loader-line-color,var(--mode-text));transform:scaleX(var(--loader-line-start,0));transform-origin:0%;pointer-events:none;transition:transform .18s linear,opacity var(--loader-line-fade,.18s) var(--loader-line-easing);position:absolute}html:not([data-color-mode=dark]) .archive-loader-line{background:#b9b9ba}.archive-loader:is([data-phase=entering],[data-phase=cycling],[data-phase=receding],[data-phase=handoff]) .archive-loader-line{animation:archiveLoaderLineIn var(--loader-line-duration) var(--loader-line-easing) both}.archive-loader:is([data-phase=receding],[data-phase=handoff]) .archive-loader-line{opacity:0}@keyframes archiveLoaderLineIn{0%{transform:scaleX(var(--loader-line-start,0))}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.archive-loader .archive-loader-line{transition:none;animation-duration:0s}}.archive-loader-copy{z-index:2;color:#1f1f20;letter-spacing:-.035em;background:#fff;align-items:flex-start;width:clamp(300px,29vw,600px);min-height:clamp(140px,12.5vw,240px);margin:0;padding:clamp(7px,1.1vw,20px);font-weight:700;line-height:1;transition:opacity .42s cubic-bezier(.16,1,.3,1),filter .52s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.archive-loader-copy>strong{letter-spacing:-.055em;white-space:nowrap;font-size:clamp(24px,2.35vw,45px);line-height:.92}.archive-loader-copy-left{justify-self:start}.archive-loader-copy-right{justify-self:end}.archive-loader-detail{grid-template-columns:auto 1fr;gap:clamp(16px,2vw,42px);display:grid}.archive-loader-detail p{letter-spacing:-.02em;max-width:25ch;margin:1px 0 0;font-size:clamp(8px,.58vw,11px);line-height:1.05}.archive-loader-stack{z-index:1;transform-origin:50%;width:100%;height:100%;transition:transform var(--loader-stack-move) var(--loader-move-easing),filter var(--loader-stack-filter) var(--loader-filter-easing),opacity var(--loader-stack-fade) var(--loader-fade-easing);will-change:transform,filter,opacity;position:absolute;inset:0;container-type:size}.archive-loader-frame{top:calc(50% + var(--loader-cards-y,0vmin));width:var(--stack-width,86%);height:auto;aspect-ratio:var(--stack-ratio,1);z-index:var(--stack-z,0);visibility:hidden;opacity:0;filter:blur(var(--stack-entry-blur,0px));transform:translate3d(calc(-50% + var(--stack-start-x,0px)),calc(-50% + var(--stack-start-y,0px) + var(--stack-entry-offset-y,6px)),var(--stack-start-depth,0px)) scale(var(--stack-entry-scale,.965));transform-origin:50%;transition:opacity var(--loader-frame-fade) ease,transform var(--loader-frame-settle) var(--loader-frame-easing,cubic-bezier(.16,1,.3,1)),filter var(--loader-frame-settle) var(--loader-frame-easing,cubic-bezier(.16,1,.3,1));will-change:transform,opacity;background:0 0;display:block;position:absolute;left:50%;overflow:hidden}.archive-loader-frame[data-entered=true]{visibility:visible;opacity:1;filter:blur();transform:translate3d(calc(-50% + var(--stack-x,0px)),calc(-50% + var(--stack-y,0px)),var(--stack-depth,0px)) scale(1)}.archive-loader:not([data-figure-mode="0"]) .archive-loader-stack{transform-style:preserve-3d}.archive-loader-frame[data-retired=true]{visibility:hidden;transition:none}.archive-loader-frame img,.archive-loader-frame video{width:calc(100% + var(--media-edge-crop,0px) * 2);max-width:none;height:calc(100% + var(--media-edge-crop,0px) * 2);margin:calc(-1 * var(--media-edge-crop,0px));object-fit:contain;background:0 0;border:0;display:block}.archive-loader[data-phase=receding] .archive-loader-stack,.archive-loader[data-phase=handoff] .archive-loader-stack{filter:blur(var(--loader-recede-blur,6px));transform:translate3d(0,0,var(--loader-recede-depth,-900px)) scale(var(--loader-recede-scale,0))}.archive-loader[data-phase=handoff] .archive-loader-stack{opacity:0;filter:blur(var(--loader-handoff-blur,12px))}.archive-project-reveal-title{bottom:var(--project-reveal-bottom,24px);left:var(--project-reveal-side,24px);right:var(--project-reveal-side,24px);z-index:3;color:var(--homepage-foreground);font-family:var(--project-reveal-font);font-size:var(--project-reveal-size);font-weight:var(--project-reveal-weight,600);line-height:var(--project-reveal-leading,1);letter-spacing:var(--project-reveal-tracking,-.035em);opacity:0;pointer-events:none;transition:opacity var(--project-reveal-out,.35s) var(--project-reveal-easing,ease);justify-content:space-between;align-items:flex-end;gap:2vw;margin:0;padding-inline:.06em;display:flex;position:absolute}.archive-project-reveal-letter{white-space:nowrap;flex:none}.archive-project-reveal-name{min-width:0;max-width:min(100%,var(--project-reveal-name-width,78vw));overflow-wrap:anywhere;text-align:right;text-wrap:balance}.archive-stage[data-state=assembling] .archive-project-reveal-title{opacity:1;transition-duration:var(--project-reveal-in,.35s)}.archive-project-reveal-nav{opacity:0;pointer-events:none;transition:opacity var(--archive-index-duration,.35s) var(--homepage-reveal-easing,ease)}.archive-stage:is([data-state=filtering],[data-state=assembling]) .archive-project-reveal-nav{opacity:1;transition:none}.archive-stage:is([data-state=filtering],[data-state=assembling],[data-state=entering],[data-state=revealing],[data-state=complete]) .archive-index .archive-index-utility{visibility:hidden}.archive-grid-file-name{bottom:calc(100% + var(--project-grid-file-name-gap,12px));text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--project-grid-file-name-color,var(--homepage-muted));font-family:var(--font-coco),Arial,sans-serif;font-size:var(--project-grid-file-name-size,10px);letter-spacing:0;opacity:0;pointer-events:none;line-height:1.1;transition:opacity .2s;display:none;position:absolute;left:0;overflow:hidden}.archive-stage[data-grid-filenames=true]:is([data-state=assembling],[data-state=entering]) .archive-file{overflow:visible}.archive-stage[data-grid-filenames=true]:is([data-state=assembling],[data-state=entering]) .archive-grid-file-name{display:block}.archive-stage[data-state=assembling] .archive-grid-file-name{opacity:1}.archive-stage .archive-file.is-compositor-card>.archive-grid-file-name{display:none}.archive-transition-file-name{z-index:280;will-change:transform,opacity;max-width:none;transition:none;top:50%;bottom:auto;left:50%}.archive-intro-labels{z-index:9;pointer-events:none;position:absolute;inset:0;overflow:hidden}.archive-intro-file-name{will-change:transform,opacity;max-width:none;transition:none;display:block;top:0;bottom:auto;left:0}.archive-stage:not([data-intro=loading]) .archive-intro-labels{display:none}@media (prefers-reduced-motion:reduce){.archive-project-reveal-title,.archive-grid-file-name{transition:none}}.archive-loader-signature{z-index:3;pointer-events:none;color:var(--cream);font-size:var(--loader-signature-font);font-weight:var(--loader-signature-weight);letter-spacing:-.035em;line-height:1;position:absolute;inset:0;overflow:hidden}.archive-loader-signature-copy{--loader-signature-fade:var(--loader-signature-in);opacity:0;filter:blur(var(--loader-signature-blur));white-space:nowrap;will-change:transform,filter,opacity;transition:opacity var(--loader-signature-fade) var(--loader-signature-entry-easing),filter var(--loader-signature-fade) var(--loader-signature-entry-easing),transform var(--loader-signature-open) var(--loader-move-easing);display:block;position:absolute;top:50%;left:50%}.archive-loader-signature-left{transform:translate3d(calc(-100% - var(--loader-signature-start)),-50%,0)}.archive-loader-signature-right{transform:translate3d(var(--loader-signature-start),-50%,0)}.archive-loader-signature[data-phase=opening] .archive-loader-signature-copy{opacity:1;filter:blur()}.archive-loader-signature[data-phase=opening] .archive-loader-signature-left,.archive-loader-signature[data-phase=exiting] .archive-loader-signature-left{transform:translate3d(calc(-100% - var(--loader-signature-distance)),-50%,0)}.archive-loader-signature[data-phase=opening] .archive-loader-signature-right,.archive-loader-signature[data-phase=exiting] .archive-loader-signature-right{transform:translate3d(var(--loader-signature-distance),-50%,0)}.archive-loader-signature[data-phase=exiting] .archive-loader-signature-copy{animation:archiveLoaderSignatureOut var(--loader-signature-out) var(--loader-signature-exit-easing) both}.archive-loader-status{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@keyframes archiveLoaderIn{0%{filter:blur(var(--loader-intro-blur,14px));transform:scale(var(--loader-intro-scale,1.025))}to{filter:blur();transform:scale(1)}}@keyframes archiveLoaderSignatureOut{0%{opacity:1;filter:blur()}55%{opacity:var(--loader-signature-exit-mid-opacity);filter:blur(var(--loader-signature-exit-blur-mid))}to{opacity:0;filter:blur(var(--loader-signature-exit-blur))}}.archive-context{z-index:6;pointer-events:none;opacity:0;filter:blur(14px);transition:opacity .72s cubic-bezier(.32,0,.18,1),filter .72s cubic-bezier(.32,0,.18,1);position:absolute;inset:0}.archive-context[data-ready=true]{opacity:1;filter:none}.portfolio-shell:has(.archive-stage:is(:not([data-intro=complete]),[data-modules-ready=false])){cursor:progress!important}.portfolio-shell:has(.archive-stage:is(:not([data-intro=complete]),[data-modules-ready=false])) *{cursor:progress!important}.portfolio-shell:has(.archive-stage:is(:not([data-intro=complete]),[data-modules-ready=false])) :before{cursor:progress!important}.portfolio-shell:has(.archive-stage:is(:not([data-intro=complete]),[data-modules-ready=false])) :after{cursor:progress!important}.archive-stage[data-state=filtering] .archive-context,.archive-stage[data-state=assembling] .archive-context,.archive-stage[data-state=entering] .archive-context,.archive-stage[data-state=revealing] .archive-context,.archive-stage[data-state=complete] .archive-context{opacity:0;filter:blur(14px)}.archive-context-module{height:auto;color:var(--archive-module-text,#1f1f20);background:0 0;display:grid;position:absolute;overflow:visible}.archive-context-left{top:var(--archive-editorial-title-top,18px);right:var(--site-margin,16px);left:var(--archive-editorial-left,53vw);width:auto;min-height:0}.archive-context-right{right:var(--site-margin,16px);bottom:var(--archive-editorial-detail-bottom,16vh);left:var(--archive-editorial-left,53vw);width:auto;min-height:0}.archive-context-layer{opacity:0;filter:blur(5px);grid-area:1/1;min-width:0;transition:opacity .36s cubic-bezier(.16,1,.3,1),filter .48s cubic-bezier(.16,1,.3,1),transform .52s cubic-bezier(.16,1,.3,1);position:relative;transform:translateY(9px)}.archive-context-layer[data-active=true]{opacity:1;filter:blur();transform:translate(0,0)}.archive-context-left .archive-context-layer{align-items:flex-start;padding:0;display:flex}.archive-context-right .archive-context-layer{padding:0}.archive-context-left .archive-context-layer>strong{font-size:var(--archive-title-size);font-weight:var(--archive-title-weight);line-height:var(--archive-title-leading);letter-spacing:var(--archive-title-tracking)}.archive-title-superscript{font-size:.52em;font-weight:inherit;letter-spacing:0;vertical-align:top;margin-left:.04em;line-height:1;display:inline-block;position:relative;top:-.08em}.archive-context-detail{grid-template-columns:minmax(var(--archive-right-label-width),max-content) minmax(0,1fr);gap:var(--archive-right-gap);align-items:start;display:grid}.archive-context-detail[data-has-label=false]{grid-template-columns:minmax(0,1fr)}.archive-context-detail>strong{font-size:var(--archive-label-size);font-weight:var(--archive-label-weight);line-height:var(--archive-label-leading);letter-spacing:var(--archive-label-tracking);white-space:nowrap}.archive-context-detail p{max-width:var(--archive-text-max-width);overflow-wrap:anywhere;font-size:var(--archive-text-size);font-weight:var(--archive-text-weight);line-height:var(--archive-text-leading);letter-spacing:var(--archive-text-tracking);margin:1px 0 0}.archive-index{z-index:6;color:var(--homepage-foreground,#1f1f20);font-family:var(--font-coco),Arial,sans-serif;font-weight:var(--homepage-weight,600);opacity:0;pointer-events:none;transition:opacity var(--archive-index-duration) var(--archive-index-easing),color var(--color-mode-duration,0s) var(--color-mode-easing,ease);position:absolute;inset:0;overflow:hidden}.archive-index:before{content:none;display:none}.archive-index[data-ready=true]{opacity:1;filter:blur();pointer-events:auto}.archive-index[data-interactive=false] .archive-index-row,.archive-index[data-interactive=false] .archive-index-projects{pointer-events:none}.archive-index button,.archive-index strong{font-family:inherit;font-weight:inherit}.archive-index button{letter-spacing:-.5px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;outline:0;margin:0;padding:0}.persistent-site-brand{top:calc(14px + var(--menu-top-offset,0px));left:var(--site-margin,16px);z-index:50;color:var(--mode-light-homepage-text,#1f1f20);letter-spacing:-.045em;white-space:nowrap;opacity:1;transition:opacity var(--archive-index-duration) var(--archive-index-easing),color var(--theme-toggle-duration,.38s) var(--color-mode-easing,ease);line-height:.88;display:block;position:fixed;overflow:visible;font-family:var(--font-helvetica-condensed),Arial,sans-serif!important;font-size:18px!important;font-weight:600!important}html[data-color-mode=dark] .persistent-site-brand{color:var(--mode-dark-text,#fff)}.site-theme-switch{top:calc(12px + var(--theme-top-offset,0px) + var(--menu-top-offset,0px));z-index:50;gap:var(--theme-square-gap,4px);color:var(--homepage-muted,#aaabac);opacity:calc(var(--theme-light-mode-opacity,1) * (1 - var(--theme-progress)) + var(--theme-dark-mode-opacity,1) * var(--theme-progress));transition:opacity var(--color-mode-duration,0s) var(--color-mode-easing,ease),color var(--color-mode-duration,0s) var(--color-mode-easing,ease);align-items:center;display:flex;position:fixed;left:200px}.site-theme-switch>span{width:var(--theme-square-size,12px);height:var(--theme-square-size,12px);border:var(--theme-square-border-width,1px) solid var(--theme-square-border-color,currentColor);cursor:pointer;border-radius:0;outline:0;padding:0;display:block}.site-theme-trigger{z-index:1;appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:-8px}.site-theme-trigger:focus-visible{outline-offset:2px;outline:1px solid}.site-theme-light{background:var(--theme-light-fill,#efefef)}.site-theme-dark{background:var(--theme-dark-fill,#1f1f20)}:is(.portfolio-shell:has(.archive-stage[data-intro=loading]) :is(.persistent-site-brand,.site-theme-switch),.portfolio-shell:has(.archive-stage[data-intro=revealing]) :is(.persistent-site-brand,.site-theme-switch)){opacity:0;pointer-events:none;transition:none}.archive-index-projects{z-index:2;font-size:var(--homepage-meta-size,19px);white-space:nowrap;transform:translateX(calc(-50% + var(--homepage-project-center-offset,-2.6vw)));align-items:center;gap:clamp(18px,2.35vw,42px);line-height:1.1;display:flex;position:absolute;top:10px;left:50%}.archive-index-project{align-items:center;gap:.58em;display:inline-flex}.archive-index-project:disabled{cursor:default;opacity:.42}.archive-index-marker{background:var(--homepage-marker,#b5e615);flex:none;width:.58em;height:.42em;display:block}.archive-index-utility{top:calc(10px + var(--menu-top-offset,0px));right:var(--site-margin,16px);z-index:2;font-family:var(--font-coco),Arial,sans-serif;font-size:var(--homepage-meta-size,18px);font-weight:var(--homepage-weight,600);white-space:nowrap;align-items:baseline;gap:1px;line-height:1.1;display:flex;position:absolute}.archive-index-utility strong{font-family:inherit;font-weight:inherit}.archive-index-utility button,.archive-index-utility-label{letter-spacing:-.5px}.archive-index-utility button,.archive-index-utility span{color:var(--homepage-muted,#aaabac)}.archive-availability-grid{top:calc(var(--archive-availability-top,10px) + var(--menu-top-offset,0px) + (var(--homepage-meta-size,19px) * 1.1 - var(--archive-availability-size,14px) * var(--archive-availability-leading,1.1)) / 2);right:var(--archive-list-side,16px);left:var(--archive-list-side,16px);z-index:10;grid-template-columns:repeat(var(--archive-list-grid-columns,12),minmax(0,1fr));column-gap:var(--archive-list-column-gap,20px);pointer-events:none;display:grid;position:absolute}.archive-availability{grid-column:var(--archive-availability-column,6 / span 4);align-items:center;gap:var(--archive-availability-dot-gap,8px);min-width:0;transform:translateX(var(--archive-availability-offset-x,0px));font-size:var(--archive-availability-size,14px);line-height:var(--archive-availability-leading,1.1);letter-spacing:var(--archive-availability-tracking,-.035em);margin:0;display:flex}.archive-availability .archive-file-active-dot{--archive-active-dot-size:var(--archive-availability-dot-size,9px);--archive-active-dot-dim:var(--archive-availability-dot-dim,0);animation:var(--archive-availability-dot-animation,archiveActivePulse) var(--archive-availability-dot-pulse,1s) steps(1,end) infinite;transform:translateY(var(--archive-availability-dot-offset-y,-.08em))}.archive-index-row[data-code-active-only=true]:not([data-active=true]) .archive-index-code{visibility:hidden}.archive-index-utility,.information-page-utility,.site-header-utility{cursor:pointer}.archive-index-utility>*,.information-page-utility>*,.site-header-utility>*{cursor:inherit}.archive-index-list{top:var(--homepage-list-top,7.9188%);right:var(--homepage-list-right,16px);bottom:max(var(--site-margin,16px),env(safe-area-inset-bottom));left:var(--homepage-list-left,59.0123%);z-index:2;grid-template-rows:repeat(var(--archive-index-count,16),minmax(0,1fr));display:grid;position:absolute;overflow:hidden}.archive-index-list::-webkit-scrollbar{display:none}.archive-index-row{text-align:left;opacity:0;width:100%;min-height:0;transform:translate3d(0,var(--archive-row-offset-y),0);transition-property:opacity,transform,border-color;transition-duration:var(--homepage-row-entry-duration),var(--homepage-row-entry-duration),var(--homepage-list-restore-duration,.8s);transition-timing-function:var(--archive-row-easing),var(--archive-row-easing),var(--homepage-list-highlight-easing,cubic-bezier(.19,.72,.32,1));transition-delay:calc(var(--homepage-row-entry-delay) + var(--archive-row-order,0) * var(--homepage-row-entry-stagger)),calc(var(--homepage-row-entry-delay) + var(--archive-row-order,0) * var(--homepage-row-entry-stagger)),0s;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;container-type:size;border-bottom:1px solid var(--homepage-row-rule,#ececec)!important;padding-top:.12em!important}.archive-index[data-list-ready=true] .archive-index-row{opacity:1;transform:translate(0,0)}.archive-index .archive-index-row{box-shadow:inset 0 calc(-1 * var(--archive-row-separator-width,0px)) 0 color-mix(in srgb,var(--archive-row-separator-light,#e3e3e5) calc((1 - var(--theme-progress)) * 100%),var(--archive-row-separator-dark,#252526));border-bottom-width:0!important}.archive-index-name{letter-spacing:-1.1px;min-width:0;font-size:min(var(--homepage-list-size,38px),72cqh);letter-spacing:var(--homepage-tracking,-1px);text-overflow:ellipsis;white-space:nowrap;font-synthesis:style;line-height:.96;overflow:hidden}.archive-index-name,.archive-index-code{color:var(--homepage-foreground,#1f1f20);transition:color var(--homepage-list-restore-duration,.8s) var(--homepage-list-highlight-easing,cubic-bezier(.19,.72,.32,1))}.portfolio-shell[data-signifier=true] .archive-index-name{font-family:var(--font-signifier),Georgia,serif;font-weight:var(--large-display-weight,400);letter-spacing:var(--archive-list-tracking,-.045em)}.portfolio-shell[data-signifier=true] .information-page-manifesto{font-family:var(--font-signifier),Georgia,serif;font-weight:var(--large-display-weight,400);letter-spacing:var(--information-paragraph-letter-spacing,-.045em)}.archive-index-code{letter-spacing:-.5px;font-size:min(var(--homepage-meta-size,19px),42cqh);letter-spacing:0;padding-left:18px;line-height:1}@media (hover:hover) and (pointer:fine){.archive-stage:not([data-cursor-archive=true]) .archive-index-list:has(.archive-index-row:hover) .archive-index-row{transition-duration:var(--homepage-row-entry-duration),var(--homepage-row-entry-duration),var(--homepage-list-highlight-duration,.42s)}.archive-stage:not([data-cursor-archive=true]) .archive-index-list:has(.archive-index-row:hover) :is(.archive-index-name,.archive-index-code){transition-duration:var(--homepage-list-highlight-duration,.42s)}.archive-stage:not([data-cursor-archive=true]) .archive-index-list:has(.archive-index-row:hover) .archive-index-row:not(:hover) :is(.archive-index-name,.archive-index-code){color:var(--homepage-muted,#aaabac)}.archive-stage:not([data-cursor-archive=true]) .archive-index-list:has(.archive-index-row:hover) .archive-index-row:hover{border-bottom-color:var(--homepage-foreground,#1f1f20)!important}}.archive-index-mobile-media,.archive-index-menu-toggle,.archive-mobile-menu,.archive-menu-header-background{display:none}.archive-stage[data-cursor-archive=true] .archive-index-status{color:var(--homepage-foreground,#1f1f20);font-size:min(var(--homepage-meta-size,19px),42cqh);transition:color var(--homepage-list-restore-duration,.64s) var(--homepage-list-highlight-easing,ease);line-height:1}.archive-stage[data-cursor-archive=true] .archive-index-dot{background:var(--homepage-muted,#aaabac);border-radius:50%;justify-self:end;width:8px;height:8px;transition:background-color .22s}.archive-stage[data-cursor-archive=true] .archive-index-row[data-active=true] .archive-index-dot{background:var(--homepage-marker,#b5e615)}.archive-stage[data-cursor-archive=true]{--archive-list-inactive-opacity:calc(var(--archive-list-inactive-opacity-light,1) * (1 - var(--theme-progress)) + var(--archive-list-inactive-opacity-dark,1) * var(--theme-progress));--archive-list-active-color:color-mix(in srgb,var(--archive-list-active-color-light,#1f1f20) calc((1 - var(--theme-progress)) * 100%),var(--archive-list-active-color-dark,#fff));--archive-list-inactive-color:color-mix(in srgb,var(--archive-list-inactive-color-light,#6b6b6b) calc((1 - var(--theme-progress)) * 100%),var(--archive-list-inactive-color-dark,#fff));--archive-list-selected-background:color-mix(in srgb,var(--archive-list-selected-background-light,transparent) calc((1 - var(--theme-progress)) * 100%),var(--archive-list-selected-background-dark,transparent))}.archive-stage[data-cursor-archive=true] .archive-index-list .archive-index-row[data-active=true] .archive-index-name,.archive-stage[data-cursor-archive=true] .archive-index-list .archive-index-row[data-active=true] :is(.archive-index-code,.archive-index-status){color:var(--archive-list-active-color,var(--homepage-foreground,#1f1f20));opacity:1}.archive-trail{z-index:7;clip-path:inset(var(--archive-list-top,58px) 0 var(--archive-list-bottom,16px) 0);pointer-events:none;position:absolute;inset:0;overflow:hidden}.archive-trail-card{pointer-events:none;will-change:transform;backface-visibility:hidden;border-radius:var(--archive-trail-radius,3px);background:var(--archive-trail-background,#f4f4f4);box-shadow:var(--archive-trail-shadow,0 1px .6px #1f1f20d9);position:absolute;overflow:hidden}.archive-trail-card img,.archive-trail-card canvas{width:calc(100% + var(--media-edge-crop,0px) * 2);height:calc(100% + var(--media-edge-crop,0px) * 2);margin:calc(-1 * var(--media-edge-crop,0px));object-fit:var(--archive-trail-fit,cover);display:block}@media (min-width:1200px){.archive-stage[data-preview-mode=centered] .archive-field .archive-file:not(.archive-transition-companion){box-shadow:none;border-radius:0}.archive-stage[data-preview-mode=centered] .archive-hover-file{transform-style:flat;backface-visibility:visible;will-change:auto}.archive-stage[data-preview-mode=centered] .archive-hover-file .archive-file-media{filter:none;will-change:auto;transform:none}.archive-index-touch-list{display:none!important}.archive-index-hit-surface{z-index:2;display:none;position:absolute;inset:0;cursor:pointer!important}.archive-index-desktop-list[data-cursor-control=true]>.archive-index-hit-surface{pointer-events:auto;display:block}.archive-index-loop-track{grid-template-columns:minmax(0,1fr);grid-auto-rows:var(--archive-loop-row-height,40px);will-change:transform;display:grid}.archive-index-desktop-list[data-cursor-control=true][data-scroll-surface=transform] .archive-index-row{pointer-events:none}.archive-index[data-interactive=true] .archive-index-desktop-list[data-scroll-surface=transform] .archive-index-row{content-visibility:auto}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list[data-scroll-surface=native]{scroll-behavior:auto;scroll-snap-type:none;overflow-anchor:none;overscroll-behavior:none;scrollbar-width:none;contain:layout paint;will-change:scroll-position;overflow:hidden scroll}.archive-index-desktop-list[data-scroll-surface=native]::-webkit-scrollbar{display:none}.archive-index-desktop-list[data-scroll-surface=native] .archive-index-loop-track{will-change:auto}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list[data-scroll-surface=native]{-webkit-mask-image:none;mask-image:none}.archive-index-scroll-fade{display:none}.archive-index:has(>.archive-index-desktop-list[data-scroll-surface=native])>.archive-index-scroll-fade{top:var(--archive-list-top,58px);bottom:var(--archive-list-bottom,16px);z-index:3;pointer-events:none;background:var(--archive-list-fade-overlay,none);display:block;position:absolute;left:0;right:0}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list[data-scroll-surface=transform][data-wheel-enabled=false]{contain:layout paint;-webkit-mask-image:none;mask-image:none}.archive-index:has(>.archive-index-desktop-list[data-scroll-surface=transform][data-wheel-enabled=false])>.archive-index-scroll-fade{top:var(--archive-list-top,58px);bottom:var(--archive-list-bottom,16px);z-index:3;pointer-events:none;background:var(--archive-list-fade-overlay,none);display:block;position:absolute;left:0;right:0}.archive-index[data-interactive=true] .archive-index-desktop-list[data-scroll-surface=transform] .archive-index-row,.archive-index[data-interactive=true] .archive-index-desktop-list[data-scroll-surface=native] .archive-index-row{transform:none}.archive-list-boundary{top:var(--archive-list-top,58px);z-index:9;display:var(--archive-boundary-display,block);height:var(--archive-boundary-thickness,1px);background:color-mix(in srgb,var(--archive-boundary-light,#1f1f20) calc((1 - var(--theme-progress)) * 100%),var(--archive-boundary-dark,#fff));opacity:var(--archive-boundary-opacity,1);pointer-events:none;position:absolute;left:0;right:0;transform:translateY(-100%)}.archive-list-boundary[data-ready=false]{opacity:0}.archive-stage[data-cursor-archive=true] .archive-index[data-ready=true]{z-index:auto;filter:none}.archive-stage[data-cursor-archive=true] .archive-index-utility{z-index:10}.archive-stage[data-cursor-archive=true] .archive-index-list{top:var(--archive-list-top,58px);bottom:var(--archive-list-bottom,16px);padding-inline:var(--archive-list-side,16px);grid-template-rows:repeat(var(--archive-index-count,16),minmax(0,1fr));-webkit-user-select:none;user-select:none;-webkit-mask-image:var(--archive-list-mask,none);mask-image:var(--archive-list-mask,none);display:block;left:0;right:0;overflow:hidden}.archive-stage[data-cursor-archive=true] .archive-file-media img,.archive-stage[data-cursor-archive=true] .archive-file-media video,.archive-stage[data-cursor-archive=true] .archive-file-media .archive-preview-bitmap{object-fit:var(--archive-trail-fit,cover)}.archive-stage[data-cursor-archive=true] .archive-index-row{grid-template-columns:repeat(var(--archive-list-grid-columns,12),minmax(0,1fr));column-gap:var(--archive-list-column-gap,20px);position:relative;border:0!important;padding:0!important}.archive-stage[data-cursor-archive=true] :is(.archive-index-name,.archive-index-code,.archive-index-status){font-size:var(--archive-list-size);line-height:var(--archive-list-leading);letter-spacing:var(--archive-list-tracking)}.archive-stage[data-cursor-archive=true] .archive-index-code{grid-column:var(--archive-column-code,1 / span 2);text-align:var(--archive-column-code-align,start);transform:translate(var(--archive-column-code-x,0px),var(--archive-column-code-y,0px));font-size:var(--archive-code-size,var(--archive-list-size));grid-row:1;padding-left:0}.archive-stage[data-cursor-archive=true] .archive-index-name{grid-column:var(--archive-column-name,3 / span 8);text-align:var(--archive-column-name-align,start);transform:translate(var(--archive-column-name-x,0px),var(--archive-column-name-y,0px));grid-row:1}.archive-stage[data-cursor-archive=true] .archive-index-status{grid-column:var(--archive-column-status,11 / span 2);text-align:var(--archive-column-status-align,start);transform:translate(var(--archive-column-status-x,0px),var(--archive-column-status-y,0px));grid-row:1}.archive-stage[data-cursor-archive=true] .archive-index-dot{grid-column:var(--archive-column-dot,12 / span 1);width:var(--archive-list-dot-size,10px);height:var(--archive-list-dot-size,10px);justify-self:var(--archive-column-dot-align,end);transform:translate(var(--archive-column-dot-x,0px),var(--archive-column-dot-y,0px));grid-row:1}.portfolio-shell[data-signifier=true] .archive-stage[data-cursor-archive=true] :is(.archive-index-code,.archive-index-status){font-family:var(--font-signifier),Georgia,serif;font-weight:var(--large-display-weight,400);letter-spacing:-.045em}.archive-stage[data-cursor-archive=true] .archive-field{z-index:8}.archive-stage[data-preview-mode=centered][data-modules-ready=true] .archive-field{transform-style:flat;perspective:none!important}.archive-stage[data-preview-mode=centered][data-modules-ready=true] .archive-file{transform-style:flat}.archive-stage[data-hover-through-file=true] .archive-field *{pointer-events:none!important}.archive-stage[data-cursor-archive=true] .archive-index-row>span{pointer-events:none;cursor:inherit}.archive-stage[data-cursor-archive=true] .archive-field,.archive-stage[data-cursor-archive=true] .archive-field .archive-file{pointer-events:none!important}.archive-stage[data-preview-mode=centered][data-hover-through-file=false] .archive-field[data-interactive=true]:is([data-state=idle],[data-state=hovering]) .archive-file:not(.archive-intro-file):not(.archive-transition-companion){cursor:pointer;pointer-events:auto!important}.archive-stage[data-preview-mode=centered] .archive-field[data-interactive=true]:is([data-state=idle],[data-state=hovering]) .archive-file *{cursor:inherit}.archive-stage[data-cursor-archive=true] .archive-index-row{transition-property:opacity,transform}.archive-stage[data-cursor-archive=true] .archive-index[data-interactive=false] .archive-index-desktop-list .archive-index-row[data-intro-visible=false]{visibility:hidden}.archive-stage[data-cursor-archive=true] .archive-index[data-interactive=true] .archive-index-desktop-list .archive-index-row{transition-duration:0s;transition-delay:0s}.archive-stage[data-cursor-archive=true] .archive-index-loop-track{margin-inline:calc(-1 * var(--archive-list-side,16px))}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-row{min-width:0;padding-inline:var(--archive-list-side,16px)!important}.archive-stage[data-band-behind-name=true] .archive-index-desktop-list .archive-index-row{box-shadow:none}.archive-stage[data-band-behind-name=true] .archive-index-desktop-list .archive-index-row:after{content:"";left:var(--archive-list-side,16px);right:var(--archive-list-side,16px);height:var(--archive-row-separator-width,0px);pointer-events:none;z-index:0;background:color-mix(in srgb,var(--archive-row-separator-light,#e3e3e5) calc((1 - var(--theme-progress)) * 100%),var(--archive-row-separator-dark,#252526));position:absolute;bottom:0}.archive-stage[data-cursor-archive=true] .archive-index[data-interactive=true] .archive-index-desktop-list[data-scroll-surface=transform] .archive-index-row[data-active=true]{content-visibility:visible}.archive-stage[data-band-behind-name=true] .archive-index-desktop-list .archive-index-row[data-active=true]:before{top:calc(-1 * var(--archive-row-separator-width,0px))}.archive-stage[data-band-behind-name=true] .archive-index-desktop-list .archive-index-row:is([data-active=true],:has(+.archive-index-row[data-active=true])):after{opacity:calc(1 - var(--archive-list-hover-progress))}.archive-stage[data-cursor-archive=true] .archive-index-row{isolation:isolate}.archive-stage[data-cursor-archive=true] .archive-index-row:before,.archive-stage[data-band-behind-name=false] .archive-index-row:after{content:"";background:var(--archive-list-selected-background,transparent);z-index:-1;pointer-events:none;opacity:0;grid-row:1;height:100%;min-height:0;transition:opacity}.archive-stage[data-band-behind-name=true] .archive-index-row:before{height:auto;position:absolute;inset:0}.archive-stage[data-band-behind-name=false] .archive-index-row:before{display:var(--archive-band-left-display,block);grid-column:var(--archive-band-left-column,1 / span 2)}.archive-stage[data-band-behind-name=false] .archive-index-row:after{display:var(--archive-band-right-display,block);grid-column:var(--archive-band-right-column,6 / -1)}.archive-stage[data-cursor-archive=true] .archive-index-row[data-active=true]:before,.archive-stage[data-band-behind-name=false] .archive-index-row[data-active=true]:after{opacity:1;transition:none}.archive-stage[data-cursor-archive=true] .archive-index-list .archive-index-row :is(.archive-index-name,.archive-index-code,.archive-index-status){transition:color,opacity}.archive-stage[data-cursor-archive=true] :is(.archive-index-name,.archive-index-code,.archive-index-status){transition-property:color,opacity}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list{--archive-list-hover-progress:0;--archive-list-hover-active-color:color-mix(in srgb,var(--archive-list-active-color) calc(var(--archive-list-hover-progress) * 100%),var(--homepage-foreground));--archive-list-hover-inactive-color:color-mix(in srgb,var(--archive-list-inactive-color) calc(var(--archive-list-hover-progress) * 100%),var(--homepage-foreground));--archive-list-contrast-duration:var(--homepage-list-restore-duration,.64s)}.archive-stage[data-cursor-archive=true] .archive-index[data-interactive=true] .archive-index-desktop-list:is(:hover,:focus-within){--archive-list-hover-progress:1;--archive-list-contrast-duration:var(--homepage-list-highlight-duration,.32s)}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-row[data-active=true] :is(.archive-index-name,.archive-index-code,.archive-index-status){color:var(--archive-list-hover-active-color)}.archive-stage[data-cursor-archive=true] .archive-index-list[data-highlight-active=true] .archive-index-row:not([data-active=true]) :is(.archive-index-name,.archive-index-code,.archive-index-status){color:var(--archive-list-hover-inactive-color,var(--archive-list-inactive-color));opacity:calc(1 + var(--archive-list-hover-progress) * (var(--archive-list-inactive-opacity,1) - 1))}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-row[data-active=true]:before,.archive-stage[data-band-behind-name=false] .archive-index-desktop-list .archive-index-row[data-active=true]:after{opacity:var(--archive-list-hover-progress)}.archive-stage[data-cursor-archive=true] .archive-index-dot{transition:background-color .22s ease,opacity var(--homepage-list-highlight-duration,.32s) ease}.archive-stage[data-cursor-archive=true] .archive-index-list[data-highlight-active=true] .archive-index-row:not([data-active=true]) .archive-index-dot{opacity:var(--archive-list-inactive-opacity,1)}}@media (max-width:1199px){.archive-availability-grid,.archive-file-caption{display:none}.archive-index-desktop-list,.archive-list-boundary{display:none!important}.archive-stage[data-cursor-archive=true] .archive-index-status,.archive-stage[data-cursor-archive=true] .archive-index-dot,.archive-trail{display:none}}.site-header{z-index:28;color:var(--configured-cream,#1f1f20);font-family:var(--font-coco),Arial,sans-serif;font-size:var(--homepage-meta-size,19px);pointer-events:none;font-weight:600;line-height:1.1;position:fixed;inset:0}.site-header a,.site-header button{color:inherit;font:inherit;cursor:pointer;pointer-events:auto;background:0 0;border:0;padding:0;text-decoration:none}.site-header-projects{top:calc(10px + var(--menu-top-offset,0px));left:var(--homepage-project-left,50%);white-space:nowrap;pointer-events:auto;align-items:center;gap:clamp(18px,2.35vw,42px);display:flex;position:absolute}.site-header-project{letter-spacing:var(--homepage-tracking,0px);align-items:center;gap:.52em;display:inline-flex}.site-header-project[aria-current=page]{font-style:italic}.site-header-project[aria-current=page] .site-header-marker{background:var(--homepage-muted,#aaabac)}.site-header-utility{top:calc(10px + var(--menu-top-offset,0px));right:var(--site-margin,16px);white-space:nowrap;pointer-events:auto;align-items:baseline;display:flex;position:absolute}.site-header-marker{background:var(--homepage-marker,#b5e615);flex:none;width:.58em;height:.58em;transform:translateY(-.09em)}.site-header-reel{color:var(--homepage-foreground,#1f1f20);background:0 0;height:72px}.site-header-close{top:calc(10px + var(--menu-top-offset,0px));right:var(--site-margin,16px);align-items:center;gap:10px;display:inline-flex;position:absolute}.site-header-close,.site-header-projects,.reel-controls{opacity:1;will-change:opacity,transform;transition:opacity var(--reel-header-reveal-duration,1.1s) var(--reel-header-reveal-easing,cubic-bezier(.16,1,.3,1)) var(--reel-header-reveal-delay,.62s),transform var(--reel-header-reveal-duration,1.1s) var(--reel-header-reveal-easing,cubic-bezier(.16,1,.3,1)) var(--reel-header-reveal-delay,.62s);transform:translate(0,0)}.site-header-projects,.reel-controls{transition-delay:calc(var(--reel-header-reveal-delay,.62s) + var(--reel-header-reveal-stagger,.18s))}@media (min-width:1200px){.site-header-projects{translate:-50%}}.portfolio-shell[data-archive-handoff=true] .site-header-close,.portfolio-shell[data-archive-handoff=true] .site-header-projects,.portfolio-shell[data-archive-handoff=true] .reel-controls{opacity:0;transform:translate3d(0,var(--reel-header-offset-y),0);pointer-events:none;transition:none}.site-header-close-icon{width:28px;height:16px;position:relative}.site-header-close-icon:before,.site-header-close-icon:after{content:"";background:currentColor;width:100%;height:1px;position:absolute;top:50%;left:0;transform:rotate(29deg)}.site-header-close-icon:after{transform:rotate(-29deg)}.site-header-close-label{letter-spacing:var(--reel-close-tracking,0px);line-height:1;display:block;transform:translateY(2px)}.archive-stage[data-state=filtering] .archive-index,.archive-stage[data-state=assembling] .archive-index,.archive-stage[data-state=entering] .archive-index,.archive-stage[data-state=revealing] .archive-index,.archive-stage[data-state=complete] .archive-index{opacity:0;filter:none;pointer-events:none}.archive-intro-panel{overflow:hidden}.archive-intro-title{height:calc(100% - 12.96px);transform:translateY(-6.48px)}.route-loading{background:var(--shell);position:absolute;inset:0}.not-found{place-content:center;gap:12px;min-height:100dvh;display:grid}.project-marquee{display:none}.marquee-track{align-items:center;gap:var(--marquee-gap,180px);will-change:transform;width:max-content;animation:marquee var(--marquee-duration,34s) linear infinite;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.marquee-copy{color:var(--project-foreground,var(--cream));font-size:clamp(150px,var(--marquee-size,24.3vw),520px);letter-spacing:-.07em;white-space:nowrap;opacity:.98;font-weight:600;line-height:.74}@keyframes marquee{to{transform:translate3d(calc(-50% - var(--marquee-gap,180px) / 2),-50%,0)}}.fixed-ui{z-index:20;pointer-events:none;position:absolute;inset:0}.fixed-ui>.ui-top-left,.fixed-ui>.ui-top-right,.fixed-ui>.ui-bottom-left,.fixed-ui>.ui-bottom-right{opacity:1;filter:blur();transition:opacity var(--ui-reveal-opacity) var(--ui-reveal-easing) var(--ui-reveal-delay,0s),filter var(--ui-reveal-filter) var(--ui-reveal-easing) var(--ui-reveal-delay,0s)}.fixed-ui>.ui-top-left{--ui-reveal-delay:var(--ui-delay-top-left)}.fixed-ui>.ui-top-right{--ui-reveal-delay:var(--ui-delay-top-right)}.fixed-ui>.ui-bottom-left{--ui-reveal-delay:var(--ui-delay-bottom-left)}.fixed-ui>.ui-bottom-right{--ui-reveal-delay:var(--ui-delay-bottom-right)}:is(.portfolio-shell:has(.archive-stage[data-intro=loading]) .fixed-ui>.ui-top-left,.portfolio-shell:has(.archive-stage[data-intro=loading]) .fixed-ui>.ui-top-right,.portfolio-shell:has(.archive-stage[data-intro=loading]) .fixed-ui>.ui-bottom-left,.portfolio-shell:has(.archive-stage[data-intro=loading]) .fixed-ui>.ui-bottom-right,.portfolio-shell:has(.archive-stage[data-intro=revealing]) .fixed-ui>.ui-top-left,.portfolio-shell:has(.archive-stage[data-intro=revealing]) .fixed-ui>.ui-top-right,.portfolio-shell:has(.archive-stage[data-intro=revealing]) .fixed-ui>.ui-bottom-left,.portfolio-shell:has(.archive-stage[data-intro=revealing]) .fixed-ui>.ui-bottom-right){opacity:0;filter:blur(var(--ui-initial-blur));pointer-events:none;transition:none}.ui-top-left,.ui-top-right,.ui-bottom-left,.ui-bottom-right,.ui-counter{pointer-events:auto;align-items:center;gap:2px;display:flex;position:absolute}.ui-top-left{top:var(--inset);left:var(--inset)}.ui-counter{top:var(--inset);left:50%;transform:translate(-50%)}.ui-top-right{top:var(--inset);right:var(--inset)}.ui-bottom-left{bottom:max(var(--site-margin,16px),env(safe-area-inset-bottom));left:var(--site-margin,16px)}.project-navigation{align-items:center;gap:2px;display:flex}.ui-bottom-right{right:var(--inset);bottom:var(--inset)}.portfolio-control{min-height:calc(var(--ui-size) + 8px);width:fit-content;max-width:calc(100vw - 2 * var(--site-margin,16px));color:var(--cream);background:var(--control);font-family:var(--ui-font);font-size:var(--ui-size);font-weight:var(--ui-weight);letter-spacing:var(--ui-tracking);white-space:nowrap;cursor:pointer;transition:color var(--color-mode-duration,0s) var(--color-mode-easing,ease),background-color var(--color-mode-duration,0s) var(--color-mode-easing,ease);border:0;border-radius:0;outline:0;justify-content:center;align-items:center;gap:5px;margin:0;padding:4px 6px;line-height:1;display:inline-flex}.portfolio-control[aria-current=page]{color:var(--cream);background:var(--control)}.control-marker{width:var(--control-marker-width,.92em);height:var(--control-marker-height,.62em);flex:0 0 var(--control-marker-width,.92em);background:var(--homepage-marker,#b5e615);display:block;position:relative;top:-.09em}.project-label-copy,.weather-copy{align-items:center;display:inline-flex}.project-label-copy{gap:var(--project-label-gap,.72em)}.weather-copy{gap:var(--weather-gap,1.45em)}.control-spacer{flex:1;min-width:14px}.panel-close{z-index:2;min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;margin:-6px -10.8px 0 0;padding:0;font-size:18.36px;font-weight:300;line-height:.8;display:grid;position:relative}.viewer{z-index:2;overscroll-behavior:none;touch-action:pinch-zoom;background:0 0;position:absolute;inset:0;overflow:hidden}.reel-scroll-cursor{z-index:10;mix-blend-mode:difference;background:url(/cursors/reel-right.svg) 50%/100% 100% no-repeat;width:32px;height:32px;display:none;position:fixed;top:0;left:0;pointer-events:none!important}@media (hover:hover) and (pointer:fine) and (min-width:1200px){.portfolio-shell:not([data-archive-handoff=true]):not([data-home-transition=true]):not([data-grid-open=true]):not([data-contact-open=true]):not([data-information-open=true]):not([data-project-information-open=true]) .viewer[data-scroll-cursor=true][data-scroll-cursor-active=true]{cursor:none}.portfolio-shell:not([data-archive-handoff=true]):not([data-home-transition=true]):not([data-grid-open=true]):not([data-contact-open=true]):not([data-information-open=true]):not([data-project-information-open=true]):has(.viewer[data-scroll-cursor=true][data-scroll-cursor-active=true])>.reel-scroll-cursor{display:block}}.viewer-track{width:max-content;height:min(var(--reel-strip-height,76dvh),100dvh);will-change:transform;align-items:center;display:flex;position:absolute;bottom:0;left:0;transform:translate(0,0)}.media-cycle{align-items:center;gap:var(--project-gap,480px);padding-right:var(--project-gap,480px);flex:none;display:flex}.media-item{height:var(--reel-item-height);width:calc(var(--reel-item-height) * var(--item-ratio));max-width:none;aspect-ratio:var(--item-ratio);background:var(--item-bg);opacity:var(--inactive-opacity,.1);filter:var(--inactive-filter,none);transform:var(--inactive-transform,none);transform-origin:50%;transition:opacity var(--effect-duration,2.4s) var(--effect-curve,cubic-bezier(.16,1,.3,1)),filter var(--effect-duration,2.4s) var(--effect-curve,cubic-bezier(.16,1,.3,1)),transform var(--effect-duration,2.4s) var(--effect-curve,cubic-bezier(.16,1,.3,1));--reel-item-height:min(calc(var(--item-scale) * var(--media-scale,1) * var(--horizontal-media-max,100) * 1dvh),var(--reel-strip-height,76dvh),100dvh);flex:none;position:relative;overflow:hidden}.media-item.is-active{opacity:1;filter:none;transform:none}.media-item[data-media-loaded=false]{filter:none!important;will-change:auto!important;transition:none!important;transform:none!important}.media-item[data-entry-target=true]{opacity:0;filter:brightness();will-change:opacity,transform;transition:none;transform:translateZ(0)scale(1)}.media-item[data-entry-target=true][data-entry-visible=true]{opacity:1}.viewer[data-entry-reveal=true] .media-cycle[aria-hidden=false] .media-item{will-change:opacity,filter,transform}.viewer[data-entry-reveal=true][data-entry-revealed=false] .media-item:not([data-entry-target=true]),.viewer[data-entry-reveal=true] .media-cycle[aria-hidden=true] .media-item:not([data-entry-target=true]){opacity:0;filter:blur(var(--viewer-entry-blur,10px));transform:translateZ(0) scale(var(--viewer-entry-scale,.985));transition:none}.viewer[data-entry-reveal=true][data-entry-revealed=true] .media-cycle[aria-hidden=false] .media-item:not([data-entry-target=true]){opacity:var(--inactive-opacity,.1);filter:blur();transform:translateZ(0) scale(var(--inactive-scale,1));transition:opacity var(--viewer-entry-opacity,2.3s) var(--viewer-entry-easing,cubic-bezier(.16,1,.3,1)) var(--entry-delay,0s),filter var(--viewer-entry-filter,2.75s) var(--viewer-entry-easing,cubic-bezier(.16,1,.3,1)) var(--entry-delay,0s),transform var(--viewer-entry-transform,2.75s) var(--viewer-entry-easing,cubic-bezier(.16,1,.3,1)) var(--entry-delay,0s)}.viewer[data-entry-reveal=true][data-entry-revealed=true] .media-cycle[aria-hidden=false] .media-item.is-active:not([data-entry-target=true]){opacity:1;filter:blur();transform:translateZ(0)scale(1)}.viewer[data-archive-entry=true][data-archive-committed=false]{opacity:0;pointer-events:none}.viewer[data-entry-locked=true] .media-item{transition:none!important}.viewer[data-entry-locked=true] .media-item[data-entry-newcomer=true]{opacity:0!important;transition:none!important}.viewer[data-entry-interrupted=true] .media-item{transition:none!important}.media-item img,.media-item video{width:calc(100% + var(--media-edge-crop,0px) * 2);max-width:none;height:calc(100% + var(--media-edge-crop,0px) * 2);margin:calc(-1 * var(--media-edge-crop,0px));object-fit:contain;background:0 0;display:block}.text-media{place-content:center;width:100%;height:100%;padding:7%;display:grid}.text-media h2{margin:0;font-size:clamp(32px,7vw,130px);line-height:.9}.text-media p{max-width:42ch}.information-transition-underlay{z-index:38;background:var(--shell);pointer-events:none;position:fixed;inset:0}html:has(.information-page){scrollbar-width:none;height:auto;min-height:100dvh;overflow-y:auto}body:has(.information-page){height:auto;min-height:100dvh;overflow:visible}.portfolio-shell:has(.information-page){min-height:100dvh;position:relative;overflow:clip}.portfolio-shell:has(.information-page)>:is(.archive-stage,.project-stage){position:fixed}html:has(.contact-dialog[open]){overflow:hidden}.information-page{z-index:39;min-height:100dvh;padding-bottom:max(var(--site-margin,16px),env(safe-area-inset-bottom));color:var(--homepage-foreground,#1f1f20);background:var(--homepage-background,var(--shell));font-family:var(--font-coco),Arial,sans-serif;scrollbar-width:none;display:flow-root;position:relative;overflow:clip}.information-page::-webkit-scrollbar{display:none}.information-page button,.information-page a{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.information-page-header{z-index:2;min-height:calc(58px + var(--menu-top-offset,0px));padding:calc(10px + var(--menu-top-offset,0px)) var(--site-margin,16px) 10px;background:var(--homepage-background,var(--shell));font-size:var(--homepage-meta-size,19px);justify-content:space-between;align-items:flex-start;font-weight:600;line-height:1.1;display:flex;position:fixed;top:0;left:0;right:0}.information-page-utility{white-space:nowrap;margin-left:auto;display:flex}.information-page-header{background:linear-gradient(to bottom,var(--homepage-background,var(--shell)) 0%,var(--homepage-background,var(--shell)) calc(100% - var(--information-header-fade-height,12px)),transparent 100%)}.information-page-utility button,.information-page-utility a,.information-page-utility span{color:var(--homepage-muted,#aaabac)}.information-page-utility strong{font-family:inherit;font-weight:inherit;color:var(--homepage-foreground,#1f1f20)}.portfolio-shell[data-contact-open=true] :is(.archive-index-utility,.information-page-utility) strong{color:var(--homepage-muted,#aaabac)}.portfolio-shell[data-contact-open=true] [data-contact-link]{color:var(--homepage-foreground,#1f1f20)}.information-page-manifesto{max-width:90%;margin:76px var(--site-margin,16px) var(--information-manifesto-bottom-gap-desktop,100px);font-size:var(--information-paragraph-size-desktop);font-weight:var(--information-paragraph-weight);line-height:var(--information-paragraph-line-height-desktop);letter-spacing:var(--information-paragraph-letter-spacing);text-indent:var(--information-paragraph-indent-desktop)}.information-page-rule{height:0;margin:0 var(--site-margin,16px) 36px;background:color-mix(in srgb,currentColor 18%,transparent)}.information-page-details{padding:0 var(--site-margin,16px);grid-template-columns:14% 32% minmax(260px,23%) minmax(260px,1fr);gap:14px;display:grid}.information-page-details,.information-page-footer{letter-spacing:-.022em;font-size:clamp(14px,1.05vw,12px);font-weight:600;line-height:1.2}.information-page-portrait-frame{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-width:0}.information-page-portrait{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;aspect-ratio:auto;object-fit:contain;object-position:center top;filter:none;width:100%;height:auto;display:block}.information-page-portrait[data-loaded=true]{opacity:1}.information-page-portrait[data-reveal=late]{animation:information-photo-reveal var(--information-photo-fade-duration,.6s) var(--information-photo-fade-easing,cubic-bezier(.4,0,.2,1)) both}@keyframes information-photo-reveal{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.information-page-portrait[data-reveal=late]{animation-duration:.12s}}.information-page-bio,.information-page-services,.information-page-experience{max-width:29ch}.information-page-bio p,.information-page-services p,.information-page-experience p,.information-page-footer p{margin:0 0 1.35em}.information-page-experience-meta{color:inherit}.information-page-experience-copy{text-wrap:pretty}.information-page{--information-photo-column:.18;--information-spacer-column:.214;--information-bio-column:.228;--information-column-gap:14px}.information-page-linkedin{left:calc(var(--site-margin,16px) + (100vw - 2 * var(--site-margin,16px)) * (var(--information-photo-column) + var(--information-spacer-column) + var(--information-bio-column)) + 3 * var(--information-column-gap));color:var(--homepage-muted);align-items:baseline;gap:.45em;text-decoration:none;display:inline-flex;position:absolute}.information-page-details a,.information-page-footer a{text-underline-offset:.08em;text-decoration:underline}.information-page-footer{grid-template-columns:1fr 1fr;align-items:end;gap:18px;display:grid}.information-page-footer p{margin-bottom:0}.information-page-footer p:last-child{justify-self:start}@media (min-width:1200px){.information-page-lower{grid-template-columns:calc(var(--information-photo-column) * 100%) calc(var(--information-spacer-column) * 100%) calc(var(--information-bio-column) * 100%) minmax(0,1fr);gap:var(--information-column-gap);padding:0 var(--site-margin,16px);grid-template-rows:minmax(min-content,1fr) auto;display:grid}.information-page-details,.information-page-footer{display:contents}.information-page-portrait-frame{grid-area:1/1/span 2;align-self:start}.information-page-bio{grid-area:1/3;align-self:start}.information-page-services{grid-area:1/4;align-self:start}.information-page-footer .information-page-footer-availability{grid-area:2/3;place-self:end start}.information-page-footer .information-page-footer-contact{grid-area:2/4;place-self:end start}}.portfolio-shell[data-project-information-open=true] .reel-controls-left{visibility:hidden;pointer-events:none}@media (max-width:1199px){.information-page-linkedin{left:auto;right:var(--site-margin,16px)}}@media (max-width:767px){.information-page-linkedin{left:auto;right:var(--site-margin,16px)}}.information-layer{z-index:21;pointer-events:none;position:absolute;inset:0}.mobile-panel-scrim{display:none}.overlay{z-index:40;pointer-events:auto;background:#1f1f20b8;position:absolute;inset:0}.profile-panel,.index-panel{width:min(calc(100vw - 2 * var(--site-margin,16px)),720px);max-height:calc(100dvh - 2 * var(--site-margin,16px));padding:var(--site-margin,16px);color:var(--ink);background:var(--salmon);position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.overlay-heading{border-bottom:var(--panel-rule) solid #dadada;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:8px;display:flex}.profile-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.profile-portrait{background:linear-gradient(145deg,#281f1c,#e98776);min-height:320px}.profile-copy{flex-direction:column;gap:16px;display:flex}.profile-links{flex-wrap:wrap;gap:2px;margin-top:auto;display:flex}.index-list{border-top:var(--panel-rule) solid #dadada;margin-top:12px;display:grid}.index-row{border-bottom:var(--panel-rule) solid #dadada;grid-template-columns:32px 1fr 70px 1fr;align-items:center;gap:8px;min-height:54px;display:grid}.index-close{margin-top:12px}.route-wipe,.home-fade{z-index:20;opacity:0;background:var(--shell);pointer-events:none;will-change:opacity;position:absolute;inset:0}.project-grid-view{z-index:18;color:var(--cream);background:var(--shell);opacity:0;visibility:hidden;pointer-events:none;scrollbar-width:none;transition:opacity var(--project-grid-exit-duration,.32s) var(--project-grid-easing,cubic-bezier(.16,1,.3,1)),visibility 0s linear var(--project-grid-exit-duration,.32s),color var(--color-mode-duration,0s) var(--color-mode-easing,ease),background-color var(--color-mode-duration,0s) var(--color-mode-easing,ease);position:absolute;inset:0;overflow:hidden auto}.project-grid-view::-webkit-scrollbar{display:none}.project-grid-view[data-open=true]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--project-grid-entry-duration,.46s) var(--project-grid-easing,cubic-bezier(.16,1,.3,1)),visibility 0s,color var(--color-mode-duration,0s) var(--color-mode-easing,ease),background-color var(--color-mode-duration,0s) var(--color-mode-easing,ease)}.project-grid-list{grid-template-columns:repeat(var(--project-grid-columns,8),minmax(0,1fr));align-content:start;align-items:end;gap:var(--project-grid-row-gap,26px) var(--project-grid-column-gap,10px);min-height:100%;padding:var(--project-grid-top,72px) var(--site-margin,16px) max(var(--site-margin,16px),env(safe-area-inset-bottom));grid-auto-rows:min-content;display:grid}.project-grid-item{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;outline:0;align-self:end;margin:0;padding:0;display:grid}.project-grid-media{width:100%;aspect-ratio:var(--grid-item-ratio);background:0 0;display:block;overflow:hidden}.project-grid-item img,.project-grid-item video{object-fit:contain;background:0 0;width:100%;height:100%;display:block}.project-grid-meta{letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap;justify-content:space-between;gap:8px;margin-top:5px;font-size:clamp(7px,.45vw,10px);font-weight:600;line-height:1;display:flex;overflow:hidden}.project-grid-meta span:last-child{text-overflow:ellipsis;overflow:hidden}.project-grid-text{text-align:left;flex-direction:column;justify-content:center;gap:3px;width:100%;height:100%;padding:8%;display:flex}.project-grid-text strong{font-size:clamp(7px,.62vw,12px);line-height:.95}.project-grid-text span{font-size:clamp(5px,.38vw,8px);line-height:1.05}.portfolio-shell[data-grid-open=true] .portfolio-control{color:var(--cream);background:var(--control)}.grid-view-toggle{opacity:1;filter:blur();transition:opacity var(--grid-toggle-opacity) var(--grid-toggle-easing) var(--grid-toggle-opacity-delay),filter var(--grid-toggle-filter) var(--grid-toggle-easing) var(--grid-toggle-filter-delay),transform var(--grid-toggle-transform) var(--grid-toggle-easing) var(--grid-toggle-transform-delay),background-color var(--grid-toggle-hover) var(--grid-toggle-hover-easing);transform:translate(0,0)}.portfolio-shell[data-archive-handoff=true] .grid-view-toggle{visibility:hidden;opacity:0;filter:blur(var(--grid-toggle-initial-blur));transform:translate3d(0,var(--grid-toggle-offset-y),0);pointer-events:none;transition:none}@media (min-width:768px){.identity-control{justify-content:flex-start;width:clamp(240px,16.6667% - 18.6667px,360px)}}@media (hover:hover) and (pointer:fine){.portfolio-control:hover{background:var(--control-hover)}.index-row:hover{background:#f3ecdb47}.portfolio-shell[data-grid-open=true] .portfolio-control:hover{background:var(--grid-label-hover)}}@media (min-width:768px) and (max-width:1199px){.portfolio-shell{--panel-size:max(10.5px,var(--configured-panel-size,9.72px))}.ui-bottom-left{right:var(--site-margin,16px);max-width:calc(100% - 2 * var(--site-margin,16px));scrollbar-width:none;overflow-x:auto}.ui-bottom-left::-webkit-scrollbar{display:none}.project-navigation,.ui-bottom-left>.portfolio-control{flex:none}.archive-context-left{top:var(--archive-editorial-title-top,18px);right:var(--site-margin,16px);left:var(--archive-editorial-tablet-left,47vw);width:auto;min-height:0}.archive-context-right{right:var(--site-margin,16px);bottom:13vh;left:var(--archive-editorial-tablet-left,47vw);width:auto;min-height:0}.archive-context-left .archive-context-layer>strong{font-size:clamp(32px,5.4vw,56px)}.archive-context-detail{gap:clamp(12px,2vw,24px)}.archive-context-detail>strong{font-size:clamp(30px,5vw,54px)}.archive-context-detail p{max-width:34ch;font-size:clamp(10px,1.15vw,13px);line-height:1.08}.archive-index-projects{top:10px;right:var(--site-margin,16px);gap:clamp(9px,1.25vw,16px);font-size:clamp(11px,1.3vw,15px);left:52%;overflow:hidden}.archive-index-utility{top:calc(38px + var(--menu-top-offset,0px));right:var(--site-margin,16px)}.archive-index-list{top:68px;right:var(--site-margin,16px);bottom:max(var(--site-margin,16px),env(safe-area-inset-bottom));left:52%}.archive-index-name{font-size:clamp(25px,3.1vw,36px)}.archive-index-code,.archive-index-utility,.archive-index-copyright{font-size:clamp(12px,1.45vw,17px)}.persistent-site-brand{font-size:clamp(17px,2vw,23px)!important}.site-header-projects{top:calc(10px + var(--menu-top-offset,0px));right:var(--site-margin,16px);gap:clamp(8px,1.2vw,15px);font-size:clamp(11px,1.3vw,15px);left:48%;overflow:hidden}.site-header-utility{top:calc(38px + var(--menu-top-offset,0px));right:var(--site-margin,16px);font-size:clamp(11px,1.3vw,15px)}.media-cycle{gap:min(var(--project-gap,480px),24vw);padding-right:min(var(--project-gap,480px),24vw)}.media-item{--tablet-media-height:min(calc(var(--item-scale) * var(--media-scale,1) * var(--horizontal-media-max,100) * 1dvh),70dvh,calc(74vw / var(--item-ratio)));width:calc(var(--tablet-media-height) * var(--item-ratio));height:var(--tablet-media-height)}.project-grid-list{grid-template-columns:repeat(var(--project-grid-tablet-columns,4),minmax(0,1fr))}}@media (min-width:768px) and (max-width:899px){.ui-bottom-right{display:none}}@media (max-width:767px){:root{--inset:8px}.portfolio-shell{--ui-scale:var(--configured-mobile-ui-scale,.92);--panel-scale:var(--configured-mobile-ui-scale,.92);--ui-size:var(--configured-mobile-ui-size,11.96px);--ui-leading:var(--configured-mobile-ui-leading,13.8px);--panel-size:max(10.5px,var(--configured-mobile-panel-size,8.28px))}.portfolio-control{min-height:28px;padding:6px 7px}.ui-top-left,.ui-top-right{top:max(8px,env(safe-area-inset-top))}.ui-counter{top:max(8px,env(safe-area-inset-top));right:var(--site-margin,16px);left:auto;transform:none}.ui-bottom-left{left:var(--site-margin,16px);right:var(--site-margin,16px);bottom:max(var(--site-margin,16px),env(safe-area-inset-bottom));max-width:calc(100% - 2 * var(--site-margin,16px));overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom;scrollbar-width:none;overflow-x:auto}.ui-bottom-left::-webkit-scrollbar{display:none}.ui-top-left::-webkit-scrollbar{display:none}.ui-bottom-left>.portfolio-control,.project-navigation,.project-navigation .portfolio-control{flex:none}.ui-bottom-right{display:none}.ui-top-left{scrollbar-width:none;max-width:calc(100% - 116px);overflow-x:auto}.identity-control{justify-content:flex-start;min-width:150px}.archive-loader{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);padding:16dvh 8vw 14dvh}.archive-loader-copy{width:calc(100vw - 2 * var(--site-margin,16px));justify-self:center;min-height:84px;font-size:14px}.archive-loader-stack{width:100%;height:100%;position:absolute;inset:0}.archive-loader-copy-right{grid-row:3}.archive-context-left{top:var(--archive-editorial-mobile-title-top,62px);right:var(--site-margin,16px);left:var(--site-margin,16px);width:auto;min-height:0}.archive-context-right{right:var(--site-margin,16px);bottom:calc(var(--archive-editorial-mobile-detail-bottom,62px) + env(safe-area-inset-bottom));left:var(--site-margin,16px);width:auto;min-height:0}.archive-context-left .archive-context-layer>strong{font-size:var(--archive-mobile-title-size)}.archive-context-detail>strong{font-size:var(--archive-mobile-label-size)}.archive-context-detail{grid-template-columns:auto 1fr;gap:6px}.archive-context-detail p{font-size:var(--archive-mobile-text-size);line-height:1.08;overflow:hidden}.archive-index{overflow:hidden}.persistent-site-brand{top:max(calc(10px + var(--menu-top-offset,0px)),env(safe-area-inset-top))}.site-theme-switch{top:calc(max(calc(10px + var(--menu-top-offset,0px)),env(safe-area-inset-top)) + var(--theme-top-offset,0px))}.persistent-site-brand{left:var(--site-margin,16px);max-width:calc(100vw - 2 * var(--site-margin,16px) - 100px);text-overflow:ellipsis;font-size:16px!important}.archive-index-utility{top:max(calc(10px + var(--menu-top-offset,0px)),env(safe-area-inset-top));right:var(--site-margin,16px);font-size:var(--homepage-mobile-meta-size,12px)}.archive-index-projects{top:38px;right:var(--site-margin,16px);left:var(--site-margin,16px);font-size:var(--homepage-mobile-meta-size,12px);scrollbar-width:none;gap:14px;overflow-x:auto}.archive-index-projects::-webkit-scrollbar{display:none}.archive-index-list{top:var(--homepage-mobile-list-top,54dvh);right:var(--homepage-mobile-side,16px);bottom:max(var(--site-margin,16px),env(safe-area-inset-bottom));left:var(--homepage-mobile-side,16px)}.archive-index-row{min-height:0}.archive-index-name{font-size:min(var(--homepage-mobile-list-size,27px),70cqh)}.archive-index-code{font-size:min(var(--homepage-mobile-meta-size,12px),40cqh);padding-left:10px}.archive-index-copyright{display:none}.site-header-utility{top:max(calc(10px + var(--menu-top-offset,0px)),env(safe-area-inset-top));right:var(--site-margin,16px);font-size:11px}.site-header-projects{top:calc(38px + var(--menu-top-offset,0px));right:var(--site-margin,16px);left:var(--site-margin,16px);scrollbar-width:none;gap:14px;font-size:11px;overflow-x:auto}.site-header-projects::-webkit-scrollbar{display:none}.archive-intro-title{height:calc(100% - 12px);transform:none}.panel-close{min-width:44px;min-height:44px;margin:-8px -8px 0 0}.profile-panel,.index-panel{width:calc(100vw - 2 * var(--site-margin,16px));max-height:calc(100dvh - 2 * var(--site-margin,16px));padding:var(--site-margin,16px)}.profile-grid{grid-template-columns:1fr}.profile-portrait{min-height:30dvh}.index-row{grid-template-columns:24px 1fr 48px}.index-row span:last-child{display:none}.marquee-copy{font-size:46vw}.viewer{overscroll-behavior-y:none;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:none;padding:0;overflow:hidden auto}.viewer::-webkit-scrollbar{display:none}.viewer-track{width:100%;height:auto;display:block;position:relative;bottom:0;transform:none!important}.media-cycle{gap:var(--mobile-gap,8px);width:100%;padding:0 0 var(--mobile-gap,8px);flex-direction:column;display:flex}.media-cycle[aria-hidden=true]{display:flex}.media-item{width:100%;max-width:none;height:auto;aspect-ratio:var(--item-ratio);opacity:1;scroll-snap-align:none;scroll-snap-stop:normal}.viewer[data-entry-reveal=true][data-entry-revealed=true] .media-cycle[aria-hidden=false] .media-item:not([data-entry-target=true]){opacity:1;transform:translateZ(0)scale(1)}.media-item img,.media-item video{width:calc(100% + var(--media-edge-crop,0px) * 2);height:calc(100% + var(--media-edge-crop,0px) * 2);aspect-ratio:var(--item-ratio);object-fit:contain}.fixed-ui{position:fixed}.information-layer{z-index:39;pointer-events:auto;position:fixed}.mobile-panel-scrim{background:#1f1f20b8;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.project-grid-view{position:fixed}.project-grid-list{grid-template-columns:repeat(var(--project-grid-mobile-columns,2),minmax(0,1fr));gap:var(--project-grid-mobile-row-gap,18px) var(--project-grid-mobile-column-gap,8px);padding:var(--project-grid-top,72px) var(--site-margin,16px) max(var(--site-margin,16px),env(safe-area-inset-bottom))}}@media (max-width:1199px){.information-page-header{grid-template-columns:1fr auto}.information-page-manifesto{margin:74px var(--site-margin,16px) 64px;max-width:none}.information-page-rule{margin-right:var(--site-margin,16px);margin-left:var(--site-margin,16px)}.information-page-details{padding-right:var(--site-margin,16px);padding-left:var(--site-margin,16px);grid-template-columns:minmax(150px,28vw) 1fr 1fr}.information-page-bio{grid-column:2}.information-page-services{grid-column:3}.information-page-footer{right:var(--site-margin,16px);left:var(--site-margin,16px)}.archive-stage[data-stack-ready=false] .archive-index{opacity:0;pointer-events:none}.archive-stage[data-stack-ready=true] .archive-index-touch-list>.archive-index-row:first-child{opacity:1;transition:none;transform:none}.archive-stage[data-modules-ready=true] .archive-field{display:none}.archive-stage[data-modules-ready=true]:is([data-state=filtering],[data-state=assembling],[data-state=entering],[data-state=revealing],[data-state=complete]) .archive-field{display:block}.archive-index{background:var(--homepage-background,#fff);overflow:hidden}.persistent-site-brand{top:max(calc(14px + var(--menu-top-offset,0px)),env(safe-area-inset-top))}.site-theme-switch{top:calc(max(calc(14px + var(--menu-top-offset,0px)),env(safe-area-inset-top)) + var(--theme-top-offset,0px))}.persistent-site-brand{left:var(--site-margin,16px);max-width:calc(100vw - 2 * var(--site-margin,16px) - 100px);text-overflow:ellipsis;line-height:1;font-size:clamp(18px,3.1vw,28px)!important}.archive-index-projects,.archive-index-utility{display:none}.archive-index-menu-toggle{top:max(calc(11px + var(--menu-top-offset,0px)),env(safe-area-inset-top));right:var(--site-margin,16px);z-index:10;flex-direction:column;justify-content:space-between;width:44px;height:34px;display:flex;position:fixed;padding:3px 0!important}.archive-index-menu-toggle span{background:currentColor;width:100%;height:2px;display:block}.archive-index-list{top:70px;right:var(--site-margin,16px);bottom:max(var(--site-margin,16px),env(safe-area-inset-bottom));left:var(--site-margin,16px);z-index:2;padding:0 var(--site-margin,16px) max(var(--site-margin,16px),env(safe-area-inset-bottom));scrollbar-width:none;grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;display:grid;position:absolute;overflow:hidden auto}.archive-index-row{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:0;display:grid;background:color-mix(in srgb,var(--homepage-foreground,#1f1f20) 4%,transparent)!important;border:0!important;padding:0!important}.archive-index-row:nth-child(4n+1),.archive-index-row:nth-child(4n+4){grid-row:span 2}.archive-index-mobile-media{aspect-ratio:4/3;background:color-mix(in srgb,var(--homepage-foreground,#1f1f20) 7%,transparent);grid-column:1/-1;width:100%;display:block;overflow:hidden}.archive-index-row:nth-child(4n+1) .archive-index-mobile-media{aspect-ratio:3/4}.archive-index-row:nth-child(4n+2) .archive-index-mobile-media{aspect-ratio:16/10}.archive-index-row:nth-child(4n+3) .archive-index-mobile-media{aspect-ratio:1}.archive-index-mobile-media img,.archive-index-mobile-media video{width:calc(100% + var(--media-edge-crop,0px) * 2);max-width:none;height:calc(100% + var(--media-edge-crop,0px) * 2);margin:calc(-1 * var(--media-edge-crop,0px));object-fit:contain;display:block}.archive-index-mobile-media>span{width:100%;height:100%;display:block}.archive-index-name{text-overflow:ellipsis;padding:8px 8px 9px;font-size:clamp(15px,2.25vw,22px);line-height:1;overflow:hidden}.archive-index-code{padding:8px 8px 9px;font-size:clamp(11px,1.5vw,15px)}.archive-mobile-menu{z-index:8;background:var(--homepage-background,#fff);grid-template-rows:repeat(7,minmax(0,1fr));padding-top:62px;display:none;position:fixed;inset:0}.archive-index[data-menu-open=true] .archive-mobile-menu{display:grid}.archive-mobile-menu button{text-align:left;align-items:center;font-size:clamp(24px,5vw,54px);line-height:.95;display:flex;border-top:1px solid var(--homepage-rule,#e6e6e6)!important;padding:10px!important}.site-header-reel{background:0 0}}@media (max-width:767px){.information-page-header{top:0}.information-page-utility,.information-page .information-page-linkedin{font-size:12px}.information-page-manifesto{margin-top:68px;font-size:clamp(24px,8vw,42px)}.information-page-details{grid-template-columns:38vw 1fr;padding-bottom:36px}.information-page-details,.information-page-footer{font-size:14px}.information-page-bio,.information-page-services{grid-column:1/-1;max-width:none}.information-page-footer{padding:0 var(--site-margin,16px);grid-template-columns:1fr;position:static}.information-page-footer p:last-child{justify-self:start}.archive-index-list{grid-template-columns:1fr}.archive-index-row:nth-child(n){grid-row:auto}.archive-index-mobile-media{min-height:0}.site-header-close{top:max(calc(10px + var(--menu-top-offset,0px)),env(safe-area-inset-top));right:var(--site-margin,16px);left:auto}}@media (max-width:1199px){.archive-index{overflow:hidden}.archive-index-list{overscroll-behavior-y:contain;padding:0 var(--site-margin,16px) max(var(--site-margin,16px),env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;display:block;inset:clamp(70px,8vw,92px) 0 0;overflow:hidden auto}.archive-index-row,.archive-index-row:nth-child(n){grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;width:100%;min-height:0;margin:0 0 clamp(32px,5vw,68px);display:grid;container-type:normal;border:0!important;border-bottom:1px solid var(--homepage-row-rule,#cfcfcf)!important;background:0 0!important;padding:0 0 10px!important}.archive-index-mobile-media,.archive-index-row:nth-child(n) .archive-index-mobile-media{aspect-ratio:auto;background:0 0;grid-column:1/-1;width:100%;height:auto;min-height:0;margin:0 0 10px;display:block;overflow:hidden}.archive-index-mobile-media img,.archive-index-mobile-media video{object-fit:contain;width:100%;max-width:100%;height:auto;margin:0;display:block}.archive-index-mobile-media[data-homepage-crop=true] :is(img,video){object-fit:cover;object-position:50% 50%;height:100%}.archive-index-mobile-media>span.archive-index-placeholder{border:1px solid var(--homepage-row-rule,#cfcfcf);min-height:clamp(220px,39vw,460px);color:var(--homepage-foreground,#1f1f20);text-align:left;background:0 0;flex-direction:column;justify-content:space-between;padding:clamp(16px,3vw,32px);display:flex}.archive-index-placeholder small{text-transform:uppercase;font-size:clamp(12px,1.4vw,16px);font-weight:400;line-height:1.1}.archive-index-placeholder strong{letter-spacing:-.05em;max-width:14ch;font-size:clamp(28px,6vw,78px);font-weight:600;line-height:.92}.archive-index-name{padding:0;font-size:clamp(21px,3.3vw,38px);line-height:1.05}.archive-index-code{padding:0 0 0 12px;font-size:clamp(13px,1.5vw,18px)}.archive-index-menu-toggle{top:max(calc(14px + var(--menu-top-offset,0px)),env(safe-area-inset-top));right:var(--site-margin,16px);z-index:10;flex-direction:row;justify-content:flex-end;align-items:center;gap:12px;width:auto;height:20px;font-size:clamp(13px,1.8vw,17px);line-height:20px;display:inline-flex;position:fixed;padding:0!important}.archive-index-menu-toggle .archive-index-menu-label{background:0 0;width:auto;height:20px;line-height:20px;display:block}.archive-index-menu-lines{flex-direction:column;justify-content:center;gap:5px;background:0 0!important;width:22px!important;height:14px!important;display:flex!important}.archive-index-menu-lines i{background:currentColor;width:100%;height:1px;transition:transform .24s;display:block}.archive-index[data-menu-open=true] .archive-index-menu-lines i:first-child{transform:translateY(3px)rotate(45deg)}.archive-index[data-menu-open=true] .archive-index-menu-lines i:last-child{transform:translateY(-3px)rotate(-45deg)}.archive-mobile-menu{z-index:8;padding:clamp(70px,8vw,100px) var(--site-margin,16px) max(var(--site-margin,16px),env(safe-area-inset-bottom));color:var(--homepage-foreground,#1f1f20);background:var(--homepage-background,#efefef);opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;transition:opacity .27s,transform .36s cubic-bezier(.16,1,.3,1),visibility 0s linear .36s;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(-8px)}.archive-menu-header-background{z-index:9;height:max(64px,calc(env(safe-area-inset-top) + 54px));background:linear-gradient(to bottom,var(--homepage-background,var(--shell)) 0%,var(--homepage-background,var(--shell)) calc(100% - var(--information-header-fade-height,12px)),transparent 100%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .27s,visibility 0s linear .27s;display:block;position:fixed;inset:0 0 auto}.archive-index[data-menu-open=true] .archive-menu-header-background{opacity:1;visibility:visible;transition:opacity .27s,visibility}.archive-index[data-menu-open=true] .archive-mobile-menu{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .27s,transform .36s cubic-bezier(.16,1,.3,1),visibility;display:flex;transform:translate(0,0)}.archive-mobile-menu button,.archive-mobile-menu .archive-mobile-contact{letter-spacing:-.045em;text-align:left;flex:none;justify-content:space-between;align-items:center;min-height:clamp(58px,8.2vh,84px);font-size:clamp(24px,3.5vw,42px);font-weight:600;line-height:1;display:flex;border:0!important;border-bottom:1px solid var(--homepage-row-rule,#cfcfcf)!important;padding:8px 0!important}.archive-mobile-menu button small,.archive-mobile-menu .archive-mobile-contact small{letter-spacing:0;align-self:flex-start;padding-top:3px;font-size:12px;font-weight:400}.archive-mobile-menu button[aria-current=page]{font-style:normal}.site-header-reel{border-bottom:1px solid var(--homepage-row-rule,#cfcfcf);background:var(--homepage-background,#efefef);height:86px}.site-header-close{top:max(calc(12px + var(--menu-top-offset,0px)),env(safe-area-inset-top));right:var(--site-margin,16px);font-size:clamp(13px,1.7vw,17px);left:auto}.site-header-close-icon{width:18px;height:18px}.site-header-projects{top:calc(53px + var(--menu-top-offset,0px));padding:0 var(--site-margin,16px) 10px;scrollbar-width:none;gap:clamp(18px,4vw,42px);font-size:clamp(12px,1.5vw,16px);left:0;right:0;overflow-x:auto}.site-header-projects::-webkit-scrollbar{display:none}.viewer{overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:none;padding:0;top:86px;left:0;right:0;overflow:hidden auto}.viewer::-webkit-scrollbar{display:none}.viewer-track{width:100%;height:auto;display:block;position:relative;bottom:0;transform:none!important}.media-cycle{flex-direction:column;gap:clamp(14px,3vw,34px);width:100%;padding:0 0 clamp(14px,3vw,34px);display:flex}.media-cycle[aria-hidden=true]{display:flex}.media-item{width:100%;max-width:none;height:auto;aspect-ratio:var(--item-ratio);opacity:1;scroll-snap-align:none;scroll-snap-stop:normal}.viewer[data-entry-reveal=true][data-entry-revealed=true] .media-cycle[aria-hidden=false] .media-item:not([data-entry-target=true]){opacity:1;transform:translateZ(0)scale(1)}.media-item img,.media-item video{width:calc(100% + var(--media-edge-crop,0px) * 2);height:calc(100% + var(--media-edge-crop,0px) * 2);aspect-ratio:var(--item-ratio);object-fit:contain}.project-grid-list{padding-top:max(105px,var(--project-grid-mobile-top,58px))}.information-page{padding-bottom:max(var(--site-margin,16px),env(safe-area-inset-bottom))}.information-page-header{min-height:calc(88px + var(--menu-top-offset,0px));padding:calc(54px + var(--menu-top-offset,0px)) var(--site-margin,16px) 10px;top:0;left:0;right:0}.information-page-utility{margin-left:0}.information-page-utility,.information-page .information-page-linkedin{font-size:clamp(13px,1.7vw,17px)}.information-page-manifesto{margin:clamp(112px,13vw,160px) var(--site-margin,16px) var(--information-manifesto-bottom-gap-tablet,76px);font-size:var(--information-paragraph-size-tablet);line-height:var(--information-paragraph-line-height-tablet);text-indent:var(--information-paragraph-indent-tablet)}.information-page-rule{margin:0 var(--site-margin,16px) 24px}.information-page-details{padding:0 var(--site-margin,16px);grid-template-columns:minmax(130px,30%) minmax(0,1fr);gap:20px}.information-page-details,.information-page-footer{font-size:clamp(15px,1.8vw,20px)}.information-page-bio,.information-page-services{grid-column:1/-1;max-width:44ch}.information-page-footer{margin:var(--information-photo-footer-gap-tablet) 0 0;padding:0 var(--site-margin,16px);grid-template-columns:1fr 1fr;gap:24px;position:static}.information-page-footer p:last-child{justify-self:start}}@media (max-width:767px){.persistent-site-brand{top:max(calc(15px + var(--menu-top-offset,0px)),env(safe-area-inset-top))}.site-theme-switch{top:calc(max(calc(15px + var(--menu-top-offset,0px)),env(safe-area-inset-top)) + var(--theme-top-offset,0px))}.persistent-site-brand{left:var(--site-margin,16px);max-width:calc(100vw - 2 * var(--site-margin,16px) - 100px);font-size:clamp(17px,5vw,22px)!important}.archive-index-list{padding-right:var(--site-margin,16px);padding-left:var(--site-margin,16px);top:74px}.archive-index-row,.archive-index-row:nth-child(n){margin-bottom:30px}.archive-index-name{font-size:clamp(22px,5.7vw,30px)}.archive-index-code{font-size:13px}.archive-index-mobile-media>span.archive-index-placeholder{min-height:280px}.archive-mobile-menu{padding:74px var(--site-margin,16px) max(var(--site-margin,16px),env(safe-area-inset-bottom))}.archive-mobile-menu button,.archive-mobile-menu .archive-mobile-contact{min-height:66px;font-size:clamp(24px,7vw,33px)}.archive-index-menu-toggle{top:calc(max(calc(15px + var(--menu-top-offset,0px)),env(safe-area-inset-top)) + var(--theme-top-offset,0px));right:var(--site-margin,16px);align-items:flex-start}.archive-index-menu-lines{justify-content:flex-start}.information-page-header{padding-right:var(--site-margin,16px);padding-left:var(--site-margin,16px);top:0;left:0;right:0}.information-page-manifesto{margin:110px var(--site-margin,16px) var(--information-manifesto-bottom-gap-mobile,58px);font-size:var(--information-paragraph-size-mobile);line-height:var(--information-paragraph-line-height-mobile);text-indent:var(--information-paragraph-indent-mobile)}.information-page-details{padding:0 var(--site-margin,16px);grid-template-columns:50% 1fr;gap:12px}.information-page-details,.information-page-footer{font-size:15px}.information-page-rule{margin:0 var(--site-margin,16px) 20px}.information-page-footer{margin-top:var(--information-photo-footer-gap-mobile);padding:0 var(--site-margin,16px);grid-template-columns:1fr}.site-header-close{right:var(--site-margin,16px)}.site-header-projects{padding-right:var(--site-margin,16px);padding-left:var(--site-margin,16px)}.project-grid-list{padding:104px var(--site-margin,16px) max(var(--site-margin,16px),env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 10px}}.archive-index-hover-marker{display:none}@media (min-width:1200px){.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-hover-marker{grid-column:var(--archive-column-name,3 / span 8);width:var(--archive-hover-marker-size,22px);height:var(--archive-hover-marker-size,22px);font-size:var(--archive-list-size);background:var(--homepage-marker,#b5e615);opacity:0;pointer-events:none;translate:calc(var(--archive-column-name-x,0px) + var(--archive-list-indent,0px)) var(--archive-column-name-y,0px);transform-origin:50%;transition:transform var(--archive-hover-marker-duration,.82s) var(--archive-hover-marker-easing,cubic-bezier(.16,1,.3,1)),opacity var(--archive-hover-marker-fade,.344s) ease;grid-row:1;place-self:center start;display:block;transform:scale(0)}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-hover-marker[data-align=top]{margin-top:var(--archive-hover-marker-top,.14em);align-self:start}.archive-stage[data-cursor-archive=true] .archive-index[data-interactive=true] .archive-index-desktop-list .archive-index-row[data-active=true] .archive-index-hover-marker{opacity:1;transform:scale(1)}.archive-stage[data-cursor-archive=true] .archive-index[data-interactive=true] .archive-index-desktop-list .archive-index-row[data-active] .archive-index-name{transition-property:color,opacity,translate;transition-duration:0s,0s,var(--archive-active-indent-duration,.6s);transition-timing-function:var(--homepage-list-highlight-easing,ease),var(--homepage-list-highlight-easing,ease),var(--archive-active-indent-easing,cubic-bezier(.16,1,.3,1));translate:0}.archive-stage[data-cursor-archive=true] .archive-index[data-interactive=true] .archive-index-desktop-list .archive-index-row[data-active=true] .archive-index-name{translate:var(--archive-active-indent,18px) 0}}@media (min-width:1200px) and (prefers-reduced-motion:reduce){.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-hover-marker,.archive-stage[data-cursor-archive=true] .archive-index[data-interactive=true] .archive-index-desktop-list .archive-index-row[data-active] .archive-index-name,.archive-index-name-active{transition:none}}.archive-stage{--archive-list-size:var(--archive-list-size-desktop);--archive-list-leading:var(--archive-list-leading-desktop);--archive-list-indent:var(--archive-list-indent-desktop)}.archive-stage[data-cursor-archive=true] .archive-index-name{font-size:var(--archive-list-size);font-weight:var(--archive-list-weight);line-height:var(--archive-list-leading);letter-spacing:var(--archive-list-tracking);text-indent:var(--archive-list-indent,0px)}.portfolio-shell[data-signifier=true] .archive-stage[data-cursor-archive=true] .archive-index-name{font-weight:var(--large-display-weight,400)}.archive-stage[data-cursor-archive=true] .archive-index-code{font-size:var(--archive-code-size,var(--archive-list-size));font-weight:var(--archive-list-weight);line-height:var(--archive-list-leading);letter-spacing:var(--archive-list-tracking)}@media (max-width:1199px){.archive-stage{--archive-list-size:var(--archive-list-size-tablet);--archive-list-leading:var(--archive-list-leading-tablet);--archive-list-indent:var(--archive-list-indent-tablet)}}@media (max-width:767px){.archive-stage{--archive-list-size:var(--archive-list-size-mobile);--archive-list-leading:var(--archive-list-leading-mobile);--archive-list-indent:var(--archive-list-indent-mobile)}}@media (prefers-reduced-motion:reduce){.marquee-track{animation-play-state:paused}.archive-file-active-dot{animation:none}.archive-loader{animation-duration:var(--reduced-loader-intro-duration);animation-delay:var(--reduced-loader-intro-delay)}.archive-loader-copy,.archive-loader-stack{transition-duration:var(--reduced-loader-intro-duration)}*,:before,:after{scroll-behavior:auto!important}.archive-availability .archive-file-active-dot{animation:none}.viewer .media-item,.viewer :is(img,video),.site-header-projects,.site-header-close,.archive-mobile-menu,.archive-index-menu-lines i,.archive-index-row,.archive-grid-file-name,.project-grid-view,.grid-view-toggle{transition:none!important}}.portfolio-shell .archive-stage[data-cursor-archive=true][data-jannon=true] .archive-index-name{font-family:var(--archive-jannon-font);font-weight:var(--archive-jannon-weight);font-style:var(--archive-jannon-style);font-synthesis:none}.portfolio-shell .information-page[data-jannon=true] .information-page-manifesto{font-family:var(--information-jannon-font);font-weight:var(--information-jannon-weight);font-style:var(--information-jannon-style);font-synthesis:none}.portfolio-shell .archive-stage[data-cursor-archive=true] .archive-index-row[data-active=true] .archive-index-name{font-synthesis:none;font-style:normal}.archive-stage[data-index-centered=true] .archive-index .archive-index-row .archive-index-name{text-align:center}.archive-index-name-text{text-overflow:ellipsis;display:block;overflow:hidden}.archive-stage[data-index-signifier=true] .archive-index-name{overflow:visible}.archive-stage[data-index-signifier=true] .archive-index-name-text{padding-block:var(--archive-signifier-glyph-padding,.18em);margin-block:calc(-1 * var(--archive-signifier-glyph-padding,.18em))}@media (min-width:1200px){.archive-index-desktop-list[data-wheel-enabled=true] .archive-index-row{translate:0 var(--archive-wheel-shift,0px);visibility:var(--archive-wheel-visible,hidden);pointer-events:none}.archive-index-desktop-list :is(.archive-index-name,.archive-index-name-base,.archive-index-name-active){overflow:visible}.archive-index-desktop-list .archive-index-name-text{margin:-.2em;padding:.2em;overflow:hidden}.archive-index-desktop-list .archive-index-name-active{padding-inline:inherit}.archive-index-desktop-list[data-wheel-enabled=true] .archive-index-name-text{transform-origin:50%;backface-visibility:hidden}}.contact-dialog{--homepage-row-rule:color-mix(in srgb,#cfcfcf calc((1 - var(--theme-progress)) * 100%),#1f1f22);z-index:100;width:min(520px,calc(100vw - 2 * var(--site-margin,16px)));height:min(760px,calc(100dvh - 2 * var(--site-margin,16px)));border:1px solid var(--homepage-row-rule,#cfcfcf);max-width:none;max-height:none;color:var(--homepage-foreground,#1f1f20);background:var(--homepage-background,#efefef);font-family:var(--font-coco),Arial,sans-serif;box-shadow:none;border-radius:0;margin:auto;padding:0;animation:.36s cubic-bezier(.16,1,.3,1) both contactEnter;position:fixed;inset:0;overflow:hidden}.contact-dialog::backdrop,.project-information-dialog::backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1f1f208a;animation:.36s cubic-bezier(.16,1,.3,1) both contactBackdrop}.contact-dialog[data-closing=true]{pointer-events:none;animation:contactExit var(--contact-exit-duration,.32s) var(--contact-exit-easing,ease) both}.contact-dialog[data-closing=true]::backdrop,.project-information-dialog[data-closing=true]::backdrop{animation:contactBackdropExit var(--contact-exit-duration,.32s) var(--contact-exit-easing,ease) both}.contact-form{height:100%;padding:var(--site-margin,16px);flex-direction:column;display:flex;position:relative}.contact-compose{flex-direction:column;flex:1;min-height:0;transition:opacity .24s,transform .42s cubic-bezier(.16,1,.3,1);display:flex}.contact-dialog[data-sent=true] .contact-compose{opacity:0;pointer-events:none;transform:translateY(-8px)}.contact-success{inset:calc(var(--site-margin,16px) + 54px) var(--site-margin,16px) 140px;flex-direction:column;justify-content:flex-start;align-items:flex-start;animation:.62s cubic-bezier(.16,1,.3,1) .18s both contactSuccessIn;display:flex;position:absolute}.contact-success-label{color:var(--homepage-muted,#8a8a8a);margin-bottom:32px;font-size:12px}.contact-success h3{letter-spacing:-.055em;margin:20px 0 14px;font-family:inherit;font-size:clamp(36px,6vw,54px);font-weight:600;line-height:1}.contact-success p{margin:0;font-size:15px;line-height:1.3}.contact-success-tick{width:42px;height:42px;color:var(--homepage-marker,#10c43a)}.contact-success-tick path,.contact-send-tick path{stroke:currentColor;stroke-width:2px;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:1;stroke-dashoffset:1px;animation:.48s cubic-bezier(.45,0,.55,1) forwards contactTickDraw}.contact-success-tick path{animation-delay:.3s}.contact-header{border-bottom:1px solid var(--homepage-row-rule,#cfcfcf);grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;padding:0 0 14px;display:grid}.contact-header h2{grid-column:2;margin:0;font-family:inherit;font-size:17px;font-weight:600;line-height:1}.contact-header button{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;grid-column:3;justify-self:end;padding:0;font-size:20px;line-height:17px}.contact-field{border-bottom:1px solid var(--homepage-row-rule,#cfcfcf);gap:12px;padding:17px 0;font-size:15px;display:flex}.contact-field>span{width:74px;color:var(--homepage-muted,#8a8a8a);flex:none}.contact-field input,.contact-field textarea{width:100%;min-width:0;color:inherit;font:inherit;resize:none;background:0 0;border:0;outline:0;padding:0;display:block}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--homepage-muted,#8a8a8a);opacity:1}.contact-field input:autofill{-webkit-text-fill-color:var(--homepage-foreground,#1f1f20);caret-color:var(--homepage-foreground,#1f1f20);box-shadow:0 0 0 1000px var(--homepage-background,#efefef) inset}.contact-dialog,.contact-header h2{outline:none}.contact-message{flex:1;align-items:stretch}.contact-message textarea{min-height:160px}.contact-honeypot{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.contact-bottom{flex:none;padding-top:0}.contact-challenge{min-height:46px}.contact-note,.contact-status{color:var(--homepage-muted,#8a8a8a);margin:4px 0 10px;font-size:12px;line-height:1}.contact-note{margin:0;padding-block:16px}.contact-status:empty{display:none}.contact-actions{border-top:1px solid var(--homepage-row-rule,#cfcfcf);justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.contact-actions button{border:1px solid var(--homepage-row-rule,#cfcfcf);min-width:126px;color:inherit;text-align:center;cursor:pointer;background:0 0;border-radius:0;padding:9px 14px;font-size:14px;transition:background .18s,color .18s,opacity .18s}.contact-actions button:last-child{border-color:var(--homepage-foreground,#1f1f20);color:var(--homepage-background,#efefef);background:var(--homepage-foreground,#1f1f20)}.contact-actions button[type=submit]:not(:disabled){border-color:var(--homepage-marker,#10c43a);background:var(--homepage-marker,#10c43a);color:#1f1f20}.contact-actions button:hover:not(:disabled){opacity:.72}.contact-actions button:disabled{opacity:.35;cursor:not-allowed}.contact-dialog:is([data-pending=true],[data-sent=true]) .contact-actions button[type=submit]{background:var(--homepage-marker,#10c43a);border-color:var(--homepage-marker,#10c43a);color:#1f1f20;opacity:1;cursor:default}.contact-send-content{justify-content:center;align-items:center;gap:8px;animation:.24s cubic-bezier(.16,1,.3,1) both contactSendIn;display:flex}.contact-send-spinner{border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite contactSendSpin}.contact-send-tick{width:16px;height:16px}@keyframes contactSendSpin{to{transform:rotate(360deg)}}@keyframes contactTickDraw{to{stroke-dashoffset:0}}@keyframes contactSendIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes contactSuccessIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes contactEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translate(0,0)}}@keyframes contactExit{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translateY(8px)}}@keyframes contactBackdrop{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}}@keyframes contactBackdropExit{0%{opacity:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}to{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}}.contact-verify-page{z-index:3;padding:var(--site-margin,16px);color:var(--homepage-foreground,#1f1f20);background:var(--homepage-background,#efefef);place-items:center;display:grid;position:fixed;inset:0;overflow:auto}.contact-verify-card{width:min(560px,100%);padding:var(--site-margin,16px) 0;border-top:1px solid var(--homepage-row-rule,#cfcfcf);border-bottom:1px solid var(--homepage-row-rule,#cfcfcf)}.contact-verify-card>span{color:var(--homepage-muted,#8a8a8a);text-transform:uppercase;font-size:13px}.contact-verify-card h1{letter-spacing:-.055em;margin:40px 0 20px;font-family:inherit;font-size:clamp(42px,7vw,72px);font-weight:600;line-height:.98}.contact-verify-card p{max-width:40ch;min-height:3em;font-size:16px;line-height:1.3}.contact-verify-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:52px;display:flex}.contact-verify-actions button{color:var(--homepage-background,#efefef);background:var(--homepage-foreground,#1f1f20);font:inherit;cursor:pointer;border:0;border-radius:24px;padding:10px 18px}.contact-verify-actions button:disabled{opacity:.4;cursor:not-allowed}.contact-verify-actions a{text-underline-offset:3px;text-decoration:underline}@media (max-width:767px){.contact-dialog{width:calc(100vw - 2 * var(--site-margin,16px));height:calc(100dvh - 2 * var(--site-margin,16px))}.contact-form{padding:var(--site-margin,16px)}.contact-field{gap:8px}.contact-field>span{width:62px}}@media (prefers-reduced-motion:reduce){.contact-dialog,.contact-dialog::backdrop,.contact-success,.contact-send-content,.contact-send-spinner,.contact-success-tick path,.contact-send-tick path{animation:none}.contact-compose{transition:none}.contact-success-tick path,.contact-send-tick path{stroke-dashoffset:0}}@media (max-width:1199px){.archive-stage[data-cursor-archive=true] .archive-index-touch-list .archive-index-row{border:0!important}}html[data-color-mode-transition=true]{transition:--theme-progress var(--color-mode-duration,.38s) var(--color-mode-easing,ease)}html[data-color-mode-transition=true] body{transition:none}.portfolio-shell{--color-mode-duration:0s}html[data-color-mode-transition=true] .portfolio-shell .site-theme-switch{transition:none}html[data-color-mode-transition=true] .portfolio-shell .grid-view-toggle{transition:opacity var(--grid-toggle-opacity) var(--grid-toggle-easing) var(--grid-toggle-opacity-delay),filter var(--grid-toggle-filter) var(--grid-toggle-easing) var(--grid-toggle-filter-delay),transform var(--grid-toggle-transform) var(--grid-toggle-easing) var(--grid-toggle-transform-delay)}.archive-availability,.archive-index-utility strong{color:var(--homepage-foreground,#1f1f20)}.archive-availability,.archive-index-utility :is(strong,button,span),.information-page-utility :is(strong,button,a,span),.contact-field>span,.contact-note,.contact-status,.contact-field :is(input,textarea)::placeholder,.contact-verify-card>span,.project-collection-empty small{transition:color var(--color-mode-duration,0s) var(--color-mode-easing,ease)}.information-page,.information-transition-underlay,.contact-dialog,.contact-verify-page,.site-header,.project-collection-empty{transition:color var(--color-mode-duration,0s) var(--color-mode-easing,ease),background-color var(--color-mode-duration,0s) var(--color-mode-easing,ease),border-color var(--color-mode-duration,0s) var(--color-mode-easing,ease)}.information-page-header,.archive-list-boundary,.archive-file-active-dot,.archive-index-marker,.site-header-marker,.control-marker{transition:background-color var(--color-mode-duration,0s) var(--color-mode-easing,ease)}.contact-header,.contact-field,.contact-actions{transition:border-color var(--color-mode-duration,0s) var(--color-mode-easing,ease)}@media (min-width:1200px){.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-hover-marker{transition:transform var(--archive-hover-marker-duration,.82s) var(--archive-hover-marker-easing,cubic-bezier(.16,1,.3,1)),opacity var(--archive-hover-marker-fade,.344s) ease,background-color var(--color-mode-duration,0s) var(--color-mode-easing,ease)}}html[data-color-mode-transition=true] .portfolio-shell .archive-index-row :is(.archive-index-name,.archive-index-code,.archive-index-status){transition:color 0s,opacity 0s,translate var(--archive-active-indent-duration,.82s) var(--archive-active-indent-easing,ease)!important}html[data-color-mode-transition=true] .portfolio-shell .archive-index-row,html[data-color-mode-transition=true] .portfolio-shell .archive-index-row:before,html[data-color-mode-transition=true] .portfolio-shell .archive-index-row:after,html[data-color-mode-transition=true] .portfolio-shell .archive-index-dot{transition:background-color var(--color-mode-duration,0s) var(--color-mode-easing,ease),border-color var(--color-mode-duration,0s) var(--color-mode-easing,ease),opacity var(--homepage-list-highlight-duration,.32s) ease!important}html[data-color-mode-transition=true] .portfolio-shell :is(.contact-actions button,.contact-verify-actions button){transition:color var(--color-mode-duration,0s) var(--color-mode-easing,ease),background-color var(--color-mode-duration,0s) var(--color-mode-easing,ease),border-color var(--color-mode-duration,0s) var(--color-mode-easing,ease),opacity .18s ease}html[data-color-mode-transition=true] .portfolio-shell .archive-mobile-menu{transition:color var(--color-mode-duration,0s) var(--color-mode-easing,ease),background-color var(--color-mode-duration,0s) var(--color-mode-easing,ease),opacity .27s ease,transform .36s cubic-bezier(.16,1,.3,1),visibility 0s!important}@media (prefers-reduced-motion:reduce){html{--color-mode-duration:0s!important;--theme-toggle-duration:0s!important}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-hover-marker,html[data-color-mode-transition=true] .portfolio-shell :is(.archive-index-name,.archive-index-code,.archive-index-status,.archive-index-dot,.archive-index-row,.archive-mobile-menu){transition:none!important}}.archive-preview-bitmap{display:none}@media (min-width:1200px){.archive-hover-file .archive-file-media:has(>.archive-preview-bitmap[data-ready=true])>img{visibility:hidden}.archive-hover-file .archive-preview-bitmap[data-ready=true]{pointer-events:none;display:block;position:absolute;top:0;left:0}.archive-field[data-interactive=true][data-preview-appearance]:is([data-state=idle],[data-state=hovering]) .archive-preview-bitmap{filter:blur();opacity:1;transition:filter var(--preview-reveal-duration,.5s) var(--preview-appearance-easing,ease-out),opacity var(--preview-reveal-duration,.5s) var(--preview-appearance-easing,ease-out)}.archive-field[data-interactive=true][data-preview-appearance][data-preview-activity=browsing]:is([data-state=idle],[data-state=hovering]) .archive-preview-bitmap{filter:blur(var(--preview-browse-blur,14px));opacity:var(--preview-browse-opacity,1);transition-duration:var(--preview-obscure-duration,70ms)}}@media (max-width:1199px){.archive-loader-stack,.archive-loader-frame,.archive-file-media,.media-item{will-change:auto;filter:none!important}.viewer[data-entry-reveal=true] .media-item{transition:opacity .3s;transform:none}.viewer-track{will-change:auto;flex-direction:column;display:flex}.media-cycle{flex-shrink:0}.viewer .media-item{will-change:auto!important;transform:none!important}.viewer{overflow-anchor:none;scroll-behavior:auto}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portfolio-directory:focus-within{z-index:10000;clip-path:none;white-space:normal;background:var(--background,#111);width:min(480px,100vw - 32px);height:auto;color:var(--foreground,#fff);margin:0;padding:20px;top:16px;left:16px;overflow:visible}.archive-index-discipline{min-width:0;font-family:inherit;font-size:var(--archive-discipline-size,inherit);font-weight:var(--archive-discipline-weight,inherit);font-style:inherit;letter-spacing:var(--archive-discipline-tracking,inherit);text-indent:0;opacity:var(--archive-discipline-opacity,1);white-space:nowrap}.archive-stage[data-cursor-archive=true] .archive-index-name:is([data-discipline-column=true],[data-year-column=true]){grid-template-columns:var(--archive-label-columns);grid-template-areas:var(--archive-label-areas);column-gap:var(--archive-label-gap,24px);align-items:baseline;display:grid}.archive-index-name-text{grid-area:file}.archive-index-discipline{grid-area:discipline}.archive-index-year{font:inherit;color:inherit;letter-spacing:inherit;text-indent:0;white-space:nowrap;grid-area:year}.archive-stage[data-cursor-archive=true] .archive-index-name[data-indent-column]{text-indent:0}.archive-index-name[data-indent-column=discipline]>.archive-index-discipline,.archive-index-name[data-indent-column=file]>.archive-index-name-text,.archive-index-name[data-indent-column=year]>.archive-index-year{text-indent:var(--archive-list-indent,0px)}@media (min-width:1200px){.archive-stage[data-cursor-archive=true] .archive-index[data-interactive=true] .archive-index-desktop-list .archive-index-row[data-active] .archive-index-name[data-indent-column]{translate:0}.archive-index-desktop-list .archive-index-name[data-indent-column]>:is(.archive-index-discipline,.archive-index-name-text,.archive-index-year){transition:translate var(--archive-active-indent-duration,.6s) var(--archive-active-indent-easing,cubic-bezier(.16,1,.3,1));translate:0}.archive-index-desktop-list .archive-index-row[data-active=true] .archive-index-name[data-indent-column=discipline]>.archive-index-discipline,.archive-index-desktop-list .archive-index-row[data-active=true] .archive-index-name[data-indent-column=file]>.archive-index-name-text,.archive-index-desktop-list .archive-index-row[data-active=true] .archive-index-name[data-indent-column=year]>.archive-index-year{translate:var(--archive-active-indent,18px) 0}}@media (min-width:1200px) and (prefers-reduced-motion:reduce){.archive-index-desktop-list .archive-index-name[data-indent-column]>:is(.archive-index-discipline,.archive-index-name-text,.archive-index-year){transition:none}}@media (min-width:1200px){.archive-stage[data-preview-mode=centered] .archive-index-desktop-list .archive-index-name:is([data-discipline-column=true],[data-year-column=true]){width:min(100%,var(--archive-label-max-width,100%));column-gap:min(var(--archive-label-gap,24px),var(--archive-label-gap-fit,24px))}}.archive-index-discipline{text-overflow:ellipsis;overflow:hidden}@media (prefers-reduced-motion:reduce){.archive-stage[data-cursor-archive=true] .archive-index-row:before,.archive-stage[data-band-behind-name=false] .archive-index-row:after{transition:none}}@property --archive-selection-progress{syntax:"<number>";inherits:true;initial-value:0}@property --archive-trail-progress{syntax:"<number>";inherits:true;initial-value:0}@media (min-width:1200px){.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-row{--archive-selection-progress:0}.archive-stage[data-cursor-archive=true] .archive-index[data-interactive=true] .archive-index-desktop-list .archive-index-row{transition:none!important}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-row[data-active=true]{--archive-selection-progress:1}.archive-stage[data-cursor-archive=true] .archive-index[data-interactive=true] .archive-index-desktop-list .archive-index-row:is([data-selection-entry=true],[data-selection-exit=true]){transition:--archive-selection-progress .14s cubic-bezier(.16,1,.3,1)!important}.archive-index-selection-trail{z-index:-1;pointer-events:none;opacity:var(--archive-trail-progress);filter:opacity(var(--archive-list-hover-progress));transition:filter var(--archive-list-contrast-duration) var(--homepage-list-highlight-easing,ease);background:var(--archive-list-selected-background,transparent);position:absolute;inset:0}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-row:before,.archive-stage[data-band-behind-name=false] .archive-index-desktop-list .archive-index-row:after{opacity:var(--archive-selection-progress);filter:opacity(var(--archive-list-hover-progress));transition:filter var(--archive-list-contrast-duration) var(--homepage-list-highlight-easing,ease)!important}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-row :is(.archive-index-name,.archive-index-code,.archive-index-status){color:color-mix(in srgb,var(--archive-list-inactive-color) calc((1 - max(var(--archive-selection-progress),var(--archive-trail-progress))) * 100%),var(--archive-list-active-color))!important;transition:none!important}}.archive-index-resting-copy{display:none}@media (min-width:1200px){.archive-index-desktop-list :is(.archive-index-name,.archive-index-code,.archive-index-status){position:relative}.archive-index-desktop-list .archive-index-resting-copy{pointer-events:none;opacity:calc(1 - var(--archive-list-hover-progress));transition:opacity var(--archive-list-contrast-duration) var(--homepage-list-highlight-easing,ease);will-change:auto;display:block;position:absolute;inset:0;color:var(--homepage-foreground)!important}.archive-index-desktop-list .archive-index-row[data-render-near=true] .archive-index-resting-copy{will-change:opacity}.archive-index-desktop-list .archive-index-name>.archive-index-resting-copy{grid-template-columns:inherit;grid-template-areas:inherit;column-gap:inherit;align-items:inherit;display:grid}.archive-index-desktop-list .archive-index-row[data-active=true] .archive-index-name[data-indent-column=discipline]>.archive-index-resting-copy>.archive-index-discipline,.archive-index-desktop-list .archive-index-row[data-active=true] .archive-index-name[data-indent-column=file]>.archive-index-resting-copy>.archive-index-name-text,.archive-index-desktop-list .archive-index-row[data-active=true] .archive-index-name[data-indent-column=year]>.archive-index-resting-copy>.archive-index-year{translate:var(--archive-active-indent,18px) 0}}@media (min-width:1200px) and (prefers-reduced-motion:reduce){.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-row{transition:none!important}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list,.archive-index-desktop-list .archive-index-resting-copy{transition:none}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-row :is(.archive-index-name,.archive-index-code,.archive-index-status,.archive-index-selection-trail),.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-row:before,.archive-stage[data-band-behind-name=false] .archive-index-desktop-list .archive-index-row:after{transition:none!important}}@media (min-width:1200px){.archive-stage[data-cursor-archive=true] .archive-availability{grid-column:var(--archive-column-name,3 / span 8);transform:translateX(calc(var(--archive-column-name-x,0px) + var(--archive-discipline-width,190px) + min(var(--archive-label-gap,24px),var(--archive-label-gap-fit,24px))))}}.archive-clock-grid{display:none}@media (min-width:1200px){.archive-clock-grid{top:calc(10px + var(--menu-top-offset,0px));left:var(--archive-list-side,16px);right:var(--archive-list-side,16px);z-index:10;grid-template-columns:repeat(var(--archive-list-grid-columns,12),minmax(0,1fr));column-gap:var(--archive-list-column-gap,20px);pointer-events:none;display:grid;position:absolute}.archive-clock{--clock-gap:min(var(--archive-label-gap,24px),var(--archive-label-gap-fit,24px));grid-column:var(--archive-column-name,3 / span 8);white-space:nowrap;color:var(--homepage-muted,#aaabac);font-family:var(--font-coco),Arial,sans-serif;font-size:15px;font-weight:var(--homepage-weight,600);letter-spacing:-.5px;transform:translateX(calc(var(--archive-column-name-x,0px) + var(--archive-discipline-width,190px) + min(var(--archive-file-column-width,288px),max(0px,var(--archive-label-max-width,1000px) - var(--archive-discipline-width,190px) - var(--archive-year-width,70px) - 2 * var(--clock-gap))) + 2 * var(--clock-gap)));align-items:baseline;gap:.45em;line-height:1.1;display:flex}.archive-clock-square{background:currentColor;flex:none;width:.66em;height:.66em}.archive-clock time{font:inherit;letter-spacing:inherit;font-variant-numeric:proportional-nums;font-kerning:normal}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list .archive-index-name[data-indent-column]{align-items:center}.archive-stage[data-cursor-archive=true] .archive-index-desktop-list :is(.archive-index-name,.archive-index-code){position:relative;top:-.1em}}.reel-controls{inset:auto var(--site-margin,16px) max(var(--site-margin,16px),env(safe-area-inset-bottom));z-index:29;pointer-events:none;color:var(--homepage-foreground);font-family:var(--font-coco),Arial,sans-serif;justify-content:space-between;gap:16px;display:flex;position:fixed}.reel-corner-button{border:1px solid var(--homepage-muted,#8a8a8a);min-height:38px;color:var(--homepage-foreground);background:var(--homepage-background);font-family:var(--font-coco),Arial,sans-serif;font-size:var(--homepage-meta-size,16px);letter-spacing:-.025em;cursor:pointer;pointer-events:auto;border-radius:0;justify-content:center;align-items:center;padding:9px 14px;font-weight:600;line-height:1;display:inline-flex}.reel-corner-button:focus-visible{outline:2px solid var(--homepage-marker);outline-offset:3px}.reel-counter-total{color:var(--homepage-muted)}.portfolio-shell[data-archive-handoff=true] .reel-controls .reel-corner-button{pointer-events:none}.project-grid-list{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.project-information-dialog{inset:max(0px,calc(var(--site-margin,16px) + var(--project-information-top-offset,-1px))) var(--site-margin,16px) auto auto;width:min(var(--project-information-width,420px),calc(100vw - 2 * var(--site-margin,16px)));max-width:none;height:calc(100dvh - 2 * var(--site-margin,16px) - 55px);max-height:none;color:var(--project-information-text,var(--homepage-foreground));font-family:var(--project-information-font-family,var(--font-coco),Arial,sans-serif);font-size:var(--project-information-size,12px);font-weight:var(--project-information-weight,600);font-style:var(--project-information-style,normal);line-height:var(--project-information-leading,1.24);letter-spacing:var(--project-information-tracking,-.025em);animation:projectInformationEnter var(--project-information-entry,.36s) var(--project-information-easing,cubic-bezier(.16,1,.3,1)) both;background:0 0;border:0;margin:0;padding:0;position:fixed;overflow:visible}.project-information-dialog[data-closing=true]{animation:projectInformationExit var(--project-information-exit,.32s) var(--project-information-easing,cubic-bezier(.16,1,.3,1)) both}.project-information-sheet{height:100%;padding:var(--project-information-padding-top,14px) var(--project-information-padding-side,16px) var(--project-information-padding-bottom,36px);background:var(--project-information-background);overscroll-behavior:contain;scrollbar-width:none;overflow:hidden}.project-information-sheet::-webkit-scrollbar{display:none}.project-information-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.project-information-header button{min-width:30px;min-height:30px;color:inherit;background:0 0;border:0;margin:-6px -6px -6px 0;padding:0;font-size:24px;line-height:1}.project-information-sheet h2{min-height:var(--project-information-title-height);font:inherit;font-size:var(--project-information-title-size,30px);font-weight:var(--project-information-title-weight,600);line-height:var(--project-information-title-leading,1.13);letter-spacing:var(--project-information-title-tracking,-.025em);text-align:center;align-content:center;margin:0 0 16px;display:grid}.project-information-table{margin:0}.project-information-table>div{padding:var(--project-information-table-padding,5px) 0;border-top:1px solid var(--project-information-rule);grid-template-columns:1fr 1fr;gap:10px;display:grid}.project-information-table>div:last-child{border-bottom:1px solid var(--project-information-rule)}.project-information-table dt,.project-information-table dd{overflow-wrap:anywhere;min-width:0;margin:0}.project-information-sheet p{margin:var(--project-information-paragraph-gap,18px) 0}.project-information-sheet h3{margin:var(--project-information-paragraph-gap,18px) 0 0;border-top:1px solid var(--project-information-rule);font:inherit;padding-top:5px}.project-information-credits{margin-top:20px}.portfolio-shell .reel-information-close{right:var(--site-margin,16px);bottom:max(var(--site-margin,16px),env(safe-area-inset-bottom));position:fixed}@keyframes projectInformationEnter{0%{opacity:0}to{opacity:1}}@keyframes projectInformationExit{0%{opacity:1}to{opacity:0}}@media (max-width:767px){.project-information-dialog{width:calc(100vw - 2 * var(--site-margin,16px));font-size:var(--project-information-mobile-size,13px)}.project-information-sheet h2{min-height:var(--project-information-mobile-title-height)}.reel-corner-button{font-size:14px}}@media (prefers-reduced-motion:reduce){.project-information-dialog{animation:none}}.portfolio-shell[data-project-information-open=true] .reel-information-toggle{visibility:hidden;pointer-events:none}.project-grid-item{opacity:0;filter:blur(var(--project-grid-item-blur,12px));transform:translate3d(0,var(--project-grid-item-offset,-18px),0);transition:opacity var(--project-grid-exit-duration) var(--project-grid-easing),filter var(--project-grid-exit-duration) var(--project-grid-easing),transform var(--project-grid-exit-duration) var(--project-grid-easing)}.project-grid-view[data-open=true] .project-grid-item{opacity:1;filter:blur();transition:opacity var(--project-grid-item-duration,.68s) var(--project-grid-item-easing) var(--grid-delay),filter var(--project-grid-item-duration,.68s) var(--project-grid-item-easing) var(--grid-delay),transform var(--project-grid-item-duration,.68s) var(--project-grid-item-easing) var(--grid-delay);transform:translate(0,0)}@media (max-height:620px){.project-information-dialog{width:min(var(--project-information-short-width,480px),calc(100vw - 2 * var(--site-margin,16px)))}.project-information-sheet{padding:calc(var(--project-information-padding-top,14px) * .7143) var(--project-information-padding-side,16px) calc(var(--project-information-padding-bottom,36px) * .7778)}.project-information-sheet p{margin:calc(var(--project-information-paragraph-gap,18px) * .6667) 0}.project-information-sheet h3{margin-top:calc(var(--project-information-paragraph-gap,18px) * .6667)}.project-information-credits{margin-top:14px}}@media (prefers-reduced-motion:reduce){.reel-controls,.project-grid-item,.project-grid-view[data-open=true] .project-grid-item{transition:none!important}.project-grid-item{filter:none;transform:none}}.project-grid-view{background:var(--project-grid-background);color:var(--project-grid-text);font-family:var(--project-grid-font-family)}.project-grid-list{padding:var(--project-grid-top,72px) var(--project-grid-side,16px) max(var(--project-grid-bottom,76px),env(safe-area-inset-bottom))}.project-grid-meta{margin-top:var(--project-grid-label-gap,5px);font-size:var(--project-grid-font-size);font-weight:var(--project-grid-font-weight,600);font-style:var(--project-grid-font-style,normal);line-height:var(--project-grid-line-height,1);letter-spacing:var(--project-grid-letter-spacing,-.01em);text-transform:var(--project-grid-text-transform,uppercase)}@media (max-width:767px){.project-grid-list{grid-template-columns:repeat(var(--project-grid-mobile-columns,2),minmax(0,1fr));padding:var(--project-grid-mobile-top,105px) var(--project-grid-mobile-side,16px) max(var(--project-grid-bottom,76px),env(safe-area-inset-bottom));gap:var(--project-grid-mobile-row-gap,28px) var(--project-grid-mobile-column-gap,8px)}}html[data-color-mode=dark] .reel-corner-button{border-color:#1f1f22}.project-grid-media,.project-grid-meta{filter:blur();transition:filter var(--project-grid-hover-duration,.35s) var(--project-grid-hover-easing,ease)}@media (hover:hover) and (pointer:fine){.project-grid-view[data-open=true] .project-grid-list:has(.project-grid-item:hover) .project-grid-item:not(:hover) :is(.project-grid-media,.project-grid-meta){filter:blur(var(--project-grid-hover-blur,8px))}}@media (prefers-reduced-motion:reduce){.project-information-dialog::backdrop{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:none}.project-grid-media,.project-grid-meta{transition:none}}.portfolio-shell :is(a[href],button,input,textarea,[tabindex]):focus-visible{outline:2px solid var(--homepage-marker,#b5e615);outline-offset:3px}.project-grid-item:focus-visible{outline-offset:6px}.portfolio-error{z-index:200;background:var(--shell,#101010);color:var(--cream,#fff);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:fixed;inset:0}.portfolio-error h1,.portfolio-error p{margin:0}@media (prefers-reduced-motion:reduce){.portfolio-shell *,.portfolio-shell :before,.portfolio-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.reel-controls-left{align-items:stretch;gap:8px;display:flex}.reel-motion-button{justify-content:center;width:40px;padding:10px}.reel-motion-button svg{width:12px;height:16px;display:block}.project-information-motion{left:calc(var(--site-margin,16px) + 78px);bottom:max(var(--site-margin,16px),env(safe-area-inset-bottom));position:fixed}.portfolio-shell dialog :is(a[href],button,input,textarea,[tabindex]):focus-visible{outline-offset:3px;outline:1px solid #8a8a8a2e}.portfolio-shell[data-information-open=true]>.archive-stage{visibility:hidden}.portfolio-shell[data-information-initial-entry=true]{background:var(--homepage-background)}.information-page[data-initial-entry=true],.portfolio-shell[data-information-initial-entry=true]>:is(.persistent-site-brand,.site-theme-switch){opacity:0}:is(.information-page[data-initial-entry=true][data-entry-ready=true],.portfolio-shell[data-information-initial-entry=true]:has(.information-page[data-entry-ready=true])>:is(.persistent-site-brand,.site-theme-switch)){animation:informationPageEntry var(--information-entry-duration,.35s) var(--information-entry-easing,ease) both}@keyframes informationPageEntry{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){:is(.information-page[data-initial-entry=true][data-entry-ready=true],.portfolio-shell[data-information-initial-entry=true]:has(.information-page[data-entry-ready=true])>:is(.persistent-site-brand,.site-theme-switch)){animation-duration:1ms}}.information-linkedin-square{background:var(--homepage-muted,#aaabac);flex:none;width:.66em;height:.66em}.homepage-grid{z-index:3;overflow-anchor:none;scroll-behavior:auto;overscroll-behavior:contain;scrollbar-width:none;visibility:hidden;opacity:0;position:absolute;inset:0;overflow:hidden auto}.homepage-grid::-webkit-scrollbar{display:none}.homepage-grid-content{position:relative}.homepage-grid[data-reflowing=true] .homepage-grid-content{overflow:clip}.homepage-introduction{left:var(--archive-list-side,16px);right:var(--archive-list-side,16px);grid-template-rows:minmax(0,1fr) var(--homepage-intro-row-height) var(--homepage-practice-row-height);color:var(--homepage-foreground);opacity:1;display:grid;position:absolute}.homepage-introduction>*{opacity:0;transition:opacity var(--archive-index-duration,.5s) var(--archive-index-easing,ease)}.homepage-grid[data-captions-ready=true] .homepage-introduction>*{opacity:1;transition-delay:var(--homepage-module-reveal-delay,.22s)}.homepage-grid[data-captions-ready=true] .homepage-introduction>.homepage-introduction-heading{transition-delay:var(--homepage-title-reveal-delay,.1s)}.homepage-introduction p,.homepage-introduction h1{margin:0}.homepage-introduction-columns{grid-template-columns:repeat(var(--archive-list-grid-columns,12),minmax(0,1fr));column-gap:var(--archive-list-column-gap,20px);align-content:start;display:grid;position:relative}.homepage-introduction-title{grid-column:var(--homepage-intro-title-column);white-space:nowrap;grid-row:1}.homepage-introduction-year-column{--clock-gap:min(var(--archive-label-gap,24px),var(--archive-label-gap-fit,24px));grid-column:var(--archive-column-name,3 / span 8);--homepage-year-shift:calc(var(--archive-column-name-x,0px) + var(--archive-discipline-width,190px) + min(var(--archive-file-column-width,288px),max(0px,var(--archive-label-max-width,1000px) - var(--archive-discipline-width,190px) - var(--archive-year-width,70px) - 2 * var(--clock-gap))) + 2 * var(--clock-gap));width:max-content;transform:translateX(var(--homepage-year-shift));grid-row:1}.homepage-introduction-count{white-space:nowrap}.homepage-introduction-row,.homepage-introduction-practice{padding:var(--homepage-intro-row-padding) var(--homepage-intro-row-padding-x)}.homepage-introduction-rule{pointer-events:none;background:currentColor;position:absolute;top:0;left:0;right:0}.homepage-introduction-rule-bottom{top:auto;bottom:0}.homepage-introduction-label{grid-column:var(--homepage-intro-label-column);grid-row:1}.homepage-introduction-description{grid-column:var(--homepage-intro-description-column);grid-row:1}.homepage-introduction-section{grid-column:var(--homepage-intro-section-column);text-align:right;grid-row:1}.homepage-introduction-practice-title{grid-column:var(--homepage-intro-practice-column);align-items:baseline;gap:var(--homepage-practice-gap);grid-row:1;display:flex}.homepage-introduction-description span{display:block}.homepage-introduction-experience{box-sizing:border-box;grid-row:1;min-width:0;display:block}.homepage-experience-table{width:max-content;display:grid}.homepage-introduction-experience.homepage-introduction-year-column{width:calc(100% - var(--homepage-year-shift));grid-column-end:-1}.homepage-experience-job{grid-column:1/-1;align-items:start;min-width:0;display:grid}.homepage-experience-job p{white-space:nowrap;min-width:0}.homepage-introduction[data-mobile=true] .homepage-introduction-columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.homepage-introduction[data-mobile=true] .homepage-introduction-title{grid-column:1}.homepage-introduction[data-mobile=true] .homepage-introduction-year-column{grid-column:2;max-width:100%;transform:none}.homepage-introduction[data-mobile=true] .homepage-introduction-count{justify-self:end}.homepage-introduction[data-mobile=true] .homepage-introduction-label{grid-column:1}.homepage-introduction[data-mobile=true] .homepage-introduction-section{grid-column:2}.homepage-introduction[data-mobile=true] .homepage-introduction-description{padding-top:var(--homepage-intro-row-padding);grid-area:2/1/auto/-1}.homepage-introduction[data-mobile=true] .homepage-introduction-practice-title{grid-column:1}.homepage-introduction[data-mobile=true] .homepage-introduction-experience{grid-row:2;width:auto}.homepage-grid-card{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:block;position:absolute}.homepage-grid-card:focus-visible{outline-offset:5px;outline:1px solid}.portfolio-shell .homepage-grid-card .archive-file-media :is(img,video){object-fit:cover;width:100%;height:100%;display:block}.archive-stage[data-home-view=grid] .archive-field .archive-file-media :is(img,video,canvas){object-fit:cover;object-position:50% 50%;width:100%;height:100%;margin:0}.archive-stage[data-home-view=grid] .archive-file:after{display:none}.homepage-grid-card .archive-file-media{filter:none;will-change:auto;transform:none}.homepage-grid-card :is(.archive-file-media,.homepage-grid-caption){transition:filter var(--project-grid-hover-exit-duration,1.5s) var(--project-grid-hover-easing,ease),opacity var(--archive-index-duration,.5s) var(--archive-index-easing,ease)}.homepage-grid[data-hover-focus=true] .homepage-grid-card:not([data-hover-active=true]) :is(.archive-file-media,.homepage-grid-caption){filter:blur(var(--project-grid-hover-blur,8px));transition-duration:var(--project-grid-hover-duration,3s),var(--archive-index-duration,.5s)}.homepage-grid[data-scroll-active=true] .homepage-grid-card :is(.archive-file-media,.homepage-grid-caption){filter:none}.homepage-grid-caption{padding-top:var(--project-grid-label-gap,5px);font-family:var(--project-grid-font-family);font-size:var(--project-grid-font-size);line-height:var(--project-grid-line-height,1);font-weight:var(--project-grid-font-weight,600);text-transform:var(--project-grid-text-transform,uppercase);opacity:0;pointer-events:none;justify-content:space-between;gap:12px;display:flex}.homepage-grid-caption>:last-child{text-align:right}.homepage-grid[data-captions-ready=true] .homepage-grid-caption{opacity:1}.archive-stage[data-home-view=grid] .homepage-grid:is([data-ready=true],[data-captions-ready=true]){visibility:visible;opacity:1}.homepage-grid[data-ready=false] .homepage-grid-card .archive-file-media{visibility:hidden}.archive-stage[data-home-view=grid] .archive-index[data-ready=true]{opacity:1}.portfolio-shell:has(.archive-stage[data-home-view=grid] .archive-index[data-ready=true]) :is(.persistent-site-brand,.site-theme-switch){opacity:1;transition:opacity var(--archive-index-duration,.5s) var(--archive-index-easing,ease)}.archive-stage[data-home-view=grid] .archive-index :is(.archive-list-boundary,.archive-index-desktop-list,.archive-index-scroll-fade,.archive-index-touch-list){visibility:hidden;pointer-events:none}.archive-stage[data-home-view=grid] .archive-field{pointer-events:none}.archive-stage[data-home-view=grid][data-grid-settled=true]:is([data-state=idle],[data-state=hovering]) .archive-field{opacity:0;pointer-events:none;transition:opacity var(--archive-index-duration,.5s) var(--archive-index-easing,ease)}.archive-stage[data-home-view=grid] .archive-file-caption{display:none}.archive-stage[data-home-view=grid]:not(:is([data-state=idle],[data-state=hovering])) .homepage-grid{opacity:0;pointer-events:none;transition:opacity var(--archive-index-duration,.5s) var(--archive-index-easing,ease)}.archive-stage[data-view-switching=true] .archive-index :is(.archive-index-desktop-list,.archive-index-touch-list){pointer-events:none!important}.archive-stage:has(.homepage-grid) .archive-field .archive-file-media :is(img,video,canvas){width:calc(100% + var(--archive-capture-crop-x,0px) * 2);height:calc(100% + var(--archive-capture-crop-y,0px) * 2);margin:calc(-1 * var(--archive-capture-crop-y,0px)) calc(-1 * var(--archive-capture-crop-x,0px))}.archive-stage:has(.homepage-grid) .archive-index-mobile-media :is(img,video,canvas){width:100%;height:100%;margin:0}.homepage-view-toggle{pointer-events:auto;justify-self:start;gap:5px;width:max-content}.archive-index .homepage-view-toggle button{color:var(--homepage-muted,#aaabac)}.archive-index .homepage-view-toggle button[aria-pressed=true]{color:var(--homepage-foreground,#1f1f20)}.homepage-view-toggle button:disabled{cursor:default}.archive-home-header-background{z-index:5;pointer-events:none}.homepage-footer{z-index:9;grid-template-columns:repeat(var(--archive-list-grid-columns,12),minmax(0,1fr));column-gap:var(--archive-list-column-gap,20px);min-height:calc(58px + var(--menu-top-offset,0px));padding:10px var(--archive-list-side,16px) max(var(--homepage-footer-bottom,10px),env(safe-area-inset-bottom));background:linear-gradient(to top,var(--homepage-background,var(--shell)) 0%,var(--homepage-background,var(--shell)) calc(100% - var(--information-header-fade-height,12px)),transparent 100%);color:var(--homepage-foreground);font-family:var(--font-coco),Arial,sans-serif;font-size:var(--homepage-meta-size,15px);font-weight:var(--homepage-weight,600);letter-spacing:-.5px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--archive-index-duration,.5s) var(--archive-index-easing,ease),visibility 0s var(--archive-index-duration,.5s);align-items:end;line-height:1.1;display:grid;position:relative}.homepage-footer[data-ready=true]{visibility:visible;opacity:1;transition-delay:0s}.archive-stage[data-cursor-archive=true] .homepage-footer .archive-availability{align-self:end;transform:none}.homepage-footer-time,.homepage-footer-location{white-space:nowrap}.homepage-footer time{font:inherit;letter-spacing:inherit}.homepage-footer-meta{display:contents}@media (min-width:1200px){.homepage-footer>*{grid-row:1}.homepage-footer .homepage-footer-meta{width:max-content;font:inherit;letter-spacing:inherit;color:inherit;justify-self:start;gap:32px;display:flex}}.homepage-display-control{pointer-events:auto;width:max-content;color:var(--homepage-foreground);opacity:1;transition:opacity var(--archive-index-duration,.5s) var(--archive-index-easing,ease);gap:18px}.homepage-display-range{width:var(--homepage-display-width,180px);height:1.1em;display:block;position:relative}.homepage-display-range:before{content:"";pointer-events:none;background:currentColor;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.homepage-display-control input{appearance:none;left:var(--homepage-display-end-inset,8px);width:calc(100% - var(--homepage-display-end-inset,8px) * 2);height:1.1em;color:inherit;font:inherit;cursor:ew-resize;pointer-events:auto;background:0 0;border:0;border-radius:0;margin:0;padding:0;display:block;position:absolute}.homepage-display-control input::-webkit-slider-runnable-track{background:0 0;border:0;border-radius:0;height:2px}.homepage-display-control input::-webkit-slider-thumb{appearance:none;background:currentColor;border:0;border-radius:0;width:11px;height:18px;margin-top:-8px}.homepage-display-control input::-moz-range-track{background:0 0;border:0;border-radius:0;height:2px}.homepage-display-control input::-moz-range-thumb{background:currentColor;border:0;border-radius:0;width:11px;height:18px}.homepage-display-control[data-display-active=false]{opacity:.45}.homepage-display-control input:disabled{cursor:default}.homepage-grid-card .archive-file-media{transform-origin:0 0}@media (max-width:1199px){.homepage-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.homepage-footer>:first-child{grid-row:1;grid-column:1!important}.homepage-footer .homepage-footer-availability{grid-row:2;grid-column:1!important}.homepage-footer .homepage-footer-time{grid-row:1;justify-self:end;grid-column:2!important}.homepage-footer .homepage-footer-location{grid-row:2;justify-self:end;grid-column:2!important}}.archive-stage[data-home-view=grid] .archive-index{pointer-events:none;background:0 0}.archive-stage[data-home-view=grid] .archive-index :is(.archive-index-utility,.homepage-view-toggle,.archive-index-menu-toggle,.homepage-display-control){pointer-events:auto}.archive-stage[data-home-view=grid][data-grid-settled=true]:is([data-state=idle],[data-state=hovering]) .archive-field .archive-file{pointer-events:none!important}.archive-stage[data-home-view=grid]:is([data-state=idle],[data-state=hovering]) .archive-file:after{display:none}@media (max-width:1199px){.archive-index[data-home-grid-enabled=true] .archive-clock-grid{left:calc(50% + 6px);right:auto;top:max(calc(14px + var(--menu-top-offset,0px)),env(safe-area-inset-top));z-index:10;display:block;position:absolute;transform:none}.homepage-view-toggle{height:20px;font-family:var(--font-coco),Arial,sans-serif;letter-spacing:-.5px;align-items:center;font-size:15px;line-height:20px;display:flex;transform:none}}@media (prefers-reduced-motion:reduce){.homepage-grid-caption,.homepage-grid-card .archive-file-media,.archive-stage[data-home-view=grid] .archive-field{transition:none!important}}.archive-stage .archive-index :is(.archive-index-utility,.homepage-view-toggle,.homepage-display-control,.archive-index-menu-toggle),.archive-stage .homepage-footer,.archive-stage .homepage-footer .archive-clock,.portfolio-shell :is(.information-page-utility,.information-page-linkedin,.site-header-utility,.site-header-close){font-size:var(--homepage-meta-size)}.archive-stage[data-home-view=grid][data-state=filtering] .archive-index .archive-index-utility{visibility:visible}.archive-stage[data-home-view=grid][data-state=filtering] .archive-project-reveal-nav{opacity:0}@media (max-width:767px){.archive-index[data-home-grid-enabled=true] .archive-clock-grid{left:auto;right:calc(var(--site-margin,16px) + 54px);top:max(calc(15px + var(--menu-top-offset,0px)),env(safe-area-inset-top))}.archive-index[data-home-grid-enabled=true] .archive-index-menu-label{display:none}}.portfolio-shell:has(.archive-stage[data-home-view=grid] .archive-index[data-ready=false]) :is(.persistent-site-brand,.site-theme-switch){opacity:0;pointer-events:none;transition:none}.archive-stage[data-home-view=grid][data-state=filtering] .archive-index{opacity:0;transition:opacity var(--archive-index-duration,.5s) var(--archive-index-easing,ease)}.archive-stage[data-view-switching=true] :is(.homepage-grid,.archive-field,.archive-list-boundary,.archive-index-desktop-list,.archive-index-scroll-fade,.archive-index-touch-list){transition:none!important}@keyframes homepage-header-enter{0%{opacity:0}to{opacity:1}}.archive-stage[data-home-view=grid]:not([data-intro=complete]) .archive-index[data-ready=true]{animation:homepage-header-enter var(--archive-index-duration,.28s) var(--archive-index-easing,ease) backwards}.portfolio-shell:has(.archive-stage[data-home-view=grid]:not([data-intro=complete]) .archive-index[data-ready=true])>:is(.persistent-site-brand,.site-theme-switch){animation:homepage-header-enter var(--archive-index-duration,.28s) var(--archive-index-easing,ease) backwards}@media (prefers-reduced-motion:reduce){.archive-stage[data-home-view=grid] .archive-index{animation:none}.portfolio-shell:has(.archive-stage[data-home-view=grid])>:is(.persistent-site-brand,.site-theme-switch){animation:none}}@media (max-width:767px){.archive-index[data-home-grid-enabled=true] .archive-clock-grid{display:none}.archive-mobile-menu{padding-top:max(var(--mobile-menu-top,120px),calc(env(safe-area-inset-top) + 80px));justify-content:flex-start}.archive-mobile-menu button,.archive-mobile-menu .archive-mobile-contact{min-height:clamp(44px,7dvh,66px);font-size:var(--mobile-menu-font-size,clamp(24px,7vw,33px))}.information-page-portrait-frame{grid-column:1/-1;width:75%}.archive-loader-signature-copy{left:var(--site-margin,16px);right:var(--site-margin,16px);text-align:center;white-space:normal;width:auto}.archive-loader-signature-left{top:max(24px,env(safe-area-inset-top));transform:translateY(8px)}.archive-loader-signature-right{top:auto;bottom:max(24px,env(safe-area-inset-bottom));transform:translateY(-8px)}.archive-loader-signature[data-phase=opening] .archive-loader-signature-left,.archive-loader-signature[data-phase=exiting] .archive-loader-signature-left,.archive-loader-signature[data-phase=opening] .archive-loader-signature-right,.archive-loader-signature[data-phase=exiting] .archive-loader-signature-right{transform:translate(0,0)}}
