work-plane{height:100%;display:block}work-plane .grid{align-content:start;gap:var(--plane-gap-sm);height:100%;padding-bottom:calc(var(--size-switch-h) + var(--size-switch-gap) * 2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow-y:auto}@media (width>=640px){work-plane .grid{gap:var(--plane-gap);grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=960px){work-plane .grid{grid-template-columns:repeat(4,minmax(0,1fr))}}work-plane .cell,work-plane .tile .inner{border-radius:var(--radius-media);background:var(--surface);display:block;position:relative;overflow:hidden}work-plane .tile video{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}work-plane .cell img,work-plane .tile img{aspect-ratio:4/3;object-fit:cover;-webkit-user-drag:none;width:100%;height:100%;display:block}work-plane .stage,work-plane:is([data-mode=canvas],[data-pending]) .grid{display:none}work-plane:is([data-mode=canvas],[data-pending]) .stage{width:100vw;margin-inline:calc(50% - 50vw);margin-top:calc(-1 * var(--size-header-gap));height:calc(100% + var(--size-header-gap));-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;cursor:grab;display:block;position:relative;overflow:hidden}work-plane .stage[data-dragging],work-plane .stage[data-dragging] .tile{cursor:grabbing}work-plane .stage:focus-visible{outline-offset:calc(var(--spacing) * -1);border-radius:var(--radius-media)}work-plane .tiles{perspective:var(--plane-perspective);position:absolute;inset:0}work-plane .tile{width:var(--plane-tile);aspect-ratio:4/3;will-change:transform;-webkit-user-drag:none;backface-visibility:hidden;position:absolute;top:0;left:0}work-plane .tile[href]{cursor:pointer}work-plane .tile .inner{width:100%;height:100%;transition:transform var(--dur-base) var(--ease-out)}work-plane .probe{visibility:hidden;pointer-events:none;width:var(--plane-tile);height:var(--plane-gap);position:absolute}@media (width<=639.98px){work-plane .tile{width:var(--plane-tile-sm)}work-plane .probe{width:var(--plane-tile-sm);height:var(--plane-gap-sm)}}work-plane .edge{pointer-events:none;position:absolute}work-plane .edge[data-side=top]{--dir:to bottom;height:var(--plane-edge);inset:0 0 auto}work-plane .edge[data-side=bottom]{--dir:to top;height:var(--plane-edge);inset:auto 0 0}work-plane .edge[data-side=left]{--dir:to right;width:var(--plane-edge-x);inset:0 auto 0 0}work-plane .edge[data-side=right]{--dir:to left;width:var(--plane-edge-x);inset:0 0 0 auto}work-plane .edge i{position:absolute;inset:0}work-plane .edge i:first-child{backdrop-filter:blur(var(--plane-blur-1));-webkit-mask-image:linear-gradient(var(--dir), #000 0%, #000 50%, transparent 100%);mask-image:linear-gradient(var(--dir), #000 0%, #000 50%, transparent 100%)}work-plane .edge i:nth-child(2){backdrop-filter:blur(var(--plane-blur-2));-webkit-mask-image:linear-gradient(var(--dir), #000 0%, #000 25%, transparent 66%);mask-image:linear-gradient(var(--dir), #000 0%, #000 25%, transparent 66%)}work-plane .edge i:nth-child(3){backdrop-filter:blur(var(--plane-blur-3));-webkit-mask-image:linear-gradient(var(--dir), #000 0%, transparent 40%);mask-image:linear-gradient(var(--dir), #000 0%, transparent 40%)}work-plane .edge:after{content:"";background:linear-gradient(var(--dir), var(--bg) 0%, transparent 100%);position:absolute;inset:0}work-plane .stage[data-lite] .edge i{display:none}work-plane .caption,work-plane .drag{pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out);position:absolute}work-plane .caption{left:calc(var(--gutter) + var(--plane-bleed,0px));bottom:var(--size-switch-gap);max-width:calc(50% - var(--gutter) - var(--size-switch-h) * 2.5);line-height:var(--size-switch-h);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}work-plane .probe-safe{width:var(--gutter);height:calc(var(--size-switch-gap) + var(--size-switch-h));padding-left:var(--plane-cursor-offset)}work-plane .drag{width:calc(var(--say-w,auto) + var(--plane-label-pad) * 2);--tag:var(--tag-drag);will-change:transform;transition:opacity var(--dur-fast) var(--ease-out), width var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out);justify-items:start;top:0;left:0}work-plane .drag[data-tile]{--tag:var(--tag-open)}work-plane .drag .say{transition:opacity var(--dur-base) var(--ease-out);grid-area:1/1}work-plane .drag[data-tile] .say-drag,work-plane .drag:not([data-tile]) .say-open{opacity:0}@media (prefers-reduced-motion:reduce){work-plane .drag,work-plane .drag .say{transition:none}}@media (hover:hover) and (pointer:fine){work-plane .caption[data-show],work-plane .drag[data-show]{opacity:1}work-plane .stage:not([data-dragging]) .tile[href]:hover .inner{transform:scale(var(--plane-hover-scale))}}.disciplines[data-astro-cid-jrjxqmkz]{align-items:baseline;gap:0 var(--discipline-gap);flex-wrap:wrap;display:inline-flex}.discipline[data-astro-cid-jrjxqmkz]{--c:var(--fg-2);color:var(--c);font-family:var(--font-display);font-weight:var(--font-weight-condensed);font-size:var(--text-meta);letter-spacing:var(--tracking-discipline);text-transform:uppercase;white-space:nowrap}.discipline[data-astro-cid-jrjxqmkz]:before,.discipline[data-astro-cid-jrjxqmkz]:after{color:color-mix(in oklab, var(--c) var(--discipline-bracket), var(--bg))}.discipline[data-astro-cid-jrjxqmkz]:before{content:"[";content:"[" / ""}.discipline[data-astro-cid-jrjxqmkz]:after{content:"]";content:"]" / ""}[data-astro-cid-jrjxqmkz][data-family=brand]{--c:var(--discipline-brand)}[data-astro-cid-jrjxqmkz][data-family=physical]{--c:var(--discipline-physical)}[data-astro-cid-jrjxqmkz][data-family=product]{--c:var(--discipline-product)}[data-astro-cid-jrjxqmkz][data-family=web]{--c:var(--discipline-web)}[data-astro-cid-jrjxqmkz][data-family=venture]{--c:var(--discipline-venture)}.detail{--dt-h:var(--detail-stage-h);width:100%;max-width:none;height:100%;max-height:none;color:var(--fg);overscroll-behavior:contain;touch-action:pan-y;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden;container-type:inline-size}@media (width<=639.98px){.detail{--dt-h:var(--detail-stage-h-sm)}}.detail[open]{grid-template-rows:auto minmax(0,1fr);display:grid}.detail::backdrop{background:color-mix(in srgb, var(--bg) var(--detail-backdrop), transparent);backdrop-filter:blur(var(--detail-veil-blur));transition:opacity var(--dur-vt-shared) var(--ease-vt-shared)}@starting-style{.detail[open]::backdrop{opacity:0}}.dt-bar{padding:calc(var(--size-header-top) - (var(--size-row) - var(--text-base--line-height)) / 2) var(--gutter) 0;justify-content:space-between;align-items:center;display:flex}.dt-close,.dt-arrow,.dt-next{background:var(--detail-btn);mix-blend-mode:var(--detail-btn-blend);backdrop-filter:var(--detail-btn-filter);box-shadow:inset 0 0 0 1px var(--detail-btn-ring);color:var(--fg);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out)}@media (prefers-reduced-transparency:reduce){.dt-close,.dt-arrow,.dt-next{background:var(--control);mix-blend-mode:normal;backdrop-filter:none}}.dt-close{align-items:center;gap:var(--spacing);height:var(--size-row);padding:0 calc(var(--spacing) * 2.5) 0 calc(var(--spacing) * 1.5);border-radius:var(--radius-pill);display:inline-flex}.dt-nav{align-items:center;gap:var(--spacing);display:flex}.dt-arrow{width:var(--size-row);height:var(--size-row);border-radius:50%;place-items:center;display:grid}.dt-stage{min-height:0;padding-bottom:calc(var(--size-header-top) + var(--size-row));grid-template:minmax(0,1fr)/minmax(0,1fr);display:grid}.dt-panel{align-content:center;gap:calc(var(--spacing) * 5);grid-area:1/1;min-height:0;display:grid}.dt-panel[hidden]{display:none}.dt-head{justify-content:center;align-items:baseline;gap:0 calc(var(--spacing) * 2);padding-inline:var(--gutter);text-align:center;flex-wrap:wrap;display:flex}.dt-title{font:inherit;font-weight:var(--font-weight-medium)}.dt-year{margin-left:calc(var(--spacing) * 2);font-variant-numeric:tabular-nums}.dt-rail{overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;position:relative;overflow:auto hidden}.dt-rail::-webkit-scrollbar{display:none}.dt-rail:focus-visible{outline-offset:calc(var(--spacing) * -1)}.dt-track{align-items:center;gap:var(--detail-gap);width:max-content;padding-inline:max(var(--gutter), (100cqw - var(--dt-h) * var(--first)) / 2) var(--gutter);display:flex}.dt-track[data-settle]{transition:transform var(--dur-vt-shared) var(--ease-vt-shared)}.dt-media{height:var(--dt-h);aspect-ratio:var(--r);max-width:calc(100cqw - 2 * var(--gutter));border-radius:var(--radius-media);background:var(--surface) center / cover no-repeat;position:relative;overflow:hidden}.dt-media img{object-fit:cover;-webkit-user-drag:none;width:100%;height:100%;display:block}.dt-media .dt-video{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}html.js .detail .dt-media[data-instant] img{transition:none}.dt-end{min-width:max(0px, (100cqw - var(--dt-h) * var(--last)) / 2 - var(--detail-gap) - var(--gutter));align-items:center;display:flex}.dt-next{align-items:center;gap:var(--spacing);padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 3);border-radius:var(--radius-pill);white-space:nowrap;display:inline-flex}.dt-label{z-index:1;margin:var(--plane-cursor-offset) 0 0 var(--plane-cursor-offset);--tag:var(--tag-drag);opacity:0;will-change:transform;transition:opacity var(--dur-fast) var(--ease-out);position:fixed;top:0;left:0}@media (hover:hover) and (pointer:fine){.dt-label[data-show]{opacity:1}.dt-rail{cursor:grab}.dt-rail :is(a,button){cursor:pointer}.dt-rail[data-dragging],.dt-rail[data-dragging] :is(a,button){cursor:grabbing}.dt-close:hover,.dt-arrow:hover,.dt-next:hover{background:var(--detail-btn-hover)}}html:has(.detail[open]){overflow:hidden}@keyframes dt-in{0%{opacity:0;filter:blur(var(--reveal-blur))}}@keyframes dt-fade-in{0%{opacity:0}}@keyframes dt-fade-out{to{opacity:0}}.dt-panel[data-enter] :is(.dt-head,.dt-piece,.dt-end){animation:dt-in var(--dur-detail) var(--ease-page) backwards;animation-delay:calc(var(--k,0) * var(--detail-stagger))}.dt-panel[data-enter] .dt-piece[data-origin]{animation:none}.dt-panel[data-leave]{pointer-events:none;animation:dt-fade-out var(--dur-detail-swap) var(--ease-out) forwards}.dt-panel[data-swap]{animation:dt-fade-in var(--dur-detail-swap) var(--ease-out) backwards}html:active-view-transition-type(work-detail)::view-transition-group(work-detail){animation-duration:var(--dur-vt-shared);animation-timing-function:var(--ease-vt-shared)}html:active-view-transition-type(work-detail-close)::view-transition-group(work-detail){animation-duration:var(--dur-vt-close);animation-timing-function:var(--ease-vt-shared)}html:is(:active-view-transition-type(work-detail),:active-view-transition-type(work-detail-close))::view-transition-image-pair(work-detail){isolation:isolate;border-radius:var(--radius-media);overflow:hidden}html:is(:active-view-transition-type(work-detail),:active-view-transition-type(work-detail-close))::view-transition-old(work-detail),html:is(:active-view-transition-type(work-detail),:active-view-transition-type(work-detail-close))::view-transition-new(work-detail){object-fit:cover;width:100%;height:100%;animation-duration:inherit;animation-timing-function:inherit}html:active-view-transition-type(work-detail)::view-transition-old(root),html:active-view-transition-type(work-detail)::view-transition-new(root){animation-duration:var(--dur-vt-shared);animation-timing-function:var(--ease-vt-shared)}html:active-view-transition-type(work-detail-close)::view-transition-old(root),html:active-view-transition-type(work-detail-close)::view-transition-new(root){animation-duration:var(--dur-vt-close);animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){.dt-panel[data-enter] :is(.dt-head,.dt-piece,.dt-end){animation:dt-fade-in var(--dur-swap) var(--ease-out) backwards}.dt-panel[data-leave],.dt-panel[data-swap]{animation-duration:var(--dur-swap)}.detail::backdrop{transition-duration:var(--dur-swap)}.dt-label,.dt-track[data-settle]{transition:none}}html{overscroll-behavior:none;overflow:hidden}body{overflow-x:clip}.views{flex:1;grid-template:minmax(0,1fr)/minmax(0,1fr);min-height:0;display:grid}.view{grid-area:1/1;min-height:0}.view-list{overscroll-behavior:contain;margin-inline:calc(-1 * var(--gutter));padding:calc(var(--space-page-top) - var(--size-header-gap)) var(--gutter) calc(var(--size-switch-h) + var(--size-switch-gap) * 2);overflow-y:auto}.view{transition:opacity var(--dur-view) var(--ease-out), filter var(--dur-view) var(--ease-out), visibility 0s linear}body:has(.view-switch input[value=list]:checked) .view-canvas,body:not(:has(.view-switch input[value=list]:checked)) .view-list{visibility:hidden;opacity:0;filter:blur(var(--view-blur));transition-delay:0s, 0s, var(--dur-view);pointer-events:none}.wl-row{transition:opacity var(--dur-slide) var(--ease-out), transform var(--dur-slide) var(--ease-out), filter var(--dur-slide) var(--ease-out);transition-delay:calc(var(--i,0) * var(--view-stagger))}body:not(:has(.view-switch input[value=list]:checked)) .wl-row{opacity:0;transform:translateY(var(--reveal-shift));filter:blur(var(--view-blur));transition-delay:0s}html:not(.js) body:has(.wl-row:target) .view-list{visibility:visible;opacity:1;filter:none;pointer-events:auto}html:not(.js) body:has(.wl-row:target) .view-canvas{visibility:hidden}.wl{list-style:none}.wl-row{padding-block:var(--space-section-pad);border-bottom:var(--hairline) solid var(--line);position:relative}.wl-row:first-child{padding-top:0}.wl-text{align-content:start;display:grid}.wl-title{align-items:center;gap:calc(var(--spacing) * 1);color:var(--fg);display:flex}.wl-open:after{content:"";position:absolute;inset:0}.wl-ext{z-index:1;width:var(--text-base--line-height);height:var(--text-base--line-height);border-radius:50%;place-items:center;display:grid;position:relative}.wl-ext .ext-arrow{margin:0}.wl-meta{gap:0 calc(var(--spacing) * 3);color:var(--fg-2);flex-wrap:wrap;display:flex}.wl-year{font-variant-numeric:tabular-nums}.wl-media{z-index:1;gap:var(--work-thumb-gap);display:flex;position:relative}.wl-img,.wl-other-img{aspect-ratio:var(--r);border-radius:var(--radius-media);background:var(--surface);display:block;position:relative;overflow:hidden}.wl-img img,.wl-other-img img{object-fit:cover;-webkit-user-drag:none;width:100%;height:100%;display:block}.wl-video{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}@media (width<=639.98px){.wl-media{overscroll-behavior-x:contain;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);overflow-x:auto}.wl-media::-webkit-scrollbar{display:none}.wl-img{height:var(--work-thumb-h-sm);flex:none}}@media (width>=640px){.wl-media{max-width:calc(var(--sum) * var(--work-thumb-h) + (var(--n) - 1) * var(--work-thumb-gap))}.wl-img{flex:var(--r) 1 0;min-width:0}}.wl-other .wl-title{align-self:start}.wl-other-grid{grid-template-columns:repeat(var(--work-other-cols-sm), minmax(0, 1fr));gap:var(--work-thumb-gap);list-style:none;display:grid}@media (width>=640px){.wl-other-grid{grid-template-columns:repeat(var(--work-other-cols-md), minmax(0, 1fr))}.wl-other-grid.fit{max-width:calc(var(--sum) * var(--work-thumb-h) + (var(--n) - 1) * var(--work-thumb-gap));grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-auto-rows:var(--work-thumb-h)}.fit .wl-other-img{aspect-ratio:auto}}@media (hover:hover) and (pointer:fine){.wl-img picture{height:100%;transition:transform var(--dur-base) var(--ease-out);display:block}.wl-img:hover picture{transform:scale(var(--plane-hover-scale))}.wl-ext:hover{background:var(--surface)}}.wl-open:focus-visible{outline:2px solid var(--fg);outline-offset:3px;border-radius:2px}.view-switch{z-index:30;left:50%;bottom:var(--size-switch-gap);gap:var(--nav-pad);height:var(--size-switch-h);min-inline-size:0;padding:var(--nav-pad);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--control) var(--control-glass), transparent);box-shadow:var(--nav-shadow);backdrop-filter:blur(var(--nav-blur));border:0;grid-template-columns:1fr 1fr;margin:0;display:grid;position:fixed;translate:-50%}@media (prefers-reduced-transparency:reduce){.view-switch{background:var(--control);backdrop-filter:none}}.view-switch .thumb{top:var(--nav-pad);bottom:var(--nav-pad);left:var(--nav-pad);width:calc((100% - var(--nav-pad) * 3) / 2);border-radius:var(--radius-pill);background:var(--bg);transition:transform var(--dur-slide) var(--ease-snap);position:absolute}.view-switch:has(input[value=list]:checked) .thumb{transform:translateX(calc(100% + var(--nav-pad)))}.view-switch label{padding-inline:calc(var(--spacing) * 3);border-radius:var(--radius-pill);color:var(--fg-2);transition:color var(--dur-slide) var(--ease-out);justify-content:center;align-items:center;display:flex;position:relative}.view-switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.view-switch label:has(:checked){color:var(--fg)}.view-switch label:has(:focus-visible){outline:2px solid var(--fg);outline-offset:3px}@media (hover:hover) and (pointer:fine){.view-switch label:not(:has(:checked)):hover{color:var(--fg)}}@media (prefers-reduced-motion:reduce){.view,.wl-row{transition-duration:var(--dur-swap);transition-delay:0s}body:has(.view-switch input[value=list]:checked) .view-canvas,body:not(:has(.view-switch input[value=list]:checked)) .view-list{filter:none;transition-delay:0s, 0s, var(--dur-swap)}body:not(:has(.view-switch input[value=list]:checked)) .wl-row{filter:none;transform:none}.view-switch .thumb{transition:none}.view-switch label{transition-duration:var(--dur-fast)}.wl-img picture{transition:none}}
