.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:D-DIN PRO;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/d-din-pro-400-latin.woff2)format("woff2")}@font-face{font-family:D-DIN PRO;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/d-din-pro-500-latin.woff2)format("woff2")}@font-face{font-family:D-DIN PRO;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/d-din-pro-700-latin.woff2)format("woff2")}:root{--bg:#ebebeb;--panel:#fff;--panel-gap:clamp(.6rem, 1.4vw, 1.25rem);--sunk:#f4f4f4;--ink:#0a0a0a;--muted:#767676;--faint:#9e9e9e;--hair:#e6e6e6;--hair-strong:#d2d2d2;--plate:#f0f0f0;--size-display:clamp(2rem, 5.6vw, 4.1rem);--size-lede:clamp(1.2rem, 1.6vw, 1.45rem);--size-body:.95rem;--size-small:.82rem;--size-micro:.64rem;--sans:"D-DIN PRO", "DIN Alternate", Bahnschrift, "Helvetica Neue", Arial, sans-serif;--mono:var(--sans);--t-instant:.12s;--t-quick:.18s;--t-base:.28s;--t-page:.42s;--t-slow:.62s;--ease-out:cubic-bezier(.16, 1, .3, 1);--t-zoom:.52s;--ease-zoom:cubic-bezier(.25, 1, .5, 1);--ease-both:cubic-bezier(.65, 0, .35, 1);--ease-hand:cubic-bezier(.2, .15, .8, .85);--ease-spring:linear(0, .0088 1.2%, .0345 2.5%, .1436 5.4%, .4103 10.9%, .5462 13.4%, .6671 16%, .7713 18.7%, .8594 21.6%, .9312 24.8%, .9869 28.4%, 1.0265 32.4%, 1.0503 36.9%, 1.0606 42.4%, 1.0533 50.4%, 1.0212 68.4%, 1.0037 84.2%, 1);--plate-max:74vh;--gutter:clamp(1.25rem, 5vw, 4rem);--max:1280px;--measure:62ch;--cols:12;--gap:clamp(.75rem, 1.4vw, 1.5rem);--baseline:8px;--accent:#cb1f3c;--red-card:#cb1f3c;--on-red:#fff;color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--bg:#0c0c0d;--panel:#141416;--sunk:#1a1a1c;--ink:#ededeb;--muted:#8f9094;--faint:#6b6c70;--hair:#232326;--hair-strong:#333438;--plate:#1a1a1c;--accent:#e2415c}[hidden]{display:none!important}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--size-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.62}img,picture,video{max-width:100%;height:auto;display:block}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:500;line-height:1.2}h1{font-size:var(--size-display);letter-spacing:-.035em;line-height:1.02}h2,h3{font-size:var(--size-body);letter-spacing:-.01em}p{margin:0}.label{font-family:var(--mono);font-size:var(--size-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.mono{font-family:var(--mono);font-size:var(--size-micro);font-variant-numeric:tabular-nums;color:var(--faint)}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gap);display:grid}@media (width<=720px){.grid>*{grid-column:1/-1!important}}.grid-overlay{z-index:200;pointer-events:none;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto;display:none;position:fixed;inset:0}.grid-overlay[data-on]{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gap);display:grid}.grid-overlay span{background:color-mix(in oklch, var(--accent) 6%, transparent);border-inline:1px solid color-mix(in oklch, var(--accent) 22%, transparent)}.prose{max-width:var(--measure);color:var(--muted)}.prose p+p{margin-top:.85rem}.prose strong{color:var(--ink);font-weight:500}.prose h2{color:var(--ink);margin-top:2rem;margin-bottom:.6rem}.prose a{color:var(--ink);border-bottom:1px solid var(--hair-strong)}.hair{border:0;border-top:1px solid var(--hair);margin:0}a{color:inherit;text-decoration:none}.draw{padding-bottom:1px;display:inline-block;position:relative}.draw:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform var(--t-quick) var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.draw:hover:after,.draw:focus-visible:after{transform:scaleX(1)}:where(a,button,[tabindex]){outline-offset:6px;outline-color:#0000}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--ink);outline-offset:2px;transition:outline-offset var(--t-quick) var(--ease-spring)}.skip{background:var(--panel);border:1px solid var(--hair-strong);z-index:100;padding:.5rem 1rem;position:absolute;top:0;left:-9999px}.skip:focus{left:var(--gutter);top:.5rem}.site-header{border-bottom:1px solid var(--ink);align-items:baseline;row-gap:.4rem;padding-block:1.15rem}.site-header .brand{grid-column:1/span 4}.site-header .site-nav{grid-column:8/span 5;justify-content:flex-end}.site-header .brand{font-weight:500;font-size:var(--size-small);letter-spacing:-.01em;white-space:nowrap}.site-nav{font-size:var(--size-small);flex-wrap:wrap;gap:1.3rem;display:flex}.site-nav a{color:var(--muted);transition:color var(--t-instant) var(--ease-out)}.site-nav a:hover{color:var(--ink)}.site-nav a[aria-current=page]{color:var(--accent)}.site-footer{border-top:1px solid var(--hair);font-size:var(--size-small);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem 1.5rem;margin-top:5rem;padding-block:1.5rem 3rem;display:flex}.site-footer nav{flex-wrap:wrap;gap:1.3rem;display:flex}.site-footer a:hover{color:var(--ink)}.intro{align-items:end;row-gap:clamp(1.5rem,4vw,2.5rem);padding-block:clamp(2.25rem,6vw,5rem) clamp(1.5rem,3.5vw,2.25rem)}.eyebrow{font-family:var(--mono);font-size:var(--size-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);grid-column:1/span 8;margin-bottom:.9rem}.intro h1{grid-column:1/span 8;font-weight:500}.intro h1.statement{grid-column:1/span 11}.intro .lede{color:var(--muted);font-size:var(--size-body);grid-column:1/span 5;margin-top:clamp(1.75rem,4vw,3rem);line-height:1.55}.intro-links{flex-wrap:wrap;grid-column:1/span 6;gap:1.75rem;margin-top:1.4rem;display:flex}.rlink{color:var(--ink);font-size:var(--size-body);border-bottom:1px solid var(--accent);transition:color var(--t-instant) var(--ease-out);padding-bottom:2px}.rlink:hover{color:var(--accent)}.exhibits{row-gap:clamp(2rem,4vw,3.25rem);padding-top:clamp(1.25rem,3vw,2rem);display:grid}.section-head{border-bottom:1px solid var(--ink);align-items:baseline;margin-top:clamp(3rem,7vw,5rem);padding-bottom:.6rem}.section-head h2{font-size:var(--size-body);letter-spacing:-.01em;grid-column:1/span 6}.section-head a{color:var(--muted);font-size:var(--size-small);transition:color var(--t-instant) var(--ease-out);grid-column:10/span 3;justify-self:end}.section-head a{color:var(--muted);font-size:var(--size-small);transition:color var(--t-instant) var(--ease-out)}.section-head a:hover{color:var(--ink)}.exhibit{border-top:1px solid var(--hair);align-items:start;row-gap:.75rem;min-width:0;padding-top:.6rem}.exhibit .exh-label{color:var(--accent);flex-direction:column;grid-column:1/span 1;gap:.15rem;margin:0;line-height:1.3;display:flex}.exhibit .exh-label span:last-child{color:var(--faint)}.exhibit .frame{grid-column:2/span 4}.exhibit .entry{grid-column:7/span 5}.exhibit--lead .frame{grid-column:2/span 7}.exhibit--lead .entry{grid-column:10/span 3}.exhibit--lead .title{letter-spacing:-.02em}.exhibit .frame,.hero-frame{background:var(--plate);overflow:hidden}.exhibit .frame img{aspect-ratio:1;object-fit:cover;width:100%}.exhibit--lead .frame img{aspect-ratio:1}.exhibit .meta{flex-direction:column;gap:.15rem;margin:0;display:flex}.exhibit .title{font-weight:500;font-size:var(--size-body)}.exhibit .arrow{color:var(--faint);transition:transform var(--t-quick) var(--ease-out);display:inline-block}.exhibit:hover .arrow{transform:translate(3px)}.exhibit .thesis{font-size:var(--size-small);color:var(--muted);margin-top:.3rem;line-height:1.5}.project-head{grid-template-columns:1fr;gap:1.5rem 3rem;padding-block:clamp(2rem,5vw,3rem) 1.5rem;display:grid}@media (width>=800px){.project-head{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end}}.project-head .summary{color:var(--muted);max-width:46ch;font-size:var(--size-body);margin-top:.5rem}.facts{font-size:var(--size-small);grid-template-columns:max-content minmax(0,1fr);gap:.3rem 1.25rem;margin:0;display:grid}.facts dt{font-family:var(--mono);font-size:var(--size-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding-top:.2rem}.facts dd{min-width:0;margin:0}.facts dd a{border-bottom:1px solid var(--hair-strong)}.hero-frame{max-width:calc(var(--plate-max) * var(--ar))}.hero-frame img{width:100%;aspect-ratio:var(--ar);object-fit:contain}.project-body{margin-top:2.5rem}.gallery{grid-template-columns:1fr;gap:1.5rem;margin-top:3rem;display:grid}@media (width>=800px){.gallery{grid-template-columns:1fr 1fr}.gallery figure.wide{grid-column:1/-1}}.gallery figure{max-width:calc(var(--plate-max) * var(--ar));margin:0}.gallery .plate{aspect-ratio:var(--ar);background:var(--plate);position:relative;overflow:hidden}.gallery .plate img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.gallery figcaption{font-size:var(--size-small);color:var(--faint);margin-top:.5rem}.pager{border-top:1px solid var(--hair);font-size:var(--size-small);justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:1.25rem;display:flex}.pager>span{align-items:baseline;gap:.45rem;display:flex}.pager>span:last-child{text-align:right;justify-content:flex-end}.pager a{color:var(--muted);transition:color var(--t-instant) var(--ease-out)}.pager a:hover{color:var(--ink)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.stagger>*{animation:rise var(--t-base) var(--ease-out) backwards}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:45ms}.stagger>:nth-child(3){animation-delay:90ms}.stagger>:nth-child(4){animation-delay:.135s}.stagger>:nth-child(5){animation-delay:.18s}.stagger>:nth-child(6){animation-delay:.225s}@keyframes settle{0%{opacity:0;filter:blur(12px);transform:scale(1.04)}}.hero-frame img,.gallery .plate{animation:settle var(--t-slow) var(--ease-out) backwards}@view-transition{navigation:auto}::view-transition-group(*){animation-duration:var(--t-page);animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){*,:before,: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}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.model{margin:3rem 0 0}.model-frame{aspect-ratio:16/10;background:var(--plate);width:100%;position:relative;overflow:hidden}@media (width<=600px){.model-frame{aspect-ratio:4/3}}.model-poster{object-fit:cover;width:100%;height:100%;transition:opacity var(--t-slow) var(--ease-out);position:absolute;inset:0}.model-canvas{opacity:0;width:100%;height:100%;transition:opacity var(--t-slow) var(--ease-out);touch-action:none;cursor:grab;display:block;position:absolute;inset:0}.model-canvas:active{cursor:grabbing}[data-model-state=ready] .model-canvas{opacity:1}[data-model-state=ready] .model-poster{opacity:0}.model-status{background:var(--bg);color:var(--muted);margin:0;padding:.25rem .5rem;position:absolute;bottom:.75rem;left:.85rem}.model-controls{pointer-events:none;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:absolute;inset:auto .85rem .75rem}.model-controls .label{background:var(--bg);padding:.25rem .5rem}.model-controls button{pointer-events:auto;font-family:var(--mono);font-size:var(--size-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--bg);border:1px solid var(--hair-strong);cursor:pointer;transition:color var(--t-instant) var(--ease-out), border-color var(--t-instant) var(--ease-out);padding:.25rem .55rem}.model-controls button:hover{color:var(--ink);border-color:var(--ink)}.model figcaption{font-size:var(--size-small);color:var(--faint);margin-top:.5rem}.model-canvas:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.decrypted{white-space:pre-wrap;display:inline-block}.decrypted-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.decrypted .encrypted{color:var(--faint)}.decrypted-out{font-variant-numeric:tabular-nums}.cmdk{width:min(34rem, calc(100vw - 2 * var(--gutter)));border:1px solid var(--ink);background:var(--panel);max-width:none;color:var(--ink);margin:12vh auto auto;padding:0;box-shadow:0 24px 60px -30px #00000080}.cmdk:focus{outline:none}.cmdk::backdrop{background:color-mix(in oklch, var(--bg) 62%, transparent);backdrop-filter:blur(3px)}@keyframes cmdk-in{0%{opacity:0;transform:scale(.96)}}@keyframes cmdk-veil{0%{opacity:0}}.cmdk[open]{transform-origin:var(--cmdk-ox,50%) var(--cmdk-oy,50%);animation:cmdk-in var(--t-base) var(--ease-out)}.cmdk[open]::backdrop{animation:cmdk-veil var(--t-base) var(--ease-out)}.cmdk-input{border:0;border-bottom:1px solid var(--hair);width:100%;color:var(--ink);font-family:var(--sans);font-size:var(--size-body);letter-spacing:-.01em;background:0 0;padding:.95rem 1rem;display:block}.cmdk-input::placeholder{color:var(--faint)}.cmdk-input:focus{outline:none}.cmdk-list{overscroll-behavior:contain;max-height:min(22rem,46vh);margin:0;padding:.35rem 0;list-style:none;overflow-y:auto}.cmdk-item{cursor:pointer;transition:background-color var(--t-instant) var(--ease-out), border-color var(--t-instant) var(--ease-out);border-left:2px solid #0000;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 1rem;display:flex}.cmdk-item[data-action=none]{cursor:default}.cmdk-item[aria-selected=true]{background:var(--sunk);border-left-color:var(--ink)}.cmdk-label{font-size:var(--size-body);color:var(--muted);transition:color var(--t-instant) var(--ease-out)}.cmdk-item[aria-selected=true] .cmdk-label{color:var(--ink)}.cmdk-hint{font-family:var(--mono);font-size:var(--size-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);white-space:nowrap;flex:none;margin-inline-end:-.1em}.cmdk-empty{font-size:var(--size-body);color:var(--faint);padding:.9rem 1rem}.cmdk-foot{border-top:1px solid var(--hair);font-family:var(--mono);font-size:var(--size-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);gap:1.1rem;padding:.55rem 1rem;display:flex}.corner{z-index:150;align-items:stretch;gap:.5rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.cmdk-trigger{background:var(--panel);border:1px solid var(--hair-strong);color:var(--faint);font-family:var(--mono);font-size:var(--size-micro);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color var(--t-instant) var(--ease-out), border-color var(--t-instant) var(--ease-out);align-items:center;gap:.5rem;padding:.3rem .55rem;display:flex}.cmdk-trigger:hover{color:var(--ink);border-color:var(--ink)}@supports (animation-timeline:scroll()){@media (width<=720px),(pointer:coarse) and (height<=500px){@keyframes corner-away{to{opacity:0;visibility:hidden;transform:translateY(.5rem)}}.staged .corner{animation-name:corner-away;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root inline);animation-range:0 50vw}.staged.reading .corner{visibility:hidden;opacity:0;animation-name:none}}}.deck-ticks{--deck-s:1;top:calc(25svh - var(--deck-s) * var(--panel-h) / 4);z-index:150;--tick-h:.9rem;--tick-pad:4.5px;--tick-open:26px;align-items:center;display:flex;position:fixed;left:50%;translate:-50% -50%}.deck-ticks[hidden]{display:none}@keyframes ticks-settle{to{top:calc(25svh - .68 * var(--panel-h) / 4)}}.staged .deck-ticks{animation-name:ticks-settle;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root inline);animation-range:0 1600px}.staged.zooming .deck-ticks[data-zoom]{--deck-s:var(--zoom-s);animation-name:none}.staged.zoom-run .deck-ticks{transition:top var(--t-zoom) var(--ease-zoom)}.deck-tick{padding:.5rem var(--tick-pad);color:var(--muted);cursor:pointer;transition:color var(--t-instant) var(--ease-out);background:0 0;border:0;place-items:center;display:grid;position:relative}.deck-tick-mark{width:1px;height:var(--tick-h);opacity:.55;animation-duration:auto;animation-timing-function:linear;animation-timeline:scroll(root inline);display:block;box-shadow:inset 0 0 0 1px}.deck-tick:first-child .deck-tick-mark,.deck-tick:last-child .deck-tick-mark{animation-fill-mode:both}@keyframes tick-pass{0%,to{opacity:.55;width:1px}50%{width:var(--tick-open);opacity:1}}@keyframes tick-leave{0%{width:var(--tick-open);opacity:1}to{opacity:.55;width:1px}}@keyframes tick-arrive{0%{opacity:.55;width:1px}to{width:var(--tick-open);opacity:1}}.deck-tick-name{white-space:nowrap;color:var(--muted);opacity:0;pointer-events:none;transition:opacity var(--t-instant) var(--ease-out), translate var(--t-instant) var(--ease-out);position:absolute;top:100%;left:50%;translate:-50% -.15rem}@media (hover:hover){.deck-tick:hover{color:var(--ink)}.deck-tick:hover .deck-tick-name{opacity:1;translate:-50%}}.deck-tick:focus-visible{color:var(--ink);outline:none}.deck-tick:focus-visible .deck-tick-mark{outline:1px solid var(--accent);outline-offset:3px}.deck-tick:focus-visible .deck-tick-name{opacity:1;translate:-50%}@media (pointer:coarse){.deck-ticks{--tick-pad:7px;--tick-open:24px}}@keyframes ticks-away{to{translate:-50% calc(-50% - var(--ticks-run))}}.staged.reading .deck-ticks{--ticks-run:14rem;animation-name:ticks-settle,ticks-away;animation-duration:auto, auto;animation-timing-function:linear,linear;animation-fill-mode:both,both;animation-timeline:scroll(root inline),scroll(root);animation-range:0 1600px, 0 var(--ticks-run)}.staged.zooming.reading .deck-ticks[data-zoom]{animation-name:none,ticks-away}.staged.reading .deck-tick{pointer-events:none}.cmdk-key{color:var(--ink)}@media (width<=720px){.cmdk-key{display:none}}.cmdk-toast{z-index:150;background:var(--panel);border:1px solid var(--ink);color:var(--ink);opacity:0;pointer-events:none;transition:opacity var(--t-quick) var(--ease-out), transform var(--t-quick) var(--ease-out);padding:.35rem .6rem;position:fixed;bottom:1.25rem;left:1.25rem;transform:translateY(4px)}.cmdk-toast[data-on]{opacity:1;transform:none}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}.plink{color:var(--ink);border-bottom:1px dotted var(--hair-strong);transition:border-color var(--t-instant) var(--ease-out)}.plink:hover,.plink:focus-visible{border-bottom-style:solid;border-bottom-color:var(--ink)}.plink-card{z-index:190;aspect-ratio:1;background:var(--panel);border:1px solid var(--ink);pointer-events:none;opacity:0;transform-origin:bottom;width:200px;transition:opacity var(--t-quick) var(--ease-out), transform var(--t-quick) var(--ease-out);padding:5px;position:fixed;top:0;left:0;transform:translateY(5px)scale(.98)}.plink-card[data-on]{opacity:1;transform:none}.plink-card img{object-fit:cover;background:var(--plate);opacity:0;width:100%;height:100%;transition:opacity var(--t-base) var(--ease-out)}.plink-card img[data-loaded]{opacity:1}.pager-arrow{color:var(--faint);flex:none}.lede,.prose p,.exhibit .thesis,.project-head .summary,.gallery figcaption,.model figcaption{text-wrap:pretty}@media (pointer:coarse){.site-nav a,.site-footer a,.section-head a,.intro-links .rlink,.pager .plink{position:relative}.site-nav a:before,.site-footer a:before,.section-head a:before,.intro-links .rlink:before,.pager .plink:before{content:"";position:absolute;inset:-12px -6px}.site-footer nav,.site-nav,.intro-links{row-gap:1.6rem}.cmdk-item{padding-block:.7rem}.cmdk-trigger{padding:.5rem .7rem}}@supports (animation-timeline:view()){.gallery .plate{animation-duration:auto;animation-fill-mode:both;animation-range:entry entry 38%}.gallery>figure>.plate{animation-timeline:--plate}}@media (prefers-reduced-motion:reduce){.gallery .plate{animation-name:none}}.colophon{max-width:44rem}.colophon-list{grid-template-columns:minmax(0,8rem) minmax(0,1fr);column-gap:1.5rem;margin:1.25rem 0 2.25rem;display:grid}.colophon-list dt{font-family:var(--mono);font-size:var(--size-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);border-top:1px solid var(--hair);padding-block:.9rem .75rem}.colophon-list dd{border-top:1px solid var(--hair);text-wrap:pretty;margin:0;padding-block:.75rem}.colophon-list--keys dt{font-family:var(--sans);font-size:var(--size-body);letter-spacing:normal;text-transform:none;color:var(--ink);padding-block:.75rem}@media (width<=640px){.colophon-list{grid-template-columns:minmax(0,1fr)}.colophon-list dt{padding-block:.9rem .2rem}.colophon-list dd{border-top:0;padding-block:0 1rem}}kbd{font-family:var(--mono);color:var(--ink);background:var(--sunk);border:1px solid var(--hair-strong);padding:.1em .4em;font-size:.74em;line-height:1.4;display:inline-block}.prose code{font-family:var(--mono);color:var(--ink);background:var(--sunk);padding:.1em .3em;font-size:.88em}.work{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gap);border-top:1px solid var(--ink);align-items:start;row-gap:.9rem;padding-top:.6rem;display:grid}.work-frame{background:var(--plate);max-width:calc(var(--plate-max) * var(--ar));grid-column:1/span 7;overflow:hidden}.work-frame img{width:100%;aspect-ratio:var(--ar);object-fit:contain}.work-text{grid-column:8/span 5}.work-head{justify-content:space-between;gap:1rem;margin-bottom:.9rem;display:flex}.work-index{color:var(--faint);gap:1rem;display:flex}.work-num{color:var(--accent)}.work-year{margin-inline-end:-.12em}.work-title{font-size:var(--size-display);letter-spacing:-.035em;font-weight:500;line-height:1.02}.work-thesis{color:var(--muted);text-wrap:pretty;margin-top:.7rem;line-height:1.5}.work-meta{color:var(--faint);margin-top:.6rem}@media (width<=720px){.work-frame,.work-text{grid-column:1/-1}}.intro h1.statement .line{vertical-align:bottom;margin-bottom:-.12em;padding-bottom:.12em;display:inline-block;overflow:hidden}.intro h1.statement .line>span{display:inline-block}@media (width>=1280px){.intro h1.statement .line{display:block}.intro h1.statement .line:nth-child(2n){padding-left:1.7ch}}.panel>.intro{z-index:1;position:relative}@keyframes line-in{0%{opacity:0;transform:translateY(110%)}}.intro h1.statement .line>span{will-change:transform;animation:.42s cubic-bezier(.25,1,.5,1) both line-in}.intro h1.statement .line:first-child>span{animation-delay:.23s}.intro h1.statement .line:nth-child(2)>span{animation-delay:.31s}.intro h1.statement .line:nth-child(3)>span{animation-delay:.39s}.intro h1.statement .line:nth-child(4)>span{animation-delay:.47s}.intro h1.statement .line:nth-child(5)>span{animation-delay:.55s}.intro h1.statement .line:nth-child(6)>span{animation-delay:.63s}.statement a{color:inherit;border-bottom:.032em solid var(--accent);transition:background-color var(--t-quick) var(--ease-out)}.statement a:hover,.statement a:focus-visible{background:color-mix(in oklch, var(--accent) 12%, transparent)}.statement .plink{border-bottom-style:solid}.page-label a{color:inherit;transition:border-color var(--t-quick) var(--ease-out), color var(--t-quick) var(--ease-out);border-bottom:1px solid #0000;text-decoration:none}.page-label a:hover,.page-label a:focus-visible{color:var(--ink);border-bottom-color:currentColor}.page-head{justify-content:space-between;align-items:baseline;gap:1.5rem;margin-bottom:.7rem;display:flex}.page-close{color:var(--muted);transition:color var(--t-quick) var(--ease-out);margin:-.35rem -.5rem -.35rem 0;padding:.35rem .5rem;font-size:1.2em;line-height:1;text-decoration:none}.page-close:hover,.page-close:focus-visible{color:var(--accent)}.page-label{color:var(--faint);flex-wrap:wrap;align-items:baseline;gap:1.1rem;margin:0;display:flex}.panel{background:var(--panel);margin-bottom:var(--panel-gap);padding:clamp(1.25rem,3vw,2.75rem)}.panel>.intro{padding-block:clamp(1.25rem,3vw,2.5rem)}.panel>.work{border-top:0;margin-top:0;padding-top:0}@supports (animation-timeline:scroll()){@keyframes panel-settle{to{transform:scale(.94)}}.panel{transform-origin:top;animation-name:panel-settle;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-range:0 520px}main .panel{animation-timeline:scroll(root)}}@media (prefers-reduced-motion:reduce){.panel{animation-name:none;transform:none}}html:has(>body.staged){overscroll-behavior:none;overflow-y:hidden}html:has(>body.staged.reading){touch-action:pan-y pinch-zoom;overscroll-behavior-y:auto;overflow-y:auto}:is(.staged,.vstaged){--panel-w:min(var(--max), 100vw - 2 * var(--gutter));--panel-h:min(74svh, calc(var(--panel-w) * 3 / 5));--panel-rw:calc(var(--panel-h) * 5 / 3);--stage-gap:calc(var(--panel-rw) * .03);--plate-side:calc(var(--panel-h) - var(--panel-rw) * .1066);--panel-step:calc(var(--panel-rw) + var(--stage-gap));--travel:calc((var(--panels) - 1) * var(--panel-step))}@supports (animation-timeline:scroll()){@media not (prefers-reduced-motion:reduce){.staged .driver{width:calc(var(--travel) + 100vw);height:1px}@keyframes col-travel{to{transform:translateY(calc(-1 * var(--col,0px)))}}@keyframes col-pull{to{transform:scale(var(--pull,1))}}.staged.reading .track>.panel[data-open]{animation-name:col-travel;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range:0 var(--col,100%)}.staged.reading .lift{animation-name:col-pull;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range:0 var(--ramp,100%)}.staged .stage{pointer-events:none;position:fixed;inset:0;overflow:clip}.staged .lift{transform-origin:50vw 50svh;position:absolute;inset:0}.staged .scaler,.staged .track{pointer-events:auto}.staged .scaler{transform-origin:50vw 50svh;width:100%;position:absolute;top:0;left:0}.staged .track{grid-auto-flow:column;grid-auto-columns:var(--panel-rw);column-gap:var(--stage-gap);height:var(--panel-h);width:max-content;margin-top:calc((100svh - var(--panel-h)) / 2);padding-left:calc((100vw - var(--panel-rw)) / 2);display:grid}.staged .track>.panel{margin:0;position:relative}@keyframes stage-travel{to{transform:translateX(calc(-1 * var(--travel)))}}@keyframes stage-settle{to{transform:scale(.68)}}.staged .track{animation-name:stage-travel;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-range:normal}.staged .scaler{animation-name:stage-settle;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-range:0 1600px}.staged .stage .track,.staged .stage .scaler{animation-timeline:scroll(root inline)}.staged .site-header{width:min(var(--max), 100vw);padding-inline:var(--gutter);background:var(--bg);z-index:160;border-bottom:0;position:fixed;top:0;left:50%;transform:translate(-50%)}.staged .track>.panel>:not(.proj-rest){max-height:100%}}}.closing{align-content:center;height:100%}.contact-copy{flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:.15rem .9rem;margin-top:.6rem;display:flex}.contact-email{-webkit-appearance:none;appearance:none;font:inherit;text-align:left;cursor:pointer;font-size:min(var(--size-display), calc(var(--panel-h,100vh) * .118));letter-spacing:-.03em;color:var(--ink);border:0;border-bottom:.03em solid var(--accent);transition:background-color var(--t-quick) var(--ease-out), color var(--t-quick) var(--ease-out);background:0 0;margin:0;padding:0;font-weight:500;line-height:1.04}.contact-email:hover,.contact-email:focus-visible,.contact-email[data-copied]{background:var(--accent);color:var(--panel)}.contact-hint{font-family:var(--mono);font-size:var(--size-small);letter-spacing:.02em;color:var(--muted);transition:color var(--t-quick) var(--ease-out);white-space:nowrap;min-width:18ch;display:inline-block}.contact-copy:has([data-copied]) .contact-hint{color:var(--accent)}.sr-live{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.contact-aside [aria-hidden=true]{color:var(--faint);padding:0 .25em}.contact-aside{color:var(--muted);font-size:var(--size-small);grid-column:1/-1;margin-top:1.4rem}.vstaged main{padding-block:calc((100svh - var(--panel-h)) / 2)}.vstaged .page-head{width:100%;max-width:none;padding:var(--gutter) max(var(--gutter), calc((100vw - var(--panel-rw)) / 2)) calc(var(--gutter) * .5);background:var(--bg);z-index:5;margin:0;position:fixed;inset:0 0 auto}.vstaged .vslide{width:var(--panel-rw);max-width:calc(100vw - 2 * var(--gutter));height:var(--panel-h);margin:0 auto var(--stage-gap);padding:calc(var(--panel-rw) * .0533);background:var(--panel);grid-template-rows:minmax(0,1fr);display:grid;position:relative}.vstaged .vslide>*{align-self:center;min-height:0}.vstaged .vcard{align-items:stretch;gap:clamp(1.25rem,2.6vw,2.75rem);height:100%;display:flex}.vstaged .vcard .work-frame{flex:0 0 var(--plate-side);width:var(--plate-side);height:var(--plate-side);aspect-ratio:auto;align-self:center;max-width:none;max-height:none;margin:0;overflow:hidden}.vstaged .vcard .work-frame img{object-fit:cover;width:100%;height:100%;max-height:none}.vstaged .vcard-mark{display:block}.vstaged .vcard-mark .work-frame{flex:none;place-items:center;width:auto;height:auto;display:grid;position:absolute;inset:0}.vstaged .vplate{grid-template-rows:minmax(0,1fr) auto;gap:.7rem;height:100%;margin:0;display:grid}.vstaged .vplate-art{height:100%;min-height:0;display:grid}.vstaged .vplate-art img{object-fit:contain;object-position:center;width:100%;height:100%;min-height:0}.vstaged .vplate figcaption{font-size:var(--size-small);color:var(--muted);margin:0}.vstaged .vslide-foot{width:var(--panel-rw);max-width:calc(100vw - 2 * var(--gutter));margin:0 auto var(--stage-gap);justify-content:space-between;align-items:flex-start;gap:clamp(1.5rem,4vw,4rem);display:flex}.vstaged .vslide-foot .summary{max-width:48ch;font-size:var(--size-small);color:var(--muted);margin:0;line-height:1.45}.vstaged .vslide-foot .facts{font-size:var(--size-small);grid-template-columns:auto auto;gap:.1rem 1.1rem;margin:0;line-height:1.45;display:grid}.vstaged .vslide-foot .facts dt{color:var(--faint);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase}.vstaged .vslide-foot .facts dd{margin:0}.vstaged .vslide .sheets{gap:clamp(1rem,2.4vw,2rem);max-height:100%}.vstaged .vslide .sheet{flex:0 230px;max-width:250px}.vstaged .vpager{width:var(--panel-rw);max-width:calc(100vw - 2 * var(--gutter));margin:0 auto}.staged .proj-rest{background:var(--panel);--sheet-pad:calc(var(--panel-rw) * .0533);--sheet-gap:calc(var(--panel-rw) * .0267);--beat:calc(var(--size-body) * 1.645);--sheet-rhythm:calc(var(--beat) * 6);padding:0 var(--sheet-pad) calc(var(--panel-h) * .28);align-self:start;height:auto;display:none;position:absolute;top:100%;left:0;right:0}.staged .panel[data-open] .proj-rest,.staged .panel[data-sheet] .proj-rest{display:block}@keyframes sheet-out{0%{transform:translateY(calc(-1 * var(--sheet-slide)));clip-path:inset(var(--sheet-slide) 0 0 0)}to{clip-path:inset(0);transform:translateY(0)}}.staged .panel[data-sheet] .proj-rest{--sheet-slide:calc(var(--panel-h) * .18);animation:sheet-out var(--t-zoom) var(--ease-zoom) backwards}@media (prefers-reduced-motion:reduce){.staged .panel[data-sheet] .proj-rest{animation:none}}.staged .proj-slide{column-gap:var(--sheet-gap);margin-bottom:var(--sheet-rhythm);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.staged .proj-slide:first-child{padding-top:calc(var(--panel-h) * .085)}.staged .proj-slide:last-child{margin-bottom:0}@property --walk{syntax:"<length>";inherits:false;initial-value:0}.staged .panel[data-open]{z-index:3;transform:translateY(var(--walk,0px));transition:transform var(--t-base) var(--ease-out)}.staged .panel[data-open][data-dragging]{transition:none}.staged .panel[data-folding] .proj-rest{opacity:0;transition:opacity var(--t-base) var(--ease-out)}.staged .panel[data-folding]{transition-duration:var(--t-zoom);transition-timing-function:var(--ease-zoom);pointer-events:none}@media (prefers-reduced-motion:reduce){.staged .panel[data-folding] .proj-rest{transition:none}}.panel-work{position:relative}.proj-close{z-index:200;pointer-events:auto;appearance:none;cursor:pointer;color:var(--muted);min-height:2.75rem;transition:color var(--t-quick) var(--ease-out);background:0 0;border:0;align-items:last baseline;gap:.45em;margin:0 -.5rem;padding:0 .5rem .2rem;line-height:1;display:inline-flex;position:absolute;top:0;right:0}.proj-close-arrow{display:inline-flex}.proj-close-arrow svg{width:.72em;height:.72em;display:block}.proj-close:hover,.proj-close:focus-visible{color:var(--accent)}.proj-foot{margin-top:var(--sheet-rhythm,6rem);border-top:1px solid var(--hair);padding-top:calc(var(--beat,1.6rem) * .5)}.proj-close-foot{appearance:none;cursor:pointer;color:var(--muted);min-height:2.75rem;transition:color var(--t-quick) var(--ease-out);background:0 0;border:0;align-items:center;gap:.45em;margin:0 -.5rem;padding:0 .5rem;line-height:1;display:inline-flex}.proj-close-foot:hover,.proj-close-foot:focus-visible{color:var(--accent)}.proj-foot{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 2rem;display:flex}.title-block{border:1px solid var(--hair);font-family:var(--mono);font-size:var(--size-micro);font-variant-numeric:tabular-nums;grid-auto-columns:auto;grid-auto-flow:column;line-height:1.3;display:grid}.title-block>div{padding:.45rem .7rem .5rem}.title-block>div+div{border-left:1px solid var(--hair)}.title-block dt{letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.title-block dd{color:var(--ink);white-space:nowrap;margin:.2rem 0 0}@media (width<=720px){.title-block{grid-template-columns:1fr 1fr;grid-auto-flow:row;width:100%}.title-block>div+div{border-left:0}.title-block>div:nth-child(2n){border-left:1px solid var(--hair)}.title-block>div:nth-child(n+3){border-top:1px solid var(--hair)}}.open-hint{color:var(--muted);pointer-events:none;transition:opacity var(--t-quick) var(--ease-out);align-items:last baseline;gap:.45em;padding-bottom:.2rem;line-height:1;display:inline-flex;position:absolute;top:0;right:0}.opened .open-hint,[data-opened-once] .open-hint{display:none}.opened .stage{pointer-events:auto}.opened .track>.panel:not([data-open]){cursor:pointer}[data-open] a.work{cursor:default}.opened .track>.panel:not([data-open]) .work-head{opacity:.3;transition:opacity var(--t-quick) var(--ease-out)}.opened .track>.panel:not([data-open]):hover .work-head{opacity:1}.opened .track>.panel:not([data-open]):hover .work-num{color:var(--accent)}@media (prefers-reduced-motion:reduce){.opened .track>.panel:not([data-open]) .work-head{transition:none}}@media (width<=720px){.opened .track>.panel:not([data-open]) .work-head{visibility:hidden}}.staged .proj-slide .vplate{display:contents}.staged .proj-slide .vplate-art img{width:100%;height:auto;display:block}.staged .proj-slide .vplate figcaption{font-size:var(--size-small);color:var(--muted);margin:0}.staged .proj-slide .proj-prose,.staged .proj-slide[data-kind=beside] .vplate-text,.staged .proj-slide .vplate-after{font-size:var(--size-lede);line-height:calc(var(--beat) * 1.25);letter-spacing:-.01em;color:var(--ink)}.staged .proj-slide .proj-prose p+p{margin-top:calc(var(--beat) * 1.25)}.staged .proj-slide[data-kind=inset] .vplate-art{grid-column:4/-1}.staged .proj-slide[data-kind=inset][data-size=hero] .vplate-art{grid-column:1/-1}.staged .proj-slide[data-kind=inset][data-size=hero] figcaption{margin-top:calc(var(--beat) * .5);grid-area:2/1/auto/5}.staged .proj-slide[data-kind=inset][data-size=half] .vplate-art{grid-column:7/-1}.staged .proj-slide[data-kind=inset][data-size=small] .vplate-art{grid-column:10/-1}.staged .proj-slide[data-kind=pair]{column-gap:var(--sheet-gap)}.staged .proj-slide[data-kind=pair] .vplate-of-two{grid-column:span 6;margin:0;display:block}.staged .proj-slide[data-kind=pair] .vplate-of-two figcaption{margin-top:calc(var(--beat) * .5);max-width:30ch}.staged .proj-slide[data-kind=inset] figcaption{grid-area:1/1/auto/4;align-self:start;max-width:26ch}.staged .proj-slide[data-kind=beside]{grid-template-rows:auto 1fr}.staged .proj-slide[data-kind=beside] .vplate-art{grid-area:1/7/span 2/-1}.staged .proj-slide[data-kind=beside] .vplate-text{align-self:start;gap:var(--beat);flex-direction:column;grid-area:1/1/auto/7;max-width:66ch;margin:0;display:flex}.staged .proj-slide .vplate-terms{font-size:var(--size-body);line-height:var(--beat);color:var(--muted)}.staged .proj-slide[data-kind=beside] figcaption{margin-top:var(--beat);grid-area:2/1/auto/7;align-self:start;max-width:26ch}.staged .proj-slide[data-kind=beside]:has(.vplate-after){grid-template-rows:auto 1fr auto}.staged .proj-slide .vplate-after{margin:calc(var(--beat) * 2) 0 0;gap:var(--beat);flex-direction:column;grid-area:3/1/auto/7;max-width:66ch;display:flex}.staged .proj-slide[data-kind=bleed] .vplate-art{margin-inline:calc(-1 * var(--sheet-pad));background:var(--field,var(--panel));min-height:var(--panel-h);grid-column:1/-1;align-content:center;display:grid}.staged .proj-slide[data-kind=bleed] figcaption{margin-top:calc(var(--beat) * .5);grid-column:1/5}.lift-shaft{position:relative}.lift-shaft .lift-floor:not(.is-on){visibility:hidden;pointer-events:none;position:absolute;inset:0}.proj-links{flex-wrap:wrap;grid-column:1/9;gap:1.4rem;margin:1.4rem 0 0;padding:0;list-style:none;display:flex}.proj-links a{color:var(--accent);transition:opacity var(--t-quick) var(--ease-out);border-bottom:1px solid;padding-bottom:.12em;text-decoration:none}.proj-links a:hover,.proj-links a:focus-visible{opacity:.6}.staged .proj-slide .proj-prose{grid-column:1/9;max-width:40ch}.credits{font-size:var(--size-small);grid-template-columns:repeat(2,minmax(0,1fr));gap:.9em 1.5em;margin:0;line-height:1.35;display:grid}.credits dt{color:var(--faint);align-items:baseline;gap:.3em;display:flex}.credit-arrow{flex:none;align-self:center;width:.62em;height:.62em;translate:0 .1em}.credits dd{color:var(--ink);text-wrap:pretty;margin:0}.sheet-facts{display:none}@media (width<=720px){.staged .proj-slide .sheet-facts{margin:0 0 calc(var(--beat) * 1.5);grid-column:1/-1;display:grid}}.staged .proj-slide figcaption,.vstaged .vslide figcaption{font-family:var(--mono);letter-spacing:.01em;text-align:left}.staged .proj-slide>.papers,.staged .proj-slide>.model{grid-column:1/-1}.staged .proj-rest{container-type:inline-size}@container (width<=640px){.staged .proj-rest .proj-slide>*,.staged .proj-rest .proj-slide .vplate>*,.staged .proj-rest .proj-slide[data-kind] .vplate-art,.staged .proj-rest .proj-slide[data-kind] .vplate-text,.staged .proj-rest .proj-slide[data-kind] figcaption,.staged .proj-rest .proj-slide .vplate-after,.staged .proj-rest .proj-slide[data-kind=pair] .vplate-of-two{grid-area:auto/1/auto/-1}.staged .proj-rest .proj-slide[data-kind] figcaption{margin-top:calc(var(--beat) * .5);order:2;max-width:none}.staged .proj-rest .proj-slide[data-kind=beside] .vplate-text{max-width:none;margin-bottom:var(--beat);order:-1}.staged .proj-rest .proj-slide[data-kind=pair]{row-gap:calc(var(--sheet-rhythm) * .5)}.staged .proj-rest .proj-slide[data-kind=inset][data-size=small] .vplate-art{width:50%}.staged .proj-rest .proj-slide .proj-prose{max-width:none}.staged .proj-rest .proj-slide .proj-prose,.staged .proj-rest .proj-slide[data-kind=beside] .vplate-text,.staged .proj-rest .proj-slide .vplate-after{line-height:var(--beat)}.staged .proj-rest .proj-slide .vplate-after{max-width:none;margin-top:var(--beat);order:3}.staged .proj-rest .proj-slide .proj-prose p+p{margin-top:var(--beat)}}.opened .scaler,.opened .lift{will-change:transform}.staged.at-rest:not(.zooming,.opened) .stage .track{transform:translateX(var(--rest-x));animation-name:none}.zooming .scaler,.zooming .track{animation-name:none!important}.zoom-run .scaler,.zoom-run .lift,.zoom-run .track{transition:transform var(--t-zoom) var(--ease-zoom)}@media (prefers-reduced-motion:reduce){.zoom-run .scaler,.zoom-run .lift,.zoom-run .track{transition:none}}.wordmark{width:calc(var(--wm-fit,1) * .95 * 100%);aspect-ratio:var(--wm-aspect);background-color:var(--ink);-webkit-mask-image:var(--wm-src);mask-image:var(--wm-src);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% calc(var(--wm-frames) * 100%);mask-size:100% calc(var(--wm-frames) * 100%);align-self:center;-webkit-mask-position:0 100%;mask-position:0 100%}.vh{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.panel:has(.work-mark){position:relative}.work-mark .work-frame{background:0 0;place-items:center;display:grid;position:absolute;inset:0;overflow:visible}.work-mark .work-text{z-index:1;position:relative}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){@keyframes wordmark-crowd{0%{-webkit-mask-position:0 0;mask-position:0 0}to{-webkit-mask-position:0 100%;mask-position:0 100%}}.staged .work-frame .wordmark{animation-name:wordmark-crowd;animation-duration:auto;animation-fill-mode:both;animation-timing-function:steps(var(--wm-frames), jump-none)}.staged .work .wordmark{animation-timeline:scroll(root inline);animation-range:var(--wm-from,9%) var(--wm-to,20%)}}}.closing-line{font-size:var(--size-display);letter-spacing:-.035em;text-wrap:balance;grid-column:1/span 9;font-weight:500;line-height:1.04}.closing-lede{font-size:var(--size-body);grid-column:1/span 6;max-width:48ch;margin-bottom:1.6rem;line-height:1.5}.panel-red{background:var(--red-card);color:var(--on-red)}@media (width<=720px){.closing-line,.closing-lede{grid-column:1/-1}}@supports (animation-timeline:scroll()){@media not (prefers-reduced-motion:reduce){.staged .track{--plate-max:30svh}.staged .track .statement{font-size:calc(var(--panel-h) * .118);line-height:1.16}@media (width<=720px){.staged .track .statement{font-size:calc(var(--panel-h) * .15);line-height:1.12}}.staged .track>.panel{padding:calc(var(--panel-rw) * .0533)}.staged .track .intro{row-gap:0;padding-block:0}.staged .track>.panel{grid-template-rows:minmax(0,1fr);display:grid}@keyframes card-in{0%{transform:scale(0)}}.staged .track>.panel:first-child{transform-origin:50%;will-change:transform;animation-name:card-in;animation-duration:.9s;animation-timing-function:cubic-bezier(.25,1,.5,1);animation-fill-mode:both;animation-timeline:auto}@keyframes neighbour-in{0%{opacity:0}}.staged .track>.panel:not(:first-child){animation-name:neighbour-in;animation-duration:.35s;animation-timing-function:ease-in-out;animation-delay:.8s;animation-fill-mode:both;animation-timeline:auto}.staged .track>.panel>*{align-self:center}.staged .work{grid-template-columns:none;align-items:stretch;gap:clamp(1.25rem,2.6vw,2.75rem);height:100%;display:flex}.staged .work-frame{flex:0 0 var(--plate-side);width:var(--plate-side);height:var(--plate-side);aspect-ratio:auto;background:0 0;grid-column:auto;align-self:center;max-width:none;max-height:none;margin:0;overflow:hidden}.staged .work-frame img{object-fit:cover;aspect-ratio:auto;width:100%;height:100%;max-height:none}.staged .work-mark{height:100%;display:block}.staged .work-mark .work-frame{flex:none;width:auto;height:auto;position:absolute;inset:0}.staged .work-text{flex-direction:column;flex:1 1 0;justify-content:space-between;min-width:0;padding:0;display:flex}.staged .work-head{bottom:calc(100% + var(--panel-h) * .022);white-space:nowrap;flex-direction:row;align-items:baseline;gap:1.1rem;margin:0;display:flex;position:absolute;left:0}@media (width<=720px){.staged .work-head{margin-left:calc(var(--panel-rw) * -.0533)}}.staged .proj-close,.staged .open-hint{top:auto;bottom:calc(100% + var(--panel-h) * .022)}.staged .work-text{justify-content:flex-end}.staged .work-index,.staged .work-year,.staged .work-entry{grid-column:auto;margin:0}.staged .work-year{text-align:left;margin-inline-end:0}.staged .work-title{font-size:calc(var(--panel-h) * .062);letter-spacing:-.03em;margin:0;line-height:1.05;display:block}.staged .work-facts{margin:calc(var(--panel-h) * .04) 0 0;max-width:30em;display:grid}@media (width<=720px){.staged .work-title{font-size:calc(var(--panel-h) * .1)}.staged .work-facts{display:none}}.staged .work-thesis,.staged .work-meta{display:none}}}#intro{position:relative}.mobius{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#intro .intro{z-index:1;position:relative}.mobius path{stroke:var(--accent);stroke-width:1.1px;vector-effect:non-scaling-stroke;stroke-linecap:round}.mobius-edge{opacity:.68}@media (prefers-reduced-motion:no-preference){.mobius-edge{stroke-dasharray:1;stroke-dashoffset:1px;animation:mobius-draw 3.6s var(--ease-hand) forwards;animation-delay:1.25s}}@keyframes mobius-draw{to{stroke-dashoffset:0}}.staged .panel[data-stage=dark]{transition:transform var(--t-base) var(--ease-out), background-color var(--t-zoom) var(--ease-zoom)}.staged .panel[data-stage=dark] .wordmark{transition:background-color var(--t-zoom) var(--ease-zoom)}.staged .panel[data-stage=dark]:is([data-open],[data-sheet]):not([data-folding]){background-color:oklch(12% .003 285)}.staged .panel[data-stage=dark]:is([data-open],[data-sheet]):not([data-folding]) :is(.work-frame,.proj-rest,.cover-open){--panel:oklch(12% .003 285);--ink:oklch(96% .002 285);--muted:oklch(96% .002 285/.56);--faint:oklch(96% .002 285/.36);--hair:oklch(96% .002 285/.09);--hair-strong:oklch(96% .002 285/.15);--sunk:oklch(15.5% .004 285);--accent:#e2415c;color:var(--ink)}.staged .panel[data-stage=dark] .proj-rest:before{content:"";inset:0 calc(var(--sheet-pad) * .5);border-inline:1px solid var(--hair);pointer-events:none;-webkit-mask-image:linear-gradient(to bottom, transparent, #000 calc(var(--beat) * 6));mask-image:linear-gradient(to bottom, transparent, #000 calc(var(--beat) * 6));position:absolute}.staged .panel[data-stage=dark] .proj-rest>.proj-slide:first-child{border-top-color:#0000}.staged .panel[data-stage=dark]:is([data-open],[data-sheet]):not([data-folding]) .proj-rest{box-shadow:0 -2px 0 var(--panel)}.staged .proj-slide:is([data-kind=feature],[data-kind=split],[data-kind=tiles],[data-kind=cards],[data-kind=argument],[data-kind=iterations]){margin:0 calc(-1 * var(--sheet-pad));padding-inline:var(--sheet-pad);border-top:1px solid var(--hair);--c12:calc((100cqi - 2 * var(--sheet-pad) - 11 * var(--sheet-gap)) / 12)}.staged .phone-window{--ph:calc(var(--pw) * 2736 / 1359);--win:calc(var(--ph) * var(--show));height:var(--win,auto);position:relative;overflow:hidden}.staged .phone-window[data-cut] .screen{left:50%;top:clamp(calc(var(--win) - var(--ph)), calc(var(--win) / 2 - var(--focus) * var(--ph)), 0px);position:absolute;translate:-50%}.staged .phone-window[data-cut=foot]{-webkit-mask-image:linear-gradient(#000 50%,#0000 92%);mask-image:linear-gradient(#000 50%,#0000 92%)}.staged .phone-window[data-cut=head]{-webkit-mask-image:linear-gradient(#0000 4%,#000 34%);mask-image:linear-gradient(#0000 4%,#000 34%)}.staged .phone-window[data-cut=both]{-webkit-mask-image:linear-gradient(#0000 2%,#000 18% 72%,#0000 98%);mask-image:linear-gradient(#0000 2%,#000 18% 72%,#0000 98%)}.staged .proj-slide[data-kind=feature]{padding-top:calc(var(--beat) * 3);align-items:center}.staged .proj-slide .feature-art{--pw:calc(var(--c12) * 5 + var(--sheet-gap) * 4);--show:.7;grid-area:1/1/auto/7}.staged .proj-slide[data-side=right] .feature-art{grid-column:7/-1}.staged .proj-slide .feature-text{padding:0 0 calc(var(--beat) * 3) var(--sheet-gap);grid-area:1/7/auto/-1}.staged .proj-slide[data-side=right] .feature-text{padding:0 var(--sheet-gap) calc(var(--beat) * 3) 0;grid-column:1/7}.staged .proj-slide .feature-title{color:var(--ink);font-size:calc(var(--size-body) * 2.7);letter-spacing:-.025em;margin:0;font-weight:500;line-height:1.04}.staged .proj-slide .feature-lede{max-width:25em;margin:calc(var(--beat) * 1) 0 0;color:var(--muted);font-size:calc(var(--size-body) * 1.12);line-height:1.45}.staged .proj-slide .points{margin:calc(var(--beat) * 2.2) 0 0;gap:calc(var(--sheet-gap) * 1.6);grid-template-columns:1fr 1fr;padding:0;list-style:none;display:grid}.staged .proj-slide .points p{margin:calc(var(--beat) * .9) 0 0;color:var(--muted);font-size:var(--size-small);line-height:1.55}.staged .proj-slide .points b{color:var(--ink);font-weight:500}.staged .proj-slide .point-mark{width:2.6rem;height:2.6rem;box-shadow:inset 0 0 0 1px var(--hair), inset 0 1px 0 oklch(100% 0 0/.06);color:oklch(96% .002 285/.8);background:linear-gradient(oklch(22% .004 285),oklch(16% .004 285));border-radius:.6rem;place-items:center;display:grid}.staged .proj-slide .point-mark svg{width:auto;max-width:1.35rem;height:1.15rem}.staged .proj-slide[data-kind=split]{padding-inline:calc(var(--sheet-pad) * .5)}.staged .proj-slide .half{padding:calc(var(--beat) * 3) calc(var(--sheet-pad) * .5) 0;flex-direction:column;grid-column:span 6;display:flex}.staged .proj-slide .half+.half{border-left:1px solid var(--hair)}.staged .proj-slide .half-title{color:var(--ink);font-size:calc(var(--size-body) * 1.45);letter-spacing:-.01em;margin:0;font-weight:500;line-height:1.2}.staged .proj-slide .half-text{max-width:24em;margin:calc(var(--beat) * .4) 0 0;color:var(--muted);font-size:var(--size-body);line-height:1.5}.staged .proj-slide .half .frame-link{margin-top:calc(var(--beat) * .5);align-self:flex-start}.staged .proj-slide .half-art{--pw:calc(var(--c12) * 5.6 + var(--sheet-gap) * 5);--show:.48;padding-top:calc(var(--beat) * 1.8);margin-top:auto}.staged .proj-slide .half-art .phone-window[data-cut=both]{-webkit-mask-image:linear-gradient(#0000 0,#000 12% 72%,#0000 98%);mask-image:linear-gradient(#0000 0,#000 12% 72%,#0000 98%)}.staged .proj-slide .frame-link{color:var(--ink);border-bottom:1px solid var(--hair-strong);text-decoration:none}.staged .proj-slide .frame-link:hover,.staged .proj-slide .frame-link:focus-visible{border-bottom-color:currentColor}.frame-tail{white-space:nowrap}.frame-arrow{vertical-align:.02em;height:.62em;margin-left:.2em;display:inline-block}.frame-arrow svg{width:auto;height:100%;display:block}.staged .proj-slide[data-kind=tiles]{padding-top:calc(var(--beat) * 2.5);padding-bottom:calc(var(--beat) * 2.5);row-gap:var(--sheet-gap)}.staged .proj-slide .tile{padding-right:calc(var(--c12) * 1);color:var(--muted);font-size:var(--size-small);grid-column:span 6;margin:0;line-height:1.55}.staged .proj-slide .tile+.tile{padding-left:var(--sheet-gap)}.staged .proj-slide .tile b{color:var(--ink);font-weight:500}.staged .proj-slide[data-kind=argument]{padding-top:calc(var(--beat) * 3);padding-bottom:calc(var(--beat) * 3);align-items:start;row-gap:calc(var(--beat) * 2)}.staged .proj-slide .argument-title{padding-right:var(--sheet-gap);grid-column:1/7}.staged .proj-slide .argument-text{padding-left:var(--sheet-gap);grid-column:7/-1}.staged .proj-slide .argument-text p{max-width:25em;color:var(--muted);font-size:calc(var(--size-body) * 1.12);margin:0;line-height:1.45}.staged .proj-slide .argument-text p+p{margin-top:calc(var(--beat) * .8)}.staged .proj-slide[data-kind=argument] .tile:nth-of-type(odd){padding-left:0}.staged .proj-slide[data-kind=argument] .tile:nth-of-type(2n){padding-left:var(--sheet-gap)}.staged .proj-slide[data-kind=iterations]{padding-top:calc(var(--beat) * 3);padding-bottom:calc(var(--beat) * 3)}.staged .proj-slide .iter-card{aspect-ratio:1672/941;background:var(--panel);grid-column:1/-1;align-items:center;display:flex;position:relative;overflow:hidden}.staged .proj-slide .iter-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 55%,#0000);mask-image:linear-gradient(#000 55%,#0000)}.staged .proj-slide .iter-foot{z-index:1;width:36%;padding-left:calc(var(--beat) * 1.4);position:relative}.staged .proj-slide .iter-lead{color:var(--muted);font-size:var(--size-body);margin:0;line-height:1.55}.staged .proj-slide .iter-lead b{color:var(--ink);font-weight:500}.staged .proj-slide[data-kind=cards]{padding-top:calc(var(--beat) * 3);padding-bottom:calc(var(--beat) * 3);row-gap:var(--sheet-gap)}.staged .proj-slide .card{background:linear-gradient(to top, oklch(15% .003 285) 30%, var(--panel));flex-direction:column;grid-column:span 7;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.staged .proj-slide .card:first-child{aspect-ratio:4/3}.staged .proj-slide .card+.card{background:linear-gradient(to bottom, var(--panel), transparent 55%), radial-gradient(60% 70% at 62% 42%, oklch(24% .003 285), transparent 70%), linear-gradient(to top, oklch(15% .003 285) 30%, var(--panel));grid-column:span 5}.staged .proj-slide .card-image{object-fit:cover;object-position:50% 30%;width:100%;height:78%;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#0000,#000 30% 55%,#0000);mask-image:linear-gradient(#0000,#000 30% 55%,#0000)}.staged .proj-slide .card-logos{justify-content:center;align-items:center;gap:calc(var(--sheet-gap) * .8);display:flex;position:absolute;inset:0 0 30%}.staged .proj-slide .card-logo{aspect-ratio:1;width:24%;color:var(--ink);background:linear-gradient(oklch(30% .003 285),oklch(24% .003 285));border-radius:22%;place-items:center;display:grid;box-shadow:inset 0 1px oklch(100% 0 0/.08)}.staged .proj-slide .card-logo svg{width:52%;height:52%}.staged .proj-slide .card-text{z-index:1;max-width:30em;padding:calc(var(--beat) * 1.4);color:var(--muted);font-size:var(--size-body);margin:0;line-height:1.55;position:relative}.staged .proj-slide .card-text b{color:var(--ink);font-weight:500}.staged .panel[data-stage=dark] .proj-slide#notes{margin:0 calc(-1 * var(--sheet-pad));padding:calc(var(--beat) * 1.2) var(--sheet-pad);border-top:1px solid var(--hair)}.staged .panel[data-stage=dark] .proj-foot{margin-top:0}.staged .panel[data-stage=dark] .proj-rest{padding-bottom:calc(var(--beat) * 3)}.staged .panel[data-stage=dark] .proj-slide .proj-prose{max-width:none;color:var(--faint);font-size:var(--size-small);grid-column:1/-1}.staged .panel[data-stage=dark] .proj-slide#get{margin:0 calc(-1 * var(--sheet-pad));padding:calc(var(--beat) * 2) var(--sheet-pad) calc(var(--beat) * 1);border-top:1px solid var(--hair)}.staged .proj-slide#get .get-tiles{grid-column:1/-1;grid-template-columns:2fr 1fr 1fr}.staged .proj-slide#get .get-tiles .get-scan{grid-column:auto}.staged .proj-slide#get .get-tiles :is(a,button){height:8.5rem}.get-tiles{grid-template-columns:repeat(2,11.5rem);gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.get-tiles :is(a,button){width:100%;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;height:9rem;box-shadow:inset 0 0 0 1px var(--hair-strong);color:var(--ink);transition:background-color var(--t-quick) var(--ease-out);background:oklch(100% 0 0/.035);border:0;border-radius:.9rem;flex-direction:column;justify-content:space-between;padding:1.1rem;text-decoration:none;display:flex;position:relative}.get-tiles :is(a,button):hover,.get-tiles :is(a,button):focus-visible{background:oklch(100% 0 0/.07)}.get-tiles .get-scan{grid-column:1/-1}.get-tiles .get-scan button{--qr-ease:.48s cubic-bezier(.32, .72, 0, 1);height:9.5rem;transition:background-color var(--t-quick) var(--ease-out), height var(--qr-ease)}.get-tiles[data-qr-open] .get-scan button,.staged .proj-slide#get .get-tiles[data-qr-open] .get-scan button{aspect-ratio:1;height:auto}.get-tiles .get-scan .get-words{transition:opacity .22s var(--ease-out) .22s;position:absolute;bottom:1.1rem;left:1.1rem}.get-tiles[data-qr-open] .get-scan .get-words{opacity:0;transition:opacity .12s var(--ease-out)}.get-mark{flex-shrink:0;align-self:flex-start;height:.85rem;display:block}.get-mark svg,.get-arrow svg{width:auto;height:100%;display:block}.get-arrow{height:.7rem;color:var(--faint);position:absolute;top:1.175rem;right:1.1rem}.get-words{font-size:var(--size-body);line-height:1.3}.get-qr{aspect-ratio:1;width:auto;height:calc(100% - 2.2rem);position:absolute;bottom:1.1rem;right:1.1rem}@media (width>=721px){.staged .panel[data-stage=dark]{--cover-pad:calc(var(--panel-rw) * .0533)}.staged .panel[data-stage=dark] .work-mark .work-frame{container-type:inline-size}.staged .panel[data-stage=dark] .work-mark .wordmark{transition:background-color var(--t-zoom) var(--ease-zoom), transform .6s cubic-bezier(.65, 0, .35, 1)}.staged .panel[data-stage=dark][data-open] .work-mark .work-frame{z-index:2;pointer-events:none;overflow:visible}.staged .panel[data-stage=dark][data-open]:not([data-folding]) .work-mark .wordmark{--s:.09;transform:translate(calc(var(--cover-pad) + 47.5cqi * var(--s) - 50cqi), calc(var(--cover-pad) + 31.11cqi * var(--s) / 2 - var(--panel-h) / 2)) scale(var(--s));transition:background-color var(--t-zoom) var(--ease-zoom), transform 1.1s cubic-bezier(.65, 0, .35, 1) .35s}.staged .panel[data-stage=dark] .cover-open{z-index:1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s var(--ease-out), visibility 0s .4s;place-self:stretch stretch;position:absolute;inset:0;overflow:hidden;container-type:inline-size}.staged .panel[data-stage=dark][data-open]:not([data-folding]) .cover-open{opacity:1;visibility:visible;transition:opacity .7s var(--ease-out) .9s, visibility 0s .9s}.staged .panel[data-stage=dark][data-open]:not([data-folding]) .cover-open :is(a,button){pointer-events:auto}.staged .cover-figure{aspect-ratio:1672/941;-webkit-mask-composite:source-in;width:86%;position:absolute;top:0;left:50%;overflow:hidden;translate:-50%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000),linear-gradient(#000 58%,#0000 96%);mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000),linear-gradient(#000 58%,#0000 96%);mask-composite:intersect}.staged .cover-photo{object-fit:cover;width:100%;height:100%;display:block}.staged img.cover-photo{filter:grayscale()}.staged .cover-phone{filter:brightness(.85)saturate(.6);width:30cqi;transition:translate .6s cubic-bezier(.65,0,.35,1);position:absolute;top:7%;left:50%;translate:-50% 30%;rotate:-12deg}.staged .panel[data-stage=dark][data-open]:not([data-folding]) .cover-phone{transition:translate 1.3s cubic-bezier(.65,0,.35,1) .35s;translate:-50%}.staged .cover-phone .screen{width:100%;margin:0;container-type:inline-size}.staged .cover-shade{background:linear-gradient(#0000 56%,oklch(12% .003 285/.7) 76%,oklch(12% .003 285) 92%);position:absolute;inset:0}.staged .cover-text{left:var(--cover-pad);bottom:var(--cover-pad);max-width:52cqi;position:absolute}.staged .cover-kicker{color:var(--accent);font-size:var(--size-body);margin:0 0 .9em}.staged .cover-title{color:var(--ink);font-size:calc(var(--panel-h) * .085);letter-spacing:-.03em;margin:0;font-weight:500;line-height:1.02}.staged .cover-pitch{color:var(--muted);font-size:calc(var(--size-body) * 1.25);margin:.8em 0 0;line-height:1.35}.staged .cover-get{right:var(--cover-pad);bottom:var(--cover-pad);position:absolute}.staged .cover-get .get-tiles{--tile-w:max(7.75rem, calc(var(--panel-h) * .17));grid-template-columns:repeat(2, var(--tile-w));gap:calc(var(--panel-h) * .014)}.staged .cover-get .get-tiles a{height:calc(var(--tile-w) * .8)}.staged .cover-get .get-tiles .get-scan button{height:max(6.25rem, calc(var(--panel-h) * .14))}.staged .cover-get .get-tiles[data-qr-open] .get-scan button{height:calc(var(--tile-w) * 2 + var(--panel-h) * .014);aspect-ratio:auto}}.cover-open{display:none}@media (width<=720px){.staged .panel[data-stage=dark]:has(video.cover-photo) .cover-open{z-index:0;pointer-events:none;opacity:0;transition:opacity .4s var(--ease-out);place-self:stretch stretch;display:block;position:absolute;inset:0;overflow:hidden}.staged .panel[data-stage=dark][data-open]:not([data-folding]):has(video.cover-photo) .cover-open{opacity:1;transition:opacity .7s var(--ease-out) .35s}.staged .panel[data-stage=dark]:has(video.cover-photo) .work-frame{z-index:1}.staged .panel[data-stage=dark] .cover-open :is(.cover-text,.cover-get){display:none}.staged .panel[data-stage=dark] .cover-figure{position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.staged .panel[data-stage=dark] .cover-photo{object-fit:cover;width:100%;height:100%;display:block}.staged .panel[data-stage=dark] .cover-shade{background:oklch(12% .003 285/.45);position:absolute;inset:0}}@media (width>=721px){.staged .cover-open{display:block}.staged .proj-slide#get[data-repeat]{display:none}}@media (width>=721px) and (height<=600px),(width>=721px) and (width<=819px){.staged .cover-get{display:none}.staged .proj-slide#get[data-repeat]{display:grid}}.staged .screen{width:var(--pw,100%);margin:0}.staged .device{aspect-ratio:1359/2736;position:relative}.staged .device :is(.device-screen,.device-bezel){max-width:none;display:block;position:absolute}.staged .device .device-screen{filter:brightness(.95);border-radius:14.419%/6.65102%;width:86.755%;height:93.4211%;top:3.28947%;left:6.62252%}.staged .device .device-bezel{pointer-events:none;width:100%;height:100%;inset:0}@container (width<=640px){.staged .proj-rest .proj-slide .feature-text,.staged .proj-rest .proj-slide[data-side=right] .feature-text{padding:0 0 calc(var(--beat) * 1.5);grid-area:1/1/auto/-1}.staged .proj-rest .proj-slide .feature-art,.staged .proj-rest .proj-slide[data-side=right] .feature-art{--pw:70cqi;grid-area:2/1/auto/-1}.staged .proj-rest .proj-slide .feature-title{font-size:calc(var(--size-body) * 2)}.staged .proj-rest .proj-slide .points{grid-template-columns:1fr}.staged .proj-rest .proj-slide .half{padding:calc(var(--beat) * 2) var(--sheet-pad) 0;grid-column:1/-1}.staged .proj-rest .proj-slide .half-art{--pw:70cqi}.staged .proj-rest .proj-slide .half+.half{border-left:0;border-top:1px solid var(--hair)}.staged .proj-rest .proj-slide .tile,.staged .proj-rest .proj-slide[data-kind=argument] .tile:nth-of-type(2n){grid-column:1/-1;padding-left:0}.staged .proj-rest .proj-slide .iter-card{aspect-ratio:auto;flex-direction:column;align-items:stretch}.staged .proj-rest .proj-slide .iter-photo{aspect-ratio:1.3;object-position:100% 0;height:auto;position:relative;-webkit-mask-image:linear-gradient(#000 50%,#0000);mask-image:linear-gradient(#000 50%,#0000)}.staged .proj-rest .proj-slide .iter-foot{width:auto;margin-top:calc(var(--beat) * .5);padding:0}.staged .proj-rest .proj-slide :is(.argument-title,.argument-text){grid-column:1/-1;padding-inline:0}.staged .proj-rest .proj-slide .card,.staged .proj-rest .proj-slide .card+.card{aspect-ratio:4/4.8;grid-column:1/-1}.staged .proj-rest .proj-slide .card-image{height:62%}.staged .proj-rest .get-tiles,.staged .proj-rest .proj-slide#get .get-tiles{grid-template-columns:1fr 1fr}.staged .proj-rest .proj-slide#get .get-tiles .get-scan{grid-column:1/-1}}html{-webkit-tap-highlight-color:transparent}.cmdk-trigger,.proj-close,.proj-close-foot,.contact-email{transition:color var(--t-quick) var(--ease-out), background-color var(--t-quick) var(--ease-out), border-color var(--t-quick) var(--ease-out), transform var(--t-quick) var(--ease-out)}.cmdk-trigger:active,.proj-close:active,.proj-close-foot:active{transition-duration:0s;transform:scale(.96)}.get-tiles :is(a,button){transition:background-color var(--t-quick) var(--ease-out), transform var(--t-quick) var(--ease-out)}.get-tiles .get-scan button{transition:background-color var(--t-quick) var(--ease-out), height var(--qr-ease), transform var(--t-quick) var(--ease-out)}.get-tiles :is(a,button):active{transition-duration:var(--t-quick), 0s, 0s;transform:scale(.97)}.contact-email{transform-origin:0}.contact-email:active{transition-duration:0s;transform:scale(.985)}.cmdk-trigger{background:color-mix(in oklch, var(--panel) 68%, transparent);backdrop-filter:blur(14px)saturate(180%);color:var(--muted)}@media (prefers-reduced-transparency:reduce){.cmdk-trigger{background:var(--panel);backdrop-filter:none}.cmdk::backdrop{background:var(--bg);backdrop-filter:none}}@media (prefers-contrast:more){.cmdk-trigger{background:var(--panel);backdrop-filter:none;border-color:var(--ink);color:var(--ink)}}@media (prefers-reduced-motion:reduce){.cmdk-trigger:active,.proj-close:active,.proj-close-foot:active,.contact-email:active,.get-tiles :is(a,button):active{transform:none}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.pz{background:var(--panel);max-width:none;max-height:none;color:var(--ink);box-shadow:0 24px 60px -30px rgb(0 0 0/calc(.5 * var(--pz-p,1)));transform-origin:50%;border:0;margin:auto;padding:0;overflow:hidden}.pz::backdrop{background:color-mix(in oklch, var(--bg) 62%, transparent);backdrop-filter:blur(3px)}.pz[open]::backdrop{animation:cmdk-veil var(--t-base) var(--ease-out)}.pz[open][data-field]{place-items:center;display:grid}.pz[data-closing]::backdrop{opacity:0;transition:opacity var(--t-base) var(--ease-out)}.pz-art{background:#fff;position:relative;overflow:hidden}.pz-img{transform-origin:0 0;cursor:pointer;user-select:none;touch-action:none;width:100%;height:100%;display:block;position:absolute;top:0;left:0}.pz[data-zoomed] .pz-img{cursor:grab}.pz[data-dragging] .pz-img{cursor:grabbing}.pz-close{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}[data-zoom]{cursor:pointer}[data-zoom]:hover,[data-zoom]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.proj-slide[data-kind=bleed] [data-zoom]:hover,.proj-slide[data-kind=bleed] [data-zoom]:focus-visible{outline:none}.proj-slide[data-kind=bleed] .vplate-art:has([data-zoom]){cursor:pointer}.proj-slide[data-kind=bleed] .vplate-art:has([data-zoom]):hover,.proj-slide[data-kind=bleed] .vplate-art:has([data-zoom]:focus-visible){outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){.pz[open]::backdrop{animation:none}}@media (prefers-reduced-transparency:reduce){.pz::backdrop{background:var(--bg);backdrop-filter:none}}
